Author: ianmjones

  • Managing Media

    Merlin Mann pointed out a great article on TechDigs that addresses a lot of the problems people have with managing their ever increasing volume of media data, and how to back it up. I’ve been thinking about getting a ReadyNAS+ for a while, now I have some better information on how to use it more efficiently.

    In the article Amazon’s S3 service is used for the off-site backup, but I wonder if something like CrashPlan wouldn’t be much better. With services like CrashPlan you backup over the internet to your own external disk that you’ve given to a friend to connect to their computer/network. It doesn’t incur any service charges, just a software purchase for the party wanting to backup, the friend doesn’t even need a license to be able to act as your backup target (just a pint every now and then to say thanks for the electricity).

    What I really like is that you can do the initial (huge) backup locally, and then give the disk to your friend for the daily incremental backup offsite. I’m thinking about setting this up with a friend of mine, it’d backup early every morning while my ADSL bandwidth is free. If things were to go terribly wrong at home, I can pop around to my friends place to pick up the backup drive ready to do a local restore, much better than spending days downloading data from a server somewhere off in the cloud. Oh, and just in case someone nicks the device you’ve given to your friend, the data is compressed and encrypted before being sent, and saved encrypted too, which is nice to know.

    I’m seriously considering CrashPlan and wonder if anyone out there has any experience of it or similar software?

  • Under The Wire

    Oops, nearly had a month with no posts, better correct that!

    So, umm, Merry Christmas and Happy New Year! Better late than never eh? 😉

    The last time I spoke about stuff going on in my life, I mentioned that I’d slowed things down and wasn’t going to get too uptight about lack of progress with CaseDetective. Well, although I’m still not rushing things, after a little rest I did start getting things done on CaseDetective again, and there’s a small release forming at the moment. There’s a couple of things I want to fix up before I finish testing and release unto the World, but it’s not too many weeks away. The latest release of REALbasic is working well for me, finally I’ll be able to get a Universal version of CaseDetective out for the Mac.

    I’ve recently updated my IMiJ Software and CaseDetective websites with a new look. I’ve decided to stop bamboozling people with a myriad of menu options listed down the right hand side, using a much reduced horizontal menu at the top instead.

    As well as looking more “business like”, it’s allowed me to add nice big “Free Download”, “Buy Now” and “Only $69” buttons in the sidebar of the CaseDetective website. I’m hoping this will make these options even more obvious than before and encourage people to try it out.

    I’ll admit I’m not the biggest fan of drop-down menus, but this new design uses them. I’ve been very careful to make sure nothing has actually moved in the website layouts, all the paths should be the same for now, but the actual menu options have moved around a little. I doubt anyone will notice though.

    The design is Blueball Design’s Pro Colors 3.5 Theme for RapidWeaver, which I’ve actually had for quite some time, and may be the first theme I bought for RapidWeaver. I’ve made a few tweaks though; I took the Platinum version and changed the header and sidebar backgrounds to be white rather than grey as I wanted a lighter feel and think icons and logos always look better on a white backdrop. I also moved the header logo to the left and removed the header text so that it wouldn’t interfere, as well as making sure the page title has the website name included rather than just the page name. I personally think it looks rather good, nothing spectacular and pretty boring compared to some, but it works well on Windows and Mac and I believe it won’t turn anyone away.

    Apart from my treadmill dying last week, my attempts at getting healthier in body and mind are coming along. I’ve lost a pound of weight every week this month, and am eating much healthier. I’ve also started to get back into reading before hitting the sack, so I might even start making a dent in that huge pile of books and magazines sitting beside the bed waiting to be read. There’s other little bits and bobs I’m doing or looking into that all add up, but I’ll not bore you with them.

    Mandy’s at the “very uncomfortable” stage in pregnancy, she can’t seem to find any kind of sitting or sleeping position that stops her from getting sore in a few minutes, she’s soooo looking forward to getting her body back all to herself in approx 2 months time.

    It’s an exciting and nerve-wracking time all round. We’ve been buying lots of bits and pieces for the baby, and I’m really looking forward to seeing what pops out, but also very aware that life isn’t ever going to be the same again and just hope that it all goes OK when the time comes. Tick, tock goes the clock!

  • Simplicity

    OK, Joel Spolsky is stirring up a link storm again, as only Joel can, and this time I’m going to join in.

    I don’t need to write 900+ words over 9 paragraphs to say what Joel said, it all boils down to…

     As simple as can be == As complex as need be

    It’s that simple really, everyone wants products that are as simple to use as possible, but they must still have enough features to be able to get the job done, otherwise they’re useless.

     The problem of perceived over-complexity comes from a product being used for many different jobs by many different groups, if the product has a large user base then catering for all users will undoubtedly confuse some users as the path to using the features they need is made more difficult due to interface limitations.

    That’s why “simple” products get created, they seek to fill that niche where some users have been using a product that has grown arms and legs in a bid to please all the users most of the time. The simple product aims to please only some of the complex product’s users, but all the time. And this is a valid proposition, but those users of the “simple” product will want ever more competing features as the user base matures and develops, eventually causing a split in the user base with some perceiving the product as too complex. It’s inevitable, just ask Darwin!

    It’s a simple and well understood market dynamic, and nothing to get hot under the collar about, go with the flow and enjoy the ride!

  • Getting fitter step by step.

    Getting fitter step by step.

    I find I’m much much more likely to achieve something if I set a goal and actively monitor it step by step.

    For example, for the last three or four years I’ve kept a spreadsheet of my weight as measured every Monday morning. The spreadsheet has a tab for each year with columns such as date, goal weight (in pounds), actual weight and the difference between the goal and actual weight. The goal starts off at the same weight I was on the first Monday of the year and decreases by a pound per week until it hits my goal weight, the idea being that if I look after myself I should be able to average a pound a week’s loss until I get to where I want to be. It’s a simple matter to then plot a graph alongside the data that shows the goal vs. actual readings. If the “Actual Weight” line roughly follows the “Goal Weight” line, then things are going in the right direction and I’m a happy camper.

    I know, you might be thinking this is pretty anal, and I won’t pretend I’ve lost tonnes of weight by doing this either, but what I have been able to do is shame myself into maintaining a weight that although higher than I want it to be, isn’t morbidly over what it should be. Whenever I “slip” (usually when family visits from “Down South” for the weekend or there’s some sort of blow-out on a special occasion) I can instantly see a blip in the graph when those extra two or three pounds exert their force on our poor old scales. It’s usually enough to stop me from having that bacon roll or Double Decker (one of my fav chocolate bars) at work for a week or two.

    But, as mentioned above, I’ve not really been achieving my goal. Sure I’m half a stone or more lighter than my heaviest over the last few years, and sometimes my weight doesn’t even change by so much as an ounce for weeks on end which is better than gaining, but I need to start burning more calories than I consume to get that graph heading back in the right direction. My actuals are pretty flat these days.

    I’ve talked before about trying to keep an appointment with myself to exercise at least three times a week, but frankly I always start off really well and then slowly find reasons to not do the session, basically because I find it pretty tedious and have no concrete result after each session, except tiredness and a sweat soaked t-shirt that is.

    So, as part of my drive to get a little fitter I put a Nike+iPod on my wishlist for my Birthday, and was lucky enough to receive one*.

    I really wanted a Nike+iPod so that I could set myself goals and monitor how much running** I’m doing session by session. OK, I could have simply logged each run in a spreadsheet just like I’m logging my weight, but it’s a bit tedious and I often forget to log for a day or two (make that week or two). Having my iPod automatically record my run, distance and time and upload it to my computer whenever I plug it in is the bee’s knees! Now I don’t have to think about recording my run, it’s all done for me.

    The Nike+ website where all the data ends up is great, as well as showing a neat graph of your runs with stats you can set goals that are automatically monitored. I’ve already set myself a goal of running 10 times in 4 weeks and am eager to meet or beat it, currently I’m one run ahead of goal.

    And what’s super nice is that both Lance Armstrong and Paula Radcliff have taken time out of their busy schedules to magically squeeze themselves into my iPod nano and congratulate me at the end of my run when I’ve recorded a personal best for the mile.

    But do you think it’s really mean of me to have thoughts of not plugging in my iPod after the session just so they can’t escape? 😉

    The big present I got for my Birthday from my wife was a set of Golf clubs, so that I get out in the fresh air, get some exercise, spend time having some fun with friends and more importantly to Mandy, get away from the ‘puter!

    I started off with a couple of trips to the driving range, which was fun except for when my shots went sideways rather than forward and slammed into the wall of the bay with a resounding crack. I’m soooo grateful to those people at the driving range who haven’t even turned a head in my direction at the sound of a very hard ball slamming against a wooden wall at speed, maybe they remember what it was like when they first tried this daft game?

    And then yesterday I had my first proper round of golf, which although very long and frustrating was great fun, even if I did loose a couple of balls***.

    I think I’m going to enjoy playing golf and hope it’ll also contribute as another step towards getting fitter, especially if I continue to take as many steps as I did yesterday as I zigzagged my way down the course!

    Here’s to getting fitter, step by step!

     

    * Ironically I got the Nike+iPod from my Mum and Dad when they visited for the weekend after my Birthday, guess what happened to my weight graph on the following Monday morning after a couple of nice meals out and a few bottles of wine while they were up?!

    ** I use the term “running” very loosely, it’s more like walk for fifteen minutes, run for a minute or two and then walk for the rest of the session. It’s all part of a slow ramp up plan to avoid damaging my knees etc, honestly, nothing to do with being extremely crap at aerobic exercise!

    *** My very first drive was the mother of all slices off into the woods, graciously chalked up as a practice hit by my fellow golfers, luckily all fairly new to the game, out of practice or hung-over and therefore very understanding!

  • Slow Progress / Big News / Time Out

    Last month was very slow, development wise. I guess I’ve just been a bit burnt out from the frenetic pace I maintained when developing CaseDetective 1.2.

    There have also been quite a few outside influences on my time, and some things have tended to play on my mind about the future, which held me back as I wondered how I’m going to have the time to fit everything in, and generally procrastinated.

    The biggest thing in my life just now, and that is very much changing the way I see the future, is that Mandy and I have some fantastic news to share, we are going to have a baby, “due” April 4th.

    As you might imagine, even though this has been planned and looked forward to for quite a while, and we’ve know about it for a couple of months now, when you sit down and start to think about how to fit everything in when you already don’t have enough hours in the day, it’s kind of over-whelming.

    Some very good friends of ours have recently had a gorgeous bundle of joy (called Karis) drop into their lives (about 8 weeks early), it’s been a right eye-opener on just how much work a newborn can be. They are totally smitten and love her to bits, but I’m sure the sleepless nights and general constant attention that a newborn requires is very hard on the body and mind, and may just affect how much development I can get in on an evening come next spring! 🙂

    I’ve decided to just “go with the flow” at present, I feel like time spent catching up with friends and family, getting ready for the new arrival, acting on those self improvement ideas, getting a bit fitter, learning a few new skills and generally having a bit more fun is very much called for. I’m not going to beat myself up about not getting much development done just now.

    I’m sure my brain will switch back into “work like crazy” mode at some point, when it’s ready, hopefully before I have no time to act on it!

  • Post CaseDetective 1.2 round up and future thoughts.

    This is a rambling brain dump of a post, it may be big, but it definitely isn’t clever. Some might find much better use of their time by quickly skipping this post, you won’t hurt my feelings, honest. You have been warned!!!

    Post Release Review

    I released CaseDetective 1.2 for FogBugz a week and a half ago, so I thought it was about time I wrote a little update on how things have gone with this release.

    This new release has proven to be very successful, I’ve had only one support request since it’s release, and unfortunately haven’t been able to solicit any useful information from the correspondent to find out what specifically their problem was. It’s a shame, as if I could get just a little info from them such as a 1 minute debug log run I might be able to see where the problem was, fix it and maybe turn them into a customer.

    Sales

    On the subject of “making” customers, last month (September 2006) was my best month so far for total number of orders, which was nice (although December 2005 was best financially due to volume orders). And doubly nice was that last week was my best single week of orders too, obviously some people trialling CaseDetective have been waiting for some of the goodies in CaseDetective 1.2 before buying. Maybe they’ve just bought it straight off knowing that there is a 90 day money back guarantee so it’s a “safe” purchase? I guess I’ll find that out within the next 3 months!

    Either way, keeping the amount of changes in CaseDetective 1.2 to a couple of sizable features and a handful of minor improvements and bug fixes seems to have worked out well, especially as my available development time has been significantly cut recently.

    The Next Version

    Now it’s time to decide on the feature set for the next version of CaseDetective, which is proving very difficult to pin down. There are some relatively minor niggles that I know I need to address to help make things a little more “standard” (especially on Windows), I believe these minor cosmetic issues could actually be turning people off and need to be sorted sooner rather than later.

    Then come the real features, the “value add” that makes people take a look at CaseDetective for the first or second time, these are a little harder to decide on.

    For obvious reasons I’m not going to talk about the features I’m considering here, until said features are ready to go I’ll keep them close to my chest just in case they get pulled before the final release. However, what I can say is that I’m considering two different classes of feature, “brand new” to CaseDetective and more “improved” existing features.

    Brand New Features

    There are a couple of really big features that I just know will be popular, but of course the problem is they will take a considerable amount of time to develop, and I just don’t know if I’m happy to wait many months before I can release the next version. Maybe I should develop these “on the side” when I need a context switch and get them ready for a big release a little further down the line.

    There are a few smaller new features that I could conceivably get completed in shorter time frames, none of them have the same “wow” factor of the larger features but on the flip side put them all together and they add up to more useful functionality and therefore reasons to try CaseDetective.

    Improved Features

    There are features in CaseDetective that customers really like, but want more from, and just like the “Brand New” stuff some could take considerable effort and others not so much. These are important, as it’s all very well being able to do something, or having the promise of being able to do something, but if it falls short of expectations it leaves a nasty taste in your mouth that’s difficult to remove, and therefore very bad for CaseDetective’s image.

    FogBugz Compatibility

    Of course, things get a little bit muddier when you take into consideration the prospect of a new version of FogBugz somewhere down the line, and the changes that may force on CaseDetective.

    I have absolutely no idea what is coming up in the next release of FogBugz, or when it will be released. Like everybody else I have to just keep an eye on the FogBugz discussion group to try and glean what’s going to change. And from what I can tell, it looks like there might be some changes in the next version of FogBugz which will require changes to CaseDetective.

    This will hopefully be somewhat mitigated by my development style, whereby in general CaseDetective improves bit by bit during development, always in a near release ready state with each new bit of development tested before check-in. This means if FogBugz 6.0 comes along quicker than expected I should be able to finish off (or cut) the current feature I’m developing and work on compatibility, which is always top priority.

    Brand New Application

    For a long time I’ve been itching to kick off development of a brand new application, possibly with brand new tools. There are three particular applications that have been bouncing around in the back of my mind waiting for an opportunity to be put into practice.

    One of these applications is fairly simple and has no dependencies on other applications or systems, it would therefore be a nice little bit of development that I could chip away at in my “spare” time (ha ha, ‘cos I have so much spare time you know). However, there are three possible implementation methods for this app, desktop only, web only, or web with desktop app. I’m leaning towards at least starting off as web only, as it should then be possible to add a desktop app later if the need still remains.

    The other two apps are Mac only, nothing particularly new, just “better mouse traps”. Both could start off fairly simple and grow organically although there is a definite level of features that I would require before I could start using them full time, which might mean a pretty lengthy development schedule. And there might not be much call for what I’m thinking of developing anyway.

    Either way, each of these new developments requires that I start to use a new technology, most likely Ruby On Rails for the web app and Objective-C/Cocoa for the desktop apps. I could use REALbasic for the desktop apps, but to be honest I fancy learning something new and that Core Data stuff looks pretty neat for what I’m thinking of doing. Having said that, although there are plenty of Windows apps in the application spaces I might be targeting, I dare say I could take a slice of the action with a cross-platform application written with REALbasic. The desktop apps definitely have more marketability than the smaller web one, but I really want the web one!

    What to do?

    So, as you see I have a bit of a dilemma.

     I really would like to start development on the web application, but frankly I just haven’t got the time just now and am very unlikely to conjure up anymore in the coming months. I could sacrifice one evening a week to it, but I’m not convinced that’s enough to learn a new language without being frustrated by lack of use hampering the learning curve. There’s also the problem that the new development is pretty much for my own edification, as there quite likely isn’t a market for what I intend to develop, even if I know I would pay for it myself. I guess I could always test that though, no harm in trying.

    As it stands, I’m leaning towards improving current CaseDetective features in the next release, with a few smaller “new” features that have been most requested. But, I’m going to take a few days to properly sketch out and estimate the changes I’m considering from the huge heap of feature requests to make a better informed decision on which to do, and make sure to leave some slack for catching up with FogBugz just in case it gets rev’d within my release time frame.

    I did warn you!

    So if you’ve made it here, sorry, but I did warn you!

  • Phew, CaseDetective 1.2 released!

    Hooray! The pressure has been released as CaseDetective 1.2 for FogBugz is out the door!

    On Thursday evening (nearly Friday morning) CaseDetective 1.2 hit the ‘net after a pretty swift gestation period compared to previous versions, two months of development plus a few weeks of beta testing.

    Things have gone really well with this version, I set my sights on just a couple of major features with the intent of getting it out within 3 months, and I just managed to get it finished on time.

    I started this release at the beginning of July, once I’d got back from holiday and had settled into my new contracting gig. From the start I followed a pretty punishing schedule, every week day I’d check my mail etc while having breakfast, then I did a full day of on-site 4GL development consultancy, and then in the evenings after getting home I’d have dinner with my wife and then spend the rest of the evening working on CaseDetective. I’d also steel the odd hour or two on the weekends if we were out and about.

    I think It’s paid off, the beta release was very stable, the only changes I needed before final release were either existing problems that I hadn’t been aware of until some new customers tried CaseDetective or small cosmetic changes.

    While fixing one of those existing problems I stumbled across a REALbasic keyword that sparked a connection with a problem I was aware of but could not find a way to fix, thinking it a problem with RB. I was having problems with email messages, RB has some really great ways of handling email messages, but I kept missing the first few lines of an email message or the headers wouldn’t be found when I pumped the source into the EmailMessage class. I’d tried all kinds of pre-processing encoding/decoding of the raw email source text to try and wiggle out the line ending and other features of the text that might cause the problems. But it wasn’t until I found the ReplaceLineEndings that it all went away, this one function allowed me to fix all the different line endings that email messages pick up on their travels in one fell swoop. This bug had been haunting me since I started on the preview pane, now it has been vanquished (hopefully forever), hooray!

    It was particularly good timing fixing this bug before the final release of CaseDetective 1.2 as the new Save to PDF and Print features rely on being able to correctly process email messages to extract the text and attachments.

    Anyway, best get on and start writing the newsletter to let more people know about the new release, and then maybe start on some other promo tasks.

    CaseDetective has picked up a few more sales recently, it may be due to the onset of 1.2 or maybe people’s trial periods finishing after using it for 30 separate days or so. Personally I think it’s because I’ve been talking about the new version and generally making sure people know that CaseDetective has a future and will continue to evolve. So I’m going to start doing a bit more of that.

  • CaseDetective 1.2 Beta/RC going great guns.

    Thought I’d better drop you all a quick updated as to how the beta of CaseDetective 1.2 is going.

    It’s doing really well; the first beta had just a couple of very minor issues, so minor in fact that from the second version I’ve renamed it as a release candidate.

    Since then a couple of issues from previous versions of CaseDetective have been brought to my attention, and I’ve decided to make sure they are fixed before v1.2 makes it’s final release, so I’m working on them now.

    While working on those fixes I’ve had the chance to find a couple of other bugs and cleanups that also need sorting, so I’m glad I decided to take the extra time, I’d much rather delay the release a short while than have to release a bug fixed version soon after.

    Can’t say for sure how long it’s going to take to get the final version fixed and out, it should be pretty soon, but it’s tough now that I only have evenings to work on CaseDetective.

    All the while my EyeTV is accumulating shows for me to catch up on, and I’m not even that much of a TV watcher, it’s going to be hard finding time to watch them all.

  • CaseDetective 1.2 Private Beta Almost Ready

    Just like Jon trainer, I haven’t met my self imposed deadline of releasing the next version of CaseDetective for private beta.

    I had hoped to get the next version out by the end of August, but things have been very very hectic in the real world lately. Even though I’ve been trying to catch up recently by seriously burning the candle from both ends, it just hasn’t come together as quickly as I hoped, even with cutting some features.

    But, the good news is that I’m nearly finished, it’s just a case of testing all the combinations that I need to support, i.e. Windows and Mac OS X versions connecting to MS SQL Server, MS Access and MySQL (4 & 5) databases on various hosts, and then I’ve got to get some docs together etc. But the chances are I’ll skip the docs and update them while it’s out being tested.

    What are the major changes in CaseDetective 1.2 apart from bug fixes? In this release I’ve addressed the 4 top requests:

    1) DSN less connections on Windows.

    2) Direct connections to MySQL 4.1 and 5.

    3) Printing of cases.

    4) Less painful initial sync.

    Since people started using CaseDetective they’ve been confused by the need to use an ODBC Data Source Name (DSN) when connecting to either MS SQL Server or MS Access. This has now been addressed for the Windows version, you can now enter database connection details directly into CaseDetective’s preferences window. This should make getting started much quicker and easier.

    Along the same lines, now that FogBugz supports MySQL 5, I’ve been getting lots of requests for being able to connect to such databases. It seems that the Beta MySQL 5 ODBC drivers aren’t too stable and have been causing people problems, CaseDetective 1.2 will support connecting to MySQL 5 without the need for ODBC.

    CaseDetective 1.2 has rudimentary printing of cases and saving to PDF. Why do I say rudimentary? Well, although many people will find the printing capabilities sufficient, it’s not as feature complete as it could be, and there’s no print preview yet. I’m hoping to get some feedback from the release so I can find out what printing features users are looking for.

    And finally, but certainly not least, some users have been having problems doing the initial full sync that CaseDetective 1.1 does. 1.2 addresses this by syncing the “big stuff” (comments, emails and attachments) in the background, slowly catching up. If CaseDetective is closed before the case events are all sync’d, then it’ll just carry on syncing on the next run.

  • Never Check Your Email First Or Last

    Never Check Your Email First Or Last at LifeDev

    I’m really bad for this, and have been for a very long time. Even though I once announced my new regime would include not checking email first thing so that I could concentrate on getting stuff done, it wasn’t long until I slipped back into the habit.

    At the time I was working for only myself, at home, and so had the flexibility to manage my own schedule throughout the day, but these days I don’t have that luxury any more, now that most of my day is spent on someone else’s budget.

    So I don’t see anyway that I can keep things responsive for my customers unless I check my email and forums first thing in the morning while eating breakfast, as otherwise I can’t check until lunch time. I’ll have to keep the habit of checking email first thing for now.

    Checking email last thing at night is also a habit I’ve acquired over the years, and it affects me just as described by Glen, it tends to take much longer than “just a couple of minutes”, drastically eating into my much needed slumber time.

    This one I can and should tackle, from now on I’m going to close down my email client, news-reader (another bad habit along the same lines), and web browser long before finishing up on any work I might be doing in the evening. I will not be opening said offending apps until morning.

    No more “I’m just going to check my email” before going to bed, it can wait until I’m fresh and rested from a good night’s sleep.