DS2011 - 1.0.2

Datenspuren 2011
Cloudy — mit Aussicht auf Datenspuren

Day Samstag - 2011-10-15
Room Kleiner Saal
Start time 11:15
Duration 01:00
ID 4612
Event type Lecture
Track Technik
Language used for presentation English

The Unhosted project

here’s a short description of Unhosted. In the talk we can also focus more on privacy, data security etc.

We distinguish two kinds of online applications: hosted and unhosted. An unhosted web app differs from a hosted web app (a standard website or SaaS app) in where it gets its resources. We distinguish four kinds of resources for an online application:

  • source code (the application itself)
  • processing (CPU cycles)
  • persistent storage (including versioning and provisioning of state-change notifications)
  • presentation (managing both output to and input from user) In a hosted web app, the architecture is client-server. The client takes care of presentation, and the server fulfills the other three roles. In an unhosted web app, the architecture is client / per-app server / per-user storage. The client does presentation and processing, the server does only source code, and the storage node does the persistent storage.

The reason we move the processing to the client is that we want to minimize the strain on the server. This way, apps become more scalable (less additional resources are needed on the central server per added user). By making apps more scalable we hope to give a fairer chance to free software projects, who often have a lot of brains on board to write good code, but not as much money to provide processing power as proprietary competitors. The reason we move the persistent storage away from where the source code is, is that we want to use per-app source code, but per-user storage resources. This has three advantages:

  • it allows the user to have control over their data
  • it makes the web more robust (it largely removes the single point of failures that websites often form)
  • it moves the running costs from the app author to the app user, which makes much more sense, and will benefit free software.