February 21, 2010

Running Ubuntu on a Sony S Series VPCS11V9E

This entry is unlikely to be of any interest to anyone who isn't trying to run Ubuntu on the Sony S Series VPCS11V9E laptop. I've had one of said laptops for a week or two now and although I've got both Windows 7 and Ubuntu installed on it, I've been finding myself running Ubuntu almost all the time. However, there've been a couple of niggles to sort out, and not quite everything is working fully. I suspect most of that is down to it being a very new machine, but thought I'd jot down some of my findings (and ways that I've fixed things) in case it helps anyone else, or in case someone can suggest how to fix the remaining issues.

I must admit I've not spent much time trying to fix things - it's been a busy few weeks with work, so if I haven't found a solution with half-an-hour to an hour's playing around then I've tended to leave it as is. Which is basically me pointing out that a lot of what remains might well be fixable - I've got enough working for most of what I need.

I'll try to update this as time goes on and more stuff gets fixed, and I'll include a date for any updates. So if the last update is more than a few months ago then it's quite possible the world has moved on and fixed things.

Base Install

The base install has been Ubuntu 9.10 "Karmic Koala", the 64-bit desktop edition. Out-of-the-box a lot of the system worked, including Bluetooth, the display, keyboard, trackpad, Ethernet...

What Worked With Some Help

These are things I've got working, but required some extra work over the base install:
  • WiFi card. To get that working I needed to install the "linux-backports-modules-karmic" package.
  • 3G modem. I haven't quite got this working yet, as I think it will need gobi loader to be installed to load the firmware. If you're going to completely wipe Windows 7 from your machine and want to use this on Ubuntu then make sure you copy the firmware files from the Windows 7 install before you remove it. If you warm reboot after running Windows 7 (so boot into Windows 7 then just reboot into Ubuntu) then the firmware will be loaded already and you can just run sudo modprobe usbserial vendor=0x05c6 product=0x9225 to load the driver, and then you should be able to configure it through Network Connections' Mobile Broadband tab.

What Doesn't Work

This is what I've not been able to get working properly yet, hopefully the list will shorten over time...
  • The Nvidia screen drivers. Using the free "nv" graphics drivers works pretty well, but you can't adjust the brightness (and I don't know if/how well the external monitor support works), but enabling the Nvidia proprietary drivers just results in a black screen when I boot up. You can fix that by booting in recovery mode to a shell prompt and editing /etc/X11/xorg.conf to change the "nvidia" line to "nv" in the Device Driver section.
  • Suspend/resume. The system will suspend without any apparent problems, but trying to resume just results in a blank screen for me.
  • Built-in speakers. Using the headphone jack for sound works just fine, but if I don't have anything plugged into the headphone jack then I don't get any sound at all.
  • Webcam. This seems to be partly recognised - when I try setting it up in Skype (the only thing I've tried so far) then the "webcam turned on" green LED turns on, but I haven't seen any video come from it.
  • Built-in microphone. Have just tried the Skype test call, and the microphone doesn't appear to be working.

What I Haven't Tested

Things I haven't tried yet, so can't comment on whether or not they work...
  • SD card reader
  • Memory Stick reader
  • External monitor - either VGA or HDMI connector
  • Firewire
  • Docking station (or whatever it is that the connector underneath is supposed to connect to...)

Tags:

Posted by Adrian at 06:21 PM | Comments (0) | TrackBack

February 19, 2010

Ignite Liverpool

O'Reilly, the tech book publisher, organises a series of events under the banner of Ignite and a group of us are bringing the format to Liverpool as part of O'Reilly's Global Ignite Week.

It'll be a series of talks on a variety of topics, loosely based round the themes of technology, social or politics. Each talk consists of exactly 20 slides that auto-advance every 15 seconds, so even if one of the talks isn't up your street, it'll be over in five minutes and there'll be something different to look forward to.

We're holding it at the new Art and Design Academy, next to the Metropolitan Cathedral, from 6pm-8pm on Thursday 4th March.

It's a free event, but we'd like you to book so we get an idea of numbers - confirm via Facebook or our our Ning site (you'll have to register with Ning, but it's pretty painless).

Would you like to present?

We've still got a couple of slots available for presenters. If you fancy giving it a crack (and you don't have to be a seasoned presenter, we're more than happy for presenting newbies to give a talk too) then just email a brief (50-100 words) outline to ignite.liverpool@gmail.com by 24th February and we will inform you if you have been chosen by Friday 26th February.

And feel free to share details of the event with anyone you think might be interested. See http://ignite.oreilly.com/2010/02/global-ignite-week-liverpool-uk.html for the full links and info.

Tags:

Posted by Adrian at 04:14 PM | Comments (0) | TrackBack

November 16, 2009

Flattered, But Keen to Prove Russell Wrong

Bubblino and I were supposed to be going down to dConstruct this year, but things were a bit too busy over the summer and the pieces didn't fall into place.

It turns out that we did still get a mention during the conference, as Russell talked about us in his presentation. Now that the audio has been released... well, I don't know what to write here. I'm still a bit stunned at the level of compliment. Good job I didn't make it to the conference, all of Russell's good work would've been undone by my transformation into an incoherent idiot.

I mean, Bubblino is cool, but "like the mother of all demos [...] or the mouse"? Really? I'm flattered and gobsmacked in equal measure.

Anyway, you can have a listen to it all here (and you should listen to all of it, but if you just want:to hear how amazing Bubblino and I are, then skip to 5m20s in):

Materialising and Dematerialising A Web of Data. (Or What We’ve Learned From Printing The Internet Out) on Huffduffer

Russell has stuck some words and pictures to accompany the audio over on his blog.

And in reference to the title of this post, I don't want to prove Russell wrong by making Bubblino less amazing, but by building something even better.

Tags:

Posted by Adrian at 03:06 PM | Comments (0) | TrackBack

September 24, 2009

Interesting 2009

I've been trying to do far too much this summer, and so when the tickets for Interesting 2009 were selling out, repeatedly, I was too busy worrying about more pressing matters and so resigned myself to missing yet another of Russell's famed conferences.

In the week running up to the conference I was lamenting the fact that I wasn't going to Tim D as he tweeted his preparations for trying to teach all the attendees morse code. It turns out he had a spare ticket, my schedule was freeing up (slightly), and there was a Nokia/Tinker.it launch event I'd been invited to in London on the Sunday too... at the last minute, I'd snagged the opportunity to attend.

I am so glad I made it down.

The Interesting conferences are run on a simple premise: talk about something interesting, but it can't be what you do for a living. Which results in all sorts of quirky, informative and delightful presentations. Each slot is only five or ten minutes, and there are almost too many to cram in, which gives the event an energy and sense of purpose. The bunting strung across the hall and introductory audience participatory singing of "The Final Countdown" helped too.

Bubblino came along with me, and so I ended up on stage briefly at one point to introduce him and explain what he did. As ever, he seems to have won a new clutch of fans.

During the talk about Sir Francis Galton, I tweeted:

"New life goal: become interesting enough for someone to give a talk about me at @interesting 2109"

because I realised that having someone give a talk about your life or work at Interesting is the perfect level of achievement: you're not encumbered with the trappings of being a celebrity, but you've obviously done enough interesting things, or led an interseting enough life that you are remembered.

However, John was quick to bring me back to earth with this tweet of what's more likely to happen:

"@amcewen "While Bubblino was very famous in the 21st century very little is known of his creator, ... " ;-)"

Anyway, at the risk of generating too much competition for me to get a ticket next year, you MUST go to the next Interesting conference.

Russell has some links here, Roo Reynolds has a full list of the talks, there's a slightly more detailed run-down from Daniel Weir and there's some Bubblino love from Anjali.

Tags:

Posted by Adrian at 11:17 AM | Comments (2) | TrackBack

July 26, 2009

Upgrading the Firmware on the SM130 RFID Module

The Twacky Races project I'm working on at the moment uses RFID tags to unlock parts of a scavenger hunt, so I'd bought a few Arduino RFID shields from Tinker.it and the associated SM130 RFID modules to go with them. However, when I'd soldered up the shields and connected it all up to an Arduino I wasn't having any joy in reading any RFID tags. The green power LED on the shield lit up fine, but that was all.

With the latest Arduino software (0017 RC1) I wasn't getting anything at all on the serial port from the example code. Asa told me that he'd had problems with the Wire library in the later Arduino distributions, and so had ended up using the one from Arduino 0011. That got me a bit further, in that I was getting some data back from the RFID module, but it seemed to just be echoing back anything that I sent to it.

I'd found that out by adding some lines to the example code to get it to print out any data that was recieved - the two Serial.print lines prefixed with + below:


   while(Wire.available())                // while data is coming from the reader
   {
       byte_from_reader = Wire.receive();
+      Serial.print(" 0x");
+      Serial.print(byte_from_reader, HEX);
     
       if ((count == 0) && (byte_from_reader == 2)) { // no RFID found: reader sends character 2

From reading the datasheet for the SM130 module, I found that the module can operate in two modes: one using an I2C interface, and one using a serial UART. Changing between modes of operation requires the firmware on the module to be changed, and by default the module comes with firmware to communicate via UART. Of course, the Arduino shield uses I2C (because the UART on the Arduino is used to talk to the computer through the USB port).

The guys at Tinker.it have a copy of the appropriate firmware available to download from the RFID shield page on their website, but no instructions on how to wire things up to run the upgrade. After failing to wire it up correctly at first (it was late and I somehow confused the pin ordering on the SM130 module...) I worked out how to connect it to either an FTDI cable or an Arduino with the processor removed, in order for the firmware upgrade software to connect and upgrade the firmware on the module.

It's actually quite easy to wire up, once you've carefully prised the processor from your Arduino board. As can be seen from the photo below, there are only five connections you need to make. I've listed them in full in the table below the photo, and included the colour coding for my FTDI cable if you're using that instead of a processor-less Arduino board. I'm not sure if all the FTDI cables are colour-coded the same, but on mine the ground connection is black, and the the colours order from the ground connection is black, brown, red, orange, yellow, green.

Picture showing processor-less Arduino connected to a breadboard and SM130 RFID module
NameArduino (colour in the photo)FTDI ColourSM130 pin #
Vcc/+5V5V (red and yellow)red1 and 28
GNDGnd (green)black14
UART RXDigital 0 (white)orange11
UART TXDigital 1 (blue)yellow12

Once wired up, upgrading the firmware is just a case of running the SM130_FU.exe upgrade program, choosing the correct COM port and firmware file (i2c_22.rme in the firmware upgrade download from Tinker.it) and clicking the "AUTO UPGRADE" button. Then wait for the "Upgrade complete" message and you're done. When you put the module back into the RFID shield you should be rewarded with an orange OK LED as well as the green PWR one, and fingers crossed, you should also be able to read RFID tags.

Tags:

Posted by Adrian at 12:02 PM | Comments (0) | TrackBack

June 17, 2009

New Ways of Working

As part of their Climate for Change season, FACT held the unSustainable unConference, an unconference about sustainability.

It was on Saturday 9th May and I'd just returned from a chaotic week in Germany. It was full of passionate people trying to work out what could be done to help sustainability, but by the end of the day I was getting rather frustrated with how we were defining the Manifesto for Change by what we were against, rather than looking for aspirational and more positive directions to channel our energies. Sadly I was wiped out after my week away (where I'd also acquired a cold) and so wasn't up to engaging with my fellow attendees, so I just retracted into my digital shell and heckled them electronically.

Before reaching that point, however, I did present some thoughts about the growing co-working and hackspace scenes. The flexible working and community-building that seems to come with such spaces could fall easily into a more sustainable way of working. And to meet my aforementioned aspirational and positive approach I even ended with a rather grand vision for how such a movement might evolve here in Liverpool.

I'll leave anyone interested to find more details by reading through my slides, but by all means get in touch if you'd like to know more...

There are notes with the slides, but they don't seem to have come out in the Slideshare presentation. If you download the Powerpoint deck for the slides you'll be able to get an idea of what I was talking about when giving the presentation.

Tags:

Posted by Adrian at 10:02 AM | Comments (0) | TrackBack

June 08, 2009

Howduino, How Did It Go?

On Saturday 23rd May, a collection of about thirty geeks, coders, artists and complete novices took over the Gallery 1 space at FACT for a day of learning about hardware hacking and working on interesting projects to fuse computing power with the real world.

Howduino was an event hatched up by Thom Shannon and me, and the space at FACT was a perfect location for it. There was a big screen where I ran my "Getting started with Arduino" talk, and plenty of big work tables where people could spread out their tools, soldering irons, laptops and projects as they worked on them.

We weren't quite sure what to expect, given the wide range of abilities from the attendees (from the architecture students who had no knowledge but lots of enthusiasm, to the similarly enthusiastic but much more experienced Aaron from .:oomlout:.) but after a quick run round the room for everyone to introduce themselves, people seemed to find groups to work in and share knowledge.

I think our use of the wiki before the event was vital, as it meant that people had an idea about what projects were available to be tackled, which helped us organise people into groups - we had a quick "hands up if you're interested in X" for each project on the wiki, and then people could find each other afterwards to get started. It also meant that people could work out what components they'd need beforehand, and so come prepared.

By mid-afternoon there was a real buzz in the air, as people helped each other out, traded parts and some real progress was being made by on the projects. It seemed a shame to break up such a productive community, which meant that we left it a bit too late to start wrapping up the day. That was my biggest regret - we didn't get chance to share what everyone had achieved during the event, but it's been great to see the blog posts filtering out over the following weeks as things get finished.

That also meant it was hard to work out what to do about the prizes we had. The guys from O'Reilly who I met at Maker Faire had very generously sent us some book vouchers, t-shirts and an i-Sobot robot, and initially we'd planned to have a number of categories for "Best project", "Most ambitious project", "Most components killed in the pursuit of hardware hacking", etc. However, as most projects were group efforts, and the groups were formed by people who'd only met on the day, it seemed a bit hard to work out who would get the prize; so in the end we held a raffle amongst all the attendees. It seemed to fit the collaborative, helping-each-other-to-achieve-cool-things vibe to the day.

It also means I don't have an easy way to run through what was built on the day, so I'll just list them as I remember them (and include links where I can). We had...

...and there are photos from Nikki, Tim D, and Thom, and blog posts from Nikki and .:oomlout:..

What could we have done better?

The biggest problem with any hackday is the amount of time you have. Ideally we'd make Howduino a weekend event, as that would give people time to get something significant finished. I'd also see if there's a more hands-on way to get people started wth Arduinos. Maybe I could give a shortened version of my talk, so people could get the basics and then get started on a project; but also have a longer, more practical session for people who wanted a bit more hand-holding through getting things working. And maybe run a "driving motors with H-bridges" session, as lots of people were trying to do that, and possibly combine that, or run it just after, a session to harvest stepper motors from old printers or floppy drives.

Thanks again to Thom for helping me organize it all, Sophie for the excellent logo, O'Reilly for the prizes, FACT for a great venue, and attendee Stewart Dunn for the robot kits.

So, will there be another Howduino day? Definitely. We don't know where, or when, but keep an eye on the wiki or follow @howduino on twitter to find out when there's more news.

Tags:

Posted by Adrian at 12:13 AM | Comments (0) | TrackBack

April 20, 2009

Be2Camp North

Back in October I had a day down in London for an un-conference looking at what happens when the Web meets the built environment. It covered all sorts of topics, from ways to better manage email overload to using 3D sketching software to engage communities in regeneration work. Since the event there's been an ongoing community of attendees sustained on Twitter, and continued discussion about the next event.

I'm pleased to announce that I'm helping to organise the second Be2Camp event, and better still, we're hosting it here in Liverpool.

Be2Camp North is being held at FACT on Friday 15th May. It will be somewhere between an un-conference and a normal conference, with an idea of the day's sessions being fleshed out beforehand. Head over to the Be2Camp North topics page to see what's being planned, or suggest something yourself.

Or just sign up and come along to debate and learn more about the ways that computing can help construction, architecture and our built environment.

Tags:

Posted by Adrian at 10:46 AM | Comments (0) | TrackBack

March 25, 2009

Video of Me on the Front Page of the BBC News Website

I turned on my laptop this morning to be met by a number of emails and tweets from friends letting me know that my face seemed to be gracing the front page of the BBC News website.

Heading over for a look, I found out it was true - although it was a bit tricky to spot me behind a huge bubble... that's right, Bubblino was muscling in as usual. It's an article about some of the inventions and gadgets that were at Maker Faire, and there's some good footage of Bubblino doing his stuff, plus a bit about the Mazzini project and the Light Load Lamp (which I'll be blogging about soon).

As I write this, it's even top of the "Most popular video/audio" section! Take a look for yourself at BBC News | Technology | Tech Know: Bubbling Inventions.

Tags:

Posted by Adrian at 10:10 AM | Comments (0) | TrackBack

March 24, 2009

Ada Lovelace Day 2009: Alexandra Deschamps-Sonsino

Today is Ada Lovelace Day, an international day of blogging to draw attention to women excelling in technology. It's the brainchild of Suw Charman, who says in her blog post introducing the idea:

"after many conversations, it has become clear that many of my female friends in tech really do feel disempowered. They feel invisible, lacking in confidence, and unsure how to compete for attention with the men around them.

[...]

Psychologist Penelope Lockwood discovered that women need to see female role models more than men need to see male ones.

Well, that’s a relatively simple problem to begin to address. If women need female role models, let’s come together to highlight the women in technology that we look up to. Let’s create new role models and make sure that whenever the question “Who are the leading women in tech?” is asked, that we all have a list of candidates on the tips of our tongues."

So who could possibly be against getting more interesting and good people interested and working in technology? Not me. So here's my nomination for Ada Lovelace Day:

Alexandra Deschamps-Sonsino

Alex is an interaction designer, and CEO of Tinker.it - one of the main groups involved with the Arduino hardware platform. She gets involved with lots of the tech community events here in the UK, and is almost the public face of Arduino over here.

I've met her a couple of times, first at Bookcamp/Papercamp and then at Maker Faire UK. She's enthusiastic about the possibilities of physical computing and keen to encourage collaboration and promote the geek community. She's also not afraid to get her hands dirty - in her talk at Papercamp she had everyone building models out of paper and glue, and even when attending the recent Rewired State event as a judge she still found time to knock out a design of her own.

If you want to see who else has been featured on Ada Lovelace Day 2009, you can explore the other ALD09 posts.

Tags:

Posted by Adrian at 12:47 PM | Comments (0) | TrackBack

March 23, 2009

Hear Me on BBC Radio 4's Click On Programme

The BBC were out in force at the Maker Faire the other weekend, and the content they recorded is starting to make its way out into the world.

Yesterday, BBC Radio 4's Click On programme aired their report from the faire, and the interview I did with them on the Sunday was featured in two points in the show.

First off, about 3m30s in, you can hear me talk about Bubblino (whose picture also graces the Click-on programme details page)

And then there's a longer segment from the interview at around the 10m 50s mark. In it I talk about what the Mazzini project is trying to achieve and explain some of the things you can start to do with the technology.

If you missed it then you can listen to the programme again from the Click On website or download the mp3 podcast of the show instead.

Two things that didn't make it into the interview, but which might be of interest to anyone visiting from hearing about us on the BBC, are Homecamp and Howduino:

Homecamp is an unconference being held in London on Saturday 25th April, and will be full of people discussing and hacking with energy monitoring and home automation.

And Howduino is a day of hardware-hacking and learning about Arduino boards (which power both Bubblino and the Mazzini monitors) in Liverpool, taking place on Saturday 23rd May. So if you fancy getting into the maker spirit, come along.

Tags:

Posted by Adrian at 10:01 PM | Comments (0) | TrackBack

March 17, 2009

Howduino - a Day of Hardware Hacking in Liverpool

Posted by Adrian at 01:36 PM | Comments (1) | TrackBack

March 16, 2009

Maker Faire UK

The first ever UK Maker Faire was held this past weekend in the centre of Newcastle. Around 5000 people visited the marquee over the two days, and got to see a host of different exhibits, including a life-size, fire-breathing mechanical horse; a physical (rather than on-screen) version of the old classic Lunar Lander; a collection of 3D-printed ornaments; and of course Bubblino and the Mazzini monitors.

Annoyingly, as I was manning the stand on my own, I didn't get to explore the event as much as I'd have liked. It was good to catch up with the guys from the recent Makers and Hackers event and Alex from Tinker.it, and to meet lots of interesting people for the first time.

As well as the exhibits there were lots of practical hands-on workshops that the public could join. On Saturday there was a marching band procession through the marquee, made up of people playing their electronic instruments that they'd just built, and over in one corner you could learn how to solder whilst building a flashing-eyed bug or an LED throwie. There was a wonderful air of you-can-do-this-too throughout the whole event.

The kids all loved Bubblino, and there was also plenty of interest in the Mazzini monitors and what they were measuring. I spoke to three different crews from the BBC over the weekend, so once any of that surfaces online I'll be sure to post links.

Well done to the Newcastle Science Festival guys for bringing Maker Faire to the UK, and to everyone at O'Reilly UK for putting on such a great festival of making and hacking. I'm already thinking about what else I should make to take to the next one...

Tags:

Posted by Adrian at 11:14 PM | Comments (2) | TrackBack

March 13, 2009

Are You Going to Maker Faire UK?

If you're in the Newcastle area this weekend, then you might want to head along to the first ever Maker Faire to be held in the UK.

And if you make it along, be sure to say hello - I'll be on a stand in the marquee, showing off Bubblino and the latest developments (more soon) with the Mazzini emergy monitor.

Full details are on the Maker Faire UK website.

Tags:

Posted by Adrian at 07:39 AM | Comments (0) | TrackBack

January 25, 2009

The New Newspaper?

I've just spent a couple of lazy Sunday afternoon hours reading the paper. Only it wasn't any ordinary Sunday paper - it was Things Our Friends Have Written On The Internet 2008, the tabloid-sized compilation of blog posts that Russell and Ben published recently. Russell was kind enough to give me a copy at Bookcamp last weekend.

It's a bit like reading blogs, largely because that's where the content comes from, but it's also not like reading blogs. The lack of a computer or any hyperlinks means you don't get distracted, and ink on paper is still the better medium for reading longer articles. It also showed why Dan Hill's excellent The Street as Platform took me so long to get through - it takes up a whopping four pages of print!

But more interesting was how it felt less about the personalities and more about the content. Blogs are very personal places, each with their own unique vibe and feel; even when consumed via my RSS-reader, which often strips out the presentation, I get the impression that it's So-and-so's blog post that I'm reading rather than just an article. The blogger is foremost, and colours how I perceive the blog post. I didn't get that when reading TOFHWOTI because the layout is more newspaper-like in its style - the blog post title is the headline item, the content the important text, and the name, date, etc. smaller and in the byline. I like that.

As I neared the end of it I was wondering just how cheap the newsprint run was. And how cool it would be for this to happen more frequently. Would it be cheap enough that you could subscribe and get a monthly compilation of interesting stuff from the Internet? Wouldn't it be cool if instead of hundreds of people on the tube reading fluff-dressed-up-as-news (like the Metro), there were people reading things like this? Could there be local versions with more regional content? It would be nice if Russell and Ben published their costs in getting it printed, so we could see how likely this is.

On the back page (which surely should've contained a sports blog post ;-) the explanation of the project includes this text:

"It's partly a gift. It's partly a compilation of stuff we really like. It's partly a prototype for a product of the future. We took our time making this, but there's no reason it couldn't be done automatically with some tagging and some clever software. That'd be good wouldn't it? We're going to be thinking more about this. If you'd like to play too please let us know."

That sounds interesting. Count me in. I think the important part is in the curation - the person/people who choose what goes into the paper are the key to how well it would work, but as they say - it would be fairly easy for the curators to just tag things for consideration and then make a final choice of articles for entry just before the publication date.

Copyright is a concern, but there should be ways to streamline the process of asking for consent, and maybe also allow authors to automatically give their consent for any future articles to be included.

The only amendment I'd make to the format would be to include the hyperlinks. As was mentioned at Papercamp, newsprint encourages tearing out bits that are interesting, or writing on the paper to mark important points. If the hyperlinks from an article were included in a list at the end of the article (maybe with the URL for the article itself) then it would be easy for me to tear out that part of the paper if I wanted to explore things further when I was back at a computer. Maybe even run through a custom URL-shortening service like tinyurl.com so that it's easier to type, but that would lose some of the information about the URL itself.

Tags:

Posted by Adrian at 03:48 PM | Comments (0) | TrackBack

January 21, 2009

The River Mersey is now on Twitter

No self-respecting river can be without a Twitter account these days. If the River Thames has one then it's about time that the River Mersey was twittering too.

Rather than go on about the tides, I thought it would be more interesting to get a feel for the traffic using the river.

From his office in Tower Building, my granddad used to be able to look out over the river and see the ships coming and going. I'm a bit further away from the river, but I've knocked together a simple service to watch the ships for me and then twitter about them. I might not be able to see them (unless I walk round to the other side of the cathedral) but by following @merseyshipping on Twitter I still get to hear what's happening.

Posted by Adrian at 03:31 PM | Comments (3) | TrackBack

December 12, 2008

Barcamp Liverpool

Posted by Adrian at 12:52 PM | Comments (2) | TrackBack

The Award-winning Mazzini Project

Another piece of news that first featured in my twitter feed was the fact that I won the "Bitchin' Pitches" session at Barcamp Liverpool when I talked about the Mazzini project. It's been great to hear such positive things from people about it, and over on the company blog you can read more about the competition.

Tags:

Posted by Adrian at 11:20 AM | Comments (0) | TrackBack

December 11, 2008

Introducing Bubblino

In case you've spotted the assorted references to "#bubblino" in my twitter feed over the past few days, or if you haven't but like the idea of a bot who watches Twitter and blows bubbles whenever he's mentioned, say hello to Bubblino:


Bubblino in action from Adrian McEwen on Vimeo.

You can find out more about him by heading over to his homepage.

Tags:

Posted by Adrian at 06:06 PM | Comments (0) | TrackBack

December 10, 2008

BarCamp Liverpool: Don't Just Change the World... Improve It!

In the run up to Barcamp Liverpool I set myself a challenge, and was even stupid enough to spell out the rather ambitious idea here on my blog. I decided to prepare two talks: the beginners guide to Arduino I've already posted; and a second which would be about inspiring people to start a business, or work out what's "wrong" with Liverpool and fix it, or use technology to counter climate change.

I didn't want to steal two slots in the schedule if that would stop someone else from presenting anything, so I held off adding the second talk until late morning on Sunday. There was a slot free for the end of the day, which fitted nicely with my ideas of rounding off the weekend with something of a call to arms.

I tried to pull the possible threads together under the umbrella term of improving the world, but I think my current business-focus skewed things a little. Still, I hope the dozen-or-so people present take the general idea and twist it to their own experiences and passions, and that me rambling about doing great things does have some small effect.

I've done what I can, whether this is "the spark that started things happening" will be up to others.

As ever, the slides are on Slideshare. After the talk, Alex asked about the assorted business networking events I'd mentioned, so I've thrown a list of places that I find out about business events and networking onto the GeekUp wiki. Feel free to add to that if you know of any similar links in the NW. The other way to find out about more of the events I attend is to keep an eye on my Upcoming page.

Tags:

Posted by Adrian at 09:14 AM | Comments (0) | TrackBack

December 08, 2008

BarCamp Liverpool: Getting Started With Arduino - How to Build a Twitter-monitoring Alertuino

This is the first of a couple of posts I'll no doubt be making about Barcamp Liverpool - this one being the easiest to get out into the world.

I did a session about getting started with Arduino physical computing boards on Saturday afternoon. I talked a little bit about what the Arduino boards are first, and then stepped through the ubicomp equivalent to "Hello World" and from that moved on to hacking a toy ray gun so that it would alert me whenever someone twittered about Barcamp Liverpool. I'll expand upon the twitter side of things more when I write-up Bubblino...

Here are the slides. When I was writing them I tried to make them make sense if you weren't at the talk, but if anything isn't clear then ask questions in the comments.

Tags:

Posted by Adrian at 04:52 PM | Comments (1) | TrackBack

December 03, 2008

HomeCamp 08

Posted by Adrian at 12:27 PM | Comments (2) | TrackBack

November 20, 2008

Posting Data to Pachube Using Ruby

This is just a short post to share how I'm pushing the data being recorded by the Mazzini prototype up to Pachube. It's a fairly simple snippet of Ruby and I'll stick it into the extended entry as it's only really of interest to the committed. Click on to read more.

Pachube feeds can be generated in CSV or EEML and either pushed up to Pachube (when you want to update it) or pulled by the Pachube servers (where you stick the file on a publicly-accessible web server and Pachube poll it). I wanted to publish my feed in EEML (because it's more detailed) and also wanted to push the updates out myself as that saved setting up an externally-facing server and meant I can publish updates more frequently than every fifteen minutes.

The Pachube guys have made uploading data for a feed pretty trivial, you just push the CSV or EEML data to the URL for the feed with an HTTP PUT request.

You'll need to know the URL for your feed (for example /api/12345.xml) and your Pachube API key, plus have your sensor data ready to upload. Generating the data was one of the reasons I ended up with this script in Ruby - I feed the data from the Arduino into a Ruby on Rails app, and use it to generate the EEML as a simple XML document.

That lets me pull the data out in the middle of a rake task with something like this:


app = ActionController::Integration::Session.new
app.get(app.url_for(:controller => 'reporter', :action => 'latest'))
data_to_send = app.html_document.root.to_s

That results in the EEML data being stored as a string in the variable data_to_send.

You'll need to add require 'net/http' to pull in the HTTP library, and then you can publish data to Pachube with this code, replacing the relevant parts with your feed path and Pachube developer key.


# And update our feed on Pachube
begin
http = Net::HTTP.new('www.pachube.com', 80)
http.start do |http|
req = Net::HTTP::Put.new('/api/12345.xml', {'X-PachubeApiKey' => 'PUT_YOUR_API_KEY_HERE'})
req.body = data_to_send
resp = http.request(req)
puts resp.body
end
puts "Submitted to Pachube"
rescue
# Probably not much we can do, lets hope that the next one works
puts "Problem submitting results to Pachube"
puts "Error reported was:"
puts $!
end

And that's it. Your data will now be live on Pachube.

Update: When I posted about this to the Green-Web-UK mailing list, James reminded me that I could've used his EEML Ruby gem to generate the EEML data rather than create a whole Rails app.

Tags:

Posted by Adrian at 11:54 AM | Comments (1) | TrackBack

November 15, 2008

The Most Important Topics to Discuss or Disseminate?

In a couple of weeks it's the first Barcamp Liverpool. One of the "rules" of Barcamps is that everyone who turns up should have a talk ready that they offer to present. I've been pondering over what I should prepare for my talk.

So far I've generally hinted at doing something Arduino-related, and have been assuming I'd either talk about monitoring your home (show the Mazzini prototype, talk about that and some of the similar projects from others, or some of the things I learn about at Homecamp); or running a more general "Getting started with Arduino" session where I plug some LEDs and a switch into a breadboard and write a bit of Arduino code. And I expect I'll still have something along those lines as one of my proposals.

However, I've just realised that I should be turning my thinking on its head. Rather than coming up with ideas based on the knowledge that I've got that others might find interesting, I should instead be answering the question:

You've got the attention of a couple-of-dozen motivated and intelligent geeks; how do you want to change their lives?

Now you could improve their knowledge, which is what my initial ideas cover; but maybe it would be better to inspire them to go out and improve the world, or challenge their thinking and affect their future behaviour.

I'm setting myself the challenge to go to Barcamp Liverpool with two proposals: one along the lines of the Arduino tutorial, and another that falls into the second category. I'm just not sure what it will be about. Maybe I'll talk about starting and building businesses that make a difference; or lead a brainstorming session to work out what's going wrong in Liverpool and how to fix it; or implore people to find ways to improve the reuse and recycling of technology to improve the environment; or...

I'd love to hear anyone's ideas, comments or thoughts on what this second proposal should aim to achieve. I'd love it even more if you came along to Barcamp Liverpool and presented something along these lines to inspire me. How cool would it be if we could point to Barcamp Liverpool as the spark that started things happening?

Tags:

Posted by Adrian at 04:13 PM | Comments (0) | TrackBack

November 13, 2008

Liverpool Software City International 2008

Software City held its second annual event last week. It's a Liverpool software networking and pitch-to-investors event which sees a collection of companies present their ideas to a panel of advisors/investors (including ex-Dragon Richard Farleigh this year) who respond with some questions and suggestions. The rest of us watch and take the opportunity to chat to peers (i.e. others in the software business, not a collection of Lords), investors, development agency representatives and other hangers-on during the breaks and post-event drinks.

It was a good event and I made some useful contacts, including finding out about the NWDA's hi-growth business funding/assistance scheme and discovering that one-man offices are available on Liverpool Innovation Park for less than £150/month.

In lieu of a proper review, I'll just mention some of the more interesting companies who pitched during the event. Maybe they'll be some of the future stars I was looking for recently...

Momote

Momote have a cross-platform mobile phone development platform. I thought that's what J2ME was supposed to be, but looking at their website it seems more of an XML-based offering. That reminds me of the stuff I worked on back at Trigenix before they were bought by Qualcomm. I'd be interested to find out more about it, and see how their offering is different from the ones tried before.

New Concept Gaming

These guys are building some cool new devices to let you get more active with your games console. In a similar vein to the Wiimote for the Wii, but they have controllers for PS3 and XBox in addition to the Wii. They've got the jOG on sale already, which lets you jog on the spot to get your in-game character to move around, and have another product in development which also notices when you crouch down or jump.

Yuuguu

Yuuguu were the only company I'd heard of before, although I didn't really understand what they offer. I've got more of an idea now - they're trying to help people collaborate remotely by offering a product to let you IM, share your desktop and audio conference.

They want to make it easy to enable adhoc collaboration, without having to book phone conference sessions, etc. and now have integration with existing IM networks and the ability for users to collaborate with people who don't have the Yuuguu software installed by accessing the service through their web browser. I think they need to let people use it purely in the browser too, as that will help get over the initial "not sure I want to download and install yet another bit of software" reluctance.

Should I pitch at Software City 2009?

Tags:

Posted by Adrian at 01:33 PM | Comments (0) | TrackBack

October 31, 2008

The North-West Will Be a Tech Hub When We Make It

Techcrunch UK has written again this week about the need for a technology centre (a la Silicon Valley) in the UK and how it might be happening in London. As usual, there's been a ripple of debate in these parts about the article, and whether there is, or should be, more of a scene here in the North West.

It hasn't stirred up as much debate as such items in the past, and I wasn't going to bother commenting on it until I read an article about it by Rob Knight.

He argues that there's a good case for having such a tech hub in the NW and cites the great developer community as one of his top reasons. He also says that "[if] there’s anything that the North does badly, it’s probably self-promotion."

I hope he's right, because I can't list any big or up-and-coming companies from the area who are doing interesting things. And I've been keeping an eye out for them.

It's strange, because there is such a coherent and active developer community, and there are many more networking opportunities and discussions going on in Liverpool, Manchester, and the surrounding area than I encountered in Cambridge, and yet...

There seem to be a lot more people working to build things for other companies rather than chasing ambitious projects to change the world. If we do want the NW to become a tech centre then we need to get on and build it, which is why I've moved here. At GeekUp Liverpool the other night, John mentioned that it would be great to get some big tech companies into Liverpool, and I'll extend what I said to him to the rest of the North-West - that's a great idea, what's your big company going to do?

Tags:

Posted by Adrian at 03:47 PM | Comments (0) | TrackBack

October 27, 2008

BarCamp Liverpool

It was announced a month or so back, but the tickets for the upcoming BarCamp Liverpool are now available.

It's a two-day un-conference taking place on the 6th and 7th December 2008. I've just booked my ticket, so I'll see you there...

Tags:

Posted by Adrian at 08:52 AM | Comments (0) | TrackBack

October 17, 2008

Be2Camp 2008

Posted by Adrian at 09:59 PM | Comments (1) | TrackBack

October 12, 2008

The Internet of Things - Slides and Notes

At Be2Camp 2008 on Friday, I gave a Pecha Kucha presentation about "The Internet of Things". The slides are below, but they mightn't make a great deal of sense without my words alongside. If/when the video of it is available, I'll update this entry to point to it. For now I'll steal Jodie's notes from the day's Cover It Live stream.

The Cover It Live notes:

  • be2camp: Now, the internet of things, by Adrian McEwen
  • be2camp: embeding computer devices into the built environment
  • be2camp: The future is already here - its just not evenly distributed - william gibson
  • be2camp: its not about the internet fridge
  • be2camp: its about...
  • be2camp: parcel tracking, photo frames with flickr link, oyster cards...
  • be2camp: nike + footware, real time bus times (buses with GPS), Pachube
  • be2camp: the twittering house @andy_house
  • be2camp: Arduino boards - microcontroller boards
  • be2camp: Adrian created a light and temperature sensor within a few hours and a few pounds
  • [Comment From Usman Haque] Rafi Haladjian made interesting point at recent Internet of Things session at PICNIC 08 that fridges are on average replaced only once every 8 years; so not going to be the prime market for internet-enabled things
  • be2camp: he has built a wireless controllable power monitor that will hook into pachube
  • be2camp: cool stuff!!!

For Further Reading or Exploration

At the end of the talk I said I'd throw some links to further information up on my blog - I'm going to break the links into two sections: the first gives you some places to read more about ubicomp, and the second contains some pointers to practical places to help you get started building things.

Find Out More About Ubicomp
  • As always, Wikipedia has a useful overview and list of further reading in its entry on Ubiquitous Computing.
  • Mike Kuniavsky blogs about his exploration of ubicomp at www.orangecone.com, and has co-founded ThingM - a ubicomp device studio.
  • Dan Hill, who blogs at www.cityofsound.com, is interested in ubicomp in how ubicomp works at a neighbourhood or city level. His articles on The Personal Well-Tempered Environment (wondering about how communities can compete to lower their carbon footprint) and Transport Informatics (a look at how transport can be, and is being, enhanced with ubicomp) are well worth a read.
  • Adam Greenfield is another blogger writing about ubicomp and the city. His blog is at speedbird.wordpress.com and he's also written a book introducing the subject: Everyware.
  • Finally, the recent PICNIC 08 conference had a few sessions about The Internet of Things. You can watch Mike Kuniavsky's talk here and there's another talk, by Matt Cottam, here.
Getting Started with Ubiquitous Computing
  • www.arduino.cc has everything you need to know about the Arduino microcontroller boards, including lots of information about how to build simple circuits and get started with writing progams to run on it.
  • www.tinker.it is where you can buy the Arduino boards and related shields and sensors in the UK, plus they regularly run beginners workshops where you can get your hands dirty playing with Arduinos. The beginners kit for workshops is a great starting point for playing with Arduinos even if you aren't going to one of their workshops.
  • As introduced in the previous Pecha Kucha session, Pachube provide an easy way to get your data out onto the web where you can display it nicely or connect it to other devices elsewhere.

Update: The video of the Pecha Kucha is now online, so if you'd like to watch my talk then you can. It starts at about 41 minutes in.

Tags:

Posted by Adrian at 09:14 AM | Comments (1) | TrackBack

September 21, 2008

OSM: Where's Your Nearest Postbox?

My project to help improve the OpenStreetMap has been continuing quite nicely, and I've run out of GPS traces of Rainford to do more mapping of the streets. So I've been looking at some of the other items I can add to the map - things like pubs, playing fields, and post boxes.

One of the things I've found tricky whilst getting to grips with editing the map is just what information I should add to each road or point-of-interest. I mean, there's quite a list - from obvious things like the street name or number through to whether or not it's streetlit or has a cycle path running alongside the road.

I thought it would help me, and also provide an easy introduction to adding detail to the map, if I wrote a few blog posts providing a template of the attributes that a certain common feature (road, pub, school, etc.) should have.

And what better thing to start with than the most simple item - a post box. Full details (including pictures!) after the jump...

Getting Started

First off, you'll need an account with OpenStreetMap. Sign up here if need be, then log in.

Next, find the location of the postbox you want to add on the map. If it turns out that someone else has already added all the postboxes near you, jump to the last step - you might still be able to help.

Click the "Edit" tab to switch to the Potlatch map editor. If this is the first time you're playing around with it, choose the "Play" option first and try things out before heading in to edit the live map data. Once you're happy with what you're doing you can just click the "Edit" tab again to reload Potlatch and let you choose the "Start" option.

Two handy tips for getting yourself out of trouble: If you start drawing accidentally, hitting the Esc key will cancel the line. And if you accidentally move something, Ctrl-Z will usually put things straight without you having to work out where it was originally.

Adding a Postbox

Double-click where you want to add the postbox. That'll give you a green dot surrounded by a yellow box to show that it's selected. You'll also see a little picture of a car with "(no preset)" written next to it appear just underneath the map.

Click on the car a few times until it switches round to the camera icon as pictured below.

Then choose the "post box" option from the preset name drop-down. You should have something that looks similar to this:

Screenshot of OSM adding a post box in Rainford

Finally, click somewhere else on the map to deselect the postbox and commit the changes. Your new addition will show up on the live map the next time the tiles get regenerated, which is generally within a week.

Extra Step for Bonus Credit

Once your postbox appears on the map, or if your nearest postbox is already on the map, there's one final piece of information you can add.

Head over to the Locating Postboxes project page and match your postbox to those from the Royal Mail's definitive list.

Tags:

Posted by Adrian at 09:32 PM | Comments (1) | TrackBack

August 27, 2008

Putting Rainford on the Map

As I mentioned in the previous entry, I've started playing around a little with the OpenStreetMap project. What's that then?

Well, it's kind-of Wikipedia for maps. It's a collaborative project where anyone and everyone can edit and improve a street map of the world.

Why not just use Google maps? Well, it means that over time the OSM will become much more detailed than any of the other maps because so many more people can maintain it; sometimes the OSM is much more up-to-date than the competitors; and because the data is free it means that people can produce specialized maps easily - like this excellent cycle map.

Anyway, given that I've had a few weeks living back in the village where I grew up, and as I've now got a phone with a built-in GPS, and because currently on the OSM Rainford looks like this:

Screenshot of the OSM map of Rainford before any of my mapping

I've been gathering some GPS trails ready to start putting Rainford on the map. I've found that TrailExplorer is a much better app for tracking where I've been using my N95, and far superior in that respect to the Nokia "give up after a kilometre or so" Sports Tracker app.

The next step is to start turning those GPS traces into actual streets and features on the map. You don't have to have access to a GPS to add to the map though, there are plenty of streets that no-one has named, and you can always trace the roads from the aerial view or add extra information like the location of post boxes or pubs, or mark which roads have cyclepaths alongside.

Have a poke round your neighbourhood on the OSM and see if there's anything you can add, and you can see how I get on by looking at the current state of Rainford.

Tags:

Posted by Adrian at 03:00 PM | Comments (0) | TrackBack

GeekUp Liverpool: mapme.at

Posted by Adrian at 10:24 AM | Comments (0) | TrackBack

June 23, 2008

Implementing RFC1149

It's been twelve years since I started writing TCP/IP stacks (the underlying protocol that governs how all the computers on the Internet talk to each other) and finally I've had the opportunity to create an implementation (albeit parital) of RFC1149.

This will be of little interest to almost everyone who reads this blog, but it made a small part of me disproportionately proud. However, a quick search on google shows that I wasn't the first and their implementation is much more complete than mine.

Tags:

Posted by Adrian at 02:32 PM | Comments (3) | TrackBack

June 22, 2008

What Do You Get If You Cross a Building With Web 2.0?

Sorry, I don't know the punchline to the joke, but there are moves afoot to find out.

be2camp is a proposed BarCamp to explore "web2.0 in the built environment".

It sounds interesting, maybe I can talk about using Arduinos to implement sensing and control, or maybe demo The Mazzini Project.

There's talk of it being in October, most likely (although not definitely, maybe I can find somewhere up North for it?) in London. If you're interested then head over to the wiki and register your support.

Tags:

Posted by Adrian at 11:17 AM | Comments (2) | TrackBack

May 30, 2008

Would You Like More Control Over Your Electricity Usage?

For a while now I've been wondering about how to green our homes. Over on the company blog I've just announced the Mazzini Project, the latest idea along these lines that I've been playing around with.

It's a wireless power-monitor combined with a control unit so that as well as letting you know exactly how much electricity whatever is plugged into it is using, you can also turn it on and off remotely. I'm still just building the first prototype (I was wiring together circuits and measuring things with the multimeter just this afternoon) but I wanted to start talking about the idea to see what people thought.

I've put some slides together to try to explain it in more detail, so please have a look at them and let me know what you think. Is it a good idea? Would you buy one? How would you hack one to do things I haven't thought of?

If you want to see the slides full-screen, then you can do that from this page.

Tags:

Posted by Adrian at 03:11 PM | Comments (2) | TrackBack

April 24, 2008

A Taste of TED on DVD

Recently my mate Kieran has been helping me get my head round marketing as I try to get word out about tedium. I was trying to work out something I could do to say thanks, and as he's been reading The Paradox of Choice it occurred to me that I could share some of the TED talks with him (including the one by Barry Schwartz, the author of The Paradox of Choice).

Kieran isn't a geek by any stretch of the imagination, so I burned the talks onto a DVD so that he could watch them from the comfort of his sofa rather than having to sit in front of his computer. I think that's about the only problem with the presentations from TED.com - it's hard to watch something for twenty minutes if you've got all the distractions of the Internet.

The talks themselves are superb - interesting and insightful topics being talked about by passionate, clever, famous people. If you haven't seen any of the talks before then I heartily recommend having a poke round the TED website or downloading this TED Taster DVD.

That's right, now that I've put the DVD together, I might as well share it with the rest of the world. All the TED presentations are covered by a Creative Commons licence, which means that it's completely legal to copy them and give them to your friends and colleagues... even to random strangers on the Internet ;-)

There are six talks on the DVD. I picked ones that I enjoyed watching and that seem to be well thought of on the web:

  1. Dan Gilbert asks "Why are we happy?"
  2. Malcolm Gladwell on spaghetti sauce
  3. Sir Ken Robinson say schools kill creativity
  4. Hans Rosling shows the best stats you've ever seen
  5. Barry Schwartz on the paradox of choice
  6. Gever Tulley on five dangerous things for kids

Screenshots from the talks

Obviously I can't share physical DVDs over the Internet, so you'll need a DVD burner if you want to make your own TED Taster DVD. And because the files are pretty big I can't just set things up so you click on a link and download it - you'll need to use BitTorrent, but (as well as saving some of my bandwidth costs) that will mean that it will download more quickly.

Despite the scare stories you might've heard, BitTorrent isn't hard to use. Lifehacker have a good beginner's guide to BitTorrent and Gordon McLean wrote an excellent starter guide for anyone using Windows.

Enough! Give Me The Files!

Okay, here are the torrent files you'll need to download the DVD. Choose the right one depending on where you live (well, really depending on whether your DVD player is NTSC or PAL). Each download is about 3.4 GB in size, so please be patient - it'll take a while to download, particularly at first when there aren't many copies around. And after it's finished downloading, please leave your BitTorrent client running for as long as you can to help share it with others.

And if you just want to watch them on your computer, I've collected all the original files from TED.com and gathered them into the TED Taster mp4 torrent (704 MB).

Spread the Word

I know they aren't as easy to watch as your standard YouTube clip, but I think that the more people who get to see the TED talks the better. So, feel free to burn some extra DVDs and give them to your friends, or blog about the TED talks that you love the most, or point people here so they can download the DVD for themselves. Feel free to use the image above, and either link to this blog post or use http://www.mcqn.net/tedtaster (that's just a snappier URL that also points here).

Finally, thanks to Gordon McLean, Andrew Dixon, Adrian Sevitz and a collection of MeFites for their help in launching this crazy idea.

Tags:

Posted by Adrian at 08:56 PM | Comments (7) | TrackBack

April 14, 2008

Share Festival 2008: Manufacturing Future Designs

Posted by Adrian at 12:21 AM | Comments (0) | TrackBack

April 13, 2008

Share Festival 2008: Manufacturing Digital Art

Posted by Adrian at 08:54 PM | Comments (0) | TrackBack

April 06, 2008

Which Vision Thing?

Once again I'm late to the party with my blogging. A week or two back, Paul Robinson posted an entry to his blog lamenting the state of the computer industry. I agree with a most of what he said: services like Facebook could be a really good way to keep in touch and engage with our friends, but have devolved into an endless parade of me-too, frothy, time-wasting games.

By the time I'm getting round to writing about it, things have already moved on. There have been a few responses to Paul's initial post; he's posted a summary of them; and thrown up an area of his website to discuss "The Vision Thing". On there they've even started to draft a manifesto.

All of which is highly commendable, but having read through it I'm left feeling a bit like a goth who's arrived late to a rave. Paul talks about wanting some meaning, and a vision that goes beyond building something "a bit like eBay but with a social graph". I don't see anything like that in the draft manifesto. "Down with IE6" is just froth in geek flavour. "Look after yourself" is just good advice, not something to fight for.

It's a very British manifesto: full of good intentions, but lacking ambition. Microsoft didn't set out to "make businesses lives a bit easier", they wanted "a computer on every desktop and in every home". We should be aiming for "renewable power generation on every home and every office" or "computer and Internet access for every single person in the UK" or...

I know that I'm doing no better than Paul in just writing this blog post. I don't have a solution. Yet. tedium is hardly going to revolutionize the world, but similarly it isn't just froth. It's also just the first step towards building something bigger. I don't have a full handle on my mission to change the world, but I'm beginning to grasp the strands that will weave together to produce it.

Tags:

Posted by Adrian at 02:18 PM | Comments (0) | TrackBack

March 12, 2008

The Share Festival 2008

Share Festival graffiti logo Yesterday saw the start of this year's Share Festival, which this year takes on the theme manufacTURINg. I went along to the launch at the Faculty of Architecture department of the Turin Polytechnic, which is in the very pretty, ex-royal-palace, Castello Del Valentino.

Rather like the last event I attended here, I didn't understand most of what was said apart from when Bruce Sterling (who is the guest curator of the festival) was talking. I could work out a lot more of the words, but still only enough for half sentences here and there.

Anyway, I had a look at some of the exhibits (handily labelled in English as well as Italian), and picked up the festival catalogue (and one for the World Design Capital events too).

There are some very interesting events happening over the next few days for the festival, and it's frustrating to think that I probably won't understand much of them. I'm hoping to still attend quite a few, including Manufacturing the Streets this evening, and the chief designer of FIAT talking about the FIAT 500 tomorrow. Then on Saturday I want to catch Massimo Banzi again (I saw him at the Takeaway Festival last year) talking about the Arduino, and Donald Norman and Bruce Sterling (plus two Italians I haven't heard of) talking about Manufacturing Future Designs. At least with the last one there'll be some English spoken.

I'll be posting any photos I take of the festival to my Share Festival 2008 Flickr set and will post my notes here too. If you want to watch any of the sessions but aren't in Turin, they're streaming all of the events live.

And if you attend any of the events and spot a confused-looking Englishman, come over and say "Hello", or "Ciao", or "Buongiorno"...

Tags:

Posted by Adrian at 12:55 PM | Comments (0) | TrackBack

March 04, 2008

See you at geeKyoto2008?

Mark Simpkins green geek conference idea that I wrote about a while back now has a date, a venue and a name.

geeKyoto2008 is on Saturday, 17th May 2008 in London, and tickets are available for the bargain price of £20.

I'm going; now I need to see if I can find a better way to get there than by plane...

Tags:

Posted by Adrian at 06:05 PM | Comments (0) | TrackBack

February 11, 2008

Should My Radio Know If I'm Listening?

Trying to catch up with what's been happening on the web whilst I've been too busy to blog...

The first thing I want to point you at is part of Matt Webb's recent presentation to Web Directions North 2008. The main thrust is about how we could extend RSS readers to let you process to-do list items more quickly, and is something I've thought about off and on since he and I exchanged a couple of emails when he first mooted the concept he's now named SNAP. As he's found, it's not quite ready for primetime, so it'll be a while before we introduce it to tedium. However, some of the other concepts (like the state machine for GTD) fit quite well with things we are working on, and it's nice to have a way of explaining it.

But the main reason that this isn't just a del.icio.us link is because of the future challenges for the web that he lays out at the end of the talk. In particular, the slides about groups.

I think designing software that's used by groups rather than individuals is going to become an increasing problem as computing escapes from computers and into other devices. I don't have any decent answers, but it's something I have thought about a bit. It's obvious that you don't want people to have to log in before they can use their radio, so I think the only other option is to have the radio notice who's around.

The easiest way to achieve that today would be for it to track Bluetooth devices - if my phone is in the room, there's a fair chance that I'll be in the room too. The only problem with that is that by encouraging us all to wander around with Bluetooth turned on we're also encouraging everyone to open themselves up to being tracked everywhere. Maybe our phones need to become cleverer about who they reveal their presence to, but then we've just shifted the difficult interaction from the radio to the phone...

Posted by Adrian at 11:18 AM | Comments (0) | TrackBack

February 10, 2008

Let a Thousand Niches Wither

I've been thinking about getting paid. I was going to say I'd been thinking about revenue models, but that's just a fancy way of saying getting paid, which is maybe part of the problem.

Basically, the web has promises to be the best way for people to connect to each other, and so should be the perfect marketplace. The long tail promises that there are an almost unlimited set of niches waiting to be filled.

In parts, this is true. Take the process that sparked this blog post for example. This morning, Russell Davies wrote on his blog that he'd like a twitter feed of changes in the Amazon sales rank of his book. The idea piqued my curiosity, and an hour or so of poking round the web later, I've found out how to query the Amazon API to get the sales rank for his book and found out how I would hook into twitter to submit the updates.

Now, if I was just knocking something up for myself, I'd be about half-an-hour from having it all finished. But as Russell says, it's the sort of thing that other authors would find useful, so I've been pondering making it into a full-blown service.

"Making it into a full-blown service" is a bit over-the-top, but as Eric Sink said, it's a non-trivial step to go from something hacked together for me to something that I'd be happy letting other people use. There'd need to be a way to sign up, a way to stop the updates, and then the ongoing maintenance if either the twitter or Amazon APIs change.

It still wouldn't be a grand undertaking, but it becomes more like a day's-worth of work now, and then an undefined amount more in the future (but again, probably not too much). It's at this point that it stops looking like a fun problem to spend a while solving, and more like work. I don't want to launch services that I can't maintain, and obviously there's a limit to the number of services I can maintain - particularly if they're being maintained in my spare time.

What the web is missing is an easy way to charge for such small, niche services. Surely something like this is worth the price of a cup of coffee to authors? The problem is that, at present, the assumption on the web is that it should somehow be paid for by advertising, which means that the only things which get built are either a by-product of delivering audiences to advertisers, or things that geeks build for themselves.

If there was a way for people like me to cover their costs (plus a little extra) then we could solve all sorts of niche computer problems for people who can't code, without having to spend all our time working out how to force them to click on adverts.

Posted by Adrian at 04:56 PM | Comments (3) | TrackBack

January 09, 2008

How To Redirect Users To an Updating Page When Modifying Your Website

One of the problems with uploading a new version of any website or web application is that there's always the chance that a user will come along just at the wrong time and try to access something. At best they'll see things in a not-quite-perfect state; at worst they could corrupt the site or break something (although if the user can't modify anything about the site then that's unlikely).

Luckily, if you're using Apache as your webserver and if you (or your ISP) has installed mod_rewrite then there's an easy way to stop this from happening.

The Technique

Basically, we tell mod_rewrite to redirect anyone who isn't us to an "update in progress" page. This means that everyone else sees a page explaining that the website is being updated, and you get to use use it and test it out as if it was live. Then when you're happy that it's all working, you can remove the mod_rewrite rules and let everyone in.

As mod_rewrite isn't the easiest of modules to get to grips with, I've written a little script to help generate the rules.

If you go the rule generator page it will give you a set of rules to copy into the .htaccess file on your website when you want to restrict access.

When they're added, only your computer (identified by its IP address) will be able to see the normal webiste. Everyone else will be redirected to "http://yourwebsite.com/updateinprogress/", so you'll need to upload a suitable "please be patient, we're upgrading the website" page into an "updateinprogress" folder on your website. Here's an example that I use when tedium is being updated.

Remember to make sure than any files linked from the update page are also in the "updateinprogress" folder - so that's any images, external CSS or javascript, etc. - because otherwise they'll be redirected and won't work.

Obviously, you need to remember to remove the mod_rewrite rules from your .htaccess when you're finished uploading your new site. It isn't immediately obvious that they're still there, because you'll be shown the real site - and yes, I have forgotten to do this myself before today...

Caveats

Unfortunately, using the IP address to decide who should have access isn't perfect because some ISPs stick everyone behind NAT or force you through a transparent proxy.

The rule generator should cope with a transparent proxy, but I haven't been able to test it as I'm no longer forced to use one.

And if the IP address given in the first RewriteCond doesn't match the one you get from running ipconfig (if you're on Windows, from a command prompt) or ifconfig (on Linux) then there's NAT in the way. If that's the case, then anyone else using the same NAT will also be able to see your "real" website too. I've included an optional user-agent check which will restrict things a bit more, but again isn't perfect.

