Posted on 04 May 2011.
There’s been quite a bit of discussion in the mobile development world regarding HTML5 websites which run in a mobile browser vs. platform-native apps which run directly in the native operating system. With the passing of our 1,000th mobile session (woo hoo!), I thought it might be helpful to explain why we went the platform-native route in building Tutor.com To Go™ for Apple iOS devices (iPod Touch, iPhone, and iPad), and in the near future, Android devices.
Without question, HTML5 is a great technology that we use at Tutor.com every day on our websites. It definitely has a place in mobile development and many websites can be effectively implemented as mobile websites utilizing HTML5.
Like all technology tools, however, the trick is selecting the right tool for the right job, and the best choice for a high quality education app like Tutor.com To Go is platform-native. Platform-native applications offer these advantages over HTML5 websites:
Access to Features
Some key device features, such as the camera, are unavailable to HTML5 websites. This means a platform-native app is the only way to allow a user to take and share a picture with their tutor in real-time. This is a key feature of our app, since it allows students to easily share their assignments. Similarly, a platform-native app is the only way to allow users to add pictures already on their mobile device to their Tutor.com Locker.
Another key feature which is not supported on all mobile browsers is socket-level connections, which provide fast communication. This means platform-native apps provide the fastest communication speed between tutors and students.
Additionally, other mobile app features like fast application switching and common user interface controls do not exist for HTML5 websites.
Richer User Experience
Above all else, performance is the critical component of user experience, and platform-native apps can better take advantage of the device’s hardware, especially in graphics-heavy conditions like our collaborative whiteboard. This means users of our whiteboard will have a better, smoother experience from a platform-native app.
Furthermore, platform-native applications are inherently tailored to the device’s physical specifications (like screen size and resolution), and follow user-interface guidelines that are consistent across all apps on the platform. This makes for a higher-quality and more unified experience.
HTML5 is still an emerging technology. This means that browser vendors (and on Android there are more than 5 of them) have some “flexibility” in how they adhere to certain standards (for example, local data storage, gradient fills, web sockets, etc.). This inevitably means different markup and different logic for different browsers, and it means you need to test the website in all mobile browsers and browser versions. This leads to fragmented code that is difficult to maintain for a consistent experience for all users.
Your Local App Store
Each OS vendor offers its own app store, and users are accustomed to finding and installing apps via their device’s app store. HTML5 websites cannot be added to an app store. Similarly, users are accustomed to launching installed apps from their device’s home screen, and there is no automatic way to add your website to the user’s home screen.
I hope this brief dive into the platform-native vs. HTML5 website debate was helpful in understanding why we chose to build a platform-native app for iOS devices. We look forward to a similar Android version of Tutor.com To Go in the near future!
- Russell Greenspan, VP Technology