Smartphone applications are predicted to overtake the desktop software market. So who will win the multi-billion-pound [dollar] application economy, and what are the new rules?

In January 2010, Apple announced to great fanfare that they had recently sold their 3 billionth iPhone application. Of course not all these applications are paid-for, but with a 30% levy taken on each and every paid-for application, Apple are taking a significant share of the revenue from the application pie. However, as a distribution channel, the AppStore is second to none, whilst the iPhone uptake is staggering, with a majority share of the smartphone market in many regions of the world. There is a significant opportunity for any developer to make a huge return on investment, assuming the idea is a winning one.

iPhone, Android, Windows Mobile, Blackberry, Nokia and now the larger form factor iPad and Kindle support the idea of applications, or will do in the near future. So what do you need to do to design and build your first application?

  1. Familiarise yourself with the rules
    Whether you’re going to build applications for the iPhone OS, Android OS or any other of the mobile platforms, you will need to familiarise yourself with how each operating system does things. Smartphone development is different from the development we are accustomed with on the Web. Reading the user interface guidelines for each platform will go a long way to developing your first application. Smartphones are personal devices and know where you are almost all the time through GPS. They have rotation detectors, compasses and multitouch screens with gestural interfaces. Only once you know what is possible with each smartphone platform can you begin to design your application.
  2. Brainstorm the issues
    This is the creative part of your application development process. You have a basic idea, but you need to take it forward into something that has features and benefits. Will the application be paid-for or free? Will it provide a service or be a marketing channel? Will it be standalone or link closely with other online presences and networks? Smartphone applications, unlike ordinary websites, invariably need to actually do something. There is an element of artificial intelligence at play, whereby the phone can actually know where it is in the world and it’s orientation, whilst the user interface is remarkably different from that of simply a mouse and keyboard. Smartphone applications can’t simply be flat catalogues, they need to do something and do it well. Whether this is booking and accessing a car as with StreetCar, buying something from eBay, paying with PayPal, creating music with RjDj, drawing pictures with Brushes, price comparison with RedLaser, reading the latest news from the Guardian, video casting with Qik or planning your journey with Tube Deluxe your app needs to be compelling.
  3. Create a prototype
    You have your compelling idea; create a proof-of-concept prototype. This prototype is used to test some or many aspects of the intended design without attempting to exactly simulate the visual appearance, content or intended interactions. Such prototypes can be used to “prove” out a potential design approach such as range of motion, mechanics, sensors, architecture, etc. Making paper prototypes, for example, is a great way to test the application rather than creating low or high fidelity wireframes and hoping for the best. Doing this also provides a perfect opportunity for people around you — friends, colleagues and family members — to try out the prototype with little fuss. Only once you’re happy with the design should you begin any form of coding.
  4. Submit early
    You have your application working. You have conducted a number of usability tests and all is looking great. It’s time to submit it to the appropriate application store. Apple has its AppStore, Android its Market Place, Nokia its Ovi Store and so on. Each store has its own nuiances, but if you’re considering an iPhone application, Apple has been know to drag its feet when approving applications for release. Apple has a much discussed approval process, with the possibility of rejection commonplace. Don’t make plans that depend on Apple. It is better to silently release the application, rather than creating a huge fanfare.
  5. Iterate often
    Once your application has been launched your work is nowhere near over, indeed it has just begun! As you gain more and more users, improvements will suggest themselves not only from within your team, but more often, from your users. Here is where you go back to stage two and start brainstorming again. Version 2 may include bug fixes, but also major feature updates. For the latter, your brainstorming will decide what is most important for the next iteration. When your next iteration is complete, the AppStore, for example, makes upgrades far easier to achieve than for normal desktop software.

If you’re planning an application that could disrupt one of the smartphones capabilities, such as Google Voice for the iPhone, it may be worth considering whether building an application specifically for that particular operating system is worthwhile. Google Voice was neither approved nor rejected by Apple for the iPhone, but has now been replaced by a fully featured HTML5 web-based application; circumventing the Apple approval process. Of course this now means that the same web-based application can be used for not just the iPhone, but other smartphones.