If you're using a broadband router for your Internet connection then that's probably doing NAT too, so check the router's IP address as well as running ipconfig or ifconfig. If the router's IP address matches the one given in the RewriteCond then you don't have to worry about NAT.

Hopefully that all makes sense. If anyone has any questions, or suggestions for better ways to work out who should and shouldn't be redirected, then leave a comment.

Tags:

Posted by Adrian at 12:15 PM | Comments (0) | TrackBack

December 17, 2007

Writing the User Guide for the Website Owner in Drupal

Every now and then I end up building a website for someone, and these days I'm tending to pick Drupal as the starting point. It's got a huge number of extensions and modules you can add, and an active developer community.

Part of the reason for going with a Content Management System (the fancy title for the category of website software that Drupal falls into) is that it makes adding and managing content easy for the non-web-developer website owner. That means that there's less work for me to do to keep it running, and more importantly means that whoever runs the website doesn't have to wait for me to find some time before they can change anything.

In order to make updating the website easier for the owner, I try to document some of the basic tasks - adding a page; putting a new product in the catalogue; etc. - in some help pages on the site itself, but obviously I don't want those pages to be visible to normal visitors to the site.

To save me reinventing the wheel next time I'm building a site, here are the details of how I add the 'Staff User Guide'.

A Different Class of User

