Blog

Websites and Apps – The URL way forward

Feb 04 2017

With Google’s recent announcement of Progressive Web Apps I thought it would be a good time to weigh in on this new paradigm. But more importantly, I want to take a moment and make the case for their other effort, Instant Apps. Both technologies attempt to advance a better user experience, but only one advances a superior technology stack. Let me explain what I mean.

Google’s Progressive Web Apps attempts to package a website as an app, retaining the web stack including html, css, and JavaScript, while enhancing the user experience with an app’s more performant experience by taking advantage of functions called “service workers”. In theory this means that you get the best of both worlds; A website with its ubiquitous presence and an app with it’s much better performance moving from page to page.

Unfortunately, I would argue that instead of getting the best of both worlds you are instead getting the worst of both. Firstly, both the developer and user are impeded by the web technology stack’s inferior user experience and customization options compared to that of native application development using modern programming languages like C# and Swift, and platforms such as UWP and Xamarin Forms. The web’s ecosystem simply lacks the ability to be performant. In fact, I would go much further and argue that the web is a 20th century technology and should be depreciated in favor of cross-platform apps.

Secondly, because you are retaining the underlying web stack you are either retaining the complex and convoluted UI which most websites have, or you are redesigning a web UI to mimic a mobile experience. Either way, why retain or mimic when you substitute both with a native UI? The only reason which I can think of which merit’s any real consideration is to leverage existing developer web skills, instead of forcing them to learn and adopt device platform or cross platform technology stacks. In the long run, supporting a legacy technology like 3.5mm audio jack ports or web technologies can only last so long.

Now, let’s consider the possibilities with Google’s more enticing effort, Instant Apps, and make the case why Apple and Microsoft store’s should be barreling down this path, or URL, posthaste. In this paradigm, you do in fact get the best of both worlds.

First, with an Instant App, the app acquires that most useful of properties, an address, which every user of the internet has instant access to from a broad array of browsers and apps like Cortana. The importance of incorporating the URL into the app space cannot be over emphasized. While most apps have a website, that URL is an intermediary, here we are talking about having a URL which launches the app directly.

Second, because you are bypassing the store’s own UI and installing the app directly from the URL, you eliminate another step which today a user must wade through to get to the developer’s content. This is much closer to the web experience, where, when you click on a website link you are taken directly to a home or landing page. The store is fine as a frontend catalog and behind-the-scenes agent, but it needn’t be a meddling broker standing between the user and their experience.

Third, you are enabling the developer to utilize cross platform tools such as Xamarin Forms to design native UI’s for each and every platform which they elect to support, including mobile iOS, Android, UWP Phone, UWP Desktop, Xbox, HoloLens, MacBook, tablets, TV’s, watches, and more. Because native device technologies take advantage of local storage capabilities and are by their nature optimized for their platform, you significantly enhance the user’s experience over slow page-turning and wacky DHTML websites. Gone are the days when we would sit around marveling at creative JavaScript scripts dancing around the page.   

Imagine for a moment if you were forced to use Outlook.com or Gmail for your work email program instead of Outlook? Both Outlook.com and Gmail are great for performing the core functionality of sending an email, but as we all know, Outlook is so much more than that. For many of us, it is the only tool besides Visual Studio which we must have. You simply could not, cannot, nor will you ever be able to replicate the performant nature of those application on the web.

Ergo, most, and perhaps all web experiences can be enhanced by a device’s native experience, but the reverse is not true, nor will it ever be true –at least not in the next decade or two.

I would like to make a couple more points regarding any future adoption of the Instant App architype by Microsoft and Apple. When an app launches directly from a URL it should launch in two stages, with the first being an enhanced splash or landing page with limited size and functionality restrictions imposed by the platform’s store, with the rest of the app loading in the background. These enhanced splash pages could serve as single page login and or welcome pages, or even as navigation or static content pages. The key is to make sure that you are measuring the app’s initial launch time in milliseconds and not seconds.

Another important advantage which websites have over apps which all operating systems need to incorporate into their development toolboxes, is navigation. All websites are encapsulated in a browser shell, and all browsers excel at navigating from one URL to another. App developers should be encouraged to incorporate native platform search navigation into their UI. On a Windows based device this would mean incorporating a Cortana modal or popup into most app’s navigation structure, which will enable the user to navigate between apps as fast and conveniently as a browser moves between websites. That of course means that Cortana would need to be optimized to act like a browser’s history cache, bookmarks, and search engine while in this app mode.

The company which first cracks this cross-platform instant url app paradigm stands to gain a significant head start in the race to win over refuge developers and users from the now crumbling state of the antiquated web.

I'm a C# application developer focused on cross platform mobile apps using the Xamarin solution.

Prior to teaching myself to code, I worked in the IT field as a small business owner, IT Systems Administrator, and website designer.

Resources

P.O. Box 1976, Myrtle Creek, OR 97457   ♦   (541) 375-0880      ♦   mgarcia@lacodiatech.com