T-Shirt Estimates

I found this post on estimating user stories via the Stack Overflow podcast. Since my only experience with Agile/Scrum estimating was with planning poker, I found this an interesting approach. T-Shirt estimating is a great way to get a  feel for the size of  a user story (a task); the team estimates how long a story will take by saying “This task is an XL”, or “This one’s a small”. The sizes correspond with how long that team member thinks it would take to complete that task.  You don’t need long drawn out discussions here — the idea is to get a quick feel for the size of the task in order to do your planning. Planning Poker, on the other hand, is a more granular methodology, requiring more discussion and thought.

By having less values to use for the estimates — T Shirt estimating uses 5 sizes, Planning Poker uses up to 10 — allows for faster consensus building among the team. Once the stories have been selected  for the next sprint using T Shirt estimating, more precise estimation using Planning poker can be done if desired.

Four for February!

For a limited time, you can get FreezBeat for just $5. Use coupon code FOURFORFEB at checkout to save $4.

It’s a pretty cool little utility, if I do say so myself! FreezBeat does it’s job quietly, and does it well and you will wonder why the “big guys” didn’t just build this in to their products in the first place.

If you’re not ready to buy just yet, there is a 30 day trial available.

Google Analytics vs Spry Framework

While working on My Fan Flash, I was asked to integrate Google Analytics to the site. After all, what site these days doesn’t want to track it’s users?

So I did the usual. I created a new analytics account, grabbed the tracking script and installed it with the proper tracking code in the footer of the site. After pushing it to production, I was done. Sat back and waited for the first hit. And waited. Hmm… visited the site a few times with different browsers, but still no hits were being recorded.

Alright, time to get dirty. I opened the site in Firefox and enabled Firebug (I can’t work without it,it’s just too useful!). I set a breakpoint on the _trackPageView function and to my suprise it wasn’t hit. I put another breakpoint on the script load, refreshed the page and to my relief that breakpoint was hit. I started stepping through the code and ended up inside the Spry framework code. Apparently, Spry is wiring up an event handler that breaks the new Google Analytics script.

Surprisingly, there wasn’t much to be found on the internet about this but over on the Google Analytics, I did find the brand new asynchronous tracking script that can go in the document head instead of the footer. Google claims that this will speed page loads and improve compatibily with scripts that use onLoad handlers.

After replacing the old ga.js snippet with the shiny new async snippet and pushing to production, tracking for this site was functional again. So if you are having issues with Google Analytics not working on your site and you’re using third-party scripts that hook into the page load event, switch to the new the async snippet.

Goodbye, Feedburner

Google’s pretty much destroyed FeedBurner, so I will no longer be using the service. If you are subscribed via a feedburner feed, please unsubscribe and resubscribe via the RSS link in the sidebar, or the address bar.

Introducing FreezBeat

FreezBeat I’d like to introduce you to the latest creation from Snowmoon Software, FreezBeat. It’s an indispensable little utility that keeps you from missing a beat of your favorite music, a scene from the latest movie, or a word from that podcast. Just how does it do that? Read on!

First, a little background. I work in an office — a noisy one. Music and headphones are essential to getting any work done at all. The workstation I was using had a nice multimedia keyboard with playback controls. With just a touch, I could play, pause, and even adjust the volume right from the keyboard without having to hunt for Windows Media Player or iTunes. Sadly, that didn’t last too long. My next workstation didn’t have a multimedia keyboard; I had to hunt for the player window whenever I left the computer, or someone came by to ask a question. That gets a little annoying when you have as many windows open as I usually do!

Over the next two weeks in my spare time, I wrote what was to become FreezBeat. It went through a  few name changes… Sonic Presence, Caesura were just two of the incarnations. I shared FreezBeat with a couple of friends and they loved it. It quickly became one of those apps that you don’t really notice when it works, but when it’s not running, you miss it… quickly!

So what does FreezBeat do? It manages your audio playback for you, automatically. Ok, that’s what it does but what does that mean? Imagine you’re at work, listening to music and have to go get a fresh cup of coffee, or go to a meeting. You lock your workstation (Windows Key+L from the keyboard) and FreezBeat pauses playback. When you return you sit down, unlock the computer and get back to work.  Wait, the music’s playing again! That’s because FreezBeat knows you’re back and automatically resumed playback and you didn’t miss a beat!

What if you need to pause playback because your phone rang? FreezBeat can help you here too. Click on FreezBeat’s tray icon to pause, click again to resume. If you’re a keyboarder like me, you can assign a special key combination (called a hotkey) to pause and resume too. Just right-click on  FreezBeat’s tray icon and pick the hot key option from the popup menu. My favorite hotkey is Control+Keypad 0; it’s an easy two-handed keypress without having to move too far from the home row.

FreezBeat can also pause playback when the screensaver starts, and resume when the screensaver stops running. FreezBeat supports Windows Media Player, iTunes, and WinAMP and runs on Windows XP, Vista, and Windows 2008.

Buy a copy today, or download a free 30 day trial at freezbeat.com. Please note that you have to enter a little bit of information to get a trial license before you download FreezBeat; this information is used only to generate your license.