In order to stop normal users from seeing the "Staff User Guide", we need some way to differentiate between them. I tend to create a new user role for "website staff" anyway, rather than give them the same privileges as "admin".

So, on the page /admin/user/roles add a new role "Staff user", and assign that role to any users who will be updating the website.

Restricting Access to the User Guide Content

With the out-of-the-box installation of Drupal you can't (to my knowledge) prevent anyone from seeing any of the nodes (Drupal-speak for a page, or chunk of content). We could just hide the links to the user guide from normal users, but it would be better to prevent them from accessing them at all.

That's where the Content Access module comes in. Install the module in your Drupal site and enable it on the modules page.

This module allows you to choose who can access (view, edit or delete) any type of content. When editing a content type you'll now have a new page of options entitled "Access Control". For each user role you can decide whether they can view, edit or delete nodes of that content type.

So, let's create a new content type called "User Guide Page", of type "userguide". Then set the access control so that only the "Staff User" role can see or edit the pages.

Optional: If you're using the Pathauto module, and want your user guide pages to have nice URLs then remember to update the setting on the Pathauto configuration page. For example, to have all user guide pages appear at "/userguide/name-of-page", set the pattern for all user guide page paths (in the Node path settings section) to userguide/[title-raw].

Creating the Index

Now you're free to start adding pages to your user guide, by creating new "User Guide Page" nodes. However, one last setup task is to provide a way for the staff users to find and browse through the guide. As I don't expect there to be too many pages in my user guides, I'm going to keep it simple and list them all in a new block in the sidebar.

Go to the Blocks admin menu (/admin/build/block) and add a new block. I called mine the "Staff User Guide" (in both block description and block title) and then chose the "Staff user" as the only role who can see the block. Then I added this snippet of PHP code as the block body, and chose "PHP Code" as the "Input format". It's fairly simple, all it does is find all the nodes of type 'userguide' and creates a simple bulleted list of links to those nodes. (If you chose a different name for the type of your content type, then replace 'userguide' with your name).

<p>Explanations of how to do common tasks on your website.</p>
<?php
  $results = db_query("SELECT nid FROM {node} WHERE type = '%s'", 'userguide');
  $output = '<ul class="menu">';
  while ( $data = db_fetch_object($results) ) {
    $node = node_load($data->nid);
    if ($node->status == '1') {
        $output .= '<li class="leaf">';
        $output .= l($node->title, 'node/'.$node->nid);
        $output .= '</li>';
    }
  }
  $output .= '</ul>';
  print $output;
?>

There you go. Choose where you want the block to be displayed, and then get on with writing your user guide.

Tags:

Posted by Adrian at 07:37 PM | Comments (0) | TrackBack

November 01, 2007

Calling All Cambridge Technologists

This is just a heads-up for anyone interested in technology or business or technology businesses in or around Cambridge.

CHASE (the group for anyone interested in business and technology which is Currently Hunting A Snappier Expansion :-) will be celebrating its 20th anniversary this year and are planning a grander-than-usual meeting to celebrate.

The ordinary meetings are well worth attending, so I'm sure this will even better. It looks like it's shaping up to be some cross between a show-and-tell for locally developed technologies and a startup masterclass. You can find the full details over on the CHASE website.

Tags:

Posted by Adrian at 12:07 PM | Comments (0) | TrackBack

October 31, 2007

DIY Intelligent Fridge

If anyone thought my Intelligent Fridge idea was good and would like to have one for themselves then here are instructions on how to build your own sensor.

It's a much greener solution I guess, as you don't need to get rid of your old fridge in order to add it!

Tags:

Posted by Adrian at 01:47 PM | Comments (0) | TrackBack

October 01, 2007

I Forgot to Remember to Forget

Putting People First, the blog from Turin-based Experientia, have pointed to an interesting paper called Useful Void: The Art of Forgetting in the Age of Ubiquitous Computing.

"For millennia, humans have had to deliberately choose what to remember. The default was to forget. In the digital age, this default of forgetting has changed into a default of remembering."

The paper proposes that computers (/gadgets/technology/etc.) should by default forget things, so that we get back to the societal norms that have existed in history so far. I think I agree - I definitely think it's something we should worry about more than we do currently, we haven't decided to remember everything; it's just a by-product of our drive for more efficient and cheaper storage.

It's an idea that I've been pondering for a while now as a kind of background concept in some of the stuff I'm building, or thinking about building. It's definitely useful that computers are better than humans at remembering things, but we don't need the precision of the current systems. Do you ever need to know that your photo was taken at forty-six seconds past half three? Even immediately after taking it that's more precise than is useful. After a year, surely, "in the afternoon on Tuesday January 15th" is good enough? And in a hundred years time will anyone care for something more accurate than just "January 2008"?

The problem is that because remembering was something we used to have to work at, giving up such an ability is easier said than done.

Tags:

Posted by Adrian at 04:42 PM | Comments (0) | TrackBack

September 29, 2007

Bruce Sterling @ Circolo dei Lettori

Posted by Adrian at 04:27 PM | Comments (0) | TrackBack

August 29, 2007

I'n't T'Internet Brilliant?

I was going to put this in the previous entry, but it got in the way too much.

I love how the Internet lets me stay in touch with the rest of my life. Facebook, email and blogs let me keep up with what friends are doing. UkNova lets me catch some of the programs I'd watch in the UK, particularly MOTD. And the BBC news website means that I can find out some of the news items provoking discussion and interest in my home country.

It's also a glimpse into the future of media that I can read Jeremy Paxman's speech, watch excerpts from it and listen to him and John Humphries debating the fall-out, and then find a reference to Tony Blair's lecture to the Reuters Institute and find it online moments later.

When(/if?) this stuff is exposed properly, with suitably easy tools to reference sections and edit the footage, the abilities of everyday people to discuss this online through their blogs will be amazing.

Tags:

Posted by Adrian at 11:53 AM | Comments (2) | TrackBack

August 23, 2007

The Superset of Friends

Most people seem to be fed up with entering details of all their friends each time they join a new social website. Of course, facebook's solution is that everyone building a social web app should just use the facebook platform and they can slowly replace the Internet.

I don't want to be down on facebook really, because they're probably the most open (to third-party developers) of the social websites and they also seem to have caught the non-geek audience - something that none of the others have seemed to manage.

However, those of us who create things on the Internet outside of facebook know that the facebook platform isn't the real answer. This blog post is a perfect example - it will, because I've spent time setting it up (which wasn't an obvious process), appear as a note on my facebook profile but won't appear in my friends' stream of my activities. Meaning that most of my friends won't have a full picture of my activities online.

Walled gardens, even ones with some gates like facebook, don't work in the long-term. AOL and Compuserve found that out in the 1990s; the mobile phone operators are slowly learning it; and facebook et al. will find out in the coming years.

It seems that there are quite a few people working on opening up the protocols for helping people to find their friends on new services. Brad Fitzpatrick has written a pretty good introduction to some of the problems and goals of such an endeavour.

He rightly notes and evangelizes that "[m]ost users don't care about XML, protocols, standards, data formats, centralization vs decentralization, silos, lock-in, etc. You, the reader of this document, are not a normal user."

The huge hole in his argument though seems to be his concept of "public data". He says:
"The focus is only on public data for now, as that's all you can spray around the net freely to other parties. While focusing on public data doesn't solve 100% of the problem, it does solve, say, 90% of the problem at 10% of the complexity."

What is the public data in my network of friends? I don't think there's very much. Is it just the list of my friends names? Their names and facebook identities? Their names, facebook identities and email addresses? I'm not really comfortable with my email address being given to random web services by my friends at present; I tolerate it because they're my friends but I get annoyed if I ignore the invite and the web service sends any more emails.

Luckily, at least Joseph Smarr is aware of the problem and arguing the case. "Our users tell us that the contents of their address book are private and that preserving their privacy is very important. So while some users are happy to declare their list of friends in an open and public way, we feel that dealing with private data is essential, and certainly much more than “10% of the problem”."

The problems with spam in email; blog comments; wikis... should remind us that not all users of any system we create will be honest and trustworthy. We should take the effort to think about it from the start, rather than assume we can tack on a solution after the technology becomes widespread.

Tags:

Posted by Adrian at 06:05 PM | Comments (0) | TrackBack

June 21, 2007

SuperHappyDevClub - a Place For Cambridge Hardware Hackers

Via upcoming.org I found out about the SuperHappyDevClub, which seems to be a nascent group dedicated to hardware hacking in Cambridge.

The first meeting is due next Saturday, the 30th. Sadly I'm busy that day, but might see if I can pop along for an hour...

Tags:

Posted by Adrian at 11:14 AM | Comments (0) | TrackBack

May 31, 2007

Innovation In Kitchen Appliances - Part 2

Here's the follow-up to the first sketch I drew about smart kitchens

The Intelligent Fridge... fridge: $500; annoying buzzer: $5; simple timer circuit: loose change; knowing I've left the door open BEFORE my food is ruined: priceless
(Click the image to see it full-size)

I think these sketches sum up one of the big problems with many of the ubicomp projects that end up in the press. It's a common problem when "the Internet" is added to other products: the assumption is that new-device-plus-Internet will be like a PC-with-Internet; but that's wrong. Just as Mobile Internet is more about where you are and what you're doing, almost to the point of supporting your current task rather than being the focus of the task; Internet-enabled appliances in the home will have uses tailored to their particular constraints and unique features.

Slapping a PC onto the front of a fridge shows a lack of imagination. There are many more useful features that could be added to white goods which wouldn't require anywhere near the same level of technology: a freezer defrost warning system (as shown in this sketch); a washing machine that detected when it had sprunk a leak and warned me (that would've saved me at least one kitchen floor...); a washing machine that texted me when it had finished the washing programme; a cooker which automatically lowered the gas if a pan boils over...

What would you like your kitchen to do for you, or tell you about?

Tags:

Posted by Adrian at 02:41 PM | Comments (0) | TrackBack

May 17, 2007

Arduino Workshop @ The Takeaway Festival

Posted by Adrian at 09:54 PM | Comments (0) | TrackBack

May 15, 2007

BCS Software Practice Advancement

Apart from mentioning the talk about Sun SPOTs the other day, I haven't mentioned any of the BCS SPA events that I've been to over the past few months.

If you're interested in computing, and live in or near to Cambridge, then the events held by the Cambridge arm of the BCS Software Practice Advancement group are well worth checking out.

You don't have to be a member of the British Computer Society to attend; the events are free; and cover a wide range of topics - from management techniques to computer-generated music.

There's a list of upcoming events on their events calendar page.

The first SPA event I made it to is also one of the best presentations I've ever attended. Not so much for the information it contained (the talk was titled The Second Coming of the Internet and was all about Web2.0) but for the presentation technique and style Adrian Van Emmenis, the presenter.

He started the session by taking the audience with him through some basic e-commerce tasks, deliberately tripping himself up on a number of problems with using the "reload" or "back" buttons along the way. That illustrated perfectly how seemingly ordinary behaviour could cause strange results and confusing error messages. I think that helped the techie audience get into the mindset of the average user.

He then laid out the technical reasons for the problems, accompanied by nice graphical explanations and even a live shop-keeping role-play session with the event organiser and a collection of fruit.

All in all a masterclass in how to keep the audience interested.

Tags:

Posted by Adrian at 04:30 PM | Comments (0) | TrackBack

May 09, 2007

Innovation In Kitchen Appliances - Part 1

Over the long weekend I was playing around with my tablet PC and drew something I've been thinking about for a while now:

The Internet Fridge...  fridge: $500; latest laptop: $1000; funding top R&D team: few $million.  Being able to check email when six feet from my laptop: useless
(Click the image to see it full-size)

The idea for it came when Jeff and I were discussing ubiquitous computing after attending a BCS SPA Group presentation about Sun SPOTS.

It was an interesting demonstration of the technology, but I often wonder how useful or necessary it is to build devices with such powerful hardware. The Sun SPOTs have an ARM9 processor, which is much better than the mobile phones that I'm currently working with!

