Web App Tips

People underestimate the effort required to create a great web app. They tend to get blinded by the write-once promise but in practice it can quickly turn into a nightmare. Brian Leroux takes a deep look at in his presentation on how the mobile web is a mess. I have previously written a lot about this (see the related articles below).

However, there are still some types of project, particularly self-promoted information-heavy apps, where web apps can make sense. Think very very carefully if you really need a web app or whether a normal ‘desktop’ web site will suffice. Keeping with the latter will save a lot of pain. If you do decide to create an app using web technologies, here are some high level tips to get you started…

  • Decide what devices you are going to support. No, you can’t support them all. Plan to fully test the devices you choose to support.
  • Think about the implications of different screen sizes and orientations. More specifically, think about families of different graphics sizes. Consider using common layouts to simpify moving between horizontal and vertical orientations.
  • Don’t make it look like iOS.  It’s like asking Ford car owners to use a Mercedes steering wheel in their car. Try to give the app a generic web theme that uses touch gestures when available on the device.
  • Consider what’s necessary to make the app secure. Motorola MOTODEV has a new article on Designing HTML5 Apps that includes tips on the security of offline storage, cross-origin resource sharing and web sockets.

Tablet App vs Smartphone App Design Tips

tablet.pngI have previously commented on the Implications of App Use on App Design and questioned whether ‘snacking’ is as equally applicable to tablet apps. I am seeing a growing number of people thinking about making their Android apps more tablet friendly as opposed to just providing a tablet-esqe view on what was a smartphone app. I am also seeing people re-thinking their functionality and UI when porting to the Android tablet from iPhone and iPad. Here are some observations and tips…

  • First of all, do you really need an app? People tend to go to the web first on the tablet. People use apps on smartphones because they make information easier to digest. This advantage is less so on tablets. If you decide on a tablet app then it needs to be compelling and generally needs to do a lot more than the smartphone version.
  • Unlike smartphones, tablets tend to be shared devices. This means you might need to think about providing for multiple users.
  • Think about what you mean by a tablet. Some low end tablets have lower resolution tablet screens (e.g. 800×480) and depending on your app, it might be best to display in the same way as on a smartphone.
  • A large proportion of tablets are WiFi only. You might need to re-think communication if you use SMS or voice in your app. 
  • A tablet is usually a second mobile device. You might need to consider sync of settings and/or data between the same app on different devices.
As an aside, if you decide to go for just a web site, test to make sure it works. I am tired of visiting sites on the tablet and them providing a mobile optimised version that doesn’t work well or fully. There tends to be a ‘show full web’ version link at the bottom that, in many cases, seems to eventually cycle back to the mobile version.

Apache Mobile Filter Updated

apache.gifIn June 2009, I wrote about Apache Mobile Filter that allows WURFL (now gone commercial) access from any programming language, not just Java and php.

Now that the service is more popular and WURFL has gone commercial, Apache Mobile Filter has been updated to include further device repositories DetectRight and 51Degrees.mobi. The author hopes to add an open source device repository in due course.

Mobile Frameworks Comparision Chart

comparisionchart.gifBarely a day goes by without me receiving a press release on yet another mobile app generator or framework. The frameworks tend to be more interesting for me as they allow developers to do more. Today I came across a useful mobile framework comparison chart. Although it currently only maps platforms to frameworks, it’s already getting very complex. However, what’s really needed is a framework feature comparison.

Frameworks are a highly competitive area at the moment. No one framework does everything (or even covers a significant number of features across all platforms) so there is still a lot of opportunity and competition in this area. In fact, it might be said that no framework will ever be complete because the underlying mobile platforms are themselves changing over time.

One problem for developers is what happens when frameworks mature and uncompetitive platforms disappear. Many of the frameworks are VC funded and will be found to be either not financially viable or will have to start making a profit. Some developers will find they can’t use their chosen framework any more while others, using popular frameworks, will find they are tied into a technology with increasing prices… much like Google app engine is currently doing in the web app world. 

In some ways, these frameworks can be seen as both bridging a development gap between platforms and also making up for the deficiencies of mobile web (HTML5) apps. Web apps are a contender to replace frameworks in the longer term but, I believe, not without some kind of disruptive occurence that aligns the people working on web browsers, platforms and devices. Without this disruptive occurence, fragmentation of capabilities will severely inhibit the potential of mobile web apps. Frameworks might continue to be needed to resolve differences between browsers, platforms and devices.

Relative Time Spent Using Apps

nielsenwire.gifNielsen has some statistics on the total time spent on apps and web, the proportion spent on each and a breakdown of apps that account for the majority of the time.

  • An hour a day is spent interacting with apps and web
  • 67% of this time is spent on apps
  • The top 10 Android apps account for 43 percent of all the time spent by Android consumers on mobile apps
  • The top 50 apps account for 61 percent of the time spent

 nielsentimespentonapps.gif

What does this mean for mobile developers? At first sight you might conclude that it’s better to develop an app rather than for the web. You might also conclude that unless you are a ‘top’ app your app might not get much use. However, as with many other mobile issues, "it depends".

It’s not surprising a low number of apps account for a large percentage of the time. These apps will be email, social networking and other such apps that run in the background and are communication tools. No utility app is going to be able to compete on time spent. However, it doesn’t mean it won’t be run regularly, possibly for a short time, and become useful.

The main reason people choose apps over the web is usability. Apps are both easier to discover and easier to use. However, if you are a large company, lets say for example a large brand, you can easily channel people to the web. Time spent on the ‘web app’ can make it close to, but never totally as good as, the usability of an app. You can leverage the size of your company/brand to negate the time spent on apps vs web issue. This is what large publishers are already starting to do, but for other monetary reasons, in moving their apps off the Apple App Store and onto the web.

The two learnings from this are not to take statistics at face value and think how you can use existing company assets to create contrarian strategies. 

Mobile OS Platform Fragmentation

visionmobile.gifThe Vision Mobile Developer Economics report has an interesting chart showing fragmentation of the various platforms. That is, the number of versions of an app that have to be developed to cater for different versions of a given OS.

 visionmobiledeveconfragmentation.gif

This concurs with my previous observation that problems of Android Fragmentation have been exaggerated. However, I suppose it depends on your reference point. As the chart shows, if you are only coming from iOS then it will seem more fragmented. If you previously worked on Java ME, Symbian, BlackBerry or Windows Mobile then Android Fragmentation won’t seem that bad.

Microsoft Mobile Commerce Infographic

microsoft.gifRelated to my post last week on companies not having mobile web sites, there are lots of stats at the Microsoft’s Mobile Commerce Revolution: Smartphones & Smarter Shoppers Infographic. Here’s an excerpt…

msecommerce.gif 

Top Rank, the online marketing blog has some useful tips to get you started.

Google Mobile Sites

google.gifA while ago I mentioned how many mobile ads have nothing to point to and that companies should really have a cross PC and mobile strategy.

Yesterday, Google sites introduced support for mobile that provides a quick and easy way to solve these problems. However, it only claims to support iOS and Android (i.e. HTML based browsers) but does nothing for the very large (although radidly decreasing) installed base of WAP browsers. Google has put together a video promoting it for use by companies but, in reality, I am not sure how many companies want a mobile site that doesn’t use their own domain name. Also, this does nothing to help create dynamic web sites (sites with any changing data). I suppose it’s a start and better than nothing.