The site originally used Drupal as the CMS engine and initially we leveraged the Drupal Web Services module to support the front end app. It worked very well and within a few months we had a working proof of concept app running on iPads, Android tablets and in the Chrome browser on Windows, Mac and Linux. Once all of the administration functionality was added essentially no one was using the web site front end.
It really made me start thinking about the future of web sites in general. No, I am not predicting web sites are going away, at least not all of them. But, I’m starting to think we are likely to see a bifurcation of web sites. The ones publically ‘on the net’ are likely to be more informational, marketing, lead generation, presales and sales type sites. The ‘delivery’ is much more likely to be with apps on the front end and restful web services on the backend. Once they have transitioned from a visitor to a consumer of your web application there is more benefit to both sides when using an app as the front end.
This summer I rewrote the front end app using Intel’s XDK using CakePhp as the backend instead of Drupal. Right now I have a bridge keeping the content in synch because the new apps are working their way through the approval process with Apple, Google and Microsoft. But, once they are approved and in the app stores, the Drupal backend will be switched off. While anyone will be able to download the apps for free from the app stores, they will still need a referral code from a current member to join and there are yearly dues they need to pay.
I believe this model will start to gain traction as more and more people transition to smartphones and tablets as their primary computing device. The availability of tools like Intel’s XDK make writing and maintaining cross platform apps far easier than ever before and using the local computing resources for some tasks gives the users a better overall experience.
Think about how you use the web now. I doubt you ‘surf the web’ unless you are doing research or trying to find something specific. You most likely have a core set of sites you visit regularly. You may subscribe to them using RSS or in many cases they may already have an app for your phone or tablet you use. This is certainly the case from my own experience.
On the other side of the equation, using an app for the front end gives the content provider much more control and improves security. Both are critical as more and more is pushed to the cloud.
This will lead to a better user experience because the provider does not have to be concerned with any least common denominator issues. Browser compatibility is the number one support problem for web applications. Things look and behave differently from one vendor’s browser to the next and even more troubling from one version of a vendor’s browser to the next. The developer is often forced to use one or more hacks to make sure everything looks and works as expected.
Will this lead to a further stratification of the internet? Absolutely. But, that is not a bad thing for the user nor the provider. There is a great deal of noise on the internet. It is easy for malware to be installed changing the user’s experience in the browser. Ads can be replaced with hijacked versions or blocked altogether. Worst of all, they can be inserted by malware when the user nor the provider ever intended or expected them. It is likely this model will become the default of anything not intended for anonymous viewing. Buy a new product and you will be encouraged to download and install an app on your smartphone, tablet or laptop to get support for it rather than using a web site. User acceptance of this model is already underway. It is only a matter of time until support web sites start to be either turned off or offer only reduced functionality.
In the business to business world this is happening at a faster pace. At a previous employer we used a cloud based project management application. The biggest problem was it lacked some functionality that would have been easy to implement using front end apps and would have significantly improved our efficiency as program managers. But, since it was only browser based these features were not there. Because of that we were forced to use other tools and often had to maintain information in multiple places to work around the limitations.
Another important consideration is the use of apps in this way means true zero-knowledge encryption strategies can be employed and honestly that is one of the primary motivations for we had in our original discussions on our collaboration site. As of mid-2012 all of the content on the servers was encrypted. The encryption and decryption take place only in the apps. This means there is no way for anyone to get anything useful even if they were able to hack into the back end. It also means we will never have to deal with any FISA issues. The data on the server is useless without the app and the decryption keys generated there.
I find myself recommending an app over a web application more and more. I can’t imagine I am alone in this position.