I'm lost. Part of it is because my C# knowledge sucks balls. I just watched a presentation by Jason Dolinger on the M-V-VM (Model-View-ViewModel) pattern which is supposedly better suited for WPF.
It's going to be hard to swallow, 'cause C# is a bit alien to me. You can read up on it here: http://blogs.msdn.com/dancre/archive/2006/10/11/datamodel-view-viewmodel-pattern-series.aspx
Back to diagramming. Oh yeah, Merry Christmas!
So here's a huge roll of diagrams and GUI sketches. I don't expect it to look superbly pretty or anything. Function over design, for now.
Most recent dependency diagram trying to implement the Model-View-Controller pattern (without luck). I'm trying Model-View-ViewModel instead because that's what XAML and WPF are designed for.
Really old diagram.
Super simple state machine diagram for the general client.
Tabbed IMs and sign in screen.
Buddy list.
Like I said, working on a new diagram. I'll be diagramming the entire way. Whoopee -__-"
Pro-tip: Don't use actual screen names in your GUI mock up or diagrams! That way you don't have to blur or edit them out!
Pro-tip: Please exercise good hand-writing techniques so that others (particularly people on your development team) can read your diagrams!
Pro-tip: Do NOT use lined paper to diagram. If you can code an AIM client, you're old enough to write without lines.
This is a mere reposting of the "About this blog" with some additional information.
Hi, my name is Anton! I'm currently a sophomore at MIT in the Department of Linguistics and Philosophy.
In this past fall of 2009, I took a class, 6.005: Elements of Software Construction, where we learned how to develop software from start to finish. This included brainstorming functionality and issues, diagramming code dependencies and state machines, implementing our designs, and writing unit tests.
Our third and final project was to write a simple instant messenger client and a server to handle the connections from multiple instances of the client.
So, I've been eying the Open AIM SDK for a while now, because frankly, the official AIM client is bloated. On this blog, I'll be posting up diagrams and design issues that I run into while developing my own AIM client which I've codenamed "Ariel" over my 2009 winter break.
Now why "Ariel"? If you remember, the codename for the recent AIM client was "Triton". It seemed natural to name my mini-client after the daughter of Triton.
No, it's not a Disney-themed client.
I'm developing Ariel for .NET Framework 4 using C# 4.0 and Visual Studio 2010 Ultimate (Beta 2).
My original time line for this project of mine can be seen here:
You can't see it all, but basically, I'm supposed to have the implementation done by this Saturday. NOT going to happen. I'm going to spend the rest of this week making sure I know what dependencies I need and diagramming the days away. The following week, I'll be implementing it. I have a working sign in screen, but that doesn't say too much. More screens later.
Pro-tip: Make your timeline reasonable and STICK to it.