, originally published , here Vytváření prostorů otevíráním dimenzí.
„What are you thinking about?“ The flash of thoughts is interrupted. A sudden sensation stroke through my preciously crafted mind space, planted and occupied with many trees and branches of ideas. It only took a few seconds, and it got completely shuttered. What am I thinking about? Time to recollect the remaining shards of branches, that were so beautifully shiny just a moment ago. Briefly said; lately, I have been fascinated with the concept of creating spaces out of nothing by opening other dimensions.
„Give the man a game, and you'll entertain him for the afternoon. Give him a space, and you'll entertain him until he creates a world in it.“
YourWorldOfText is a website which offers a (virtually) unlimited space for you to edit. You just open it and find yourself at coordinates (0, 0), where you can edit any cell in the grid by simply typing, just as in a text editor. All cells, except the special ones, are editable. You can type anything you want in them. But that also applies to everyone else. They see what you do, live, as you do it. One giant multiplayer text editor.
From a psychological standpoint, it is much more interesting than what it seems at first glance. For me, it raises thousands of questions and thoughts and many different feelings.
Anarchy of the text world
Let's start with an obvious one: anarchy.
Man is least himself when he talks in his own person. Give him a mask, and he will tell you the truth.
An infinite editable area, where anyone can type anything, without any concept of ownership. You can join conversations, publish your opinions. You can start emulating conventional chats and talk with others. You can spam with porn server links, create ASCII arts, quote books, create your own stories. There is an infinite number of possibilities.
(There is a lot of chaotic mess around the center.)
You can also edit the texts of other people. There is nothing stopping you from doing it, nobody knows it is you doing it. Individual cursors are fully anonymous. To be honest, I have also deleted some things; whether because they actively bothered me, or because I needed a space for my own self-realization. Every so often, I just altered one word in a text of someone else to make it more funny.
Why? Just because I could. There are no rules and everyone is doing it. After all, why not.
Fires and psychopaths
Just like in real world, there are also fires and psychopaths. It is not uncommon for fires to be started by psychopaths.
Some users want to see the world burn so much that they devote hours of their time to programming a script, which overwrites large areas by meaningless characters. Sometimes it's just a mistake in the script which puts vast areas „on fire“ accidentally.
And some just actively damage the work of others. I have seen pretty ASCII arts that were being overwritten in front of my eyes by something like a repeated word „FUCK“. It did not help to fight these people and try to restore the picture; destruction and „winning“ the fight was too satisfying for them.
Self-organization via memes
When it is so easy to destroy, how come something remains at all? I thought about it, and the only answer I could come up with was a self-organization via memes.
Some memes are repeated over and over again. You can bet that somewhere there will be an area, where you can see doge's head, pokemons, flags, swastika, dickbutt, a house drawing, penis or vagina. When someone deletes one, another will „naturally“ appear. Not because the original author would recover it, but because the others will subconsciously miss it. It's similar to dirty drawings at men's toilets in a cheap pub. People somehow expect it to be there and if it is not, sooner or later, someone will come and draw it. Independently of others, just because they can. And just like that, tic-tac-toe, a vulgar poem or other similar nonsense will also appear.
I wonder if the creativity that creates more complex formations have its basis in memes and human needs, and it is more extensive in the shared empty spaces due to the fact that more users are involved and therefore it is not so easy to trace the reasons.
It is quite interesting what this tells about the human collective unconsciousness, where all of these civilization memes are stored and from which they spill into different areas where people can freely and independently express themselves. It is also interesting what this tells about the areas, where no such thing appears.
Order from chaos
What keeps fascinating me is the establishment of order from a total anarchistic chaos. That moment when hundreds and thousands of individually behaving people, who pretty much only fooled around until that point, decide to follow a certain idea, constructively help to develop it and then defend it.
Sky City is a city on coordinates Y: 1000. That means 1000 scrolls of the screen up. When you start scrolling from the initial screen, after going through a few fields of randomly fermenting chaos, you will find the path leading up and first mentions of Sky City.
(Different resting places for pilgrims on their way to the Sky City.)
Although the Sky City was burnt to the ground many times, it was always built again, because it continued to live in the mind of those that arrived there. Personally, I have also added my own little house. There are more places like that. Who looks for them may find entire small worlds with its own rules. Worlds, which might and from time to time are destroyed, but always reborn once again, because for us humans, it is important that they exist.
(I have stopped many times during my trip to Sky City to admire art and philosophy of the previous pilgrims.)
Sky City and the path that lead there certainly no longer exists in the same form as shown in the pictures, because I went there in 2016. But I still think it is worth trying to travel there, as you never know what you’ll encounter.
/r/place is something history will remember for a long time. What it was is probably best summarized in an article When Pixels Collide, which describes how users, each of which could add just one pixel every five minutes, initially battled each other, but in the end organized themselves into different groups in a decentralized manner. In the end after long battles, these groups created something which I do not hesitate to call a work of art.
This principle makes me thing about our „real“ world and the reality in which we live in. About the infinite alternation of the chaos and order. About wars and reconstructions of the entire society.
The thought about Bitcoin and its creator, who just came in, threw his ideas and code at the world and created a market worth of billions of dollars, would not let me sleep for a long time.
Every one of us has been gifted a proverbial „marshal's baton“. Anybody can create spaces out of nothing, in which others will build worlds that they consider to be useful. But almost nobody is doing that.
Why? Why is there so many people who can and do actively build worlds in empty spaces, but almost no-one creates the spaces themselves?
The rise of Bitcoin did not just create a virtual currency, but also an entire culture and economy around it, which is ever more connected with the real world.
That is something I wouldn’t expect. There are people, who created stock exchanges, people, who programmed pools and eshops and cash registers and mobile applications. Bitcoin coffee shops, bitcoin exchange points, bitcoin market places. And all of that is a derivative of an axiom that had been thrown into the world by an unknown person. Crystal seed, from which all of the follow-up services grow into the shape designed by the original creator. Millions of human lives bent out of their trajectories by a gravitational wave caused by the grow of the crystal. All of that because of that one person and one piece of software thrown into the internet.
Imagine the hidden potential of things that could sprout out of tiny seeds around you, but which most people have yet to see, because they did not sprout enough for their gravity to bend our trajectories.
When I first encountered Secondlife, I was still at high school (roughly around 2007) and by far did not have a powerful enough computer and internet bandwidth to allow me to visit it. Somewhat uncommonly, I was forced to a different path – a study of waves that Secondlife caused in the internet.
During approximately a year, I have read everything I could find about Secondlife. I have read about economics, about experiences, manuals for the 3D editor, pages about scripting. I have even created a Czech website about scripting with a friend of mine, where we published translations of the API.
When I later bought a better computer and could therefore finally visit the Secondlife, there was not much left to surprise me. But what surprised me were the people who “inhabited” it.
One thing that bothered me about Secondlife was the missing correlation with the way real world functions. All you see are 3D models that are created in the same manner as in computer games using 3D editors, not by putting pieces together like in a then-nonexistent Minecraft, for example.
The whole Secondlife is like an infinitely thin Potemkin village from a color stretched around the thoughts of things. For example, what does not work at all is a walking through a space, where it is easier to either fly or teleport rather than walk, because walking is annoying and slow.
All physical interactions with anything you see must be created by the author of that thing. If author did not remember to add a context menu which you could use to control that thing, you just can’t. A wall, for example, is always an indestructible thin area that you can hit with a pickaxe as many times as you want and you’ll never get to the other side. A fireplace has a scripted possibility to light a fire, but the fire itself does not exist in the game – it is a property of the fireplace object, which moves the transparent colors that make an illusion of the fire. Nothing can burn, meal cannot be warmed up. It is simply a 3D object with no relation to the surrounding world.
Secondlife did not even try to create emergent properties of the system, where out of a few elementary axioms and truths (world is made of cubes, cubes can be relocated and are affected by a bunch of physical laws and a combination of cubes creates an object), unsuspected possibilities of the system would arise. Instead, the author of the fireplace either considered you might want to bake bacon and added the menu button „bake bacon“, or he did not and there is nothing you can do about it.
That is why I was really surprised that basically everyone, who joined the Secondlife and had enough money to buy a property, started building a house. You know, building a house in a world, where the best way of movement is flying, does not make a whole lot of sense. You are just limited by the walls and the ceilings. Furthermore, the first-person perspective never looked great in Secondlife. Not that it wasn’t possible, but the world looked weird and unnatural. And the last thing you want to spend your time doing is opening the doors or storing things in a cabinet when you have an infinitely large inventory and the cabinet is just an inventory limited to a certain place on the map. Still, hundreds of thousands of people do it that way.
It was very interesting and informative for me to watch how most of the people are unable to get rid of mental models they bring from the real world, although they had a programmable world ahead of them, where clearly some of those things did not work that well or were painfully clumsy. I would understand that if they were transferred into the new world, but in Secondlife it was not be possible to greatly control your arms and legs. All you could do was push buttons with scripted motions and evoke context actions using a mouse. It does not make sense to port things from physical reality into such world. Still, only a handful of people managed to adapt.
All the more I was impressed by Minecraft, or rather its ingenious simplicity. Similarly to Secondlife, it is a 3D game which can be shared among many players. Unlike Secondlife though, at least initally there was no way of programming it or creating 3D models. All you want must be manufactured out of blocks spread across the game world.
Do you want a house built from stone? You have to mine blocks of stone using a pickaxe, store them in an inventory and then place them into the shape of house. Houses actually make sense here, because the world is full of monsters and animals and sometimes it is raining, so you might want to hide yourself and your valuables.
This game, which allows you to build entire fascinating worlds from a few basic axioms, enchanted a whole generation. In 2012, I recommended it to a colleague of mine. Today, five years later, he still runs his own server and together with a few other friends spends dozens of hours per week building everything possible.
Already when I first encountered Minecraft, it was in relation to the fact that the virtual area of all worlds exceeded the size of Earth. There are people who year after a year spend months of their time in Minecraft, and there are also people who make a living or even made a fortune by recording themselves playing and publishing it on YouTube.
Minecraft shows that when you give a space to people, they will fill it with creativity and some will even succumb to it at the expense of their actual life. But you have to allow for emergent properties to appear out of axioms, not try to predict every possible way of interaction.
Similar case as Bitcoin is Ethereum, another cryptocurrency which I have also covered earlier. Since the day I have read the Yellowpaper, entire months before a practically usable testing implementation was even developed, I knew it would be something new. The reason for my enthusiasm was that just like Minecraft adds an entire dimension of unlimited possibilities in comparison to Secondlife, Ethereum adds unlimited possibilities to scripting on top of blockchain. You can script the currency, program transactions and store logic in them.
Unlike Bitcoin, Ethereum is still expanding and most of the people have not yet managed to figure out how to utilize it. Ethereum is a space within a space, a currency which can be programmed. An expanding crystal that grows out of a core idea of smart contracts, orbitted by entire planets of applications that are being carried by a gravitation of the central star Ξ. And anybody can add their own planet.
Today, about two years after being introduced, Ethereum is the second most valuable cryptocurrency with a market capitalization of half of the Bitcoin (30 billions USD, Bitcoin has 72):
When we look at the pattern, we can see it being repeated all the time:
- There are web pages. Blogs are invented and blogging about anything and everything becomes such a boom that practically anyone does it at that time.
- There are blogs and web pages. Comment sections, which provide users with a space to express themselves (to an extend that it often beats the original content in terms of length), come into existence.
- There are discussion forums. Reddit, which is a super-forum, where anyone can create not just discussions, but also categories (another dimensions), is established.
- There are blogging platforms. Social networks, which are essentially just more granular and interconnected blogs, are invented. Even people, who did not know how to turn a computer on in the era of blogs, have accounts there.
Something interesting comes into being, some consider it to be a revolutionary Thing. Many people start using it. Someone notices the limitations of Thing and adds another dimension, which can be managed by the users in preferably axiomatic, unlimited manner. An explosion occurs and entire huge spaces are being created and gradually filled by the users.
I wonder where are the other possibilities to open new dimensions, which would explode with the user activity. I try to look around me so I could see them open and can join the effort.
Application vs API vs infinite API
I sometimes think about the differences between applications, API and programming languages. Whether the differences really have to exist or whether we have just felt into a trap of historical development (Programmer's critique of missing structure of operating systems). All of the mentioned things are simply variously unfolded user interfaces, variously scoped views of the same fractal things in which user's control is mirrored on all levels.
A long time ago, I started writing an API which allowed to store a JSON value. Then I added an API call which allowed to load the value and also make an IF condition based on it. Before I knew it, I had implemented seven axioms of lisp in my REST API. There was an API that allowed to define and expand itself.
Where does the programming language end and application interface start? Why should there be any difference? Why should applications be separated from the programming languages? Why should a button on the screen hide the function of the programming language and an API call underneath (see 📂Series about Self)?
What happens when we apply the previously mentioned principle of introducing another dimension to the concept of application? Imagine a graphical application – how do you add another user dimension? A common example is to support scripting, but that is detached from a user experience (see Moldable tools; a book and a movement). Minecraft did not gain its users by supporting scripting, but by allowing the worlds to be built from the inside. Why cannot the applications be disassembled and connected in a way Self implemented it thirty years ago?
I am thinking about a meta-medium which would allow users not only to add dimensions, but also split them out off the original product.
Imagine you create a model of computer in Minecraft. How do you transfer it outside and make it into an application? When you script a certain application with macros and user scripts – why is it not possible to take just the scripted part and separate it off from the original software? It is certainly not impossible, as for example shown in a paper Sifting Out the Gold: Delivering Compact Applications From an Exploratory Object-Oriented Environment.
I wonder why so little is going on in the field of user extensibility of software and how to put power back in the hands of users without taking it away from programmers.
Look at the hardware everywhere around us. Your phone, television, monitor, watches, settopbox, radio, smart lamp, air conditioning, semaphores, heat sensors, wireless networks, appartments, cars. More and more things has computers inside, often capable of communication. And predictions show that this sort of trend will continue. In the future, anything that can be controlled will contain computer in some form, as well as many things where it does not even make sense.
The future will also be a lot about the conflict between hardware owners and manufacturers, who are increasingly getting into a position where they have the opportunity to actively harm owners degraded to users in the name of greater profit. In my opinion, there is a lot of room for a movement that would aim to produce – or push manufacturers to produce – hardware over which the owner has absolute control.
One of my first blogposts was about hacking a home router to make it run Linux. To this day, I do not understand why I actually had to hack the router and solder the connectors to it. Why I, as its owner, could not have just uploaded an alternative version of the operating system?
The current world of hardware is fragmented and broken. Everyone does what they want, regardless of the people who buy the equipment. On the contrary – the less the user is allowed to dig in, the better. Even after almost a decade of playing with Atari 800XE, I am still fascinated by the openness. However, the older I get, the more I realize that it actually happened by mistake and nowadays it is something completely unimaginable outside the open source world.
But let's go back to the original topic of the article – creating user-fillable dimensions and spaces. What might the dimensions of the space added to the hardware look like? In one word; reflection.
Let us now move to a hypothetical future (or perhaps an alternative reality) in which the development did not take place completely thoughtlessly and where, for some reason, corporations have no particular interest in making the user a blunt consumer of their products.
Imagine a hardware that makes information about itself available through a wireless interface. Your radio alarm clock makes accesible the object of a display, speakers, buttons and a radio tunner. If you want, you can take the radio stream and transfer it into a computer using a protocol such as bluetooth, or vice versa, display information from the computer on the display or stream music from computer into the speakers. All of that via a simple standardized protocol. The alarm clock's software is itself accessible via a (secured) protocol so you can easily remap buttons or add a support for different timezones.
This might create an impression that your alarm clock would have to be „smart“, with a computer inside. But your radio alarm clock already has a computer inside, most likely some 8051, or perhaps some Zilog. The difference is not in any extra hardware it would need, the difference is that the manufacturer did not consider that the alarm clock might have an expandable dimension and user might want to use in a nonstandard way.
Alright, alarm clock might seem somewhat farfetched. Lets take a look at your e-book reader. Via an internal protocol, you can not only upload, but also change the software it runs. If you want, you can use it as an external computer display, or use its touch screen as a mouse, or use it to turn on the radio on that alarm clock. Some current readers do support running applications, but the concept is limited to „things running in the foreground“ and uploaded applications cannot be altered.
Lets move forward. Just like that, you can take your television – which today is actually a computer, settopbox and a large monitor – and access it remotely in the similar manner. For example send pictures to it without having to synthesise the image into the antenna cable. You could take a thermometer behind the window, read its values via a reflective protocol and display it in a graph.
Hardware around you are not closed, single purpose things, but a part of open cooperating platform that performs at your will however you seem fit. You can script it, you can repair it and you can connect it via a unified and most importantly simple communication protocols. All of that without the need to flash linux via an insidiously soldered cable.
You take a look at a scale, which is an older device which only has a wired protocol in shape of a small standardized connector. Via that you read the scheme of scale's wiring, when you think – hey, what about trying to „blink“ with buses and broadcasting the scale's value in a TEMPEST-like manner? Within a few hours, you write a script which implements basic, simple version of a communication protocol everyone is using and let it to be captured by the radio alarm clock which transfers the value into a computer. Thanks to using axioms (open and simple protocol, reflective hardware, accessible scheme), you made a smart scale from a simple dumb device. Individual values of the clock can be stored and rendered into graphs, just like with devices that cost hundreds of dollars.
Generally, people in this alternative world combine devices and hardware in a way no one could originally imagine. Things around them are not single purpose devices, but tools out of which they can build anything they currently need – similarly to how the Man from PrimitiveTechnology utilizes resources from nature around him and shapes them into tools he needs at the moment.
But lets go a bit further. Since hardware is capable of talking via an universal interface with other things, as its owner with the access codes, you upload a monetization protocol. The software reads a value from your thermomether every ten minutes and together with a GEO tag makes it accesible to other people via ethereum. When someone wants to read the value, he must pay a small price in etheres, for example a few cents. That makes it a good deal not only for you, but also for others. You get money and other people get data for almost nothing.
Everything in the world around you is connected in the same way. Are you waiting for a traffic light in hurry? How about paying a dollar for the color to switch instead of driving on red? Script in a semaphore would consider it and if no one from the other directions offers more, it will allow you to ride in a different than pre-set interval.
The principle of monetization allows you to access the limited parts of API of any device around you, and also motivates the owners who operate it to make it accessible. World around you becomes your own extension. In a limitted manner, you can use any electronically controlled devices that their owners tagged and shared, or made available via a local wireless network.
The network is ubiquitous. You come to an encrypted wifi, which is everywhere these days, and your mobile phone will negotiate an access by offering a few cents per gigabyte. Other surrounding devices also connect to the wifi, and their fees are covered by also charging fees for their own use by other people.
That creates a positive feedback loop, just like with trains and coal where the more trains you have, the higher your coal consumption is, which allows you to build better steam engines and mine more coal. The more devices your connect and make available, the more money you get and the better your return of investment is.
Sounds interesting, right? Especially if you are a more technically experienced user. If not, you probably cannot imagine the use. But trust me that you would also find it, it is just that somebody would have to first make an „application“ for you.
Conclusion, or a blank, unwritten page (in a computer memory)
Let's just summarize what this blogpost was about and what I would like you to think about:
- People fill the spaces they encounter.
- Some people do not just fill the spaces, but also create them. But there is only a few of them.
- Spaces can be created „out of nothing“. From a code, an idea, a thought, which inspires others.
- Spaces can be created by adding more dimensions to existing thing. That is something anyone can do.
- Spaces are better and more used if they grow out of axioms, instead of the original author trying to cover all possible use-cases.
Open a text editor or pull out a page of paper. Look at the emptiness of its space, at the infinite number of possible configurations… and try to use it to create a space, in which other people might cultivate world. To what will you add the dimensions? Will you be able to open a space, where there was not one before?
Anything you want is possible in some sense. Actually, we are only limited by the physical reality in which we live. The only thing which really limits both our and the computer world is the amount of time and effort which the change costs us. Everything that happens revolves around one thought;
Do we really want it? How much?