Dan Bricklin's Web Site: www.bricklin.com
How HTML wins
HTML became the dominant way to deliver applications to the desktop. What is needed for that to happen in the mobile world? Looking at history, I believe that it will be the availability of easy to use authoring.
In this essay I look at the history that led to HTML's dominance and try to learn from that.
In the mid-1990's, Microsoft Windows was king of computing. Windows 95 came out to great hoopla in August 1995. C++ was big for development, with the MFC framework a big help for developing native applications. Visual Basic was well established for creating apps, too. PowerSoft's PowerBuilder development environment for business applications that could do database create, read, update, and delete operations ("CRUD" operations) was sold to Sybase for nearly $1B in 1995. AOL was mailing (physical mail) millions of floppies and CDs to everybody with its online access program ready to install. Traditionally programmed applications were dominant.
At this point, extremely rich applications could be written in C++, Visual Basic, or any of many programming systems. HTML was very lean, with very basic data display and entry. It was clear which was better. (To see how primitive HTML and browsing was around then, see "Video of Bob Frankston's tour of the WWW in 1994".)
Online commerce in a browser in 1994 (from the video)
However, a strange thing happened. HTML kept getting better, though always behind when compared to what you could do natively. But it also became more and more popular. More and people wrote in it.
HTML was a very simple language. It could be mastered by people who were not good programmers -- or even programmers at all. You could make something that looked "OK" pretty quickly. Using a web server for distribution, you could provide any number of applications to others without installation if they already had a browser.
The change that made HTML take off: Easy authoring
And then another thing happened. WYSIWYG editors for creating HTML came out. Microsoft Word had a free add-in, from Microsoft, that could turn Word documents into an HTML facsimile. FrontPage was launched by Vermeer Technologies in 1995 and acquired by Microsoft in 1996. It and other authoring systems make it even easier to create and maintain HTML pages with all the trimmings, including some server-side support.
Simple programming systems, like those using the Perl language for CGI with a server, with their ability to do database "CRUD" operations, together with these authoring systems made it quite easy to build business applications around HTML.
The entrance of Allaire's ColdFusion database-driven content server in 1995 made it even easier and fueled further moves to HTML-based business applications. If you could write HTML you could probably learn the little more it took to use ColdFusion.
There are two things about HTML that I want to point out:
First, compared to other forms of "programming", HTML is easier to learn and use for many people. Application development can be more efficient compared to native code. This is especially true for custom applications that are very niche oriented and which don't warrant the time and effort needed by the traditional programming methods.
Second, HTML is relatively standard, and works on a wide variety of target devices. PC, Mac, Unix, and Linux could all read the same web pages and access the same applications. "Write Once, Run Everywhere" was pretty much true. Nothing stopped an existing or a new platform from supporting HTML browsing and every one did.
While being open on the client side was a key attribute of HTML and its success, being open on the authoring or serving side was not a requirement (most authoring tools during this phase were proprietary software, and many serving systems were also at least partially proprietary).
The mobile era
Right now, it seems that most apps are native, and not accessed through a browser. Part of the reason for this is that the browser itself gets in the way, both because of the "chrome" around the content area and because of the scrolling and page navigation behavior that can conflict with an app's UI. However, if you access HTML with something other than the built-in browsers, such as a "wrapper" app that just includes a Web View of some sort (UIWebView in iOS, WebView in Android), then those problems go away. In fact, quite a few of the apps in the Apple App Store, and on other platforms, are in large part built that way with either static HTML content included in the app, web-format data retrieved while running from the Internet, or both.
Other than HTML5, I don't see any other set of open technologies that will let this happen. As before, you need open technologies for the execution on the device (like HTML was on the desktop) and a mixture of open and proprietary authoring systems and serving technology for the provider of the apps.
Is this really a common scenario, where "quick and easy for the masses" leads to adoption, or is it only for the desktop web?
For example, in the early 1950's programming computers was done in machine code or very early assemblers. Only very specially trained people with the appropriate aptitude could write those programs. Along came FORTRAN (from the words "Formula Translation") that converted a more math-oriented "language" into instructions the computer could execute. Suddenly, large numbers of scientists, mathematicians, and economists could make use of computers. Starting in the early 1960's, COBOL (the "Common Business-Oriented Language") empowered people who could apply computers to business tasks. While these were statement-oriented languages, they were much more approachable than machine code and were aimed at a particular segment of users. They often also let you solve the problem on one system and move that solution to other computers without rewriting. Even the "C" language appealed more to system programmers than the assembly languages used before. The BASIC language (developed at Dartmouth College) was made very simple, interactive, and forgiving and appealed to less technical people and opened up computing to others (the "B" stands for "beginner's").
In the PC era, electronic spreadsheets opened up computing to the masses of business people who otherwise would have been stopped by the difficulty and tediousness of programming in even the simple BASIC language. Word processing was so much easier than the mark-up languages used in computerized typesetting and such before and opened up that use of computing. Code-less or code-optional systems like Filemaker, Alpha Four, and later Microsoft Access opened up database systems on PCs to hundreds of thousands or millions of people who were unable to write programs in Basic, DBase, or other more complex systems.
So, this situation of authoring systems that cater to the needs of "domain experts" rather professional programmers leading to large increases in custom computer applications is the common case, not the special case. (A "domain expert" is a person who wants to know how to solve problems in a particular problem domain as opposed to the "professional programmer" who identifies more with learning computer languages and other computer technologies.)
What does this mean for Apple?
At this point, the largest number of mobile apps are written in Objective-C for Apple's iOS. The availability of all of these device-specific apps is felt to be of particular benefit to Apple and a problem for competitors. How would the rise of HTML-based mobile apps affect Apple?
The availability of many new apps made possible by more widespread authoring will only increase the value of iOS devices. It will spur their use which will continue fueling the purchases. Apple has always competed well on their hardware and other aspects of product.
In addition, compatibility is a two-way street. HTML-based apps that a company makes for its own internal use that run on devices from other manufacturers, perhaps less expensive or more rugged than Apple's, will still be able to run on Apple devices, and make the Apple devices more likely to be included in "approved" lists.
So, I don't see success of HTML on mobile devices as being a major problem for Apple. There will always be a large number of developers who will develop specifically for Apple's platform. Apple's operating systems have been very enticing for developers that are able to code specifically for them, and from what they are showing publicly of iOS 7, there is no indication that that is abating. However, the unscheduled expense of needing to retool native code Objective-C apps for iOS 7 is probably making many companies look more closely at HTML-based development.
-Dan Bricklin, 1 July 2013
© Copyright 1999-2017 by Daniel Bricklin
All Rights Reserved.