As some may have noticed already, there haven’t been many releases of Mitter lately. But it doesn’t mean Mitter development is dead. I’ve been working on some things lately:
- Multiple network support:
One thing I’m trying to make now is support for multiple networks, so you could update your status on Twitter, Identi.ca, Facebook, Jaiku and whatever from just one client. The weird thing is that, this time, I decided to actually write the design down and then start working on it, to avoid creating a mess of code but, in the end, every single step I did into code proved that I forgot something (yay for Python and fast prototyping!) I still see some rough edges everywhere, but I think after a week working on it, I got a huge step forward.
- The damn network thread:
Not something I’ve been actively working on, but I think about it from time to time. The main reason it bothers me is the problems with the PyGTK main loop on Windows and the ugly ugly hack for the console interfaces (tty and cmd.) At first I thought about converting the network interface into a file-like object, so it would be just a matter of “read()” the data, but that proved to be a problem with the idea of multiple networks. Right now, I want to try to split the HTTPThread into a single object and the interfaces would be able to mix it with the Network/Twitter objects. So, only interfaces that need threads will have a HTTPThread-like object to use; interfaces that don’t have that problem will use the Network/Twitter object directly.
- Tk(inter) interface:
Also with the problem with PyGTK on Windows, I decided to play a little bit with Tkinter. Now, everyone knows that it looks pretty bad on X11 interfaces, but on Macs and specially Windows, it tries to mimic the OS look (even more on Windows, where it translates Tk commands directly into Windows.) So far, it looks alright and I even have a working prototype (not plugged into the Mitter object yet, though.) Here are some screenshots:
The first thing you’d probably notice is that it doesn’t look like the PyGTK interface. That’s because Tk supports only one line for items on listboxes, so I had to make a space for the whole tweet or you’d get just a glimpse of the text. I’m not looking into links and other stuff yet, but maybe in the future.
(This is getting long, doesn’t it?)
One more point to analyze the future of Mitter: The Alternatives.
Right now, the space that Twitter fills is getting crowded. Not that Twitter was there first, but it surely is the widest, most recognized service in the area. And, most of all, I’ll list one the ones I have an account.
- Twitter (me): Ok, you all know Twitter. 140 chars, used to have updates and notifications via IM (but is down for a very long time already), updates and notifications via SMS.
- Jaiku (me): Was there before Twitter. Works almost the same way: Messages are limited to 140 chars, updates and notifications via IM and SMS. Also, it provides a proper “reply to” function, which allows you to do a reply to an specific message (Twitter always points to the last message from the user you are replying to.) The problem with Jaiku is that, about an year ago, it was bought by Google and they closed the service to everyone. Right now, to get an account, you need an invitation code by someone that already have an account there.
- Pownce (me): Offers way larger messages (around 400 chars, if I recall correctly), proper replies, can share links, files and events. Doesn’t have IM or SMS notifications (or updates) but you can receive notifications via email.
- Facebook (me): Although it is a social network thing, it have a “What are you doing?” field (originally, it was a “[Username] is …” field.) As far as I can see, the status can be longer than 140 chars (but I’m not sure how long.)
- Identi.ca (me): The new Twitter clone, but completely open source. You can download the sources and run your own service. And, because it works with the Open Micro-Blogging Protocol, you can still reply to people using other servers.
- Tumblr (me): Tumblr works a little bit like Pownce: You can update your status, post pictures, links, audio and video. One the nice things that Tumblr does is create a page that actually looks like a blog to you.
- Plurk (me): Almost the same as Twitter (140 chars), but it can save some space with “actions” (you start you update with a pre-defined verb.) Again, like Twitter, they have IM notifications and updates, but it’s down for the moment. They have a timeline feature, which displays the “progress”
Now re-read the list and notice that every single alternative offers things better the Twitter. And, still, none of the them actually harm Twitter’s popularity. Heck, not even the FailWhale seems capable of harming that. But, still the point remains: There are alternatives to Twitter, which work better and/or offer more features.
Which brings us back to the point of “plugable” networks…
[2:23:32 PM] Julio Biason says: now I have two projects in my head
[2:23:46 PM] Julio Biason says: first one is a image gallery (much like Gallery), using tags, written in python
[2:23:51 PM] Gerald Kaszuba says: ooh
[2:23:58 PM] Julio Biason says: and something that I would call “Replicator”.
[2:24:02 PM] Gerald Kaszuba says: heh
[2:24:15 PM] Julio Biason says: replicator is my idea of “update all your social things in just one place”
[2:24:21 PM] Gerald Kaszuba says: nice
[2:24:43 PM] Julio Biason says: say, you want to update your picture? Just provide your password for, say, last.fm, facebook, orkut, twitter, pownce and it will upload to all of them and update all profiles.
[2:25:09 PM] Julio Biason says: want to write a blog post? no worries, we replicate it in your wordpress and last.fm (if you point that it is music related)
[2:25:15 PM] Gerald Kaszuba says: that’s quite cool actually
[2:25:18 PM] Julio Biason says: pictures? upload to orkut and flickr
[2:26:34 PM] Julio Biason says: i’m still not sure if I do it as an Gtk application, Cocoa application or a web application…
[2:26:49 PM] Gerald Kaszuba says: id go for web app myself
[2:27:22 PM] Julio Biason says: The good thing about being a web app is that all the other things are web apps too
[2:27:51 PM] Gerald Kaszuba says: well yeah… and accessable from anywhere
[2:27:57 PM] Julio Biason says: the bad thing is that i’ll have to save your passwords to access the other applications, and I’m not keen to putting my password somewhere (even if I wrote the app)
[2:28:16 PM] Gerald Kaszuba says: u can get them to type it in everytime! :)
[2:28:19 PM] Julio Biason says: Gtk would be a good choice, as I could (hopefully) easyly port to all other applications (using pygtk)
[2:28:33 PM] Julio Biason says: yeah, I could. but that would be annoying…
[2:28:38 PM] Gerald Kaszuba says: yeah
By the way, if you like those ideas, feel free to drop me a note and we can start working on them (I have everything set up for TAGallery, the web gallery, except that I don’t have any code yet.)