Why Starbucks

Any organization that becomes sufficiently large such as McDonald's, Microsoft and now even Apple will have the soulless corporate persona automatically associated with them. Thus is the image that Starbucks must confront. In addition, Starbucks is viewed as the overpriced yuppie coffee shop that clueless young urban professionals frequent for whatever vain reason it appeals to them.

I love Starbucks, but it's not for the atmosphere that the design creates and it's certainly not for the standard French roast coffee that they serve because I actually dislike that particular beverage. I will venture to a Starbucks over a Timothy's, Second Cup or a lesser known haunt when it comes to a fancy latte or mocha because of one thing. Service.

Yesterday afternoon I dropped into the local Starbucks and ordered my usual weekend Grande Mocha with Whip. The store was quiet and I was the only one in the queue. The service was upbeat and with a smile as usual and the order was promptly shouted to the barista standing by. I moved to the pickup counter to wait for my beverage and noticed that the barista had left her station and was tending to other duties.

Apparently the barista on duty had not heard my order placed and thus the empty cup with my order on it went unnoticed. I waited for about two minutes before the server noticed me and asked if they could help me. Upon realizing that my order had gone unfulfilled for two minutes the server, without batting an eye, apologized and immediately presented me with a free beverage coupon before promptly filling out my awaiting order.

That one small gesture is the perfect example of why I come back. I'm pretty easy going. People forget things and stuff falls through the cracks sometimes so I don't sweat it so I wouldn't have protested or thought about needing to be compensated. But Starbucks excels at customer service. They know that since I'm paying upwards of $3 a coffee at regular intervals it makes sense to rectify their mistakes immediately and properly.

Consistently good service is the reason I will now pass by a Timothy's or a Second Cup when looking for a fancy coffee and a spot to get online.

I shall endeavour to remember my Starbucks experiences during future client interactions and engagements.

DemoCamp Gender Bias

Jennifer McCarthy tables the issues of gender bias at DemoCamp events. I don't think anyone would disagree with Jennifer that every DemoCamp is biased towards men. Jennifer believes that our stereotypes of men and women in technology are the basis and that "We are all well aware of the idea that men are simply better at math and computers then women".

Now call me naive, but I've never heard the stereotype put this way before. I would rather characterize it as men like gadgets more. This is a personal observation rather than fact but if true, its amplified by DemoCamp as it's partly a gadget demo before a product demo.

When I attended Mesh, my business partner Jay pointed out the much more balanced ratio of women to men as is generally viewed in technology related conferences. I agreed but realized that Mesh was marketed not just to technology but at media, marketing and business in general as the name suggests.

Imbalanced gender ratios in technology are nothing new. I would be surprised if there were more than five women in my graduating computer science class. The issue is why. What are the aspects of technology as is that doesn't not attract as many women as men?

If we wish to make DemoCamp more attractive to women we have to ask what aspects other than the dearth of men are making the event undesirable. I would suggest that DemoCamp requires a more holistic approach factoring in product applications, design and marketing. Unfortunately because of the format of DemoCamp we can't enforce this but it can certainly be encouraged by questions from the audience. We can force the presenters to address issues beyond the "coolness" of their product and focus on the applications and implications.

Am I even close here or am I falling into the same stereotypical observations that my male colleagues are?

Australian copyright law vs robots.txt

Apparently Australia is attempting to enact a law which acordding to Google seems to require search engines to request permission before indexing a website.

"The Australian government says the new laws are designed to keep up with the fast pace of technological change"

Here's how content providers can keep up with the fast pace of change:

User-agent: *Disallow: /

Apparently adding this simple text to a robots.txt file on a corporate website is too much for lobbyists' clients in Australia.

Captcha Testing

I finally snapped this afternoon. Several months ago I switched to a form based contact method on my website after I was receiving a deluge of Spam through my email address. I then had the form pass on the messages to a new email address and my Spam problems blissfully disappeared. That is, until some enterprising Spam pedlar or pedlars decided to either map my form to an automated system or employ some very cheap labour to submit the hell out of my contact form.

I decided to implement a text based CAPTCHA system. Now most CAPTCHA systems employ the distorted letters image based approach. I suspect those are much harder to defeat but are also much more of a pain for legitimate visitors trying to send a message. I like to employ the lesser used question based method.

What colour is the green monster?

This simple question should be easy enough for a five year old to answer but  changes to a random question each time the form is rendered. It's possible for me to increase the difficulty of the question or change to less predictable questions if the pattern becomes too simplistic or mappable. It has the advantage of accessibility since it doesn't require the visitor to view images or hear sounds. It's also much easier to implement

I simply create a set of questions and answers with a numerical key. The questions are then selected at random when the form is generated and the numerical key is passed along with the form for validation. Before sending the email, the code checks to make sure the associated value matches the correct answer. If not, the visitor is told the answer was incorrect and is presented another random question to try again.

