|« April 2006||June 2006 »|
I'm Ryan Lowe, a Software Engineering graduate living in Ottawa, Canada. I like agile software development and Ruby on Rails.
I write this blog in Canadian English and don't use a spell checker. Typos happen.
» Full-time Ruby on Rails freelancer
» Full-time with Rails since May 2005
» Former committer for RadRails (now Aptana)
» I also have a few Rails side-projects in development:
1. wheretogoinTO.com Toronto nightlife
2. Hey Heads Up! TODO list and sharing
3. Layered Genealogy family history research
4. foos for foosball scoring
5. fanconcert for music fans (on hold)
Hiring Rails developers? I can telecommute by the hour from Ottawa, Canada
»» Email: rails AT ryanlowe DOT ca
Now hosted on Hey! Heads Up -- check it out!
Derek Lowe's (Ryan's older brother) words at Ryan's funeral
email@example.com no more
Forging Email Headers: Good, Bad or Ugly?
Sarcastic Dictionary (Part 1 of Many)
Twisting Rails is Risky Business
Risky Business? My Take on Early Alphas
Whoa, it's August 2007
A Postscript to "Growth at the grassroots"
»» All Blog Posts
David Heinemeier Hansson
James Duncan Davidson
Signal vs. Noise
Amy Hoy: (24)slash7
Luis de la Rosa
# Not Every Blogger is Credible
Sometimes I blog about blogging and it's not just because I like to hear myself think (though it is nice to be reminded my brain still works enough to write coherent sentences). Developers of social software can learn a lot from blogging about how online communities can respond very quickly and not always rationally. These kinds of responses can affect your bottom line, so it can matter to you.
The latest blogging story revolves around O'Reilly/CMP and CMP's cease and desist (C&D) letter to a company called IT@Cork about the use of the "Web 2.0" trademark for events. To make matters worse the head of O'Reilly, Tim O'Reilly, was on vacation while this issue blew up in the blogosphere. It happens: people vacation in May (just ask France).
If you really want to catch up, here's the original blog post by IT@Cork, a blog post by O'Reilly while Tim was away and Tim's blog post when he finally caught up to the situation. I'm personally satisfied with Tim's response but that's hardly the point of this blog post.
If you want my opinion on the whole mess, it's more of an indirect commentary on the broken intellectual property (IP) system the software industry (and modern business) has to deal with AND a commentary on the meaning of the term "Web 2.0" in the first place.
IANAL so I'm not going to comment more on the former except to say that the software industry is clearly stepping into areas that current IP laws and processes were never meant to deal with and some careful thought and reform is necessary. There are great lawyers doing work in this area including the University of Ottawa's Michael Geist. Given the current state of trademark law, I have no problem with CMP's due diligence with respect to their marks.
As for the latter, I think I'll leave my minor frustrations with the term "Web 2.0" to another blog post. There are a variety of reasons why I do and don't like the term but none of those reasons affect the quote-unquote Web 2.0 work I do every single day. It's the kind of thing almost not worth blogging about -- but I feel someday I'll have to just get it over with.
But I digress, the real news was the blogosphere's premature and mostly negative reaction to the whole unfortunate incident. Bloggers didn't even bother to wait until Tim O'Reilly got back from vacation (even though early on it was obvious he was incommunicado) to respond to the situation, the bloggers just piled on.
While we could deal out a hefty bit of criticism to each blogger involved, why bother? The main lesson I learned here is that each blog has an individual level of credibility, which is built up by the author(s). Blog readers (and subsequent bloggers) need to take into account the sources, the real facts and everything else.
I don't have much of a problem with bloggers saying anything they please within the law so long as I don't have to read the crap. Bloggers should be free to blow their credibility if they never want to be taken seriously or read by serious people. Lots of blogs are opinionated, biased and informal. That's great. I'm probably one of the few people who think that those kinds of blogs actually add something to the blogosphere. That something is simple freedom.
Given that traditional mainstream media (MSM) has such relative high quality compared to the average blog, this is something blog readers (and companies with employees that write blogs) are going to have to get used to. We can't just take things we read on a blog at face value, we need to think while we read. Just like you have to think (and check sources) when you read Wikipedia because anyone can post anything they like and you could read it before it's fixed.
The collective Internet isn't always telling the objective truth to you. Watch out. I didn't cite many sources in this post, should you believe me? Probably not.
# An Update on fanconcert
Sometimes a hiatus can reinvigorate a software project. You forget the status quo because so much time has passed and make up a new one based on the current state of things. I like this because it helps to think out of the box again. However it's a luxury most commercial software projects simply don't enjoy.
I took a break from fanconcert and now I'm back at it. What was I doing?
I caught up with Eclipse development because it's nearing the 3.2 release. I updated Durham to make sure it compiled with 3.2 (and it didn't until I fixed it). I've also been working on Ant build scripts for RadRails, a Ruby on Rails IDE.
I also went on an idealistic tangent I'm calling unfoo (website not active yet). It's a generalized version of fanconcert's editing system. It's useful for exploring/experimenting where fanconcert could go in a perfect world situation without breaking fanconcert itself. When I like something in unfoo, I'll put it in fanconcert. It's that simple. I might release the code wiki-style, I might not.
So what's new with fanconcert? A fresh look at it leads to minor cleanup tweaks everywhere and well as a re-prioritization of the major upcoming features. Right now I'm working on 1) notifying people by email of new events and 2) submission bots to dramatically increase the number of events on the site. Should be fun!
If you haven't checked the site out in a while, please do. I'm eager for feedback! If you're interested in writing a submission bot, let me know.
# Tiger Install
I've had my G3 iBook for over three years now and it's served a lot of different functions as my life has changed. Now I want it to be a dedicated development machine.
I'm installing Mac OS X 10.4 (Tiger) to get the most recent technology updates from Apple (like Java 5) as well as the best support for my Ruby on Rails development.
I'm basing this clean install of Tiger on my steps for re-installing Panther a year ago, with a few changes.
1. Installed Mac OS X 10.4 Tiger from DVD, erasing the previous installation.
# General Thoughts on fanconcert
I haven't blogged about the general kinds of thoughts that fanconcert is based on yet, so I thought I'd do that now. I'll be updating this page regularly over the next few days probably.
Let the average Joe submit
A lot of websites are based on "official information" derived from "official sources". Here's a wake-up call: even that information can be wrong. The solution? Let Joe User (any everyday person in software parlance) submit information to the site and more importantly, correct information on the site.
Joe really loves his favourite band and he keeps up with them religiously. He watches the band's official site, rumour sites, message boards, music news sites. He's all over it. Why not let Joe update fanconcert with the latest information from all of these sources? He's the man and so are all of the other hardcore fans.
This is one I constantly battle with: should majority rule? Not necessarily a simple majority, no. A bunch of new users could just spam the site with bogus information. This can happen anyway on a website like fanconcert but the trick is to get spam to fall out of public view as quickly as possible.
How? Give a score to each submission and let users grade how accurate it is. When the grade falls below a certain threshold, the submission disappears. How else? Give a reputation score to each user. If they start to submit crap, other users can lower the person's reputation score and all of their submissions' scores along with it.
Otherwise a majority can be a great thing. If forty people with good reputations think that something is true, then odds are pretty good that it is actually true. True information is gold.
Majorities can prevent vandalism
Once forty people agree on something it's hard for one person to come along and screw with it.
Wikipedia suffers from this problem. Someone can write a fantastic article and another person can come along and introduce false information very easily. Sure, the information can be corrected and the user can be banned after the fact but for a few minutes, hours or days, that information is incorrect when it was once correct.
Straight from the horse's mouth is best
Some sources of information are better than others. When you're collecting information about a band, they'd obviously be the best source for that information. On the other hand they might not remember every single credit from their debut album -- the album's liner notes would be better for that. Their management would know their tour schedule the best and major media outlets might know it second-best.
Fans are all over the map. Some know a lot, some know very little. Some know information that isn't even public yet. It would be good to leverage that on one end and minimize it on the other.
The website should recognize that some sources are experts on certain subjects (a band, a venue, etc) and weigh their submissions higher to reflect that. How to do it? Great question. But it should be done.
Point outwards a lot
Think of fanconcert as a convergence of information sources, not a source. It produces no original content -- it just coagulates information from all different sources together into one source for easy public consumption. In that way, it's a lot like a search engine. Search engines just index content, they do not produce it.
fanconcert should be pointing to the places where information is coming from and users should be encouraged to provide references for the information they submit.
How? It's a lot easier for another user to verify that a piece of information is true if he can go to that original source and verify it quickly. If submitters provide a link (or other reference) to their source, chances are it will be confirmed faster. Incentive? User's will get more credit for submissions that are confirmed by others.
Let your users brag
If a fan is doing lots of work to keep a band's information updated, put their username on the band's page next to the information. Users will have a reputation score based on how other user's graded their submissions. You'll also be able to see how many submissions a user has made and to which bands.
Emphasize that your information is coming from fans. Let fans have flexible profile pages, MySpace-style.
Provide a backchannel
People love to argue and music fans are no exception. People will want to discuss the information that has been submitted and any other number of things, so a discussion board for each piece of information is a good idea.
Open it up: API
Here's a relatively new idea I should have had long ago: make an API for fanconcert so programmers can submit information from their software. You know that service that looks up CDs over the internet and fills in the track names? This is done through an API/webservice.
fanconcert could have an API for submissions and let people create bots that crawl the Internet for information and submit it to fanconcert. On the other end a read-only API could provide very accurate music-related information to third-party websites, for a per-hit fee of course.
Everyone makes mistakes, even computers
Joe may be a great source of information and 99% of the time makes amazing submissions but people make mistakes. Sometimes that person will make a typo -- and others will want to correct it, even before Joe has a chance to (or notices). Allow for some fallibility. Just because Joe has a good track record, it doesn't mean he can't be corrected.
That goes for computers too: like bots that parse pages for information and then submit it to fanconcert, or crawlers that search the web for information. They can make parsing mistakes and submit crap, even though most of the time they submit amazing stuff really, really quickly.
Facts in the future are less certain
Lets say you know a band is playing on a certain date at a certain venue. This is just their plan, if everything goes well. Any number of disasters could prevent the band from playing the show at that venue on that date.
When you're considering information in the future, like a schedule of tour dates, there needs to be some wiggle room. Plans change and so do concert dates, fanconcert has to be able to handle it -- the submission could be corrected or deleted (moderated low enough so it disappears from view). Stuff in the future may not end up happening.
More granularity = clarity
Information is released gradually. You start with few details and build up facts until you get to specifics. Today an artist mentions on a TV show that his new album is coming out "in the spring of 2007". In a few months that artist (or should I say his record label) might have the date nailed down to a specific month. A few months after that, it's bumped another month and given a specific release date in North America. Later on that year they announce a release date in the UK.
Not only can dates change, they can also get more specific. So a website that kept track of these dates should be able to store all of these different levels of information granularity/resolution and how it's changing over time. Then the site can be informative as possible at any given time, given the most up-to-date information.
When the information from the source gets better, people can go in and improve the date they put in before. Or not -- some people might be too lazy to go back, so others should be able to "correct" the information and the more specific date should prevail, even though several users might still stick with the less specific date.
Facts are most accurate in the present
This connects granularity and "majority rules". Let's say an overwhelming majority agrees on a concert date at a venue but then the artist changes the concert to the next day. Joe tries to correct it but he's a small voice in a sea of people that still think the concert is on the old day.
This is bad -- majorities can prevent vandalism (see above) but they can also prevent things from being corrected if they change. How can we fix that? Take the time of the submission into consideration.
On a timeline, if the submissions swing in another direction the later submissions could start weighing less and less. There's no guarantee that users will go back and fix their old submissions, so we have to allow other users to fix them.
Wait! Does that mean people can vandalise correct submissions after all? A bunch of malicious users could just overwhelm a submission with garbage and change it, right? Well no, we don't want that. Tying a user's reputation (or lack of) to the submission will help with this.
Why all of this emphasis on accuracy of dates in the future? Because we want to tell people something is happening soon enough that they can do something about it. If your favourite band is coming to your city, you want to know about it before the tickets go on sale.
That's what this site is all about: I like a lot of bands -- too many to keep track of on their individual websites. So I keep a list of the bands I like on fanconcert and it alerts me when important dates are coming up, so I never miss a concert I want to go to.
Always revert to a direct source
This kind of website will never be perfect and we should be very clear about that. Wikipedia makes the mistake of giving users the impression it is a super-accurate and free encyclopedia when it is only two of those three things.
When it comes to fanconcert, people will have to get used to the fact that what they are looking at is probably accurate because lots of others agree BUT not to take everything at face value.
Bottom line: Don't plan your honeymoon around information in fanconcert, go to Ticketmaster.
 Is an encyclopedia with inaccuracies still an encyclopedia? Sure, even Encyclopedia Britannica has mistakes in it. Makes you feel all warm and fuzzy eh?