Inventing the Future: shared persistence

The real-time collaboration in Croquet is cool. It provides a very different way of structuring applications that will allow things that nothing else can. The croquet team is working hard on this aspect. But we’re just begining to consider the implications of shared persistence. I think this is just as radical in itself, and will inspire truly extroadinary software when combined with Croquet’s other aspects.

The realtime collaboration mechanism in Croquet combines with the late-binding development/deployment platform and 3d UI to allow people of varying skills to directly create and modify their information environment. This makes it easy to create good work, but says nothing about publishing it. Publishing isn’t nearly easy enough on today’s Web. Even if you are comfortable creating content, most people don’t have free access (both libre and gratis) to a fixed IP address and a server. Shared persistence will truly allow folks to build on each others work. I’m talking about both simple textual content, but also data, dynamic applications, simulations, and live models. Make it easy for people to make all sorts of content that is directly used — not just quoted or linked to — by others. It’s all public, with varying definitions of “public.”

As with any disruptive technology, one challenge will be to build critical mass. Content is one key. I’ve long felt that an issue with developing next-generation information-management systems has been the difficulty in developing huge ontologies that are meaningful to large groups of people (and not just isolated specialists in a lab). But I’m now starting to think that public data will soon be necessary for current-generation technologies, too. For example, security models involving trust networks and delegation of authority are fine for static trees of organizational membership. But in the real world, we’re each part of a mesh of many constantly changing virtual organizations. I wonder if such networks won’t collapse under their own weight unless we find a way to distribute the maintenance over the membership. That means some sort of data creation and reuse that crosses organizational boundaries. This is public content reuse.

I think the only way to move forward is to “Publish ’em all and let Google sort ’em out.”

About Stearns

Howard Stearns works at High Fidelity, Inc., creating the metaverse. Mr. Stearns has a quarter century experience in systems engineering, applications consulting, and management of advanced software technologies. He was the technical lead of University of Wisconsin's Croquet project, an ambitious project convened by computing pioneer Alan Kay to transform collaboration through 3D graphics and real-time, persistent shared spaces. The CAD integration products Mr. Stearns created for expert system pioneer ICAD set the market standard through IPO and acquisition by Oracle. The embedded systems he wrote helped transform the industrial diamond market. In the early 2000s, Mr. Stearns was named Technology Strategist for Curl, the only startup founded by WWW pioneer Tim Berners-Lee. An expert on programming languages and operating systems, Mr. Stearns created the Eclipse commercial Common Lisp programming implementation. Mr. Stearns has two degrees from M.I.T., and has directed family businesses in early childhood education and publishing.


  1. Howard,

    I must admit that my mind is fairly boggled by this talk, as it’s pretty abstract. I THINK I get it, but some concrete examples would help. And remember, you can embed images. Send me email and I’ll tell you how to upload images to wetmachine, if you want. (I’ll handle the bandwidth if that’s a problem.)

    Anyway it does sound cool.

    And your point about personal publishing being too dificult is certainly correct. Publishing Wetmachine, for example, is not all that complicated, but I probably nevew would have gotten around to it if Gary hadn’t been coerced ^H^H^H volunteered to webmaster it.

  2. OK. Let’s go meta here.

    One of the reasons I hate to write anything on Wetmachine is because I feel like I can’t just jot down some things and incrementally build up to something more complete. If I had time to write a paper for ACM SIG-whatever, I would. But I don’t, so I just want to start with … something. Which leaves things not-very-well fleshed out. Or — not much content created at all.

    Which aspects are too abstract? (All of them, no doubt.)

    It would be neat (e.g., for a redsign of Wetmachine), if you could just highlight some code and draw an arrow from it that pointed to a balloon that said, “What does this mean? Example, please!” Then I could point to the word example and give an example of what the heck I mean in that part.

    Maybe someday someone could then edit the incrementally developed result as a new document, that points back to this mess with a line that says, “draft.” We’re working on being able to do this in Croquet. (Yes, I know that a Wiki will let you do a lot of this today. Cool.)

    But the point is that all these intermediate steps had to be available. Available from me to do a bit at a time. Available for you to add some questions to. Available for me to respond to. Publish it all. Publish every version. Publish every little comment. Make that publishing happen automatically, without any explicit publishing step — persistence happens, automatically. Then use Google or what-have-you to find the bits you want.

Comments are closed