I’m happy to announce the launch of GroupTweet, a service that allows Twitter users to send private messages to specific groups of friends. This is a small project that I threw together to fill a feature-gap in Twitter that always bothered me: why can’t I send status updates to specific groups of followers? GroupTweet allows small groups of people to send updates to each other without those updates appearing on their public time lines. Check it out and let me know if you have any feedback!
Are Web Application Development Frameworks Worthwhile?
I just finished writing a blog post for the iNET Interactive blog in which I look at the pros and cons of developing web apps using rapid development programming frameworks such as CakePHP and Ruby on Rails. Check it out and make sure to tell me how wrong I am in the comments!
Amazon Showcase 1.2 – Now With More Template-y Goodness
UPDATE: I reached a critical number of requests for the ability to create multiple instances of this widget, so I made some quick updates and pushed out version 1.3. Enjoy!
I’ve just wrapped up version 1.2 of the Amazon Showcase WordPress Widget. Besides some minor updates improving performance, this release included a new “Template” option to satisfy a highly requested feature regarding output customization.
User’s now have the ability to define a “templates” for each item displayed. This provides total flexibility over the HTML that is generated and outputted in the widget. There are several pre-defined ‘tags’ that you can use within the templates as placeholders for product information. For example, any instance of the tag ‘[author]‘ in the template will be replaced by the product’s author name when outputted.
Head over to the Amazon Showcase WordPress Widget project page for more information and to download; and of course, feel free to send me any comments or suggestions you have!
Labels in Gmail are Terribly Inefficient – A Lesson in User Interface Design
For such a smart and innovative group of people, the Google developers have really managed to mangle the Label functionality available in Gmail. I was desperately hoping that the recent upgrades to the Gmail platform would usher in some improved interfaces for working with lables. Alas, I have been let down.
Let me clarify something before I get started: Labels are Gmail’s version of tags. Tags totally rock for organization and I love them dearly. They offer a lot of flexibility over hierarchical folders and are really powerful when you start applying several tags to a single item. Fortunately, many services are starting to move away from systems of organization based on hierarchical folders and towards systems based on tagging of data. Google apparently only received half the memo. It’ is so difficult in Gmail to apply more than one label that you find yourself stuck in some wierd “only-one-tag-at-a-time” universe. You are basically limited by the same restrictions as hierarchical folders, but there is a clever “Label” mask on this system to trick you into thinking you can tag like all the other cool kids. I say bollocks!
The best way to describe Gmail’s Label deficiences is through an example. I recently ordered a gift for my hot wife from Amazon. After placing the order, I received the standard order confirmation email with all the details of the purchase. Me being a tag freak, I wanted to tag the hell out of that email so that later on I could find it as needed. I decided to apply four labels (tags): Amazon, Receipt, Birthday, Nikki. So there you go: four tags. Seems simple, right?
Here is a break down of what it takes to apply these four labels to a single message in Gmail:
- Click #1 – Select the email
- Click #2 – Open the “More Actions” menu
- Click #3 – Grab the scroll bar
- Scroll #1 – Scroll to “Amazon” in the list of labels
- Click #4 – Apply the “Amazon” label to the email
- Click #5 – Open the “More Actions” menu, again
- Click #6 – Grab the scroll bar
- Scroll #2 – Scroll to “Receipt” in the list of labels
- Click #7 – Apply the “Receipt” label to the email
- Click #8 – Open the “More Actions” menu, again
- Click #9 – Grab the scroll bar
- Scroll #3 – Scroll to “Birthday” in the list of labels
- Click #10 – Apply the “Birthday” label to the email
- Click #11 – Open the “More Actions” menu, again
- Click #12 – Grab the scroll bar
- Scroll #4 – Scroll to “Nikki” in the list of labels
- Click #13 – Apply the “Nikki” label to the email
Grand Total: 13 clicks and 4 scrolls
Am I the only Gmail user that finds this ridic-a-donk-ulous? (Now, I know you can just use the scroll wheel instead of grabbing the scroll bar, however: 1) some people don’t have scroll wheels, and 2) dammit, I’m trying to make a point here). So, is there a better way? Absolutely.
A Better Way
Here is my solution for a better interface for Labels in Gmail:

