Principles for Version Two

Six years ago we summarized for the ACM's forward looking conference, Splash, the design principles that had guided our work up to that point. These still hold today. Here we consider what we have learned since and suggest what might guide a rewrite.

We may not be so clear regarding future principles but we have maintained some vision and now recognize tactics that will help us move forward.

We seek a perspective that appreciates the potential for humans to communicate and balance that with the natural limits of internet software.

# Vision

We Dream Big so we must begin by identifying those dreams that should not wait any longer. We've ignored those dreams that can be realized with plugins. We order the remainder from fundamental to necessary.

Computational Habitat as landscape for wiki.

How We Connect Data between pages.

Three Layer Storage factoring network responsibility.

Contours of Privilege controlling our things.

Search over the Horizon by extending the neighborhood.

Landing Page Registration for small groups or classes.

Login to View for schools or companies.

Beyond Slugs for identifying pages.

Journal Optimization to save space and clutter.

CSS Cascade that makes sense for pages and plugins.

Ephemeral Content creation, distribution and persistence.

Wiki Nature for VR won't be another video game.

# Tactics

We've learned that operating a server is getting progressively harder, not easier. Here we consider how our software architecture can make this approachable with basic web skills.

Embrace Event Sourcing. Let the journal be authoritative data source. Write edits to browser storage first and sync changes with server.

Farm is the Only Option.

Popular Clients in CDN or App Stores.

API Only Definition of Server.

ES6 Module Plugins

Foundation Maintains Standards.

Forever Free and Decentralized

Illusion of Liveness. Inquiry into mechanisms to enable authors to edit without having to also manage a server.

Enabling Activity and suspending it when we want things to hold still.