The Object Network

In the Object Network, all your stuff is represented in chunks of data called "objects". Objects are "live" - meaning they are changing all the time.

A very important feature of the Object Network is the ability to link arbitrary objects such as these together, and in particular to be able to link to and from objects owned by other people.

Many of these data objects require being listable - such as lists of messages in a chat group, lists of events in a calendar, lists of to-dos. Luckily, lists are also objects in the Object Network! Another good feature of the Object Network is being able to make your own arbitrary lists of any of these objects.


Daily use of Onex, an Operating System without apps and services

So how would you live this mobile online life of data objects in the Object Network, without apps and services?

Simple: you just view, explore, change, add, delete, link, copy and configure all of your own objects - along with those of your friends and family - directly, without scores of apps and services getting in the way!

The Object Network is built and accessed through an operating system (or more accurately a home screen or launcher app) for Android mobile devices and smartwatches, called Onex.

Here's what the basic Onex experience looks like:

Whenever you hit the home button, Onex shows you a familiar grid of icons: Twitter, Signal, Email, Photos, To-dos, Calendar, Contacts, Alarms, Clock, etc.

But these aren't apps, they're live data objects themselves. In Onex, you interact directly with your data objects - you don't have to go through apps that lock your data items up, isolate them and then send them away to remote servers out of your control.

Instead of a contact app, you just have a list of contact objects. A gallery object is a list of photo or video objects. A to-do list object just lists to-do objects. A calendar object is a list of event objects. Instead of a clock app and an alarm app, you'll just have a clock object and a list object containing your alarm objects. And so on.

Some of the objects you see will have been freed from legacy services and imported into your corner of the Object Network. For example, instead of the Twitter app, you have direct access to your Twitter feed object. This is just a list object that contains tweet objects. You may have similar lists of Signal messages, email messages, etc.

If any object changes, you immediately see its latest value. If it's someone else's object and it changes, you still get notified directly, using the fastest network path between your devices. This is true of all objects, and all objects are handled the same, rather than having the Twitter notification system, the Signal one, the calendar one, all working slightly differently.

Now, if all you're doing is browsing your stuff, Onex looks and behaves in a way that's pretty familiar, except that you don't have to log in multiple times, and you don't need to remember multiple user interface conventions.

All of these objects behave as expected when their icon is selected. If you select the to-do list, it will render full-screen in the same way as a to-do list app. A calendar list renders as a traditional calendar, a list of photos as a scrollable gallery. Your calendar is in the same data format as mine, so everything works together, instead of each service inventing their own proprietary and incompatible formats.

So, when you select any list it goes from a small "icon" render to full screen. Then if you select an object within that list, that object itself goes full screen. The back button then gets you back out again.


Handles on our data: object IDs and links

Now, the power of Onex and the Object Network comes from having a direct "handle" on all these live objects - through their IDs. Now that our live data objects have been freed from their app and service prisons, we can use their unique IDs to grab them or point at them.

Having a handle on our live data objects gives us complete transparency and control over them. We can set any of their properties, including configuration parameters that can influence their behaviour and how they interact with other objects (including people objects!).

In Onex, you never need to copy anything ever again - if you have an object's handle, you don't need to "send" or "share" a copy or snapshot of the whole data item - just send the handle and let the Object Network do all the heavy lifting! This way, the recipient continues to see updates as they occur, so you don't need to manually push them out or ever manually pull the latest version of anything.

It also enables us to set up and modify lists of objects and links between objects.

In fact, a list object is just a list of the IDs of the objects it contains - it's a list of links to those objects. Actually, the grid of icons you see when you hit the home button is itself a list. List objects have IDs themselves of course, so can be linked to; thus you can have lists of lists. You can set (the ID of) any object you like to be the one you see when you hit home (but you'll probably keep it as the same list - of your favourite objects that you use daily).

You can link any object to any other using their IDs. You can wire objects up, then you and others can jump from object to object, viewing and interacting with them. You can grab a link to any object you encounter along the way, whether it belongs to you or someone else, then re-use it later within another object.

Here is a scenario showing in more detail how this may work:

You and your friend have an event to organise. You create a calendar event object on your smartphone to save the date. Your friend starts building a to-do list for the event on their own device. You can now just link your event object to their to-do list object, and they can link right back again.

Now, when you see the event in your calendar, you can see the to-do list in a summary form, and when you "jump" into it, it expands to the full list of to-do objects. It also has the link back to the event object that it's a to-do list for, allowing you to jump back to that.

Either of you can add to-do items to the list, but even though it's their list object - with a number of to-do objects that they created - your own to-do objects are fully owned by you and hosted on your own smartphone. They are just linked to from their to-do list.

When you want to publicise the event, you can create a social media post object and simply put in a link from it to your event object. Now when the post is viewed, people can see a summary of the event in the post. They could then jump the link from the post object to the event object itself.

They could then add the event object to their own calendar. This is also done via a link, of course, one going from their own calendar (event list) object to your event object.

