Tournology helps you coordinate and participate in any type of competition. Do you want to run a background check? Or, if you're feeling brave, take the plunge!

Hindvision: Looking Back at the First Tournology Tournament

by Zach | December 13th, 2008

overview-thumb

Deep in the bowels of a small-town financial institution, new life was born. Data Models, ORM classes, View Helpers, and a Round Robin split gave birth to something we never could have expected when we started bootstrapping this web product in April 2007.

home-base-thumb

It began with a simple description of house rules and kiosk etiquette, and the competitors got down to business: registering their teams, signing up for the tournament, and the games began!

score-entry-thumb

The great thing about Tournology is that it hasn’t been difficult to find excellent testers. We provided a location, a few decks of playing cards, and set up a few computers to access the application, and they were more than happy to go to town.

cards-thumb

One of the most important pieces of any test is reviewable evidence. We set up two kiosks for our eight teams to use, and also utilized a simple screen capture program to record our end user’s every move. Their stumbles through our foibles would ultimately provide us with the precious evidence we would use to improve our workflows, streamline our interfaces, to reach our end goal: a great application.

cards2-thumb

After the first few rounds, the tournament began to run itself.  As teams entered scores, they found their next match, identified their competitors, and sat down at an empty table.

winners-thumb

After 13 matches, victors were crowned and the competitors dispersed. But our job is just beginning.  We’ve got enough usability reviews, UI tweaks, and new features to keep us elbows deep in code for a while. We’re looking forward to running the next tournament, it’ll stack up to even more greatness!

group-photo-thumb

PS: Want to take a look at the tournament?

What’s In It For Me?

by Zach | December 13th, 2008

Generally, your most difficult task when evaluating a product is answering the following question: “How will this benefit me?” This isn’t a selfish question for you to ask, and in no way can anyone fault you for deciding not to use the product. It’s simply a pragmatic way to decide how to divide your free time.

Answering this question proves more difficult with more obscure use cases. For example, consider the microblogging service Twitter. Entirely open ended, it asks the end user to answer another simple question: “What are you doing?” This use case was initially difficult to prove beneficial, but it was the open-ended nature that paved the way for its popularity to snowball. Once end users began to see how the early adopters were using the service, the benefit become more and more apparent.

Or consider DropBox, which uses a very effective demonstration video to go through a few obvious use cases of the product. This serves as a simple way to bridge the divide between an abstract web product and something of value to an end user.

But sometimes, the use case is more obvious. For example, consider our tournament coordination web site Tournology. We aim to provide an easy way for tournament administrators to coordinate tournaments for any game or sport, big or small. We’re doing nothing more than providing a simple and relevant window into a complex flow of information and events relating to a tournament.

But now we must ask the question: “What do you want Tournology to do?

How do you run your tournaments? What games or sports do you play? What special tournament rules have you established to facilitate fair play and good competition?

And to answer those questions, we’ve set up a simple feedback website using UserVoice. We’ve put a green “Feedback” tab on the right of all of our pages, which you can use to submit an idea. Tell us about your tournament, so that we can better develop Tournology for you. We’re at a crossroads, one where you can play a crucial role in shaping the future of Tournology to fit your needs. A time where you can change “What’s In It For Me?” into “This is what I want.” We welcome your participation.

Screen Capture Programs for Usability Testing

by Zach | December 13th, 2008

Tournology recently hosted our first private tournament to alpha test our software among laypersons. This test would provide us with not only motivation to complete the coding required to run a simple multi-stage tournament, but also would provide us with valuable usability testing.

Of course, the crucial piece of usability testing is reviewable evidence. And that means spying on our tournament participants! We set up two kiosks so that teams could easily access our application, and then used a screen capture program to record their every mouse movement, keyboard key press, and each vocal expletive used when they couldn’t find what they were looking for.

Of course, there are a ton of different screen capture programs out there, and your mileage will vary when using each one. Some are intended for simple demonstration videos, where a presenter might go through a variety of steps one after another in quick succession to display how to accomplish a task. These are generally intended to be shorter videos, and software developed primarily for this use case may not handle the longer recording sessions that a usability test will require.

