20211231 Orbital Design Summary 2021 - orbitalfoundation/wiki GitHub Wiki

Orbital Design Summary 2021

December 2021 @anselm

This summarizes the design thinking from January 2021 to December 2021. The thinking here influences the prototypes (documented separately).

  1. Overview
  • Contributors
  • Roadmap and Governance
  • Methodology
  1. The Web Today
  • The web as an "app runner"
  • Issues of the web
  • Typical Metaverse software stacks
  1. Future Trends
  • Near Future Headlines
  • Macro Trends
  • What we are not seeing
  • Use Cases
  1. Breaking down the Trends
  • Sense Making
  • Participation
  • Computation
  • Decentralization
  • Security

1. Overview

Orbital is a project to technically explore the question "What will the web browser look like in 10 years?".

In this work we have specific goals:

  1. Build tangible running software prototypes of the future that exercise our observations.
  2. Give ourselves room to do "blue sky" wide ranging speculation, research, interviews with no particular constraints.
  3. Identify the "edge" where new computing paradigms are emerging while recognizing legacy systems will remain with us.

Our conclusions (which we go through below) are that web browsers are going to be unrecognizable in a decade. Briefly:

  1. Browsers will be general purpose operating systems focused on rich apps, not pages. HTML will be less common.
  2. There will be a strong focus on computer vision, machine learning and digital agents.
  3. There will be strong pressures from OEMS for code portability.
  4. Security will exist between parts of apps, not just around apps.
  5. User agency and creativity will swing back to center - allowing creative programming and sharing of lightweight apps.
  6. User experiences will primarily be in heads up displays - Augmented Reality and Virtual Reality.
  7. Equity, fairness, access and healthy conversations will remain challenging to deliver on as values. Technology is racing ahead of safety.
  8. We expect to see Augmented Reality interfaces mature rapidly in a similar way that we saw 2d desktops mature and smartphone UX mature.
  9. People will live and work in enhanced Metaverses; their 'home' will be a mixture of the real world and virtual artifacts.

We also built a prototype which is available on github and which we discuss in detail below.

Contributors

Orbital was started in January 2021. Principal contributors include Anselm Hook and Desmond Germans with input from Tish Shute (Leichliter), Yue Chen and Rik Arends and with stewardship and seed funding from https://www.futurewei.com and https://makerlab.com .

Roadmap and Governance

We closed out phase 1 of research (which we now discuss below) and will next begin defining a roadmap and technical direction for phase 2. Part of our roadmap for phase 2 is Governance itself. We are evaluting switching to a DAO structure to steward future participation (see DAO section). Our initial roadmap was here : https://orbitalweb.github.io/engineering/2021/01/01/roadmap.html

Methodology

In our research we attempt to imagine both "opportunities and challenges" that users may be facing in the next 10 years and then the kinds of applications that may exist to solve those needs.

We use a 'praxis': a balance of thinking versus implementation. We choose to ground our work in actual running examples (which are available in our github repository under an open source license). Although this work is a "blue sky" interpretation of the future we want to avoid being purely speculative. Essentially we seek to "connect the future to the present" by providing running code.

Success for this project is measured by actionable conclusions, with concrete specific examples and running (if rough) implementations. Ideally this work provides utility for developers, OEMs, market makers, designers and other parties with a vested interest in the future of personal computation.

2. The Web Today

The web as an "app runner"

