9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Chris McGee <sirnewton_01@yahoo.ca>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Questions on the browser as a platform if plan 9 had gained	marketshare
Date: Sat, 17 Sep 2016 09:23:18 -0700	[thread overview]
Message-ID: <1474129398.70526.YahooMailMobile@web161803.mail.bf1.yahoo.com> (raw)
In-Reply-To: <CAK0pxsGcr15pw4PO2DOQbpw=95UxztgSRU_DZRtgnrNpMe-=cA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3632 bytes --]

Hi,

I have been pondering the same kind of thing myself lately. In an alternate bizarro universe, what would the web look like that is modelled more around plan 9 concepts. Here&#39;s my fantastic take on this.

First, there is a focus on simplicity of implementation and interface over flashiness of UI. As a result, services are much easier to use directly rather than having to rely on html/js UI&#39;s. You just mount search engine, route planning tool, or even shopping site and echo commands into the ctl file. And you get back results as numbered files with simple text output. User doesn&#39;t accidentally run malicious software embedded in the service. It&#39;s all just 9P.

If a service is complex enough, due to complexity of the problem it is trying to solve (not invented complexity). Source code is posted on the service in C source code form. User runs mk, which is super fast because the compilers are optimized for this. They run the program in a rfork+rio sandbox. Users quickly learn how simple this is and do it regularly so that in trusted programs don&#39;t have access to what they shouldn&#39;t. The process isn&#39;t automatic so it doesn&#39;t happen without user knowledge. Pop ups and such are not possible.

User wraps the connection in tls if they don&#39;t want any snooping. Sensitive services such as banking don&#39;t allow unencrypted sessions.

URL&#39;s are just relative paths, navigable using acme and plumber. Absolute links to sites don&#39;t exist since the user can map their namespaces any way they choose. Instead, documents may give 9P connection information and locations. Cross site linking becomes very clear. To facilitate ease of navigation and discovery services pop up to curate documents with nice easy relative linking within that service.

Multimedia documents with both pictures and text are compiled into self contained files kind of like PDF without hyperlinks and arbitrary code expectation. Links between documents are relative paths as above. Users are accustomed to using simple text or even markup/markdown for most things. This rich format is for longer and more focused reading sessions: studying a topic, leisure reading.

Implementers of Internet services have a strong focus on simplicity of implementation and interface, but also in adopting common conventions. For example, a ctl file where you send commands and numbered directories with results of each invocation. Perhaps a new convention could be to include a readme file and maybe man page with details about how to use the service. Also, services are designed to be focused enough and standard enough that they can be easily interact with other services using pipes, redirects, etc. so that the user can combine them to suit their needs.

Services take advantage of the simplicity of plan 9 and 9P to easily sandbox, proxy and load balance their services. Also, commodity and mixed architecture systems are easily integrated for free or new services that are built with whatever hardware they can find.

Single signon is achieved using symmetric encryption. If the service recognizes your public key and you are able to sign a message using your private key you can proceed. Not sure how much overlap there is here with what is in tls and factotum. Something like factotum could be useful to allow you to specify different keys (identities) for different services. The point here is that authentication is in the user&#39;s control and not the service. The user ever only needs to remember one password or store their thumbprint in one place.

That&#39;s all I have so far.

Chris

[-- Attachment #2: Type: text/html, Size: 9310 bytes --]

  reply	other threads:[~2016-09-17 16:23 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-17 15:19 Marshall Conover
2016-09-17 16:23 ` Chris McGee [this message]
2016-09-17 17:04 ` hiro
2016-09-17 18:51   ` Jules Merit
2016-09-19 17:11     ` michaelian ennis
2016-10-01 15:03 ` James A. Robinson
2016-10-01 15:05   ` James A. Robinson
2016-09-19 12:44 Marshall Conover
2016-09-19 17:25 ` Chris McGee
2016-09-19 20:55 ` Chris McGee
2016-09-20  6:16   ` David Pick
2016-09-20 17:42     ` Chris McGee
2016-09-22 22:49       ` michaelian ennis
2016-09-22 22:53         ` Chris McGee
2016-09-20  7:47   ` hiro
2016-09-20  8:09 ` hiro
2016-09-19 22:00 Marshall Conover
2016-09-21  3:11 ` Chris McGee
2016-09-20 16:48 Marshall Conover
2016-09-20 19:46 ` hiro
2016-10-01 20:17 Marshall Conover
2016-10-01 20:21 ` Jules Merit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1474129398.70526.YahooMailMobile@web161803.mail.bf1.yahoo.com \
    --to=sirnewton_01@yahoo.ca \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).