Tuesday 16 September 2014

Initial Thoughts

Time for a few pictures...
Roughly speaking, the concept separates the act of development into two part, the OS developer and the App developer. The OS developer would provide the services and the stage and the App developer much of the functionality.

OS Diagram
The diagram above highlights what a Web OS may look like. The platform would boot on all devices via the web browser then proceed to load apps based on the users preferences from a store. The Web OS would have a stable API, such that App developers could build reliably for it and it would likely incorporate technologies such as jquery to help with browser abstraction. 

From the perspective of a large company all of these developers may work within the same organisation, but be distributed across multiple continents. This approach allows everybody to work independently on features without impacting each other. Apps can be built to communicate with each other via the Kernel, such that if one is not installed, the platform is tolerant and does not fail. It also does away with large build processes as the Web OS does not need to be aware of the Apps at build time. Everything is only available at runtime. 

Home Screen App Full Screen
Visually ( and taking a slightly Windows Phone view ) the Web OS would run something like this. The actual Web OS would be mostly invisible, providing limited UI features such as basic navigation ( think opening an App and closing an App ). The App would open full screen and would provide its own navigation inside, such as back, forward etc.

Whilst mulling this over some interesting enhancements to the original concept are Web Workers, where the App runs in a thread and therefore has no access to the Web OS memory or the DOM. This provides massive security benefits and performance benefits ( in that sloppy App programming would not hang whole thing and the Web OS can do some basic managing of Apps ). This does create a headache for creating a nice API for the App developer, so that working with the DOM is not cumbersome.

No comments:

Post a Comment