Now go forth and build it!

Resources

Smartphone User Interface Guidelines:

Application Development Frameworks:

  • PhoneGap an open source development tool for building iPhone, Android, Blackberry and other mobile apps with JavaScript
  • Appcelerator a mobile development platform for javascript developers

Mobile Web Application Frameworks:

  • jQTouch a jQuery plugin for mobile development
  • iUI an iPhone/iPod Touch user interface framework

Other:

The Four C’s of Community

A web community is a web site (or group of web sites) that is a virtual community. Web communities in recent times commonly take the form of a social network service, such as Facebook, Upcoming and Last.fm, an Internet forum, a group of blogs such as WordPress.com and Blogger, or another kind of social software web application.

But what makes up a web community; what makes them successful? Below I discuss the four C’s of community: Content, Context, Connectivity and Community.

Content

A current meme when organising or building a website is the catchphrase Content is King. A big shift in the web in recent years has been the way websites are constructed. Today it’s a necessity, and indeed best practice, to separate form from content. In one hand you have the compelling content, whilst in the other you have the presentation, be it in the form of HTML and CSS, Flash or RSS, amongst others.

Quality content is one way in which you can make your website stand out. It is also a great way to attract the people who are needed to form the elusive community that your brand is hoping build. When considering community initiatives, there are three questions to ask: Where will the content come from; for example community driven or syndication? Does it provide indisputable value; does it have a unique selling point (USP)? Can a regular flow of quality content be maintained? Even pre-Web 2.0 initiatives have to focus on keeping the content itself fresh and relevant.

Web accessibility and search engine optimisation are also vital, so having content completely separated from presentation means a number of assistive technologies can make better use of the content, whilst the web robots can also readily consume the information.

Context

Context means understanding how people use your website, where they are in the user-journey and serving them the right experience at the right time. Well-designed applications and functionality have great opportunities to deliver on context.

For example, FriendFeed’s iPhone version, which is simply a re-worked web interface, is perfectly designed for contextual usage on the go. Similarly, Remember The Milk updates the interface explicitly for mobile and iPhone users, whilst also syndicating the content to applications such as Google Calendar. (It is questionable whether user-agent switching is good practice, but that is a whole new blog post.) Conversely, Delicious makes no attempt at changing the user interface for iPhone or Nokia N95 users since the iPhone and N95 have full web-capabilities through their respective web browsers.

In some instances the context in which the content is displayed will require reduced functionality. For example, the Last.fm mobile site does not allow you to play music, but simply search music listings, view recommendations, events and friend listings, and edit settings. However, through its API, Last.fm is able to offer its data and platform to third party developers to aid the building of new applications and communities, thus changing its context.

Connectivity

Connectivity is the ability of a system, whether that is a web-based community or a device like the iPhone, to connect with little or no modification. In the realm of communities, the ability to easily connect to your peers is the Holy Grail of the application.

Successful communities thrive on fluid, hard-to-measure activities that are, in the purest sense, relationship-based. It’s not all about mass communications — although Twitter and YouTube are both bucking this trend — but more about the micro-interactions. Designing experiences that support thousands of micro-interactions means that the community is able to function, unhindered, almost indefinitely. Facebook lends itself expertly to micro-interactions through the user’s ‘wall’.

Companies are turning to communities as the new customer relationship management (CRM), but this requires people to mind them. Organisations such as 37Signals and WildBit very effectively use Twitter to broadcast service updates and sometimes apologies, whilst the BBC and The Guardian online use it to broadcast links to new content.

Continuity

People often don’t like change, but communities that thrive often do so though evolution to meet the needs of users. Communities need to be flexible to evolve while still providing a valuable and consistent user experience which can be sustained. Too much of a radical change will almost certainly have a detrimental impact upon visits, at least initially.

