All entries for Thursday 28 February 2008
February 28, 2008
Based on an enquiry about video and audio streaming from a mobile phone recently, I was researching what’s available last night and came across www.qik.com. Qik’s platform allows ‘real-time’ streaming (it looks like there’s a transcode to Flash video happening somewhere – ‘near real-time’ might be more appropriate) from a phone to its web site. At the moment the Qik system is available on a few Nokia phones, with additional handset support being added as time goes on.
Whenever I’ve looked at mobile development in the past, it’s been focused on Flash, and I’ve always concluded that the support was either too patchy and that as phones become more capable, the mixture of Flash Lite and ‘full’ Flash 8/9 made it difficult to identify which one to target for maximum coverage and future-proofing. Sara’s recent work and research for Warwick’s mobile site also threw up some interesting issues; when I looked into support for the top ten phones on that list, Flash support was either non-existent or a fairly even mix of the two. Flash Lite or Flash are no good for this kind of application anyway; Flash now supports video on mobile, but only for playback. For capture you need access to the system APIs, and Flash doesn’t have those kind of privileges. For application and system-level access, Java/J2ME or C++ are generally the only option.
Nokia has a good developer site (Forum Nokia), so I thought I’d have a look at what’s needed to write a small application that grabs video from the device and streams it via RTSP. It’s at this point the platform variation problem became apparent again. Even for a single manufacturer (albeit a big one like Nokia) there are a number of platforms and entry points (Symbian, Maemo, Python, S60, S40, S80, Flash Lite, Carbide etc.) which means having to choose from a long list of SDKs and carefully identifying your target device/s, before getting started. Once you’ve done this however, it’s relatively easy to get your chosen SDK into Eclipse (including a nice emulator for testing) and start writing, and I had something basic written quite quickly.
I have no prior experience of mobile application development whatsoever, so I may be completely wide of the mark in saying this, but what strikes me from looking at the Nokia Developer information is that mobile development consists of a high number of constantly-shifting targets. I guess once you’ve written an application for a platform or target device it’s likely that porting it over isn’t difficult, but actually getting started seems to require that you narrow your choice down to a relatively small subset of devices and start there, then work your way across/through your list of target devices, hoping the next generation isn’t too far removed from the current one and doesn’t arrive before you’ve finished. Qik appears to be doing just that, adding devices as quickly as it can port its application, but for a (currently) limited use-case such as mine it seems like a lot of effort. Maybe Android fixes some of this, but then you’d only have to start learning the iPhone SDK as well. Sigh…