Wednesday, January 25, 2012

On the side...

I've decided I should post a quick update on what's going on with my side project.  I totally missed my stated goal of getting an application deployed for the holidays.  But I had a good reason for it.  Or maybe just a good excuse.  I had a paying gig..and I don't mean my day job.  A friend of mine from a previous employer happened to have acquired a small grant from a local technology company support organization called the Tech Alliance. I've been eager to help him any way I could since he's basically managed to do thus far what I hope to be able to do my self at some point.  He's turned his side project into a full time business that he operates from home.

Anyway the story goes that Nokia had approached him a while back about his application.  They wanted it to be ported to their Symbian devices and were willing to support him in getting that done.  That amounted to some contract work to one of the many small mobile development contract houses out there these days.  Needless to say though, he wasn't particularly pleased with the results.  So when he got this grant from the Tech Alliance he was hoping to hire me to help him clean it up and maybe create a bit of a spike in sales.

My mission, should I chose to accept it, was to provide a working build environment and clean up a lot of the rough edges of the user interface.  A pretty simple task really.  Although I'd only really looked at a small amount of Qt code recently and wasn't at all aware of the joys of the Symbian operating system and SDK.  I'd originally tried to set things up with the Eclipse environment, because that is generally my tool of choice.  However the plugin for Qt wasn't working  particularly well for me and caused a number of problems.  So I gave up on that pretty quickly and decided to venture into the wild world of Qt Creator.  That is one annoyingly structured environment.  The workflow was horrible.  The simulator didn't even properly represent the look of the application and was very, very buggy.  When I finally got the application building I couldn't target the device because I had to wait for the certificate to become live because it had a date in the future rather than being available to use once downloaded.  Then the wonderful Qt Creator environment would crash every 2 or 3 times I re-loaded the application for debugging.  There was also a funny story about a USB cable.  But I don't think I'll go into that.

There were so many little quirks with the Qt SDK and Qt Creator system that I don't think I could even list them all here.  And I won't even get into how messy the code was.  It looked like each file was written by 5 different people, all of whom had completely different coding styles, none of which were about being readable.

I also spent some time on another possibly paid effort.  However that one didn't happen.  It's not dead yet, but postponed until the summer for various reasons.   That project is significantly larger and more effort than the one that distracted me before the holidays.  However the scope of quoting on it also ate up a considerable amount of my time.

I still hope to get a chance to do that project since it would have meant native iOS application development.  Which is really what I'm hoping to do with my side project.  Although I'm quite open to mobile development of any kind.  I plan to try and release my own application on Android as well as iOS when it is ready. It really is quite simple so I don't foresee any major effort in doing the port.  Of course my first target will be iOS.  I may even give the Windows Phone 7 a try at some point.  Then I have some larger, more complex applications I'd like to start working on.  My hope is to get my small application out on at least iOS by the summer and have made a good start on at least one of the larger projects before the fall.  We'll see how that goes.

One other thing.  I'm going to be doing my best to try and convince my employer to send me to WWDC this year.  I'm not hopeful of my success in that regard.  But I was thinking that maybe I could swing it if I offered to pay the conference fees if they could manage the travel.  I've made it a part of my personal goals at work to create an application that can demonstrate I have gained an advanced knowledge of iOS development.  So at least I have that going for me.  But now I have to actually start making something there too.  I have some thoughts that I'll have to try and find the time to squeeze in...probably while I should be eating lunch.

Here's a bit of a before and after shot of one screen.  You let me know which you like better.  I'll try not to get upset.



And here are some more snapshots I'd collected:



I used a much nicer image for that big logo than was previously there.  The old one was fuzzy since it was way too low resolution for the screens.  The changes in the other screen were to remove an action bar like mechanism for selecting favorites and allowing a couple other options that no one ever uses.  So I followed the design pattern that the latest iPhone and iPad implementations use which is much simler and more elegant.