Showing posts with label bbc. Show all posts
Showing posts with label bbc. Show all posts

Saturday, November 24, 2007

BarCampLondon3 - Day 1

The time for another BarCampLondon3 has rolled around, and I was lucky enough to get a ticket. We all turned up at Google's swanky offices in Victoria knowing we would have a good time, but not quite realising what a great time we were in for.

The organisation went very smoothly, the wifi was rock solid, there was more food, beer and snacks than even a BarCamp-load of geeks could consume (well, apart from the beer - it's the first time Google's fridges have been emptied, oops!)

As usual with an unconference, it was all about the sessions folks decided to give, and we were treated to some really thought-provoking and fun discussions. It was a shame that out of the 100 attendees, about 30 chose not to present. So the schedule was a little light at times, but that's not always a bad thing - nice to catch your breath every now and then! Jeremy marked up the timetable for us all to refer to easily.

The first session I went to was Tom Morris - Scraping Sucks - where he was giving us more usable alternatives to scraping HTML, namely doing clever stuff with GRDDL. He says it's much easier that way. As usual, I nodded sagely at the time, and then a couple of hours later, wondered what it was all about. Tom is a great geek, but he's several steps ahead of me when it comes to brain-wracking abilities :-) He's put up a page of GRDDL Profiles here - which lets you look at (X)HTML and with an XSLT transform, spits out XML/RDF which can be used as you want.
[Tom gets stuck in to his presentation]

Norm's Law
This was an excellent presentation from Mark Norman Francis. He gave us some very good reasons for doing code his way - especially for fostering interoperability betweeen different members of the team, or yourself coming back to code at a later date. Some points included:

  • Use spaces not tabs
  • Code goes no further than col 77
  • No-one ever died from using too much whitespace
  • Separate operators and braces - more of a cognitive burden to parse squashed up code
  • Always indent by 4 spaces ONLY
  • Line up assignments of variables (equals sign in the same place etc)
  • Line up data tables too (arrays or whatever)
  • Space keys out from brackets $vote[ $value }++; etc
  • Space keywords out not functions
  • Vertical rhythm - break bits up with comments for each sub part - make a story out of it
  • Respect left-to-right comprehension
  • K&R bracketing - opening brace should be tied to RHS end of line, closing brace should be on a new line - aligned with the starting coment
  • Don't cuddle and else!
  • One statement per line - you can easily miss the ";" in the middle of the line separating the two commands
  • Break lines before operators - EXCEPT in JavaScript or it won't work
  • Ignore operator precidence - use brackets to make it more "English readable"
  • Use single quotes where possible - ' in PHP will just be stuffed in, " will make PHP parse the contents looking for variables
  • Factor out long expressions and use intermediate variables (with english-sensible names) to break up
  • Always use x on regexpressions
  • Don't use camelCase! unless you're in JavaScript
  • Systems Hungarian is harmful, Apps Hungarian is too
  • All short variable names are harmful
  • Use grammatical variable names and function calls
  • Optimise for humans first! Machines - throw more hardware at it - but you can't refactor comprehension
  • HTML indents use 2 spaces not 4
  • Write the whole document FIRST before you do any CSS etc
  • Insert Microformat classes
  • Always use single quotes in attributes
  • Inline CSS means you've done it wrong
  • If it only works in JS don't
  • VALIDATE
  • Start with base stylesheets - reset, fonts, layout
  • Use Uppercase tags in HTML
  • Keep z-index below 50
[Norm - I can haz 4 skreenz]

Next up was a session about new developments from the BBC's web team:

BBC APIs First Look
PIPs is the system to list all broadcasted stuff - telly and radio
  • bbc.co.uk/programmes
  • Gives a list of all current programmes - by genre or alphabetically
  • Nice URLs which can have .yaml or .json can be added for the feed in that format
  • bbc.co.uk/programmes/formats
  • Pid is the 8-character id for each episode - taken from user experience tests and will always be constant (never change)
  • JSON and YAML are the two formats currently supported - XML coming? - RDF ontology has been produced
  • RSS feed is coming so you could subscribe to know when "every episode of Doctor Who" is on
  • Data model - "programme" can be brand, series or episode - an episode can have multiple versions (signed, extended etc) which then have broadcast (tv) or ondemand (iPlayer) times
  • Historical data back to May 2006
  • Can filter out to network (tv or radio) eg Radio4
  • Next release (API stuff) in New Year
  • http://catalogue.bbc.co.uk/ - is historical data - grand plan is to have them merged
DIY User Research - Leisa Reichelt
Leisa gave us lots of good advice on how to carry out some DIY user research - her premise being that it doesn't have to take days and days and cost big bucks - and often talking to more than half a dozen victims volunteers gives you diminishing returns. Leisa's slides are already available at the Slideshare BarCampLondon3 group.

Building Lifestream with Yahoo! Pipes - Cristiano Betta
I didn't take many notes as I was listening as I was actually playing with a real Yahoo pipe of my own and trying to follow along with what Cristiano had to say. I've been meaning to use Pipes to create my own Lifestream for some time, but had a quick go before and things weren't coming out as I wanted. Cristiano has done a series of excellent blog posts to get you going, or you can watch Tom Morris' video of Cristiano's presentation. Or view Cristiano's own Lifestream.

