| «« FanConcert Links to Google Music Search | FanConcert: Stale Scores »» |
|
About
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.
Projects
» 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
BulletBlog
Now hosted on Hey! Heads Up -- check it out!
Syndication
Pings
Recent
Derek Lowe's (Ryan's older brother) words at Ryan's funeral
blog@ryanlowe.ca no more Forging Email Headers: Good, Bad or Ugly? Sarcastic Dictionary (Part 1 of Many) Tags Hierarchies Twisting Rails is Risky Business Risky Business? My Take on Early Alphas Whoa, it's August 2007 Closing Comments A Postscript to "Growth at the grassroots" »» All Blog Posts
Linkage
del.icio.us/ryanlowe
technorati/ryanlowe.ca/blog Aurora Roy Jim Andrew Trasker Travis Kibbee Karen Dr. Unk Ayana Van Bloggers Joel Spolsky Robert Scoble Tim Bray Dave Winer Raymond Chen James Robertson Ruby/Rails Bloggers rubyonrails.org weblog David Heinemeier Hansson Dave Thomas James Duncan Davidson Mike Clark Jamis Buck Signal vs. Noise Tobias Luetke Amy Hoy: (24)slash7 Jeremy Voorhis Eclipse Bloggers Planet Eclipse EclipseZone Luis de la Rosa Eclipse Foundation Kim Horne Billy Biggs Ian Skerrett Mike Milinkovich Bjorn Freeman-Benson Denis Roy
Archives
|
FanConcert is Presentable (Just in Time)
For the first time since I started FanConcert I'm working on how it looks. Why wait so long to do that? FanConcert has been live for five months, since the first week I started it. It comes back to an agile/XP/pragmatic software development practise called YAGNI (You Ain't Gonna Need It). The way I interpret YAGNI is directed at user feedback: solve bigger and more important problems first, narrowing the focus as you go. This way you are less likely to make large mistakes later in the process. When I use YAGNI to "design" a user interface, how the app works is the first step. In one way, how the app works goes hand in hand with what the app can do. But in another way, how the app works actually depends on what the app can do. What the app can do is determined by the users who are giving feedback as you iterate, who also give feedback on how the app does the what. A part of how the app does the what is how it looks. Some of the time the shapes and colours are just window dressing, other times they are tightly coupled to how the app works. Colours, icons and shapes can be given special functional significance instead of just looking nice. I've got a bit of a dependency list going on with YAGNI, which over the iterations narrows big problems down into small tweaks. That's what iterating is all about to me. The whole idea is to make the big mistakes early when you're working on the big ideas. The order:
The last step, tweaking, is small stuff that can take hours and hours of refinements. Eventually you have to draw the line -- and that line can be determined by time, money or both. Tweaking too early can be an absolutely disasterous waste of time because a big change can come along and nuke hours of tweaks. That's what YAGNI aims to avoid. On a project like FanConcert with limited resources (my own time) I'm especially conscious of premature tweaking. I don't have any time to waste. Working on big things early means that the users and customer are giving feedback about big things, instead of focusing on small details like colours and button placement. Sometimes I have to do some UI work so the UI is not a distraction from bigger issues but most of the time I like to try to focus the user's feedback on the same level of detail I'm working on. In FanConcert's case, I thought that the function is nailed down sufficiently enough to work on how the site looked. I'm very happy with the initial run at it but tweaking is inevitable as I start getting feedback on it. Again, I will try to delay some of the minor things until the last possible moment by prioritizing my efforts. I'm being lazy by delaying things as much as I can but in a calculated, constructive way. That's YAGNI. Posted at December 22, 2005 at 07:51 AM ESTLast updated December 22, 2005 at 07:51 AM EST Comments
|