Coffee Theory

Ask web developers about the tools they use, and it’s likely they’ll start talking about hardware, software and web applications. That’s understandable, but it’s not the whole picture.

I believe things like software pale in comparison with the most powerful tool available: coffee.

I'm not talking about caffeine. What I'm talking about is the power of informal work time. It’s wrapped up in what I call Coffee Theory, which in short form is this:

Large organisations only survive because people drink coffee.

It’s all about people

When I think back over the projects I’ve worked on, technology was often the least of our problems. Before we even started coding, there were people to convince, requirements to gather and budgets to get approved.

Sure, bugs can be nasty and frustrating – but they can be fixed. You’re smart, you can Debug Stuff. But you can’t debug people; and if you hit a big enough problem with people you might not even get to the coding stage.

People can baulk at an idea, people can play politics and ultimately people can bring your entire project to a halt. One thing is for sure – you can’t solve people problems by hacking code.

The good news is a lot of people problems are communication problems, and coffee can help you fix those.

Communication Problems

Businesses generate a huge amount of data, but they struggle getting the right information to the right people.

The problem starts with simple overload – there’s just too much email and documentation for any one person to read. Attempts to filter information have mixed success, since the gatekeepers may not always know what’s relevant to everyone else.

If the organisation is big enough there can be entire teams who do similar work, but have no effective lines of communication. Maybe they only ever deal with each other when something has already gone wrong – and they’re still annoyed about what happened last time…

At best, you’re probably missing great opportunities for collaboration, knowledge sharing and just simply meeting new people.

At worst, you can have teams working at cross purposes, duplicating effort and having arguments that are mostly historical. Good things like “what’s the best solution” get lost in the noise. The organisation has ended up with internal disconnection.

So how does coffee help?

The morning coffee break does not respect hierarchy, structure or politics. When you go for coffee, you can and will meet everyone from the developer who sits in the next cubicle, right up to the CEO.

In the corporate environment, people who otherwise wouldn’t talk to each other can still meet over coffee. Organisational disconnects are repaired by the humans in the system, since they are social beings who get together and chat about Stuff™.

Without coffee, without informality, organisations would grind to a halt. Think about it: if you waited to be told everything through official channels, do you think you’d ever get anything done? Or have you just learned who to ask when you need information?

Smart managers recognise this and encourage their staff to socialise a little at work. They know that some of the best ideas happen between the discussions about sport, politics and the weather.

People are often more attentive and open to discussion during the coffee run – you can actually get their undivided attention, away from the interruptions of the office. It can be a very smart and efficient way to brainstorm a problem.

So coffee is the reason that large organisations survive. If individuals are smart about it, coffee can also be a way for them to thrive and have fun within these bureaucratic behemoths.

Extend your social network

One of the best things I’ve ever learned about work life is that “networking” is just a fancy word for being sociable. So if you’re worried about taking some time out of your day for the coffee run, remember that keeping in touch with co-workers is an important part of work life.

Walk to the coffee shop and get to know the people you work with; then get to know the people they work with. Keep doing this and you’ll have contacts all over the organisation, which turns a cold call into a friendly chat. When you need information you’ll have friendly faces to go to – and they’ll come to you when they need your expertise.

Even if you’re not a hard-edged, career-driven type, being friendly with people makes work life infinitely more enjoyable. It’s not cynical, it’s human!

Don’t get carried away…

With all networking activities there’s a danger of acting outside your character because You Are Networking And This Is Serious Business. I think the best way to avoid this is to just relax and be yourself.

Be friendly, be genuine and let the passion for your work speak for itself. Pay attention to the things other people are passionate about – even if you don’t share their focus, understanding it will help you work together.

Use coffee as a way to get to know people, but don’t bulldoze conversations into an agenda. You should find opportunities to pitch your ideas to the right people, but let those moments arrive naturally.

You should also be a little diplomatic – be open, discuss whatever comes up, but be just a little careful. Remember, if you’re about to tell a senior manager how unbelievably bad a system is… they might have been the one who selected the system in the first place. So be nice.

The coffee shop is not a boardroom!

Beyond the random gathering of the coffee run, you can use coffee as a way to break down barriers with specific people.