Part of me thinks that it just makes experimentation and proof-of-concept easier and quicker, which is good; but I also wonder if it merely results in nice-but-too-expensive toys. In my experience it isn't always easy to take something big and scale it down.

I think a better solution could be something like the Arduino boards. They aren't quite as self-contained as the Sun SPOTs, but have more believable costs and component choices (for mass-market applications). I'll hopefully be finding out more about them at this Takeaway Festival workshop tomorrow.

UPDATE: I've now posted my notes from the Arduino workshop and the second part of Innovation In Kitchen Appliances is here.

Tags:

Posted by Adrian at 10:36 AM | Comments (0) | TrackBack

May 08, 2007

RSS Made Fun

There are two types of Internet users, those that use RSS and those that don't. This video is for the people who could save time using RSS, but don't know where to start.

(Originally from Common Craft, found via I'd Rather Be Writing)

Tags:

Posted by Adrian at 04:16 PM | Comments (0) | TrackBack

April 16, 2007

A Brave New World

"The future will be context-sensitive. The future will not be interactive.

Magic Ink: Information Software and the Graphical Interface is a long but intriguing take on how software (and in particular how we use software) should evolve.

The paper splits software into three categories: informational (which people use to gain knowledge of something); creative (used to create the information); and communicative (which allows people to communicate with each other).

Bret Victor, the author, suggests that informational software is nearer to graphic design than engineering, given that both are trying to convey information to the user. He goes on to explain how such software could behave differently to today's programs if it were more aware of the context in which it is invoked.

The software would provide its best-guess at what the user wanted, based on factors such as location, the user's current task, the time, and the user's previous behaviour. The user would only have to interact with the program if it had chosen wrongly, but even then the correct choice would be nearer than if the user had to navigate to it from scratch.

It's on the brink of being too revolutionary, but manages to provides just enough examples and references that it might work. It's definitely proposing a paradigm-shift from current practices, which is why it's proving hard to get my head round. It'll take a while for the concepts to sink in, but has already given me a number of avenues to explore for more information and a few ideas of how I can modify the software I work with.

It seems too big a change to work on the desktop, because there's so much existing software to displace. I wonder whether ubiquitous computing could provide its route into the mainstream, providing contextually-aware smart devices?

Posted by Adrian at 01:21 PM | Comments (0) | TrackBack

November 24, 2006

What Is Everyone Twittering About?

Twitter. Catch it while it's hot, and whilst there's still a chance that I'll be posting things to my twitter page.

It's like blogging but with even less content. Or maybe like sending text messages to the world. I'm not sure how useful I'll find it as a service I have to explicitly post to, but I think it could be a useful interface to collate streams of data about what I'm up to. So people (or their computers/mobile phones/whatever-smart-device-they-have) can where I was last seen, or what I was last doing.

Of course, by people, I don't really mean random strangers. I'm sure some people would be happy to publish such information to all and sundry, but I think it would be more useful if it were my friends.

But then that feeds into my age old pondering on how you'd provide the user interface which would let you deicde how much data was exposed to whom - I'd want to create different profiles on the spectrum from complete stranger to family member or spouse. Maybe it would be sufficient to apply a "how public" setting to each feed, where you pick a number between one and ten, and then you can group people into a public-ness profile.

I guess it's something I'll have to play around with when I first come to implement such a service.

Posted by Adrian at 08:20 AM | Comments (0) | TrackBack

November 16, 2006

Refreshing Firsts

Last night saw the first presentations session for the Refresh Cambridge group (a collection of web designers, developers and anyone else who's interested). Matthew Pennell, who just needs to embrace his role in the group as organizer-in-chief, has written a good round-up of the evening over on his blog.

It also marked the first time I've presented something in such circumstances. I've done a couple of best man speeches, and run training sessions for colleagues at places I've worked; but last night was the first time I'd presented to an external group of my peers.

The brief was only to produce a five-minute talk on something relevant to the group, which was good because with the other work commitments I've got at present, I almost didn't have time to pull anything together. (For future reference, Matthew's idea of giving a Pecha Kucha presentation on your recent del.icio.us links is a useful technique)

I think it went okay, although it felt like I rushed through it somewhat and wasn't as clear in my direction as I'd have liked. In my defence, we were running short on time before I started, and normally I'd have run through it once or twice beforehand but didn't have time. I figured as it was only five minutes, I could wing it, and I did - but only just.

The presentation was bascially a quick demo of Selenium, a very handy test framework for testing websites. It runs in any of the popular browsers (IE, Firefox, Opera, etc.) and can click on links, open pages, type text, choose menu options - anything you might do in using your web app - and lets you check for given text or page elements in order to test that things have gone as you expect.

Once you've written your test cases, you can automatically run through them all and use them in any of the supported browsers. So, for example, you can easily check that things are okay in both IE and Firefox before you make the newest version of your site live.

I'm starting to use it to test tedium, and I gave a demo of it running over through the tedium test suite during the presentation. In fact, there wasn't a lot more to the presentation, but in case anyone is interested (and because I said I'd post them up), here are the slides:

Posted by Adrian at 08:49 PM | Comments (2) | TrackBack

October 24, 2006

Finding Out About Geek-ish and/or Business Events

Although I do make it to a lot of computer- or business-related events, there are a surprising number that I only find out about when someone posts a review of the event on their blog.

TechCrunch UK has set-up an Upcoming.org calendar to hold any relevant events from anywhere in the UK which, combined with the London Geeks Upcoming.org group also mentioned in that TechCrunch link, should mean I get to find out about such things beforehand.

One of the first events posted to the TechCrunch calendar is the North-West Start Up 2.0 event. Admittedly I'd heard about that anyway, as I read Manoj Ranaweera's blog, but here's as good a place as any to mention it. It's a bit far from Cambridge, so I won't be attending, but I like to keep an eye out (and help promote) things going on up in my native North-West.

An event that I will be attending, and probably speaking at, is the November Refresh Cambridge meeting. There isn't a set date yet, but it's looking like the 14th or 15th November. There's a discussion about it over on the Refresh Cambridge Forum.

Posted by Adrian at 08:04 PM | Comments (1) | TrackBack

October 11, 2006

Refresh Cambridge Pubmeet

Posted by Adrian at 11:03 AM | Comments (0) | TrackBack

October 10, 2006

And Now Some Thoughts About Comments

Jon Udell has just blogged about his decision to turn on comments on his blog. He had resisted it because he wanted to see how easy it was to follow discussions where everyone wrote their piece on their own blog, and the discussion crystallized through mechanisms such as trackback or brute-force search engines. However, he concludes that the blog community doesn't seem to be moving in that direction.

There have been many occasions when I have thought about blogging a response to another blog post I read. Some times, such as this, I do write something, but on many others I don't. The problem is that such an entry has to live two lives as it were: one is its position in the discussion about whatever it is that has interested me; and the other is how it fits into the stream of posts on my blog.

I feel I have a duty to explain the conversation to any readers of my blog, as they usually won't have read what I'm responding to, and if I can't introduce the matter in a sentence or two then I won't blog about it. Maybe I shouldn't worry about it so much? Or maybe there's a way to integrate such comments into the flow of McFilter whilst showing that they're not standalone entities? Maybe I should just prefix such an entry with "In response to So-and-so's piece Interesting article title"?

That could be something to think about whenever I get round to redesigning McFilter. Either a separate blog in a sidebar, or entries in the main content differentiated visually somehow to show conversations I'm having with others.

This topic does neatly lead me to mentioning another service I've been using more often of late - co.mments.com. It's a way to keep track of the conversations you've participated in on other blogs (or any conversations you're interested in from other blogs). Once you've signed up, you get a bookmarklet you can click on to start tracking the comments on any blog posting.

Then new comments will pop-up in your co.mments.com RSS feed. So, for example, you can see all the conversations I'm tracking (which is pretty much all the places I've commented recently).

Posted by Adrian at 11:50 PM | Comments (0) | TrackBack

October 09, 2006

Web-related Events This Week

Both tomorrow and Wednesday evenings I'll be out at web-related events in Cambridge, and rather than just blog about them after the fact, I thought I'd post about them beforehand too. Just in case anyone else is interested in coming along.

Tuesday: Refresh Cambridge Pubmeet

There's an informal get-together for anyone interested in web development/design/whatever in the Tram Depot at 6:30pm. Head over to www.refreshcambridge.org to join the mailing list, but anyone can turn up for the pubmeet. "Just play spot the geek t-shirts" to find us, although I'll look like this:

Picture of me in my light blue Bang Bang records t-shirt

Wednesday: The Second Coming of the Internet Presentation

Then on Wednesday evening I'll be over at the Microsoft Research building on Madingley Road for a presentation entitled The Second Coming of the Internet. It starts at 7:30pm, and covers things like AJAX, JSON, REST... all the usual Web2.0 buzzword technologies. It's free for anyone to attend, but you need to pre-register on the website.

If you spot me at either event, then please come over and say hi.

Posted by Adrian at 06:08 PM | Comments (3) | TrackBack

September 22, 2006

Cambridge Web Design

Just a quick entry for anyone interested in web desgin / web development who lives in the Cambridge (UK) area...

Refresh Cambridge is a new group for web designers, programmers, etc. in Cambridge. There's a mailing list, there have been a couple of pubmeets, and there are plans for talks and presentations in the future. It's still finding its feet, but that means you can join and get to help shape what the group is and how it operates.

I haven't made it to any of the meetings yet, but will no doubt blog about them when I do.

Posted by Adrian at 12:09 PM | Comments (0) | TrackBack

September 13, 2006

Thoughts On Mobile Access to the Internet - Part 1

Following on from developing the mobile soccer news service I've been thinking again about mobile access to the Internet. In particular, the problem of trying to read content that's been designed for viewing on a big PC screen on a small mobile phone screen.

The BBC news lends itself well to such viewing, because with a touch of trickery it's possible to give people a link to the low-graphics version of a page, which is obviously more suited to a small screen / limited web browser. Coercing other content feeds isn't quite so easy...

If there's a full content RSS feed, there's obviously no problem - the content is there in a pretty basic, but complete form. After that, you're into the realms of modifying the existing web content, which people have been trying since the late 90s and haven't yet (to my knowledge) mastered. The problem with simplifying content is that there's bound to be occasions when you remove something that the user wants. Mobile phone web browsing is all about trade-offs: increased mobility and access to content when it wouldn't otherwise be available versus lower bandwidth and the more limited screen and keyboard interface. So I think that any such service needs to provide a more mobile-focused experience as the default - less cluttered pages with the main page content appearing at the top of and dominating the screen - but still allow easy access to the full version for when the user needs something that's been stripped out and is prepared to put up with the additional pain required to find it.

The obvious way to attack the problem would be to take advantage of the ever more common use of CSS to separate content from appearance. I think it's still quite rare for websites to specify anything other than a screen (i.e. desktop) stylesheet, but I wonder how effective it would be to insert a new stylesheet for handheld (i.e. mobile phone) devices? And if there happens to be a stylesheet for printing, then maybe that would make a usable first choice for phones rather than the flashier desktop stylesheet.

If you're using Firefox and you've got the web developer toolbar installed, it's pretty easy to get a rough idea of how a site would look if you did that. You can resize it to a mobile-phone like size (my Nokia 7610's screen is 176x208 pixels) and then disable all the styles in the CSS menu.

Doing that soon shows why that isn't a complete answer - you often still need to scroll past all the menus, nice logos, and so on that look fine on a PC, but cause endless scrolling on a phone. Perhaps performing analysis on the general content boxes of the page would let them be reordered so that the one with the highest proportion of plain text, or with the lowest ratio of text to links, is displayed first would help with that?

All that said, displaying the content on a phone isn't the biggest obstacle to accessing the Internet on a mobile, but more of that in part two...

Posted by Adrian at 08:21 PM | Comments (1) | TrackBack

July 07, 2006

MoMo London - July

This Monday just gone, I decided to catch up with what's happening in the mobile phone world and attended the Mobile Monday meeting down in London.

This month's theme was funding. There was a brief presentation at the start about the funding process, and then five different startups pitched their businesses to us and answered a few questions from a panel of VCs.

  • WeeWorld was first up. They're selling little identikit avatars to customise your instant messenger and mobile phone experience. It all looks very polished, and I'm sure they'll be very popular with people wanting to personalise their computers and phones. Doesn't seem too far beyond the ringtone market, and although your WeeMe isn't anything expensive, I'm not convinced I'd ever buy one.
  • Active Media Technology are the guys providing the technology for the Orange Wednesdays promotion. They have the technology to provide ticketing via text message, and other messaging-related marketing solutions.
  • Otodio are trying to improve the ways we can listen to podcasts and spoken documents. Their system for navigating through (and generating) structured audio documents is a good idea, if you listen to lots of spoken-word. I'm not convinced that this podcasting, and audio consumption of documents is going to last, but maybe that's because I don't have an hour-long commute by car each day?
  • RedBend have some software that I can see being of great use and being in every phone in a few years, although I'm not sure anyone will know it's there. Their product lets manufacturers update the phone software over-the-air, making it easy for them to roll-out patches and fixes to phones in the wild - it's Windows Update for mobile phones. They also want to extend the system to allow seamless installation of mobile phone apps. A noble aim, and something that's much overdue if it drives take up of installing new software on phones; however, I don't envy them the task of persuading the handset manufacturers, phone carriers, and software developers to embrace their system.
  • The final business, zzizzl films were, the panel decided, the most interesting and so won the £1000 prize. I agreed with the panel, and as they seem to be in the early stages of the business I'm sure the £1000 will be most useful to them. Their aim is to become film distributors for independent film shorts, with their distribution channel being mobile phones, video iPods and PSPs. They'll share revenues with the film-makers on a 50:50 split, and seem passionate about what they're doing. I think the video-on-the-move model of consumption with mobile devices is a good match for the film short - you're more likely to be able to fit in watching a five or ten minute movie in the otherwise dead time on the bus, or waiting at the dentist.

I enjoyed the whole evening, it was interesting hearing about the different businesses, and I got chatting to an assortment of interesting people during drinks and nibbles afterwards. The MoMo London events are getting bigger all the time, and it's easy to see why.

Posted by Adrian at 09:59 AM | Comments (2) | TrackBack

May 21, 2006

Watching A Seminal Moment In Computing

Through the wonders of the Internet, it's now possible to watch one of the most important moments in the history of computing, one from when the Internet was just a twinkle in Defense Department's eye.

Doug Engelbart's demo was showing his work from 1968(!!!) where he outlined such as cut-and-paste, the first ever computer mouse, hyperlinks, networking, video-conferencing... and at the end he even mentions the "coming Arpanet in about a year, end up with some 20 experimental computers in a network... with bandwidth of something like 20kbps" (of course, Arpanet eventually became the Internet we know today).

The full set of videos is listed here but if you want to watch them all in sequence, I've stuck together a SMIL file with them all in.

Posted by Adrian at 08:49 PM | Comments (2) | TrackBack

April 27, 2006

Magic As The Next User Interface Metaphor?

Since the mid-80s we've all become accustomed to the desktop metaphor as the main concept to describe how our computer screens look - we can place things in different places around our desktop, pile documents (or windows) on top of each other, and drag and drop things to move them from place to place.

This analogy is becoming increasingly stretched, as we need more powerful ways to visualize and manipulate data, and particularly as computing power bleeds out of the PC and into the world around us. With ubiquitous computing making our "intelligent devices" more specialised, the requirement to have their interface conform to a general-purpose workspace such as the desktop becomes less and less desirable.

Mike Kuniavsky has posted a very interesting article in which he experiments with off-the-shelf hardware and software to create a "magic wand" to control his Mac.

Combining an accelerometer-based mouse (so it doesn't need to be held on a surface to work) with mouse gesture software (the Firefox All-in-one gestures extension is where I'm most famililar with mouse gestures - it's a must for anyone using Firefox IMO) lets him control his computer by sweeping his arm around in the air whilst holding the mouse.

Now the object most similar (in common experience) to a mouse used like this would be the magic wand deployed by all good witches and wizards. Think how cool it will be if you could make your lights brighter by pointing your "wand" at them moving your wrist in a clockwise circular motion; or turning off the TV with a simple cross-like motion.

Combine the mouse functionality with your mobile phone, and suddenly everyone will be wandering round carrying a wand... Harry Potter eat your heart out! Of course, the death of the age of muggles won't be complete until we've worked out how to summon your wand from the other side of the room with a simple incantation...

Posted by Adrian at 06:33 PM | Comments (1) | TrackBack

March 08, 2006

Give Up All My Data?

In a recent post Richard MacManus commented upon Google's desire to store 100% of our (its users') data.

"With infinite storage, we [Google] can house all user files, including: emails, web history, pictures, bookmarks, etc and make it accessible from anywhere (any device, any platform, etc). ...As we move toward the "Store 100%" reality, the online copy of your data will become your Golden Copy and your local-machine copy serves more like a cache. An important implication of this theme is that we can make your online copy more secure than it would be on your own machine. Another important implication of this theme is that storing 100% of a user's data makes each piece of data more valuable because it can be access across applications."

Richard says that "This all revives my faith in Google". It rather worries me.

Not because it's Google who are trying to acquire all my data, but because I don't think we should surrender control over our data lightly. To anybody.

Being able to access all of my data, from one app to another will make it more valuable, but it doesn't automatically follow that it all has to be under the control of a single entity or be stored in one place. It just makes it a bit harder to implement, but that's because it brings the real problems to the surface: who should be allowed access to my data? How much of my data should they be able to access?

There are some compelling reasons for storing all of my data online, but only if I retain full control over it.

If it's on the Internet, can I access my data from any device, anywhere in the world, or just from those devices supported by Google?

Can I access all of my data? Jon Udell has already reported on The security of our data is another compelling reason to let somebody else take care of it
problems he's had in accessing all of his email held in GMail.

What happens if Google goes bankrupt?

What happens if Google decide to upgrade their applications, and my computer isn't powerful enough to run the new version? How do I get my data out of their silos to use in a different app?

What happens if the US government decides to cut-off access to Google's apps from my country because it's a terrorism threat? Or forces Google to hand over all of my data?

I don't think that we shouldn't be using the Internet to allow us better, more flexible access to our data; in fact I've been making more and more of my own data accessible on the 'net for years. I just think we should be careful about how we go about it.

Posted by Adrian at 09:24 AM | Comments (0) | TrackBack

February 12, 2006

Removing "public" From the URL of Rails Apps

Or... "How to get Ruby on Rails running on 34sp.com."

One of the challenges of running my own business has been keeping on top of the multitude of things I have to get done. David Allen's book Getting Things Done (or GTD) has been a very useful guide in this particular area, and I've been slowly developing my own to-do list web application to help me to put GTD into practice.

It's also given me a chance to try out Ruby on Rails, the web development framework darling of Web 2.0. And I can see why it's been getting so much hype - it's very quick to get something up and running, which you can then start to tweak and extend; the documentation is pretty well laid out, so I've found it much easier to delve into than, say, when I started learning PHP; and the built-in AJAX support, and layout system lend themselves well to rapid development of web apps.

One thing I have had a bit of trouble with is deploying my Rails app on my existing webspace. The standard directory structure for Rails maps the web app root into a directory called "public" and if you aren't going to have your app sit at the root of the website (i.e. http://www.myserver.com/), you seem to end up with an unnecessary "/public" in your URLs. For example, I want my todo-list to live at http://www.mcqn.com/tedium/ but by default it would actually be at http://www.mcqn.com/tedium/public/.

This is how I've worked round it on an Apache 1.3 server using fastcgi. I don't make any claims or guarantees for the information other than it seems to work for me. If there's a better way of doing this, or if there are problems with this approach, I'd love to hear about them, as then I can improve my web app and these instructions.

First off, a quick note about Ruby on Rails support with 34sp.com. They are only just starting to roll out Rails support on their servers, but were very helpful in getting it up and running on my server when I asked. This thread seems to be the place to check first to see what the latest status is for Ruby on Rails support at 34sp.com.

Assuming your web server root directory is called httpdocs (as mine is) and the place you want you've generated the Rails app in a directory called tedium (as I have), your directory structure should look something like this:


httpdocs/
tedium/
app/
config/
doc/
lib/
log/
public/
images/
javascripts/
stylesheets/
script/

Out of the box you should be able to point your browser at http://www.yourserver.com/tedium/public/ and be presented with your Rails app. http://www.yourserver.com/tedium/ would be nicer though.

HowToUseRailsWithRewrittenURLs in Ruby on Rails explains how to have your web server automatically redirect people, so if you went to http://www.yourserver.com/tedium/ it would automatically take you to http://www.yourserver.com/tedium/public/, but I don't think that's good enough. I want my URLs to be as clean as possible.

So what I did was to copy the fastcgi dispatcher scripts (that's dispatch.cgi, dispatch.fcgi, and dispatch.rb) and the .htaccess file from /httpdocs/tedium/public/ into /httpdocs/tedium. Then I had to edit the dispatcher scripts so that they could still find the environment directory. In each file, change the string "/../config/environment" into "/config/environment".

That should get most of your Rails app working at the new location of http://www.yourserver.com/tedium/, but it won't be able to find any images, javascript files or stylesheets as they're still in public. We can fix that with some mod_rewrite instructions in the .htaccess file.

I uncommented the RewriteBase line, and changed it to my directory name - in this case tedium:

#RewriteBase /myrailsapp

became:

RewriteBase /tedium

Then I added a new rewrite rule. This checks to see if the requested file exists in the public directory - if it does then the URL gets rewritten to include public, otherwise we let Ruby on Rails deal with it. So our final step changes:

RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

in the .htaccess file into:

# See if this is a file in "public", and if it is, just redirect to it
RewriteCond /path/to/your/httpdocs/tedium/public/$1 -f
RewriteRule ^(.+) public/$1 [L]
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
# Otherwise, if this request isn't just for an existing file, give it to
# the Ruby on Rails dispatcher
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

Now you should be up and running with your new Rails app at its clean new URL. Hope that's helped.

Posted by Adrian at 08:52 PM | Comments (4) | TrackBack

November 28, 2005

Attending the Open Rights Group's Inaugural Event

Now that I've realised that it doesn't clash with the next CHASE (Cambridge Hi-Tech Association of Small Enterprise) event, I'm off to London tomorrow night to attend the inaugural Open Rights Group event - 'Digital Rights in the UK: Your Rights, Your Issues’.

Seeing as I managed to sign up on Friday, there are probably still spaces available, but there'll no doubt be some form of write-up of my thoughts after the event if anyone's interested.

Posted by Adrian at 11:21 AM | Comments (0) | TrackBack

November 02, 2005

RSS Feeds For Sites That Don't Provide Them

FeedTier is a new service (in beta mode, as is traditional for Web 2.0 apps :-) which tries to provide RSS feeds for websites that don't provide them themselves.

As I've been wanting to get gig listings in my RSS reader for years now, I figured that'd be a good test for it. It doesn't fare well on The Junction's "What's on" page, presumably because the "book now..." link appears before the "more info..." one. At least, that's my guess given that the Corn Exchange's listing fares better.

So, if anyone else is interested, here are the links for some of the local venues:

What venues have I missed? The ADC's listings page doesn't work in Feedtier, and the Mumford's page uses frames, and the actual diary page's URL will change each term.

Posted by Adrian at 04:57 PM | Comments (0) | TrackBack

October 29, 2005

Tom Coates' Last Hurrah At The BBC

On his last day working for the Beeb, Tom has posted details of the final project he's been involved with.

He goes into much more detail than he did in his talk at Our Social World last month, and it looks very interesting. It's a way of marking segments of audio to which you can add tags and any other wiki-style content (descriptions, transcripts, whatever...) and the UI for editing the annotations or just navigating around them looks very smooth and easy to follow.

If the BBC roll this out to all of their listen again output, then it'd make my Real Clip Generator obsolete :-)

Posted by Adrian at 04:25 PM | Comments (0) | TrackBack

October 22, 2005

Want An Email Whenever McFilter Is Updated?

In case you haven't yet been convinved that an RSS aggregator is the best way to keep up-to-date with whenever I get round to posting something new, I've now added a way to get an email whenever there's something new to read.

Sign up using the form below (or the identical form in the sidebar of the main page) and you should get an email each day that something new gets posted. Well, I assume the email will arrive the day after something new gets posted, unless they've got some clever software which can predict whenever I'll post something... but if that's the case, they really aren't making the most of their technology!

Enter your email address below to receive an email whenever McFilter is updated

powered by Bloglet
Posted by Adrian at 02:27 PM | Comments (0) | TrackBack

October 17, 2005

Usability For Weblogs

Usability guru Jakob Nielsen has a regular column on usability, and the most recent covers weblog usability.

I don't think I score too badly, especially after my recent addition of the about me page. I do fall down by not having a photo of myself though, which is something I've been considering adding - I'd just have to find a photo I'm happy with...

His fifth point is one that oft pondered about weblog design, without coming to any particularly suitable conclusion:

"5. Classic Hits are Buried
Hopefully, you'll write some pieces with lasting value for readers outside your fan base. Don't relegate such classics to the archives, where people can only find something if they know you posted it, say, in May 2003."

Just how do you open up access to your archives? The most common solution for this seems to be a hand-crafted "best of" list, but this needs to be maintained, and it's hard to know which entries are worth further exposure. Part of this is just my laziness, so perhaps I'll instigate some regime of trawling through the archives and posting summary items into a "look through the archives" category.

What I really want (and might at some point in future get round to writing) is something which takes an assortment of metrics - number of comments, number of views, number of views which weren't due to random search engine access, etc. - and uses them to show which items in the archives are most interesting. The metrics could even be orthogonal - more comments would make an item brighter in colour, whereas more viewings would make the text bigger. Or something like that.

I think this is going to increasingly become a problem, and it would be nice if there were some (semi-)automated mechanisms to give bloggers at least an improved way of getting the content hidden in their archives into more public view.

Posted by Adrian at 08:34 PM | Comments (0) | TrackBack

October 14, 2005

Last Night's Geek Dinner

Last night's geek dinner was the first I'd attended, and was good fun - despite having to get the bus replacement service from Stevenage to Cambridge on the way home :-)

The journey down was much more straight-forward, although Geoff set a fair old pace as we walked there from Kings Cross. En route we stopped off at a little Italian place, Italian Graffiti, chosen completely at random, but who do excellent pizza!

Most of the evening was spent chatting to other geeks - quite a few of the speakers from Our Social World, and an assortment of people I hadn't met before.

Ian Forrester, the organizer, seemed to be worrying about the event far too much - all seemed to be going well: the food was nice and the bar staff were excellent, the only problem really was that the room we were in wasn't closed off from the rather noisy bar upstairs, which made it a bit difficult to hear the conversations.

I didn't get chance to speak to Tim O'Reilly in person, but his half-hour Q&A session was very interesting - he seems really switched on and to have a good understanding of what's happening with "Web 2.0" (Colin Donald has some notes from the session)

Posted by Adrian at 04:28 PM | Comments (0) | TrackBack

September 17, 2005

Our Social World Roundup

Now I'm back from a short soujourn to Florence, I've had chance to go back over the notes I made at the conference and add links to the assorted websites mentioned by, and blogs of, the presenters.

The conference main page now has a list of links to further discussions and notes from the day, and Suw Charman has put up her notes on the conference.

Posted by Adrian at 03:14 PM | Comments (0) | TrackBack

September 09, 2005

OSW: Hugh MacLeod - Marketing Hackers

You have to start making products that the geeks like so they'll talk about them on their blogs, 'cos normal advertising doesn't work any more.

Discussed how he's been helping Stormhoek use blogs to promote their brand. Points to the blurb at the top of their blog which promotes that they're really just wine hackers.

And now... to the bar!.

Posted by Adrian at 05:48 PM | Comments (0) | TrackBack

OSW: Ross Mayfield - Social Text

CEO of Social Text, who provide hosted wikis for companies.

Talking about how social software is being used in companies.

Talked a bit about the LA Times wiki-newspaper debacle.

Blogs are about individual voice. Wikis are about group voice.

By sharing control you foster trust among the participants. Which is kind of the opposite of the way businesses work at present.

In the past, crossing the chasm, etc. said ignore the hackers and concentrate on the majority. Now we should focus on the hackers 'cos they're the ones who'll talk about everything and do cool interesting stuff with your product.

Email is being stretched to be used as a collaborative, many-to-many system, when it isn't really very good for it. Wikis, etc. are better.

Social Text will integrate with email - email notifications of things, email posting of new content - so that they can migrate from email discussion lists more easily.

Please read The Only Sustainable Edge by John Seely Brown and John Hagel.

Most people's time at work is spent dealing with the exceptions to the process, rather than the things which fit into the process.

Quick demo of wikiwyg, the nice "just double-click to start editing" view of websites, in a nice wysiwyg interface.

Posted by Adrian at 05:15 PM | Comments (0) | TrackBack

OSW: Colin Donald - The new media landscape in a world where everyone can be a media producer/distributor

Update: It's Futurescape not Mediascape, and I've added links to all the sites mentioned.

Runs Futurescape.

Talk about how people are taking control of, and using media in new and different ways.

Shows the MTV Overdrive website. First problem you have to use IE... Then in order to get the best quality video you have to download the "special MTV viewer". All very flashy, but geared at replicating the TV experience online. All one-way from MTV to the user.

At the same time as investigating MTV Overdrive, he came across videos.antville.org. Very simple linklog through to music videos. And 'cos it's a blog, you can comment on any of the videos. Some of the comments are quite expert. And with certain videos there's a huge long discussion and interaction. Just around a single video. A whole community organised itself around the site.

Then talks about digg.com. Almost game-like as you score points for finding stories that get good votes.

A problem for the big media companies is that their size and popularity gives them certain legal problems. BBC spends lots of money moderating all of its forums. ITV only allows its forums about, for example, Coronation Street to be open for two hours after each show, presumably to keep moderation costs down. But that just means they lose the people who want to discuss it to other fora.

Quickly squeezed in point at the end - will videoblogging kill off reality TV? Let's hope so ;-)

Posted by Adrian at 04:50 PM | Comments (0) | TrackBack

OSW: Max Niederhofer - The Ludicity of Online Communities

Update: the slides for this talk are available online.

COO of www.20six.com - Europes largest blogging company.

Ludicity a word he made up, just means kind-of-playfulness.

Looking at why relatively young people (teenagers, early twenties) blog. They are the mass of bloggers.

They're tech savvy, better educated than the mainstream. They spend a lot of time on the Internet (and so watch much less TV). Blogging is the perfect game - the perfect massively multi-user online role-playing games. But it's a game without an end, you can't finish it. But blogging isn't really a game, it's play. There are patterns to it, but it isn't always the same - similar to playing chess.

The point of blogging is positive human interaction. It's getting confirmation for what you're doing, it's getting love from other people.

It's a virtual home.

From simple play, rules emerge. What rules have emerged from blogging?
Transparency. Honesty. Respect.

Quick show of hands - who has a blog? About half of the attendees do. He asks that everyone who hasn't tries starting one.

Questions

Tom Coates points out that a lot of the aspects he attributed to games are also attributes of life. Max agrees, but said that it's easier to explain to people that blogging is fun, rather than saying blogging is like life.
Posted by Adrian at 04:25 PM | Comments (0) | TrackBack

OSW: Simon Grice - Personal Digital Identity (PDID)

Founder and CEO of Midentity.

identityblog.com - Kim Cameron from Microsoft has written the seven laws of digital identity.

The last 1000 years... letters of introduction, passports, driving licences, etc.
The next 1000 years... personal digital identity

Why now? Tipping point approaching... everyone has tens of places they need a username and password (or use the same username and password, even though they know they shouldn't...)

A PDI is a network resident collection of (or pointers to) personal data that should or could be under the management of the individual.

Other organisations already have a lot of this data, but they control it rather than us, and often manage it poorly - hence double-glazing phone calls, junk mail, etc. And has to be updated in each place - if you move house you have to tell everyone individually of your new address.

Mobile devices are the 1st true pervasive identity authentication device. Ties in to how the BBC (Tom Coates talk) are using mobile phones and text messages to prevent spam to their phonetags system 'cos they know who's been tagging.

The Internet and google, etc. means none of us are anonymous now.

Flipside is that the ability to be anonymous should be built into a system.

To learn more about it, think about attending the Personal Digital Identity Summit. 17th and 18th November in London.

Questions

Suw Charman asked (unsurprisingly, given her nascent UK digital rights group) - Are companies holding more data than they need for longer than they need? Simon urged everyone to go and ask a company (such as a phone company) for all the data they hold on you. You have the right to ask for it, and the company can only charge 10 to give it to you. When he tried it with Vodafone, he got a list of locations he'd been at over the past six months that they were holding.

Not necessarily a concern about what Vodafone would do with the data, but the concern over what someone else could do with the data, if they could get hold of it (by court order, for example).

How easy was it to build your company in the UK, rather than in San Francisco? Bloody hard work. Hard to get funding over here. All the usual stuff of managing a small group of people.

An interesting guy with, I think, a good attitude to the problems.

Posted by Adrian at 03:44 PM | Comments (0) | TrackBack

OSW: Julian Bond - The culture of the Office Memo

He provided free chocolate biscuits, so this talk much be good ;-)

CTO of ecademy.com

Intra-business communications today is a combination of Powerpoints, chocolate biscuits and bcc email.

The problem this causes is that everyone is worried about going into print because of the office politics.

Runs against the geek imperative - tell everyone you know everything you know so you appear knowledgeable. More Machievellian - knowledge is power.

The software may be free, and easy to do, but big corporates don't have the right people to let them do it. Hard to make a profit providing Open Source Software (OSS) to FTSE companies, as the overhead of process ramps up the cost but no-one wants to pay lots of money for free software. Much more opportunity selling solutions to small companies.

He's also set-up an aggregator of UK political blogs.

Posted by Adrian at 03:29 PM | Comments (0) | TrackBack

OSW: Suw Charman - Dark Blogs: Using Blogs Behind the Firewall

Dark blogs are those that you can't see because they're hidden behind a firewall, or a password protection, so basically blogs being used internally by businesses.

There's a case study posted on her blog Strange Attractor.

"A big race to be second, or preferably third to implementing new technology within business." Number of businesses using blogs is on the increase, but there's little information about how they're doing that.

Blogs not always the answer. Sometimes it's wikis or IM, or even shock horror the old-fashioned face to face meetings. Work out what the problem is first, then decide whether blogging will help.

Disney use blogs to replace a system of event logging after failing to computerize their paper based system with some special software.

A pharmaceutical company have a blogging team to keep on top of useful business knowledge and competitive information.

Some people within The Guardian use blogs to organize their data.

If it doesn't fit in with how people normally work, it won't be successful. Blogs are easy and flexible which helps in this respect.

You can use email to let people get into it easily - blogs can be set up to allow email to post. The pharmaceutical company also provide an email digest of the blog so people can keep up-to-date in a way that they're familiar with.

Remember, people don't like change. No-one cares that you're blogging, just use it and let them see how it helps them do their job.

Training is minimal :-) "If you can surf the 'net, you can blog. It's that simple". Rather than providing training, help people find more experienced (in blogging) colleagues who can help out.

