Rick Strahl's Web Log

Wind, waves, code and everything in between...
ASP.NET • C# • HTML5 • JavaScript • AngularJs
Contact   •   Articles   •   Products   •   Support   •   Search
Ad-free experience sponsored by:
ASPOSE - the market leader of .NET and Java APIs for file formats – natively work with DOCX, XLSX, PPT, PDF, images and more

The broken Promise of the Mobile Web


brokenphoneHigh end mobile devices have been with us now for almost 7 years and they have utterly transformed the way we access information. Mobile phones and smartphones that have access to the Internet and host smart applications are in the hands of a large percentage of the population of the world. In many places even very remote, cell phones and even smart phones are a common sight.

I’ll never forget when I was in India in 2011 I was up in the Southern Indian mountains riding an elephant out of a tiny local village, with an elephant herder in front riding atop of the elephant in front of us. He was dressed in traditional garb with the loin wrap and head cloth/turban as did quite a few of the locals in this small out of the way and not so touristy village. So we’re slowly trundling along in the forest and he’s lazily using his stick to guide the elephant and… 10 minutes in he pulls out his cell phone from his sash and starts texting. In the middle of texting a huge pig jumps out from the side of the trail and he takes a picture running across our path in the jungle! So yeah, mobile technology is very pervasive and it’s reached into even very buried and unexpected parts of this world.

Apps are still King

Apps currently rule the roost when it comes to mobile devices and the applications that run on them. If there’s something that you need on your mobile device your first step usually is to look for an app, not use your browser. But native app development remains a pain in the butt, with the requirement to have to support 2 or 3 completely separate platforms.

There are solutions that try to bridge that gap. Xamarin is on a tear at the moment, providing their cross-device toolkit to build applications using C#. While Xamarin tools are impressive – and also *very* expensive – they only address part of the development madness that is app development. There are still specific device integration isssues, dealing with the different developer programs, security and certificate setups and all that other noise that surrounds app development.

There’s also PhoneGap/Cordova which provides a hybrid solution that involves creating local HTML/CSS/JavaScript based applications, and then packaging them to run in a specialized App container that can run on most mobile device platforms using a WebView interface. This allows for using of HTML technology, but it also still requires all the set up, configuration of APIs, security keys and certification and submission and deployment process just like native applications – you actually lose many of the benefits that  Web based apps bring. The big selling point of Cordova is that you get to use HTML have the ability to build your UI once for all platforms and run across all of them – but the rest of the app process remains in place.

Apps can be a big pain to create and manage especially when we are talking about specialized or vertical business applications that aren’t geared at the mainstream market and that don’t fit the ‘store’ model. If you’re building a small intra department application you don’t want to deal with multiple device platforms and certification etc. for various public or corporate app stores. That model is simply not a good fit both from the development and deployment perspective.

Even for commercial, big ticket apps, HTML as a UI platform offers many advantages over native, from write-once run-anywhere, to remote maintenance, single point of management and failure to having full control over the application as opposed to have the app store overloads censor you.

In a lot of ways Web based HTML/CSS/JavaScript applications have so much potential for building better solutions based on existing Web technologies for the very same reasons a lot of content years ago moved off the desktop to the Web.

To me the Web as a mobile platform makes perfect sense, but the reality of today’s Mobile Web unfortunately looks a little different…

Where’s the Love for the Mobile Web?

Yet here we are in the middle of 2014, nearly 7 years after the first iPhone was released and brought the promise of rich interactive information at your fingertips, and yet we still don’t really have a solid mobile Web platform.

I know what you’re thinking: “But we have lots of HTML/JavaScript/CSS features that allows us to build nice mobile interfaces”. I agree to a point – it’s actually quite possible to build nice looking, rich and capable Web UI today. We have media queries to deal with varied display sizes, CSS transforms for smooth animations and transitions, tons of CSS improvements in CSS 3 that facilitate rich layout, a host of APIs geared towards mobile device features and lately even a number of JavaScript framework choices that facilitate development of multi-screen apps in a consistent manner.

Personally I’ve been working a lot with AngularJs and heavily modified Bootstrap themes to build mobile first UIs and that’s been working very well to provide highly usable and attractive UI for typical mobile business applications. From the pure UI perspective things actually look very good.

Not just about the UI

But it’s not just about the UI - it’s also about integration with the mobile device. When it comes to putting all those pieces together into what amounts to a consolidated platform to build mobile Web applications, I think we still have a ways to go… there are a lot of missing pieces to make it all work together and integrate with the device more smoothly, and more importantly to make it work uniformly across the majority of devices.

I think there are a number of reasons for this.

Slow Standards Adoption

HTML standards implementations and ratification has been dreadfully slow, and browser vendors all seem to pick and choose different pieces of the technology they implement. The end result is that we have a capable UI platform that’s missing some of the infrastructure pieces to make it whole on mobile devices. There’s lots of potential but what is lacking that final 10% to build truly compelling mobile applications that can compete favorably with native applications.

mobileweblogSome of it is the fragmentation of browsers and the slow evolution of the mobile specific HTML APIs. A host of mobile standards exist but many of the standards are in the early review stage and they have been there stuck for long periods of time and seem to move at a glacial pace. Browser vendors seem even slower to implement them, and for good reason – non-ratified standards mean that implementations may change and vendor implementations tend to be experimental and  likely have to be changed later. Neither Vendors or developers are not keen on changing standards. This is the typical chicken and egg scenario, but without some forward momentum from some party we end up stuck in the mud. It seems that either the standards bodies or the vendors need to carry the torch forward and that doesn’t seem to be happening quickly enough.

