boogdesign posts

Longer posts on standards based web design, portable web development and Linux, intermingled with some stuff on my other nerd interests.

Rob Crowther, London, UK based Blogger, Web Developer, Web Designer and System Administrator - read my Curriculum Vitae

Buy my book!

Book CoverHello! HTML5 and CSS3 available now

Buy my other book!

Book CoverEarly access to HTML5 in Action available now

Category: Server Side Web Development


11:48:42 pm Permalink WebDD07: Quick and dirty Usability tests (Zhivko Dimitrov)

Categories: Web Design, Web Develop, Usability & Accessibility, Server Side Web Development

Review: Quick and dirty Usability tests - one week, no budget, and no usability facility at WebDD Conference 07 12:00 to 13:00

I got "Don't make me think" for Xmas and so I've become quite interested in the concept of cheap usability testing, I was looking for this talk to give me a fresh perspective on what I'd read.

Zhivko started off with a short introduction on what usability is (ease of use, user efficiency, user satisfaction) and why it's important. Increased user satisfaction leads to:

  • Increased sales
  • Decreased development costs (more testing means less fire fighting)
  • Improved brand image
  • Improved user productivity (ie. when using internal applications)

The talk then moved to comparing remote testing (screen sharing over the internet) with 'traditional' testing methods (with usability labs and all the paraphernalia). Remote testing gives you:

  • A realistic context of use - you're testing users in a 'real life' environment, where they're more comfortable
  • Better geographic representation - with traditional methods it's very expensive to test outside the area where your office is located
  • Access to professionals - if you're selling to a certain market, such as software developers, you might not be able to persuade them to travel to your lab
  • Lack of non-verbal signals - this is a disadvantage, you don't see the non-verbal cues that indicate users are getting frustrated and so have to depend on what they're telling you

Zhivko discussed some research which demonstrated that, despite being much cheaper than traditional usability testing the results gained with remote testing is at least as effective.

The final part of the talk walked through the process for running usability tests at Telerik, here's a summary:

  • Define Objectives & Target Audience
  • Set up Test Scenario
  • Recruit Test Users
  • Carry out Tests
  • Analyze Findings
  • Design Report & Brief Stakeholders

This was littered with practical advice, such as good software to use (GoToMeeting, Camtasia), what sort of compensation to offer to ensure enough respondents (a little bit more than your target group's average hourly rate), how often to use the same testers (no more than twice a year) and even how to avoid putting testers under unnecessary time pressure (don't tell them in advance how many tasks there are).

An excellent talk, just the sort of thing I was looking for with all sorts of useful tips. The only problem I had was reading the slides off the TV screen (I was unfortunately right at the back) and sometimes hearing what Zhivko was saying (probably the being at the back thing again), 4 out of 5.

Technorati tags for this review:    

Tweet this!
2 feedbacks »PermalinkPermalink


11:55:45 am Permalink WebDD07: Microformats HTML to API (Glen Jones)

Categories: Web Develop, Information Architecure, Front End Web Development, Server Side Web Development

Review: Microformats HTML to API at WebDD Conference 07 9:30 to 10:30

This was the first talk of the day, it was in the smallest room but it was packed to overflowing (people were sitting on the floor!) which is surely a good sign for the future of Microformats. The first part of the talk was a whirlwind tour of Microformats - what they are, how they're used and some examples. I was already familiar with this material so I didn't make any notes. The most interesting bit (for me) was the slide with a quote from Dan Cedarholm which referred to Microformats as 'oblivious development' - by adding semantic value to your markup you allow other to build value on top of it while you remain oblivious. A quick search today reveals I've been a bit oblivious myself, as this term seems to be in quite common use in the community, but at the time I thought it was nice.

