Nebula: Simple & Flexible Apps with (msl) Data
December 16, 2019
December 16, 2019
Improving the user experience with software in the ways described in the Mimix whitepaper demands new thinking about how we present and deploy applications to users. Today, I’m excited to announce our Nebula system which greatly simplifies these tasks for anyone using or developing Mimix applications.
In Mimix, a user’s reading and writing are recorded in a series of (msl) language expressions called streams. Like word processing documents, streams may be located on a user’s own computer or on a remote host. But streams are not documents. Thanks to their (msl) nature, they contain a great deal of intelligent information about the facts inside documents and how they came together. This information can be used to present unique user interfaces that benefit each type of stream. We call these unique interfaces worlds.
Each world controls not only what streams it offers but also how they appear to the user. A medical world, for example, has a user interface tailored to doctors and medical staff. It uses their terminology and offers specific features for working with medical streams. An oil exploration world would have entirely different streams, navigation, user interface buttons, etc. A button to “Compare Rx” prescriptions would be very useful in a medical world but is useless in an oil world, even though both worlds display (msl) streams.
Many organizations using Mimix will want help with customizing the body of document streams and the interface world for their users. These kinds of changes are difficult to implement with today’s office tools. Every kind of office sees the same interface for Microsoft Word, Excel, and PDFs, even though many offices could benefit from customization if it were simple.
Not all of the desired customizations are as dramatic as the medical vs. oil example. Some customers just want unique navigation or security over a set of standard office documents. Many Mimix customers will also want to offload the job of hosting their worlds and streams to a cloud solution from The Mimix Company.
Nebula was designed to deliver and host these customized worlds, but its modular design also lets the Company offer a suite of valuable free resources which simplify the user on-ramp and encourage exploration and experimentation.
How It Works
Nebula is a way to a deliver (msl) streams from many worlds, each with their own set of rules and user interfaces. It does this with a single application which runs identically on Windows, Mac, and Linux. More than a cloud service, Nebula works both offline and online to provide automatic connections to a variety of worlds and their streams without the need for complex configurations, accounts, or profiles.
Nebula is user-centered and privacy-focused. Unlike web-based applications, control is centered in the open source Nebula app which resides on your physical machine. You decide which worlds you’ll explore with Nebula. Your Local World includes administration tools to see and manage all the streams and worlds available to your machine. Connections between worlds are made on your machine, not between remote worlds themselves. Likewise, (msl) processing is done on your machine by a built-in stream engine. This simplifies administration for world owners and allows greater freedom for users in how they work with all the streams to which they have access.
Along with the hybrid database and (msl) itself, Nebula is a key development that makes it easier to develop, deploy, and support our products. Its free and extensible design encourages others to adopt the system, driving demand for the Company’s expertise and paid services.
A Nebula app is a self-contained system which includes several key components:
- Built-in world HTTP server. Serves up worlds as HTML/JS user interfaces.
- Built-in stream web socket server. Communicates streams via (msl).
- Built-in web browser. Looks and works identically on all machines.
- Built-in Local World. Provides immediate usability, navigation, and admin.
- Built-in Local (msl) Streams. An offline, private data store.
Worlds can be designed and implemented with standard web design tools and are not restricted to a particular framework or language. They can incorporate any kind of display, controls, or security desired by the customer. Worlds look and work identically across the organization for Windows, Mac, and Linux users.
The Nebula app uses a separate connection method, web sockets, for communicating with streams and a separate WS wire for each source of streams. These (msl) web sockets are “always on” inside the app. Streaming (msl) separately from the UI offers three key benefits: First, a single world can integrate serveral sources of streams into a single custom interface.
Secondly, separation of streams and worlds makes it easier to keep the data protected and distinct from different uses of the same Nebula application. The user of a world only has access to the streams the world offers to that particular user. This provides a simple way of managing complex sets of documents from different sources in a single user application. Moving data from a stream between worlds is easy when the user permits it: a Mimix world can send an (msl) expression to any other world on this machine or a different one.
Finally, navigation between worlds and streams is simplified because it’s handled by the world itself, not the Nebula app. The built-in Local World offers one-click access to the online Hello World. Hello World includes public streams but it can also be customized to offer streams from private or corporate worlds. No configuration of the Nebula app is required to make these connections.
The Local World and Local Streams are important components of the Nebula app which represent several fundamental aspects of the Mimix design. The Local World has a built-in interface to, at minimum, the Local Streams. This provides a place to start working with documents immediately, a place to save any streams from any other worlds, and a fallback world for offline use.
Every world can be customized to provide any type of desired user interface. The free Local World included with Nebula, represented by the free icon in the diagram, includes one-click access to the online Hello World with resources for Mimix users.
Streams can also be customized. A number of free Local Streams ship with Nebula, such as sample texts from literature and science. An organization might ship Nebula with its own customized Local Streams.
Local World offers an administrative interface to manage Local Streams as well as other worlds and streams available to the machine. Streams administration takes place over a separate web socket from (msl) communications, represented in the diagram by a second WS wire between the Local World and Local Streams. Customized versions of the Nebula app can include or exclude this administrative wiring. In many cases, a world will make admin functions available to some users and not others by enabling or disabling this admin web socket.
Hello World is a remote, hosted world provided by The Mimix Company. It includes resources for Mimix beginners and experts, including Getting Started resources for new users and documentation for experts. All Nebula users see the same Hello World, indicated by the second app user in the diagram. In this way, Hello World serves as a home page for Mimix users – but a home page built entirely in (msl) with all of the benefits therein. Hello World, like all worlds, can draw from several sources of streams. Each stream is connected on its own web socket, as shown by the three individual WS wires in the diagram.
Nebula users can easily capture and re-use content from any of the streams offered on Hello World. Likewise, they can contribute streams from their own Local World. Hello World is a training system, corporate website, sales tool, support portal, software updating tool, and community forum in one. Access to Hello World is built into Local World and always available.
Because Hello World is hosted, it can be customized and updated easily. World owners can create a hosted Hello World tailored to their own specifications, serving as a portal to both Mimix and private streams. The customized Hello World can be hosted in the Nebula cloud or remotely.
Since content is transmitted as (msl) streams, it’s easy for the world to extract just the part of the Mimix hosted content (or any stream’s content) that it deems useful, rather than just redirecting to someone else’s web page, for example. This is a feature of all Mimix worlds.
Private worlds can be entirely customized by the user or by The Mimix Company. The open source nature of Nebula allows new users to experiment and build offline Mimix solutions at no cost. It also allows enterprise users to inspect and modify the source before trusting it with their organization’s important documents.
The Nebula app includes everything a private user needs to create his or her own worlds and streams. There are no additional frameworks, builders, tools, accounts, or connections required – just your favorite text editor. Private Worlds can be displayed inside anyone else’s Nebula app without a separate distribution step and they work identically on Windows, Mac, and Linux without special configuration.
Private worlds and streams can be hosted anywhere: on a local machine with Nebula, on a network machine, or on the Nebula cloud service from Mimix. Private worlds can communicate via (msl) with any other worlds on the user’s local Mimix machine.
Corporate customers are likely to deploy some of the more advanced features available to everyone with the Nebula app. Like all worlds and streams, corporate worlds can be hosted anywhere: inside the organization, remotely over the internet, or in the Nebula cloud.
In the diagram, the Corporate World also gives access to streams from another private world, perhaps a subsidiary company or partner. In this way, Nebula allows sharing streams of individual documents or entire libraries (or any part thereof) between organizations. The Private Streams in the example control what is offered and the Corporate World controls how it is consumed and used in the user interface. All communications between worlds and streams are by independent web sockets that speak (msl).
As with most Mimix features, corporate worlds and streams can be customized by The Mimix Company. Many corporate customers will want a large body of documents of the same type converted to (msl) with their special features intact. The Mimix Company performs this work and returns a set of streams to the customer with their existing documents in (msl). The Company can also host the customized streams in the Nebula cloud.
Nebula gives academic organizations the flexibility to combine document streams from internal servers, remote locations, and the Nebula cloud into a custom interface meeting the school’s specifications. Unlike a website, however, a University World can also share streams with all the other worlds on student and faculty machines, making it easy for students to integrate university materials into their own work and to submit papers for review.
Students can share streams with each other easily, too, using the University World’s ability to send (msl) to any or all connected Nebula users. The student machines require no additional setup or configuration to connect with each other through University World and no setup from the university to enable these connections. Rather than sharing entire documents or folders, students can share any part of their work as individual (msl) expressions. Likewise, faculty writing or reports can incorporate streams and expressions from many sources, even student streams from their individual laptops.
The open source nature of the Mimix ecosystem makes it easy for users to develop new worlds and streams of their own based on (msl) technology. Some users will start with our working system and modify it to their needs. Some users will develop entirely new worlds with different user interface frameworks or concepts. Other users will want to customize or replace the engine that delivers msl streams. For all of these users, their work fits easily into the Mimix ecosystem for several reasons:
- All the pieces speak (msl).
- Setup is simple. Nebula has no dependencies and requires no configuration.
- Programmers are free to expand or create new worlds without any limits on language, frameworks, or user interface design.
- New worlds can be delivered inside Nebula without changing Nebula itself.
- Developers and designers don’t have to re-invent or configure Nebula to deploy their new creations locally, with other users, or in the Nebula cloud.
In the diagram scenario, our main user in the center has met a friend at university, shown as the second Nebula app user who is also connected to University World. Together, they decide to develop a new Open Source World. Because both Nebula users have access to both worlds, their new Open Source world can do anything University World can do.
The developers can build new navigation or (msl) features on top of the school’s existing streams. They don’t need any permission from the school and they don’t need to download any databases, document libraries, or frameworks to develop their unique world. Their existing installation of the Nebula app contains everything they need to make their own Open Source World.
When the developers want to invite others to try their new world, those users only need the Nebula app. If the new users also attend university, they’ll be able to access all the same school streams from their friends’ new world.
Nebula is a new way to share and use information from a variety of sources inside the same application. Built on the power of (msl), Nebula offers several improvements over browser-based applications or traditional desktop and mobile apps.
Advantages Over Web & Desktop Apps
- Nebula works identically on all systems and requires no other software.
- Nebula works identically offline and online.
- Nebula worlds can have any kind of user interface. No framework requirements.
- Nebula can extract and move data between projects or hosts without any setup.
- Nebula can “hot swap” interfaces with persisent data and hot swap data in an interface.
- Nebula is deployed identically on single machines, on networks, and in the cloud.
- Nebula data is stored identically on local and remote machines.
- Nebula data is free of scaffolding and API clutter. It is pure (msl).
- Nebula includes a complete world and stream development system.
- Nebula users retain final control over all data streams on their machine.
— D 12/16/2019