If you’ve had a string of meetings with someone and still find yourselves at an impasse, try meeting in a coffee shop instead of the office. The change of pace can help find a new approach, or prompt people to explain underlying issues they didn’t think to discuss in meetings.

People relax in coffee shops – they do not relax in boardrooms. Take people out of strict working environments, and you may find “impossible” problems can be sorted out in half an hour over a coffee.

Coffee is informal, it's friendly and it's personal. It shows that you're interested in the person as well as the business card. It may not work on everyone, but you might be surprised who it does work on.

“But I don’t like coffee…”

Great, or maybe we could go somewhere and just eat a bunch of caramels. When you think about it, it’s just as arbitrary as drinking coffee.

– Will, Good Will Hunting.

Coffee theory does not strictly require coffee. Coffee is just a very common social ritual which is accepted in most offices. In your office it could be tea, ice cream or indeed eating a bunch of caramels.

The actual thing doesn’t matter. Realistically you should just watch out for informal moments which offer an opportunity to step outside the normal, staid office dynamic.

What about beer?

Sure, beer is another social lubricant. But unlike coffee, it does not sharpen your ability to pitch your ideas. Alcohol is also commonly consumed at the end of the week. So although on Friday night someone was totally convinced you're on to something, by the time Monday rolls around they’ve probably forgotten the conversation entirely.

Besides that, not everyone drinks beer. But most people do enjoy some form of break during the work day. They also tend to do it every day, so you don’t have to wait another week for the pub night to roll around.

So beer has its place; but realistically while you’re likely to achieve general social bonding between workmates—and yes that’s a good thing—you’re far less likely to get any real work done.

To the coffee shop!

Regardless of your role, at some point the human factor is going to be the biggest hurdle you have between you and your goals.

The challenge may be selling an idea; resolving a dispute; getting people to work together; or finding new ways to do old tasks.

Whatever it is, sometimes the office will not hold the answer. Meetings, email and phone calls can’t fix everything. Sometimes you need to get people out of the workplace and into a different mindset – and going for a coffee is an ideal way to make that happen.

So that’s Coffee Theory in a nutshell. It’s about bridging the gaps left in corporate communications, so you can get people together and get things done. It’s about embracing the human side of work life; and accepting that informal work time can be the most productive time of the day.

It’s worked for me so far, I hope it works for you too.

Now, who’s up for a coffee?

Labels: , , ,

proudly naked

It's CSS Naked Day, is your markup showing?

There's a certain purity to seeing content with absolutely no CSS applied. Raw structure, a focus what the page is really about. It pares away all possible distraction, shows the heirarchy of content. Plus, it kind of reminds me of the early days when my net access was text-only ;) (vt100, dialup).

Running good semantic HTML without any CSS is perhaps the most levelling thing you can do - everyone can use it. Desktop browsers, mobiles, Lynx, screen readers... the Googlebot is pretty big on text, too.

Good structural markup is the foundation for a solid, flexible and maintainable website. You should always pay attention to your markup!

Labels:

putting ie6 out to pasture

Many things live on past their use-by date, but few have shown the zombie-like tenacity of IE6. It has remained animated, chewing on our brains long after it should have stopped twitching.

We've all felt the pain of building for IE6 alongside modern browsers. So, it's glorious to be able to say this - 2009 is the year we get rid of IE6. Say it with me, people!

We know it's the right decision. IE6 is obsolete, insecure and takes a disproportionate amount of developer time. It doesn't make any sense to support IE6 when times are tough and budgets are short.

No more waiting. I can feel it in the very bones of this industry - can't you?

It's not just funny slogans and therapeutic IE6 hate sites, either. We're talking about the reality of how we actually get this browser off our support lists.

why now?

IE6 is long overdue for the chop, but the release of IE8 was the last piece of the puzzle.

IE7 wasn't it - there were too many locked down corporate environments, too many intranets that only work in IE6. Too many corporate policies about running one version behind the latest, for reasons like stability and cost.

IE6 has hung on, retaining a truly astounding market share - even now it hangs on to roughly 18% depending on your source. Much as we hate building for it, we had to accept that people were using it.

But now, IE8 is out. That puts IE6 two entire versions behind; and companies with IE6-only services have had two years to prepare for the inevitable. Microsoft's recommendation is to upgrade:

