[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ideas



Claude <Claude.Lecommandeur@Epfl.Ch> wrote:

>My opinion is that inferno will be succesful if and only if it
>provides an awesome (and free) Web browser with a large set of colorful
>(possibly useless) applets. The success of Java was initially due to
>the existence of HotJava (even if we don't see many HotJava today).
>This Web browser will be the hook to catch the herds of new Internet
>users that are now deciding the successfulness of new products.

I kind of agree. Web browser is currently the icon of a computer
application. Lucent should be able to produce a Web application which is
significantly faster, samller, easier and flashier than Netscape or its
clone, Explorer. This would be a very marketable product and given the
architecture neutrality the market would be huge. Say two million copies
sold for 40 bucks each, Inferno included. You should be able to produce it
with 80 million dollars.

Actually I have asked the people behind my favourite Web browser Opera
(small, fast and keyboardable, <http://opera.nta.no>) to get in touch with
the Inferno team. Opera proves effortlessly that the established players
can be beaten.

Just some random ideas for the Web browser project:

An ideal Inferno Web browser would be higly distributed. The back end would
be a cache. Several back ends would be chainable and co-operative, so you
could attach your client browser to a local proxy server which would handle
local memory and disk caching and then possibly interact with several other
in the network, which would also co-operate between them: a cloud of
proxies doing intelligent traffic analysis and caching. Proxies could
communicate between them with diffs of changed pages and with other
optimized innovative protocols. They could define a high abstraction level
interface to the client.

Instead of HTTP objects the basic unit of communication between a client
and a server could be a "screen". Screen would be a two-dimensional
rectangular subset of a graphical presentation of a HTML page, using some
tight coding technique (not a bitmap!). A screen would describe one readily
formatted windowful, with client defined parameters. The next screen after
the initial screen of a page would be downloaded from the server only IF
the user ever hits the page-down key or scrolls. If the user hits page-down
fast in a sequence the in-between screen transfers get cancelled on-the-fly
and only the last one needs to be sent. This scheme of course makes the
server work hard, but if you have the power you can run the nearest server
locally and let that speak less demanding language to to other servers.

One other idea, concerning user interface: a ring buffer of w windows.
Always open a link in window number n to a window (n + 1 mod w)! Any window
can be put on hold and will fall of the ring, if you want to keep it for a
while f.ex. as a table of contents page. Some more advanced multi-window
capability would be used to render frames, those awful half-bred window
wanna-bes.

More: integrating cache, link history, bookmarks, pre-fetching and off-line
browsing. Calculate a priority for links: first explicitly bookmarked, then
last visited pages, then often visited pages, then seldom visited, then
never visited but automatically pre-fetched "near link" pages. Present them
all in a local "bookmark page" in dynamic priority order. Prefetch near
links when idle, especially near links with priority. Automatically connect
to the net at suitable intervals and update high priority pages in the
cache. Manage the disk cache according the priorities. Gather all this
priority and cache information from all clients attached to the "proxy
server cloud" and optimize over the group of users. Actually: make all said
in this paragraph the job af the server component which can then present to
each user both a personal and a group "bookmark page".

BUGS AND RESTRICTIONS: I present a very Web spesific vision. Actually I
think this is wrong. Microsoft is right in integrating Web and the local
file system. Lotus Notes is right in integrating the Web to a document
database system. Both are right in integrating mail and conferencing to
their model. Personally I believe the great unifying model of all data in
the world is a "conference": many-to-many, comment threaded, with definable
views (reports) a la Notes, scriptable, real-time, hyperlinked,
many-to-many system of openly defined MIME objects.

(I just can't stop!) One detail level idea for Inferno: why present all
kinds of parseable data as files, as strings of symbols? Why not present
them as hierarchical Inferno file systems? Take a HTML page: it could be
presented as a hierarchy of text files according to its heading structure.
So it could be rendered first as on outline and only if a branch is opened
it needs to be fetched from the net. Same goes for VRML. Actually the Juice
<http://www.ics.uci.edu/~juice/> system already distributes programs as
parse trees. (BTW, it is pretty obvious that Lucent should hire these Juice
guys to the Inferno team!). In the end this could leads to blurring of the
concepts of data and an Inferno file server.

O.K., your turn!

greetings,
Anssi

P.S. I recently calculated I have worked with, studied or just thought
computer systems for some 30 000 hours in my life, of which probably half
is general Internet and maybe 1000-2000 is Plan 9 or Inferno... The earlier
stuff was mostly Modula-2, pseudocode systems and modularization in
general. My philosophy of anti-complexity (originally picked up from E.
Dijkstra, D. Knuth, N. Wirth, C. Hoare and the Bell guys) and a quest for
productive, simple but powerful abstractions lurks behind all this and
spans to many other fields of life. My problem has always been that there
was so little good reading, you had to question and re-think everything and
you became professionally very lonely. The greatest amazement to me is that
the more complex perversion people learn to "manage" the more proud they
are. It terrifies me because it has not ruined the quality of the computer
industry but is ruining this planet, too. I think it is not so much lack of
intelligence than lack of self-esteem and self-respect which makes people
to take for real all the false beliefs some equally confused party presents
them...