I think the system may actually be more effective than image based techniques as it's not a mindless copying procedure but rather a slightly more taxing logic problem. Time will tell I supposed. If I start getting Spam again I'll change up the question type or make the question slightly harder.

Now to implement this for comments.

After Mesh

Thanks to Stuart, Rob, Michael, Mark and Matthew for putting on a great event.

The presentations served as a great jumping off point for ideas and discussions in the halls, the un-lunch rooms, the bars and the back channel.

Best Presentation: Pinko Marketing by Tara Hunt
Best Quote: "We're like drug dealers...Give em a tast and if they like it, they'll buy in" - Jason Fried
Best Product Advice: Get your product out as sooner rather than later - Jim Coudal
Best Personal Advice: Become a mentor to somebody and help give back to the community - Albert Lai
Best Hangout: The unconference/un-lunch room
Best Conference Feature: Power outlets all over the floor!

Search Zones

Google and Yahoo! have conquered the vast majority of search zones, though I believe they have skipped two areas that I am constantly finding myself yearning to search; history and bookmarks.

So many times I've remembered a story that I've previously read or bookmarked and yet I can't find it because the details I'm looking for are not contained within the meta-data.

The new Mozilla Places functionality may be a good area to test this implementation. The Places Browser History seem like the most likely spot to hook in. Will this be extensible? Can keyword indexing be added through extensions or third party programs like Google Desktop?

WiFi Cell Phone

After playing with Asterisk and the extremely easy to use Asterisk @ Home I'm now thinking of all the wonderful possibilities of VoIP. WiFi cellular hybrid phones are now coming to market and it would be wonderful to piggyback on open WiFi networks instead of cellular network. Unfortunately I see two problems. 1. You can't pass a call between a cellular carrier and your internal PBX. 2. Firewalls. Unless it's your own WiFi set-up or a trusted source chances are it's not going to let a SIP connection through.

Demo Camp 5.0

Just a reminder that DemoCamp 5.0 is tomorrow night at the Bahen Centre for Information (University of Toronto) (Google map) from 6:30PM to 8:00PM.

They're still looking for suggestions on after session drinks and food. I'm looking forward to Chris Nolan's overview of RJS templating and I believe Sutha Kamal or another representative will be demoing the latest from Ambient Vector among other presentations.


As a quick mental diversion today I decided to try out Feedburner instead of the direct RSS feed that I had previously implemented. I also changed my feed icon to the new standard feed icon.

Feedburner provides me with a statistical overview of my RSS traffic but more importantly, they make it much easier for viewers to subscribe to my feed.

It has an easy sign-up procedure and monetizes by item click-throughs and inline ads. I'll have to see if the data is enticing enough to pay $5 a month for the service. I'm guessing my traffic isn't large enough to warrant it though.

The interesting part was figuring out how to automatically redirect all my existing traffic. A simple mod_rewrite rule that permanently redirects all agents that don't identify themselves as Feedburner was all that was needed.

RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^rss/?$ http://feeds.feedburner.com/MichaelGlenn [R=permanent,L]

Simple! Assuming your news reader obeys permanent redirects.

Asterisk and Unlimitel

For months and months we have been using Primus at the office with the intenet that we would go with a more professional phone set-up including a digital receptionist, extensions and personal voicemail. Having a single line is hardly professional but the alternatives were a little pricier than we wanted to pay. I had heard of all these great savings with VoIP but they tend to be a single line set-up with common voicemail, helpful at home but not at the office. Other companies we talked to had fancy VoIP/Internet Telephony options but at steep per employee, per month prices.

I started to research Asterisk again as we had an older PC kicking around to use and I quickly found out about DID lines and how we could utilize them. What I wasn't clear about was whether one DID line meant one phone call or whether you could have simultaneous phone calls. Several DID suppliers suggested that I get multiple DID numbers and they could configure rollover at an extra charge. Not bad, but I'd rather have more control over the options. So I installed Asterisk@Home with no problems and started searching for a DID supplier.

After searching on the Toronto Asterisk User Group mailing archives I came across Unlimitel. They offer Canadian exchange DIDs in Southern Ontario, Ottawa and Montreal at $2.50 per month, 1.1 cents per minute within their calling areas or 4.4 cents per minute anywhere else in Canada and the U.S.

But the service is what I'm writing about. Stephan Monette at Unlimitel was extremely helpful in setting up the system and even went so far as to log into my Asterisk box and help configure it when after following their helpful set-up instructions for Asterisk@Home I made a typo and could receive incoming calls.

Thanks Stephan, we're looking forward to using the system!


When I'm eating my own code dogfood I frequently stumble across needless architecture that slows me down and frustrates me to no end, but I don't have the time re-engineer it right away. The problem is that I need to write down my thoughts about the particular situation that the frustration occured in so later when I'm refactoring I can remember all the issues I need to address and distill them into programming tasks.

So I started a new wiki page on our intranet called bugmes. It's a nice centralized notepad for the users and developers in house to get their gripes out.