The software in our personal computers already helps solve many types of problems but there remains a significant gap in coverage. Because our software tends to take on the same basic structure, we also tend to take a narrow view of what problems can be solved and how much complexity is required.
I'd like to introduce a way of thinking about problems that combines with a particular software structure which then solves the types of problems we don't normally consider to be accessible.
What is a problem?
It's common knowledge that when your behavior doesn't fit your environment, you have a problem. One way or another, you're going to be informed about it. Street slang doesn't go over at a banquet and flowery eloquence doesn't fly on the street corner. Yet the same person can fit in either situation if they modify their speech, manner, and dress.
Put more generally, a problem is a signal from your environment that you need to adapt. Stated another way, a problem is a signal that your behavior and your environment are misaligned. Think of that signal as valuable information: without it, you have no idea what risks you face.
Looking at problems in this general way allows us to view solutions generally as well. Rather than re-framing a particular problem, I'm framing the idea of what a problem is so that the process of solving any problem can be dramatically simplified when combined with software built upon those ideas.
If you can't wait to see an implementation, set aside your preconceptions and skip ahead.
A problem is a signal from your environment telling you to adapt
This framing has two major components: the signal - information from your environment - and your response to that signal - adaptation or behavioral adjustment
You could argue that environment is the third major component, but it's more convenient to consider it a medium or substrate that can be swapped out whole.
Successful adaptation is alignment between behavior and environment. Either may change at any time so this alignment is a continual balancing effort. Greater success is a finer alignment; not only with the details but also with the whole.
If you're thinking there's a huge amount of signals out there, you're right. Very few of them are relevant to your interests. And that's key: interests (better referred to as goals), are filters that allow us to tune in to what's important and ignore everything else.
A goal isn't only a high-level ambition like "become a rock star" or "get that promotion". Each of us is born with the basic goals of "stay alive", "reproduce", and many others. Goals can also be transient, small, or somewhere in between. They represent our path through the present and into a hopeful future. Without them, no signals matter and existence is futile.
Solve any problem by adapting your behavior
Let's say there's a way to implement a general solution to any problem in software. What would this software have to do?
Personally beneficial adaptation
Foremost, it must assist the adjustment of your behavior in personally beneficial ways. Without offering that, no alignment happens and no problems get solved.
It's in each person's self interest to continually adjust their behavior toward alignment with their environment. We each already do this; all organisms do it. It's the basis of evolution. Instinct. And yet we somehow lose sight of how closely our behavior is tied to our personal problems, social problems, and our ability to achieve our goals.
For this software to actually assist, it must be exclusively focused on an individual's unique reality. Otherwise the effect devolves into other people trying to adjust your behavior, pulling you away from your own interests. You'd be wise to not trust software that allows this.
So this software must fundamentally put each persons's interests first. An uncommon appreciation for privacy and a refined awareness of its implications is necessary. If you're thinking that the Internet makes privacy very difficult, you're right. The software would have to offer a way around that.
Capacity to adapt
One way to assist in a general way is to increase a person's capacity to align or adapt. This might include defining and clarifying goals, improving awareness of one's behavior and environment, or improving the quality of existing signals. Ideally, connecting it all together. Effective adaptation requires information; the higher the quality of information, the more effective the adaptation.
A capacity to adapt is of critical importance to your well-being and potential. If you are stuck in rigid patterns, well, you have a problem. Even if this rigidity aligns with many of your goals, you'll find it probably doesn't align with your environment. You'll have a lot of trouble responding to new signals, if only because you haven't been practicing. Soon you're at risk.
Instead, it's often better to be more fluid, varied, and exposed rather than so closed in and protective. This increases your capacity to adapt because you will at least be responding to signals and parrying small problems, developing some skill at it and allowing you to become stronger. A skill that's very useful for when larger problems surface. A skill that's also used to make the fine adjustments that keep you on the path of least resistance and away from many big problems.
You may have encountered this idea as anti-fragility.
So this software would have a built-in bias toward the higher quality behavior represented by anti-fragility. Any other bias would render it useless and even harmful. Besides, existing software has the market for rigid and fragile locked up.
In addition to the above requirements, for this software to be truly focused on an individual's unique reality, it must be equally accessible and available to all individuals. If it were focused on a specific type of person, or a particular type of problem, it would be unlikely to help you with your problem. That'd be quite the failure. So a fundamental simplicity with freedom of direction is necessary.
High quality information
It makes sense for this software to deal only with high quality information and focus on increasing that quality. That's where the useful signals are found. That's where one attains an actionable awareness of one's behavior and environment.
It's only from high quality information that a person may operate with confidence: clarifying and refining their goals, seeing what needs to be done, and acting decisively. Low quality information leads nowhere fast.
Pulling it all together
To summarize this software:
- Free of outside influence
- Unique to each individual
- Promotes high quality behavior
- Begins simply, can be taken in any direction
- Easy enough for anyone to use
- Accessible to anyone
- Available to everyone
- Deals with high quality information
- Actually exists
What's the catch?
The catch is that software possessing all of these properties isn't going to look or work like other software. Really, how could it? These properties represent the opposite of modern software.
Tying it all together is this simple idea:
When you act, inform the software.
That's the essence of it. At the beginning, the software saves the record along with the current time. That's it. Later on it can include more context and more detail.
You recording your own actions in private is high quality information. Your actions compose your behavior. Your goals are met through action. Algorithms can easily pull out signals from that information as it accumulates. All of it can be an interactive visualization.
Now there's a feedback cycle with the basics necessary to help solve problems, based on increasing your capacity to adapt. And then it all moves forward from there.
I've implemented all of these ideas in Benome. Although it's newly released and early in its development, you can already find in it many of the above properties, with more to come.
Drag from the orange circle to the middle to create a new activity. Drag that activity back to the orange circle to record an action. That's all you need at the beginning and it's simple enough for almost anyone.
Past the early basics, it's tap to navigate and drag and drop to reorganize. Then more capabilities whenever you're ready. Each person progresses at their own pace to develop a well-structured pool of high quality information that mirrors their own life and goals.
Because it's a web app, it's immediately accessible to a wide range of people - anyone with a remotely modern computer or somewhat recent smartphone (I use a Nexus S from 2010).
Most significantly, it will be capable of standalone operation (no Internet required) like classic software. That's the only way to get complete control over privacy and security.
After a few months
This second screenshot is the top-level view of my personal benome. I track hundreds of activities with minimal effort. The circles normally have labels but they've been removed for the sake of privacy.
When navigating by tapping circles (as shown in the next screenshot), they become the new central focus and expose further activities. All of the original basic interactions still apply.
In case you hadn't noticed, it's visually very different than the usual piece of software: smoother, more fluid, and more organic. No boxes, borders, corners, lists, layering, stacking, or even necessarily text. Those attributes tend to evoke much more structure and form than is appropriate for an intensely personal experience. They are useful, but best suited for broad distribution, impersonal scenarios, and specialized needs.
This third screenshot shows the social activities I'm involved in (minus labels). It may look a bit busy but there's a couple of things to note:
- Your structure is completely about you
- Because you develop your own structure, you know exactly where things are and what they mean
- This view shows everything but it's easy to reduce the level of detail to what's important right now, relative to the current focus.
- You can see how you got here; there's a visual return trail indicated by the white glow
- It's very quick to navigate both nearby and vastly separated activities
Benome is only one vision; you may well have your own. I think it'd be wonderful to see a variety of implementations.