First of all, rip the labels out of the “More Actions” menu, they just don’t belong there.
There is a mile of open space in the tool bar. Let’s go ahead and add a “Labels” button there. This button will give you access to an overlay with actions specific to labels:
There is a lot going on here, so let me explain: When an email is selected, all currently-applied labels will be highlighted. Clicking on additional labels will automatically apply them, and clicking on currently-applied labels will remove them. At the top of the list of labels is a text field that allows you to enter new labels. Simply type in all your new labels separated by spaces. Once you click “Apply” the new labels and other changes will be saved and applied to the selected email. Simple as pie.
Now let’s replay the above scenario with my version:
- Click #1 – Select the email
- Click #2 – Open the “Labels” menu
- Click #3 – Apply the “Amazon” label
- Click #4 – Apply the “Receipt” label
- Click #5 – Apply the “Birthday” label
- Click #6 – Apply the “Nikki” label
- Click #7 – Click “Apply”
Grand Total: 7 clicks and 0 scrolls
This new “Labels” overlay halves the number of clicks required and completely eliminates any scrolling. Much better. So, what are you thoughts? Could this be even more efficient (you could definitely eliminate one click by making the “Labels” menu open up when the mouse hovers over it)?
Google, are you listening?
Meebo Jumps on the Amazon S3/EC2 Bandwagon
Meebo, my instant messaging app of choice, has just released a cool new feature allowing for file transfers. To implement this feature, they made use of the much-talked-about Amazon Simple Storage Service (S3) and Elastic Compute Cloud (EC2) web services. Read more about the behind-the-scenes implementation details at the Meebo blog: File Transfer 101
Announcing Solo Signal
I’m very excited to announce my latest blogging project, Solo Signal. As the assistant organizer of the Cincinnati Entrepreneur Meetup Group, I often find myself sharing the insights and knowledge of the web development process that I have gained over the past decade with curious entrepreneurs and business people.
The web offers countless opportunities for anyone who is willing to learn how to use it properly. Too often, however, many non-technical people are easily overwhelmed by the amount of information involved in this task. Solo Signal helps people overcome these issues by breaking down the web development process into easily consumed articles. I hope to provide business-minded individuals with the information, tools and understanding needed to successfully leverage the Web for their benefit.
Hop on over to Solo Signal and subscribe to the feed. I have all kinds of great topics planned and you won’t want to miss any. Also, make sure you leave some comments so that we can get some good conversations going!
Arguing the Business Case for Web Standards
Web standards and the concepts they embody are a rather elusive subject for those outside of the web development world. Convincing a manager or client that spending the extra time and money on web standards is often met with blank stares and the swift closure of checkbooks.
As prudent architects of the web, it is our job as developers and designers to argue the case for web standards. It is important to translate our techno-intertube-babble into something that any client (managers being clients, too) can comprehend. Once your client understands the value that web standards provide to their site and their customers, they will be more likely to devote resources towards doing things the right way.
The Business Case for Web Standards is a wiki devoted to helping developers and designers argue the case for web standards. Christian Heilmann created this site to help the web design community band together and collectively tackle this task.
From the site:
The first problem I realized is that a lot of presentations start from the premise that the person we are trying to convince knows and is interested in web standards. This might not be the case, therefore I am thinking that we need to approach the sale with the premise that we need to solve the issues the person has and find the solutions web standards provide that relate to these.
Roger Johansson also points out a great reason to use this resource:
One thing in particular that I like about this is that there isn’t only room for the arguments for using Web standards. Common counterarguments are also listed, which is good since being aware of those arguments lets you prepare good replies to them in case they are used.
The wiki itself is broken down into some really great categories that make it very easy to find the information you need.
The Web Design Survey, 2007
A List Apart has published a survey for anyone involved in the world of web design. This is a really good survey and should help to provide some definition to our industry. Best of all: you could win stuff for participating! Check it out: The Web Design Survey, 2007
New Version of Amazon Showcase WordPress Widget
I just polished off Version 1.1 of the Amazon Showcase WordPress Widget. This version adds some user-requested features and also addresses some compatibility issues.
Amazon Showcase is a WordPress Widget for showcasing items from Amazon. Simply enter the ASIN/ISBN numbers of any products and optionally enter an Associate ID for earning commissions. The product image will be displayed with a link to the product detail page on Amazon.com.
New in Version 1.1:
- cURL is now supported and used if it is enabled in the server’s PHP configuration
- Integrated the fantastic simplexml44 library, a PHP4 backport of PHP5′s SimpleXML
- Added the ability to specify the Amazon locale (US, UK, FR, etc.) from which to pull items
- Added the ability to showcase up to ten items from Amazon’s catalog in the widget
A special thanks goes out to Gavin Gough and Christian Selvaratnam who both made fantastic feature requests and were invaluable in the testing and debugging process.
Enjoy and keep the feedback coming!
BetterThumbs WordPress Plugin
I’m proud to announce another code release: BetterThumbs WordPress Plugin
The BetterThumbs WordPress Plugin creates true thumbnails for full-size images that are resized in the post editor, instead of just letting the browser scale down the original full-size image. This translates into faster load times and lower bandwidth usage.
I built this plugin out of frustration with the way WordPress handles images that have been resized in the post editor. To be honest, I believe this functionality should be built into WordPress — it just makes more sense to create true thumbnails based on the dimensions the author wants.
So enjoy and leave your feedback!