Here, we’ll go through a few of the programs we tried, and give you a little bit of information on the strengths and weaknesses as they relate to usability testing.

Testing Criteria

  1. Must record high resolution videos. We wanted to run our kiosks at the highest resolution the monitor would allow (1920×1200), and then use the page zoom feature of the browser to increase the fonts on the page to a readable size. Ultimately, this would look much better than running a lower resolution on our 24″ kiosk monitors. That means the capture program would need to either record in full 1920×1200, or be smart enough to record the portion of the viewable window needed for the displayed browser content.
  2. Must output in a common video format. We ultimately wanted something that would play in a normal video player, like VLC. We certainly did not want the program to use its own proprietary format. Also, the more a codec could compress the output, the better. We don’t need a lossless codec for this task.
  3. Must not affect system performance. Sure, any old program can record 1920×1200 resolution, but will the mouse jump in 20px increments?
  4. Simultaneous audio recording is a plus, video is even better.
  5. Visual indicator of Meta Key Presses and Mouse Clicks. Later on, how will I know that the user hit the CTRL key, or the ALT key, or the Apple key on the keyboard?

Another key factor we faced is that three of the four developers on the project had Apple MacBooks, so it was pretty much guaranteed that we’d be using the MacOS platform for our kiosks. This turned out to be a beneficial requirement, as it would appear that there are quite a few more reputable capture programs for MacOS than Windows, not to mention that the MacBook has a built in web cam (for any possible video recording). If you want to use a MacBook for a usability test with an external monitor, please check out these tips from Christian Cantrell.

Name OS License Cost Audio Video Mouse/Meta
Silverback MacOS 30 Day Trial $49.95 Yes Yes Yes
iShowU MacOS Demo, Watermarked $20
HD:$30
Pro:$60
Yes HD Pro
ScreenFlick MacOS Demo, Watermarked $20 Sale Yes No Yes
CamStudio Windows GPL Free Yes No No

Silverback

The coolest feature about Silverback is that it will overlay the video from your web cam right into the screen capture video. While the correlation between mouse movement and eye movement has been extensively studied, we find it infinitely more useful to look at the user’s emotional response. Are they getting frustrated? Angry? Were they delighted at the ease of use of a particular feature?

Unfortunately, in our tests, Silverback is not yet stable when trying to export videos longer than 30 minutes. It is a problem they are actively working on, and I hope they successfully solve it soon, because this is a very valuable feature.

CamStudio

One of the best features in CamStudio is that they let you choose which codec you want to encode the resulting video in. So, naturally, I tried the XVID codec and it worked just fine. CamStudio also has an option to export to SWF (Flash).

IShowU

In the IShowU feature set, one of the interesting pieces is that IShowU HD and HD Pro work with full screen OpenGL applications. This is an important note to consider if you’re testing the usability of something 3-dimensionally accelerated.

Big Hitters We Didn’t Review

Name OS License Cost
Morae Windows XP/Vista 15 Day Trial $1495 for Bundle
Camtasia Studio Windows XP/Vista 30 Day Trial $299

Final Decision

Ultimately, we decided to go with ScreenFlick. It handled full 1920×1200 without a noticeable drop in system performance, and resulted in very manageable file sizes. The program displays a nice video size counter in the taskbar, which only increments when something on the screen changes. Very efficient recording. Also, for a demo, the watermark it added to the resulting video wasn’t too obtrusive to use for our purposes, especially compared to the very intrusive IShowU demo watermark. It would have been really nice to get web cam video integrated with our usability test, and it looks like a purchased version of IShowU would be a very viable alternative which we’ll have to consider when we have our next Tournology tournament.

Extra Credit on Graded Browser Support with Zend Framework

by Zach | November 9th, 2008

