I wanted to give a quick update on Witty to let everyone know where
we're headed and to get everyone's feedback and involvement.
Big picture - Up until this point, Witty has continued to grow
organically through the generous contributions of a lot of developers
who love Twitter, wanted a "pro" client that worked how they thought a
Twitter client should work, and (often) were interested in building
their skills in C# and WPF. Speaking for myself, at least, I've
learned a lot about WPF development and design patterns during the
time I've been contributing to Witty. This is both awesome and un-
awesome.
Awesome: We've built a really cool Twitter client that lots of people
use every day.
Awesome: We've all learned a lot by working through some tricky coding
challenges together.
Not Awesome: Patch Driven Development is a great way to build a lava-
flow architecture.
Not Awesome: The architecture we've got now is holding us back. Since
the Witty project started, some solid design patterns like MVVM have
emerged. These patterns aren't patterns for patterns' sake, they
enable some desirable development features like Blendability, more
flexibility in presentation, possibilities for better information
management, and simplified development.
Not Awesome: Our visual design is functional, but not what it could
be. I don't think Witty's users value form over function, but Witty
could look better.
Not Awesome: Applications like TweetDeck and Seesmic have shown that
there's some value in a multicolumn view. We wouldn't get rid of the
compact view that Witty's got now, but we could better handle the
screen real-estate when we're given more.
Recent developments:
One of the struggles we've had to date has been a lack of interest
from the established WPF community. That's changed lately - we've had
some good input and offers to help. Alan Le and I had a discussion
with Tim Heuer and Chris Bennage at MIX09, and we recorded the
discussion so you can hear what what we were talking about:
http://herdingcode.com/?p=175
Silverlight 3 Out Of Browser was announced at MIX09. There are some
interesting possibilities for a Silverlight-based Witty (e.g. simple
install, cross-platform reach), as well as some tricky challenges
(right now the Twitter API doesn't allow cross-domain access from
Silverlight).
Some next steps:
We've been brainstorming on a Witty 3 architecture. Chris Bennage has
offered to prototype some of that for us based on his WPF ChumChase
app (
http://www.codeplex.com/chumchase). Alan and I've both done a
good amount of work with MVVM lately, so if Chris punks out on us ;-)
we'll jump in.
We've also had some good input on UI and offers of help from some
really good UX designers.
Next steps:
Keep contributing to Witty. We should be able to reuse heavily code
and features from Witty 2.x in Witty 3.
Contribute your ideas, either in the wiki (
http://code.google.com/p/
wittytwitter/wiki/WittyTwitterRoadmap) or by submitting issues.
Thoughts about changing project hosting:
We've talked about moving to CodePlex, mostly since that would
probably grease the wheels for getting more involvement from the
Microsoft community. Based on an involved discussion with the Subtext
team, I'm thinking it's best to stay with Google Code right now. You
can read Phil Haack's thoughts on moving to Google Code instead of
CodePlex here:
http://haacked.com/archive/2009/03/29/subtext-moves-google-code.aspx
What do you think?