Network X

Update: Interesting discussion of this post here:

I’m sick in bed today, floored with something viral I reckon. Glands are up, headache, the room’s spinning. Sucks man. But as often happens when I’m headachy, my brain is exploding with a new idea. This one is for a combination of the concepts of “social network” and “blog”, into a lightweight public-only improvement on both.

“Nework X” is a distributed social network using the open internet to connect its members. You set up your “Stream” like you would set up a blog – you can self host it, use someone else’s hosting service, whatever. You can post with the ease of a social network (not heavyweight like a blog). You have a stream seeing stuff from all over the net, like a social network / feed reader combo. You can follow people. The public view of your “stream” is more like a blog, just showing your own stuff.

Your identity is your stream/blog’s url. It uniquely identifies you. Your identity is confirmed, security is dealt with, just by calling back to this url and asking it to confirm your actions. Clean, straightforward.

It’s entirely public; there’s no private stuff (just like a blog).
  • You have a unique url which shows two main views, the Stream, and the Blog.
    • Stream.
      • See this when you are logged in.
      • Your posts and everyone’s posts that you follow turn up in the stream in chronological order. You can follow other users of Network X. You can follow Facebook users. You can follow Google+ users, twitter users, etc. You can follow RSS feeds. Might also follow specific blogging software types (blogger? wordpress? etc)
      • For Network X follows, and for most of the social network follows, for blog follows, you can comment on other people’s posts as you would in those networks, and the comment goes back to the right source (more on this below)
      • There is some basic filtering, so you can include/exclude sources dynamically. A really basic one is to screen out everyone’s posts except your own (which then looks like your “blog”).
      • At the top of the stream is a “Share what’s new” box, which works like G+.
        • This might have an “advanced” button which kicks it into a more full on wyziwyg/html editor like blogs have, but still inline.
        • There’s “Publish” and “Cancel” but there’s also “Save Draft”. The post might also autosave as draft. Drafts are exactly like regular posts, except only you can see them. Once you hit publish, the post is visible publicly.
      • There is an Edit button on your own posts, which puts you into inline-editing, like above, on existing posts.
      • The stream updates in real time. Think pubsubhubbub here for Network X users, web callbacks from facebook or twitter (does G+ support this yet?), dumb slow polling for stupider stuff.
    • Blog
      • For when you are not logged in, or when someone else is viewing your url.
      • Just shows your public posts (with comments). This is really for other people to come along and read your “blog”.
      • People can comment here like they would with a blog. (Auth with your network X stream, or with fb, google, twitter, etc etc)
  • Each of your public posts has its own public page, so easily shared on other networks. Stuffed with +1, like, etc etc sharing options for other networks. Also a reshare option for Network X of course.
  • You can follow anything with an RSS feed. This is read-only following, it’ll show up in your stream but you wont be able to comment or anything like that. You can click through to whatever the origin is.
  • You can follow other Network X users.
    • Your stream/blog url is your identity.
    • You paste their URL into a follow thing on your stream page. Done.
    • If you hit follow on their stream, it then asks you to paste in your stream url. Then that triggers something on your own stream page to confirm the follow?
    • Is there something more clever we can do with the browser already knowing your identity (because you’re logged in on your own stream page) so when you press follow on another person’s page, there’s no url pasting (just a confirm on your own page)? Smarter javascripty html5y people than me will know.
  • You can comment on anyone’s post that you follow. That posts the comment back to their stream. Your identity travels with the comment, in the form of your stream url. Their stream calls back to your stream to verify you actually sent the comment. If your stream says “yes”, the comment is posted.
  • You can manage who is allowed to comment on your posts. Anyone, no auth? Any Network X user with some identity info? Maybe people can also comment using facebook auth, G+ auth, etc? Probably allowing a moderation feature is a bit heavyweight, but you are free to delete comments from your own posts as you like.
  • There should be a +1/like mechanism, works same as comments for auth etc.
  • There should be a reshare mechanism, simply creates a new post with a link back to the other person’s post (wherever it originated).
  • You can block any identity from commenting. (just maintains an internal blacklist)
  • Some spam detection with auto blocking would be nice to have.
  • Integration with other social networks
    • You can see facebook, twitter, g+, etc in your stream.
    • To do this, you need to have an identity in those networks, and oauth using that, linking your network x identity (the url) to that social network identity.
    • Your normal stream/wall from fb/twitter/g+ is then integrated into your network X stream.
    • You can comment back to those networks (except G+ obviously which is read only) and it posts pack using your identity in that network.
    • You can reshare stuff out of any of these networks into your Network X blog/stream
    • Maybe you can reshare stuff from Network X or other social networks back into other social networks as well? That’d be fun!
  • Everywhere you can, you play nice with existing open internet protocols. eg: This url can be an OpenID. Use pubsubhubbub for realtime notifications. Have an rss feed. etc.

That’s all I’ve got for now. To build this would take some skilled front end javascripty goodness, but in principle the framework is actually pretty simple. Really, if you’re not trying to do the whole “social graph” thing that the facebooks of the world are doing, then this doesn’t need to be difficult!

Network X