dw2

9 April 2012

Six weeks without Symbian

Filed under: Accenture, Android, Apple, applications, Psion, Samsung, smartphones, Symbian, UIQ — David Wood @ 10:58 am

It’s only six weeks, but in some ways, it feels like six months. That’s how much time has passed since I’ve used a Symbian phone.

These six weeks separate me from nearly thirteen years of reliance on a long series of different Symbian phones. It was mid-1999 when prototype Ericsson R380 smartphones became stable enough for me to start using as my regular mobile phone. Since then, I’ve been carrying Symbian-powered smartphones with me at all times. That’s thirteen years of close interaction with various Symbian-powered devices from Nokia, Ericsson (subsequently Sony Ericsson), and Samsung – interspersed with shorter periods of using Symbian-powered devices from Panasonic, Siemens, Fujitsu, Sendo, Motorola, and LG.

On occasion over these years, I experimented with devices running other operating systems, but my current Symbian device was never far away, and remained my primary personal communication device. These non-Symbian devices always left me feeling underwhelmed – too much functionality was missing, or was served up in what seemed sub-optimal ways, compared to what I had learned to expect.

But ahead of this year’s Mobile World Congress in Barcelona, held 27th Feb to 1st Mar, I found three reasons to gain a greater degree of first-hand experience with Android:

  1. I would be meeting representatives of various companies who were conducting significant development projects using Android, and I wished to speak from “practical knowledge” rather than simply from “book knowledge”
  2. Some of my colleagues from Accenture had developed apps for Android devices, that I wanted to be able to demonstrate with confidence, based on my own recurring experience of these apps
  3. One particular Android device – the Samsung Galaxy Note – seemed to me to have the potential to define a disruptive new category of mobile usage, midway between normal smartphones and tablets, with its radically large (5.3″) screen, contained in a device still light enough and small enough to be easily portable in my shirt-top pocket.

I was initially wary about text entry on the Galaxy Note. My previous encounters with Android devices had always left me frustrated when trying to enter data, without the benefits of a QWERTY keyboard (as on my long-favourite Nokia E6 range of devices), or fluid hand-writing recognition (as on the Sony Ericsson P800/P900/P910).

But in the course of a single day, three separate people independently recommended me to look at the SwiftKey text entry add-on for Android. SwiftKey takes advantage of both context and personal history to predict what the user is likely to be typing into a given window on the device. See this BBC News interview and video for a good flavour of what SwiftKey provides. I installed it and have been using it non-stop ever since.

With each passing day, I continue to enjoy using the Galaxy Note, and to benefit from the wide ecosystem of companies who create applications for Android.

Here’s some of what I really like about the device:

  • The huge screen adds to the pleasure of browsing maps (including “street view”), web pages, and other graphic, video, or textual content
  • Time and again, there are Android apps available that tailor the mobile user experience more closely than web-browsing alone can achieve – see some examples on the adjacent screenshot
  • These apps are easy to find, easy to install, and (in general) easy to use
  • Integration with Google services (Mail, Maps, etc) is impressive
  • I’ve grown to appreciate the notification system, the ubiquitous “back” button, and the easy configurability of the device.

On the other hand, I’m still finding lots of niggles, in comparison with devices I’ve used previously:

  • It’s hard to be sure, but it seems likely to me that I get a working network connection on the device less often than on previous (e.g. Nokia) devices. This means for example that, when people try to ring me, it goes through to my voice mail more often than before, even though my phone appears (to my eyes) to be working. I’m finding that I reboot this device more often than previous devices, to re-establish a working network connection
  • I frequently press the “back” button by accident, losing my current context, for example when turning the phone from portrait to landscape; in those moments, I often silently bemoan the lack of a “forward” button
  • The device is not quite capable of one-handed use – that’s probably an inevitable consequence of having such a large screen
  • Although integration with Google services is excellent, integration with Outlook leaves more to be desired – particularly interaction with email notifications of calendar invites. For example, I haven’t found a way of accepting a “this meeting has been cancelled” notification (in a way that removes the entry from my calendar), nor of sending a short note explaining my reason for declining a given meeting invite, along with the decline notification, etc
  • I haven’t gone a single day without needing to recharge the device part-way through. This no doubt reflects my heavy use of the device. It may also reflect my continuing use of the standard Android web browser, whereas on Symbian devices I always quickly switched to using the Opera browser, with its much reduced data transfer protocols (and swifter screen refreshes)
  • Downloaded apps don’t always work as expected – perhaps reflecting the diversity of Android devices, something that developers often remark about, as a cause of extra difficulty in their work.