Customers who have applications for Internet Explorer 6 should visit http://msdn.microsoft.com/iecompat for the latest guidance on migrating from Internet Explorer 6 to Internet Explorer 7 and Internet Explorer 8.

Internet Explorer 8 Business FAQ (PDF)

IE6 is just too old and outdated to be part of a responsible corporate operating environment. Similarly, home users with IE6 should upgrade to something more secure even if they don't care about the new features. There just aren't any good arguments for keeping IE6.

just how old is ie6, again?

IE6 was released in August 2001. Its competitors were Netscape 6 and Opera 6. Firefox and Safari weren't even out when IE6 was released.

IE6 is older than iPods, Canon dSLRs and BlackBerry smartphones (the Sony-Ericsson P800 was the hot smartphone at the time). It's older than MySpace and YouTube. Web 2.0 wasn't even a buzzword yet...

We are talking about a browser that simply wasn't designed for the modern web. IE sat stagnant for more than five years while other browsers improved standards compliance, speed, security and features.

The real kicker is that since Microsoft was shocked back into IE development, they have released two major versions of the product. They make no bones about whether IE6 should still be in use:

Internet Explorer 6 was designed for the Web as it was in 2001. In the last 8 years the Web has changed and evolved. ... Internet Explorer 8 provides the latest features to help users get work done more quickly, and browse the Web more safely and more reliably.

Internet Explorer 8 Business FAQ (PDF)

That's about as blunt as corporations get about their own product. Microsoft can't really push much harder - it's stuck with a long support plan for IE6 because it came bundled with several operating systems.

What this all means it that we should switch from "waiting for IE6 to go away" mode, to "giving it a push out the door" mode.

options for "not supporting" ie6

So what does it actually mean to "not support" IE6?

Unlike other decrepit browsers, IE6 is still clinging to a market share large enough that few sites can dismiss it outright. For some lucky sites the share is low enough to aggressively push it out, but for the rest of us we need some interim options.

In the world of graded browser support, IE6 still manages to be its own category.

So, here are some options:

  1. No change: continue full support. If you are stuck with this, make sure your timelines and maintenance budget are increased - the site owner needs to be aware of the costs.
  2. Reduced bugfixing: aim for full support, but when you hit an IE6 bug you fix it the simplest way. That usually means IE6 will look a bit different - a few px here and there - but you can save days of development time.
  3. Progressive enhancement: use advanced CSS and provide a premium experience for better browsers. So what if IE6 gets square corners instead of round ones, or loses a text shadow? It doesn't matter so long as the site is still functional in IE6.
  4. Soft push: keep supporting IE6, but show a low-key message on your site encouraging people to upgrade (or contact their IT department requesting an upgrade).
  5. Aggressive push: actively tell your users not to use IE6; stop serving stylesheets to IE6; etc. Some high-profile sites like Facebook are going down this path, but right now it's not a viable option for all sites.

Chances are that your roadmap will move through these phases, for example a combination of reduced bugfixing and progressive enhancement is likely to fit a lot of mainstream sites.

arguments and questions

If you take this issue to your boss, or to your clients, it's not hard to anticipate a few questions coming up...

