The Object Network

The Object Network

Our apps and online services are a double-edged sword. While we couldn't live without them any more, they imprison our data and can leave us feeling trapped, surveilled and controlled.

The Object Network empowers and frees you, because it gives you full control over your own data.

Empowered, yet disempowered, by apps and services

Apps on our PC and mobile devices and online services such as Facebook and WhatsApp have changed our lives. Think of all the types of data we work with every day using our internet-connected mobile devices and PCs. We have our logins, our profiles, our connections - family, friends, contacts, colleagues, followers, customers. We have our messages - one-to-one or group, our social media and forum posts, our tweets, whether original or replies. We may write articles or documents, and publish those. We have calendar events, to-do lists, notes. Media: photos and videos. We may create spreadsheets and presentations.

However, these different chunks of data that we create are scattered around many apps and services. And we have to share control over our data with those services. We and "our" data are very much at the mercy of the whims of a remote Big Tech and their friends in Big Government.

Because our data is locked away in apps and services, we can't easily re-use, re-mix or re-mash chunks of it. We have been so brainwashed into the apps and services model of isolated brands - of "walled gardens" - that we don't even ask ourselves why not!

We have to maintain several completely separate social networks which may contain many of the same people. We can't re-use arbitrary lists of people in different contexts, such as grabbing the list of attendees to an event in Facebook to form a chat group in WhatsApp. And then sending each of those members an email without manually building up the recipient list. If someone drops out of the event's attendee list, they should then also automatically disappear from the chat group.

We should be able to migrate our WhatsApp chat group straight to Facebook, with the same people and message history, just by reference to the list of messages and the list of members, possibly even merging history and members with an existing group's.

Why can't I just see my Meetup group's event calendar on my Google calendar, updating in sync? Or add an upcoming theatre event to Google calendar so that it updates if the original changes - so without going via a static iCalendar activated by two buttons on the page, one for "Add to Google Calendar", the other "Add to iCalendar"?

Why can't we add all of our blog articles to Medium in one go without laboriously copy-pasting them, and even such that corrections to the blog appear on Medium, and comments on either are cross-posted?

Shouldn't we be able to see our mobile todo list app's entries on Google Tasks on the Web, without having to use the Google Tasks app on mobile? And have them cross-sync? Why can't we add a co-worker to a selection of todos so that we can both work on them? And that co-worker's contact taken from WhatsApp, or email, or Facebook, or Twitter? Why can't we just post the todos on a pinned Tweet so people can watch us live, working through the list together? Our followers can see it, but we can both see and update it from our own mobile todo apps or Google Tasks.

If I search and create a map on RightMove of properties I want to visit, why can't they be easily visible on my mobile map app? Along with the current location of my partner who's driving to the area now? Why isn't it easy to share my live current location by messages, and why can't you simply watch the changes on the map, without constantly sending messages that need you to tap on them? Or five people simultaneously, who are converging on a meeting point? Without installing a separate app that only provides that feature and can't work on the same map that is showing my RightMove property list?

It's 2021, yet I still can't easily view a video on my mobile on the PC two feet away, without going via a server in the USA. We still automatically reach for email as the least mental effort to share smaller media, weblinks and text between mobile and PC, yet this is extremely heavyweight and involves cross-country roundtrips, and you still need to have the email of someone you're standing next to to succeed. If it's a video, you have to upload it somewhere first, then share the link.

Sometimes we are allowed to shove data around in a rather clumsy manual way that creates unnecessary duplication, by copy-and-pasting it, or re-uploading it, perhaps by one of the clunky and constantly-changing "share" options. Or we're given an "export" function to return our data in an unusable, lifeless form. It's not the "live" data any more, it's an inert snapshot.

We shouldn't have to ask techies to help us access our own stuff, or pay for the privilege, or endure adverts first. We are allowed a fair degree of access to our data via the apps and services, but we are stuck with the functions they decide to offer us each year to access or process our own stuff. We shouldn't have to find out that last week's way of accessing or sharing it has been taken away from us or made harder to use.

Facebook and Twitter can decide to delete, censor or suppress a post, a group, or our entire account any time they like. We don't have a durable handle on anything we consider "ours", and they can take it away from us on a random pretext, or on a nod from whichever power.

They use our data to make money from their advertisers through their "surveillance capitalism" business model. We also know how they facilitate government surveillance.

The Object Network: links to our live data

The Object Network fixes all of these issues! It won't fix Facebook and Co., but it's a platform for us to get together and quickly build anything that we need.

The Object Network takes the view that our data is the most valuable thing to us when we use computers and the internet, so it should be the first thing we experience, not the last. It's our data!