Building communities is the new marketing for a brand, whether that is through wholely-owned properties or 3rd party social media services such as Twitter, WordPress or Ning. The starting point to any community is finding a niche that is currently underserved and serving that community better than anyone else. But Brands need to know a few things before they head down the community path. The web is saturated with communities. Some are thriving, while others have come and gone. Creating a community is not like your average marketing campaign that you can ditch it is a failure. If the community is successful the four C’s of content, contect, connectivity and continuity will have to be maintained and indeed, developed.

QR-kill – The Hi-tech Mobile Game

Crossed between quasar and a game of tag, QR-kill is the new phenomenon spreading around the mobile community. Utilising high-end mobile phones like the Nokia N95 and Applie iPhone and 2-dimensional barcodes called QR-codes, this game is best played in public places like shopping centres or department stores for added amusement.

QR-Kill Rules

  1. A QR-code with your name and phone (SMS format) will be printed in a 20cm minimum width sheet of white paper. It will be reinforced by a hard cardboard and stuck to the back using american tape.
  2. The QR-code must be visible at all times. It cannot be covered by any means, wall, floor, etc.
  3. Once you receive the deathly SMS you must leave the scenario right away.
  4. When team playing, members can only communicate by using same phone they use as a weapon.
  5. Disguising is allowed as along as the QR-code is visible.
  6. Unless playing sniper mode no extra devices can be used to capture the QR-codes (e.g. zoom photo cameras, videocams, etc.)
  7. If there is a conflict deciding who killed first, SMS time will decide (we recommend synchronising watches before the game starts)
  8. No one can assist you to kill the enemy with your phone. However you can hire spies, etc.

You can create QR-codes on Kaywa’s website.

Last weekend I attended Barcamp Brighton 3. For the uninitiated like me, a BarCamp is an international network of user generated conferences — open, participatory workshop-events, whose content is provided by participants — often focusing on early-stage web applications, and related open source technologies, social protocols, and open data formats.

Barcamp Brighton was a great event, attended by some of the web-gliterati: Jeremy Keith, Aral Balkan, Tantek Celik, Jerome Ribot and Mark Wudden to name but five I was lucky to converse with. That’s not to say the other attendees were any less significant. It was everyone who made the event great.

As you may have observed from the title of this post, I presented a talk, along with my good friend Rob Douglas, titled Talking QR.app.

The presentation can be viewed below, or via the SlideRocket website.

I have also bookmarked a number of QR-code links on Delicious.

Since getting the new iPhone 3G I’ve been downloading ‘useful’ applications like there was no tomorrow. I now have the very useful Vicinity app, various social networking apps and the best of all, a Light Sabre.

But there was something missing in my toolset; a WordPress app. Typepad have long since had one, so it was about time my favourite blog platform upped the ante!

Well, I’m glad to say, as of today an app has finally reached the Apple App Store that allows me to write posts: thank you Automattic.

In fact, just for good measure, this blog post has been written from the app.

The interface is intuitive and easy to use, although it does lack admin features, which for some may be a concern.

I’m sure I’ll get RSI if I continually blog via my iPhone, but for those moments when I’m caught away from a computer and desparately want to offer my 10 pence worth to the blogosphere, it’s a good tool to have.

Adobe AIR LogoSince the Adobe Integrated Runtime (AIR) was released at the end of February, we now have a stable platform on which to build desktop applications with our existing web skills. A number of people have already started and the Adobe AIR Marketplace is filling with AIR applications by the day.

So what is the big deal? The Adobe marketing team state that:

The Adobe AIR runtime lets developers use proven web technologies to build rich Internet applications that deploy to the desktop and run across operating systems. Adobe AIR offers an exciting new way to engage customers with innovative, branded desktop applications, without requiring changes to existing technology, people, or processes.

What AIR applications should you check out?

What is intriguing is that all the tools I have chosen are generally useful tools for the developer or designer, with the exception of twhirl, which is a social-interaction tool. I’m looking forward to when other, less developer-centric tools become freely available. AgileAgenda has taken the lead with this respect, albeit not freely available, as has eBay desktop, but I would like to see examples from the BBC in the form of a desktop BBC iPlayer or maybe a Flickr image browser, del.icio.us bookmark reader, RSS aggregator and a Picnik image editor.

