Here I’ll commit the things I know about the tech I’ll looking at for the Web Doc, and the current paths I’m chasing down. This is all just between you and I, here on my developer blog.
Just to give you a flavor of this, here’s a mockup I hacked together in Premier to give you a sense of what it might feel like (minus any significant content).
I learned two new TLAs! An SPA is a Single Page Application, a page that updates it’s content without using a page refresh. Lots of cool stuff is now done this way. Google docs is a super sophisticated version of this. This is what I want to do for the Secret History web doc. I want smooth, seamless transitions between elements without page reloads between. That means we’re going to be asynchronously fetching information and displaying it.
The second is MVC, which stands for Model-View-Controller, the standard architectural model for implementing user interfaces. According to Wikipedia again, “It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.” When we are talking about SPAs, generally current systems use an MVC framework.
I even looked at the possibility of using Wordpress as a CMS to curate, contribute, and edit content that is served to a MVC SPA system running as a separate system. That is still a possibility, I guess. I still have hopes of finding something as easy to author as WordPress, but I probably shouldn’t hold my breath.
I checked in with the developers of Hollow. Here are the technologies they used for this excellent documentary:
- SocketStream is a framework for Realtime Web Apps, pushing data to the browser via WebSockets. It is an ideal server-side framework for building Single Page Applications.
- Redis is a data structure server. It is open-source, networked, in-memory, and stores keys with optional durability.
- MongoDB (from “humongous”) is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster.
- Jade ava Agent DEvelopment Framework, or JADE, is a software for the development of agents, implemented in Java. JADE is a middleware which facilitates the development of multi-agent systems under the standard FIPA for which purpose it creates multiple containers for agents, each of them can run on one or more systems. Is understood that a set of containers constitutes a platform.
- Stylus is a dynamic stylesheet language, its design influenced by Sass and LESS. It’s regarded as the third most used CSS preprocessor syntax.
- Engine.IO is the implementation of transport-based cross-browser/cross-device bi-directional communication layer for Socket.IO.
- AWS and CacheFly for hosting
I’m partial to apache because of its familiarity, but I’m not opposed to node.js. SocketStream looks very promising.
MongoDB makes sense. I don’t understand “noSQL” databases yet, but I understand the need for a data store.
Stylus seems like a crazy but hopelessly optimistic dream.
The other shit I have no idea.
Oh and later, I’ll tell you the sad story of the unicorn.