I roughly classify people into Cat or Dog people. This is not necessarily about the animals they like but about their approach to friendship groups.
Dogs – They have a pack. They want to stay with their pack. These people stay in their home towns and have the same friends forever.
Cats – They roam where they wish, keeping whichever company they choose. They don’t have the same friends over time, they switch friendship groups easily.
I am some what between the two. I don’t need friends around me at all points but I do want to have the same friends over time. I have dubbed my close friends my Clan, rather than my pack. People I will help be they be far distant or not seen for a few years. I’m guessing people were more dog-like in the past but have been becoming more cat-like as people become more mobile and independent.
I’m not sure where I am going with this. But it is important for view of Clan and community.
Fitting in with RINA is the idea of configurable computing TM (working title). A future of computing where people can link together computer components in a visual programming model. These links may be local or span networks.
In the beginning was the command line, where programs can be combined together to do complex and varied task.
Next came the Application where apps are generally islands of their own perhaps sharing some libraries.
A brief trip to mobile app land (at least the android country) where programs can ask other programs to do things for them.
Now what next? Let us look go in to the stark utilitarian world of servers for some hints. Here programs setup long term communications channels between each other. Different programs can communicate in the same way and be swapped out. Most websites are built this way of components, the so called technology stack.
Can each person have their own stack? Controlling flows of information between multiple computers, devices and systems like digital wizards?
Apps are okay for the moment, so what will drive this future? It will be the personal capture of information and annotation of visual feeds. If people start life-logging, they will want and need to control what information goes where, what information is processed and how. Let us say there is a new component that processes video and extracts the text around you to be searchable, would you trust it with your video feed? To collect all your personal moments? If you could give it a doctored feed, one that detected faces and removed them? If you could see what other information flowed out from this component you may then trust it. Or this may be the comments of a very private man.
If nothing else it will be needed for efficiency. Different Augmented Reality apps need different information flows, however they share some pre-processing steps. They need to be able to merge these information flows so that more can be done with the processing power. Ideally doing such things in next generation fpgas for ultimate power/performance ratio.
A few design ideas
- Configuration should be separate from programming – This will align the operation of the computers with the users needs.
- Configuration should be visual
- Operation should be inspectable – You should be able to look inside any connection between component and see something
- Configuration should be copyable
- Configuration should be partially copyable (diffs and patching in programming)
- Configuration should be revertible (some form of git?)
- Configuration should be parameterised. You shouldn’t have to repeat yourself.
This post will be a work in progress. But I doubt anyone will read this for a while.