As with any web application, developers must decide what browsers to test against when developing the application, and ultimately support when the application is released into the wild. The decision to support a specific browser usually judged solely on the percentage of market share the browser has. More recently, some applications such as Basecamp, Facebook, or Apple’s MobileMe have also taken into account the amount of development stress caused to the programmers working on the site.

Yahoo introduced Graded Browser Support, which states that clients using A-grade browsers will have the optimal experience, and clients graded lower may have a reduced feature set or decreased performance. The most important thing to take away from this approach is that with older C-grade and non-mainstream X-grade browsers, the core features are still functional.

We’re in an interesting time in web development, browsers are again releasing new features prior to official standardization, in the hopes of guiding the standards to a more practical implementation based on real development and use cases, not just hypothetical design. As many have stated, The Browser Wars are back.

Tournology has decided to both endorse and utilize the popular open source PHP application framework developed by Zend, aptly titled Zend Framework. One of the devices Zend Framework (or, ZF) uses to increase the reusability of code in the View portion of the framework is the concept of a View Helper, a simple class and method pair that returns HTML markup (or equivalent content suitable for output) to the View.

The following is a Zend Framework View Helper to parse the user agent string, a simple port of the user agent parsing code currently residing in the popular jQuery JavaScript framework. This can be used in a variety of ways, from serving user agent specific content to adding a browser specific CSS class to avoid relying on CSS hacks.

Download

Please consult the Zend_View_Helper documentation for information on how to integrate the View Helper into your application. Also, set up your autoloader correctly to load the Browser class (and your Zend Framework files), or add the require() declaration at the top of BrowserHelper.php to load the Browser class. You may then commence to use the view helper like so:

From your view script:

<?php echo $this->browserHelper()->getVendorClassName(); ?>
<?php if($this->browserHelper()->is(Browser::MSIE)) { /* do something */ }; ?>

Or from your controller:

<?php echo $this->view->browserHelper()->getVendorClassName(); ?>
<?php if($this->view->browserHelper()->is(Browser::MOZILLA)) { /* do something */ }; ?>

One specific application in Tournology using this approach is with rounded corners. You’ll notice in the source code of the popular microblogging website Twitter, they enhance the presentation for browsers that have proprietary CSS extensions for the CSS 3 border-radius property. For instance, as of the time of this writing, the td#content tag has the following properties to provide rounded corners to browsers using the Gecko and Webkit rendering engines (Firefox, Mozilla, Flock, Safari, and Chrome):


-webkit-border-bottom-left-radius: 5px;
-webkit-border-top-left-radius: 5px;
-moz-border-radius-bottomleft:5px;
-moz-border-radius-topleft:5px;

However, Twitter does not provide any mechanism for rounded corners in Internet Explorer. What we aim to do is establish the baseline presentation: rounded corners using background images and nested divs by default, and then alter the markup returned for Gecko and Webkit compatible browsers to a single div with no background images needed. This will reduce the amount of markup and HTTP requests, thus improving load times further in newer web browsers that support these proprietary property shims for CSS 3 border-radius. This is an approach that goes beyond the Graded Browser Support guidelines set forth by Yahoo to enhance the experience even further as a reward to clients using the newest browser versions. We like to call it A+ Grade Browsers, giving extra credit (in the form of increased performance) to the browsers that have the highest marks (in terms of advanced feature support).

We must mention that establishing a presentation baseline is the most important step, as parsing the User Agent may not be reliable in all cases, especially in corporate or educational environments using proxy caching as a means of serving content.

Stay tuned for another article detailing the source code used to provide fully compliant A-grade Rounded Corners, which are automatically enhanced to High Performance Rounded Corners in A+ grade browsers.

Thinking Like a Tournologist: Seth Godin

by Zach | October 7th, 2008

With the 2008 United States Presidential campaign in full swing, the candidates and their Vice Presidential counterparts are engaging in various debates to convince the American people that each is better qualified to serve as leaders in the United States government.

Seth Godin is thinking like a Tournologist with his latest blog post that really gets us thinking about how the debate format can be changed in order to provide a more informative and fair discussion for the benefit of the viewers, not just the politicians involved.