In the second half of the talk Glen went on to the API part. His basic premise was that you should just add Microformats randomly to your web app and hope that the seeds would grow, you should think about how developers might want to use the information in your site and organise it in a consistent manner. He listed his REST-like principals for Microformats as API:

  • Design URLs for maximum clarity and discoverability
  • Design URLs into a schema to act as an API (his term here was 'faceted structures'
  • Remember URLs have semantic importance
  • Remember URLs can look and act like method calls (ie. composability of URL values, like searching by multiple tags in
  • Use HTTP verbs that work (a la REST, though Glen felt PUT and DELETE were not practical currently and POST should be used for updates)

His final advice for APIs was borrowed from the Microformat ethos: keep it simple. Simplicity gives you a lower barrier to entry which in turn increase the chance of take up. There was quite a long question and answer session after the talk which demonstrated Glen's in depth knowledge of the subject (in fact he appeared, to me, a lot more comfortable and knowledgeable in this interactive role than he had in the first part of the talk).

Overall pretty good, 4 out of 5. I think, given the popularity of this talk, there was scope for having an introductory session and one or more advanced sessions rather than having to rush through the first half of it, but I learned a few things and enjoyed it.

Technorati tags for this review:      

Tweet this!
1 feedback »PermalinkPermalink


11:21:55 pm Permalink Adding discoverable RSS feeds to phpBBPlus

Categories: Web Develop, Server Side Web Development

Last week I added RSS feeds to a forum I help manage. It wasn't too difficult, or even that original, but I thought I'd document it here in case I have to do it again :)

First step is to get an RSS feed set up. I used the mod - it's self contained but integrates well, enforcing HTTP authentication for accessing private forums. The key thing about this mod is it allows you to generate forum specific and topic specific feeds by adding the f=x and topic=x parameters to the URL.

OK, so to make your RSS feeds discoverable you need to add a link element in the <head> element of the page. Here's the one from this blog, which you can see by viewing the source code:

<link rel="alternate" type="text/xml" title="RSS 2.0" href="" />

PhpBBPlus already has a mechanism for adding link elements - it's to add buttons to the 'Mozilla navigation bar' - so I'm just going to subvert that mechanism. First up, the file which actually builds the links is includes/page_header.php - the standard link template doesn't include the type attribute we need. Rather than risking breaking the existing template, I just added a new one. After:

$nav_link_proto = '<link rel="%s" href="%s" title="%s" />' . "\n";

I added:

$rss_link_proto = '<link rel="%s" type="application/rss+xml" href="" title="%s" />' . "\n";

Then further down I modified the code to check the link type:

if ($nav_item == 'alternate') {
$nav_links_html .= sprintf($rss_link_proto, $nav_item, append_sid($nav_array['url']), $nav_array['title']);
} else {
$nav_links_html .= sprintf($nav_link_proto, $nav_item, append_sid($nav_array['url']), $nav_array['title']);

Next I modified the viewforum.php and viewtopic.php files to add in the links. In viewforum.php, I found the 'Mozilla navigation bar' section and appended the following:

$view_forum_rss = append_sid("rss.$phpEx?" . POST_FORUM_URL . "=$forum_id");
$nav_links['alternate'] = array(
'url' => $view_forum_rss,
'title' => 'RSS 2.0'

Then in viewtopic.php, again in the 'Mozilla navigation bar' section (it's marked by a comment), I added the same bit of code. Note that this means both the forums and the topics will present a feed for the forum. I preferred it this way as some of the topics aren't going to have that many updates and I figured the forum feed would be more generally useful, but it would be semantically more correct to change the viewtopic.php URL to use the topic parameter.

Tweet this!
Send feedback »PermalinkPermalink


06:55:08 pm Permalink Fixing ping in b2evo

Categories: Web Develop, Server Side Web Development

I noticed that the b2evolution ping feature has been failing for for some time, looks like some other folk have encountered the same problem. I looked up the ping documentation and discovered they've recently unified the ping service with the one at Yahoo! (who bought them out a while back), which means the RPC address has changed.

It seems easy enough to fix, open up the file inc/_misc/_ping.funcs.php and look for this line:

$client = new xmlrpc_client('/', '', 80);

Change it to:

$client = new xmlrpc_client("/RPC2", "", 80);

And it should start working again. (At least I hope so, I'm just about to try it...)

Tweet this!
Send feedback »PermalinkPermalink

06:29:31 pm Permalink More little buttons of sharing

Categories: Web Develop, Server Side Web Development

In an earlier post, I described how I added 'share on reddit' and 'share on delicious' buttons to my b2evo skin. Today I spent some time cleaning up and adding new buttons for Digg and Ma.gnolia.

I noticed on Arto Bendiken's blog his 'sharing buttons' also added a title after you click on them. It didn't seem like it would be too difficult to extend my previous code, and it wasn't &amp;#59;&amp;#41; Here's what I've finished up with in _main.php:

<h3 class="bTitle">
  <?php $Item->title(); ?>
  <a href="<?php echo $Item->get_permanent_url(); ?>&title=<?php echo $Item->title; ?>"><img src="/images/reddit.png" alt="Share on reddit" class="middle" /></a>
  <a href="<?php echo $Item->get_permanent_url(); ?>&title=<?php echo $Item->title; ?>"><img src="/images/digg.png" alt="Share on digg" class="middle" /></a>
  <a href="<?php echo $Item->get_permanent_url(); ?>&title=<?php echo $Item->title; ?>"><img src="/images/delicious.png" alt="Share on" class="middle" /></a>
  <a href="<?php echo $Item->get_permanent_url(); ?>&title=<?php echo $Item->title; ?>"><img src="/images/magnolia.png" alt="Share on" class="middle" /></a>

Tweet this!
1 feedback »PermalinkPermalink


07:21:40 pm Permalink Fixing Serendipity Atom Feeds

Categories: Web Develop, Server Side Web Development, Blogging and Internet Culture

I have another blog, less technical than this one, which runs Serendipity. I was upgrading to the latest version (a task long neglected) when I noticed that my Atom feeds weren't producing valid XML. The problem was caused by some URLs which had ampersands in them, the Atom feed wasn't encoding them as &amp; like the RSS versions. A bit of digging around, comparing the Atom templates with the RSS ones, and I uncovered the problem - in the files templates/default/feed_atom1.0.tpl and templates/default/feed_atom0.3.tpl find the line:

{$entry.feed_body} {$entry.feed_ext}

And change it to:

{$entry.feed_body|@escape} {$entry.feed_ext|@escape}

It's somewhere around line 50. After that, characters are escaped correctly in the Atom feeds.

Tweet this!
1 feedback »PermalinkPermalink