Talk to users before imposing a blogging system on them. Find out how it can help them and hopefully they'll become evangelists for the new tools.

Eat your own dog food - if you're implementing blogging in your own company you better be blogging yourself.

Support "invisible work" - the surfing the internet, thinking about things, mulling over posts... the sorts of things needed for good blogging but which are hard to quantify as "work".

Experiment. Don't worry if the blog doesn't work. Throw it away. Start again.

If you're thinking of using blogs in your business, but don't know much about it, start by reading blogs. Then start a personal blog. Get a feel for how blogging works, and what it feels like.

Posted by Adrian at 02:36 PM | Comments (0) | TrackBack

OSW: Euan Semple - Working in a Wired World

Talk about what happens when you start to introduce blogs, wikis, discussion groups, etc. into a business, drawing on his experience of doing just that within the BBC.

As a manager a few years ago Euan found out that some of his staff were spending more and more time in the evenings sharing their experiences, and disucssing their work with people doing similar jobs outside the BBC through bulletin boards, etc. He thought it would be a good idea to provide some tools within the BBC to let them discuss things internally.

He didn't care too much about what people used the bulletin boards for, just things that the users find valuable. So it covers things work related, non-work related, rants, whatever.

The next tool they put in was a system called Connect - like Friendster for the corporation. People can put in details about their expertise and interests, and it helps surface the informal networks in the company.

They have around 200 blogs internally. One example he gave of Richard Sambrook's blog, where sometimes he's posted about quite sensitive issues within the corporation which have spawned long comment threads, and have been commented on by many senior managers. These are discussions which would still have taken place without the blog, but because of the blog they're being made out in the open.

Final tool they've put in is Confluence, which is a wiki. Not quite the usual completely open wiki tool, but allows whoever creates the wiki to manage what level of access is allowed. Surprisingly, given that wikis have a slightly steeper learning curve compared to the other tools, Confluence has been the quickest growing of the tools.

The tools are all very democratic - it doesn't matter who or what you are within the BBC, you are judged on your contributions.

Posted by Adrian at 02:05 PM | Comments (0) | TrackBack

Keeping Up To Date On Our Social World

If anyone outside of the conference wants to find out about what's happening, they can use the auto-updating aggregator (or subscribe directly to the feeds) that I've put together.

Just head to the Our Social World river of news.

Posted by Adrian at 12:19 PM | Comments (0) | TrackBack

OSW: Loic Le Meur - The European Perspective

Represents Six Apart in Europe. Six Apart provide Typepad, Movable Type (the software which runs this blog) and LiveJournal.

In France, blogging is becoming big news - front page of Le Monde; three radio stations doing weekly or daily shows on blogs; one TV station doing a short, primetime slot on blogging. This has been happening for over a year now.

Some stats. In May 2005 there were 30 million blogs, 50 million expected by the end of the year. Number of blogs doubles in size every six months. And blogs influence is growing, some blogs get more links than mainstream media websites (nice graphic from somewhere on Technorati).

Talked a bit about podcasting too.

Lots of buzz in France, even a blogging award competition.

Showed some video blogging software Six Apart are now providing.

Showed his wiki page about the European blogosphere which gives information about how many blogs there are in Europe, and such.

And a quick plug for this years Les Blogs conference - Les Blogs 2.0, Dec 5th and 6th in Paris.

His blog is at www.loiclemeur.com.

Posted by Adrian at 11:53 AM | Comments (0) | TrackBack

OSW: Lee Bryant - Self-managed language, meaning and tags

Looking at how tags can help us develop a shared meaning through collaboration.

Bottom-up emergent sense-making, just tag things and look for commonality and themes later, rather than the top-down "let's work out a hierarchy or taxonomy first".

Problem at the moment is that we have open, flat public tag clouds.

In real languages, you generally get an evolution of the words used to describe a new thing/concept/whatever - initially there are a number of ways to describe something, and then eventually it starts to coalesce into the commonly-understood term.

Social software in businesses.

What can it do?

  • Critical mass of weak ties to help people exchange knowledge
  • Stimulate connected conversations encouraging creativity
  • Stimulate social networks
  • Bring existing information to life

They're launching PatientOpinion today. Let's people give their stories of their experience with the NHS and it's services. They try to analyze the stories to suggest to people what hospital, or service, or type of medicine they're story is about. So users don't have to know that their story is about oncology, for example, they can just use terms familiar to them like cancer. Currently being trialled in Yorkshire, with the aim to go national next year.

Update: Lee's notes on the conference and his slides are on the Headshift website.

Posted by Adrian at 11:38 AM | Comments (0) | TrackBack

OSW: Johnnie Moore - Chaos.. or Engagement

Took his talk from the middle of the room, rather than the front. Prepared by not thinking about it too much, so it was spontaneous.

Asked for a volunteer. Jeff Veit very generously volunteered.

Then they collaborated on drawing a face called Truman. Taking turns to draw a feature, until one hesitates too long. Then they took it in turns to draw a letter to come up with a name for the face.

Our effort Then we all did it with someone sat nearby.

Everyone drew human faces, and lots of people ended up with real names. That shows there are a lot of implied instructions.

People seem to have a terror of the unknown.

Decided to start 173 Drury Lane to talk about Sainsbury's, just to see what happened. But didn't tell Sainsbury's about it, and just went to see what happened. After a while they got a bit bored, but one of the commenters was writing lots, so they asked him to join in writing things. Now starting to get employees of Sainsbury's commenting on it, mostly defending their company, and starting to get picked up by some of the major newspapers.

Interesting discussion followed about whether that was a good idea, whether it is provocative, and whether in a good way or not.

Update: Picture of our image added, and link to Johnnie's blog.

Posted by Adrian at 10:55 AM | Comments (2) | TrackBack

OSW: Tom Coates - On Social Software

Works for the BBC. Has been blogging (at plasticbag.org) for six years.

The UK is well behind the curve on blogging. People are a bit reserved about why they think they're important enough to publish their thoughts online.

Whistlestop tour of the last ten years of social software.

When the Internet started (before the web) it was social. IRC, e-mail, usenet, mailing-lists, message boards, MUDs/MOOs.

The web moved the Internet towards publishing and commerce.

Weblogs and Amazon.com have started to move things back in the social direction.

Then Friendster happened. Showed that everyone in the world was on the Internet and you could find a way to connect with your real-life social group online.

Ran through an overview of current social software services... Flickr, del.icio.us, Technorati, Last.fm, microformats.

What makes a service a good social software service?

  • An individual should derive value from the service
  • These contributions should provide value to other people too
  • The site of organisation that hosts the service should get value out of it and expose this value back to the individuals

Then he demoed Phonetags and Collaborative Audio Annotation.

Collaborative Audio Annotation. Turning audio into a wiki! Allows people to bookmark bits of the data, and basically allow the world to provide meta-data for the BBC's audio data. Very nice!

Posted by Adrian at 10:51 AM | Comments (0) | TrackBack

OSW: Simon Phipps - Welcome to the Participation Age

Simon works for Sun Microsystems. He started blogs.sun.com. Available for all Sun employees to write whatever they like.

Blogging is just a way of showing social interactions. Changing the way communities operate, that business communicate, that engineers interact at work.

Connectivity has got into the soul of society.

Travel 10 years ago he got a big file of local currency, plane tickets, when he got there to stay in touch he'd have to use phone booths. If someone wanted to send him a message they'd have to post something 8 weeks in advance to where he'd be.

Now he doesn't have any travel tickets. Doesn't need cash 'cos he's got a credit card and it's accepted everywhere, even in far flung places. And if he needs to stay in touch, there'll be an Internet cafe somewhere nearby.

It's no longer cool to be online, it's expected.

People assume they're connected now, which has changed all sorts of things.

From this position of connectedness, a group of the workers at Sun all realised they were blogging. One day it was suggested they setup a website called blogs.sun.com. They spent time worrying about who would be allowed to blog, how they'd vet them, all sorts of things like that. One day when having a meeting about it the CEO happened to be passing, and dropped in and just said "why not stop worrying and just get started." So they just set it up and allowed anyone to access it. Even the CEO now has his own blog.

Executive support was vital to help them get authentic blogging up and running. Sun didn't have hand-picked-by-marketing bloggers, so their engineers were all talking about their work. "If we want to make Sun look good in public, we probably shouldn't leave it up to the marketers".

Not that important to Sun to have lots of people reading, but to have the right readership. For some people it's getting the three other people who are into garbage collection in virtual machines to read the blog of the engineer working on garbage collection in virtual machines.

They had problems with company policy, as by default it said that you'd get sacked for speaking in public about the company without PRs permission. "I don't think anyone has been fired for blogging, I think there are people have been fired for being clueless when using their blog"

Things you need:

  • referrer logs
  • ability to link anywhere
  • be able to talk about the competition positively
  • let them say when you've screwed up
  • people are allowed to tell the truth

Blogging is a step out of the dark ages of the marketing-death-ray. This is "Connected Capitalism".

Questions:

Using Roller for both internal and external blogs, and also LiveJournal internally. LiveJournal is being used quite a bit for collaboration within a team to keep their lab books online.
Posted by Adrian at 10:49 AM | Comments (0) | TrackBack

OSW: Ben Hammersley - The 300 Year History of Blogging

Easy to spot at conferences, as he's the man in the kilt (as usual).

Sir Richard Steele was the first ever blogger (btw, he died in 1729). Similarities from 1700s to today - similar political environment. Using the then-new technology of printing presses, and distribution network of street urchins, he set about publishing his thoughts and ideas three times a week. He had 800 readers, so quite a few more than me then, even though I've got a global distribution network available!

The idea of manners was invented by (the 1700s) blogging. Everyone was starting to wear the same clothes, so you couldn't tell what class people were any more just by looking at them. The guy you're chatting to in the pub might be some ne'er-do-well who'll rob you when you leave, and you can't tell by looking.

The Tatler and The Spectator (these first weblogs) gave information about how to behave and interact with the people you met in the coffeehouse down the road.

So amateur publishing (and coffee) and the social aspect that goes along with it can cause a social revolution. What will today's blogging and social software cause?

We now have access to everything. We can search everything.

"Blogs can deliver intimately personal, focussed, findable information to the largest potential audience in the history of mankind, faster than information has ever moved before."

We have new concepts of friendship, of how to work together, of relationships...

This is how we can get people all over the world to connect to each other, and although it seems ridiculously far-fetched at the minute, it will change the world in huge ways.

Questions:
Won't the people in power just use the new tools to stay in power? No, they generally don't have a clue. At present in the aftermath of Katrina there are techies going in setting up ad-hoc networks, wikis, etc. and the US government is busy trying to stop them because if they get it all up and running and people see that it works better than existing government they'll start to question why we have to listen to those guys in Washington.

Is text blogging already dead, 'cos speaking is more natural? No, the bandwidth of text is better, and written word gives you a basis for talking.

Will marketing blogs ruin it for everyone else? Nah, it's a sideshow - for example, Heat magazine hasn't destroyed classical literature. There's space for everyone. Blogs will change marketing, marketing won't change blogs.

Posted by Adrian at 09:36 AM | Comments (2) | TrackBack

Our Social World

All day today I'm at the Our Social World, so I'll be trying to blog my notes from the conference in real-ish time.

Posted by Adrian at 09:29 AM | Comments (0) | TrackBack

September 08, 2005

Keeping Tabs On Who Is Talking About You

As part of the work I've been doing to help out for the Our Social World conference, I've been looking into ways to find out which blogs are linking to, or talking about, the conference so I figured it would be worth summarizing my findings here.

Most of these services provide RSS feeds too, so you can add them to your RSS aggregator and stay up-to-date with what's happening.

You're It

Tagging (basically free-form keywords) is big at the moment and if there's an obvious, and fairly unique, name for what you're doing then there's a good chance people will use it when referring to you.

del.icio.us, the social bookmarks service I've written about before lets you see what bookmarks have been made with a given tag, and also provides an RSS feed so you hear about newly tagged bookmarks when they get added.

