Spit and Polish

A few months back, I started working on an iPhone app using the beta version of the iPhone SDK. Since then various things got in the way (not to mention the restriction of the old TOS placed on developers so everyone were working in the dark) and I didn't spend any time on it to really finish the app. My interest was revived when I attended the iPhone Tech Talk event in NYC last Tuesday. The sessions were interesting but nothing technical or coding. I learnt a lot more about the process of provisioning an iPhone for development testing and distribution, as well as how to submit app to the iTunes App Store. Most importantly though were that I was able to resolve issues around my personal's Standard and ThoughtWorks' Enterprise applications to the iPhone Developer Program. Now I am able to distribute and test my app on actual phone(s)!

Since Tuesday, I've been spending lots of my free time on polishing up the CCPhone app so I can start distributing it to the masses. One main change from the original vision is the colour theme change. This stems from the advice in the "iPhone User Interface Design" session, where dark colour theme is the preferred colour for apps that people use for short period of time (and possibly under the table/desk).

Another I've found is that the SDK has improved in many ways since the 2.0 days. Now it is easy to find the relevant sample code from the API reference documentation since the links to the sample apps are hyperlinked! There are also a lot more documentation on how to use various type of controls/classes in an advanced manner, much more than just the simple basis stuff. And from talking to all the Apple staff in the Tech Talk, I was impressed by how receptive they are to feedback. Even the really stupid stuff that they shouldn't have released in the first place.
And get this. I ran across a problem with the iPhone Developer Portal on Wednesday when I tried to set myself up with both my personal account and the ThoughtWorks' enterprise account. Somehow I was not able to switch between the two and when I un-assigned myself from the TW's account, I no longer had access to my personal one! With no recourse, I ended up sending an email to Apple and waited. That evening around 5PM, I got a surprise phone call from Apple inquiring about my problem. By that time, the problem had mysteriously resolved itself so I gave the lady on the phone my feedback on the Portal instead. Imagine that, someone actually calls the developer to resolve an issue!
CCPhone is just my way of dipping my toes in the water, testing the temperature. Now I need some more ideas for apps that I can work on.

Read and post comments |
Send to a friend

Build there, check status everywhere

I've been using the iPhone SDK since its original release way back in March. Many frustrating moment in the beginning but the recent beta 7 and beta 8 release proved to be ready for prime time. Apple has added many helper classes or helper methods to classes to make it far easier to work with the UI components, which is by far the most frustrating things I encountered. I am still having problem wrapping my head around the idea of Interface Builder but since the apps that I am building do not involve very complex UI, I just hand coded all the UI instead.

To illustrate, the original iPhone app idea I had that I started developing using the original SDK is a mobile application for Mingle. The application would consist of a series of table views showing projects, cards, and card details, along with some network code to talk to the Mingle server through REST API. At that time, progress was slow because of many factors. First, learning Cocoa/Cocoa Touch API and Xcode at the same time was tough. Second, the Cocoa Touch API was a bit 'primitive' in the beginning. What I mean is that while the API provides all the necessary hooks for developers to create an iPhone app it does not provide many pre-build components, making it difficult and required lots more work from developers to re-create the look and feel of the built-in iPhone apps.

I was so put off by the initial experience that I skipped beta 4-6 and did not open up Xcode until last weekend. And what a refreshing change with beta 7! Now it is straightforward to make an app that looks and feels just like an Apple's one. I was so fired up that last Sunday evening I decided that I would try to create an app for an idea that one of my fellow ThoughtWorker suggested to me. Instead of days of tearing my hair out and got no where, I was able to create a almost features completed app within hours, using beta 8.
So what is this app? It checks the build status on the CruiseControl server. Just like CCTray (Windows) or CCMenu (OS X), it allows users to monitor their software build status. Following the convention, I am calling it CCPhone. The app isn't more complex than the Mingle app but the fact that I was able to almost match the productivity I normally get on my Windows development environment means that I was excited about working on the app rather than dreading it.
Now here are couple of screen shots:
ProjectProjectDetails

To-do:
  • Fix the build time being 1 hours off (probably day time saving bug)
  • Better status icons
  • Create application icon (currently it uses icon from CCMenu)
  • Finish coding the 'Force Build' functionality
  • Add startup screen bitmap (so it won't be just a black screen)
  • Add auto detect of CruiseControl server (Java, .Net, or Ruby)

Read and post comments |
Send to a friend

Create a free website or blog at WordPress.com.

Up ↑

%d bloggers like this: