Coming to the end of Day 5, and the pitches have been done, the questions answered (hopefully) and the potential investors have retired to consider which, if any, projects they will fund. The nails are down to the quick, and we've had some really good feedback on our pitch, but to be fair, every one of the ten pitches we've seen today has been excellent in some way.
We'll be genuinely chuffed for anyone who gets funding from this, we've met some really smart people and had a great laugh, and we're going back to work next week having gained a lot from this week, regardless of whether we get commissioned or not.
I still reckon that they should have had people filming a fly-on-the-wall documentary throughout the week, and tacked on a text-message-voting system for a TV series - Rik has done his best with his Apple webcam and video blogging, but it's not quite the same...
BTW - photos of the whole week are HERE
Rants, raves and random thoughts on Ruby, Rails and Rabbit, plus Java, CFMX, methodologies, and development in general. And too much alliteration.
Friday, March 31, 2006
BBC Innovation Labs : The Impending Pitch
It's Day 5, where all the work we've put in hinges on our ten-minute pitch. This strange Geek Idol contest gets underway in just over an hour. We're on second, at 10:20am. We worked until nearly eleven last night, until our brains turned to cheese and started oozing out of our ears. In retrospect, maybe staying up till 1:30am playing Petals Of The Rose in the bar might not have been such a good idea...... but we had to unwind somehow. It took about an hour and a half for people to get it, which appears to be about average. If you know the answer - DON'T LET ON!
Thursday, March 30, 2006
BBC Innovation Labs :Pump Up The Lamb
Last night's menu at the alarmingly-named, magnificently olde-world, apparently extremely haunted, and admittedly pretty spooky Spread Eagle Hotel contained an interesting option that we're still debating as to whether it was a misprint :
"PUMP OF LAMB"
This conjured up a bizarre image that I just haven't been able to shake - a farmer standing by a sheep, holding its leg like a water pump, cranking out the lamb chops to feed the hungry geeks..... I think I must've been working too hard....
"PUMP OF LAMB"
This conjured up a bizarre image that I just haven't been able to shake - a farmer standing by a sheep, holding its leg like a water pump, cranking out the lamb chops to feed the hungry geeks..... I think I must've been working too hard....
Wednesday, March 29, 2006
BBC Innovation Labs : Day 3
Yesterday was all about making our idea "people-shaped", today it's all about making it "BBC-shaped" - looking at the BBC's core values and how our idea promotes them. I think it's summed up best by this comment from one of our mentors - "I think this is great, and someone should definitely do it - but why should that someone be the Beeb?" and that's a very good point.
The BBC's core values are driven by 5 metrics:
Also, their New Media priorities are:
We've had good sessions and some very valuable feedback from our mentors, we can visualise most of our interfaces in our heads, and we're now starting to think about our final pitch. So when it comes to the art of pitching, there is wealth of advice available on Guy Kawasaki's blog, both on The Art Of Pitching and more general business advice.
I must confess though, the process of asking how we "embody core brand values" takes me back to the quarterly reviews at Freeserve (now Wanadoo, soon to be something else again), where we had to say how we'd embodied the brand values in the last three months, how we were going to improve our embodiment over the next three months, and provide 5 SMART objectives that we would achieve in the next three months to measure how well we were embodying the brand values.....
The trouble was that these reviews and forms were submitted to and assessed by completely non-technical staff - I remember one SMART objective of mine, not long after CFMX 6.0 came out was something like:
"I shall embody and demonstrate the core value of Working Together by providing proof-of-concept code that demonstrates the integration of ColdFusion interface code with an existing J2EE Enterprise Java Bean backend on our business-critical systems through an exposed remote API"
...and that sounds pretty impressive to a non-technical Human Resources (or "Talent Management", as they were called) person, so they happily agreed to me staking 25% of my performance bonus on the success of this proof-of-concept - and of course, one CFOBJECT tag & one CFINVOKE tag later, the concept was proven and 25% of my bonus was earned :)
The BBC's core values are driven by 5 metrics:
- Democratic
- Cultural
- Educational
- Community
- Global
Also, their New Media priorities are:
- On demand - making BBC content available anywhere, on any platform
- Navigation - They now use Autonomy for their search provider, but are always looking at new ways of searching their vast archives
- Engagement - how do they drive engagement with BBC sites
We've had good sessions and some very valuable feedback from our mentors, we can visualise most of our interfaces in our heads, and we're now starting to think about our final pitch. So when it comes to the art of pitching, there is wealth of advice available on Guy Kawasaki's blog, both on The Art Of Pitching and more general business advice.
I must confess though, the process of asking how we "embody core brand values" takes me back to the quarterly reviews at Freeserve (now Wanadoo, soon to be something else again), where we had to say how we'd embodied the brand values in the last three months, how we were going to improve our embodiment over the next three months, and provide 5 SMART objectives that we would achieve in the next three months to measure how well we were embodying the brand values.....
The trouble was that these reviews and forms were submitted to and assessed by completely non-technical staff - I remember one SMART objective of mine, not long after CFMX 6.0 came out was something like:
"I shall embody and demonstrate the core value of Working Together by providing proof-of-concept code that demonstrates the integration of ColdFusion interface code with an existing J2EE Enterprise Java Bean backend on our business-critical systems through an exposed remote API"
...and that sounds pretty impressive to a non-technical Human Resources (or "Talent Management", as they were called) person, so they happily agreed to me staking 25% of my performance bonus on the success of this proof-of-concept - and of course, one CFOBJECT tag & one CFINVOKE tag later, the concept was proven and 25% of my bonus was earned :)
Tuesday, March 28, 2006
BBC Innovation Labs : Day 2
So we survived the long first day, and got some penetrating feedback from other teams on where the holes in our proposition are.... and now our idea has morphed into something really quite different to our original premise, but we're actually more excited about it as a result. We're also fully expecting it to go through a similar metamorphosis during the course of this day, and again tomorrow - probably by the time of the pitch on Friday we'll be building a social software community site on the theme of Monkey Tennis. However, the central tenet of our idea - making tagging more interesting, fun and "cool" - is still intact, it's just had a bit of a re-skinning... think of this as Agile Idea Development - hmm, maybe I should trademark that name..
Day 2 is all about the user, and making sure the idea is "people-shaped". We have two quite detailed personas for our use cases - that was last nights homework - and today we explore how these users will respond to our app, how they'll discover it, be induced to use it, and what their motivations are to continue using it.
But first, we have to give them a face - but how? I'm loathe to start typing "14yr old girl called Kelly" into Google Image Search, and My Space will only let you search for people 18yrs old and over - so we eventually settle on a cunning plan : Social Software to the rescue!
We identify the bands that "Kelly" would like - Beyonce Knowles, for a start - find their MySpace page, and look through the lists of Beyonce's friends until we find a face that fits - cue an eye-opening, bizarre trawl through the depths of MySpace profile pages to find a photo that exactly captures the essence of our 14yr old txt-addict girl from Cricklewood who sings into her hairbrush, hangs around in Claire's Accessories and Topshop and drops chips and chicken bones from the top balcony of Brent Cross onto the unsuspecting shoppers below... does this one look too "front-y"? Too large? Too slim? Too old? Too American? Too nice??
But we already feel like we've gained some insight into our users just from this searching process, and we're looking forward to applying some of these techniques to other projects once we get back to Real Life™
Day 2 is all about the user, and making sure the idea is "people-shaped". We have two quite detailed personas for our use cases - that was last nights homework - and today we explore how these users will respond to our app, how they'll discover it, be induced to use it, and what their motivations are to continue using it.
But first, we have to give them a face - but how? I'm loathe to start typing "14yr old girl called Kelly" into Google Image Search, and My Space will only let you search for people 18yrs old and over - so we eventually settle on a cunning plan : Social Software to the rescue!
We identify the bands that "Kelly" would like - Beyonce Knowles, for a start - find their MySpace page, and look through the lists of Beyonce's friends until we find a face that fits - cue an eye-opening, bizarre trawl through the depths of MySpace profile pages to find a photo that exactly captures the essence of our 14yr old txt-addict girl from Cricklewood who sings into her hairbrush, hangs around in Claire's Accessories and Topshop and drops chips and chicken bones from the top balcony of Brent Cross onto the unsuspecting shoppers below... does this one look too "front-y"? Too large? Too slim? Too old? Too American? Too nice??
But we already feel like we've gained some insight into our users just from this searching process, and we're looking forward to applying some of these techniques to other projects once we get back to Real Life™
Monday, March 27, 2006
BBC Innovation Labs Day 1
After a 5:30am start and a five-hour commute, we've survived the first day of having ideas pulled to pieces at the BBC Innovation Labs, thanks mostly to quite heroic quantities of black coffee and a rather magnificent chocolate souffle at dinner (mmmm....sugar rush....shakey hands....nice...)
The first session of the day was mostly taken up with introductions and 1-minute pitches from each team, and then we split up into smaller groups for the afternoon session. I had to find two other people I'd never spoken to before, and then go and play Nice Cop / Nasty Cop in interrogating a team on their idea. We then presented our impressions of their project idea to the rest of the group.
It's a nerve-racking process - trying to communicate your idea to three other people, at least one of which you know is charged solely with "pulling the legs off" like a child with ADD let loose in a spider farm, and trying to ensure you communicate it in sufficient detail that they can then present it to the rest of the group. All this when the idea itself may not even be fully formed in your own mind, let alone anyone elses. You must then sit silently while the inquisitors pitch your idea to the rest of the group.
Our idea has already morphed significantly from it's original inception during these cross-examinations, and I'm sure the goalposts will shift again tomorrow. It's kind of a rapid evolution process, with the idea "gene pool" growing stronger and fitter, while the less-capable ideas falling behind and getting eaten by the hungry lions [or something].
We now have some homework to do - creating plausible, realistic, "challenging" user personas for tomorrows grilling - which has been described as "where the legs really fall off." Must go and prepare now - I think they're predicting a sunny day tomorrow, and someone is handing the ADD child a magnifying glass...
The first session of the day was mostly taken up with introductions and 1-minute pitches from each team, and then we split up into smaller groups for the afternoon session. I had to find two other people I'd never spoken to before, and then go and play Nice Cop / Nasty Cop in interrogating a team on their idea. We then presented our impressions of their project idea to the rest of the group.
It's a nerve-racking process - trying to communicate your idea to three other people, at least one of which you know is charged solely with "pulling the legs off" like a child with ADD let loose in a spider farm, and trying to ensure you communicate it in sufficient detail that they can then present it to the rest of the group. All this when the idea itself may not even be fully formed in your own mind, let alone anyone elses. You must then sit silently while the inquisitors pitch your idea to the rest of the group.
Our idea has already morphed significantly from it's original inception during these cross-examinations, and I'm sure the goalposts will shift again tomorrow. It's kind of a rapid evolution process, with the idea "gene pool" growing stronger and fitter, while the less-capable ideas falling behind and getting eaten by the hungry lions [or something].
We now have some homework to do - creating plausible, realistic, "challenging" user personas for tomorrows grilling - which has been described as "where the legs really fall off." Must go and prepare now - I think they're predicting a sunny day tomorrow, and someone is handing the ADD child a magnifying glass...
Thursday, March 23, 2006
Off to the BBC Innovation Labs
Next week, a delegation of two Headshifters - myself and designer Rik Abel - will be heading down to the BBC Innovation Labs for an intensive residential workshop.
The Beeb have invited submissions of ideas for innovative projects, chosen the best ten, and invited all the ten chosen teams to the alarmingly-named Spread Eagle Hotel for a week-long "intensive creative workshop", which culminates in each team giving a ten-minute pitch to the BBC Commissioners. At the end of it, the Beeb can give the green light - and funding - to whichever projects they think deserve it.
It's by turns exciting, inspiring, and nerve-wracking - from looking at the blogs of the other labs around the country, it seems almost like a cross between Big Brother, The Apprentice, and Dragon's Den. You spend the week doing group-based collaborative tasks like : explaining your idea to another team and then listening as they pitch it to the rest of the group, defending your idea against Good Cop/Bad Cop sessions, etc etc - and the success or failure of the whole week hinges on your ten-minute pitch on Friday.
Whilst I'm sure that our idea has great potential, and I know that we could take it in several different directions, the actual pitching of an idea to potential investors is not something I've had much exposure to. I've done plenty of CFUG presentations, of course, but this is different - the crucial distillation and communication process of getting the myriad possibilities in your own head across to someone who may be from a completely different background to you, in ten minutes, without boring them or losing them in jargon, or giving them any reason to say no. It's definitely a skill - and I'm always looking to expand my skillset....
Should be fun :)
The Beeb have invited submissions of ideas for innovative projects, chosen the best ten, and invited all the ten chosen teams to the alarmingly-named Spread Eagle Hotel for a week-long "intensive creative workshop", which culminates in each team giving a ten-minute pitch to the BBC Commissioners. At the end of it, the Beeb can give the green light - and funding - to whichever projects they think deserve it.
It's by turns exciting, inspiring, and nerve-wracking - from looking at the blogs of the other labs around the country, it seems almost like a cross between Big Brother, The Apprentice, and Dragon's Den. You spend the week doing group-based collaborative tasks like : explaining your idea to another team and then listening as they pitch it to the rest of the group, defending your idea against Good Cop/Bad Cop sessions, etc etc - and the success or failure of the whole week hinges on your ten-minute pitch on Friday.
Whilst I'm sure that our idea has great potential, and I know that we could take it in several different directions, the actual pitching of an idea to potential investors is not something I've had much exposure to. I've done plenty of CFUG presentations, of course, but this is different - the crucial distillation and communication process of getting the myriad possibilities in your own head across to someone who may be from a completely different background to you, in ten minutes, without boring them or losing them in jargon, or giving them any reason to say no. It's definitely a skill - and I'm always looking to expand my skillset....
Should be fun :)
Thursday, March 16, 2006
Tip of the day : Selecting Random Rows
A common feature request is to show a random selection of X rows from a table. The basic premise of how it's done is simple, but subtle inconsistencies mean that the syntax which works on MySQL won't work on SQL Server, and vice-versa. Here's how we've done it on each platform.
produces these results on first run:
and these results on the next run:
so you can see that although each UUID is unique, they're always created sequentially, which means it's no use to use in our random selection.
The solution is to use a random number, created via the RAND() function. Using this query:
we get these results:
on the first run, and on the second, we get :
So that's how a random selection can be made on MySQL.
but this produces, shall we say, unexpected results:
In SQL Server, the random number generator only gets seeded once per query, not once per row - which makes it of no use for our purposes.
The solution is to create a UUID instead - but on SQL Server the funciton you will need is NEWID():
which gives us these results on first run:
and these results on second run:
So bingo, bob's yer firkin, job's a good'un, etc etc - that's how it can be achieved on SQL Server.
Basic Premise
In your query, as well as the columns you want to select, also select a calculated column which contains a random, non-sequential element, and sort on that column first.MySQL
In MySQL v.4.1.2, the UUID() function was introduced. So why can't you select a UUID() and sort on that? Well, because although the UUID() function creates a unique identifier, it always seems to create them in a sequential order - the following query :SELECT UUID(), name
FROM `help_keyword`
ORDER BY 1
LIMIT 5
produces these results on first run:
UUID() | name |
---|---|
ba109f04-064f-1029-82dd-fe32006a1320 | <> |
ba109f35-064f-1029-82dd-fe32006a1320 | ACTION |
ba109f4b-064f-1029-82dd-fe32006a1320 | ADD |
ba109f5e-064f-1029-82dd-fe32006a1320 | AES_ENCRYPT |
ba109f73-064f-1029-82dd-fe32006a1320 | AFTER |
and these results on the next run:
UUID() | name |
---|---|
5d7f49d4-0650-1029-82dd-fe32006a1320 | <> |
5d7f4a08-0650-1029-82dd-fe32006a1320 | ACTION |
5d7f4a1f-0650-1029-82dd-fe32006a1320 | ADD |
5d7f4a33-0650-1029-82dd-fe32006a1320 | AES_ENCRYPT |
5d7f4a48-0650-1029-82dd-fe32006a1320 | AFTER |
The solution is to use a random number, created via the RAND() function. Using this query:
SELECT RAND(), name
FROM `help_keyword`
ORDER BY 1
LIMIT 5
we get these results:
uid | name |
---|---|
0.00856768061273515 | OUTFILE |
0.0149379475181344 | COMPACT |
0.0210173549326298 | RENAME |
0.0219931677188661 | LAST |
0.0236370014246898 | MOD |
on the first run, and on the second, we get :
uid | name |
---|---|
0.00319886301010741 | MASTER_PORT |
0.00735198055147378 | PACK_KEYS |
0.00786910020547835 | DISTINCT |
0.00797068235275399 | BIGINT |
0.0113145066530579 | LINESTRINGFROMWKB |
So that's how a random selection can be made on MySQL.
SQL Server
On SQL Server, there is also a random number generator, also called RAND() :select TOP 5
RAND() AS randomNumber,
tblUser.nvcSCreenName
FROM tblUser
ORDER BY 1
but this produces, shall we say, unexpected results:
randomNumber | nvcScreenName |
---|---|
0.33363907482884941 | Al |
0.33363907482884941 | AlanPartridge |
0.33363907482884941 | AlD |
0.33363907482884941 | Ali dahodza |
0.33363907482884941 | Andy |
The solution is to create a UUID instead - but on SQL Server the funciton you will need is NEWID():
select TOP 5
NEWID(),
tblUser.nvcSCreenName
FROM tblUser
ORDER BY 1
which gives us these results on first run:
randomNumber | nvcScreenName |
---|---|
8B7CC32F-20EC-4111-86DE-17B4183B4C94 | Al |
DCF6B780-55B5-4C2D-A7FA-27D9C8C44F33 | neil |
B5C5F469-ADC2-4866-99F0-297355DFBF22 | AlanPartridge |
C7DBE10F-94A0-420E-8894-33511DE46C1D | dave10 |
A3360F90-9B0F-4C4F-9438-3B6F58BF5670 | RuairĂ |
randomNumber | nvcScreenName |
---|---|
C27A9E7F-9D51-45A3-8661-0FABFA511617 | dave3 |
BF9AB329-F863-4330-BBBC-105F1C19717F | AlanPartridge |
D45DE252-FF96-4D44-8D76-116981211A93 | RuairĂ |
D8EAA1B7-9558-41CF-B844-14E5E792CCA9 | dave5 |
9A34C260-10A9-40E6-B020-156737A11C43 | Al |
So bingo, bob's yer firkin, job's a good'un, etc etc - that's how it can be achieved on SQL Server.
Gallery Of Web Design Classics: Web 0.2?
Following on from yesterday's "How Web 2.0 Is This?" post, I thought it was worth showcasing a design classic from pre-Web 2.0 - even pre Web 1.0, as far as I can tell - and this is a real classic of the genre.....
SmallStar's Russian Cars Page
- oh YES!
I'm not trying to dis the guy here, that's just the way things were done in those early days - I'm just trying to kindle a bit of a warm rosy glow of nostalgia for those who remember these days. I mean, it just has everything GeoCities on one page :
SmallStar's Russian Cars Page
- oh YES!
Update: looks like his bandwidth has been exceeded since I tagged this on del.icio.us, so I took a screenshot and stuck it on Flickr here...
I'm not trying to dis the guy here, that's just the way things were done in those early days - I'm just trying to kindle a bit of a warm rosy glow of nostalgia for those who remember these days. I mean, it just has everything GeoCities on one page :
- "Best Viewed With...." link, or similar - check!
- Totally unnecessary frameset that doesn't quite work - check! (try clicking on a left-hand link)
- Default font typography with crazy colours on a black background - check!
- Scrolling marquee ticker - check!
- Animated gif "Under Construction" logo - check!
- Animated flames to imply what's "hot" - check!
- Missing images - check!
- "Last Updated" four years ago - check!
- Really big cheesey hit counter that shows 207 visitors since 1997 - check!
- Guestbook that doesn't work - check!
- Has to provide a manual on "how to navigate this web site" - check!
- Cheesey Animated Gif for Sending an Email - check!
Tuesday, March 14, 2006
Anti-Social Software
Well, another tell-tale sign of a bubble is a proliferation of ironic/sarcastic piss-takes, and here's one which gave us a wry smile here : Isolatr.
How Web 2.0 is this?
Well, let's see:
Rounded Corners - check
Gradient Fills - check
Big Dorky Font - check
An Artfully-Removed "e" - check
In Beta - check
Obviously Screams "Yahoo! or Google Buy Me Buy Me Buy Me PLEEEEEEASE...." - hmmm, it's already been bought by Yahoo!, so I'm not sure about that..... does that mean it's no longer cool and edgy and underground, and has in fact turned into an obvious sell-out and corporate whore? Or is it a poster-child for the Web 2.0 revolution? Discuss....
How Web 2.0 is this?
Well, let's see:
Rounded Corners - check
Gradient Fills - check
Big Dorky Font - check
An Artfully-Removed "e" - check
In Beta - check
Obviously Screams "Yahoo! or Google Buy Me Buy Me Buy Me PLEEEEEEASE...." - hmmm, it's already been bought by Yahoo!, so I'm not sure about that..... does that mean it's no longer cool and edgy and underground, and has in fact turned into an obvious sell-out and corporate whore? Or is it a poster-child for the Web 2.0 revolution? Discuss....
Monday, March 13, 2006
Another Day, Another Slashdotting
So today is my first day back after a week off - recovery time after a month-long uber-crunch for the Big Project - and what do I find? One of our servers going down and down and down again. After going through the usual checklist of Things That Could Have Gone Wrong, I finally sussed out the reason - a good, hard, old-fashioned Slashdotting for one of our sites : 1001 Inventions has been Slashdotted here: 1001 Islamic Inventions .
Damn, if I'd known this at the time, we could have saved a good couple of hours of several people - a full man-day of resource, in fact..... so what do you reckon are the chances of getting Slashdot to implement an early warning system?
They already have a teaser on the front page : "The next Slashdot article will be ready soon, but subscribers can beat the rush and see it early" so maybe they could warn the site that's about to get hammered : "You are about to get several hundred thousand geeks hitting your site all at once, signing up, creating accounts and posting troll comments / Goatse links / lame Natalie Portman-based in-jokes / pornographic ascii-art renderings of lewd acts with Tux The Linux Penguin....... get yer holding page up!"
Haven't had a good Slashdotting since I was asked, many years ago, to put a press release up on the site of a small biotech company for which we'd written a small cms and front-end site. I did the usual copy-and-paste job without even reading the content........ and it turned out to be THE press release announcing the successful cloning of Dolly The Sheep. Within half an hour, lights were red all over the place and my boss was on the phone trying to get some alternative hosting based in the States...... ah, happy memories......
....and you try an' tell young folk today that, and they won't believe yer! Aye.....
BTW : There's a not-very-highlighted-and-very quickly-done-but-actually-quite-nifty mashup behind the "influence everyday english" link - a tag-style cloud indicating relative frequency of usage of each word, which links through to a page bringing in content relevant to that word from.... ooh, all over the place....
Damn, if I'd known this at the time, we could have saved a good couple of hours of several people - a full man-day of resource, in fact..... so what do you reckon are the chances of getting Slashdot to implement an early warning system?
They already have a teaser on the front page : "The next Slashdot article will be ready soon, but subscribers can beat the rush and see it early" so maybe they could warn the site that's about to get hammered : "You are about to get several hundred thousand geeks hitting your site all at once, signing up, creating accounts and posting troll comments / Goatse links / lame Natalie Portman-based in-jokes / pornographic ascii-art renderings of lewd acts with Tux The Linux Penguin....... get yer holding page up!"
Haven't had a good Slashdotting since I was asked, many years ago, to put a press release up on the site of a small biotech company for which we'd written a small cms and front-end site. I did the usual copy-and-paste job without even reading the content........ and it turned out to be THE press release announcing the successful cloning of Dolly The Sheep. Within half an hour, lights were red all over the place and my boss was on the phone trying to get some alternative hosting based in the States...... ah, happy memories......
....and you try an' tell young folk today that, and they won't believe yer! Aye.....
BTW : There's a not-very-highlighted-and-very quickly-done-but-actually-quite-nifty mashup behind the "influence everyday english" link - a tag-style cloud indicating relative frequency of usage of each word, which links through to a page bringing in content relevant to that word from.... ooh, all over the place....
Wednesday, March 01, 2006
Spings, Splogs and .....?
Here's a quick question that just came up in the office - if a blog set up purely as spam is a SPLOG, and spam in the form of blog pings is a SPING, then what would you call the deliberate mis-tagging of something for the purpose of attracting traffic?
A STAG?
A SPAG?
Does that mean that someone who deliberately mis-tags a lot of stuff has produced a load of spag balls? (wince)
I'll get me coat....
A STAG?
A SPAG?
Does that mean that someone who deliberately mis-tags a lot of stuff has produced a load of spag balls? (wince)
I'll get me coat....
Subscribe to:
Posts (Atom)