Perhaps what’s most interesting to me is that I keep on enjoying using the device despite all these niggles. I reason to myself that no device is perfect, and that several of the issues I’ve experienced are problems of success rather than problems of failure. And I continue to take pleasure out of interacting with the device.

This form factor will surely become more and more significant. Up till now, Android has made little market headway with larger tablets, as reported recently by PC World:

Corporations planning tablet purchases next quarter overwhelmingly voted for Apple’s iPad, a research firm said Tuesday [13th March]

Of the 1,000 business IT buyers surveyed last month by ChangeWave Research who said they would purchase tablets for their firms in the coming quarter, 84% named the iPad as an intended selection.

That number was more than ten times the nearest competitor and was a record for Apple.

However, Samsung’s success with the “phablet” form factor (5 million units sold in less than two months) has the potential to redraw the market landscape again. Just as the iPad has impacted people’s use of laptops (something I see every day in my own household), the Galaxy Note and other phablets have the potential to impact people’s use of iPads – and perhaps lots more besides.

Footnote 1: The Galaxy Note is designed for use by an “S Pen Stylus”, as well as by finger. I’ve still to explore the benefits of this Stylus.

Footnote 2: Although I no longer carry a Symbian smartphone with me, I’m still utterly reliant on my Psion Series 5mx PDA, which runs the EPOC Release 5 precursor to Symbian OS. I use it all the time as my primary Agenda, To-do list, and repository of numerous personal word documents and spreadsheets. It also wakens me up every morning.

Footnote 3: If I put on some rosy-eyed glasses, I can see the Samsung Galaxy Note as the fulfilment of the design vision behind the original “UIQ” device family reference design (DFRD) from the early days at Symbian. UIQ was initially targeted (1997-1999, when it was still called “Quartz”) at devices having broadly the same size as today’s Galaxy Note. The idea received lots of ridicule – “who’s going to buy a device as big as that?” – so UIQ morphed into “slim UIQ” that instead targeted devices like the Sony Ericsson P800 mentioned above. Like many a great design vision, UIQ can perhaps be described as “years ahead of its time”.

31 May 2010

Walking the AppCircus jury high-wire

Filed under: applications — David Wood @ 10:00 am

Congratulations to Rudy De Waele for pulling together an impressive international jury to review entries for the AppCircus taking place at Mobile2.0 EU in Barcelona in the middle of June.

The AppCircus is described as follows:

  • A unique global traveling showcase of innovative apps
  • Your chance to get a 3 minute slot and present your app in front of peer developers and industry experts during the Mobile 2.0 Europe conference. The conference audience will nominate one app for the prestigious Mobile Premier Awards 2011 during the Mobile World Congress
  • Participation is FREE and open to start ups and individual developers, so apply now and walk the high-wire!

If you’re interested to submit a mobile app, note that the deadline for submission is June 7th, midnight local time CET.

I’m honoured to be one of the jury members whose task will be to select the finalists out of all the submissions.  You can see the complete list of jury members here.

From past experience, I know that selecting finalists for mobile app contests is a tricky task, so I’m not entirely looking forward to it.  It’s a hire-wire balancing act for the jury members, as well as for the finalists.

4 March 2010

Coping with mobile fragmentation

Filed under: applications, developer experience, fragmentation, runtimes, smartphones, standards — David Wood @ 10:21 pm

My recent article “Choosing intermediate mobile platforms” appeared on the same day as the TechCrunch article by Rich Wong, “In Mobile, Fragmentation is Forever. Deal With It“.  Despite the different titles, the articles covered many of the same topics.

Rich and I were fellow jury members at the Emerging Startups Mobile Premier Awards in Barcelona last month.  The discussions of the jury room ought to be kept confidential, but I’m not revealing too many secrets if I say that the topic of de-fragmentation magic bullets came up during our deliberations.  So it’s no coincidence that we both have something to say on the topic!

Even though I’ve written about mobile fragmentation many times in the past, Rich’s article has spurred me to put pen to paper one more time.  Mainly I agree with what he says, though there are a few additional points that deserve to be stressed.

Points of agreement

  • Mobile data is on fire. Despite a few false starts, we are now in the midst of a transformative “Open Mobile 3rd Wave” … We are just in the early swell of the wave … thanks to continued improvements we’re now seeing in smart phones, mobile OS platforms and 3G/4G networks, the raw ingredients are just getting better every month.
  • There is an alphabet soup of protocols, standards, and regional differences by country which can be daunting for any entrepreneur. Just look at the range of technologies on handset platforms alone…
  • Anyone who is waiting for a single silver bullet to solve fragmentation issues in mobile will be waiting a very long time, especially if they want to go after the global mobile opportunity…
  • Sadly, whether or not there is an elegant technical answer, it will be hard to drive any single set of worldwide standards given the different economic incentives of the many players, however good it would be for developers…
  • Get a guide.  It is difficult to explain the subtleties of the mobile ecosystem without a longer dialogue, but the good news is that there are quite a few battle-scarred mobile veterans around that can help you with the Cliff Notes on the industry. Find one to help you.
  • Don’t wait.  There’s an incredible startup and wealth-creating opportunity in this new arena of Open Mobile. The smartest entrepreneurs will not wait for these fragmentation issues to be solved but are figuring out now how to pick a use case, a core platform, and geography to bound their problem and get going. Once you have initial momentum, you can pick through these fragmentation landmines, and make a 2nd and 3rd step. Don’t wait for the unifying technology to solve these issues before diving in. It’s going to be an exciting time to build great mobile companies this next 5-7 years.

Next, let’s extend the discussion:

Some developers can find a magic bullet

It’s true: there won’t, in the foreseeable future, be a single platform that all developers can use to solve all their mobile needs.

However, platforms and tools are appearing which can address all the mobile needs of some developers.  I tried to give some examples of these potential solutions in my previous article.

I’m far from being an expert in any of these systems, so I risk being completely wrong in my assessment.  However, it does appear that at least some of these emerging solutions can remove a significant part of the technical pain from a developer who wants to deploy a particular kind of solution across a wide range of mobile devices.

Depending on the kind of application the developer has in mind, a different intermediate platform may be needed.  So, no single magic bullet.  But there are plenty of smart solutions that deserve a hearing.

Before trying to roll their own mobile solutions, developers should, therefore, take a look at what’s already available.

New intermediate platforms for old phones

Rich makes a good point when he notes,

One of the worst myths floating around the blogosphere is the wait by some for a “unifying technology” that will make things “simpler and easier” to develop services and apps for the global mobile market.  At times, some have claimed that Java (J2ME) was the answer, then Flash Lite, then Webkit browsers, and most recently HTML5. While each solution has its merits, there will not be any unification anytime soon. Even as HTML5 richness has improved substantially, browser support will still vary and many, many phones will not support HTML5 for 7+ years.

In other words, even if new devices contain a powerful new intermediate platform (such as HTML5), this will leave the vast majority of existing phones in the cold.

However, this dynamic can change, to the extent that new platforms can be installed on existing phones.

For example, Qt Labs have recently described a “smart installer” that is now available for beta testing:

Qt 4.6.2 is released, and in addition to all the bug fixes in it, we’ve also snuck in a feature or two, especially for the Symbian platform. One of interest is the ability for Qt to make use of the beta version of the Nokia Smart Installer, which makes it easier to deploy your Qt application to Symbian phones…

When the user now installs yourapp_installer.sis on their phone, the Smart Installer will go on-line and get all the dependencies that your Qt application requires, typically Qt and QtWebkit + Open C. If these packages are already installed on the phone, the Smart Installer does nothing. So, it is a little bit like an “apt-get for Symbian” has been wrapped around your application.

In other words, the Qt environment will be automatically installed onto the phone, if it’s not already present.

The drawbacks with this, of course, include the facts that upgraded new intermediate platforms can:

  • Have heavy hardware requirements – for example, they may use up a considerable portion of the available memory on older phones;
  • Be difficult to install on simpler phones (the above “smart installer” depends on the Symbian software installation system being present on the phone).

However, we can see these points as challenges rather than dead ends.  And it’s handy that there are a considerable number of intermediate platforms under development, adopting different approaches.  It’s reasonable to expect that at least some of these platforms will find ways to reach out successfully to older devices.

An imperative to solve the fragmentation problem

It’s true that developers need to make progress in the existing, heavily fragmented mobile world, without waiting for the fragmentation to be solved.

However, this doesn’t mean the mobile industry should stop worrying about the drawbacks of excess fragmentation.  The effort that people have to put in to bridge different fragments of the mobile world is effort that would be better placed providing direct benefits to users.

  • For example, suppose that a developer puts 40 units of effort into the platform-independent logic of an application, and then another 30 units of effort for each adaptation of the application to a different mobile operating system platform.  To cover six different mobile platforms would require a total of 220 units of effort.
  • Imagine, instead, that the developer could use an intermediate platform that would cover all these operating systems.  Suppose in this case that the adaptation to the single intermediate platform consumes 30 units of effort (on top of the 40 units for the platform-independent logic), and then the developer prefers to add a little polish for each of the different operating systems.  If the intermediate platform is doing its job well, this final polish ought be require something like just 5 units of effort each time.  That makes a total of 100 units of effort.
  • The net saving of 120 units of effort can then be applied to developing v2 of the application, or to some other quite different project, rather than wrestling with different mobile operating systems.

So whilst we advise developers that their approach to fragmentation should be to “Cope with it”, we should be vigorously campaiging at the same time for rapid progress towards meaningful standardisation of fit-for-purpose intermediate platforms.

The problems that need to be solved

I’ll end with some remarks about the main issues that this standardisation process (whether formal or informal) needs to solve:

  1. Performance – especially battery usage.  This includes coping with applications that want to run in background (potentially draining batteries).
  2. Functionality – so that the intermediate platform provides access to the really interesting parts of the functionality of the mobile device and the mobile networks.
  3. Security – to avoid applications wreaking havoc with user data (especially when these applications have accesss to advanced functionality of the device and network).
  4. Device reconfiguration – to cope with the fact that the “one box” design of most smartphones today is going to be replaced by “multi-component” designs over the next 3-7 years, with new roles for detachable screens (and more).
  5. Business models – to ensure that there are enough ways for applications to be economically viable (rather than just technically viable).
  6. Speed of standardisation – so that the big picture of “a rising tide lifts all boats” prevails, rather than the process becoming bogged down in smaller scale turf wars and filibustering.

On the last point, history might just show that the single most significant announcement at Mobile World Congress was about the formation of WAC – the Wholesale Application Community:

A number of the world’s leading telecommunications operators and device manufacturers are launching an open global alliance, that will establish a simple route to market for developers and provide access to the latest and widest range of innovative applications and services to as many customers as possible worldwide.

Together, we have signed a memorandum of understanding with the aim of building an environment or ’wholesale applications community’ where innovative applications can be developed irrespective of device or technology.

The new alliance, which represents more than three billion customers worldwide is inviting players from across the ICT industry, not only operators and developers, but also handset manufacturers and internet players to join forces to create an initiative based on openness and transparency. We believe this model presents the most compelling format on the market where developers will thrive and customers will reap the benefits of greater choice.

The mobile industry doesn’t have a great track record for working together quickly in this way.  However, more people than ever before in the industry are aware of the likely price of failure.

Choosing intermediate mobile platforms

Filed under: applications, developer experience, fragmentation, runtimes, smartphones — David Wood @ 12:55 am

Over the last few months, one thing I’ve noticed is the increasing number of companies who are offering mobile intermediate platforms and tools, that are designed to hide differences between underlying mobile operating systems.  For example, I heard about several new ones (that is, new for me) during Mobile World Congress at Barcelona.

I’d like to mention some of these companies.  But first, here’s some context.

People who want to develop applications (or provide content or services) for mobile devices face two levels of decision about platform choice.

The first decision is: what should developers do about the fact that different mobile devices run many different mobile operating systems (such as Symbian, BlackBerry, iPhone, Android, Palm webOS, LiMo, Maemo, Series 40, Bada, Windows Mobile…)?

In other words, should developers:

  1. Prioritise one operating system platform above all others, and attempt to become an expert in that?
  2. Try to become experts in all the major operating system platforms (including different UI families and other platform sub-variants)?
  3. Rely on third party experts who can deliver “mobile applications as a service” across a wide range of relevant operating systems?
  4. Try to find an intermediate platform and/or tool, that will hide the differences in underlying mobile operating system?

The first of these approaches has the merit of simplicity, but cuts off large numbers of devices.  The second of these approaches is particularly hard to achieve: it requires wide-ranging knowledge.  The third is what I advocated in an earlier blog post, “A strategy for mobile app development“: it involves building a relationship with an external company which maintains up-to-date knowledge about changing mobile operating systems.  The fourth is a variation on the third.  Rather than rely on paying a third party to use their own systems to develop apps for each different platform, it relies on finding an intermediate platform and/or tool, to achieve the same end.

That takes me to the second decision about platform choice: what should developers do about the fact that there are so many different intermediate platforms available?

In one way, this second decision is harder than the first one.  That’s because the number of intermediate platforms available seems to be larger even than the number of different mobile operating systems.  Therefore the choice is larger.  (And it seems to be getting larger all the time, with the emergence of new intermediate plaforms.)

But, thankfully, in another way, this decision is easier.  That’s because there may well be more than one “right answer”.  Depending on the type of applications being developed, various different intermediate platforms are well-suited to distributing the application acrosss a wide range of mobile devices.

I’m not expecting a consolidation, any time soon, down to just a few intermediate mobile platforms.  Developers’ needs are too varied for that.  But I am expecting at least some of these platforms to become better and better, as their owners respond smartly to the evolving needs of the growing number of developers who want to bring applications to ever larger numbers of mobile devices.

Here are just four of these platforms which have caught my eye recently.  As I said, different platforms are appropriate for different kinds of developer needs.

1. JumpStart Wireless BusinessSuite

JumpStart Wireless has a solution for enterprises that want to improve how they interact with their mobile workforce.

A special feature of this solution is that no “programming” in a traditional sense is required: no C/C++, no Java, no HTML.  Instead, I heard the solution described as “you fill in a spreadsheet” giving details of an existing paper-based system that you’d like to replace by a version that runs on mobile devices – a paper-based system for work orders, time cards, daily reports, punch lists, inspections, sales orders, and so on.  The architect and founder of JumpStart Wireless, Dr. Jeffrey Bonar, observed many similarities between systems used by different companies, and captured the similarities in the engine that lies at the heart of the JumpStart Wireless BusinessSuite platform.  The platform generates versions of the application that can run on a wide variety of different mobile devices.

Their website states:

Problem: Mobile Employees Typically Waste Hours Per Day With Paperwork and Communicating to Headquarters

Time and money wasted:

  • Driving to pickup/drop-off paperwork, filling out paperwork and excessive phone calls.
  • Chasing down missing paperwork, correcting errors and dealing with illegible paperwork.
  • Dealing with backlogs of completed work waiting to be closed out and billed.
  • Manually entering field data

Solution: JumpStart Wireless™ – One Tenth the Cost of Conventional Wireless Approaches

  • Leveraging JumpStart Wireless’s patent pending artificial intelligence technology, your customized wireless applications are one tenth the price of conventional approaches to wireless software.
  • Your forms and mobile employee process is automatically transformed into a wireless device application

Works with Normal Cell Phones and PDAs

  • JumpStart Wireless applications work on normal, off-the-shelf cell phones and BlackBerrys.
  • You do not need an expensive ($700-$2000), complex, custom device

2. The MoSync Mobile Development SDK

The MoSync Mobile Development SDK takes a different approach. It provides access to a wide range of underlying device functionality, via a C/C++ SDK.  As such, it requires a greater degree of software skill from the developer, and in principle can enable a rich variety of different kinds of application.

MoSync were one of the finalists in the Mobile Premier Awards at Barcelona, where I had the chance to meet a couple of their founding team.

Their website states:

Mobile cross-platform done right

Today’s mobile device market is more fragmented than ever.  New platforms are introduced every year.  Dozens of new devices arrive from manufacturers every month.  Sometimes it can seem that writing your application is the easy part: the real headache is tailoring it for all those different platforms and devices, and trying to keep up with the ever-changing marketplace.

We think that mobile application development is hard enough without having to worry about porting issues. That’s why we’ve created MoSync — a truly open-source solution for today’s fragmented mobile market.

MoSync’s fully-featured software development kit helps you develop anything from simple programs for basic mobile phones to advanced applications that exploit the full potential of the latest intelligent smart phones and mobile devices.

And with MoSync you can adapt, build, and package your application for hundreds of different mobile devices in a few clicks – all from the same code base! That means huge savings in development costs, faster time-to-market, and wider distribution and revenue possibilities…

Most approaches to cross-platform software development involve

  • either manual brute-force porting (in essence rewriting the application for lots of mobile devices)
  • or the use of virtual machine runtimes that need to be installed on the target devices.

MoSync does neither — instead it gives you the best possible solution: Symbian, Windows Mobile, j2me, Moblin, and Android built from a single source…

3. The Airplay platform from Ideaworks Labs

The Airplay platform from Ideaworks Labs has particular strengths for high-performance rich-media mobile applications – including graphically-intense mobile games.

Their website states:

Airplay is a native mobile application development and deployment solution that overcomes many of the major problems faced by developers and publishers of mobile games today.

The Airplay SDK comprises a set of powerful and extensible tools and technologies within a framework of processes and workflow best practices. This combination of technology and know-how delivers massive cost savings during both development and deployment and enables a much faster time to market.

This solution is the unique result of a 7-year symbiotic relationship between Ideaworks Labs and Ideaworks Game Studio divisions, and it is through building many of the most innovative mobile games in the world that our solution has been fine-tuned and thoroughly battle-tested.