We should be able to remix and remash our live data any way we like. We should have handles on it - IDs or links - to make it always easy to grasp and reuse without copying repeatedly. In order to build interactive functionality based on it, we should be able to configure the behaviours and interactions of our own live data in the context of others' live data that it links to. We should be able to view and manage our data in many forms, including spreadsheet- or database-like full detail and as simpler, easier-on-the-eye familiar renders, including things like calendars and maps. If we change any data, or data updates for any reason, everyone permitted who cares or is watching should be notified, without anyone having to send or reload manually and without making new copies.

We should be able to control all our data ourselves, on our own devices (securely backed up online). We should be able to pass data and updates directly between us (encrypted end-to-end), without having to send it to the USA and back.

Objects and Onex

In the Object Network, all of these types of data are kept together in one place, on our own devices - our mobiles or PCs.

Chunks of each type of data listed above are called "objects", and our objects are hosted within an app that we all run, called "Onex":

We can create as many of any of these types of object that we like, and we have full access and control over all of them. We can change configuration parameters or the "settings" on any object to adjust its behaviour and interaction with other objects. We can view objects either in their full detail or through nicer interactive interfaces.

Objects link together in obvious ways. Links can be created by us between our own objects, or between ours and our friends':

All objects on our Onex apps, linked around the world form the Object Network. So you can jump from link to link and back, exploring a global network of our shared stuff.

Every object can be either public or have permissions set on it. Objects are exchanged directly between devices, peer-to-peer in a decentralised style.

If an object changes, updates are sent immediately and automatically to anyone who's watching, or has been watching recently:

So when you change the date of a calendar event, it moves in sync on my calendar. If you add a message to a forum message list, I see that immediately. But it's not only you that sees changes, objects can watch each other and have "conversations", in order to implement rich interactive functionality, guided and configured by "settings" or property values within each object that you control.

Examples

Since we own and control our own data in the Object Network, there is no one place, site or "walled garden" where the elements of our social networks reside. Every person involved has their own identity, user and profile objects, and manages their own lists of friends, family, contacts and followers, their messages and calendars, all on their own devices. We can create our own lists of people and messages and link up anything to anything else.

Your social network is just lists of links to whoever you want, organised any way you like. You can create a single profile, or multiple, and reuse any profile in any context, with just a simple link.

You can create your own news feed, which is simply a list object linking to each new message or post object. Then you and your friends will create lists of each other's feeds, and the Onex app will watch and interleave them for you into one newsfeed. You can create a list of links to news feed objects from multiple diverse sources.

Here's a short slide deck showing the way social networks are built in the Object Network - don't press the play button, just touch a slide to advance to the next, or swipe left and right on a touchscreen:

If you create a message, that's always yours and you can always do what you want with it. If someone replies, their reply is always theirs and they can do what they like with that. Their reply links to your message of course, but you don't have to link back to it as a reply you want to show if you don't want to. You can set the configuration parameters or the "settings" of objects to control this behaviour.

Even though it's easy to create Facebook-, Twitter- and WhatsApp-like functionality in the Object Network, they won't be isolated applications - there are no application boundaries in the Object Network - and their objects will work perfectly well together through links and their common understanding of message, message list, user and user list object types. You can merge two chat groups, merging their members lists and message lists, just by adding links.

I may be hosting a meetup calendar object on my PC Onex in London which may contain a link to a meetup event object you've created on your mobile Onex in Liverpool. If you change the date on the event, I get to see that immediately if I'm viewing the calendar in Onex.

Here's a short slide deck demonstrating such a scenario in the Onex app - don't press the play button, just touch a slide to advance to the next, or swipe left and right on a touchscreen:

We can re-use an object like the event simply by grabbing a link to it and putting that link somewhere. If you create a calendar and allow others to post events to it, they still own and control the events, not you; all you can do is remove them. Here, we are in full control of our own calendars and events, no one gets to see them or stop them.

If you wanted to create a group with a chat area and an event calendar, you can go right ahead and spin up the chat and calendar objects, set their configuration parameters how you want, then link to the user or profile objects of some people you'd like to invite. You can use any list of your contacts to start this new group, including taking a list of attendees from another event. Everyone can add messages to the chat, or events to the calendar, but they'll be owned by them not you.

Just attach a link to an object to any other object and it can then be seen within that object's display or render view. For example, as the organiser of an event, you'd link to your contact card object, which would then render inside a view of that event as an openable block.

