Two years ago I tried an experiment in blogging for the festive season called the "Twelve Days of Code". The concept was to challenge myself to experiment in new technologies for at least an hour a day and blog about it. While I learned a lot about a focused topic (I chose Visual Studio Automation), the experiment didn't live up to my expectations.
This year, I want to do something different. I want to create a social experiment and challenge you!
This year, the challenge is to write a simple Pomodoro style task tracking application. The application can be as simple or as far fetched as you want it to be, but at a minimum the application needs to:
- Start, Stop and Cancel a Pomodoro
- Notify the user when the pomodoro is complete
Of course, you don’t have to limit yourself to this functionality – sky’s the limit. If you want to collect usage statistics and provide reporting capabilities, persist a custom task list using SQLite, or work in the other characteristics of the pomodoro “flow” such as the 3-5 minute break between tasks – that’s up to you. Surprise me – and yourself!
In the spirit of Twelve Days of Code, pick a technology that’s new to you and do as much as you can. I'm planning on doing mine in .NET 4.0.
- You can tackle any task in any order
- Spend as much time as you want researching, but coding must be limited to one hour
- Blog about it and leave a comment here
- Have fun
What do I win?
The are no prizes, unfortunately. But if you are ever in downtown Toronto, there will be beers involved.
Here’s an outline of my twelve days:
- Solution Setup (build script, packaging, strong-names, etc)
- Object Model (application structure, commands, controllers)
- Presentation Model (View Models)
- Presentation templates (XAML, Converters, Data Templates)
- Composite Application setup (Prism)
- Dependency Injection Setup (Unity)
- Persistence Layer (record some stats using SQLite)
- Persistence Layer (Entity Framework 4.0)
- Animations (.NET 4.0 Visual State Manager)
- Windows 7 features (task bar icon overlays, action buttons, jump lists?)
- Installer (Wix)
- Functional Automation Testing
Good luck, Happy Coding and Happy Holidays.