Story Tracker for Mac is now available for direct download from my site. If you’d like some background on the development process, read on. If not, skip to the end of the post!
After an epic development cycle spanning many months, today I’m pleased to present my first Mac app, Story Tracker – a submission tracking tool for writers. Story Tracker for Mac brings all of the features of the iOS app to the Mac platform, with some nice additions including enhanced search, and printing capabilities. If you’ve got one of those fancy new MacBook Pros with the Retina display, you’ll enjoy how Story Tracker looks in high-resolution, too.
Shortly after the Mac App Store launched in January 2011, I posted some thoughts, including an announcement I’d decided to work on a Mac version of Story Tracker. Things didn’t go quite as smoothly as I’d hoped!
You’d think writing a Mac app would be a fairly trivial exercise for someone used to developing iOS apps, since the development environment is very similar, and a decent amount of code can be re-used between the platforms. That certainly seems to be the case where you’ve got something like a game where you’re blasting pixels to a fixed viewing area and don’t have to deal so much with the native Mac user interface. Apologies in advance for the gross over-simplification! It gets a little more complicated when you’re writing productivity apps taking advantage of the Mac user interface and all the exotic paradigms and attention to detail that entails.
So I spent a few months of nights and weekends working my way through the Aaron Hillegass book, Cocoa Programming for Mac OS X (3rd Edition). Having a background in Objective-C and iOS programming definitely helped with understanding the basics.
Meanwhile, I continued to maintain all three of my iOS apps (Story Tracker, Bonsai Album, and Artwork Tracker) with regular updates. Updating all three with interface updates for the new iPad Retina display and adding new features was more work than anticipated. Keep in mind my development time is limited to nights and weekends! Development of the Mac app went slowly as a result, and the arrival of OS X 10.7 Lion threw a spanner into the works, since I only had one development machine and couldn’t afford a second until later in the year. I could’ve upgraded to Lion on my old Mac Mini, but then I wouldn’t have had a test machine for Snow Leopard.
It wasn’t until Spring 2012 that I was finally able to devote a significant amount of time to working on Story Tracker for Mac. The looming mandatory sandboxing requirement for Mac App Store apps was a source of much stress and frustration. More than once I wondered if I’d have to abandon the app entirely. As it turned out, I found a solution for making SQLite databases play nice with sandboxing (hint: you’ll have to use bundles) and didn’t have too many other difficulties with sandboxes. That was until the app was rejected last week for a misunderstanding of the sandbox entitlements!
A complete and total disaster, you might think. Well, it felt like it at the time, but I was able to re-submit a new build that evening after some quick testing and unchecking two checkboxes in the sandbox configuration. I got back to work on the Lite / trial version of Story Tracker, resigned to being sent to the back of the review queue and having to wait another few weeks.
For those of you who follow a rather witty and clever chap on Twitter by the name of Matt Gemmell, you would’ve seen his quite-possibly mind-blowing post about releasing your Mac apps outside the Mac App Store. Gemmell walks through the process he went through in releasing his new Mac app, Sticky Notifications. In his post he talks about the pros and cons of releasing apps on the Mac App Store and outside it, in the process demystifying many of the scary things like payment processing, handling licenses, updates, and so forth.
I’d read Gemmell’s post the week before my app rejection. At the time I thought he made an excellent case for simultaneous release of apps outside the Mac App Store, but I didn’t think much more on it. It wasn’t until last week’s unpleasantness that the true value of that post sank in. Not only did I now have all the tools necessary to release an app outside the Mac App Store, but it would also make for an elegant solution to the problem of having only a feature or time-limited Lite version of the app available via my website.
Over the Labor Day long weekend I began the process of augmenting the Lite version of the app, turning it into an unlockable trial version incorporating license validation and payment processing. By Monday night I had a fully-functional version of the app, and I spent the past few days on some final polishing before today’s release.
Before winding up this post, I’d like to take the opportunity to thank all the wonderful Beta testers who helped refine the app into its final form. The feedback I received was excellent, and having a bunch of other people supplement my own testing helped me identify some problem areas I would otherwise have missed. So, thanks.
I’d also like to thank Craig Hockenberry for his great Mac App Store guide, Andy Matuschak for the immensely helpful Sparkle updating system, Andy Kim and Matt Gallagher for LetsMove, Bit Stadium GmbH for HockeyApp, Gleb Dolgich for the fantastic CocoaFob, and FastSpring for their customer service and handy FastSpring Embedded Store. All of the above are great assets for the Mac development community.
And now for some administrivia…
You’ll need either Snow Leopard (OS X 10.6.6), Lion (OS X 10.7.x), or Mountain Lion (OS X 10.8.x) to run Story Tracker. The free trial version starts off in an unregistered trial mode, limited to 5 stories, 5 markets, and 5 submissions. In this mode you can only have a single database window open at a time, and database import is disabled. You may purchase a license either within the app or via the Web Store to unlock the app’s full functionality.
You can find more details including screenshots and the full list of features on the Story Tracker for Mac page of my site. I’m running a launch sale on the app, so be sure to take advantage of the provided coupon code anytime during the month of September, 2012.
What about the Mac App Store, you may ask? Well, Story Tracker is still in the queue at Apple, but I’m hoping for an approval sometime in the next few weeks. Meanwhile, feel free to download the trial version here and take the app for a spin while you wait. Note that the version available on my site includes an updating mechanism, so you’ll get early access to new features and bug fixes.
I hope you find Story Tracker a useful addition to your Mac writing toolbox, and I welcome any feature suggestions or comments you may have. Likewise, I hope you Mac developers out there found this to be a decent read.
Enjoy!