Cataloguing this under: “interesting ideas which don’t quite fit the broad vision concept but which I thought worth writing down”
Many of the tasks we (or at least I) regularly use computers and the internet for fall under some form of possible Anoma application:
- booking flights (at present: Google Flights, Skyscanner; Anoma: Modular Logistics)
- booking a car (at present: Uber, Bolt; Anoma: Modular Logistics)
- sending a bank transfer (at present: N26; Anoma: Kudos)
- messaging (at present: email, Signal, Slack; Anoma: Multichat)
- information retrieval (at present: Wikipedia, Google; Anoma: Knowledge Graph)
Typically, the interfaces for these kinds of applications, at present, consist of:
- graphical (touch) and symbolic (keyboard, mouse) user input
- bespoke visual display
Personally, I often find these interfaces obtrusive and alienating:
- I must fetch a physical device to perform the input and view the display. This often pulls me out of the flow of some other activity (e.g. a call with friends planning a trip).
- User input requires translating a desired semantics (e.g. “I want the cheapest flight available from X to Y on dates … not on a recent Boeing aircraft”) to specific input syntax (various buttons and form fields in Skyscanner, for example).
- Only semantics that the programmer of the user input system has specifically chosen to support are supported, even if data is available for more expressive semantics on the “backend”.
- I cannot easily use multiple applications (e.g. booking flights, hotel, festival tickets) in unison - I have to visit different interfaces for each, and the actions themselves cannot be performed atomically.
- Information is often split across protocols for arbitrary reasons - e.g. I would naturally index my communications by counterparties and topics of discussion, but separate communications protocols (Slack/Signal/e-mail/etc.) introduce further (undesired) segmentation.
- Available display options are typically limited, application-specific (cannot combine data across applications), and constrained by the imagination of the programmer.
With the combination of approximately:
- Anoma as a distributed operating system,
- A standard library of data types (e.g. Datetime, Location),
- Key Anoma applications (Kudos, Multichat, Modular Logistics, Knowledge Graph),
- Standard ontologies for objects (cars, airplanes, messages, …), and
- Local LLMs
… one can imagine a very different set of interfaces to these kinds of applications. In particular, graphical and symbolic input can be replaced entirely with natural language (spoken or written), and bespoke visual display can be replaced partially with natural language output and partially with synthesized views. Using natural language I/O and synthesized views removes the need for custom, per-application input and outputs views and allows applications to be seamlessly combined from the user’s perspective (based on semantics - e.g. “I want a flight and a hotel”).
cc @apriori curious for your take here