a.k.a devgeeks

Software development in the minutes a day I have spare

So for all my bemoaning about not having enough time to work on devgeeks work and mobile stuff in particular, I have had a career change of sorts and I am now going to pursue devgeeks as my full-time job.

This means I will be able to take on work as a mobile developer (as well as my more traditional web applications work).

I have set up the new devgeeks.com to this end. I will also continue with the open source plugin development that I talked about in my previous post. I am pretty excited about this change. Feel free to throw work my way so I can keep doing it ;)

It’s that time again. Time to update the 4ZzZfm iPhone app. Actually, it’s way past due… but this is the way things go sometimes.

Early on I attempted to use some of the “write your app in HTML/Javascript/CSS and deploy to iPhone” technologies, but at the time their acceptability by Apple for App Store distribution was in doubt, and I couldn’t get them to do what I wanted anyway. This meant I had to actually learn Objetive-C. Now let me just say that I really like Objective-C. The problem is that I am primarily a PHP developer so HTML/JavaScript/CSS feels more natural to me.

This has lead me to revisit the above-mentioned web technology options for iPhone app development. PhoneGap in particular seems to be both quite mature, used a great deal in apps in the App Store and quite extendable via plugins. This last part is the bit that has tipped it for me. Not only are there some great plugins available for PhoneGap, but it is quite easy to write your own plugins.

What this all comes down to is that I am going to try and re-write the 4ZzZfm iPhone app using PhoneGap and write whatever plugins I need along the way that aren’t catered for in PhoneGap’s core or plugins written by others.

I have already started on this process and I have the Audio Streaming classes written by the amazing Matt Gallagher (cocoawithlove.com) that I used in the original Objective-C version of the app (mostly) working as a PhoneGap plugin. The remote control events don’t work yet, and I am not sure that will be possible from a plugin anyway… that might require some hacking of the PhoneGap core. We’ll see. It needs some more work update: I have had the remote control events working fine. No core hacking needed. Then between updating PhoneGap and iOS something went wrong.

Another piece of functionality I need for the 4ZzZfm iPhone app is a volume control slider. In the Objective-C iPhone SDK that is implemented using an MPVolumeView (from the MediaPlayer framework).  This turned out to be a very easy to make into a PhoneGap plugin. Now one of the best things about PhoneGap is that it and its plugins are open source. PhoneGap and its plugins are developed by the PhoneGap community and available on GitHub. So I have decided to join GitHub myself and submit any plugins I create for this project that I think others might find useful. The first of these that have been added to the main PhoneGap plugins repository is the aforementioned VolumeSlider plugin. I am pleased as punch about this as it is my first real contribution to a modern open source project. Hopefully it is just the first of many more such contributions.

Wish me luck. Worst case I can always just stick with Objective-C.

So what we have here is a failure to communicate update…

Between moving house in September, the birth of my beautiful daughter Ivy in October and entering a new start-up phase at my “day job”… I just haven’t been keeping up with this blog.

I mean seriously.. the last post was about the Brisbanesounds app not having been approved yet. That app has long since been approved and is going quite well.

I can’t promise to do much better in the future, but perhaps I can at least update when an app has made it through the approval process next time :)

Apple say they are getting through 83% of new app submissions in 7 days… I guess Brisbanesounds falls in the other 17%

I guess all I can do is wait. I have probably been abnormally lucky with my quick turnarounds on the 4ZzZfm app so far. It’s probably just a lucky numbers game. I suppose I shouldn’t be worried. It would be much more serious if it was taking a long time once the review process actually STARTS… then I would be worried.

I have finally gotten my second app into the review process on the App Store.

It’s an app for the Brisbane Sounds project – http://www.brisbanesounds.com/

Hooray! My latest update to my 4ZzZfm iPhone app is live on the Apple App Store.

Took a bit longer to get approved than the original submission… I guess due to all the iPad app submissions that must be going on at the moment.

What’s new in version 2.0:

  • 4ZzZfm Program Guide navigable by day and time
  • “Now Playing” program listing in stream player view
  • Program Guide displayable in either QLD (Brisbane) time or your local timezone (especially helpful for overseas listeners)
  • Settings bundle for switching between local and QLD time in the Program Guide

So I have finally gotten the chance to submit the next version (2.0) of my iPhone app for the community radio station 4ZzZfm to Apple for approval.

Hopefully I managed to do everything right in the submission process… I took so long between versions I forgot what I did last time ;)

I am very close to being ready to submit the next version of my 4ZzZfm iPhone app to Apple for approval.

I have been hard at work adding features and a better UI experience and I think it’s finally done.

The main addition to this version is the Program Guide. It is a complete 4ZzZ program guide navigable by day and time. It displays detailed info about each show on 4ZzZ (where available). The streaming player screen even shows what program you are currently listening to.

The best bit though, is that the Program Guide can be told to display itself in your current local timezone. I know, I know… it’s no longer Daylight Savings time here in Australia. So the east coast Australian users won’t benefit from this feature till next year. However, anyone in SA or WA will get the Program Guide in their local timezone, not in QLD time.

Best of all, all the users in other countries will benefit most of all as it’s not just a matter of a couple hours one way or another… some programs would be on different actual DAYS in their local area. This new Program Guide handles that. Doesn’t matter if you are in Japan or Canada.. it works off what you have as your local timezone in your iPhone.

Controlling this switch is a new settings screen from within the app, and a settings bundle in the iPhone’s settings app. The in-app settings screen however has another useful feature. It can rebuild the Program Guide if you for any reason find yourself in a new timezone! Just rebuild the Program Guide and you are good to go.

Below is a gallery of screenshots… as always, the gallery software cuts off the screenshots a bit in the thumbnails so be sure and click through to the larger version of each image.

That’s right… the 4ZzZfm stream is down. OK. So anyone who uses my 4ZzZfm app will not be able to connect to the station.

It’s been like that for a few days now. It sucks, but it’s community radio and neither expertise or money flows freely… plus I believe the streaming server is a shared resource with another station.

Hopefully it will be back up soon :(

I have been hard at work on the next update to my 4ZzZfm iPhone app and it is nearing the stage where I can release it to my beta testers.

Added so far in this new version:

  • Program Guide navigable by day (which shows are playing at what time, and a little info about them).
  • Settings allowing the program guide information to be displayed either in original Brisbane/Queensland time or translated to your current local timezone (a great deal of the downloaders of the first version were a long way from Brisbane).
  • Display of the currently playing show in the stream playing view.

Here are some screenshots to show what I mean (the gallery cuts the images off a bit… click them to see the full image):