MahTweets is dead


MahTweets is dead. That's not to say it doesn't function, just development and support has ceased - infact we stopped working on it back in June. This probably doesn't effect anybody - so why write about it at all? Closure. This project was a huge part of my life, and while I've not worked on it for many months now, it still is often on my mind.

More important than the technology was the friendship & journey we took. It was like we were a band. And as we know, creative types in bands rarely stick together forever.

We must look at the fruits of our labour: and your labour the most; as something unique. As something we tried, but could not quite pull together. We each are flawed; but we came together and attempted to make something good for the world.

I, for one, absolutely enjoyed the journey and am blessed with lifetime friends from the experience. If, in the end, this is all MahTweets achieves. Well, what a great achievement.

--Nick Hodge

It is a shame though, version 4 ("ignit.in") was a rewrite from the ground up - the UI was overhauled (and elements were eventually spun off to form MahApps.Metro), and the core filtering mechanisms were completely replaced by a new system using Reactive Extensions (Rx). The UI changed dramatically with each major release, but it was always based off the same code/markup, just 'cleaned up' and rather than started from scratch. With ignit.in, the UI was decoupled in such a way that "themes" were no longer just a few colour changes, but completely isolated and weren't just visual replacements - they could interact differently to each other. Prefer single column/tabbed approach? No problem, the Halfwit theme had that perfectly because filtering/columns were no longer tied to any one UI element.

Like the UI, the core filtering mechanism code had stayed largely the same. The switch to Rx gave us speed in development (and in operation), and flexibility we'd only started to scratch the surface of. Rx is still a hit and miss thing out in the wild - it can be used as a .NET eventing replacement, or as a messaging pipe around your app. It can be a bit more difficult to grok, but once you have that 'aha' moment, it's awesome.

Much like the desktop, the updated version of MahTweets for Windows Phone (the update was codenamed "NoFro") was in development but never made it to light. Again, just like ignit.in, it was super fast and very flexible. What was most remarkable though, porting v4's codebase to WP7 was... stupid easy. The core filtering code? About 10 lines changed to the Silverlight equivalent. The initial versions took me weeks to transfer, the new system just an afternoon.
While I'm no longer involved, Jake Ginnivan is spinning off a Mango specific version of MahTweets for WP7 using his fantastic Windows Phone MVC toolkit - keep an eye out for it!

MahTweets over the years had many 'firsts' - we were the first (publicly available) Windows client that supported Twitter's user streaming, first to take advantage of MEF to be more than just a Twitter client (Seesmic uses MEF for all their plugins, albeit in Silverlight - we did that before MEF was part .NET), first (only?) to take advantage of DLR (IronRuby & IronPython) for reusable and highly customisable scripting for awesome features like translation. There probably still isn't (nor ever will be?) a client that has half the filtering and grouping capability we have. Personally it was my first open source project, my first WPF project, and first real group project.

There are plenty of people I could blame for the decline, there are plenty of excuses I could use, but ultimately I'll wear this one - I can be difficult to work with, and much of the time we didn't have a clear goal which certainly made it more difficult for others to join the project.

MahTweets dev wasn't all bad - far from it. Fantastic friendship was made along the way, I've learnt untold amounts about not just programming but the process around it from management to deployment and everything in between - lots of stuff unis really should be covering, but simply don't. If you're in uni with any aspirations to software development, I highly recommend either creating or joining an open source project - not only can it be rewarding in education, but a heck of a lot of fun along the way.

Over the years we've had some fantastic sponsors donating software or services - JetBrains, Mindscape, Atlassian, SharpCrafters, VisualSVN (and probably a few more that I've forgotten - sorry!). I was always constantly surprised at how willing these companies were to throw software/services at our open-source project, because they "get it". Each one of them made the project even more enjoyable to work on.

For all your help, thank you.

 
©2011 MahApps. MahTweets is released under the MS-PL. Some icons from Iconic Icon set released under a CC Attribution-Share Alike 3.0 license