Don't you support other older browsers?
Not two entire versions behind and not when the browser in question can take as long to support as all the others put together.
Don't we just have a percentage threshold for browser support? Don't we have to wait for IE6's share to drop to nothing?
Browser support really isn't quite that simple. In any case IE6 has an artificially inflated share, despite being the worst browser on the market. It has to be pushed out.
I can't just take your word that IE6 is bad...
Ok... Microsoft evangelists recommend upgrading and Gartner strongly recommend you upgrade or switch if you're still on IE6. Does that help?
Surely bugfixing isn't that big a deal?
IE6 is so outdated "bugfixing" means "build and maintain a parallel code base". If we're going to that much effort, maybe we should invest in a purpose-built mobile site instead? Or free up some time for R&D? Or just simply drop IE6 and save some money?
It's your job to build the website, just get on with it.
It's also our job to advise the business when it's making an expensive and risky decision. It is bad for business to support this browser.
Can't I simply expect you to build for it, like last time?
Not any more. Now that we have to support IE8, IE6 is outside the reasonable boundaries of assumed support. IE6 support is now outside scope, unless you pay for it.
Don't your estimates cover it?
The market has now changed and estimates need to be revised accordingly.
We only have IE6, since our intranet only works in IE6.
That's a very risky dependency. However it should not dictate the support standard for your public website, which is frequented by people who don't use your intranet.
As far as intranets go... IE7 has been out for more than two years; and Microsoft has released two entire rounds of "readiness kits" to help update IE6-only services. At this point, maybe you should consider using Virtual PC for your IE6-only application (it's free); and upgrade workstation browsers to something better.
If you're really stuck with IE6, you can also roll out an additional browser on your system; giving users a modern, secure browser like Opera, Firefox, Chrome or Safari for general web use. You do not have to live with just one browser.
But... IE6 looks different... DIFFERENT I TELL YOU!
Unless you have a contractual obligation to make IE6 pixel-perfect, that really doesn't matter. Let the web be the web.

last thoughts

Most browsers don't need this kind of attention at the end of their lives. Most die out pretty fast when the new version comes out. IE6 is an aberration, an accident of history.

If Microsoft hadn't sat on IE6 for so long, perhaps we wouldn't have got so many web and application developers who started treating it like a stable release environment. Maybe if Microsoft had pushed IE7 a bit harder it would have taken more market share. Who knows.

The reality we have right now is that the industry is being held back by a crappy browser that even the vendor wants to see gone. Although we would normally keep supporting a browser to its natural death, IE6 has stubbornly refused to die.

The industry has to take control and say enough is enough. It's bad for innovation, it's bad for our sanity, it's bad for security, it's bad for everyone's bottom line. IE6 has to go. The time has come.

Say it again: 2009 is the year we get rid of IE6!

Labels: ,

Review: Asus Eee PC 1000H

The popularity of netbooks seems to just keep on growing. I suppose it's not really surprising to find a lot of people are keen on a cheap, small laptop!

I bought a 10″ Eee PC just in time for WDS08, where it seemed even the Macbook Pro's dominance might be under threat from cheap ultraportables. Since then I've travelled to Perth with it; taken it to several web events; and even used it at work.

Since I periodically get asked what I think of the Eee, I thought I should write up a proper review.

Specific model: ASUS Eee PC 1000H, Windows XP Home, 80gig HDD, 1gig RAM, 1.6Ghz Atom CPU.

price and portability

Photo: Gen5 iPod Classic and EeePC 1000H

Two key reasons to buy a netbook in the first place are that they are cheap and tiny. With the Eee PC I have a neat little laptop for about the same amount of cash that my first iPod took out of me, which is kind of impressive when you consider the 1000H is one of the more expensive models so far.

And yes, it's tiny. The 10" model is heavier than the 9" (for obvious reasons), but it's still really light. I really don't notice the extra weight in my backpack on the days I carry this with me, a sharp distinction from the 15" MacBook Pro I used to borrow (which weighs a ton).

The Eee's portability is particularly noticeable getting through airport security checks. I've lugged a few different laptops through airports and they've been a real pain. However the Eee was a breeze - probably mostly because you can pick it up easily with one hand, leaving the other hand free to grab your bag.

battery life

In power-saving mode the Eee easily goes for more than five hours, putting far more expensive and heavy machines to shame - most laptops seem to need power by the two hour mark. Asus claim a maximum of seven hours, but to be honest I've never had it running that long in a single stretch away from power.

To put it into real terms... during the flight to Perth for Edge of the Web I spent time editing my presentation, watched an episode of Top Gear, wrote a draft of this review and still had three hours of battery left.

The only battery-related niggle is the battery LED. For no sane reason, it blinks green all the way from 80% down to 20%; at which point it starts blinking orange. This means the LED is blinking uselessly most of the time. I don't need to be alerted when power is 80%!

keyboard

The keyboard was the reason I never bought a 7" Eee PC - I couldn't type on it, it was just too small. But the increase to 10" was a critical difference - it's still small, but usable.

Photo: Eee PC keyboard The keyboard has an excellent feel, apart from a slight rattle in the right-hand side. My only complaint is that the right-side shift key is in the wrong place. Asus had to compromise on the placement of the shift key to preserve the layout of the cursor keys.

What this means is you have to be careful, or else an accidental keystroke on the up arrow will have you editing the line above your intended focus. It's annoying and it's really my biggest complaint about the machine.

Still I'm getting used to it and the only netbook I've seen with a better keyboard was the Acer Aspire One, which didn't compete with the Eee on any other critical factor on my list (particularly battery life).

touchpad

This machine has one of the most natural and responsive touchpads I've ever used. It really is nice to use and with the low resolution it's plenty big enough. The multi-touch features are great.

screen

The 1024x600 screen is fine. On the rare occasion something doesn't fit vertically, you can switch to a 1024x768 mode - you scroll slightly to the extra screen area, which sounds a bit odd but actually works pretty well.

performance

I haven't had any problems with the performance of this machine. It does take a little while to start up, but once running it's fine - which has been true for many laptops I've used.

Performance meters

The Eee switches between three modes (power saving, high performance and super performance) depending on factors like whether it's on battery or mains power. Obviously you can override that behaviour, trading off some battery life to run at full CPU power.

Either way it handles work tasks just fine, particularly using StarOffice; it plays music and video with no hassles; and I've not had any issues with common browsing tasks.

I'm not sure how it would cope with something like Photoshop, but I'm not planning on doing any photo editing on the Eee. I have a desktop with a nice 22" monitor at home for that.

glitches

I've had one or two minor glitches. I needed to upgrade the touchpad drivers to get it working in some browsers; and if you have a password set on your machine it will bounce back out of sleep to the login screen the first time you hit the sleep button (you have to hit it again to actually sleep the machine).

I've also found you need to be patient and wait for Windows to finish shutting down before you close the lid. Apparently there are some system dialogs which prevent shutdown and the Eee doesn't seem to override these at the hardware level - which is bad if you've already shoved it into your bag.

Really these are minor issues and I think they're more related to the OS than the hardware.

summary

The Eee PC was built to a purpose and it fulfils that purpose very well. I wouldn't buy this as a primary workstation because that simply isn't what it's for. However as a secondary, portable machine on a budget it's brilliant.

Good:

  • cheap
  • light
  • extremely good battery life

Bad:

  • annoying battery LED
  • right-hand shift key in wrong place

Would I recommend it to a friend? Heck I do all the time. I'm really happy with my Eee PC.

Labels: ,

microsoft virtual pc tips

I've never been a fan of "multiple IE" and "multiple Firefox" hacks, since my experience has always been they're not quite the same as having the different versions installed on different machines. Most of the time they're fine, but sooner or later one of those funny little bugs will bite you.

So, for a while now I've used the free Virtual PC setup that Microsoft gives away for testing purposes. They're full systems, so you can be confident that they're "real" installs - and of course you can run other browsers on them too. Currently I run a test image with IE6 and FF2.

Here are a few quick tips about Virtual PC that I've learned along the way...

Where to download it:

Setting it up:

  • The free test images are all time-bombed to an irritatingly short period of time. So, don't invest too much time setting them up.
  • I usually name the machine something like "IE6 to the end of April 09" to remind myself which image it is and how long it'll keep working.
  • I've found Virtual PC images seem to run a little better if you double the "recommended" RAM to 256megs. YMMV.
  • The test images given out by Microsoft will generally have no Flash or an old version installed (usually v6). So you probably want to upgrade Flash immediately unless you are specifically wanting to test old Flash versions.
  • Virtual PC unable to connect to the web? Try setting it to use a shared connection (NAT). Right-click the network icon at the bottom of the Virtual PC  window, and hit "network settings" in the network panel. NAT will be an option in the adapters dropdown.

Using it:

  • Sick of using the mouse to get out of the Virtual PC window? Hit right-alt+L to minimise it, then you can alt-tab as normal. Right-alt is the default "host key" which has a bunch of other shortcuts as well.
  • You can drag and drop, copy and paste etc between the host system and the virtual PC. I was used to a VMWare environment where you couldn't do that, so I originally assumed you couldn't do that in VPC - but you can.

I hope those tips are useful. Happy testing...

Labels: , , ,

about

Web development and standards, as seen by Ben Buchanan.

subscribe

elsewhere

[More bookmarks]

No Clean Feed - Stop Internet Censorship in Australia