The semantic web gets friendly

I’ve had a passing interest in the semantic web since I first heard the term a few years ago, but hadn’t explored it much beyond using the hCard microformat for contact info on a few websites I’ve done. It sounded like an interesting idea, but in the absence of significant, working applications beyond the academic world, it didn’t really capture my attention. Not to mention that there were (and are) some very vocal opponents of the idea, with a wide-ranging set of criticisms (some well-taken, some just strange).

But it recently popped back into mind when I chanced across a post entitled Semantic web comes to life from Joel Alleyne’s blog, Knowledge Rocks. Given that I still have access to the e-journal database of one of my former Universities, I logged in a grabbed the full Scientific American article Joel had linked to, The Semantic Web in Action. The article spills a good deal of ink highlighting various real-world applications of semantic web (or at least semantic web-ish) technologies, mostly from the medical field, where practical applications abound. (The stories shared by the article authors reminded me of a story I read a while ago about a researcher without any actual health training who made a significant cancer treatment-related discover just by linking together existing research that hadn’t yet been put together — I wish I could remember whether it was on the web, in Harper’s, or possibly a CBC Ideas episode).

So I’m on a bit of a semantic web kick now… I’ve FOAF-a-matic‘ed myself, and am reading all I can. It’s a fairly timely rediscovery as my workplace (Canadian Education Association) moves towards implementing a new website. We’re sitting on a goldmine of content (particularly from our magazine, Education Canada) that really needs indexing and some good metadata, and it will be interesting to see if RDF or something like it can fit into the emerging picture.

Visualizations of information architecture / user experience

It seems like the meaning of terms like “information architecture” (IA) and “user experience” (UX) have been contested since their introduction, with the result that web design neophytes intrigued by the fancy titles “information architect” or “user experience designer” and eager to learn more, are typically exposed to a bunch of loud and sometimes fairly unprofessional debates that shed more heat than light on the topic.

Which is why I was glad to come across two visualizations recently that help make it easier to explain IA and UX.

The first is from an old article by Peter Morville, IA expert, from his now-defunct column, Strange Connections.

Drawing an analogy with a similar chart in Geoffrey Moore’s book, Living on the Fault Line, Morville characterizes IA as a deep, layered field with the holy trinity of “Users, Content, Context” at the bottom (something readers of his Information Architecture for the World Wide Web will recall), and the more tangible deliverables like wireframes at the top.

The other visualization, from Peter Boersma’s blog, is even more compelling (for me) because it clearly and somewhat contentiously demonstrates the difference between UX and IA, without drawing an artificially rigid boundary between the two.

This revised T-model lead to the coining of two new terms: “armpit IA” (for someone who works at the intersection between shallow IA and UX) and “shoulder IA” (for someone who bridges UX and business IA).

As you go deeper in the IA column, you get into really technical, nerdy things like controlled vocabularies (how do you define when “pool” refers to a swimming pool or a game played in a bar?), while a bit higher you have the kind of IA that every decent web designer engages in (coming up with link labels and content organization schemes). If I had to place myself somewhere on this chart, it would probably be in the armpit. Being in the armpit is more glamorous than it sounds (but only slightly).

Amazon Web Services start-up tour coming to Toronto

The Amazon Web Services start-up tour is hitting the road from September to November, and stopping in Toronto on September 16.

Amazon Web Services invites you (founders and leaders of start-up/early-stage companies and VCs) to join us on the upcoming AWS Start-Up Tour. Learn how to cut fixed infrastructure costs while increasing reliability and scalability by using the AWS cloud and hear from other successful start-ups about their use of AWS. The half-day event lasts from 2-5pm ending with a cocktail/networking reception from 5-7pm.

I was at the last official AWS presentation in Toronto (last fall, maybe?) and it was decent, though I didn’t stick around for the thing as it was mostly typical “this is why you need to worry about scaling” big picture stuff without a lot of the technical details, but I’m betting that this session will go deeper into solutions and architecture, so I’m looking forward to it.

It’s especially good timing as I’m justing starting to dig into EC2, though I’ve been working with S3 for more than a year.

Great way to deal with trolls on your blog

Reading 37signals’ Signal vs. Noise blog today, I came across what I think is a great example of how to deal with trolls on your blog (would also work on a forum/bulletin board).

image of a blog comment with troll label and dunce hat

The problem with one of the most common responses to trolls (i.e. banning them), is that they just come right back and return to grabbing people’s attention with inflammatory messages and starting flame wars. This is a much more elegant solution: rather than getting rid of the offending user, clearly identify them so others won’t feed the troll, shame them with the dunce cap, and make their message slightly harder to read.

Apparently phpBB, a common web forum package in PHP, comes with some similarly creative ways of dealing with trolls, which include silencing them so that it looks to the troll like all their posts are going through, but no one is reacting. Apparently in the above case, the offending user was being impersonated, so I’ve blurred the username (not that it really matters much), but I don’t imagine a troll would stick around very long under such circumstances.

And as an aside, the SvN blog post itself was pretty interesting, discussing how 37signals had taken advantage of an interesting RoR “performance management solution” called New Relic to optimize their server configuration and cut response times drastically.

If only there were something similar for some of the PHP frameworks (maybe there is?).

Hyperempowerment? Really?

In a recent issue of the Edge newsletter, I came across the transcript of a speech delivered by “digital ethnologist” Mark Pesce at the 2008 Personal Democracy Forum, titled “Hyperpolitics (American style)” that presented some interesting ideas on how the current explosion of connectivity (or hyperconnectivity, as Pesce emphasizes) is impacting politics in general, and liberalism and democracy in particular.

Continue reading “Hyperempowerment? Really?”

Incorporating web standards into your design brief or RFP

Working on a design brief for a radical makeover of the website at work, and have been doing a bit of digging around into how people specify web standards in their project specs. Came across this post from quite a while ago, and ended up using it as sort of a template, with some modifications:

Usability, accessibility and standards

  • The website will conform to the following standards:
    • Validation to either the W3C XHTML 1.0 transitional or strict document type
    • Validation to the W3C’s CSS 2.1 or 1.0
    • JavaScript will be implemented as progressive enhancement
    • Will meet all WCAG Priority 1 Guidelines, except No. 1
  • The website will render correctly in IE6+ and Firefox 2+
  • All multimedia files will be available for download, and video will be provided via Flash
  • Alternative stylesheets will be developed for printers and mobile devices
  • Character encoding will be UTF-8

This is still not solidified, and I may decide to put HTML 4 in along with XHTML, though my preference is for the latter (for more on developing with XHTMl, see Jeffrey Zeldman’s “Better living Through XHTML at A List Apart). Continue reading “Incorporating web standards into your design brief or RFP”

More cakePHP tips

Continuing from my last post on choosing a php web development framework, here are some more tips on cakePHP that you may not otherwise come across as quickly

  • if you change your database (as configured in app/config/database.php) make sure to delete the files in app/tmp/cache/models (see here)
  • cakePHP will do some nice automation work for you if you create created and modified fields in your database tables. But for cake to do its magic, the default values of those fields have to be set to null, otherwise cake will assume they’re already set and won’t alter them
  • if you need to set variables in your controller that will be accessible in your layouts, just append the string “_for_layout” to the variable name, and use Set as you normally would in the controller, e.g. $this->set('whatever_for_layout', $variable); The variable will then be accessible in the layout as it would in a view, e.g. <?php echo $whatever_for_layout; ?>