Archive for the 'process' category

Brain Storm

I’m okay at working through a bit of analysis on my own. Just me, a pen, a sheet of paper and a problem (or solution) that needs looking at. Although sometimes the bit of paper is in the way and I’ll end up writing fluff down. But I can do alright, I think.

However. Replace the bit of paper with another person, focused on the problem (or solution) at hand and something else entirely happens.

This isn’t really meeting territory. If “brain-storming” wasn’t such a bullshit term these days I’d maybe try and use that. It implies the kind of mental fireworks that can occur. Actually, I think I’ll use it. Brain-Storming with liked-mind people. Talking to them and listening to them. Ideas just sleet into your head from places unknown.

Is this really obvious? Probably.

Well, it always freaks me out every time it happens. I end up grinning a lot. People probably think I’m weird, but this is the reason why.

Freaks me out. Every. Time.

Designing in code

Inspiration struck over the weekend for a wee web app to make life a big easier in a small way in the office. Going to thrash out the technical details tomorrow, hopefully, and then have a prototype up and running ASAP.

But this evening I’ve been working on the UI. I’ve got something going that I’m really happy with. And the closest I came to opening any kind of graphics software was resizing a couple of user avatar placeholders in Preview. Everything else was done in HTML and CSS, straight into the browser. I’ve never really got used to doing mockups in Photoshop or whatever. I don’t have the patience for it, and it’s not really my medium anyway. But cracking a tricky little layout problem by thinking laterally about how to style a span? Dynamite.

Now it feels like 2010.

85% + 15%

The project is approaching some kind of conclusion. 85% seems like a decent number. For it. Certainly not for the theoretical site that is still sitting amongst the pages of the various bits of project documentation. That has been replaced with something crunchier, trickier and yet more nutritious. 85% sounds decent and reassuring.

Things are still a bit rough round the edges, but also coming together. It starts feeling like a site, despite the placeholder content and the same image on 147 of the pages. The cracks are starting to close up. At least the ones I’m deciding to notice.

Unfortunately 85% means what’s left is all that stuff that I’ve forgotten about or overlooked or ignored. The unknown bits and pieces that’ll only start making noises once the site gets properly used by actual admins and users.

Bloody 15%.

Oh well.

The more things change

I spent the last couple of days of last week working on a new website, where we are taking a fully progressively enhanced approach to the user interface. It really did feel good to be working this way. Not having to worry about things like non-CSS drop shadows or corners freed up my head to more carefully consider other choices. Like laying out quite a bit of a busy header using absolute positioning. Not something I’d done before. But starting with markup that is just the way you want it makes you more inventive about keeping it that way.

The other thing I noticed is that the details still remained and demanded attention. I’m not sure I was expecting this. Buttons, clean and simple though they were, still needed to be teased into the correct vertical alignment. CSS still needed to anticipate a change in text-size that would start shifting elements out of their original positions. It was still as tricky as ever. IE6 was still a pain, although not, it turned out, as much as Firefox 2, which has quickly become a persona non grata around here, due to its lack of display:inline-block. Who’d have thought?

Anyway. The process was initially frustrating because I thought I should be making faster progress than I was, but it ended up being kind of a relief. It’s good to know that thought, consideration and creativity are still as necessary as ever. Just used more in the right places.

Prog Rock

We Interface Developers have been talking recently about the range of browsers we support and test our sites against. IE8 is threatening to be released any day now, and almost as importantly it is definitely not threatening to kill off substantial use of IE6 and/or IE7 anytime soon.

So we have a trilogy of different Internet Explorer browsers doing things their own, interesting ways. Plus the Webkit and Gecko-based alternatives, like Safari, Firefox, Camino and Chrome (I would call these necessities rather than alternatives, but I’m still in the minority according to the stats).

It means a lot more work for Interface Development. In the same amount of time. So instead we need be smart and not just keep the smartness to ourselves.

Up until now we’ve been able to support a fairly generous production process, in terms of what the client has been getting. That is, sites that work and present themselves pretty much identically in all the browsers we support, IE6 included. Working that way is the result of many things, not least the fact that our team really knows what it’s doing when it comes to wrangling angry browsers.

But a new perspective is needed. One that recognises that treating all browsers the same actually does more harm than good in the long run.

I’m a bit obsessed when it comes to clean, semantic markup. It’ll tend to the be the first thing I look at when studying a site. You may be rocking the best visual style the world has ever seen, but you’ll not get any opinion from me until I’ve hit “view source” or fired up Firebug and checked out the DOM. At which point it can all go horribly wrong.

Of course, being an inhabitant of the real world, an attitude like this is tough to maintain when you are actually making web stuff, and compromise is never a bad thing when a deadline is approaching or an extra bit of markup gives a more robust finish.

But priorities and expectations about the web have changed radically in the last couple of years, such that compromise on markup standards has become a luxury rather than a necessity. We don’t have time to keep hauling struggling browsers along at the same speed as the pack leaders. We have to accept what has always but which we’ve been able to ignore up until now: All browsers are not equal so they should not be treated as equal.

We need to adopt a approach of Progressive Enhancement and make this the core of our process. We need to allow flexibility in the user interface to give enhanced functionality across all browsers.

The best browsers today can do amazing stuff given the chance. The worst browsers today can provide better functionality and speed given the chance.

How to achieve this is simple: don’t try and apply a one-size-fits-all interface, because actually it doesn’t fit anybody. The old browser struggles with the extra markup, styling and images. The new browser is stuck handling a legacy implementation it could run rings around given something fresher to work with.

And then the future turns up and things really get bad.

Let’s go the other way. It has frickin’ lasers and everything.