Tue 16 February 2010
1 ) Evernote
Although I use evernote as my brain online for everthing, it is incredibly useful for programmers too. Where I work things like requirements can be captured on almost anything, so snapping photos of whiteboards/notepads/beer mats that become OCR searchable is very handy. On top of that it's nice to have all notes auto stored up on the web(I'd have a fit if I lost my developer diary over a hard drive crash). The client application for evernote could be better and I'd consider Microsoft's OneNote a much better application but Evernote does everything I need it too. The killer feature being the iPhone app that lets me capture text, voice and snapshots everywhere. Coupled with JotNot it gives me a very powerful information capturing device that I simply cannot live without. This is one of the truly killer apps for my iPhone.
2 ) Dropbox
Why does my hard-drive always die the evening I forget to push my code up to the git server? Store all code/config files/documents up on a server always. The benefits are stupidly obvious. It's soon after this realise you can start adding free little tricks that you didn't think possible. See my previous example for why dropbox rocks for vim/linux users. Another plus, I don't have a static ip with my broadband at home(dyndns doesn't work due to my isp's infrastructure, a massive mesh NAT) so here's a cool trick for easily torrenting(or in my case usenetting) files remotely. There's also something very nice about being all to pull up any of my important files anywhere there's a web browser.
3 ) Gmail
Yes it rocks, despite Buzz.. Filters, label and keyboard shortcuts have made this such an obvious choice it's not even funny. I'd almost forgotten to add Gmail to the list it's become such an integrated part of my web-use. The programmer related benefits are dissimilar to general user benefits, but thing extended features like keyboard shortcuts etc I probably only of real benefit to the techies who are the only ones bothered to read up on these features. Other than that there's little to say, odds are I'd mostly be preaching to the converted anyway.
4 ) Stackoverflow
Not exactly a web-app but something most programmers cannot live without and it's web-based. Arguably this could be number one , but personally I don't use this resource as much as the above three. Have a programming question, odds are insanely high it'll be answered here.
5 ) Google Reader
We've all got to keep up with the lastest developments in our industry. This is simply the easiest way to do it. Some good subscriptions: Coding Horror, A list apart, trivium, proggit and Bertrand Meyer's blog. Also reader has a new feature that supports updates on sites that don't actually support RSS(some might question the point in RSS with features like this….). This feature's very handy for one of my favorite programmer sites.
6 ) Mindmeister
I use a hell of a lot of mindmaps for storing programming related knowledge. Almost every technical book I read has mindmaps associated. I like building mindmaps, it forces me to have a 2nd thought on the content I'm reading and I have a less painless way of reviewing what I've read. To be honest, mindmeister as an application isn't perfect. It doesn't have folders or any decently readable way of labelling mindmaps. Very annoying when you've got tons of mindmaps to sort through. I'd love to say that the fairly expensive iPhone app makes up for this(not sure why it couldn't be free considering it's a subscription based service), but the app for me is almost worthless. There's nothing wrong with the app in itself it's just not a pleasant experience browsing/editing mindmaps on your iPhone. It seems like I'm singing the praises of mindmaps over mindmeister itself but other than these few issues mindmeister is a solid application. As it's online sharing mindmaps is also a very handy feature. See here and here for examples of how I've used mindmeister. But if sharing/accessibilty anywhere doesn't matter to you I'd recommend something like FreeMind for all your mindmapping needs, even keeping your local mindmaps synced on Dropbox could suit you just fine.
7 ) Pinboard
Pinboard is a very nice online bookmark storage. Very, very simple bookmarking/to-read lists, fantastically simple tagging features and the ability to add bookmarks from emails makes this a great service. I keep all my tech articles up on this service. For an extra charge all my bookmarks become archived, meaning if I bookmark a site using pinboard and the site in question goes down the page is still accessible from pinboard forever. I could do the same using archive.org but having this feature included in a bookmarking service really makes sense. On top of that adding bookmarks from google reader, twitter, instapaper and delicious really adds to the service. Highly recommended bookmarking service for techies.
8 ) Rememberthemilk
Remember the milk takes the simple idea of todos lists, adds a set of complex features(due dates, repeating tasks, tagging, folders, sharing and a lot more). Adds in the ability to add tasks from almost anywhere. IM, email, phone(if supported), widgets for almost anything(including gmail), and many apps that support it(tasque/gnome do for linux or a dashboard widget for osx) and you've got RTM. Yet the application itself never gets bogged down in it's complexity. 'Buy milk today' or 'Buy milk tueday' or 'Buy milk tue' or the many other variants of dates and rtm will likely be able to parse a date out of it. Other nice little tweaks like this makes RTM a great application for the programmer, as I mentioned in books like Passionate and Pragmatic Programmer Programmer there's a lot of 'Act On It's' some of them have different contexts, for example I might need to do a task weekly at home or do a task everyday in work. Using RTM to handle the adding of all these tasks makes things a lot easier. I also use the pomodoro technique with RTM, using the tagging features I add estimates to my todos (e1,e2,e3) via tags. On top of all the other programming related todos I intend to do(including this post!) this service has made life a lot easier.
9 ) Grooveshark
It's up for debate whether programmers should listen to music at work or not. Personally I find music listening to music fine when I actually have to code, but when it comes to creating a specification or stepping through code listening to music is a very annoying distraction. When I do listening to music I always use grooveshark. The UI leaves a lot to be desired but there's a music selection that's 2nd to none, the playlists are handy too depending on the mood you in. Feeling tired in the morning? I have a wake-up playlist. Need some background music, there's a playlist for that! All very painless.
10 ) NutshellMail
NutshellMail is a service that combines twitter, facebook, linkedin and myspace updates into a single email that's sent to you on a daily basis. I questioned whether I'd use this service when signed up but I've come to love this application. I follow a lot of developers on twitter and some through facebook and it's really nice to know your updates will arrive at a certain time everyday. Instead of jumping on every few hours, negatively impacting on my productivity, I have a focused time to get myself updated on all the latest trends. The linkedin support is handy too for keeping up to date on your professional news also. I could have added twitter/linkedin to this top ten but at this stage I think these websites go without saying(and they're not exactly web applications in the obvious sense).