Posted in HTML5  Mobile  Opinion  

The Voices of Reason


 

Michael
August 18, 2014

# re: The broken Promise of the Mobile Web

I'm glad you are trying to push mobile web apps forward, but this all seems to be about money. This dream web app world of yours (which devs would love) seems like it would be a nightmare for the stores. What would prevent people from letting users buy access to their apps outside of a store, or buy some token they can use to active your app, when the app is no longer inside of an app store? I really hope we can one day have apps like you describe though.

Daniel
August 18, 2014

# re: The broken Promise of the Mobile Web

Good points, Rick- I also enjoyed your similar discussion on DNR. There is definitely room for improvement in the areas you suggest. I do think mobile web has "arrived" for a whole class of apps - namely enterprise line-of-business apps. In these forms-on-data type apps, you rarely need things like accelerometer or high-end graphics. Plus, you have a captive audience who can generally "deal" with the odd white screen or one-time install process if it means they can do their work from any device.

I've done several with offline and local storage, bootstrap and angularjs or knockout. I am left scratching my head as to why anybody would write an internal application using a native stack like Windows Forms, WPF, or native iOS/Android. I hadn't noticed the white screen issue until you mentioned it here, but none of my users have noticed either ;)

Public-facing apps- sure- discovery and installation are a pain, as are the nuances around advanced sensors, graphics, etc. And you want the UX to be spotless. In one sense, though, thats "just the web". Some desktop websites are hard to find and suck when you get there. Others are easy to find and work well. Frameworks like Bootstrap and Angular are doing a good job to push things forward, but it would help if device OS and browser manufacturers came together a bit more on this.

Al
August 18, 2014

# re: The broken Promise of the Mobile Web

Great article... It is a shame I can make a great web based mobile app that can do everything it would do if I had the resources to make it native, however so many people will not ever user it b/c it "isn't in the app store".

Rick Strahl
August 18, 2014

# re: The broken Promise of the Mobile Web

@Al - that hits the nail on the head. We can build the necessary UI for building effective mobile applications, but we're stuck because of the lousy device integration.

It wouldn't be difficult for device platform vendors to make Web based applications first class citizens on mobile devices.

But not there yet unfortunately and it's going to be an uphill to overcome the status quo with this not benefiting the mobile platform vendors.

James Monte
August 18, 2014

# re: The broken Promise of the Mobile Web

Excellent article Rick.. I agree with you on everything.. It's driven by money... For the phone vendors: Native App Store = money for phone vendor.. Web App = no money for phone vendor.. Until they can make money from Web Apps, they will be shooting themselves in the foot if they made it possible to build more robust apps with access to the phones functions...

Cory House
August 18, 2014

# re: The broken Promise of the Mobile Web

Superb post Rick. In a world of fast Javascript engines, rich client-side frameworks, and solid network coverage, the list of justifications for building native apps just keeps getting shorter. The technical challenges are minimal and once one platform dives in with rich support, others will likely feel obligated to follow.

This era reminds me a lot of the Flash craze of the late 90s. Once HTML and browsers grew up, Flash's various downsides started to outweigh its benefits. With ES6, and the evergreen browser movement spurring innovation, I see a bright future for mobile Web Apps.

Steve
August 19, 2014

# re: The broken Promise of the Mobile Web

Umm, please tell us what you really think!

Yep, unfortunately too much of the conflict is involves App $tores and turf wars.

I like your point about Windows Phone -- what do that have to lose by tacking a new tack?

However, most non-developer types don't really think about native vs. hybrid vs. an icon pointing to a 'pure' website. Either the app exists in the app store for the platform they are running or it doesn't exist at all. Pinning URLs or getting shortcuts is too messy. So there would be some re-aligning of the consumer mindset required in addition to cleaning up the technology.

It is amazing, with all the resources of both people and money and corporate know-how, that some of these obstacles still exist.

Harvey
August 21, 2014

# re: The broken Promise of the Mobile Web

Sounds like opportunity waiting to happen... take the smartphone desktop icon, why not link to a server that stores your profile and state in each of your web apps? It would add one step by popping up a menu of where you want to go today, not a big price to pay and perhaps there would be other advertising or subscription based benefits. And it would fit into the model you talked about where there might be a clearing house for web apps where user feedback would also be public.

Bill Kambler
September 03, 2014

# re: The broken Promise of the Mobile Web

Man, can I ever relate to this!

We've been building out a complex vertical app using mobile first, with focus on phone and tablet as well as desktop interface components. The UI and core features work great on all platforms supported, but we ran aground on simple integration of media access for pictures and video and struggled for weeks on seemingly trivial issues and creating hacky workarounds with bracketed browser specific code. In the end we broke down and used Cordova to get around this mess to build our iOS implementation and we're in the process of creating the Android version now. Making that move was not trivial from our original Web only app either.

It's so painful to be so close, but yet so far away from an all around solution that just works with Web only functionality.

Thanks for the post, Rick - you put into words some of my own frustration and I feel a little better knowing that it's not just our failures in getting it all done with only Mobile Web.

Aaron Gray
July 28, 2015

# re: The broken Promise of the Mobile Web

Very thoughtful post. Your idea that losing app store sales is likely a primary reason mobile O/S's are not prioritizing making web apps better was quite interesting. :-)
 

West Wind  © Rick Strahl, West Wind Technologies, 2005 - 2017