I know the title makes no sense at all, but it is something I’ve been working on for a couple weeks.
Uber means "super", "hyper" or "overkill". Twit is what you do when you use Twitter. Some people prefer Tweet, but I see no reason why you would "Tweet" on Twitter and not "Twit" on Twitter.) So I want to build a Super, hyper, overkill Twitter app. But make it "uber-easy" to use.
Actually, I don’t want to build a Twitter App at all. I want to build a common framework that allows Twitter Apps to share a common set of extensions that increase the power/flexibility/usability of Twitter.
ubertwit is a Twitter Client that is (mostly) in the design stage right now. There are a LOT of Twitter clients, so why build a new one?
I’ll let the proposed feature set explain why:
- Peer 2 Peer via "Super Nodes". My Twitter friends and followers will all share their data between their clients instead of each of them hitting the Twitter servers for updates. Each client will poll the Twitter service, but at much less frequent intervals. This is good for a number of reasons – the Twitter servers don’t get hit by as much traffic, and more important, by using the Jabber protocol me and my friends can still communicate even if the Twitter service is completely dead. Even if it disappears. Even if it disappears forever.
- Groups. Some people don’t like the idea of Groups on Twitter. Honestly I don’t think Twitter managed groups are a good idea either. I want user-defined groups. I want to be able to sort my conversations in certain ways – pretty much allowing me to focus on a group at certain times – yet not affecting my overall "stream". Ideally I could open "group windows" that follow certain people, or topics, or locations – based on my immediate interest. When the conversations in these windows "blend" the windows would do something, like blend in a similar frame color, to let me know that my conversations are merging. And I could either move or copy any of these people or topics (tracks) from one window to another with a simple drag and drop – just like I was moving a file, or a folder. I envision groups working by people forming groups. And although groups CAN be marked Private they still follow the current Twitter model. If I create a a private group and send a message to it, the messages go out as Twitter Direct Messages (if Twitter is alive). Otherwise they go our as point to point messages on Jabber.
- The ability to rename (or at least set tags on) my contacts. I would follow a lot more people if I knew what the context of my relationships meant to me (let me use my own "social graph"). I’m sorry – I can’t always tell who "alph732a" – just like I don’t expect ALL of my Twitter friends to remember who kr8tr is. A mouse-over that contained some other info would be very helpful.
- A threaded conversation view that works.
- The ability to "mute" someone for 30 minutes. Basically it causes them to not appear in any of your groups/timelines. As someone said, it is a "Time out". Steve Gillmor thinks nobody will use this. I think a lot of people will 🙂
- A smart algorithm that suggests new friends based on things I talk about (gestures I make) and who I interact with most (more gestures), and who their friends are that may be talking about what I talk about.
- Along with the above, give my friends/followers the ability to @F2F (friend to friend) me to someone – as an introduction.
- Geo-Location service built in.
- "Favorite Friends" list.
- Ability to push a Tweet to a group of Twitter people in a given Geo-location (within 5 mile radius, etc).
- An open API for the Twitter client.
- A "skin-able" client.
- An open source project that invites any and all to come and play – with platforms that communicate equally with each other.
This is a partial list. I have more items that I haven’t yet figured out how to implement. Everything above I think I know how to build.
But I am still in the "just playing" stage with the code. I would love to hear suggestions for more features, a different approach to building the "ubertwit", whatever.