A message has the author, and again, you could open up the full author block, or jump to the full view of the author person object. A message could include a link to an event or a chat group; in both cases you could peek into the event or chat, and if interested, jump fully into it.

If you have a list of articles like a blog, you can add in links to other existing documents, without copy-pasting between places. Or merge two lists of documents. Documents link to their comments, so these will come along in the process.

If you created a document, you could include a link to another document, and that one would be embedded in the outer one. If you linked to that document in a forum post, people could peek into it, then into the embedded document. Tutorials could link to example objects illustrating a point. You could create an object as a "dashboard" that simply lists some important sub-objects you need every day, such as your calendar, your news feed, the weather, etc.

You could jump all over the world following links to objects from different people. From message to reply to chat group to group event calendar to event to another message, to its author, on and on around the globe..

You can view multiple calendars from any source simultaneously, and multiple objects with geo locations on the same map, all updating live. For example, if you were running a festival, you'd have your own contact linked from the festival calendar, then the event for a band would link to its own contact. Now, if you had put the locations of each band in their calendar events, you could plot the festival calendar on a map, and see where they each were playing.

As attendees of the festival arrived, they could be linked to from the calendar in its attendees list, then they, too, would appear on the map if they published their locations. And those locations would update live, showing everyone converging on the popular bands. If an attendee took some photos with location stamps, they could drop the list of those photos into the same map render, which only they would see, unless they created an object linking to both the festival and their list of photos, and shared that with their friends, perhaps by simply linking to it in a message.

A list of houses for sale found from a search containing geo locations can be plotted on a map, then you can grab the location of a friend and plot that on the same map, updating live.

A calendar can link to and share some of the same events in another calendar, to save retyping them. Also, instead of pushing a video around from here to there, just push a link around. Put that link in several messages to save all the re-uploading. Anything you can see you can grab a link to, so you don't copy or download and upload or send things any more, creating numerous copies. You don't need to consciously think of how big something is, in case you should upload it to a service then share the link. Just share the link, and Onex will take care of the rest. If you're next to each other on the same WiFi, it goes directly.

If you've created a todo list, you can share read and write permissions to a sub-list of those with someone else, and they can then merge that list with another they're working on. A person can be referenced as a link to a person object in any context, so there's no hunting for their email address or phone number. You can publish that list with read permissions, so others can watch your progress; there's no copying so changes either of you make are visible to each other and the world, live as they happen.

Summary diagram

Empowerment

Now, you don't have to ask a techie in order to create spaces to conduct your online creation and communication activities. You control all your own creations on your own device, but then link them together and link them with those of others in the global web that forms the Object Network. You control how your objects behave and change and what other objects they can interact with. You decide who can see what. Every change is sent to everyone watching.

We can build anything in the Object Network, including chat, groups, file sharing, social media and networks, documents, presentations, calculators, sites, todo lists, calendars, even home automation and virtual worlds, all owned, wired, configured, controlled and shared by us, the creators of everything and anything we like.

The Object Network is a freer Web, a People's Cyberspace, where we are in full control of our data, our live objects, and how they are configured, how they update and how they interlink.

Freedom

Being decentralised, the Object Network is resistant to surveillance and censorship.

If you can see the objects on my device, and if we're on the same WiFi, those objects will never leave the home to be transferred between us. If we're going over the internet, objects may go via backup or routing servers, which can be used to keep our data safe on its way between our devices, without going via California! We control who can see our objects, and they are then protected by end-to-end cryptography. Also, since we're going to build things ourselves, we don't need any advertisers watching us in our spaces, unless we choose to host them.

Now that we own and control our own data objects, no-one can delete our stuff, deplatform us or wipe our online identity. If our public stuff becomes popular, it will have many copies on many Onex apps in the Object Network, so will be safe against censorship. Even if our original hosting app or devices are down or compromised, our objects are still visible and sharable between peer devices' Onex apps, just frozen. More personal stuff can be backed up onto shared online hosts.

Building Onex

The Object Network won't see the end of Facebook, Twitter, Google and WhatsApp any time soon, but we can start to quickly build alternatives in the Object Network in a way that empowers us, not them.

The code for Onex has been started, but there is still a way to go for it to be useful. If you can program in C, then it would be great to have your help!

If you're not a techie, then you're the target audience for Onex and the Object Network! Perhaps you'd like to guide its design, or maybe you know people who would be interested in testing the concept and the code? If you're a marketing type, or someone with many connections, you could help spread the word about the Object Network.

There's a contact email at the base of the page.

Read more

Go here for more on how the Object Network works.

Go here for many more articles and presentations.

Duncan Cragg, 2021. Contact me