Who Needs Clients?
I avoid clients on my desktop PC--however, and I don't totally understand this, I search for apps on my mobile device and become disappointed when they don't exist.
There are two kinds of clients. The first one is always right, the second might be totally wrong. The latter refers to locally installed software applications. The model went from clientless mainframes to a more complex client/server to simpler browser-based web pages. The question is, what's next?
The Web model offers numerous benefits including universal access from virtually any endpoint. Plus, HTML5 promises an app-like interface experience. But it appears client/server, fueled by explosive growth in mobile devices, has no prospects of retreating.
There are three broad approaches to delivering mobile applications:
* Mobile Web, aka "Internet-Lite," is largely being rejected.
* Browser apps: No local client, the application runs remotely, with minor exceptions.
* Native Apps: A local client optimized for the specific mobile platform that accesses remote data and services.
The mobile Web optimizes the experience with small screens and expensive data plans. The goal is to send as little information as possible to ensure quick and efficient loads. It's the Jack Webb Internet: Just the facts. It's a content compromise, and with Web-savvy smartphones using wi-fi, 3G, and 4G, there is much less tolerance for compromise.
The native approach offers the potential for a richer experience via integration with device resources such as gyroscope, GPS/location, camera, and NFC (near field communication), as well as platform nuances such as menu navigation or gestures. However, native apps introduce complexity and restrictions. End-users must proactively install apps prior to use. This involves a visit to the platform's store, such as Apple's Appstore or Android's Play store. These stores are miracles of modern software distribution: not only do they provide a search-enhanced selection with reviews, but they also handle distribution, installation, and license management. Unfortunately, they also introduce a third-party layer of rules and restrictions.
The requirement that users pre-install applications doesn't seem to be a big detractor in the mobile world--customers love their platform stores and love installing apps. The platform vendors love them too, as they get to share in the revenue, and each app purchase increases customer loyalty (investment anchor) to a given platform. The stores also provide a competitive barrier to entry. Apple has the leadership spot in applications, then comes Google's Android--Microsoft and RIM offer relatively small libraries.
One of the reasons it is so hard to attract developers to commit to a new platform is because it is not a trivial exercise. Each platform requires different skills, different betas, and different store processes. Each platform has multiple devices and carriers that may require separate testing. Each version also requires ongoing resources for maintenance and platform upgrades.
Despite these issues, native apps are favored on mobile devices. End-users look to the app store before searching the general web to find solutions to given problems. Native apps create a rare opportunity to control and manage interactions, which can be an important part of a go-to-market experience (think Instagram). A well-executed app that receives positive feedback and ratings will rise to the top of a given store category. This provides the developer additional incentive over traditional software distribution methods to create quality content. Some developers also enjoy the fact that apps can access more local information--particularly social apps that find connections in personal contacts.
Is going back to the client/server model really in our best interest? Clients offer a potentially richer experience than the web-based versions, but supposedly HTML5 corrects or at least minimizes this. Does it really make sense for end users to want to be locked into a specific platform, as happens with the client/server model? Do end users benefit when competition faces major barriers? Is it reasonable to expect app developers to increase their costs with the burden of multi-platform support? Mobile devices have created a Bizzaro world of computing!
The web enabled a new era of choice and freedom. Read news here, shop there, search and go anywhere. Apps make no sense conceptually, yet they are winning. For two quarters in a row now, Google reported a decline in cost-per-click advertising revenue--indicative of a migration away from web pages to client apps.
Google co-founder Sergey Brin recently revealed concerns over the openness of the Internet. In a recent Guardian interview, he stated the biggest threats to the Internet include government pressure to control information flow, the entertainment industry's efforts to control piracy, and walled gardens from companies such as Facebook and Apple. A backlash of accusations of hypocrisy resulted in Brin insisting his comments were taken out of context.
Some argue that browser based solutions are no more interoperable than native clients. 4ormat, a small startup, claims it saved $100,000 by not supporting any version of Microsoft's Internet Explorer. Firefox, Google, Apple, and Microsoft are all tweaking their browsers to optimize their corporate strategies.
Personally, I avoid clients on my desktop computer when given the choice. I use as many cloud based services as I can, and that allows me to move between devices without compromise. However, and I don't totally understand this, I search for apps on my mobile device and become disappointed when they don't exist. The fact is, the client/server approach is winning; it's a mystery, but apps are preferred.
Dave Michels is a contributing editor and Independent Analyst at TalkingPointz.com