The web is eating software

Web technologies have become the default, and are spreading

photo: KF - few years ago, venture capitalist Marc Andreessen wrote that “software is eating the world”:

Six decades into the computer revolution, four decades since the invention of the microprocessor, and two decades into the rise of the modern Internet, all of the technology required to transform industries through software finally works and can be widely delivered at global scale.

That may be true, but Andreessen seems to have left out some of his earlier, more Web-centric visions (though perhaps he considers them complete).

Software may be eating the world, but the Web has been “eating software” in a similar sense for as long as the Web has been visible.

On the front end, the browser has grown from being a strange dumb terminal of documents and forms to a full partner. The browser not only provides a window into the world of classic websites, but helps us deal with devices that we can reach over a network. Their interfaces may be invisible or basic on the physical device, but offer much more when accessed through a browser. Web apps, though frequently not as capable as their desktop competition, long ago passed the point where their collaborative possibilities were more valuable than the details they lack.

The Chromebook, of course, has taken Andreessen’s “the browser will be the operating system” claim to its logical conclusion, using only a thin layer of Linux underneath web apps, packaged or not, for everything else it does.

The Web is much more than the front end. I keep having conversations with programmers who think it strange that I spend most of my days with Web technologies they curse, notably HTML, CSS, and JavaScript. At the same time, though, when I ask them what applications they’re building, I hear of endless web applications, RESTful APIs, SOA, creative use of URLs to make enterprise systems work more smoothly. We’ve mostly replaced older client-server models with web approaches. WebRTC and WebSockets are starting to expand these options. Even the folks who insist on building native apps for mobile devices frequently rely on these web-based technologies for communications with their servers.

Not everyone is using web tools, of course – there are still plenty of contexts where maximum efficiency and tight bindings are popular. Some programmers still enjoy implementing custom protocols over UDP with C++ code tuned for a particular environment. More and more of those environments, though, connect to something else with web technologies. It may be a private connection, insulated from the public Web, but sooner or later every sufficiently complex application grows a web interface of some kind.

At Fluent last week, we included a hardware showcase. “Web hardware” usually means computers, tablets, and phones, but we had Tessel and BeagleBone there to show how you could connect hardware to the web, using web tools. Yes, even JavaScript, all the way to controlling devices.

So yes, “software is eating the world”, reaching all the way to hardware. Even as software eats, though, the Web is eating right there with it.

tags: , , , , , ,

Get the O’Reilly Programming Newsletter

Weekly insight from industry insiders. Plus exclusive content and offers.