Similarly, Technorati have recently branched out from just being a blog search engine (more on this in a bit) to provide searching based on tags. So, for example, you can find all the blog posts which have been tagged with our+social+world.

Searchin'

When it comes to blog search engines (think Google, but just searching through blogs) there's quite a choice, and there doesn't seem to be a lot to choose between them...

  • I think Technorati were the first into the market, but have suffered as a result with their servers sometimes getting overloaded. However, they seem to be recovering, and with the additional tagging search are starting to regain their edge
  • Feedster are perhaps best known for their RSS-feed splicing services, but also offer a who's linking to whom search engine.
  • Bloglines offer a search facility alongside their web-based RSS reader, but don't provide an RSS feed of the results. You can subscribe to the results feed if you use Bloglines as your RSS reader however.
  • IceRocket.com is a fairly recent entrant, but their search results don't seem to be as comprehensive as those of their competitors.
  • Finally, there's also PubSub although that seems less immediate in its response. Whenever I've tried creating a subscription it's returned no results, and I've lost interest before finding out if the results get any better over time...

Posted by Adrian at 06:31 PM | Comments (0) | TrackBack

June 15, 2005

Interval Training The Most Productive Approach For Death Marches?

Crunch Mode or, as I've more often used, the Death March is that seemingly endless slog at the end of a project when the deadline is looming and there's just too much work to fit into the remaining time.

It's a pretty common occurrence in software projects, as plans and timescales are usually optimistic and no-one likes to disappoint the customer by cutting features or slipping the ship date. "If we just put some extra hours in for these last few weeks..."

The only problem is that death marches tend to last longer than anyone expects, or wants. And they're rather demoralising.

The underlying problem is the difficulty in measuring the productivity of software engineers - so although the gut feel when in the middle of a death march is that productivity is suffering, it's hard to prove when defending a decision to slip the end date or cut functionality.

Hopefully, "Why Crunch Mode Doesn't Work: 6 Lessons" will help managers defend against extended crunch periods as it provides links to an assortment of research into discovering that 40-hour weeks are optimal for productivity in the medium- to long-term (anything more than a month or so).

Posted by Adrian at 12:02 PM | Comments (0) | TrackBack

May 09, 2005

Less Eye Candy, More Useful Features

Recently, I've installed the latest version of Microsoft's Instant Messenger. The two main additions seem to be "Winks" and "Nudges". "Winks" are little animations you can send, and are quite amusing, although part of me thinks they're just a way of introducing another market to sell low-value baubles for much more than they're worth, like the whole ringtones/emoticons/wallpaper market.

"Nudges" sound a much more promising idea though. My biggest bugbear with instant messaging is that there's no useful way to manage my presence and work state information. There is the "busy" status, but that's far too coarse-grained and has to be set by hand - when I find myself engrossed in some work, I don't want to interrupt myself just to warn others that they shouldn't interrupt me; nor do I want to remember to clear my "busy" status when I decide to have a break for a few minutes and catch up on email and blogs, or whatever.

So, some way to discreetly enquire whether the other person is there and can be interrupted would be ideal. Which sounds like what a nudge would be - an unobtrusive, easily ignored query to see if someone is available to talk to you.

It's a shame then that the Messenger team chose the name "nudge" because it's snappier sounding than "grab the other person and shake some sense into them!" In Messenger, a nudge is more intrusive than talking to someone! The window pops to the front, shakes from side to side, and makes a noise. Of all the expressions and gestures that are missing from electronic communication, jumping up and down and screaming wouldn't be top of my list of ones to add.

Luckily, I'm not the only person thinking of things like this. Matt Webb has even been experimenting with improvements in his Glancing project. For example, looking to see who is online also causes a "glance" to be sent to all your buddies, which doesn't do anything other than subtly change the icon for their IM client. Whoever notices the glance, and glances back, then becomes available to chat to. Perfect - glancing is a byproduct of using the IM client, and ignoring a glance is the expected result and so doesn't appear rude.

Later on in the presentation I've linked to, after discussing Glancing, Matt touches on a number of other very interesting ideas: why we should improve the visibility to others of what communication is happening; how software should degrade rather than failing; thoughts on cyberethics... All accompanied by pointers to further reading.

I'll have to see if I can find time to dig into some of material he references.

Posted by Adrian at 12:01 PM | Comments (0) | TrackBack

March 22, 2005

The Semi-public Internet

Gated Communities, mp3 blogs and the Future of the Social Internet is an interesting essay speculating on how the copyright clampdown could just send mp3 blogs semi-underground, where some network of trust is built up before access is granted.

I think we'll see this more and more as the Internet evolves; the continued increase in abuse of the public sections of the internet (comment and trackback spam being an example particularly close to my heart...) will force most of our participation at (rather than just consumption of) other peoples' sites to require some level of authentication.

The challenge in all this will be how to manage this digital identity. I don't want to have to go through some sign-up procedure for every blog I want to leave a comment on, and I'm not sure I'd trust any commercial organization to be in charge of my identity. There is work going on to come up with standards or protocols to govern distributed authentication and identity, but I've lost the link to them.

The upside is that once this stuff is worked out, it will allow us finer control over our privacy - allowing us to share more at the same time as sharing less: for example, I'd be able to open up my music collection easily to all of my friends and could similarly restrict access to my photos to just friends, or friends-of-friends.

(via Troubled Diva)

Posted by Adrian at 05:19 PM | Comments (0) | TrackBack

February 23, 2005

Reclaiming Your Hard-drive From Offline Files

I doubt many of you use the Windows Offline Files feature, so this is unlikely to be of any interest. I'll probably need the info again in the future though, so I'm recording it here.

To make it easier to access all my data from the assortment of machines scattered round the house I store as much as possible on the central server, including my "My Documents" folder. So that I still have access to the important stuff when my laptop isn't in the house I use the "Offline files" feature in Windows. It pretty much works.

Recently though, my laptop has been repeatedly complaining that it was running low on disk space - each time it did, I'd scavenge half a gig or so. I didn't think I'd been adding new things at the rate it was filling up, so yesterday I spent a bit more time investigating what was consuming all the space.

I discovered that around 13GB of my 30GB hard-drive was taken up by the Windows\CSC folder. Some investigation showed that that's where Windows caches the offline files. That's a little bit more than the "use 10% of my hard-drive" setting says the offline files will use!

Deleting all the offline files didn't help matters. Nor did turning the offline files feature off. In the end I had to follow these instructions to reinitialize the offline files cache and then set-up my offline files again.

Lo and behold, I now have over eleven gig free on my laptop hard-drive again.

Posted by Adrian at 01:15 PM | Comments (3) | TrackBack

August 16, 2004

Less Comment Spam

The MT-Bayesian module has been doing a great job of stopping spam comments from getting onto my blog, but I still have to delete them. Although they aren't displayed, they're still counted in the four most recent comments on the main page and, until deleted, they oust real comments from the main page.

So, following this top tip from Mr. Sevitz, I've added a new question to the comments box, which must be answered (one way or the other...)

I'm assuming that the spammers aren't going to bother working out how to get round it for me, and will just move onto the next blog on their list - the good old security through obscurity ploy. We'll see how it goes.

Update: I've just tweaked the initial detection in mt-comments.cgi because some of the spammers use GET rather than POST, so my mt-comments.cgi has this at the start...


# $Id: mt-comments.cgi,v 1.34 2003/02/12 01:05:31 btrott Exp $
use strict;

#### AMc - Start of hack to reduce comment spam
use CGI qw(:standard);

if ( defined(param('text')) ) {
my $data = param('<insert new form parameter here>');
die unless( ($data) && defined($ENV{'HTTP_REFERER'}) );
}
#### End of hack

my($MT_DIR);
BEGIN {

Update #2: I suspect 'bakecookie' isn't the best form field to use, as I've just got two more spam comments, but as both were POSTs I can't see exactly what parameters were passed in. Now updated to use the presence of 'text' form field as an indicator of a submitted comment (seeing as comment spam isn't much use without that field). We'll see.

Update #3: Another few spams got through today (although 30-odd didn't) as they're parsing the comments form. Most of them at least have the honesty to pick "Yes" on the "Are you a spammer" question, presumably because it's the first answer they find. I did think about disallowing comments from people who say they're a spammer, but decided that the lack of a referrer URL was a better solution. I've updated the script above to include the referrer check. I still haven't renamed mt-comments.cgi, but that's just 'cos it'll require checking everywhere it's referenced, so I've gone for the quicker fix. When the spammers start sending a referrer URL, I'll take the trouble to do it.

Update #4: Elise has an excellent introduction to comment spam including further counter-measures.

Posted by Adrian at 10:43 AM | Comments (19) | TrackBack

August 03, 2004

Classic Texts Of Computer Science

Classical Computer Science Texts.

Great. More stuff to add to my already too long reading list. (Via Kottke)

Posted by Adrian at 09:35 PM | Comments (0) | TrackBack

July 26, 2004

Intelligent Thinking On Intelligent Furniture

The Smart Furniture Side Show has some interesting thoughts on some of the technology-enhanced furniture that could be coming in the future, and it isn't the usual Internet-enabled fridge!

Posted by Adrian at 11:35 PM | Comments (0) | TrackBack

July 20, 2004

Coding... Doin' It Y'Know...

The Seven Rules for Just Finally Doing It!

Amen.

(Via Archipelago)

Posted by Adrian at 04:12 PM | Comments (3) | TrackBack

July 12, 2004

Eric Sink On Hiring

Eric Sink parcels up everything I know about hiring (and then some) into this article on hiring for small ISVs.

Posted by Adrian at 01:59 PM | Comments (0) | TrackBack

May 04, 2004

Latent Semantic Indexing

LSI still conjours up memories of early 90s rave tunes, but it can also be Latent Semantic Indexing, a clever method for searching collections of documents

So if you're interested in text search (something I'm rather surprised that I am), here's a rather techie, but comprehensive introduction to what Latent Semantic Indexing is, and how to do it.

Posted by Adrian at 09:58 AM | Comments (0) | TrackBack

April 22, 2004

Squeezing The Schedule

Gamasutra offers some oft-overlooked points about managing software projects. I particularly agreed with...

  • Only plan the things you've scheduled for the next two months down to days, get the rest planned to the nearest week, you'll be replanning anyhow. You need to have the plan for the next milestone nailed down, so you know when it's going to end. Towards the end of each milestone you should revisit the plan: check that the work planned for it still makes sense; add anything that got cut from the current milestone (assuming you're date-driven) and of course work out how you're going to deal with the extra work now in the next milestone (find a new person to do it, push something else out into a further milestone, etc.). All of this can make quite a difference to what you thought would be in the milestone, so any detailed planning done early could be wasted.
  • Know your team. Then be smart about who does what. Sounds obvious, but isn't that easy to do when you can't give everything to your star performers.


Posted by Adrian at 11:55 AM | Comments (6) | TrackBack

April 06, 2004

Usability For The Masses

Today, Jon pointed to this rant about how Linux usability is doomed to failure by John Gruber.

I think the underlying point is that usability is difficult, and that it is much better to design it in from the start rather than try to tack it on as an afterthought. On this I totally agree with him. Unfortunately, he tries to back this up with a number of points which really grate with me.

The argument seems to boil down to "normal developers are just code monkeys, whereas us UI designers are artists and deserve lots of money and so can't do open source."

  • "Talented programmers who work long full-time hours crafting software need to be paid. That means selling software." What? None of the guys who've written open source software are talented?!?! I'm sure they aren't all talented, but in my experience neither are paid programmers. Or is there something special about UI programmers that they are purely driven by money, rather than any of the other factors which motivate the rest of us? Are the UIs in John's own open source projects deliberately worse than in any paid work he's done?
  • "The distributed, collaborative nature of open source software works for developer-level software, but works against user-level software... Movies are collaborative art, but require strong direction. So it is with end user software." This implies that "developer-level software" doesn't require strong direction. Good software design is a creative process best driven by a small core team of architects. The distributed, collaborative model of development will only work well if there's either enough code surrounding the new module that it's obvious how it will fit in; or there is effective communication of the designers' ideas. I fail to see how UI design is different, but if it truly is, then surely that is an obstacle to be overcome, rather than an immovable barrier?
  • "Most programmers dont have any aptitude for UI design whatsoever... no amount of practice or education is going to make them good at it. Improved, yes; good, no." So there's no point in complaining about it, we might as well all go home now, no? Sorry, but I'd take improved over bad if that were the only option; but it's not: improved visibility of usability is a good thing on it's own. Maybe some of the coders who really can't do UI will realise, and seek input from those who can. Maybe some of those coders have got an aptitude for UI, but haven't bothered to exercise it as it didn't seem important. And I don't buy this "Its an art, and like any art, it requires innate ability." bullshit. That's like saying that because I may not become a concert pianist, there's no value in learning the piano, or that piano cannot be taught.

A much more productive, and constructive, response to the Eric Raymond article is the one I've been following by Jon Udell, from his initial discovery that OS X isn't any better through more recent articles promoting the development of UI and usability guideline "standards" and the issues with RSS going mainstream.

As long as usability and UI design is kept sacred for the "UI specialists", it will be given short shrift by those implementing the systems, because it's not their job and they don't have to worry about it.

It is the responsibility of all engineers to worry about, and aim to maximise, usability.

Posted by Adrian at 02:48 AM | Comments (0) | TrackBack

February 27, 2004

A Useful WAP Service?

Froogle, the online shopping price comparison service from Google has launched a WAP version so you can see if that shiny new gadget you're about to buy is available cheaper elsewhere, whilst you're still stood in the shop. It's a minimalist UI, the usual Google approach, and pretty usable, but seems to be rather US-centric - not surprising, given that the web version is too. I think it'd be more use if you could get pictures of the items from the search, and it would be cool if you could take a picture of the barcode or something to use for the search, or if you could tell it which shop you were in so it could use knowledge of that chain's stock to narrow the search.

Still, it's a service where the mobility aspect is important, and not just trying to put a desktop web service onto a mobile phone.

Posted by Adrian at 09:13 AM | Comments (0) | TrackBack

February 24, 2004

In Search Of Ethics

Diego Doval is trying to kickstart a discussion about ethics in computer science, a topic I've been wanting to raise recently, but hadn't found a suitable way in.

There does seem to be some discussion on ethics in computing, but it seems to me that it's seen as just another area of research, rather than something which must be woven into the day-to-day work of computer professionals.

We did touch upon ethics as part of my Computer Science degree at Lancaster, ranging from discussions of copyright and piracy (I remember our lecturer, Ian Sommerville, asking how many of us possessed pirated software, and then how we expected to earn a living...) to questions over the use of computing in missile guidance systems, and the like. The ethical question was one of my considerations when I was being courted by defence contractors after I graduated (being taught Ada made me quite an attractive proposition).

The problem, as Diego also notes, is where to start? How do we frame such a debate? I don't have any of the answers, but I might have some pointers that could help us find the answers.

I think Rich Gold has an excellent approach to getting people thinking along the right lines. His presentations are thought-provoking, insightful and, most importantly, accessible. He doesn't present any answers in When My Father Mows The Lawn Is He A Cyborg? but presents a whole ream of new questions.

Theories such as Albert Borgmann's "device paradigm" could give us a framework to decide whether or not a given technology is beneficial. Whilst this is straying into philosophy of technology, it aims to help us decide if an advance adds to, or detracts from, our quality of life. I'm sure I'd do a better job of describing it had I found the time I need to finish reading Technology And The Good Life, a collection of essays on the subject.

That may be a touch ambitious as an initial way to engage people more widely. Privacy and identity issues look to be a good initial topic. Our privacy and identity are being increasingly challenged and redefined, and awareness of at least the basic issues is widespread. Attitudes seem to range across all possibilities, from those experimenting with recording their entire life to those actively avoiding anything which may give them an identity on the Internet.

Two of my friends avoid anything which would link their name to something on the 'net, so much so that they don't even want their names mentioned on my blog. How then do we, who live our lives so much in the online world, ensure they are included in any debate about such matters? I post all my photos online so that friends can view them, but then so can anyone. I think it's quite cool that if you search for "adrian mcewen" on Google images, you get a picture of my car and one of me; others find that quite alarming. What if the picture was on the company website for a company that I'd left? What if I'd left the company because I campaign for animal rights and the company had been exposed to perform horrific animal testing? What if one of my party guests is cheating on their partner and is caught on camera with their paramour? Should someone be able to force me to remove an image of them if they don't like it? What if they wanted it removed because it showed them attacking someone?

Questions are good. If nothing else, they can help give a sense of our position on the matter, and give pause for thought before rushing headlong into the latest cool idea.

Posted by Adrian at 10:59 AM | Comments (0) | TrackBack

February 20, 2004

Orkut. Or...?

Or an assortment of existing services, from what I can see.

There's been lots of discussion about the assorted social networking sites (Friendster, LinkedIn, Orkut), so I was quite interested to see what the fuss was when I was invited to join Orkut by Neil.

The first problem I have with such FOAF (friend-of-a-friend) services is that it wants me to hand over the email addresses of all my friends, so that it can send them a nice invitation to join the network, and the only way you can join is if you're invited. I'm afraid I'm not about to hand over all my friends email addresses to some random third-party so they can hassle them about joining a service they may have no interest in. It would be better if I could include a URL or attachment in an email that I send.

As a result, I currently have one friend in my network, so maybe I'm not seeing the great advantages of the service. If anyone wants an invite, drop me an email and I'll invite you.

Once you've registered, you can add a photo of yourself, and then try to condense your interests, personality, likes and dislikes into a few paragraphs and check-boxes. Another thing I'm not too keen on.

And then? Well, then you seem to have access to a number of discussion forums, sorry, communities, the ability to browse your network of friends, friends-of-friends and so on, and can send messages to other people.

So Orkut appears to merely provide a facsimilie of services already available on the Internet, but with more information about the people you're interacting (you can see their picture and little snapshot of their "life") and often less functionality than the standard Internet equivalent.

I have a much richer environment for sending and receiving messages from people with my email client: it notifies me when I have a new message, I can sort my messages into folders, attach files... I can discuss my interest in Integrales on the Evocorner Forum, find out what's happening in the Cambridge area by reading the cam.misc newsgroup, and Yahoo! Groups has a much better interface for finding groups I'd be interested in - Orkut has fourteen top-level categories, and you have to search in one of them for keywords to try to narrow down the list of communitites.

It seems to me that Orkut is reinventing too many wheels just to be able to add the ability to find friends of friends and make new contacts, the FOAF network approach looks like a better bet. Maybe I'll change my mind if I end up with enough contacts on Orkut...

Posted by Adrian at 12:23 PM | Comments (0) | TrackBack

February 17, 2004

How Smart Is Your House?

How smart would you like it to be?
How smart could it be?
Could it be smarter than you?
Should it be smarter than you?
How smart does your bed have to be, before you are afraid to go to sleep at night?

A masterful introduction to some of the philosophical questions we should be asking ourselves about the continued encroachment of technology upon our lives. But which we aren't.

And the problem with not asking the questions is that, left to their own devices, the geeks will build these things just because they can. Or because it's "cool".

I don't want a house that is smart. I want a house that helps me to do what I want.

Everyone should read these slides.

Posted by Adrian at 02:31 PM | Comments (0) | TrackBack

February 04, 2004

How To Manage Smart People

The style of management described in How to manage smart people reminds me of one of my favourite maxims about managing:

As a good manager, when things go well it was down to the efforts of my team; when things go badly it was my fault. As a bad manager, when things go well it was my skilled management which won the day; when things go badly it was due to failings of the team.

The only area the article doesn't cover is dealing with people who don't want to be part of the team. The sort of person who wants to be left in the corner hacking, and not have to communicate with anyone else, nor answer to such non-coder frivolitites such as deadlines.

Luckily such people are fairly rare (I reckon around 2% of the engineers that I've worked with), as I don't have any wisdom to add. I haven't had to manage anyone like that for any period of time, so maybe it just takes longer to work out how to get them on board.

Apart from that, a good article, and I think it pretty much describes how I manage; of course, to find out if that's true you'd have to ask someone I've managed.

Posted by Adrian at 02:28 PM | Comments (0) | TrackBack

February 03, 2004

Avoid Embarrassing Document Faux Pas

One problem with sending Microsoft Office documents around is that often the recent edits are sent with them, particularly if you've been using the track changes option. As a result, someone who goes looking may discover that your report justifying going to war was copied from a student paper...

To avert such disasters in future, Microsoft has released the Office 2003/XP Add-in: Remove Hidden Data to let you clean your documents before you release them to the world.

Posted by Adrian at 10:56 AM | Comments (0) | TrackBack

What Should You Use To Replace CVS?

Obviously, because I spent yesterday migrating my CVS repository over to the new server and getting my development environment set-up, O'Reilly proclaim that "the interesting question is no longer 'Should you think about replacing CVS?' but rather 'What should you use to replace CVS?'"

They've put together a review of some of the alternatives but I think I can survive with CVS for now. It's not as if I need atomic commits, etc. when there's just me doing any development.

Posted by Adrian at 10:38 AM | Comments (0) | TrackBack

January 20, 2004

Linking To Almost Anywhere In An HTML Page

For a while now, I've been pondering how to link to any part of any page on the web. Basically extending the URL syntax so that you can quote just a sentence of another page, or point people at a story which starts three-quarters of the way down a page.

Whilst it doesn't achieve this goal, this article explains how it's possible to link to "id" elements in the same way as "name" elements in <a>nchor tags.

I wasn't aware of that, and it expands the number of points at which you can link into any existing page. Not quite the universal linking and quoting that I'm after, but if you combine it with something like this service to add ids to an existing page then you can get close, in a kind-of roundabout fashion.

Posted by Adrian at 03:11 PM | Comments (1) | TrackBack

December 04, 2003

Intel's Investigations In Location-Aware Computing

This article about location-aware computing suffers from the usual "you've entered your entire life into your calendar" problem, and surely a short range network such as Bluetooth would be a better solution to "Enabling the ability to easily share papers and presentations with everyone else in a room, without having to email it or set up a folder on a common server".

However, it links to some interesting research from Intel where they are trying to unify different location systems (e.g. GPS for wide-area location info, and triangulating WiFi access points for which-room-am-I-in info). I wonder if the databases of WiFi base-stations that are being created so people can find WiFi can be used in reverse for people who have WiFi to find out where they are?

Posted by Adrian at 04:01 PM | Comments (0) | TrackBack

November 24, 2003

Jon Udell Investigates Bayesian Categorizers

Jon does his usual thorough job of describing his experiments with categorizing his blog posts, including pointers to the tools he used.

He finds that it doesn't do a perfect job of finding the right category for some of the posts, but there's often a quite plausible reason for the incorrect choice. I think this "fuzzy" categorization is a benefit, but I'm looking to solve a slightly different problem.

All the posts I make to this blog are categorized. I manually choose a category when I write the entry, and it's not too onerous a task (i.e. it's something that I don't mind doing, so it's easily captured metadata). Sometimes things don't fit simply into one category, and although I can assign things to more than one category, that's harder and I've never done it.

Another problem is the number of posts in any one category. Already the "Computers" category has sixty-six entries; too many to browse through for an item. Subdividing a category when it becomes too big would be the best solution, but presents the problem of re-categorizing all the existing posts.

What I'd like is for Movable Type to notice when I cross some entry-count threshold (say, when there are more than twenty posts) in a category, and suggest that I subdivide that category. Then, I just use the new more specific categories for new posts and leave the old posts as is. The categories would then build up over time into a hierarchy of categories, and the top-level ones would be listed where my category list is now - selecting one of the categories would give you a Yahoo! style hierarchy to navigate for the postings.

