Meritocracy of Software, An Interesting History

John Morelli, Founder of Sphere 3D
January 14, 2016

The early 1980s saw the boom of the Intel 8086 microchip and the IBM PC. While the Apple II may have been the catalyst for the personal computing industry, the IBM PC with Intel inside was truly the first big hit. IBM built the PC with off-the-shelf components and documented everything religiously while courting Independent Software Vendors to write applications for the PC. The zeal in documentation and IBM’s reputation gave ISVs the confidence to write a myriad of apps that appealed broadly to businesses and consumers.

The industry then began its split into hardware and software. The hardware increasingly became open and dependent upon readily available off the-shelf components. Microsoft arrived with an Operating System (OS) that was flexible enough to tie the different cloned hardware components together (one software OS that worked with hardware from different sets of manufacturers was revolutionary) while presenting an interface to the user that was easy to use. Now ISVs were empowered. They knew that writing for one platform, the Microsoft OS, would allow them to attack the majority of the market. They also knew that the market was fair and meritocratic. Just about everybody saw how Visicalc had been the original killer app, driving sales of Apple II computers. They then watched Visicalc die on the IBM PC platform when Lotus 1-2-3 came out with a better product. They then witnessed Lotus die when Excel emerged.

It was a simple time for ISVs; they could write to one platform. They knew that the Microsoft OS would upgrade as Intel developed its next-generation chips per Moore’s Law. ISVs knew that they’d have about double the processing power every 18 months and could increase the feature set of their software by double in that time period. They knew that the best features won in the marketplace. Computing was done at the PC level (what we call the client) not the server, so architecture decisions were simple. The Mac was a teeny portion of the market so many developers just ignored Apple. Users were happy too. Even though it was hard to learn new features every several years, end users knew that their productivity would eventually benefit and were happy as the version numbers for OSs and apps went up. The world was ruled by a Darwinian yet fair computing god.

The first major change came with the Internet. Developers had realized that the browser was not only a way to deliver static information in a uniform way to end users but also a way to deliver apps to end users. These apps delivered through the browser, or web apps, initially were very simple and might have only a few features of a more powerful app that runs on a Windows device. Perhaps the most notable example of web apps were Google Apps which attempted to replicate many of the features of the Microsoft Office Productivity Suite. The interesting thing about web apps is that except for a few new features such as collaboration, they mostly were copycat software. They replicated some but not all of the features of already existing software.

For example, Google Sheets is a pale imitation of Microsoft Excel differentiated only by a pricing model and an ability to be accessed on any browser regardless of operating system. At the time Sheets was introduced, the use of Excel required the purchase of a Microsoft Windows license and a PC; the Excel license itself could only be purchased as a perpetual license. Now of course, Excel can be purchased in a similar way to Sheets, on a monthly per user basis. The next major change was the emergence of mobile devices. Suddenly end users were no longer tied to their desk or laptop but could use apps while waiting to board a plane or while in the office with a patient or while on the factory floor or a myriad of other use cases. The most innovative of these mobile apps used unique features of the mobile device to deliver services that could not be delivered on a PC. Apps like Uber and Instagram and anything that relies on GPS or a camera or some other hardware feature of the mobile device immediately spring to mind. Several enterprise-level applications, however, were simply a re-formulation of an existing Windows client app stripped down to fit on a mobile device.

The most distressing thing about this feature regression is the money and time lost. In order to deliver an app that was fully featured and well tested in Windows to mobile devices an entire industry had to be created. There are firms that, for a hefty consulting fee, will essentially re-build already existing software apps so that mobile devices can use those apps. In re-building these apps, no new features are added. In fact, most features are removed and only the features that might be most wanted on a mobile device are included. There are software packages that take a mobile app and then recompile it so that it will run on all mobile devices. How much money and engineering time has been spent on re-coding a perfectly fine Windows app to the iPad and the Surface and the Kindle Fire so that files can be shared between all the different devices?

I had developed Glassware 2.0 as a way to free ISVs and developers from these problems. With Glassware 2.0 there's no need to develop a version of an app for Windows 10, another for iOS devices, another for Android devices and yet another version to be delivered via HTML5 in the browser. At the moment developers face a series of tactical decisions:

What percentage of the market for devices do I want to attack?

How many versions of engineering and support staff am I willing to keep? And what do I do about my legacy customers?

If the update schedule for all the different devices and OSs I support are different, how does that impact my app update schedule?

Will a certain device and\or OS survive? And is it even worth my time and money to support that device or OS?

Do I need to get it certified again if it’s used in a regulated market? And do I need to certify every version?

Even the largest ISVs face these problems. For example, AutoCAD did not support Mac versions for almost 20 years and took several years to produce a limited feature iOS version. Google Earth still does not run on Google Chromebooks in any way, shape or form, despite a clamor from educators asking for that functionality.

Glassware 2.0 will fundamentally change how developers look at software going forward. With Glassware 2.0 companies can now create an app with one codebase, using the language or languages that are most comfortable for them. The same codebase can be used to deliver apps to all existing devices and even to devices that do not yet exist. The only item developers will have to change is the User Interface (UI) based upon the form factor.

Twenty years from now, developers will look back on us and wonder how strange and difficult and old fashioned it must have been to create different versions of the same software for a multiplicity of operating systems and hardware. They’ll watch an old movie about tech pioneers (working all through the night, testing different versions of almost the exact same software to see if they’d run the same on different devices), shrug their shoulders and go back to the more logical way, the Glassware 2.0 way of developing software. They’ll have several UIs: one for desktop\laptop (screen + keyboard + mouse), one for tablets (no keyboard, touch interface) and one for phones. The codebase will detect what form factor it is and deliver the features most used by that form factor. So the tablet will have less features and the phone will have even less than that to accommodate the smaller screen. Most importantly though the user will have choice. If the user can’t get to his laptop and absolutely has to use his phone, he can choose to use the full featured app even if it’s too big and clunky to use efficiently on the small screen.

Developers will then be freed to use the time and money saved from creating essentially the exact same software on different platforms to adding new features to their software. We will go back to that simple world that developers had in the heydays of Wintel when the best product could win based on its feature set. Microsoft Office won because it allowed the different productivity apps to work together not because of any sort of monopolistic advantage. You saw several new browsers win and then lose market share. Adobe won in its creative fields. Quickbooks won in personal finance and SME accounting.

Glassware 2.0 will return software to that rough and tumble, but simple age. No need to worry if Apple will yank your app in the App Store. No need to worry if the next version of some OS will delete or keep a key piece of functionality which makes your app work. No need to worry that all plugins like Flash or Java will disappear from modern browsers (believe it or not this is happening). In other words, no need to worry that some big company will capriciously change some aspect of their platform to make your product, your app, your livelihood, obsolete. Now you can go back out there and fight with your features and your ideas and what you bring to the table. It won’t be about integrating with 5 different versions of Android or betting the company on doing the R&D for some new device (iPhone, iPad, Android tablets and phones, Surface, Chromebook). It will be about what products and services do I want to give to the end user and how well do I deliver those. Glassware 2.0 will free software developers and apps to compete on merit again.