Key Features:

  • Single Binary: Airplay combines the platform-specific execution environment implementation with a single binary for each game or application. The key advantage of this is there is no need to embed software on the handset, no dependence on manufacturing supply chain, or individual manufacturer or operator deals.
  • Open Platforms: All applications built using Airplay run on all “open” platforms, such as Symbian, BREW, Windows Mobile, Linux, and can be embedded on “closed” platforms, such as RTOS.
  • Scalable Graphics: Fully scalable graphics pipeline optimized to support all leading semiconductor architectures…
  • OpenKODE compliant: Ideaworks Labs was co-spec lead in Khronos on OpenKODE Core API, committed to standards-based portability of native applications.

4. EZMobile from 509inc

509inc have a solution which may appeal to developers who already have a web service, which they want to connect to mobile devices in such a way that it takes advantage of mobile device features such as location.

Their website states:

5o9 EZMobile uses Web standards to simplify development and the support of mobile users. 5o9 EZMobile works with existing Web servers, most HTTP mobile browsers and any network. 5o9 EZMobile can reduce the time and cost to mobilize by 2 to 10 times that of cross-platform mobile application development and support…

5o9 EZMobile software enables enterprise-level Mobile SaaS by delivering contextual data to your Web Apps. It provides a cost-effective alternative to cross-platform mobile application development.

Now you can extend your existing Web services to mobile users by leveraging the power of the Web. Your Web apps can access real-time who, what and where data about your mobile users, letting you personalize services via customized menu-based navigation. Standardize delivery, via the browser, across multiple mobile platforms. You determine the data you need. You control your data security and privacy  policies. You choose the appropriate level of personalization for your mobile employees, customers and partners.

Experienced cross-platform mobile developer Simon Judge recently looked more closely at 509inc and wrote some of his findings in a blog post “509 Bridges the App Web Gap“:

Last year I mentioned how 5o9 had developed a solution that allowed BlackBerry and Windows Mobile device location to be made available to web sites. Since then, things have progressed and they now offer a range of multi-platform tools for mobile developers.

5o9 told me that their view of the future is that for mobile to really take off the web has to know the end-user better. This means that web browsers need better access to phone features.

If you go to the 5o9 web site you can learn more. However, what it doesn’t say is how this technology works and how it might be integrated into your mobile solution, so I dug deeper

The 5o9 solution is a simple mobile application that can share critical meta data (without the need to type it in) with any web app in the world. It works by extending the HTTP protocol with new customizable HTTP_X headers….

Some people think that the future of mobile is the web. Until such time, technologies such as those offered by 5o9 can be used to bridge the gap.

This is just to scratch the surface…

Above, I’ve provided brief details of four attractive intermediate mobile platforms, but there are probably at least five times as many more that could be added to this list (I apologise for the highly selective nature of my list).

And that’s without covering the better known intermediate platforms such as Qt, Java, HTML5, Adobe Flash/AIR, and Microsoft Silverlight.  It would take a long time to fairly compare and evaluate all serious players in this space.

One conclusion that can be drawn from this multiplicity of offerings is that there’s wide perception of the need for such solutions, driven by the combination of two observations:

  • The mobile opportunity is huge, and demands attention
  • Mobile development is still generally seen as unnecessarily difficult.

10 February 2010

The mobile multitasking advantage

Filed under: Android, applications, architecture, iPhone, multitasking, Psion, universities — David Wood @ 11:48 am

How important is it for a mobile device to support background multitasking?

Specifically, how important is it that users can install, onto the device, applications which will continue to run well in background whilst the user is simultaneously using the device for another purpose?

Humans are multitasking creatures.  We get involved in many activities simultaneously: listening to music, browsing the web, holding conversations, taking notes, staying on the alert for interruptions… – so shouldn’t our mobile devices support this model of working?

One argument is that this feature is not important.  That’s because the Apple iPhone fails to offer it, and the sales of the iPhone don’t seem to have suffered as a result.  The applications built into the iPhone continue to operate in background, but downloaded apps don’t.  iPhone apps continue to sell well.  Conclusion: mobile multitasking has little importance in the real world.  Right?

But that’s a weak argument.  Customer sentiment can change.  If users start talking about use cases which the iPhone fails to support – and which other smartphones support well – then public perception of the fitness of the iPhone system software could suffer a significant downturn.  (“iPhone apps – they’re so 2009…”)

How about Android?  That offers background multitasking.  But does it do it well?

My former colleague Brendan Donegan has been putting an Android phone to serious use, and has noticed some problems in how it works.  He has reported his findings in a series of tweets:

I say, with all honesty that Android’s multitasking is a huge travesty. Doesn’t even deserve to be called that

Poor prioritisation of tasks. Exemplar use-case – Spotify [music playing app] + camera