10 Things You Should Do In Project Management But Probably Don't - Gareth Rushgrove
Gareth's top ten tips:
  1. Use Source Control software
  2. Validate markup - XML, RSS, Atom and JSON
  3. CSS validation
  4. Broken Links! check them thoroughly - W3C Link checker
  5. Performance - do you have metrics for measuring the performance - YSlow is a Firebug enhancement, httperf - use uptime checker too such as Pingdom
  6. Maintainable Javascript - JSLint gives you good tips
  7. Carry out Unit Testing
  8. Carry out Functional tests
  9. Asset Compilation
  10. Building Scripts
More at morethanseven.net

Learning jQuery - Simon Willison
Simon gave us a lightining half hour tour of the jQuery Javascript library with great examples and succinct slides - you can get them from Slideshare. I've been meaning to beef up my JavaScript skills, and getting to grips with jQuery sounds like a good place to start.

[Simon talks about jQuery's Ajax capabilities]

Ask Them Anything
For the final sessions of day one, Norm and friends held an Ask Us Anything panel - just a bit of silliness to round off the proceedings before dinner. The guys from the Londonbubble did a live stream of the session to their mogulus chatroom, and it all got a bit recursive when this was put up on the main screen behind the guys:

[Behind you!]

The chatroom folks even got to ask a question or two - and Ross got a marriage proposal from a lady named Picki which he had to graciously decline!

[Ross, Norm and Ryan answer the online questions]

And so to dinner... but that's for another post.

Saturday, July 08, 2006

Geek Dinner

Last night's Geek Dinner was interesting, with a huge attendance of around 80 people. We started off in the back room of The Bottlescrue pub near Holborn, but there were soon so many of us we all decamped to the terrace outside to enjoy beer and banter whilst awaiting our speaker.

Our guest speaker, Chris Anderson, arrived a little later than planned due to transport problems, but began speaking around 8:30pm to an attentive audience eager to hear his take on The Long Tail theory of market forces. Here is a resume of my notes:

He began by commenting that Capital One credit card in the States was one of the first companies to embrace The Long Tail principle. Originally, they would offer low-rate credit cards to customers considered to be low risk, medium rates to medium risk people and no credit card to high-risk customers. Once they embraced the long-tail principal, they soon learned to slice the market into thinner slices - with a sliding scale of rates dependent on the customer's circumstances. Soon other credit card companies followed. Insurance is a similar market which has not really been tapped so far - partly because the greater risk customer is unwilling to pay the required premiums to acquire cover.

The key to Long Tail theory is that One Size Doesn't Fit All - scaling down is they key. In these days of easier supply chains, it's much easier to service the niche market as well as the "hits" end of popularity. The Bottom-Up pyramid model for marketing is different in that it advocates making one product so cheap that anyone can afford it, whereas the Long Tail is about selling fewer units of more things.

The natural shape of consumer demand is more niche-heavy than you would expect, if consumers can find what they are looking for (eBay and google are good examples of facilitating this). A question was put that "does Google have a monopoly and does it restrict the market for people finding niche products (especially with AdSense incorporated). Chris thought the answer was "no".

TV is one of the most expensive production costs/sales ratio of any product. In times past, a programme might only have been broadcast a couple of times, but now syndication of archive material is the Long Tail of the broadcast chain. Similarly, on-demand services are allowing consumers more choice in what they watch (niche programmes) and when. One example given was the ability to watch Cricket in the US over the internet - unheard of a few years ago.

The BBC is one of the leaders in the UK of making use of Long Tail principal. They have spent millions of pounds digitising archive material without knowing what the demand for it might be, but are now beginning to reap the rewards. Chris thinks is it worth looking to them for leadership and Best Practice in the area. Reuters and ITN are also jumping on the bandwagon for archive distribution. [As an aside, Mark Thompson, BBC Director-General gave two speeches in the Spring which are quite relevent to this debate, and he coined the phrase BBC2.0 in one, which seems appropriate. They were the RTS Baird Lecture given in March 06, and the RTS Fleming Memorial Lecture in April 06, both available to read from the BBC's Freedom of Information website].

A question was put that, in the light of the Media being propped up with Advertising via trusted brands (in TV, radio and in print), it's impossible to measure their effectiveness at present. How long does the current business model have before it collapses? Chris thought that, even though the advertising & media industry is very conservative, it could be a generation before this business model ceases to be operable.

The next question considered "what's in it for content producers". Chris highlighted the opportunities to distribute cult, low-budget films online, without having to have the marketing budgets of the big studios; this goes for music too. A band such as the Arctic Monkeys started distributing in the niche markets, then became a grass-roots hit, then might decay in popularity over time (shows the Long Tail can have precursors too).

Not only does the Long Tail prevail in terms of hits vs niche markets, it also prevails over time - in other words, today's hit can become tomorrow's niche.

Someone asked "where does the tail fall off" - well of course, with a power law, the answer is never. There will always be a market for the niches, no matter how small. Where the cutoff comes in terms of viability depends on your motivating factors - commercial reasons for a product are very different from consumers reasons - and you cannot always anticipate the "value" of something - it's not always measured in economic terms, sometimes things are done for reasons of expression, reputation etc. The Long Tail is perfect for these instances which would not necessarily be viable in purely economic terms.

The market for Hits and Niches co-exists, and in the long term that won't change. New Hits achieved via word-of-mouth can still be achieved. However, these bottom-up hits are likely to get bigger, while the conventional top-down hits get smaller.

Someone asked what the most interesting markets were currently applying the Long Tailed phenomenon. Chris cited the growing trend in the USA for Micro-brewed beer - now there are around 40 varieties of specialist beer where there used to be only 4 big players. He also mentioned The Pentagon investigating Long Tailed Warfare - but did not elaborate too much (maybe he would have had to kill us?)!