For our purposes a modern web browser is a rich media communication tool. As the ubiquitous social medium of the age, dominating over every other form of media, and possibly the glue that connects our entire planet, we can examine the web through several lenses:

  1. One definition is as a Turing complete personal computing platform - a broader interpretation which leaves room for fresher interpretations of browser responsibilities and better illuminates emerging tensions.

  2. Through an anthropological lens Web-browsers can be considered 'just another tool' in a long line of tools that hominids have built. It is worth noting that while we apply selection pressures to our tools, our tools also in turn select for people who are best able to navigate those tools. There are co-evolutionary pressures. But Web-browsers are relatively novel in that any participant can create content, including apps, and publish it on the web, relatively free of oversight. It is part of a protocol driven set of services based on standards that are open, free, widely distributed, and not (yet) controlled by any one party.

  3. From a technology perspective the web is part of a larger trend of 'personal computation'. This includes personal computers, personal operating systems, app stores, online services and a wide variety of other services and tools [ See https://en.wikipedia.org/wiki/Personal_computer ]. The general range of computation devices circa 2021 include: 1) Smartphones. Smartphones are general purpose computing platforms that run arbitrary applications, typically delivered through a walled garden or app-store. Most consumers have hundreds of separate apps on their devices. Typically these apps are brought up on demand and are driven by user interactions. Typically these devices run specialized operating systems that focus on interactions with one app at one time. 2) Personal Computers. Personal computers run a wider range of services and applications. There tends to be a set of 'always on' background applications that are running even when the user is not interacting with them. Desktop interfaces typically present multiple applications simultaneously. 3) Cloud Services. Similar to personal computers, often users spin up persistent applications or 'agents' in the cloud to perform background continuous and ongoing work on behalf of that user. Often the user is notified asynchronously when results are found. Often there are many applications running simultaneously. 4) Web Browsers themselves. Although >90% of web browser interactions take place 'inside of' smartphones they are a separate computing platform. They are a way for consumers to access information outside of walled gardens. A legacy pattern of web browsers used to be to visit 'web pages' primarily composed of text (running a browser built in application that delivered a presentational view). Today most websites are custom applications with arbitrary views, sometimes in 2d, sometimes in 3d. These are brought up on demand and driven by user interactions just like other smart phone applications.

  4. From a utility perspective browsers may be the predominant way that people access information. "In 2020 an estimated 4.9 billion people used a browser". Typical kinds of information and uses include:

  • As a viewer for media-types such as text, images, video.
  • As a thin client interface to corporate services, both internal to corporations and externally.
  • As an app delivery platform such as for social networks, chat rooms, video games, authoring and collaboration tools, video conferencing.
  • As a way to communicate money; this in part enables "creative sovereignty" to ecosystem contributors.
  1. From a "how does it work" perspective a browser first typically reads a 'manifest' from a server and produces whatever that manifest says. It fetches the pieces of an application as defined by that manifest, and then produces interactive displays based on commands of that manifest. What the user perceives of as an single application is a set of capabilities distributed between client and server. Sometimes the client is a thin-display, handling UX only. Sometimes (as in some single page apps or web3 apps) the server is shallow, with the client handling full authentication and updating records in public ledgers / databases.

  2. Philosophically the web is somewhat unique with respect to other applications. The web can be thought of as a signaling network or even a nervous system for an emerging hyper-organism. And in this light the question emerges of how well does it serve all stakeholders? There's a historical precedent of "view source" and a way that it is more accessible to novice web page builders than other communication tools. Notably as well the web has accessibility capabilities that native applications almost universally entirely lack. Since web pages are often based on a well defined markup grammar it is possible to provide accessibility controls such as page to voice in a standards based way.

Issues of the web

Today web browsers are facing significant technical challenges as consumers, developers, OEMs and other ecosystem participants seek lighter weight, more stable, more secure computational platforms for full blown apps. The Web simply has a poor app model, it has a poor trust model, and as a result has a hugely slow process to approve changes for wide distribution. There are some efforts to re-architect major portions of back-end infrastructure and centralization with public ledgers and distributed storage solutions such as IPFS but these have a hard time making into the "core" of what is considered a browser. It is worth noting that the web is responding to some of the technical pressures being placed on it - we did a survey of WASM and looked at web strengths and weaknesses as well.

There are also strong social and political pressures placed on the web. The family of related web adjacent services (services that use URLS) such as facebook, twitter, google are worth inspecting and critiquing for their role in either fostering or denying "healthy conversations" (as Mozilla refers to it). We've seen that it is economically efficient to weaponize trust on the web; creating sock-puppet accounts, manipulating media, injecting noise into the network, to redirect the energies of millions of people.

Missing Pieces on the Web

The "blue sky" opportunities therefore are significant. Trust Graphs can be used to establish trust between parties, and self-sovereign ID (such as is common with say metamask) can reduce the audience capture that rewards walled gardens. There's also an opportunity to vastly reduce the scope of a browser, to have it focus purely on being an "app runner" and forgo concepts such as HTML. It can then focus on managing packages such as code or data assets, and durable persistent applications. In some ways this becomes more like a computational assistant, less focused on presentation and more focused on simply being a general purpose service. Reducing core scope, formalizing trust better, all act to reduce some of the pressures we see today - such as on the W3C to ratify every single design feature that goes into a browser.

Blue Sky Opportunities

Typical Metaverse software stacks

[TBD]

See https://www.matthewball.vc/all/themetaverse .

3. Future Trends

Near Future Headlines

Looking at https://futuretimeline.net we can get a sense of pace of the next decade. We start to see strong AI coming to the foreground, we seen environmental issues that will become increasingly challenging. We generally see computation continuing to grow, and we see computation bridge into the real world with service robots becoming ubiquitous. Tesla has already sold half a million cars, but we should also expect to see service robots take on other roles - and this is specifically due to improvements in computer vision and real world dexterity.

Here is some closer study on macrotrends over the next decade: https://github.com/orbitalweb/orbitalweb.github.io/wiki/20210105-PHIL-Macrotrends-2030 .

Here immediately are a few top headlines (although it is worth looking at source material and other future predictions as well):

  • 2023 IBM debuts 1000+ qubit quantum computer
  • 2024 Starlink reaches full capacity
  • 2025 Global crowdfunding markets reach 100 billion dollars
  • 2026 First uncrewed exploration of lunar lava tube
  • 2027 Completion of the Australia-ASEAN Power Link
  • 2028 Resurrection of several extinct species achieved
  • 2029 Human like AI is becoming a reality
  • 2030 Orbital Space Junk is becoming a big problem
  • 2031 Much of Bangkok is abandoned due to flooding
  • 2032 Web "4.0" is transforming the Internet landscape
  • 2033 Quantum computers are cracking RSA-2048 keys
  • 2034 A billion service robots are in use

Macro-trends

We observe general trends:

What we are not seeing

  • Trust Graphs. Provenance and computationally guaranteed trust on the authenticity of content remains an issue. While it is already possible to score or evaluate content based on a signed trust graph (Keybase for example) we don't yet see the pressures to force this down to the consumer level (even though consumers are today often mislead by misleading media). In the next decade, with increasing decentralization, it may become necessary to use self sovereign identity and cryptographic signing keys to help improve trust. We don't yet see clear forces pushing in this direction however.

  • Strong AI. While it looks like timelines suggest strong AI emerges in the next decade, it doesn't seem to clearly factor into the thinking that we are reading about. At the same time this is a wildcard that could have outsized impacts.

  • Accessibility. We also don't see the kind of focus we'd like to see on access for the blind or people with other kinds of differences in sensory inputs and outputs.

Future Use Cases

By looking at future predictions and speculating on user needs we pull out some possible (if still slightly abstract) use cases. We also did interviews - notably Gary Bradski from OpenCV who had a lot to contribute as well - see https://en.wikipedia.org/wiki/Gary_Bradski.

Here we sketch these out as examples of capabilities any future browser may need. A copy of this summary is also here: https://github.com/orbitalweb/orbitalweb.github.io/wiki/20211003-Development-R11-M3-Use-Cases .

  • Bespoke computer vision and display synthesis. We see pedestrians having compute platforms similar to vehicles. Actual use cases are serendipitous discovery of friends nearby, or ambient contextual matching (an opportunity exists to help a new friend solve a problem that you're good at). Another use case is simply navigation and routing (especially as street signs or street lighting may be obsolete with the rise of AR glasses). It's note-worthy that these services are running all the time in the background (we discuss this in more detail here https://orbitalweb.github.io/philosophy/2021/02/10/persistent-web-apps.html ). These services may even be downloaded and run on device without explicit consent, for some classes of applications. For example a group of friends may want to put a funny hat on all their friends who have a given NFT. This also has several implications about segmentation and semantic intent and "right sized grammars" for expressing intent in an efficient way. See https://github.com/orbitalweb/orbitalweb.github.io/wiki/20210529-Dev-M2-R6-Parts and https://github.com/orbitalweb/orbitalweb.github.io/wiki/20211002-Development-R10-M3-Flow-Language-Scripting .

  • Bespoke farmbot. A farmer may have a fine-grained management of a microbiome ecosystem with fairly specialized arrangements for tree cover, nitrogen fixing and so on. And they may have a fairly complex scheme for what kinds of bugs or plants they want to encourage or discourage. They train a farmbot to keep an eye out for certain kinds of flora or fauna, and they share this with other nearby farmers in the same biome (see OpenCV and https://github.com/opencv/opencv_zoo ). This is a point that Gary Bradski emphasized.

  • Creative and or Social work with friends. A group of people may want to create or share a model of a project together to do a barn-raising. This means rendering that model in 3d, between the participants, and letting participants all work together and especially see each other working together, to learn and refine the work. (See Figma and Miro).

  • Live Programming. In some venues such as music venues or live art performances it may be helpful for a programmer to be able to safely and quickly make live changes to an application. This could be as simple as a visual shader or a more complex set of effects (see Ableton and MaxMSP for example). This also suggests visual models of programming.

  • Just in time agents and expertise. An exopaleontologist on Mars may want to bring tools to their device to analyze a fossilized leaf pattern. This means pulling down computation from the cloud, probably running it on device, having that digital agent be able to advise the researcher on where to look for more fossils or provide other real time contextual advice.

  • Political Cartoons. Humorists or meme makers may want to make and share small apps and humor (rather than just images) and will want ways to quickly and easily deploy this humor to their network. An example is a parody face mask that they or others can wear.

  • Complex Systems Modeling. Environmentalists or other groups will need better tools to predictively digitally simulate or model the near term behavior of whole systems such as watersheds, small towns, estuaries, factory economic and ecological concerns, the impacts of new laws or policies on indigenous communities. Importantly there will be some pressure for these tools to be civic, accessible and editable.

  • Secure Computing. There will be increasing pressure for technology users to feel safe, that as their data is increasingly in their devices, that those devices are difficult to compromise.

  • Dynamically Load Balanced Computing. Apps today typically run on device or run remote. Bridges between parts of apps are explicitly and painstakingly engineered. There appears to be some pressure to automate RPC calls and provide tools that seamlessly straddle between client and server. That implies apps themselves will have their internal components or "services" running on different devices simultaneously, and that will be dynamically balanced by some kind of hypervisor based on whatever is most efficient and meets latency requirements. In some cases (such as querying a medical database) the volume of data may preclude local computation on device, or in other cases latency may be critical (such as a game).

4. Breaking down the Trends

From the above general use cases we then break down personal computation challenges into these future challenges and opportunities:

Sense Making (input)

Currently digital assistants are largely software with fairly limited sensors (GPS for example). We expect that to change over the next decade to more powerful sensors, especially vision sensors. In this role there are a combination several such as raw sensing itself, segmentation, and presentation to a user. Here are these pieces:

1 - Raw Sensing

We already live in a complex world of always-on, actionable information. This includes real-time updates from an extensive network of friends and peers via messaging, email, various online chat services. It includes alerts and notifications from our devices. We routinely deal with complex real time navigation issues; be it finding the nearest hardware store, or driving through town to meet a friend for dinner.

The hidden 'information landscape' that is loosely connected to our real world provides critical contextual information that is highly valuable. This includes well established capabilities like being able to see and route around traffic accidents, but also can include future understanding that is more subtle such as seeing the relationship between the placement of rocks in a stream and trout habitat. We believe that there will be continue to be pressure to make this hidden information landscape more visible and more actionable.

Specifically we note that with advances in computer vision it seems plausible to extrapolate that we will individually each be carrying compute devices that can 'see' our world and therefore more easily provide contextual cues. Car compute platforms today already demonstrate these trends and the same kind of computer vision sensing platform may migrate down to pedestrian roles in the future.

As well we will be living in a world with robots with fairly impressive computer vision capabilities, this includes vehicles and other assistive devices. We need common foundations to be able to communicate with, teach and guide these devices. In the near future a farmer for example may have a farmbot that they train to look for a certain pest, and they'll want to easily train (or otherwise program) the recognizer and then share their work with other farmers in their local microbiome. There will be pressure to have standards based foundations for those conversations between humans and robots.

2 - Segmentation

Computer vision platforms will want to conserve compute on device, so there will likely be some kind of scene-graph abstraction built up by different vision models, available to third party components. Effectively we should expect to see high level semantic feature abstraction, segmenting out and labeling features, and making them available to other services. We see this already with the Niantic Lightship project: https://lightship.dev/ and with the Qualcomm Snapdragon Spaces https://www.qualcomm.com/products/features/snapdragon-spaces-xr-platform as well as with Apples ARCore and Androids ARKit to a lesser degree.

Another form of segmentation or filtering is trust graph filtering (based on cryptographic handshakes). This is similar to the way bitcoin or DNS work. We expect to see this, but we don't see it. It is not clear why that is the case. Trust graphs are an excellent way to throw away spam. Perhaps it will emerge later.

3 - Presentation

At the presentation level almost certainly heads up displays are going to be the norm. Even though smartphones dominate today, they are only a decade old phenomena, and there's nothing to suggest that smartphones will continue to gain territory against devices that have much larger screen space and that can be used to mark-up the real world. Once form factors come down, and given Moores Law, we should expect to see wearable AR glasses be the norm rather than the exception.

This leads to a new challenge however which is display fusion. Many different applications will be competing for the users field of view. There will need to be arbitration strategies, and there will need to be a shared scene-graph or some kind of shared model both of what is being segmented out by computer vision and what is being painted on by third party apps.

Likely, as well, there will emerge a 'right sized' language for expressing high level semantic intent. A user written application will likely not be asking to paint say a clock, or a cat, at a specific XYZ location but rather "on the wall" or "on the ground". For example a group of participants who own an NFT will be able to see NFT hats on each others heads; this is a combination of computer vision partitioning, recognizing participants, and then a user loaded application that paints onto the context.

Personal Creative Agency (output)

Whatever the future holds, it will be one where we want to retain creative agency.

App distribution platforms today are still leaning towards more of a walled garden effect, where the privilege to publish apps into that garden is controlled by a few. This tends to discourage diverse voices, and tends to harm the ecosystem as a whole over the long term, because of a paucity of ideas and a failure of the closed market to evolve with the zeitgeist of the times. The expectation (and perhaps hope) is that pressure to open up participation will swing the pendulum back towards participatory creative economies.

Apps are a relatively new medium for persuasion and creativity. Computation is a form of conversation, it is becoming a way we "talk" or communicate ideas to each other. We share small digital simulations or predictive models. We share toys, humor and insight. Political commentary often can be described as an app. Under-represented communities can make or repurpose existing apps to speak to their own communities. Often edge features in existing apps, such as adding new language support, in a sense becomes a social and political act.

Opening up tooling is hard: the compilers, the libraries, the publishing channels, the documentation - all of these are pieces of building an app. Programmers have high expectations. They want to be able to write a piece of code easily, publish it as easily as we do to the web today, not have to go through an app approval process to do that, and be able to distribute to a wide audience.

Beyond merely being able to write and share an app, there's an idea of "creative programming" and "live programming" where when it becomes easy enough it can be similar to other creative arts, almost a real time interaction. People also want to work together on "social programming" as well. In some senses the emerging (and vast) repositories of open source libraries and tools are evidence of social programming. Future programming in general starts to look different. It probably is reliant heavily on being able to wire together large collections of third party tools and widgets. Future apps may in a sense be largely manifests of third party pieces wired together rather than large blobs of unique code.

Along with agency is an increasing recognition of equity, fairness, inclusion, equal access. There are still billions of people waiting to come online, and if they had been first, the web would have been very different than it is today. One way that we can improve accessibility may be with visual grammars that don't rely on writing terse code in text but instead allow programmers to represent and wire apps together visually. * Note that even in a world without centralized mediation we should still be interested in and expect "healthy" conversations. There are ways to let everybody publish their own ideas at will, while still discouraging deliberate trolls and bad actors. Wikipedia is an example.

Personal Computing

Personal computing is the concept that we personally can each direct computational resources. This is similar to any tool leverage that we humans have. However the degree of leverage is significant enough that it has disproportionate impacts and effects relative to our other capabilities. Part of this is simply the immense computational resources available to us - see https://spectrum.ieee.org/ibm-mainframe .

Our tools also define us - and we do seem to be ourselves becoming a hybrid of humans and technology - see https://www.ted.com/talks/amber_case_we_are_all_cyborgs_now .

Notably most of us are already are not able to function at all without our devices. If you put down your cellphone for a day you'll find that you simply cannot navigate the modern world successfully. Street signage no longer matches where you're being directed to go. Almost every plan now requires being able to send a message online, or make a small payment digitally, or look up some change of situation. And more to the point other people expect to be able to reach you digitally; to change plans at the last minute.

At the same time hardware is hobbled by legacy patterns, bloated software stacks, technology moats, terrible security models, a lack of durable component packaging and distribution. Apps also require too much expertise to write. All of this means that apps run hot on devices, waste battery life, and cannot deliver features. There will be significant pressure to optimize these stacks, and to find common ground and reusability. Effectively OEMS will want to compete at a higher level, not by building moats around the lowest level software foundations (as they do now), but in other areas, possibly by offering the best user experience.

These are trends we expect to see:

1 - AR Glasses Compute Platforms

The idea of hardware such as AR glasses is common, and looks to be an emerging trend to replace smartphones, but what isn't discussed as clearly is the kinds of "application runner" or software that is needed to allow many competing apps to each paint their own views onto a users eyeballs. What operating system is a device that you're wearing going to run? Is it open source? How is that device going to deal with dynamic late delivery of many very small apps, services and code fragments? How will those apps be sandboxed? What persistence model with these apps have? How will different vendors be able to enter the market place that will emerge?

2 - Machine Code Portability

Many different vendors already produce new hardware platforms rapidly. This should be expected to intensify. They will create pressure to establish standards. What will those standards be? What kind of kernel or operating system are they going to want to install on their new devices? What kind of vendor lock-in will they be concerned about? What kind of computational foundations can handle multiple chipsets as a target? We see many operating systems and microkernels ranging from Linux to Android to ROS.

The pressure here now becomes extremely similar to what the web already does in a way, but with an intense pressure for high performance portable computation. The 'write once run anywhere' that Java promised, but due to licensing failed to deliver, becomes relevant again. We also see excellent candidates such as Rust/WASM rushing in to fill the gap. Other projects such as CloudFlare Workers also hint at a future of portable computation able to run across a variety of devices.

3 - Granular Services

Apps themselves will likely be composed out of smaller services. We envision a package manager model similar to NPM or package managers.

4 - Apps as composable graphs

Apps may largely become 'manifests' that describe which services to load and run, how to wire them together, and the security policies between all the parts. The wires between parts form a "graph" that defines at a high level an actual packaged product. This graph is ideally stateless (for reasons of sanity) but may be conceivably dynamic as well [ see https://arxiv.org/pdf/1702.01596.pdf ]. See also https://docs.confluent.io/platform/current/streams/concepts.html

5 - Security

With applications running on device, similar to what we already see on the web, there will likely be an increased need for security. Not just to sandbox entire apps, but to sandbox pieces of apps, since apps themselves may be made up out of granular components.

6 - Computational Soups and Load Balancing Hypervisors

With portability we should expect to see compute move to where it is needed on the fly. In some senses what an app "is" becomes less clear. Parts of an app (services an app is composed out of) may move to device, or off of device, based on some kind of efficiency analysis by a hypervisor. Today edge computing devices run different code that "edge of the edge" (on device) computing platforms but that distinction between client and server may dissolve. As well, apps may upgrade without halting.

7 - Cloud Computation Remains Muddy

Although our focus is personal devices and personal experiences, increasingly these experiences are distributed over the cloud, and cloud computation and scaling needs is worth keeping in mind.

Costs of building scaleable cloud infrastructure is still wildly unpredictable. It is still as much a craft as it is a science. This includes topics like load balancing computation, storage, latency, authentication strategies, analytics on downtime and usage statistics, traffic routing, security, heterogenous devices, distributed denial of service mitigation.

Grammars, tooling, languages and portability is still also in the process of being refined. We've seen migration from python to Java to Javascript based response handlers (such as Deno/Nodescript) more recently Rust/WASM (such as Cloudflare Workers). There are legacy structured database systems, UNIX images running inside Docker instances, more recently no-sql databases, all kinds of specialized machine learning tools, image processing tools and so on for almost every specialized topic domain one can imagine. Often these systems are simply too large to run on device; even though user devices are in some cases actually faster than typical cloud servers.

Large systems are not actually as stable or predictable as they appear either. Ultimately library interfaces are synchronous and state propagation and event handling can end up in unpredictable states. Debugging complex systems can be extremely challenging.

Decentralization and Identity

[TBD]

See https://orbitalweb.github.io/philosophy/2021/02/05/self-sovereign-identity.html

Security

[TBD]

This section will elaborate on 1) security, 2) privacy, 3) safety - where security is basic protection against say having funds stolen, privacy is more focused on human rights, and safety is concerned with freedom of expression, healthy conversations, protecting and encouraging diversity, inclusivity, interfaces for different capabilities of different minds and bodies.