Application development

I just want to dump some ideas about application development here. If anyone has thoughts on this topic, please don’t be shy!

The way content is (currently) delivered to Outernet receivers is as simple zip files that contains everything that’s related to a certain piece of content. It must have an index.html file and a metadata file called info.json which contains some data that the receiver can use to identify and archive the content. Other than those two files, the file/directory structure within the zip archive is completely arbitrary so, naturally, it is possible to include JavaScript code, stylesheets, images, and other assets that normally makes up a rich-client web application. So, for simple applications, packaging up a zip file with correct metadata is all you need (generally speaking).

However, this doesn’t really provide a good environment for creating applications that need to persist data (we cannot just assume every browser has HTML5 support and some may even be ancient), or need to access the content library itself. Therefore, I’m contemplating a server API that would allow JavaScript applications to communicate with the archive manager and obtain a database table to store some data, as well as get read-only access to content archive.

Since this is still just an idea, I welcome any and all suggestions about how this should work. App ideas with detailed description of how they work are also welcome so I can have an overview of what requirements apps may have.

There’s also the issue of publishing and delivering the apps. We need to have some kind of review process so that we only ship apps that actually work, and are safe for the end user. I welcome comments on that as well. My initial thought is to have some system of peer-approval and then final review by staff before application is broadcast.