Typical, you wait years for a web-based operating system and 3 come along at once. Which begs the question of course – Is webinos Yet Another Web-based Operating System (a YANWOS!).
The simple answer is no. Not that there’ anything wrong with Web-based Operating Systems (WOS’s ?) quite the contrary. Web-based operating systems we are confident are the future. It’s just important to understand webinos is something different, a complement perhaps to some of the other exciting innovations in this space.
So to clear up some confusions let’s step through, point by point, on how webinos differs from these broader web based operating systems
1 – It’s not an Operating System
Let’ start with the basics: it’s simply not an operating system.
An Operating System is a computer program that manages the resources of a computer. It accepts keyboard or mouse inputs from users and displays the results of the actions and allows the user to run applications, or communicate with other computers via networked connections.
Webinos does the second bit (allows the user to run applications, or communicate with other computers via networked connections.). But not the first bit(manages the resources of a computer. It accepts keyboard or mouse inputs from users and displays the results of the actions) . You might call it a virtual operating system or an application execution environment. But it would be incorrect to call it an operating system. It is working at a higher level of abstraction
There is a very good reason for this: we want webinos to be ubiquitous. The value of webinos comes to the fore when it’s on every device. And we are not going to get on every device/operating system if set yourself up on competition with other operating systems.
This schematic should reinforce the point.
The rows represent application technologies, technologies that a third party application developer must design for and technology which must be there in order for the applications to run. The columns represent underlying operating system, kernels, schedulers, hardware abstraction layers etc.
What you will notice is that our first four rows have only one green cell. Tizen (the development environment), only works on Tizen (the Operating System). FirefoxOS (the development environment) only works on FirefoxOS (the Operating System). For these four platforms, the App developer experience and the Operating System platform are the same thing: which means of course they are mutually exclusive options
Out next three examples are each different. They are all essentially “virtual layers” – virtual abstractions of the underlying hardware (not concrete abstractions) which means they can work on many platforms. It is worth looking at each of these a little closer
- Chrome Browser: Chrome is double-counted here. Chrome the browser and Chrome the Operating System. Arguably if you collapsed them together you would get more green cells, but it’s important to drive the distinction home. The Chrome browser is a HTML5 execution environment where the core development language (like all WOS’s) is a subset of the HMTL5 technologies, but importantly supplemented with extra APIs for deeper integration, a security layer, and a packaging mechanism for applications. But if you have a version of the Chrome Browser on the lower level OS (e.g. Windows, Mac) then your apps will work
- WAC is different again. It is primarily a specification not an implementation. It is has some preferred implementations but not a mandatory one. It therefore has the benefit that it can theoretically run on many platforms. Known implementations however only exist for Android, therefore that is the only cell that is green. Other cells where there is theoretical compatibility are coloured Amber
- Finally webinos. So obviously we have slightly biased perspective, but it is an objective fact that the current Open Source code base, is interoperable with all of the Operating Systems highlighted green in the matrix. iOS as always is the special case: porting a full virtual runtime is explicitly prohibited in the terms and conditions. However, within webinos we do have a version of the runtime that works on rooted iPads and iPhones (as a research project). In addition we are investigating, refactoring core webinos functionality into libraries. For iOS this would mean providing standalone client and server webinos libraries that can be statically bound to individual applications, following the same deployment model as PhoneGap
To summarise: webinos is a virtual layer not a deep OS. It is designed to sit on ANY (ALL?) operating systems, and provide that essential glue that
- Allows the web-based application to work on all devices
- Allows the web-based application to talk to each other
It has far more in common with Java than it does with a Linux based OS. Indeed there is an emerging notion that Node.js (on which the webinos implementation is based) fills a natural vacuum left by the Java on devices. As a lightweight vehicle for writing platform portable programming logic and applications, it is proving remarkably effective.
This distinction is important primarily in recognition of the current market penetration of the existing OSs and therefore the market uptake challenge that pure new OSs face. Taking figures from http://www.engadget.com/2012/05/24/idc-q1-2012-world-smartphone-share, this challenge is significant
Embedded Server Technology
The second way webinos differs from other technologies is touched in point (b) from above
How does it do this? For full details on this you’re better of reading the webinos white paper, or the primary webinos specifications. But putting it as simply as possible: webinos serves capability to remote devices by hosing a local embedded server on device
The core principles are not dissimilar to the now defunct Nokia Mobile Web Server. http://betalabs.nokia.com/trials/mobile-web-server . Importantly, however, webinos introduces some vital innovation to address the security, interoperability and network efficiency issues that face basic embedded RESTful servers. Again you are better served referring to the technical documents for full details, but the summary is
- Use of co-ordinated, standardised certificate distribution mechanism for anchoring user and device identity
- Use of Mutually Authenticated TLS to ensure communications are both symmetric, secure and lightweight
- Use of multiplexing of JSON-RPC and other network traffic to make over the air connection more efficient
- Use of the widget defined feature-URI schema for a lightweight capability query and capability invocation mechanism
The result is a flexible web based architecture that starts to blur the traditional distinctions between a web-server and web-browser.
Webinos has published previously on this issue, but its and important one that again distinguishes it against the other web based app frameworks.
Most of these other web app frameworks are also open source but as our early reports on IPR and Governance models http://www.webinos.org/blog/2011/11/02/webinos-report-target-platforms-target-requirements-and-platform-iprs/ show, which has been expanded and improved in the excellent VisionMobile report on Open Governance http://www.visionmobile.com/product/open-governance-index/ :
Open Source does not mean Open
The presupposition is that an open source project can only be truly successful if there is fair and equal representation across the ecosystem. Any open source project that does not abide these principles and is dominate by one or more strong industry players, will inevitably create a reaction from its competitors. This reaction will always take the shape of a competing and fragmenting alternative project.
What this means on a day to day basis is a constantly evolving (and hopefully improving) but for now this means: anyone can join webinos and there is no charge. All opinions are taken on board at face value on meritocratic principles.
I think it is important to say that of all the other listed Web app dev environments: Mozilla can also reasonably claim this position. So webinos is not entirely unique in this sense.
Open Ecosystem – No tied AppStore
It may be too early to call the outcome on this one, but in doing cross OS analysis it is important that we comment on the trend for all new Operating Systems to have singular and embedded application stores. Apple, RIM, Android and Microsoft are all guilty of this to a greater or lesser extent. The business of operating systems seems to have turned into the game of establishing a monopoly on application distribution.
This is not the ethos of the web. And is it not something a web-based operating system should do. But the trends are disconcerting:
- Chrome is bound to Chrome web store
- FirefoxOS presumably will feature the Mozilla Market place prominently
- Tizen: too early to say
- The late webOS was bound to the HP App Catalog
- WAC is bound to warehouse, but not an appstore
The webinos vision is always that OS/App Environment and AppStore should be loosely coupled and democratic in their bindings. Where preferences in supply, where they exist, should be determined by consumer preference, not software and hardware suppliers. This is what creates truly powerful ecosystems.
You know: the same way the Internet works!
Compatible on top, not Competitive against
Hopefully, this brief post will help clear up some common misunderstandings in webinos positioning and positioning of web based operating systems in general.
Our primary focus is getting different devices working with each other using innovative web based primitives. The technology is entirely compatible with Tizen, Firefox, WAC and Chrome, and indeed we starting to look at porting projects to put our node.js based architecture on these platforms Any parties interested in helping please get in touch with firstname.lastname@example.org
Essentially we are a layer on top, not competition with these other worthy projects.