Since only you and your friend have permission to see the to-do list object, anyone else viewing the event doesn't get to see it embedded there like you two do.

Now, both the social media post and the event link to your public persona object as author and organiser respectively, which in turn links to your profile photograph, so this appears on post and event. You may link from the social media post to another relevant photo, or to a related tweet - both of which would then appear embedded within the post.

One of the to-do objects could link to an alarm object warning of a deadline, another may refer to a relevant Signal message; again, each would appear embedded as part of the to-do object, but allow jumping-in to them to see them full-screen. You could then jump on again to view the person object who authored the Signal message.

The on-screen experience in Onex is based around the grabbing and placing of object links as you navigate this web of objects in the Object Network. You can drag links to any objects you like into a holding area always visible on the screen - a kind of "inventory" in gaming terms. Then go to another object and drop one of them in to it.

You can collect links to objects representing people, photos, events, messages, etc., that you found in public or on a friend's device where they've given you permission. Then you can create a new list containing them and drop that into your home list so it's easily accessible to you.

You could also put links to single objects into your home list, such as a favourite photo or a single important to-do. If you completed that single to-do, it's right there on your home screen, so you can mark it done really easily. If the to-do list that it originally came from were shared with a friend, they'd immediately see it marked done, too: you never need to explicitly "share", "send", "update" or "refresh" in Onex.

Many of these objects will be on your own device, but any of them could also belong to other people. If you had access to your friend's gallery object, you could just grab a link to a photo they'd just taken and pin it right into your home list object. You can allow your friends "into" a gallery object you've made that is a list of photos interesting to them, and even give them permission to re-order the photos.

You'll also be able to see who's "visiting" your gallery at any time. Since people are also represented as objects, if someone visits, you can of course just grab a link to them, perhaps to make up a list object of friends for another use, like a new chat group. Of course, you'll be able to drop a link to that gallery in the description of this group.

Since we all host our own data on our own devices or trusted servers, and send it directly between us, no corporation or government agency can spy on us or stop us doing that.

We also have complete control over our single identity and our multiple personas or profiles. Since they're our data, we can manage them any way we like.


Onex evolution

The initial functionality of Onex will allow you to import some of your existing data from your favourite online services into the Object Network. Only services that offer access - through "APIs" - will be supported of course. You will also be able to import certain static files such as photos, text and simple hypertext, either from your local devices or from a remote URL.

It will then have features to support progressively each of the above types of object data, in roughly that order. The first of these non-imported or "native" object types and functionality will be for increasingly sophisticated forms of text chat, one-to-one and group. So at this stage, you'll have a usable alternative to Signal, which allows full control over your social interactions, including links to the legacy data such as Twitter posts.

Of course, there will need to be support for links within any objects that have text: hypertext or "hypermedia". How close Object Network hypermedia follows the Web's structures is an open question, because now we're not just building on it, but significantly improving it. The Object Network is basically our own cyberspace with us and all our live data in it, not basically a web of static presentational documents served by Big Tech.

Given that cyberspace model, it's a very small step to move to 3D renders of all this, which can manifest as anything from viewing individual 3D objects, via arranging all your 2D stuff in 3D rooms, up to full virtual worlds, all linked together into a single "Metaverse", with your friends having "presence" as 3D avatar objects. You'll be able to import existing 3D models to get things going, of course, and these will be converted into Object Network objects, linked together.

Being a smartwatch OS as well as a smartphone OS, it's also a very small step to include Internet of Things (IoT) devices running Onex into the Object Network.


Onex adoption: is it for you, yet?

At first, Onex will be used by early-adopters who are frustrated with the lock-in or lack of visibility and control over their own data that is offered by Big Tech. Or perhaps those who are experiencing censorship or who want to avoid corporate or state surveillance. If you're looking to go "off-grid" or to become less visible to the global technocracy, then Onex could be for you!

You may already have been considering "de-Googling" your life, and may have been looking at various alternative operating systems and devices, such as LineageOS, /e/ OS (based on LineageOS), Fairphone 3 with /e/, Purism Librem 5 running PureOS, Pro1X, Volla or PinePhone Pro.

Onex OS for mobile will be built on top of one or a few of these platforms. The Onex OS watch is a low-cost, commodity Chinese device: currently it runs on the PineTime.

Since there are no apps in the Onex OS, you won't be able to install your favourite ones in there, but can install some of them alongside it on the Google-free underlying operating system. Onex OS is not yet, or ever, going to replace those apps' functionality, but equivalent or similar functionality will be built over time within Onex to support each of the types of data object in the above list.

The goal is for you and your friends to much prefer living and working in the Object Network, because of the freedom and empowerment it offers, so that you eventually stop using the other apps and their services that you've installed, or just use them via their Object Network imports.


Find out more

Here is a more detailed explanation with examples.

Or go here for a list of many more broader and deeper articles and presentations.


Duncan Cragg, 2021. Contact me