Interview w/ Tool Man Tim
Interviewee: Tim Lucas of Tool Man Tim
1. How did you get started in the world of web development?
It started in the early years of high-school. I remember printing out the entire HTML4 tag list as a reference guide, doing beautifully bevelled purple headlines and jazzy DHTML and table based numbers... and from there I never really stopped.
2. You've worked extensively with RoR, what's the best way for a new developer to start learning the framework?
Jump in a build a little database driven application. Write a grocery list application, a contact list, a site to track the growth of your mum's chilli plants. The second best trick is to simply view source - you're never far from the source of the web request with Ruby, you're not hidden under dozens of opaque layers. You can learn a lot by browsing the source of the common frameworks and tools, some would argue that you should always be looking at the source of the tools you use to at least appreciate them if not understand them.
3. Any Ruby on Rails for beginners book recommendations?
The Ruby Way and The Rails Way are two good ones, and Pragmatic Programmer's upcoming Agile Web Development with Rails 3rd edition is available in beta format if you want the most up-to-date.
4. They say code is poetry...if thats true do you ever get writers block?
For sure, especially if it's a large important feature. The trick is to start small: solve a small piece of the puzzle regardless of whether you can see the big picture. If you've ever played a Pictionary champion you'll notice that spurting off words and reworking them as you go will often get you to the answer faster than if you sit there in silence - not to say good hard thought is without merit, it just needs to be combined with moving forward with actual code.
5. Merb + Rails, good or bad?
There's a healthy attitude in the Ruby community of proving something through code rather than rhetoric and I think the Merb guys have shown how you can piece together a clean, punchy and considerably-sized web app framework.
Merb + Rails for me is basically a big statement of intent to refactor the hell out of the Rails code base. The current Merb users and community (of which I'm one too) lose out because the attention is being spent elsewhere but if that's what wycatz and co. are most excited about then let them go for it I say.
6. One web development trick that saves you time?
Getting a prototype of the app up as quick as possible so that you and your client are speaking the same language.
Every person on a project adds their own touches and the sooner you can start talking about something concrete the better. I'm often reminded of this.
I personally whip up as many little (Sinatra)[http://www.sinatrarb.com/] applications as I can to prove and demonstrate an idea.
7. Everyones talking about creating web applications that behave more like desktop applications, have you jumped on this bandwagon as well? What's the best to create such applications with the tools that are currently available?
For me when we start to abuse URLs, the foundation of the web, such as using frag ids (#) for loading and browsing pages then we're walking on thin ice.
I tend to start with simple standards-based REST sites and then layer the really efficient interactions on top.
The best improvements in interaction come from critically looking for the core of the problem you're trying to solve and then simplifying your approach around that—desktop-like interactions are just the icing on the cake.