Category: Development Tools

Diggbar Feedback (and how not to collect feedback)

Posted by – April 6, 2009

Digg recently introduced a feature that frames the content posted to Digg, reminding me of the internet in the 90′s, where framing other people’s content to put ads on top of (remember’s ubiquitous frames?) was commonplace and when one of the first bits of JavaScript I used was a “frame buster” that would prevent those obnoxious banners above my web pages.

But I’m not writing this to rip on Digg. Their “Diggbar” is a good example of why the old “banner in a frame” tactic began to die off and why things like the Diggbar can succeed.

As in any such case where you are breaking the fundamental way people expect the internet to work (in this case by framing the destination url) the tradeoff between usefulness and annoyance is what will make or break this feature and Digg has some useful (for some) features included like:

  • URL shortening. Twitter’s character limit has sparked a renaissance in short url services, and Digg made it easy to create them by appening any url to (e.g.
  • Access to comments and related submissions. In my experience with Digg the top ranked comments often provide useful mirrors, context or even refutation. Some will find their inclusion in the Diggbar useful in this format. As to related submissions once they manage to make this useful (they are surprisingly bad at term extraction, but I’ll write about this some other day) this too can serve as an additional exploration point for their users.
  • Digg/Bury. Providing access to their users to digg and bury articles while reading the actual article in a frame is a good thing. Their users don’t need to vote on an article grid or go to the comments page and can go to a single destination for both content and the core digg functions.
  • Random. This opens up an entirely new use pattern for digg bringing the serendipity of StumbleUpon and allowing for even more casual content discovery. This is by far the most game-changing part of the Diggbar, and in my opinion this should be reflected in the interface UI by giving it more prominence on the toolbar. Personally, I’d put it where they have their logo right now and incorporate the logo into the random button (call it “digg shuffle” and you are just a lower-case “i” away from the hearts and minds of a sizable cult following among their user base).

But I most likely won’t be using this feature (call me old fashioned but I like the traditionalist notion that links to another site are best served by an actual link to the other site, not a link to your own site with a frame, and yes I am inordinately parenthetical) and digg had the good sense to include an easy way to opt out of this permanently instead of only providing the traditional “remove this frame” option of the 90′s. Without this option I’d likely not use digg anymore. Hell, the fact that reddit provides a direct link to the submission url in their rss feeds is one of the biggest reasons I’ve seen my time on reddit increase and my time on digg decrease over time. For many reasons I like less, not more, between me and the content I’m trying to see.

But now that I got that convoluted rambling out of the way, I’ll get to what prompted me to write up a post in the first place, and that is something digg got fundamentally wrong.

  1. Despite my reservations,  I wanted to try the casual content discovery that is random browsing. I clicked on the Diggbar’s “random” button a few times before a solicitation for feedback pushed the buttons over and caused my next click to launch a popup to twitter.

    That brought my foray down digg’s random path to an abrupt end, and if they are introducing a “toolbar” that they hope will drive more such use they should take greater care to make UI elements predictably positioned, especially if it’s a button whose typical use pattern involved frequent clicks (I note with great humility that my brilliant “digg shuffle” idea would have precluded this).

  2. They are soliciting feedback through, and I’d already provided feedback. So far so good but now I discover that this link leads me to a page saying “Thanks for Taking the Survey.  Looking to Create Your Own?” and does not allow me to provide any additional feedback.This is daft for several reasons. An obvious reason to start with is for continuing to solicit feedback when I can no longer provide it but that doesn’t even begin to address the more fundamental mistake of using such a third party provider that can’t handle the simple use case of a user having feedback and then, as in my example of seeing additional behavior after the first feedback was provided, having more. It’s not much more difficult to roll their own simple and scalable solution for feedback through Google App Engine or Amazon Simple DB than it is to use a third party with such limits on their users’ experience and that is the solution I’d elect in their shoes, but even if they wanted to eat someone else’s dog food they could have at least provided a more useful forum such as Google Moderator or Get Satisfaction that would have allowed for more than one instance of feedback (though given the open communication they might be more transparent than digg prefers for their initial feedback).As it stands, I had feedback that they’ll have to happen upon on this blog post to read (8-ball says “Outlook not so good” and tossed in “nobody reads this blog anyway”), and that their medium could not collect. There are more elegant solutions to prevent sock puppetry than such a limitation and if I were running a site digg’s size I’d want to get the basics right. And to be fair, if they were in my shoes, they’d probably be headed to bed right now instead of waxing loquacious on such usability inanities at this hour.

The essential Firefox Plugins for the Web Developer

Posted by – August 15, 2008

Nick has already posted about Firebug and Firebug Extensions and in my own experience in setting up my workstation I too found this to be an essential Firefox Add on. In addtion to Firebug, here are the other Firefox plugins I’ve already installed in my first few days of work on this new computer.

  • Delicious – An agile webmaster might know thousands of online resouces and having them on one computer in the form of browser book marks is not very agile is it? Using delicious you can take your bookmarks with you, and this was one of the first things I missed having: all my bookmarks.
  • SearchStatus – This plugin is essential for the SEO professional. It gives you Google pagerank, Alexa Rank and Compete rank information for the websites you visit and also has a useful keyword density analyzer and quick access to searches to find indexed pages, backlinks and cache. It’s one of the tools I use the most when investigating a website.
  • Web Developer Toolbar – While this was originally a must-have tool for its live css editing, Firebug has become much more useful for that purpose. But this tool is still very useful for a variety of other information and I also tend to use it a lot to quickly disable cache, cookies, or JavaScript.
  • ColorZilla – This gives you an easy color picker and an eyedropper that can be used to quickly get the color of anything on any webpage.
  • And of course, Firebug and YSlow as Nick has already blogged about.

Useful Software for the Agile Developer

Posted by – August 14, 2008

Robert’s recent post setting up an agile webmaster workstation got me thinking about what software I utilize as an agile webmaster. While I agree (mostly) with his list, I have a few additions and alternatives.


I agree with Robert’s list here wholeheartedly. (for those just tuning in, Robert recommends installing the lastest Firefox, Opera, and Safari browsers. He also has both IE6 and 7 installed). I would just like to expand on the IE bit. Microsoft does not allow you to have both versions of internet explorer installed at the same time, so a workaround is needed. I prefer using software called Multiple IE by Tredosoft. It uses DLL redirection to allow you to install as many versions of IE as you want (from 3.0 to 6.0!)

Development Tools

  • Zend Studio – I spend most of my time developing PHP, and as such I find Zend Studio to be a godsend. It is not free software, but the Standard Version can be had for $99, and provides all basic functionality. With this software, you never had to worry about misspelled variables, forgotten semi-colons, or the order of arguments for a function ever again. If you are a PHP developer who hasn’t used it, download the trial, you’re in for a treat.
  • PSPad – when I coding in a language other then PHP, or I just need to make a quick edit, I prefer PSPad. It is an excellent piece of freeware that has some powerful built in text manipulation tools, all with keyboard shortcuts. It also allows you to record your own macros, and play them back in a variety of ways. This has saved me countless hours when doing monkey work.
  • SQL Yog – PHP and Mysql kinda go hand in hand, so I spend a decent amount of time writing mySQL queries. SQL Yog is an excellent desktop application to manage mySQL databases. Its like a desktop version of phpMyAdmin, which is very handy.


  • Smart FTP – This is my favorite FTP software, for one killer feature: It allows you to lock the local directory to the remote directory, so when you open a folder on one side, it opens on the other side. This is very handy for keeping your local file structure the same as remote. It also supports live editing, server to server transfers, and everything else you would expect. Its only downside is its not free. However, it is reasonably priced at $37 – $50 for a single user.
  • FileZilla – If you don’t feel the need to pay money for an FTP solution, then you probably want to be using FileZilla. FileZilla is a free client, and is a great implementation of all the standard features you’d expect.

Other Utilities

  • KeePass – Most web developers have many many passwords to remember. Also, most web developers are smart enough to realize good passwords contain special chars, and are generally hard to remember. These 2 facts make password managers very useful. Keepass is my favorite. It stores all passwords in a safe, encrypted file. Then you just have to remember one ‘master’ password to unlock the application, where you can double click an entry to automatically copy the password to your clipboard. It allows you to easily categorize your passwords, store notes, search, etc. Also, it is a standalone app which will run from a USB key, so you can take your passwords with you, but they are safe if the usb key is lost or stolen.
  • Open Office – Robert mentioned cases when clients send you word documents, and you need something to open them. Google Docs is great, but is no replacement for a desktop app. However, I have found that Open Office fulfills all my needs. Admittedly, I use it very rarely. However, I have yet to run into an office file it couldn’t open, and yet to have a client complain that they couldn’t open a file I saved. There hasn’t been much talk about Open Office recently, as all the hype is moving to web apps. However this is one application that I feel still makes sense as a desktop app, and is a great example of quality open source software.

Setting up an Agile Webmaster workstation

Posted by – August 10, 2008

My last Windows XP workstation died on me and I am replacing it with a new Vista box. I decided to take note of the programs I found myself needing so that in the future I could set it up more quickly and spend less time installing software when I need it by installing it before I do.

A few days into my use of this workstation here are the things I’ve already installed.


  • Firefox 3. Nick found where my keyword search feature was hidden so I’m happy with this as my default browser. I’ll post about the various extensions I needed in another post.
  • Opera – Latest version only
  • Safari – Latest version only

Together with IE 7 and IE 6 and Firefox 2 these are the desktop browsers that an Agile Webmaster should support.

Version Control System

  • Code Co-op – “Abstract through a standard protocol” is a mantra of mine, and one I used frequently in the Relisoft forums when trying to convince them to use pop/smtp as the tansport for their p2p Version Control System Code Co-Op. There are a lot of options out there for this but I like this one for its relatively low network topography needs. With the p2p system comes conflict from latency and some complication but I like how decentralized this is.

Whatever you choose to use is fine if it works. But don’t code without a Version Control System.

Text Editor

  • Edit Pad Pro – Text editors are very personal things for the agile webmaster. The hardcore geeks tend to be almost religious about their choice, and it’s no wonder, we spend much of our day in a text editor. Edit Pad Pro is my choice, with its integration with Jan Goyvaerts’ other great tools such as RegexBuddy and PowerGrep that I also use.

Note: one of the Agile Webmasters, Steve Levithan, is writing a Regex book with Jan that I’d be all over if I didn’t know Steve and couldn’t just ask him my occasional regex question myself.


  • Photoshop – Ok, being on a more textual end of the development spectrum, I got away with Paint for a few days but installed an old copy of Photoshop CS. No link here because I honestly think most webmasters can use a host of other tools that are perfectly fine for web design without the Photoshop complexity and pricetag. Back when I did more of this stuff I liked Macromedia Fireworks (now Adobe Fireworks) but you shouldn’t take too many graphics recommendations from me.

File Utilities, Networking, Sync and Backup

  • Syncback SE – A very useful tool for a variety of things ranging from deployment to backup. The on-change syncronization feature is the glue to our PHP IDE (I’ll tell you about it one day) around here.
  • 7-Zip – Because agile webmaster cannot live by Windows’ built in Zip support alone but needeth other compression algorithms and stuff.
  • SSH Secure Shell 3.2 – Yes I know of Putty (what I use whenever on a guest computer) and just about any other SSH client. But this one’s my choice for the file transfer GUI (like FTP clients). It used to be available as a free download here but now you have to search the web for it (it’s free for non-commercial use). Here, I’ll save you some time.

Last but not least, I installed Microsoft Office 2003. I use browser-based applications (Google mostly) for most of my needs but because many of the corporations I work with don’t I often need this suite around to open their files. In addition, the PIM world is still far behind the Exchange/Outlook powerhouse. Apple’s Mobile Me is promising but I still use Outlook as my contacts backup and syncing center.

I haven’t even begun to scratch the surface, and will continute to write up my agile development enviroment in future articles as I run into more cases for tools I need to install.

Extending Firebug through plugins

Posted by – July 30, 2008

It’s happened. My favorite Firefox plugin, firebug, is so useful and well-designed, that developers have decided to add on to it’s functionality through plugins. While these are still installed and managed the same as a normal Firefox plugin, they require firebug to be installed first. In fact, they are not extending the functionality of Firefox, they are extending firebug itself. They are plugins for a plugin.

It started (AFAIK) with Yslow. This plugin, developed by Yahoo!, analyzes the page, and determines why it is loading slowly. It is based on their own best practices for high performance websites. This is most likely not the type of tool you will use daily, but when you get to the optimization stage of a project it is very handy.

Just the other day, I had the need to analyze the cookies one of my sites was using, and to do so installed Firecookie. Overall I was impressed. It provides a dead-simple way to view, edit, and delete any cookies associated with a page. The one feature I wish it had, was the ability to temporarily disable cookies, without deleting them. This is handy if you want to quickly check what something looks like while logged out of a site, without having to actually log out, and then back in.

There are other firebug plugins I have yet to use, and I’m sure more are currently being developed. All of this added functionality strengthens my belief that firebug is becoming less of a nicety for developers, and more of a necessity. It is definitely one of the larger tools in my development toolbox.