More is less
I often complain that a modern phone barely fits into my pocket. Then I remind myself that if it wasn’t for the phone, I’d be carrying around with me a watch, a calendar, a notebook and a pen, a dictionary, a calculator, a photo camera, a music player, a book, a road atlas, yellow pages…, and the list goes on. The mobile phone has become a versatile tool in our lives, replacing various devices and multiple objects. It's a small apparatus successfully performing assorted tasks.
Ironically, while the physical world has consolidated many functions into a single device, the virtual world still fails to do so. Similarly to how we used to have separate gadgets before, we keep using separate applications for each activity. For instance, I use a calendar app to set a reminder for making a call. Then I go to a separate calling app to dial and speak.
There are different approaches to solving the problem. Some apps are being built specifically to address a narrow use case variant. Others strive to support all possible permutations, often resulting in a frankensteinian combination of features that is hard to navigate. And so developers keep building more and more apps to deal with the overwhelming abundance of already existing apps, instead of exploring alternative approaches.
XenonJs offers a novel approach. We think that an “application” is simply not the right level of granularity. With XenonJs we support flexible levels of scoping: each individual “feature” - small or big - is a composable unit, and a collection of the composable units is a composable unit in its turn. All such units are collaborative and interoperable, transforming the current space of walled silos into a naturally evolving software universe that adapts to each person’s momentary needs and adopts new technological capabilities as they become available.