This is where, I think, Bayesian filtering comes in. The "category browser" uses filtering to show the posts for any particular category, and ignores the category that I choose. My choice of category is used to train the filter on what I think should go into a category, but the filter chooses which posts are valid for the category when someone is browsing through them, and if a post scores well for more than one category, then that's fine, it can live in both categories. The only exception to the multi-categorization is that posts should only live in the most specific category in the hierarchy (e.g. something scores well for "Computers" and "Computers/MobileUI" will only appear in "Computers/MobileUI"). This means that all the old posts get recategorized automatically, and cross-category posts just appear more than once.

Yet more things to play with in my non-existent free time...

Posted by Adrian at 01:21 PM | Comments (0) | TrackBack

November 20, 2003

Old Habits Die Hard

Roland Piquepaille reviews two "new bizarre keyboards" which would be of use for mobile applications. One is a flexible, waterproof, qwerty design, and the other a 15-or-so key new layout.

The flexible keyboard is a useful evolution of the standard qwerty keyboard, big enough to type on, but more easily carried due to its flexibility. However, it's still quite big, because it has to fit in 64 keys, and it looks like you'd need a hard surface to lay it on to type properly.

The Frogpad keyboard, in contrast, has more to interest someone like me, who is keen on better and smaller input methods, so I can have a tiny smartphone. Unfortunately, I think it's likely to fail, as are most of the truly revolutionary ideas for text entry.

The bigger problem with new and different keyboard solutions isn't the technical challenge of finding a better method, it's persuading people to adopt it. The qwerty layout is still used for PCs, despite being first designed to slow down typists, but it's familiar, and has good enough usability - for most usage, you press one key, and get what's printed on the keyface. Despite the number of keys used, qwerty is still finding favour with mobile devices skewed towards text entry, small keyboards seem to be winning out in favour of methods such as the grafitti hand-writing recognition. The only real competitor is the 0-9,*,# layout provided by mobile phones, and that's only gained traction because it's a well established way to enter numbers - so it's perfect when you expect to enter lots of phone numbers, and only after you'd bought your mobile phone did you find yourself entering more text than numbers (text messages, looking up names in the phonebook, etc.).

There is some experimentation going on with mobile phones, the Nokia 3650 and the Siemens SX1, although Nokia have reverted to the traditional layout with the 3650's successor, the 3660. Still, I don't think the 3650 was a disaster sales-wise, so there's still hope...

Posted by Adrian at 12:32 PM | Comments (0) | TrackBack

November 03, 2003

The Ladybird Book Of Weblogging

Diego Doval has put together two great introductory articles about weblogging. They're kinda the wrong way round, becuase I think people generally start reading weblogs before they start their own, and the article about syndication discusses the best way to consume blogs, but I suppose setting the scene of what weblogs are is quite important, and that's covered in part one, an introduction to weblogs.

Posted by Adrian at 01:26 PM | Comments (0) | TrackBack

October 30, 2003

Post-mortems on the living

This Gamasutra article lists a load of problems with project post-mortems, and proposes Critical Stage Analysis as an alternative. It's a bit heavy on the problems with post-mortems, and I'm not sure I agree with all of them. In non-games development it's more common for largely the same team to work on the next revision of a similar product, giving more chance for lessons to be learnt rather than forgotten, and lack of ownership of the problems is just as likely if critical stage analysis isn't implemented properly.

However, I agree that critical stage analysis is an improvement over post-mortems; it's basically mini-post-mortems at each milestone, which means there's an opportunity to improve things during a project, rather than just after it, and problems early on in a project are more likely to be remembered as they're still fresh in the mind. The idea of rating the importance of each issue is a good one too.

Posted by Adrian at 12:03 PM | Comments (0) | TrackBack

October 14, 2003

Emergent Design Considered Harmful

At lunch today I used the term "just-in-time design", but I meant the same as Emergent Design. The ensuing discussion quickly highlighted that, despite my initial assertion, I don't actually favour just-in-time design. My preferred solution is a mixture - up-front design for the overall framework for the system, and just-in-time design for the internals of the components defined in the framework. I think defining the API to a module is a good first task for the implementation; it makes you think through how the module will work, sort out the error handling... all useful things to have considered before you start spewing out code.

The Folly of Emergent Design puts forward some good arguments for what's wrong with the agile, lightweight, emergent design methodology. The redundant code argument is less of an issue in the embedded/mobile world, because when you have to worry about downloading your software over a GPRS network, onto a "disk" that's only a couple of megabytes, there is value in refactoring just to save space. Then again, performance and size are more critical, and it's better to consider that in an up-front design...

(Via Archipelago).

Posted by Adrian at 08:31 PM | Comments (0) | TrackBack

October 11, 2003

Unicode Primer

In The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!), Joel does his usual excellent treatment to the problems of character encodings. A good introduction to why UTF-8 isn't the same as ASCII, and why UCS-2 and UTF-8 are worth worrying about.

Posted by Adrian at 01:10 PM | Comments (0) | TrackBack

October 04, 2003

Mark Hurst on Usability Research

Good Experience - Four Words to Improve User Research explains how Mark Hurst goes about usability studies.

Posted by Adrian at 05:57 PM | Comments (0) | TrackBack

September 30, 2003

Name Your Milestones

In this interview with the guys behind Hydra they explain how naming their milestones helped motivate them:

"As the project matured, submitting to the Apple Design Awards became an important goal, providing us with a fixed deadline for release. On our way to that deadline we did some sort of micro-milestoning. Every week we set up a set of action items for a specific milestone that was reviewed in an end-of-the-week meeting that also set the objectives for the next week. Internal milestones were named after cities on the way from Munich, where we are based, to Cupertino. This turned out to be a very productive and motivating process."

Nice idea. Hydra looks like a cool app, I've been thinking about collaborative editors for a while now. Pity I don't have a Mac...

Posted by Adrian at 11:59 AM | Comments (0) | TrackBack

September 25, 2003

Motivate the highest performers

From Joel On Software comes a link to this fascinating article about managing software engineers.

The main theorem is that good software engineers are many times more productive than even average engineers, and so the best approach is to motivate your good engineers and try to convert the average engineers into good engineers. Sounds like common sense in that previous sentence, but the natural tendency is to focus on the poorer performing engineers and "ignore" the better performers because they "aren't a problem".

Update:
Now that I've finished reading the article... I'm undecided as to how much I agree with the philosophy. A lot of it is geared towards getting engineers to work really long hours (or seems to be at least).

A long hour culture doesn't have to be oppressive - at STNC there was a good social atmosphere amongst the staff, so the long hours thing was (mostly ;-) fun. But then, we were generally young, and didn't know many people outside of the office, so we tended to hang out together regardless of whether we were in the office or out of it, so longer hours didn't mean neglecting other interests. I don't think that would work now that most of my friends aren't from in the office, especially in the summer when I'm playing sport at 6pm most evenings.

That said, I do feel that we achieved more at STNC than where I am now, but that could easily be through a lack of technical leadership, and/or my lack of commitment and ownership because I've not been here since it was half-a-dozen people.

Posted by Adrian at 10:35 AM | Comments (0) | TrackBack

September 17, 2003

Electrosmog

In my trawling back through the most interesting musings on the latest addition to my blogroll - anti-mega I find a new term - electrosmog.

Electrosmog is the mixture of data waves circulating in the air, so may include WiFi, GSM/GPRS, DECT, etc., etc. Such a cool phrase I couldn't help but blog it, so apologies to Chris for this trackback to a posting of his a year ago :-)

Posted by Adrian at 05:42 PM | Comments (0) | TrackBack

September 16, 2003

Why we plan

To put a stake in the ground. Pick a date, it might be defined by your customer, or as a useful date by the industry (you want to get it out to the public in time for Christmas), or just to set a point to aim at.

If you don't have a target, how will you know when you've achieved it? And it's a very good way of motivating you to get things done - "I've realised we haven't got much time to fit all this stuff in".

So then you take your first guess ('cos estimates aren't really very accurate when it comes to software, IME) and map things out roughly. You should split the project into a number of milestones, putting the most important things into the earlier milestones, and resisting the "we'll do that first 'cos it's easy" trap. If it's important and easy, then cool, but it's the important bit that's important :-)

The plan for the first milestone should be the most well defined, purely because that's what you're going to do first, so you best know how you're going to approach it. You'll re-plan towards the end of each milestone (and you may have to replan during a milestone) anyway, so you'll refine what the future milestones' plans look like then.

Then you track the plan. This is pretty much the only reason that you've done any planning!

Identifying where you're going wrong is a useful side-effect of the tracking, but the aim isn't to use the plan to beat developers up for not achieving what they said they'd achieve at the start. Let them use it to learn how to make better guesses, and I suppose you can use it as back-up evidence if someone isn't pulling their weight, but failure to meet some plucked-out-of-the-air figure isn't a true test of whether someone is pulling their weight.

The reason you track the plan is so you can notice as early as possible that you aren't going to make the end date (in theory it's possible that you'll notice you're going to finish early, but I think we usually try to fit too much in, rather than the other way round). You want to notice this so that you can take some action to keep the project on track. Now, this action will depend on what you're aims are.

If the functionality is set in stone, then your action will be to come up with better guesses for when you'll be finished, and communicate them to the interested parties.

It might also be possible that you can get some extra manpower to help address the slip. However, the tasks that you farm out to fresh blood need to be pretty self-contained, and you have to be able to parallelize them with what else is going on, and there needs to be time to get the new person up to speed with the project. All of which is harder than it would first appear, but that just means that it's even more important to realise you have to do it as soon as possible.

Usually, the end date is the important thing, so you need to work with the interested parties to decide which bits of functionality you're going to cut. This is why you loaded the important things to the start of the project - to keep to the milestone date you might push some of the work from this milestone into the next one, and that will cascade through to push something out of the project completely. This means that some less important stuff gets dropped from the final deliverable, but this is a good thing. The initial requirements will have included a bunch of things that weren't really requirements, they were just nice to haves, and being date-driven is a good way to flush some of that stuff out.

We plan so we can ship. Useful software, sooner.

Posted by Adrian at 03:34 PM | Comments (0) | TrackBack

September 08, 2003

An interesting report on SenSay,

An interesting report on SenSay, a 'Context-Aware' Cell Phone. Researchers have added a couple of microphones, a light sensor, and an accelerometer to a phone so that it can make some guesses about the user's current activity and amend its behaviour accordingly.

So, for example, the light sensor might detect whether it was in your pocket or not, and vibrate if it was or ring if it wasn't. Or the microphone might work out if you're in a conversation, and query the caller as to whether to interrupt you or not.

Actually, poking round the project website, I realised I'd found this when investigating this sort of thing last year, but wasn't blogging then. Now maybe I'll be able to find it in the future :-)

Posted by Adrian at 01:12 PM | Comments (0) | TrackBack

August 29, 2003

Thoughts on UI improvements for navigating grids

