I had a nice productive Sunday. With some quiet and very few interruptions, several items on my LicenseKeeper development to-do list got knocked out.
The major item I had been struggling with was how to support drag and drop from Apple Mail. After many hours of research, much experimentation, and lucking into some nice open sourced Cocoa code; LicenseKeeper can now accept drag and drop of email receipts for software purchased over the web.
I also added support for file-based licenses (ala Aquatic Prime) in addition to the traditional serial number style license.
There are a couple minor outstanding UI issues I still need to iron out and then the remaining items all revolve around application support: Auto updates, user feedback, registration/demo/beta support, etc.
Also in the works is the new LicenseKeeper icon, currently undergoing design by the uber-talented Mike Rohde.
And here’s a little teaser:
Last year I successfully developed and released the first version of my game, Bullfrog. Looking back, I believe the two big factors in the success of that project were creating a project plan prior to having anything more than a rough idea of what the game was about and being limited to a hard deadline dictated by the Original Mac Games Contest.
Even though I know better, LicenseKeeper has been under development without any sort of plan or design. Probably, because the application is simple enough that I didn’t think a plan was needed.
The consequence is that development has not been as focussed or progressed as quickly as I would like.
The UI more evolved than was designed and became a bit confusing. The planned feature list exploded beyond what a first release should include and I had trouble deciding on what to work on next.
The lack of a hard deadline has been too forgiving and allowed me to procrastinate and often overanalyze my design or approach.
Fortunately, I feel that LicenseKeeper is finally coming around. After trimming the feature “wish” list and polishing the user interface it’s starting to feel like it’s getting close to ready for a 1.0 release.
I still have several major pieces of functionality to complete, but at least the feature list is now frozen giving me a fixed target to run towards. There still is no hard deadline, but hopefully momentum will carry me through to the end.
Future projects and versions will definitely have project plans and deadlines.
This morning I tried to load my trusty Virtual PC on my G5 to do a little Quickbooks work. The usual tedium of paying bills creating invoices, etc.
I started Virtual PC, selected my Windows XP instance and clicked start.
No problem, I say. I run nightly backups so I’ll just restore my backed up image and be on my merry way.
One major problem: my backup system mirrors my drives. The last time I ran VirtualPC: last week.
1 + 1 = my backup is corrupt too.
Thankfully, I also backup my Quickbooks database outside the Windows image. Hopefully, when i finally get a new instance up and running I can restore the last backup and be off and running. This should only eat up about four or five hours of my day.
Tasks for Today:
- Create a new Windows XP instance
- Restore Quickbooks backup
- Pay Bills, Send Invoices
- Find new backup system
Uli Kusterer has a nice list of hints on automating some of the repetitive and tedious steps of Mac software development:
- Delete Subversion Folders
- Auto-generating a Help Index
- Using php for Your Help Books
- Including the Subversion Revision in Your App
- Build and Upload File for Deployment
Uli also has quite a nice blog.