NeXT’s Vision: Developing Applications on the 10th Floor
Old keynotes from NeXT Computer have a compelling, peculiar focus on developer enablement. In the late 80s and early 90s, the company was targeting the higher education and enterprise markets - and banking on a newfangled wave of programming paradigms. After stumbling across a few keynotes on YouTube, it was interesting to delve a bit deeper into the pitch that was being made at the time.
By the late 80s, Apple and IBM had brought computing out of the realm of hobbyists and onto the desks of corporations around the world. Workplaces were beginning to rely on VisiCalc, desktop publishing software, and other early cornerstones of enterprise software. Myriad workflows that once involved manual record keeping, or pen-and-paper tabulation, were rapidly being ported into the digital realm.
As the revolution advanced, and graphical interfaces began to take center stage, the growing sentiment was that the skill floor was rising on application developers. These new PC platforms had introduces significant complexity along with their new functionality, requiring development teams to contend with a larger amount of system-specific “plumbing” in order to produce compelling programs. Moreover, implementing the same program across multiple operating systems had become more complex - given the increasing sophistication of the OS layer. “The software developer paid the price for the Mac revolution”, Steve Jobs quipped during the 1988 NeXT debut.
NeXT was betting that it could break this fever. Starting with a UNIX foundation, the company’s goal was to create the best experience for developers that were building applications for the high-end “workstation” portion of the PC market. Target customers included research universities and very large enterprises that were demanding cutting edge graphics and computing power. NeXT’s conviction was, through the then-new paradigm of “object-oriented programming”, they could provide the best-in-class experience for software developers catering to these high-end customers. Drawing heavy inspiration from Xerox PARC’s Smalltalk initiative, Bud Tribble’s team at NeXT leveraged a new object-oriented variant of the C programming language, “Objective-C”, within the NeXTSTEP operating system.
Tribble’s team produced a handful of comprehensive frameworks written in Objective-C (e.g., AppKit, Interface Builder), which were aimed at courting developers to the NeXT ecosystem. The pitch was simple: you’ll spend far less time developing applications if you leverage these frameworks, and you’ll end up with applications that are much richer than what you could’ve developed yourself. Scientists from top universities were brought on stage to discuss how they planned to use NeXTSTEP to build the next generation of genomics software; major corporations shared visions on the next generation of worker productivity. “It’s like starting on the tenth floor as a software developer, versus starting by yourself on the first floor” Jobs would say, on several occasions.
Lotus and other software shops were brought on stage at NeXT events, heralding that the company’s object-oriented libraries made it “the best development environment in the world, full stop”. For many years, NeXT kept this enablement narrative at the center of its marketing: gone would be the days of repeating large swaths of code pertaining pertaining to things like interface design, cross-application communication, and database connectivity. As the early 90s unfolded, NeXTSTEP began offering object-oriented libraries for leveraging the newfangled internet, claiming that it shouldn’t be the developer’s responsibility to rebuild common primitives around networking, security, and file sharing.
While NeXT wouldn’t become the company that ultimately delivered object-oriented development to the masses, its foundations live on in iOS and macOS. Entire posts could be written about the legacy of NeXT-pioneered technologies like Display Postscript, the object-oriented travails that interlink with the heyday of C++ and Java, and the broader evolution of client-server architectures. But, taking a step back: I think that the siren call that NeXT put out for developers, strangely enough, is something that endures. The world needs sophisticated domain-specific applications more than ever.
Today, much of the enterprise market is fixated on “cloud-first” operating models, and new methods of divining information out of vast pools of raw data. There is fervent excitement around services that help integrate the massive silos of enterprise data, and services that promise to unlock the power of machine learning. But the need for custom applications (akin to those that NeXT hoped to underpin) hasn’t gone away. If anything, the explosion in the variety of viable data sources, along with the sheer amount of discrete capabilities available in the cloud, has meant that the need for robust software primitives is once again front and center. A quick tour around the typical enterprise today will reveal that, despite the deluge of data, most people are still wedging most of their digital workflows through Excel.
Organizations today are being sold data lakes, API catalogs, pipelining tools, et al; the plumbing that is indeed necessary for pushing forward an increasingly heterogeneous mix of cloud services and vendors. But isn’t that all just table stakes? Among the sea of new cloud technologies, where is the “tenth floor” boost for developers who are building new tools for users throughout businesses and research labs? What’s the technical (or usability) lever that will unlock the next generation of worker augmentation, that pushes us beyond the realm of semi-static dashboards and reports?
It’s still early days - but I’d love to see a revivified version of NeXT’s vision, championed within the current landscape.
Thanks for reading; you can check out my Twitter here