Just wondering about UI screens on mobile devices which show a grid of options (or even a list, as that's just a special case of a grid :-). Something like the App Menu on a Nokia 7650. There's a grid of icons for the apps, and you start in the top left corner. Moving the cursor around navigates through the icons, and when you get to the bottom of the screen it scrolls the all the other icons up one position in order to show you the next row of icons.

There are two problems with this, I think.


  1. The focus starts at the top left, meaning that up and left don't have any effect when you first get into the menu. If focus was placed in the middle, then there'd be two more options which were only one move away, reducing the number of "operations" to get to them.

  2. There's less visibility of what's coming next as you scroll to items which are initially off-screen. If focus was initially in the middle of the screen, then you could scroll the icons underneath the focus (rather than scrolling the focus over the icons) and only move the focus icon away from centre when you get to the edges of the entire icon grid. Then you'd get maximum visibility of the next options available as you'd always be able to see where the next move would take you. And you wouldn't have to have little UI "hints", such as tiny arrows somewhere, to indicate that there are more elements off screen because that would become clear to the user as they scrolled around.

I think the main problem with such a scheme would be how easy it is for users to pick up. I think it's fairly intuitive (I remember using it in a plan-view driving game I was playing with many years ago) but it's pretty much the opposite of what systems do now, and so would be fighting the "norm".

Posted by Adrian at 11:38 AM | Comments (0) | TrackBack

August 23, 2003

Automating the build process

Somehow, I still manage to be surprised when I discover that not everyone else has learnt how to ship software as well as we did at STNC and Microsoft WTGE.

This article on Gamasutra (registration required) promoting Automating the Build Process is a prime example - "The final builds were of a higher quality than manually made builds." Final builds!?!? Something you're going to ship to a customer needs to be completely reproducible in case you have to fix any bugs in it, and producing it manually is just asking for trouble..

A good introduction to why you should automate the build, and some of the things you should include in the automated process.

Posted by Adrian at 12:25 PM | Comments (1) | TrackBack

J2ME Development Resources

Russ posts some useful links on J2ME development, and through that I found www.midlet-review.com (although unfortunately the menus don't work too well in Mozilla). And of course, there's www.midlet.org.

Posted by Adrian at 11:52 AM | Comments (0) | TrackBack

August 18, 2003

Mobile Devices: One Generation From Useful?

Jakob Nielsen likes his T-Mobile Sidekick, although he thinks that it's [o]ne Generation From Useful.

He argues that we need better filtering of email, so we don't get "bogged down by a flood of non-urgent messages". I'm not convinced that's a flyer - filtering out spam is an obvious win, but it's hard to decide what is and isn't important. And my definition of important will change from situation to situation. Any email app must allow me to still get all my email, but maybe if it was sorted by priority then date that would improve matters.

"To succeed, mobile devices must feel like an extension of your main machine: they must provide what's required, but no more, and add the ability to reach home and grab anything you need but didn't bring." I guess that explains why he wants to filter his email - he still views his desktop PC as his "main" machine. I agree that it would be great if we got mobile devices to that point, but I believe that we shouldn't limit what the mobile devices can do. The aim should really be to get to a point where I can do what I want on any machine, it just might be a bit easier on one with a full keyboard and big monitor.

Posted by Adrian at 05:17 PM | Comments (0) | TrackBack

August 12, 2003

Instructions on setting up a Nokia 3650 as a GPRS modem

Using the Nokia 3650 as a GPRS modem - thanks Russ :-)

Posted by Adrian at 04:23 PM | Comments (1) | TrackBack

August 04, 2003

Which way is the happy path?

In this week's BYTE Newsletter, the article The Software Development Dilemma (subscription required) introduces the term "happy path".

"[T]he "happy path," a default scenario with no exceptional conditions. (The "happy path" concept originated with Richard Harrah, an HP software developer...)"

I like it. There are lots of times that I refer to the happy path when talking about how much testing some code has had, and now I have a phrase for it.

Posted by Adrian at 10:55 PM | Comments (1) | TrackBack

July 31, 2003

The virtual keyboard

Canesta have a keyboard for mobile devices which uses optical scanning to track the users fingers typing on a flat surface - so you don't actually need to carry a keyboard with you, it projects a picture of a keyboard onto the surface you type on. You don't get much feedback as to whether a key is pressed or not, but you do get to type on a full size keyboard.

Not sure that I have a suitable flat surface nearby a lot of the times that I'm entering text into my mobile, but it'd be a handy extra text-entry method for when I wanted to enter a lot of text and would therefore go to the trouble of finding a flat surface.

On the website is also a good list of links to usability info for small devices.

Posted by Adrian at 04:17 PM | Comments (0) | TrackBack

July 30, 2003

Vodafone Live users get directions

Vodafone Live has just announced a tie-in with the MapWay direction system from M-Spatial (who happen to be based just round the corner).

This is one of the most obvious location-based mobile services, and I'm a little surprised that no-one has rolled anything out before now. From the demo on their website, it looks like a pretty decent service, and as user-friendly as a WAP-based service can be ;-)

Looks like you can either enter your location, or choose "from here" as the starting point (not clear how it works out where you are, but definitely a useful, user-friendly feature :-) and then enter where you want to go to, and then it shows you a sequence of maps to guide you to your destination. And they claim it's aware of train/tube stations too (what about bus routes?).

I don't know how often I'd use the service, mainly because I know my way round Cambridge pretty well, but this would've been a godsend when I was trying to find the Thai restaurant for a date I had in central London last Christmas time. Presumably they could extend it to offer nearby restaurants or pubs, so you could get directions for somewhere to eat without having to know anything about the area you were in.

I hope there's a companion website that lets you edit your "My Places" list. Then, in the Thai restaurant example, I could enter that using a full-size keyboard, on a PC where I can search on www.yell.co.uk for the address... as it would be soooo much easier, and then just pick it from a list if (/when) I get lost en route.

Posted by Adrian at 03:53 PM | Comments (0) | TrackBack

July 28, 2003

Steve Pavlina on project post-mortems

Conducting a Project Postmortem by Steve Pavlina is a bit more lone-programmer focussed than most other discussions of post-mortems that I've seen. As a result there isn't much discussion about group meetings and facilitators, but it does include useful ideas on the content of a post-mortem, and there are links to an example post-mortem and a post-mortem questionnaire.

Posted by Adrian at 12:38 PM | Comments (0) | TrackBack

July 26, 2003

An ABCDE... keyboard for mobile devices

UniTap - technology for the most compact alphanumeric keypad for mobile devices - yet another take on how to get decent input into small devices.

Tries to take advantage of the fact that fingers are too big to hit small keys by requiring you to hit the buttons which are all round the target area (and the target area itself isn't a button). There's no real reason why you couldn't do this with a touchscreen, surely, and then have it available for other display purposes too - unless you get better feedback that the "key" has been pressed from the buttons.

I don't agree with their blurb that it's intuitive - "No difference from operating with regular computer keyboard" - anyone who's used a Psion Workabout for more than a few seconds will tell you that an ABCDE... mapped keyboard is not intuitive to someone used to a QWERTY one, but I expect it'd only be as difficult to learn as a phone keypad is at first.

Posted by Adrian at 01:17 PM | Comments (0) | TrackBack

July 21, 2003

Aspect-Oriented Programming

Jon Udell introduces me to Aspect-Oriented Programming...

"By way of example, Lee imagines a development shop where the policy is that methods, in any class, must invoke a logger on entry and exit. AOPers call this kind of requirement a "crosscutting concern," meaning that it affects classes without regard to their kinship in the class hierarchy. You can make a rule that programmers have to call the logger from every class, but there's no easy way to ensure that they'll do it at all, nevermind correctly. The AOP solution is to define a pattern that matches the set of methods that should call the logger, and to rewrite the code automatically so they do. That's what happens under the covers, anyway, but the idea is that the person who'd like to enforce the policy simply declares it, and tools make it so"

Having recently done just that, by hand, whilst investigating a performance problem, the idea of a tool that does it for me is quite appealing :-) Still early days in terms of tools I think, but hopefully they'll come in time.

Update: Fixed link so it actually went to Jon's page. Not sure how I managed to delete that...

Posted by Adrian at 12:07 PM | Comments (0) | TrackBack

July 18, 2003

Useful social-networking tool, or way for geeks to

Trepia: your instant community provide an IM client that instead of your buddy list, shows people "near" you - on the same WiFi network, although I don't know how it works for non-WiFi users.

I'm not convinced that it's particularly useful, I mean, it'll let you message people who are nearby... hmm... can't I just walk up to them? Okay, I probably wouldn't, but does that just make it a tool for shy geeks to talk to other shy geeks?

Posted by Adrian at 04:44 PM | Comments (0) | TrackBack

July 15, 2003

Update on CodeStriker

Nick very nicely installed CodeStriker on our local network (integrated into our CVS repository) after I'd pinged him with a few test review items from the demo version.

The upshot is that we're not going to use it just at the minute. It looks promising, but doesn't offer enough value just yet (and I haven't got the time to spend helping out with it unfortunately).

  • I think it's a bit too chatty - you get an email for each comment generated and if you wanted to review an entire file, then that'd be a lot of email. I guess some per-user configuration (a la Bugzilla) or a way for the reviewer to say "review over, send email now", or something to digest the changes in a topic would be best.
  • There doesn't seem to be a way to specify the latest version of a file (on a branch) in CVS when creating a topic - so you have to go find out the revision number by hand
  • We could use it for reviewing fixes for bugs (all bug fixes have to be reviewed before they're committed to CVS), but the majority case is where the fix is fine, and approved with no changes, so it's a bit heavier process-wise than "fix suggested in branch *blah*", "Fix approved" comments in Bugzilla and would still require the branch plus the fixer would have to create a new CodeStriker topic.

I guess in order for it to be useful with our current process, creating the topic would just require the name of the branch with the suggested fix and the bug id, and it would then add the suggested fix comment to bugzilla (including the name of the branch and a link to the CodeStriker topic), reassign the bug in bugzilla to the reviewer, and then do the reassigning back to the fixer when the code review got to an "Approved" state. And even then it wouldn't add too much over what we already do.

What I really want is something that gives me Microsoft Word reviewing capabilities on source code, so that can be used for full code reviews...

Posted by Adrian at 03:48 PM | Comments (0) | TrackBack

Code Review resources

Possibly a little heavyweight compared to code reviews I've done, but the WWW FTR Archive looks like an interesting collection of information about code review. And the tools section has a link to CodeStriker, which helps with managing code review changes and integrates with CVS and Bugzilla so I might have to have a play with it.

Posted by Adrian at 11:05 AM | Comments (0) | TrackBack

July 08, 2003

A vision of the mobile future

Ray Ozzie has a vision - Extreme Mobility. It's a future where software is written with networking and mobility at its core, rather than tacked on afterwards.

And by networking he doesn't just mean it expects permanently connected multi-megabit ethernet, he's proposing that the software can cope with the full spectrum of connectivity - GSM dialup through gigabit ethernet, rarely connected through permanently connected - and that it cope with moving around that spectrum seamlessly.

This is a very similar vision to the one Ran Mokady has been espousing for years, although he has more of a mobile (i.e. PDA/phone) focus. It'll be interesting to see whether he achieves it with the "frequently connected(tm)" architecture at Pogo.

Posted by Adrian at 03:55 PM | Comments (0) | TrackBack

July 07, 2003

Haptic, obviously the latest mobile buzzword

Just after news of the MyOrigo with it's haptic display, the International Herald Tribune thinks Cellphones of the future may be tactile wonderlands.

Basically, haptics is the process of providing feedback using the vibrator in the phone (when I first heard about the MyOrigo having a "haptic display" I thought it meant it had some sort of "squidgy" layer over the top which helped provide feedback) similar to the force feedback joysticks available.

The IHT article is about the technology provided by Immersion, who reckon their technology could augment ringtones (by providing downloadable "ringvibes?"), improve chat (you could send a high-five vibration cue, or a belly-laugh vibration cue) and improve UI feedback and mobile games.

I guess the "ringvibes" (do you think if I use the term often enough it'll become the name for them? ;-) would be as likely as ringtones are, and I think the UI enhancement possibilities are really interesting. Not sure about the chat enhancement though, I think it'd need a decent UI to allow people to choose them easily, although I guess it could auto insert them like MS Messenger does with emoticons - that might be cool...

Posted by Adrian at 01:24 PM | Comments (0) | TrackBack

July 03, 2003

MyOrigo reviewed

The Register has a more in-depth review of the new MyOrigo device, including screenshots and description of the UI. They seem quite won over with the new way of doing things (but they were quite taken with the Pogo device too, maybe it's a little guy thing). Still, definitely looking forward to having a play once they release them.

Posted by Adrian at 04:36 PM | Comments (0) | TrackBack

July 02, 2003

What's With Wikis?

Seeing as my last post mentioned Wikis, I thought it me be best to explain the term to the non-geeks (it's true, I do have friends who aren't geeks, although one could argue that they wouldn't have read the previous post and so wouldn't need to know what a Wiki is... ;-)

Anyway, for those who are still getting to grips with the term blog, I bring you the Wiki. Taken from the Hawaiian "wiki wiki", which means quick. It's a way to make a website that can easily be edited by anyone (for some value of easily :-) It's much easier to edit than a traditional website, but you still have to learn yet-another markup language and set of rules, so it isn't quite at the level of using Word, for example.

TWiki is the only one I've used, and WhatIsWiki is another explanation of what these things are.

Posted by Adrian at 01:06 PM | Comments (0) | TrackBack

You can't separate out the technology in social software

In his latest newsletter, Clay Shirky has posted the full version of the essay that I blogged about in "Social structure of groups" - Shirky: A Group Is Its Own Worst Enemy

It's an interesting discourse on social software, touching on some of the non-computer research into groups, and the evolution of computer social groups, and even a few suggestions about how we're getting towards a world where you can assume people have Internet access in real time.

So you can now run a chat session and/or a wiki in parallel with a conference call to augment the meeting - the chat can be used for marshalling who gets to talk, or disseminating written information (look at URL *blah*, or my email address is *suchandsuch*) that's easier to write and read than it is to speak and hear, and the wiki allows development of a record of what was discussed.

And although it was mentioned a few times, there wasn't an actual link to LambdaMOO Takes a New Direction.

Posted by Adrian at 12:46 PM | Comments (0) | TrackBack

June 30, 2003

The third law of project management

The wrong decision is better than no decision.

Posted by Adrian at 01:16 PM | Comments (0) | TrackBack

June 26, 2003

The Second Law of Project Management

Quality isn't a variable.

I know that this is really a corollary to the first law, but I think it's important enough to put out on its own. It looks like it should be a variable, and that you can add features whilst maintaining the end date by reducing quality. But you can't (well, okay, you could, but this is so much of a "shouldn't" that it's easier to view it as a "can't" :-)

Quality is a constant. And it's value is "good enough" - any less and you're shipping bad software, any more and you're wasting time that would be better spent working on the next "good enough" product.

Posted by Adrian at 02:33 PM | Comments (0) | TrackBack

The First Law of Project Management

Features + Quality = End date

Once you work this out, everything else becomes clearer. If you vary one, it affects the others. So if you want to add a new feature, you should expect the end date to slip, and if you don't want the end date to slip, then you need to reduce the features.

[There is probably a more complicated one which involves headcount, but that makes things much more complicated and doesn't work how you'd expect it to - i.e. it isn't (Features + Quality) / Headcount = End date]

Posted by Adrian at 02:21 PM | Comments (0) | TrackBack

June 23, 2003

Glossary of structured content and metadata

Ease: The structure of content and metadata gives a brief description of an array of different ways to describe the structure of data.

(via dive into mark)

Posted by Adrian at 03:33 PM | Comments (0) | TrackBack

June 22, 2003

How non-programmers use documentation

Discussion from the Mozilla developer community on How non-programmers use documentation.

Posted by Adrian at 04:10 PM | Comments (0) | TrackBack

The future of the Intenet

Just discovered Tim O'Reilly's weblog, and from that his O'Reilly Network: Tim O'Reilly's WWDC Keynote Manuscript which has an interesting discussion of disruptive technologies and coming cool tech (plus why WiFi should really be called NoCat :-) and at the end theorizes about "the Internet OS", and how it should be built. A promising vision for the optimist, small-time entrepreneurs amongst us. I was going to quote some of it, but the entire section "Lessons from the Past" is too big methinks.

Posted by Adrian at 03:34 PM | Comments (0) | TrackBack

Tim Bray on text search

Tim Bray has started a series of articles about text search, and how it works. Cool. Always been curious about the algorithms behind searching.

And now he's created a Table of Contents himself, which means I don't really have to maintain the list myself...

On Search:


  1. ongoing On Search: Backgrounder

  2. ongoing On Search: The Users

  3. ongoing On Search: Basic Basics

  4. ongoing On Search: Precision and Recall

  5. ongoing On Search: Intelligence

  6. ongoing On Search: Squirmy Words

  7. ongoing On Search: UI Archeology

  8. ongoing On Search: Stopwords

  9. ongoing On Search: Metadata

  10. ongoing On Search: I18n

  11. ongoing On Search: Result Ranking

  12. ongoing On Search: Interfaces

  13. ongoing On Search: XML

  14. ongoing On Search: Robots

  15. ongoing Turn On Search

And related to this, the BBC report surfers impatient with search engines, and give some stats from some recent research which backup Tim's "people only look at one page of results" observations.

Plus, Tim also points us to John Battelle's searchblog.

Posted by Adrian at 01:03 PM | Comments (0) | TrackBack

June 19, 2003

The mobile UI for mobile phones

MyOrigo Ltd. are the latest people to try to redefine the mobile phone user-interface. They've got a motion-sensitive UI, so if you rotate the phone 90 degrees it switches from landscape to portrait, and you scroll round by tilting the phone.

None of these seem to be new ideas (for example, the scrolling seems very similar to the "Rock'n'Scroll" UI investigated by the Itsy project), and I'm intrigued to see how the rotating copes with people trying to view the screen whilst lying down, etc. Still, they claim interest from Telefonica, and their touch&feel screen sounds as if it overcomes one of the main problems with touchscreens (lack of feedback when pressed), so I hope they get a real device out (even if it's just so I can play with one and see if it works :-)

Posted by Adrian at 04:29 PM | Comments (0) | TrackBack

June 18, 2003

Are your URLs whiter-than-white?

I still haven't picked the URL-related low-hanging fruit, but Cleaning Your URLs from this week's Byte (subscription required) presents even more ideas about what to do with your URLs. I particularly like the suggestion to extend your 404 errors using mod_speling to cope with users typos in URLs. Neat.

Posted by Adrian at 01:51 PM | Comments (0) | TrackBack

June 14, 2003

The morning after (the project)

Anatomy of a Retrospective discusses a project retrospective, basically a more extensive post-mortem. It explains the exercises taken, and how that led the project team through the process, to learn how to do things better next time.

Posted by Adrian at 08:02 PM | Comments (0) | TrackBack

June 08, 2003

Alternative problem solving

I don't know why, but Internet Explorer seems to choose whether or not to display the status bar depending on the weather. I finally decided I should do something about it, as it bugs me when it isn't there, and I got as far as Google's homepage (about to search for info on making it stay visible), when I suddenly realised there was a different way of solving the problem.

So I've just downloaded and installed Mozilla Firebird 0.6 seeing as it's been getting a lot of press recently about how quick and cool it is. Guess it shows how dominant IE has become when a former Netscape devotee doesn't use any excuse to switch browsers :-)

If there aren't any more posts about this in the next few weeks it must mean Firebird is good, and I haven't had to revert. We'll see.

Posted by Adrian at 05:15 PM | Comments (0) | TrackBack

June 07, 2003

It's not what you know, nor who you know, but how many you know

A very interesting, if a little long, look at the theory of "six degrees of separation", with references to lots of interesting research.

It seems that, when finding a job at least, it's quantity of links, rather than quality, that's the important thing, so Gladwell suggests that the real difference between poor and middle-class kids isn't the money they have access to, but the social networks.

"I hadn't seen him since I was seven. We had zero in common. It was wonderful." I like that, celebration of how people evolve when they lose touch, and not worrying about trying to be friends with everyone you've ever been friends with.

I wonder whether the study on why people become friends would find different results if re-ran today - does our increased ease in communication, and travel alter how our friendships are formed and maintained?

Posted by Adrian at 08:38 PM | Comments (0) | TrackBack

It's blog-date...

My first weekend to myself for a month, so I'm getting some work done... of a sort. I've finished my web server log analysis script to see who's been looking at my blog, and who referred them to me (473 different computers accessed my blog during May).

Poking through the stats led me to BlogMatcher, which lets you find blogs that are "like yours". From the FAQ, "The basic premise of BlogMatcher is that two blogs that link to the same sites share some sort of topical commonality. If you link to an article in your blog, then the chances are, you'll be interested in reading other people's opinions about the same article."

Now, I'm not sure I totally agree with that, maybe because I'd like to think that I don't surround myself with "blog yes-men", or maybe I don't think my blog is extensive enough to give useful results, or I don't link enough. Still, it's quite a useful tool for finding new blogs to poke around looking for stuff.

Posted by Adrian at 08:37 PM | Comments (0) | TrackBack

June 04, 2003

Semantic web low-hanging fruit

Finally got round to reading Jon Udell's recent posting of his slides from OSCOM.

Really good discussion of why document titles and URLs should be thought about, and how they're used in search engines, and suchlike.

I particularly like this suggestion of how threading of discussions could be done.

Then he goes back to an old, old concept, the universal canvas - something I remember reading when Jon first wrote about it, and hoping we were getting to the point where the web was read/write rather than read-only. Weblogs are making it easier to write to the web, but I'm still having to add a lot of angled brackets whilst writing this :-( Not exactly as easy as using a word processor, but maybe that's because we've got "View -> Source". All the purist techies look at the HTML generated by things such as Microsoft Word, and go *yuk*, but it's difficult to produce perfect output by machine (I think, I haven't done any exhaustive investigation into this :-) The annoying thing is that it shouldn't really matter if the output isn't perfect, if it's good enough(tm). I know plenty of people who've bitched that the MS Word document format is bloated, but because it's gobbledigook they never spend time working out where it could be better, and just use it (and so millions of other, non-techies who couldn't care less about the hows and whys and wherefores, can also use it do achieve their ends).

Maybe I should add "the read/write web browser" to my growing list of "projects I'd like to build"... although I will check that my document titles and URLs are useful (finally we reach the low-hanging fruit of the title :-)

Posted by Adrian at 03:16 PM | Comments (0) | TrackBack

May 30, 2003

Only give up as much privacy as is necessary

Jon Udell posts some interesting information about data privacy in his article on translucent databases. The idea is that the database even hides data from itself, so, for example, As a thought experiment, he's investigating to what degree an e-commerce system like Amazon could work translucently. Some aspects of this are seemingly straightforward. By keying your purchase history to the hash of your name and a password known only to you, for example, Amazon could in theory deliver all the personalization you expect, and do all the aggregate analysis it needs to do, without tying your name to purchase records. Why do we personalize data more than is necessary?

Still, Amazon obviously has to store your name somewhere, plus your credit card number and street address, in order to do the e-commerce dance, right? Well, actually, no, it does not need to store those data, it needs your permission to use them -- and a means to access them.

And following some of the links on that page, I found this quote about "minimal disclosure certificates" - A woman who wanted to gain access to a web site for a cancer survivors group might use minimal disclosure certificates to prove to the web site that she was a woman over 21 who had breast cancer without revealing her name or address. Minimal disclosure certificates were invented by the mathematician Stefan Brands and exclusively licensed in February 2000 to the Canadian corporation Zero Knowledge Systems.

Nice ideas.

Posted by Adrian at 11:08 AM | Comments (0) | TrackBack

May 28, 2003

The future of mobile text entry?

Silicon.com today had an article about tx4u - which is being touted as the next generation of predictive text by its creators AirTx. It predicts words, rather than just characters, and allegedly learns your vocabulary and common word patterns.

Sounds cool if it works, it's fairly obvious (I think) that predictive text would be improved if it took some of the surrounding context into account when choosing the most likely word, and if this goes a step further than that, then all the better.

Unfortunately, the demo available on the AirTx website doesn't really convince me, as it doesn't show the learning process and asks me to just assume that it can guess exactly what it says I want to type... at which point it works perfectly! I guess they're marketing it at device manufacturers rather than consumers, but it's a shame there isn't a version I can download onto my 7650 or somesuch.

Update: Okay, just noticed there are advanced demos that make it all a bit more believable, but I'd still like to play with it myself (or is it that I'd like to have it to use :-)

Posted by Adrian at 03:02 PM | Comments (0) | TrackBack

May 27, 2003

Social structure of groups

Interesting article from Clay Shirky on Social Structure In Social Software which gives some background research into how groups function (or don't function). It also mentions Robert's Rules Of Order, which seem to be a set of rules for conducting meetings (very familiar to anyone who's been to any commitee meeting I think) according to this introduction.

(via d2r)

Posted by Adrian at 06:47 PM | Comments (0) | TrackBack

May 26, 2003

Who's reading who?

Tim Bray wonders about ways of Counting Subscribers to RSS feeds. He's speculating about a more formal method than I've been looking at (seeing as, presently, my interest is purely curiousity).

In theory, IPv6 would solve some of the problems, as your IP address wouldn't need to be NATed, and would move around with you, but that'd still make me look like two different people when I used my home computer and the one at work. The main problem I have with his suggestion of a hash of the readers email address is in explaining all that to non-techie users, as otherwise, particularly with all the spam we get these days, people will be reluctant to type their email address into something for fear of it being harvested for spam. But maybe we could use something else, like the persons name, as that'd be unique enough...

Posted by Adrian at 11:56 AM | Comments (0) | TrackBack

May 24, 2003

Cognitive devices

The Feature this week has an article about Cognitve Radio, by which it means wireless devices that can intelligently make decisions based on their context.

Why is it that when people talk about personalised devices in the future, they always decide that they'll be like pets, or that they'll have personalities? That implies that you'll have to be careful when you first buy the device, to make sure you get one with a personality you like... I think the devices will just be highly personalised, but you will be able to change the ways in which they're personalised whenever you like, and the device will suggest changing its settings to better suit you, but that's just good user-interface - no-one claims that Windows XP has a personality, but it offers similar (if much more basic) suggestions like "you haven't used these desktop icons ever, do you want me to get rid of them".

And isn't it about time America got RDS? I'm afraid that to us Europeans (Brits at least), being able to listen to a CD and then get interrupted by traffic reports in our car just isn't a big deal!

Anyway, some good ideas for ways that my personal devices should work, but I'm not convinced we have to wait 10-15 years and for speech recognition before we can start implementing some of them.

Posted by Adrian at 10:05 AM | Comments (0) | TrackBack

May 20, 2003

What value FOAF networks?

Just wondering how useful it is to invest in setting up my FOAF info. The problem is that my personal networks (friends, colleagues, etc.) aren't static, so what benefit is there in my keeping it up to date, and when do I decide to change it?

Jo, who started me off on this voyage of discovery in the first place, is a good example. Her goal is to map how everyone links to Malcolm, which is quite an interesting exercise, but is essentially a historical endeavour - I've probably communicated (IMed, emailed, spoken, met, whatever) with her as much as I have with Malcolm recently, so I think she should be directly linked from my FOAF info, but in her map of the world, she'd have to be linked through Malcolm.

So whilst it's interesting to map a snapshot of a social network, I don't see any real value in it. Maybe I should work out what uses I'd have for a FOAF network map.

  • Contacting people I've met, but who's contact details I don't have. It would've saved a few extra emails recently when sending out invites to my party, as I wouldn't have had to bother my friends to invite their friends for me, or guessed email addresses from mass mailing from our mutual friends. But it's not exactly a major hassle, and I think I'd rather be "hassled" if I were the mutual friend, as then I'd get the satisfaction of finding out my friends had gotten on so well
  • Explaining how I knew people. It would've saved effort the day after the party, when I was concentrating on being hungover, and there was discussion about who'd been at the party, and how I knew them all. I could've just point everyone at my FOAF network and gone back to bed ;-) Although that would've only worked if my FOAF network was either the historical, initial connections version like Jo's, or if it included that information in the current version
  • As a fancier contacts database? I guess I could just keep it for personal use as a contacts database, with extra info about my links to people. Actually, thinking about this, it might be one of the few really useful uses for it. If, instead of a normal contacts database, everyone has their contact info in a "well known place", then my contacts database will just be a list of bookmarks to the individuals' contact details, then they don't have to tell me their new email address, I'll just automagically get the new one when they update their info.

It would appear that I'm unconvinced about them so far :-)

Posted by Adrian at 11:51 PM | Comments (0) | TrackBack

More Karasses, less granfalloons

There's been a lot of talk recently (at least on the blogs I consume) about social software. Emerging Technology: Who Loves Ya, Baby? describes some software that extracts the sort of information that the FOAF networks contain, but automatically, from your email repository.

It also gives some background info about how, "In his classic novel Cat's Cradle, Kurt Vonnegut explains how the world is divided into two types of social organizations: the karass and the granfalloon. A karass is a spontaneously forming group, joined by unpredictable links, that actually gets stuff done as Vonnegut describes it, "a team that do[es] God's Will without ever discovering what they are doing." A granfalloon, on the other hand, is a "false karass," a bureaucratic structure that looks like a team but is "meaningless in terms of the ways God gets things done."

Interesting concepts, and quite true I think. However, whilst I can see that big corporations might want, or need, to find out where the karasses are, I don't think it's a big problem in a smaller company. I suppose the challenge there is in managing the granfalloons so that the karasses can get results without undue interference :-)

Posted by Adrian at 10:04 PM | Comments (0) | TrackBack

May 13, 2003

Ideas are cheap

Idly reading some more info about LinkedIn whilst waiting for a build to finish, I found mention of the FOAF (Friend Of A Friend) file format. A quick google brings me to FOAF: the 'friend of a friend' project.

So there we are, pretty much what I'd started to speculate that Jo should implement for her "MITCOTU network" (Malcolm Is The Centre Of The Universe... maybe Malcolm Is The Central Human [MITCH] would be better...)

Posted by Adrian at 12:00 PM | Comments (0) | TrackBack

Just what I need... more things to play with

Seeing as I wasn't sure how Ben Hammersley created his Technorati widgets, I was chuffed to find Adam Kalsey's Technorati plugin.

When I get some free time I'll get some nice Technorati info on the main page... or maybe just hard-code "0 blogs have linked to this site" ;-)

Posted by Adrian at 11:28 AM | Comments (0) | TrackBack

May 10, 2003

Scalable Vector Graphics

Thinking about how Jo could implement her "Malcolm is the centre of the universe" system (luckily Malcolm wasn't around to hear my poor "ah, Malcolm in the middle" joke...), led me to look into Scalable Vector Graphics. It's a nice way to draw diagrams by the looks of it, although it hasn't made it into browsers by default yet.

There an FAQ here, and Adobe has a viewer available as a free download, and a pretty good tutorial which introduces the basics.

Plus, whilst getting the link for the Green Dragon for the last post, I found that the Cambridge Pub Guide has an SVG version of their pub tube map.

Posted by Adrian at 10:52 AM | Comments (0) | TrackBack

May 06, 2003

Differences between the wired and the wireless Internets

Whilst Timo Hotti's Solving the 3G Data Management Problem article for BYTE.com (subscription required) is primarily about the complexities of managing the software installed on devices, the different customizations on devices, etc. when the devices number in the millions, he makes some interesting observations about the differences between the "wired Internet" and the "wireless Internet".*

"[On] the wireless Internet personalization of the services offered is key to usability." Where the personalization "...may include location, time of day and role (such as at work, leisure, at home, with family, or traveling). "

I like these ideas, one of the key improvements to usability on small devices is to reduce the amount of interaction (key presses, pages to click through, etc.) to achieve a task, so if the service can take advantage of knowledge about who I am, or where I am, etc. without me having to type that information in (which is the important bit :-) then that's smart.

We just need to work out how to make it easy for services to obtain and use such information.

Added: I guess there's no reason why these things shouldn't be done on the traditional Internet too, as it will improve usability there too, but the gains won't be as great purely because the cost of additional interaction with the user isn't as high (more information can be displayed, and inputting data isn't as painful).

*(Aside: It's interesting to note that the "wired Internet" is becoming more and more wireless, but not in the way that "wireless Internet" is used as a term (in this article at least) - maybe it should be the "Phone Internet", as the other option "Mobile Internet" could still be people with WiFi and a laptop)

Posted by Adrian at 11:36 AM | Comments (0) | TrackBack

April 29, 2003

Sacking via SMS!?!?!!!

Smart Mobs reports on a guy being sacked by SMS! Mad! I mean, I'm all for new ways of communicating, but some things are just best done face to face. Given the vertiable cornucopia of communication mechanisms available today, people should stop and think "which is the best mechanism to use" before choosing the one which is easiest for them. Something I'm trying to do these days....

Posted by Adrian at 11:51 PM | Comments (0) | TrackBack

April 23, 2003

RSS feeds

On the off-chance that anyone reading this finds my weblog suitably enthralling that they want to keep up to date with it... ;-)

There's an RSS feed of this site, but that's only useful if you know what to do with it *grin*

The problem I always had with weblogs was that I can never be bothered going back to a website every few days (or every day) to see if anything new has been posted. It just seems to be a stupid way of working - I'd much rather be notified when something changes, so I couldn't see what all the fuss was about with weblogs...

Then, Jon Udell posted about nntp//rss, which takes a number of RSS feeds (basically just an XML version of a weblog) and makes them look like newsgroups, so you can use your favourite newsreader to read weblogs. Now that fitted in with how I work, my email client is always open, and new postings appear as new messages in the newsgroups, so I don't have to check for new messages by hand. Finally I "got" weblogs. nntp//rss is definitely recommended.

Plus nntp//rss comes with a decent list of default blogs, so you get a jumpstart into the more interesting parts of the "blogsphere". At some point I'll get round to adding a blogroll (list of the blogs I read) to my blog, but that'll need some reading up on Movable Type.

Another way of reading RSS feeds is to use Spaces, which I've been meaning to try out sometime but haven't gotten round to yet (if anyone else does try it, let me know what you think)...

Posted by Adrian at 11:25 AM | Comments (0) | TrackBack

April 22, 2003

Art and technology

Vodafone commissions artwork to display on a mobile phone. Cool! I love the idea of linking technology with art. For ages I've wanted to commission artwork on PC cases - show that they don't all have to be beige boxes. Like BMW did with the art cars.

Technology doesn't have to look dull and uninspiring!

Posted by Adrian at 11:10 PM | Comments (0) | TrackBack

April 14, 2003

Better UIs Apple could produce...

I can't remember who pointed me at this... I opened it over the weekend but only just got round to reading it. It's an essay arguing what Apple should be doing with UIs.

I'm still unconvinced with ideas about voice UIs, mainly 'cos I can't imagine an office where people talk to their PCs, but integrating the phone into the computer to enhance that would be good.

I like the idea of showing more attributes in files, making them thicker as they hold more, and making them age, and replacing the mouse with a tablet or something to allow gestural input - I guess we might get this as a by-product of the MS Tablet PCs...

This guy has some very similar thinking to stuff I've been pondering over for a while now.

Posted by Adrian at 10:51 PM | Comments (0) | TrackBack

April 09, 2003

Interacting with small devices

Dan Gillmor's post Making More of Handhelds reports some interesting things from a big HCI conference about UIs on small devices

The fish-eye view over calendar info looks interesting, although I think it'd require a touchscreen to work properly (still not sure about touchscreens - I tend to agree with the MS Smartphone team that a lot of phone interaction is done one-handed. I guess if I only needed to use the touchscreen for the right tasks, where I didn't want to do it one-handed then that would be alright, but then it has to be natural as to which tasks used which mechanism...)

I don't like the peephole window, horizontal scrolling is just too intrusive, but looking at using the orientation of the device, and movement of the device is something I've discussed with others before - nice if someone can get it to work but it has to cope with different orientations of the user too, I'm going to want it to work still if I'm lying down using it as much as it does when I'm stood up...

Posted by Adrian at 04:18 PM | Comments (0) | TrackBack