Tuesday, March 29, 2011

Local Website as Tool Belt

Quick, answer this: on your dev machine, how many keystrokes does it take for you to find the documentation for the String class in your current language?

As I've paired with developers over the years, I've noticed a few patterns:

Just Google It

Gah! Consider working on a roof-top, say, at replacing shingles. Imagine needing a tool, and having to go down the ladder to get it. Now, imagine going down the same ladder every time you need the tool. For a professional, that strikes me as painful.


Much better. If organized well, bookmarks are undoubtedly terrific. A minor downside is that navigating a bookmark hierarchy still takes time. I can't criticize someone who chooses this style, but I can't do it. It's as though we have a toolbox up on the roof, but that it's 10 feet away from where I'm working.

Local Website

I worked with a developer circa 2003 who ran a local copy of Tomcat. He curated his own web pages according to his needs. I thought it was pretty crazy at first, but I adopted the idea.

True, this ain't "rocket surgery", but I just love it. It strikes me as a tool belt, where everything is within reach. Here's why:

Use the home page for your bookmarks

Rather than organizing my bookmarks in a given browser, I simply put my favourite sites on my home page. (As you might guess, the Javadoc for Java, Groovy, etc are front and center.)

The advantages are:

  • You can see a lot more information immediately, just by hitting that big, inviting Home button. I have a geek column, an intranet column, and so on. Rather than navigate a hierarchy, I let my brain pattern-match on the shapes of the categories.
  • You may end up collecting more links that you would normally bookmark. e.g. I would never bookmark the 2011 calendar, and yet this way, I have a link for it.
  • You can add various text, such as the phone extensions of teammates.

When pairing with someone, often you are at their workstation. How will you find your bookmarks from there? With a local website, you can point them to your page (while you're at, have them bookmark it).

Beyond Web Pages

By having Tomcat on your machine, you are opening a world far larger than mere web pages and links. You can start to share Groovlets with your team. This can be a big productivity boost, and a subtle way to introduce the concept to others. (I've been working on a writing assignment that explores this further. Stay tuned.)

Another bonus: if you need to work up a sanity check with CSS or jQuery, you already have Tomcat installed and running.

The Point

As developers, we love shortcuts in our IDE because we strive for "typing at the speed of thought". If you google something more than twice a week, consider putting it on a local web page. Over the years, I've found it to be very useful.

As always, I'm interested in your tips for productivity gains. Share 'em!


tdalton said...

I have a little project deployed to Google App Engine that keeps my bookmarks.
I am working on porting the app from Struts 2 to Wicket (using Scala) and adding features like task tracking with a pomodoro timer. Get to learn me a little Wicket in the process.

Anonymous said...

Very informative. I was actually just in the process of organizing my bookmarks.

Alex Miller said...

Well if you're writing Clojure, you're already in the repl and you just type (doc whatever) or if you're not sure where it is (find-doc "whatever") or (apropos "whatever"). Or if you really need Java stuff, (javadoc String) will pop open a browser on the javadoc. More often for Clojure functions, I just look at the source with (source whatever). I wrote some stuff on this back when I first started in Clojure: http://tech.puredanger.com/2010/02/08/clojure-1-whats-up-doc/

R. Mark Volkmann said...

I created my own web page for bookmarks. It's here: http://ociweb.com/mark/bookmarks.html

Michael Easter said...

thanks, all, for the notes

@tdalton Neat, is your project on GitHub or somewhere?

@Alex ha ha... I should have anticipated that response!

@Mark I'll make a link to your bookmarks on my page ;-) less for the dogs and more for the dev resources

The Director said...

If you're working on a Windows machine, you can use the Windows Active Desktop to display an HTML page of these links. Hence, I can hit those pages in one keystroke (Windows-D).

Although given the nature of my work, I tend to use this on links to varied test environments/deployments instead of documentation.

Bobby said...

Totally agree that you can do better than Google, and even bookmarks-

I use a combination - most common: Firefox/Chrome bookmarks right in the toolbar - 1 click

From there I pretty much use delicious - which I love - been using it for years and have thousands of well organized links - using tags
you can just type a url like delicious.com/rebelBodhi/groovy (most of that being autocomplete) and you're there in no clicks :)

Browser integration makes it very quick to tag and search.. intrigued by what could be done to bring it all together intelligently though..