The Canadian writer, speaker, blogger and designer/developer extraordinaire answers your questions on choosing software, getting inspiration, learning how to architect apps that can scale nicely, and what’s holding back the web
@optimiced: Do you use Fireworks today (for web/design)? If yes, how does it fit in your workflow?
Jonathan Snook: I’ve used Fireworks for many years and have always felt it a superior tool to Photoshop for web design and prototyping. For personal work, I use it from wireframing through to full designs. At work, the software of choice is Photoshop, although we do very little with the actual Photoshop files any more. I used to have to go in and slice up this or that but with CSS3, we’ve eliminated a lot of that. [Check out Jonathan's 8 Essential Fireworks Tips for Web Design].
@designshifts: Which design/dev software (open or not) has stayed with you over the years?
Jonathan Snook: When I was on Windows, I stuck with UltraEdit and Dreamweaver rather religiously. When I switched to Mac, I used Textmate but a few months ago I switched to Vim (and MacVim) and haven’t looked back. It’s heavily customisable.
@webtrivia: Which features are missing or inadequate in current CSS3 modules and implementations?
Jonathan Snook: Layout is still the biggest hurdle. We have hacky tricks like float-based layouts but nothing gives us much power in the way of magazine-style layouts. We have display:table but it’s a limited form of what HTML tables gave us. We have absolute positioning, which can be powerful if you don’t have to worry about the content having an effect on document flow. Multi-columns is, in my opinion, of limited utility on the desktop web, although I’ve seen better use cases for it on tablet-based sites. FlexBox gives us a little more power and it’ll be great to see that settle down as a W3C spec and find universal support. In the next two years, FlexBox will be where we’ll see layout design trending to. IE10 Preview has introduced Grid Layout, which is where things really get interesting. It’s finally allowing for a much more powerful system for layout.
@aerotwist: What do you consider the biggest barrier to progress on the web right now, and why?
Jonathan Snook: The browser. It provides us the platform that we develop upon and until it gives us the features we want, we’re stuck developing for what we have. Even if one browser comes out with the latest and greatest, we need to wait for the lowest common denominator to catch up. That means waiting for other browsers to implement features in a consistent way and for users to upgrade their browsers.
@AdamHuxtable: When looking for design inspiration what is the most successful way of getting some?
Jonathan Snook: The first step for me is to get the layout down. Throw everything onto the page and just find a page structure that’s going to work. Once that’s in place, I can begin to focus the design, playing with hierarchy and contrast to direct the user to the content that matters. Often, I’ll have an element – something I’ve seen on another site, on a building, or a street sign – that’s something that I want to incorporate in the design. I’ve talked a bit about inspiration on my blog, Snook.ca, and how I incorporate those elements into the design.
It’s easy to find a site and want to apply that part and parcel to our own projects. However, whenever I’ve tried that, it’s always felt flat. It doesn’t have the same personality as the original. Also, I highly recommend keeping a log of things that catch your interest when you’re not in the process of designing. Store them away and come back to them when you really need the inspiration.
@pavelmocan: What’s the best way to learn how to architect apps that can scale nicely, add modules to, and so on?
Jonathan Snook: I assume you mean back-end scalability (versus design scalability), for which I’d recommend checking out the High Scalability blog or Planet Performance, which aggregates from a number of sources and includes front-end performance.
@toepoke_co_uk: Have accesskeys had their day?
Jonathan Snook: I think they have. I’m not sure they ever really had a day. ARIA roles and more thoughtful consideration for widget control and page navigation allows for web applications to feel and respond more like desktop applications while still being enriched with greater semantics and usability for screen readers. Accesskeys are too limited in scope and have poor discovery to be of much use within the web applications being built today.