let’s prototype some decentralized social web infrastructure

Apps are quickly become first class citizens of the web. I think this is great for end user experience (in the short term), but not so much for web development as a whole.

Here’s why: while object oriented programming is the dominant software development paradigm, applications are increasingly being developed within the context of dynamic and complex ecosystems under continuous development and change. Object orientated programming is giving way to an environment more conducive toward an Agent-oriented model of programming.

Mozilla’s open web apps project essentially turns apps into full blown objects that can be interacted with programmatically. I believe however that the ‘App’ is becoming the core unit of an open agent-oriented computing environment.

If Apps are the beginning of a functional model for a software agent ecosystem, where do the human agents come in? I  have a theory that if we “Appify” humans, the web will inherently become more people-centric. Let’s test this theory, shall we?

I’d like to recruit some of you to help me rapidly prototype a model for decentralized social networking based upon Mozilla’s work on open web apps.

Some goals I would like to aim toward:

  • Propose that the Mozilla Apps project is moving us toward for an open and organic ecosystem of intelligent software agents.
  • Explore how emerging HTML5 standards can facilitate movement toward peer-to-peer social networking protocols
  • Adapt Apps into a prototype for human agent UX, decentralized/federated network formation, modeling and management.
  • Adapt Apps UX elements for contemporary social network UX conventions
  • Further explore this idea of “people as apps” or rather, people and apps as intelligent agents within a single common ecosystem.

Here’s what I think is needed to make this exploration effective and worthwhile:

  • Forking not only Apps code for adaptation, but developer documentation to further the technical sides of this discussion
  • Webmakers familiar with Mozilla Apps and python to start prototyping this thing. (Mega bonus points for Sproutcore/Ember.js, Foundation and Backbone.js hackers who come to play!)
  • Help writing user stories and creating mockups for both web developer and end user experiences.
  • Lots and lots of advice from every angle! Comment to let me know what I’m missing here and what you can add. How do we get this started?
  • laurent oget

    I am missing something. Where are you putting the data? AFAIK those agents need some infrastructure in the clouds they can reach to and sync with, or at least a rendez-vous point or a message bus they can poll for incoming events.

    • There’s a cloud-based sync service in the works as part of the Apps project. I’m basically saying we fork this architecture, change instances of the word “App” to “Agent” and slap faces in the place of application icons.

      https://developer.mozilla.org/en/Apps/Apps_architecture

      This will essentially give us the ability to treat any personal site on the web as a ‘profile’ to follow/friend/circle/etc in the same way any url will soon be an installable app. Profiles of people you follow will be available within the browser even when offline, but sync’d with the cloud when online.

      The peer to peer messaging part of this is outside the scope of this round of prototyping. There really isn’t anything social about this other than adding people’s faces to your Dashboard of human agents/contact list.