Why Hyperdeck?

The question motivating the development of Hyperdeck is: why isn’t the web the default medium of technical communication? Why are professional documents still done in Word, Powerpoint, or LaTeX? Certainly those programs have a strong legacy position, and LaTeX at least has a certain elegance to it. However, those technologies were developed in the 70s and 80s, when the world was very different. I think we can do better.

The idea behind Hyperdeck is that the browser platform is the correct replacement for the office suite. Note what I’m saying: not a particular web app, but the web platform as a whole. The browser contains all you need in a document platform: a built-in programming language with a vast ecosystem, several different display systems, sandboxing, and linking.

However, there are a number of barriers that prevent people from using the web for documents. One is development and hosting – sure, static hosting is pretty easy if all you need to do is share documents, but if you want people to be able to edit and save, you have to build a full-fledged application. Making editable documents needs to be as easy as opening Excel, if large numbers of people are to use the web as a document platform. Second is that the web isn’t too interested in data. If you want to deal with data in the browser, you have to do everything yourself, pulling in libraries and writing the code to herd the data as needed. Third, HTML, as great and revolutionary as it is, committed the cardinal sin of software: it broke backwards compatibility, specifically, compatibility with paper. People in 1991 needed to print documents, and people in 2016 still need to print documents. And the need for precise control over the design and layout of a document isn’t going away – no matter what happens to paper, PDF will be with us for a long time.

Hyperdeck provides solutions to the first two problems and is working on the third. We enable sharing editable documents by hosting all the documents on our platform. Obviously there are issues with centralization, but it solves the immediate problem pretty well. We make data a first-class citizen of web documents, with built-in facilites for data munging. We do not yet support PDF export, but we’re working on it.

Of course you might say, web documents are a solved problem – Google already has Google Docs – how is this different? The problem with Google Docs (and, more plainly, with Office 365) is that it’s basically Microsoft Office ported to the web – the same interface, but built in HTML/CSS/JS instead. I consider this a cargo cult solution. The web platform is very different than the desktop world that the office suite was designed for, way back in the 80s. It stands to reason that a document suite built on the new platform should have a very different design.

There are a couple of specific deficiencies with the existing design of the office suite that I’d like to highlight. First of all, why are spreadsheets, word processors, and presentation editors different apps? Mostly just path dependence – they started as different apps back in the 70s and 80s, and have stayed that way. Certainly Microsoft has made valiant attempts at getting their office apps to play nicely with each other, but ultimately they’re fighting against fundamental elements of the design. The same is true for scriptability. Visual Basic for Applications was not part of the original Excel – it was added as a sort of separate module later on. It works! The world still runs on Excel/VBA (/.NET, whose separateness is even more pronounced). But VBA is a language of the 80s that is showing its age, and again, getting Excel and VBA to play well together requires fighting the inherent separateness of the apps. Finally there’s the add-on ecosystem – Microsoft Office and Google Docs both have add-on systems, but ultimately extensibility is a problem that is most elegantly solved by the web – script tags that pull in Javascript libraries from any URL. There is a javascript library available on the web for almost anything you can imagine, installable with a simple link.

Hyperdeck seeks to unify the office triad on a platform that has scriptability and extensibility built-in. Does it require reinventing the wheel? A little bit. But I see this as reinventing the wheel for paved roads instead of dirt roads. The world has changed. Your office software should change with it.

Intrigued? Try our tutorial here: https://www.hyperdeck.io/f/11/tutorial.