Spotify will jitter and the photo will be taken out of sync with flash, giving a whited out image

Symbian of course handles the same use case flawlessly

Android really is just not up to doing more than one ‘intensive’ task at a time

Even the [built-in] Android music player skips when taking a photo

(Brendan has some positive remarks about his Android phone too, by the way.)

Mark Wilcox suggests a diagnosis:

sounds like the non-real-time, high interrupt latency on Linux is causing some problems in multimedia use cases

Personally, I find this discussion fascinating – on both an architecture level and a usability level.  I see a whole series of questions that need answers:

  1. Are these results applicable just to one Android phone, or are they intrinsic to the whole platform?
  2. Could these problems be fixed by fairly simple software modifications, or are they more deeply rooted?
  3. How do other mobile platforms handle similar use cases?  What about feature phone platforms?
  4. How important is the use case of playing music in background, while taking a photograph?  Are there other use cases that could come to be seen as more significant?

Perhaps this is a good topic for a university research project.  Any takers?

(Related to this, it would be interesting to know more about the background processing abilities of modern feature phones.  For example, it used to be the case that some feature phones would discard the contents of partially written text messages if there was an incoming voice call.  Has anyone looked into this recently?)

Regardless of the merits of these particular use cases, I am convinced that software responsiveness is important.  If the software system is tied up attending to task A when I want it to do task B, I’m frustrated.  I don’t think I’m alone in this feeling.

My 1990’s Psion PDA typically runs more than a dozen apps in parallel (several word processors, spreadsheeets, databases, plus an individual agenda, tube map app, calculator, and so on) and switches instantly between them.  That sets my baseline expectation.

Here’s another mobile use case that’s on my mind a lot these days.  It applies, not to a PDA or mobile phone, but to my laptop.  It’s not (I think) a device problem, but a wider system problem, involving network connectivity:

  • I frequently find myself in mobile situations where I’m browsing websites on my laptop (for example, on the train), and the pages take ages to load;
  • The signal indicator on the built-in wireless modem app says there’s a strong signal, but for some reason, wireless traffic is squeezed;
  • I sit watching empty tabs on my Firefox browser, waiting and waiting and waiting for content to appear;
  • In frustration, I’ll often open another tab, and try to visit the BBC website – to rule out the possibility that the server for the other web pages(s) has gone down – but that gives me another blank page;
  • Eventually, things recover, but in the meantime, I’ve been left twiddling my thumbs.

When I switch to a WiFi connection instead of a cellular connection, things are usually better – though I’ve had the same bitter experience with some WiFi hotspots too (for example, in some Starbucks coffee shops).

So what should the highest priority be for system architects to optimise?  Responsiveness comes high on my own wishlist.  I recognise that this will often require changes in several parts of the software system.

29 January 2010

A strategy for mobile app development

Filed under: Agile, applications, consulting, fragmentation, mashup* event, mobile web — David Wood @ 12:15 am

The mashup* event in London’s Canary Wharf district yesterday evening – hosted by Ogilvy – addressed the question,

  • Apps: What’s your strategy?

The meeting was described as follows:

This event will help people in strategic marcomms roles understand the key challenges with respect to apps and identify the building blocks of an app strategy:

  • What are the platform choices?
  • What are the app store choices?
  • What devices should you support? …

mashup* is bringing together several industry experts and specialist developers to help demystify, clarify and explain the issues around the rapidly emerging Apps channel…

The event was sold out, and the room was packed.  I didn’t hear anyone question the need for companies to have a mobile strategy.  Nowadays, that seems to be taken for granted.  The hard bit is to work out what the strategy should be.

One of the speakers, Charles Weir of Penrillian, gave a stark assessment of the difficulty in writing mobile apps:

  • For wide coverage of different devices, several different programming systems need to be used – apart from those (relatively few) cases where the functionality of the app can be delivered via web technology;
  • Rather than the number of different mobile platforms decreasing, the number is actually increasing: fragmentation is getting worse;
  • Examples of relatively new mobile platforms include Samsung’s bada and Nokia’s Maemo.

One mobile strategy is to focus on just one platform – such as the Apple iPhone.  Another strategy is to prioritise web-based delivery – as followed by another speaker, Mark Curtis, for the highly-successful Flirtomatic app.  But these restrictions may be unacceptable to companies who:

  • Want to reach a larger number of users (who use different devices);
  • Want to include richer functionality in their app than can be delivered via standard mobile browsers.

So what are the alternatives?