Analytics Reporting Suite

Google Analytics Reporting SuiteThe Analytics Reporting Suite, by Nicolas Lierman, brings Google Analytics to the desktop. It uses it’s own custom API to interact with Google and nearly implements all the features of Analytics.

For website owners this is a must-have application. Like the twhirl AIR application below, it is a fantastic example of what can be achieved with Flex and AIR. Measuring visitor trends and traffic are essential tasks to managing and improving a websites performance. The Analytics Reporting Suite allows you to configure multiple Google’s Analytics accounts and access the web-based suite’s plethora of features via a desktop application. The application displays integrated graphs and animations via a tabbed interface, which allows you switch between a number of reports. These reports can then be saved as a PDF, Excel or XMLdocument, or printed.

You can download and install the application from the About Nico website.

twhirl twitter Client

Twhirl Logotwhirl, by Marco Kaiser, is probably the most popular desktop client for the twitter micro-blogging service. Most of the features available on the twitter website are accessible through twhirl, plus, a lot of usability enhancements have been added to make it easier to manage multiple accounts. This is great for those who want to separate business and personal accounts they may have.

The twhirl application is a great example of how AIR can bring web applications to the desktop; it can dock to the system tray, display message alerts and you can configure the applications opacity when not focused (great if you like Mac and Vista-styled themes). The application allows you to search twitter users, view their timelines, add friends, view followers, delete tweets and much much more. Twhirl automatically fetches your friends’ status updates, direct messages and replies, whilst also colour coding different types of messages and alerting you to messages both audibly and visually.

The twhirl application is skinnable and comes with several built in skins with which you can customise the application. All-in-all twhirl is not only one of the best twitter clients, but AIR applications.

You can download and install the application from the twhirl website.

Kuler Desktop

Adobe Kuler LogoAdobe kuler is the first web-hosted application from Adobe Labs designed both to stand alone and to complement Adobe Creative Suite software. Built using Adobe Flash and ActionScript 3.0, kuler is all about colour: colour for exploration, inspiration, experimentation and sharing. Kuler is clearly targeted at the designer, but anyone interested in colour will benefit from its use.

You can download and install the application from the Adobe Labs website.

WebKut

WebKut LogoWebKut is a web screenshot tool that allows you to capture web pages, or parts of them in a very simple way. It provides you with 3 capture options: the entire page, the current view, or only a selection. This little application proves particularly handy for those presentations or projects that need great visuals from the web.

You can download and install the application from the WebKut website.

RichFLV

RichFLV, by Benjamin Dobler, lets you edit FLV files. The key features include reading FLV metadata, read and edit cuepoints, cut FLV files, convert the sound from an FLV to MP3 format, convert an FLV to an SWF … and much more.

You can download and install the application from the Adobe AIR Marketplace website.

SearchCoders Dashboard

SearchCoders LogoThis Flex-based chat widget is designed with programmers in mind. The code input feature allows developers to chat about code without disrupting the conversation.

You can download and install the application from the SearchCoders website.

Pownce

Pownce LogoMuch like twhirl in look, feel and ease-of-use, but with a slant towards productivity rather than micro-blogging, Pownce is a way to keep in touch and share things with your friends or colleagues. You can send people files, links, events, and messages and then have real conversations with the recipients. This is a great collaboration tool and was one of the first services to really embrace AIR as an application architecture, which could realise their service as a desktop client. Everything that is available via the Pownce website is also available via the client application, except and possibly importantly, the ability for the user to amend their account settings and add friends to your network; this still has to be done via the website.

For a small annual amount, Pownce offers a paid-for service which will eliminate adverts from your profile and allow you to send huge file sizes (100MB) and customise the theme of your Pownce.

Pownce also offers Drupal integration and a mobile application, which works with the iPhone, BlackBerries and many more ‘internet-ready’ mobile devices.

You can download and install the application from the Pownce website.