Endjin–Looking back on 2010
Everyone is legally obliged to produce some kind of retrospective post at the end of the year. This is mine.
I've done it in the form of a few "Top 3"s.
Top 3 Dev Tools for 2011
1) The JetBrains tools.
I'd used R# before, but combined with StyleCop for R#, TeamCity and DotCover, it becomes a formidable enhancement to Visual Studio. Alt-Enter totally changes the way you work. Put the mouse down, and learn to drive VS and R# with the keyboard. You won't look back. But you will spend the next few years discovering new features.
2) Machine.Specifications (and an honorary mention for SpecFlow)
Write specs, not tests. Low level "unit" specs, integration specs, exploratory throwaway specs. Repro specs. And on a related note, everyone should stop moaning about "brittle" unit tests. If you've written a unit test, it is supposed to break if you change the behaviour. If it breaks and you haven't changed the behaviour, then it is a bad test. Switch to the spec mind-set instead. Then you only break tests if you change the declared behaviour.
I've not done nearly enough with this yet; but it has started to turn my mind inside out.
Top 3 Trends for 2011
1) NoSQL / Document databases / Search
2010 has seen NoSQL move out into the mainstream (including our first mainstream NoSQL outage). When you couple it with modern search, a whole new landscape of possibilities open up. MongoDB is great, but RavenDB is looking very interesting indeed.
2) New interaction models
If 2010 was the year when everybody started touching their computing devices, then 2011 is going to be even more interesting. Kinect is only the beginning...
3) HTML5 will turn out not to be the silver bullet for Web Applications (you don't say!)
Yes, HTML5 (and the latest incarnation of JS) is great. Yes, hardware acceleration in next generation browsers will be a huge step forward. Yes, some web applications next year will be better than anything we've seen before. But, sadly, the average web app will still be a usability nightmare. The average web app will still be terrible at interacting with local devices / file system. We still won't have good support for more than one mouse button. And it will still all be a hotchpotch of committee-defined standards, backwards compatibility issues and browser wars.
Best Three Apps of 2010
1) Angry Birds (iPhone)
Hours and hours of frustrating fun. Even with the sound down, it is a great game. With the sound up, giggling can get in the way of accuracy.
2) My Movies (Windows / iPhone)
Makes Windows Media Center usable as a DVD player. 2010 was the year I put my DVD collection onto 14TB of HD, and My Movies has enabled me to rip, catalog, browse and play them through the 10' interface on my TV. And your library is available on the web, or on your iPhone or iPad (and can keep a record of what you've lent to whom.)
3) ECB Cricket App (iPhone)
This is how to do a sports app. Push updates during matches, but no BING! Bangladesh move to 14-4 against The Czech Republic in the middle of the night; it offers you pushes for matches you've been watching. Plus pictures, video and text-based news, and a clear, readable score centre.
Best Three Gadgets I bought in 2010
Easily the best purchase I've made in years. You have to see the text before you can get a sense of how readable it is (think "laser printer circa 1991"). Finally, I'm back to reading tech books again, because I can carry them around with me.
2) Windows Media Center PC
See Best App no. 2 above. This has transformed my relationship with my DVD collection.
3) Nespresso Coffee Machine
Instant (as in immediate, not as in freeze-dried) espresso. Decent coffee. Recyclable packaging. Improves my working day no end.