If anything, the development situation is even more complex than Charles described it:

  • Mobile web browsing suffers from its own fragmentation – with different versions of web browsers being used on different devices, and with different widget extensions;
  • Individual mobile platforms can have multiple UI families;
  • Different versions of a single mobile platform may be incompatible with each other

The mobile industry is aware of these problems, and is pursing solutions on multiple fronts – including improved developer tools, improved intermediate platforms, and improved management of compatibility.  For example, there is considerable hope that HTML 5.0 will be widely adopted as a standard.  However, at the same time as solutions are found, new incompatibilities arise too – typically for new areas of mobile functionality.

The suggestion I raised from the floor during the meeting is that companies ought in general to avoid squaring up to this fragmentation.  Instead, they should engage partners who specialise in handling this fragmentation on behalf of clients.  Fragmentation is a hard problem, which won’t disappear any time soon.  Worse, as I said, the nature of the fragmentation changes fairly rapidly.  So let this problem be handled by expert mobile professional services companies.

This can be viewed as a kind of “mobile apps as a service”.

These professional services companies could provide, not only the technical solutions for a number of platforms, but also up-to-date impartial advice on which platforms ought to be prioritised.  Happily, the number of these mobile-savvy professional services companies (both large and small) is continuing to grow.

My suggestion received broad general support from the panel of speakers, but with one important twist.  Being a big fan of agile development, I fully accept this twist:

  • The specification of successful applications is rarely fixed in advance;
  • Instead, it ought to evolve in the light of users’ experience with early releases;
  • The specification will therefore improve as the project unfolds.

This strongly argues against any hands-off outsourcing of mobile app development to the professional services company.  Instead, the professional services company should operate in close conjunction with the domain experts in the original company.  That’s a mobile application strategy that makes good sense.

13 June 2009

Monday night is demo night

Filed under: applications, demos, Mobile Monday, Samsung — David Wood @ 4:12 pm

Mobile Monday London is at a new location this Monday (15th June). Most of the MoMoLo events I’ve attended over the last few years have been at the CBI Conference Centre in the Centrepoint building near Tottenham Court Road tube station. But on this occasion, the venue will be the 10th floor of the Blue Fin Building, 110 Southwark St, SE1 0SU. This venue is south of Tate Modern, and nearby tube stations include Blackfriars, Waterloo, Southwark, Cannon Street and London Brige. The event is being hosted by IPC Media, who are based in the building.


Blue Fin building has its own significance in the Symbian world. The second floor of that building is home to the UK branch of SOSCO – which is an acronym for “S60 on Symbian Customer Operations”. Prior to Nokia’s acquisition of Symbian Ltd last December, the unit was known by the simpler name of SCO – “Symbian Customer Operations”. It’s a descendent (via several renamings) of the Technical Consulting (“TC”) department which was created on the initial formation of Symbian Ltd back in June 1998. I was responsible for TC at that time, and several of the people from the early days of TC still work in SOSCO. Among other claims to fame, SOSCO engineers recently ported a version of the Symbian platform to run on an off the shelf Atom based motherboard from Intel.

This Monday’s event is a demo night. At the last count, the following mobile demos are lined up:

  • Vopium – like Skype but fully integrated into your mobile’s phonebook
  • Peepr.TV – webcam streaming to mobile
  • 0870.me – standard rate calls instead of 0870
  • Photofit – photo mashup application
  • Total Hotspots – Rummble your nearest wifi hotspot
  • Audioboo – audio micro-blogging as much loved by Stephen Fry amongst others
  • Artilium – making LBS easy for developers
  • Proxama – the latest in NFC wallets
  • Ookl – mobile learning
  • Singtones – karaoke on your phone
  • Masabi – rail ticketing
  • Corebridge – CRM on the go
  • Spoonfed – London restaurant finder

It will be a fine chance to weigh up some innovative mobile applications and services. There will presumably be some of the latest mobile devices on show too – given that the co-sponsor of the evening (along with IPC Media) is Samsung Mobile Innovator.

The word on the streets is that Samsung Mobile Innovator “will be making a special announcement on Monday evening” – which is another reason for attending. (OK, full disclosure: let me confess my source for this info: it’s someone who used to work for SOSCO, but who is now employed by Samsung Mobile Innovator.)

As the official site for the event explains:

  • Doors will open at 6pm for a prompt start at 6.30pm;
  • There’s a LOT to get through;
  • Please allow enough time to get through security on the ground floor and take the lift up to the 10th floor;
  • Also please make sure you are registered well in advance so you can whizz through security;
  • There is no guarantee of entry unless you are registered in advance.

To register, please visit the event website.

The venue has capacity for 155 participants. As I write this, there are 38 places still available.

Blog at WordPress.com.