Many times over the past 20 months I was reminded of that line from The Money Pit. For those of you unfamiliar with the movie, Tom Hanks and Shelley Long bought this big mansion and after they moved in, realized it had all sorts of problems. The running joke throughout the movie was that every time they ran into more problems with the repairs, the contractors would tell them it would take “two weeks”. In the end, the renovation of the house took far longer and was far more expensive than they ever thought, but it was a magnificent house when it was all done.
MYStuff Pro 2 turned out to be that house: a huge, overly-ambitious undertaking that went way over deadline, but in the end it’s something to be proud of.
It was more than just redesigning the interface. Almost everything from the original was re-written from scratch. Then I started adding the new features. Some were easy, others… not so much. Like, for example, the barcode scanner. That alone took about 4 months to get working satisfactorily, and the final bug with it wasn’t ironed out until literally 24 hours before shipping. (Thanks to: Johann Rocholl for the initial source; my wife for help help getting it running to begin with using her C & vision systems knowledge from “that other platform”; Conor Dearden for help Cocoa-i-fying it; and gwynne for help tracking down the last bug.)
Then came implementing our mantra “make it seamless”. It sounds minor, but it’s actually a very major undertaking. By “make it seamless” I mean implementing the little things that save users time and effort. For example: When you’re shopping using the built-in browser and you buy something, you’ll want to save a copy of the online receipt, right? So You click the “Save” button, and what should happen next? The easy thing, as a programmer, would be for it to have MYStuff just save the web archive to MYInbox, and then the user would manually create a new Record (or add it to an existing one.) But shouldn’t MYStuff ask you, “Hey, do you want to make a new Record or save this to MYInbox?” Then if you say you want to make a new Record, shouldn’t it ask you a few bits of information about it while it’s fresh in your mind so you won’t have to do it later? These little things are important to making a seamless user experience, and it’s something that we refuse to compromise on, even if it means that it takes longer to ship.
Looking back, I admit this release was overly-ambitious. (Even so, you should see the list of things we decided to bump to 3.0 and 4.0 that we wanted to put into 2.0!) Part of me wishes that I would have just stopped after updating the user interface and adding the smart folders, tags, and other database improvements. But this is what we thought was worthy of a “Pro 2.0” version, and this is what we wanted to ship.
Overall, we’re very excited about the MYStuff Pro 2.0 release. Aside from all the great features, it gives you a glimpse of the direction of the application in the versions to come: more than just another inventory program, MYStuff is dedicated to helping you manage everything about your stuff.
“Dude. Where the heck is MYStuff 2.0? You said, like, months ago that you were working on it.”
While not a literal email from any of the current MYStuff users, it’s a paraphrase of a number of emails as of late. So I thought I’d take a few minutes and give everyone an update.
As I stated over a year ago, MYStuff 2 is a ground-up rewrite that I started in September. It’s more than just re-writing all the existing features and making them better. I’m adding tons of new features, too. From the database backend to the user interface to all the new stuff, MYStuff 2 has been a major undertaking, and some of the features have proven to be quite ambitious. Further, all this new code has to be tested and debugged as well, and since it’s a ground-up rewrite all the program code is new. (Well, not all of it. I was able to re-purpose about 10% of the existing codebase.)
Half of me is jumping up and down with excitement about the new version and is screaming in my left ear, “It’s close enough! Wrap it up! Ship it now! Ship it now!” while the other half of me is screaming in the right ear, “It’s not done! Make sure it’s polished! Don’t cut out any features! Give the users a good value! Make it seamless!”
So I’ve been left with a decision: strip out planned features and release “soon” and dribble out the missing features as I finish them, or stick with the intended feature set for 2.0 and ship “soon-ish”.
After much hand-wringing, I’ve decided to go with the latter option.
And I’ll give you an example of one of the features that’s been slowing me down: barcode scanning.
I’ve had people asking for it since MYStuff 1.0 was in beta. Unfortunately, it’s not a trivial feature to implement. There are other programs out there that have it, but few have pulled it off successfully. I have a little test program running that scans barcodes just fine and dandy, but it’s problematic: It generates false readings about 20% of the time, and that’s assuming you have the lighting good enough to get it to recognize the barcode at all. If the lighting is good and you have everything set just so it doesn’t do a bad job, but do you want a piece of software with a feature that’s just “okay” and doesn’t work well enough for you to use all the time? I didn’t think so. At the same time, if all I gave you for an upgrade was a new paint job and no new features worth mentioning, would you be excited about it? Again, I didn’t think so.
Long story short, I’ve been working hard at making MYStuff 2 (and MYStuff 2 Pro) an upgrade worth getting excited about. Rest assured that it is under very active development at the moment, and that it will be getting into beta “soon” with an expected ship date of “soon-ish”. Have patience. I promise it will be worth the wait.