Monday, 16 April 2012

Building For Mobile: Web App or Native App?

When we started building yagmap we decided right from the outset that a key requirement for us was to support both mobile and desktop/laptop type computers. Building the site using web technologies for the desktop computer was a no-brainer - this is just the way things are moving and how people expect to interact with a cloud based solution. So when it came to mobile, we also quickly opted for building a solution based on web technologies rather than native apps.

This goes against the current trends for mobile - there's an app for everything at the moment it seems and it appears to me that a lot of marketing money is being spent by development shops to convince a lot of small businesses that they 'need' a mobile app. So why did we go for a web app instead?

Well, basically for exactly the same reasons as we went for a web based solution for desktops:

  • You get a consistent look and feel across all browsers and operating systems so a better user experience across platforms
  • You don't need complicated instructions, IT support or "consultants" to install the application on each machine that needs to access yagmap, thereby significantly reducing the total cost of ownership (TCO) for the end customer 
  • End users can access yagmap from their home computers rather than being tied to their office desk
  • Updates to the system are available to all users on all platforms at the same time, again without requiring IT support

These reasons are equally applicable to the mobile space.

Another financially beneficial reason for us, as a company, is we don't need to employ specialist developers for Android, iOS, Blackberry etc which means we can devote our time and resources to creating the best possible user experience and the best features available, along with the best customer support of course!

We strongly believe that web apps are the longer term future for mobile operating systems. There is too much fragmentation and users will expect cloud based systems to work the same way on every device they use. They don't care whether it's from Apple or Google or RIM.

Don't forget that when Apple launched the original iPhone back in 2007, they didn't support native apps and wanted developers to build web apps - they saw this as the future of app development but were they possibly too early to properly do it? Today we have HTML5 which gives access to an enhanced browsing experience, the mobile browsers have come on a long way to support these so we have planted our allegiance firmly on the web app side and see the capabilities of web apps continuing to grow as HTML5 develops further and developers get more access to the hardware.

Finally, our anecdotal evidence based on observing ordinary people using their smartphones indicates that most access web services via the browser. Without doing an indepth study, we believe this is simply because this is what they are used to and find it easier to pull up Google, search for the site and load it in the browser rather than trawling through numerous home screens to find the app for the particular service they want.

Conversly, games, music and imaging apps on the otherhand were used as native our takeaway would be a native app is the right thing for those as people perceive them to be part of the device so native is the logical way to access them. Cloud solutions are off-device, so logically (or subconsciously) access via the browsers is the natural way to access them.

Tuesday, 10 April 2012

Supporting Older Versions of Internet Explorer

It's good fun coding for the latest and greatest browsers, making use of the new HTML5 features and pushing the envelope to see what can be done. However, as we are focussed on businesses, we need to appreciate that not every business is able to be running the latest version of Chrome or Internet Explorer either due to specific policies in place or application compatibility issues.

For this reason, we prefer to be inclusive and ensure yagmap is fully functional with at least Internet Explorer 6. Yes, we know even Microsoft would like IE6 to disappear but in reality a lot of businesses, particularly the larger enterprises are still using IE6 and will be for some time to come until they are in a position to complete a blanket upgrade. Whilst it's all very well saying install the Chrome plug-in, or an alternative browser for day-to-day web, keeping IE6 for the legacy applications; this is not always a practical option due to security policies in place.

So, as part of our product development, we test against IE6, IE7, IE8 and IE9. IE9 is our preferred (until v10 comes out soon!) but IE8 is the latest supported on Windows XP (again not always possible to spend thousands or millions upgrading all PCs to Windows 7). With IE6 and 7, we make sure the functionality works but whilst the newer browsers allow for a more appealing visual appearance, IE6 and 7 give a more functional look as they don't support the newer standards such as HTML5 and CSS3.