I’m mourning the passing of IE6.
It’s not that I like IE6 or like coding for it but I’ve spent my whole life learning all those hacks, tricks, tips and other nonsense fixes to beat it into submission. I used to wear my hacks as a badge and took pride in getting IE6 to behave in situations where others couldn’t. Now that time has passed and I feel like I’m in mourning. I have all that knowledge sitting in my brain waiting to burst out but with nowhere to go.
When I code now, I write rules that I know will work and be interpreted correctly by the more modern browsers but where’s the fun in that?
You know what I say?
To * html with it all...
Past Thoughts: March 2012
Time. It's a precious commodity. Some would argue that time is, perhaps, the most precious commodity. Family, friends, work, hobbies, chores, side projects, education & more all warrant & need our time yet it's the one thing we can't have more of. Sure we can work smarter and use tools to improve our productivity but ultimately we can't have more time. I often find myself thinking about dormant domains, looking through sketchbooks and notepads full of great ideas.
How many great ideas for side (or other) projects never come to fruition because of alack of time? We need a place to share those ideas with like minded people. Blogs, Twitter, Github, Kickstarter & others help facilitate this but all are lacking in some way. I'd like to see a place where Ican give ideas away, some throwaway, some more thought through. Aplace where someone will take on those ideas if they deem them worthy and because they have the time. Maybe somewhere exists that I don't know about, or maybe this is just another idea I don't have time for.
You can get quite far by putting cool stuff out there and expecting everything to come to you. Yes, you will eventually get job offers, conference invitations and various distinctions. However, sometimes, just asking will get you what you want much faster.
I used to avoid asking like the plague, and thought that if my work is good enough, what I want will naturally come to me. Which makes sense, to a certain extent: When someone keeps asking for stuff all the time, you can't help but think that they merely see you as means to an end.
However, when you really want something, it never hurts to approach it yourself. Lately, I've been experiencing how much easier this makes things, and I'd strongly recommend you try it too. Turns out that quite often you don't have what you want not because you aren't good enough, but because the parties involved have no idea you're interested.
Process is for fast food restaurants. I’m much more interested in skill.
Skilled people without a process will always find a way to get things done. Skill begets process. But process doesn’t beget skill. Following a recipe won’t make you a great chef – it just means you can make a competent bolognese. Great chefs don’t need cookery books. They know their medium and their ingredients so well that they can find excellent combinations as they go. The recipe becomes a natural by-product of their work.
Sure, if you have a low-skilled team, or inefficiencies and costs are your top priority, process matters. But for knowledge workers, skill is more important. The best people don't care whether agile/waterfall/lean is the flavor of the month, or what job title they should hold. Instead, they care about practicing their craft, and being better than they were yesterday.
I often find myself in absolute awe of my colleagues' work. But when I was still new to web development, it wasn't just the work I was in awe of… it was the people too. I put those folks on pedestals. And the fact that I only “knew” these people online made it easier to idealize them and even hold them to standards of perfection.
It wasn't until I attended my first conference that I realized how this mentality was hurting me. I was terrified to introduce myself to people I admired and genuinely wanted to know. And because I believed these people were somehow better than me, I wasn't pursuing opportunities to challenge myself and be a better designer and developer.
Over time, I also began to suspect that this mentality hurts the people being idealized. The negative tone in our industry — that doesn't seem to be getting better — can't be blamed entirely on the easy firing off of casual insults on Twitter. I wonder if it's because of idealization and expectations of perfection. When someone is flawed, or makes a mistake or simply doesn't meet someone else's expectations, why is the response anger and name-calling?
Maybe it's my age and the glorious maturity that comes with it, but today, I'm more interested in connecting with my colleagues than putting them on pedestals and judging them when they fall off those pedestals. It not only makes it easier for me to understand them, their work and their decisions, but it makes it easier for me to have meaningful relationships with people I admire. And those relationships have given me far more — both professionally and personally — than my youthful idealization ever did.
If you can look at code you wrote 6 months ago and shudder it means you're doing something right. To learn that much in that little time is great!
Experience broadens your perspective and makes you better at what you do, though you must be awake to new ideas that can come from even the most mundane meeting and seemingly-unrelated chance encounter. Routine can help you be productive, but boredom can dull your senses. Take every opportunity you can to travel. Exploit every opportunity you have to meet new people and ask them about their ideas: what's most important to them in their work? How did they devise this? A walk in the park at lunch time can change you, provided you're open to examining what you see and experience. Be reflective, be thoughtful. Question yourself, your motives, your work. Write about these things: be it on a public or private blog or in a journal. To me, this is the only way to keep getting better at what I do.
Personal statistics fascinate me, and in the information age, I’m collecting a ton of them. Last.fm keeps track of what music I listen to and when I listen to it. Letterboxd does the same for movies, and the tagging system I’m using within it tells me how the movies were formatted, where I watched them, and more. Goodreads and Instapaper keep tabs on my reading, Foursquare and Tripit chronicle the details of my travels, and DICE’s Battlefield series knows exactly how many bullets I’ve fired in virtual combat, which weapons they came from, how good my aim is, and much, much more.
A smart person might be able to put together a decent psychological profile with this stuff. But if the subject has access to his own data in real time, is that profile reliable? I pore over my personal statistics somewhat religiously, and in many cases, it affects my behavior. I’ll be careful to space out an album’s repeat listens, even if it’s something I adore. I’ll go out of my way to rotate my reading between fiction and non-fiction. Ostensibly, I do this to make my experiences more well-rounded, or at least to give the appearance of well-roundedness to whomever might be looking.
But am I really doing myself any favors by paying attention to the play-by-play? Does such a calculated approach to these experiences rob them of their potential for serendipity? Does it needlessly impede the whims of natural curiosity?
"UX" as a single person's role strikes me as a red herring. User experience is everyone's job to get right -- from making sure servers respond quickly to having buttons that seem tangible and copy that's understandable. "Good UX" should be a core competency within every team member.
SEO and concern for conversion are not the enemies of design. Design has a responsibility to know the business goals and to exceed them through great content, clear hierarchical layout structure, and emotionally compelling visual treatment – and testing. Testing is frustrating because it implies that your intuition as a designer is not enough. That implication is correct. Ernest Hemingway is famous for saying that “The first draft of anything is shit”, and it applies to our designs as well.
I think we've begun to align ourselves around camps of data and relational design. The former places value on pure data conversion and the output often feels spammy and unrefined. The latter relies on emotional engagement with the product to produce a connection with the user and subsequently earn their trust and move them to the primary action, but if it falls short of those hopes the user is often blamed for bad taste or stupidity. Both these camps need maturity, these are not conflicting goals, but they often have conflicting processes and execution.
If we can align the scope, constraints, and budget to accommodate for iterative designs for our products and clients we can improve the impact of our UX and design and win the trust of investors and business clients. The end result is that your design is quantifiably stronger, earning you more cash. This has a direct effect on quality of your fermented beverage intake. Thank me by buying me one.
This month I’ve been working with my personal site. The last time I wrote on it was in 2010, which is a little odd for someone who enjoys writing as much as I do (I do also write on Twitter and Tumblr, though.) Part of the problem has always been a failure to find time for building out a site that meets ruthless personal expectations. Expectations that triggered various drastic measures at various points to try and expedite its completion. (One time, I removed all the CSS and left it bare, for example. It was supposed to motivate me to build the real thing. Eventually I just hacked on some more styles to make it legible and it remained that way for two years.)
On this occasion I was exported every post from a database into standalone text files, and that has led me to stumble upon and re-read some, including my very first blog post, from July of 2004. In the very first paragraphs I wrote:
It was, I suppose, inevitable.
I’ve spent many, many months mumbling on about the incredible CMS I’m going to write, and as per usual there is nothing to show for it. There is, again inevitably, the need to have a website in the time between “Now” and “Then”.
Eight years on, “then” is still a long way off. My inaugural post then concludes:
The plan with this blog is to write in it on occasion […] and at some point develop my own super-flash skin/theme/pretty whatsit for these pages, in such as way as not to leave me hating Web Development for the rest of my life. What with doing it for a living and all that.
Eight years on, I am in love with Web Development as my vocation more than I ever have been, and yet ‘finishing’ this longest of long term personal projects is never on my mind. When I work on it, I fall into the exact same rabbit holes as I did at the start: Indulging in distracting, glinting fragments of technology or design, and eventually shipping a site unfinished in a fit of exasperation.
What I’ve come to realise in this time is the value of a personal project that is never done. This site on my domain represents me personally and professionally. The social network leaseholds that host my more regular online activity will come and go and change, but this site is the canonical digital reference for ‘me’. Like the real me, its wellbeing is sometimes a little neglected, nor does it frantically keep up with design or technology trends. Also, it could stand to have some of its resources minified.
An eerie metaphor is not what makes my site valuable to me. The value is that since it’s never finished, I can change it at will. I can become interested—as I have—in hosting content via a git repository rather than a database, and I can tear everything apart to make that happen. I can pour hours into perfecting the export script that ensures every piece of important metadata is preserved, de-normalized, and presented better in the new site. The visual design is barer than it ever has been.
We have a limited capacity for the minutiae of finishing projects. It’s exhausting, and once it’s done there’s stability, and finality. When you ship it, you’re drawing a line and moving on to the next thing. If you want to scratch a different itch, you need to build a different project.
I’ve come to understand that this project I can never truly finish comes with creative freedom on a whim. Projects like this are rare in that they demand nothing, yet give you everything. You owe them to nobody but yourself, and I think I’ve finally learned to embrace that.
We all strive to release "perfect" sites and applications, but sometimes you just have to "ship"! Get it out there, live with it, gather feedback and then revisit, fix bugs, improve markup and deploy. What other formats offer us this opportunity? If you are procrastinating on whether your site or side project is finished, I say just "ship it"!
I remember reading an article some time ago (whose author's name now escapes me) about killing projects. Being part of an internal design team that works on various projects sometimes for months, I find this a particularly important issue.
How do you tell a group of people the work they've put their blood, sweat and tears into for the past few weeks, months or years, is not important anymore? How do you prevent team morale from slumping to painfully low levels? How do you prevent brilliant minds from leaving the group?
Publish and be damned, said the Duke of Wellington; these days, in between starting wars in France and being sick of everyone repeating the jokes about his name from Blackadder, he’d probably say that we should publish or be damned. If you’re anything like me, you’ve got folders full of little experiments that you never got around to finishing or that didn’t pan out. Put ’em up somewhere. These things are useful.
Twitter, autobiographies, collections of letters from authors, all these have shown us that the minutiae can be as fascinating as carefully curated and sieved and measured writings, and who knows what you’ll inspire the next person to do from the germ of one of your ideas?
Do you ever get the feeling that, as a profession, we're not really getting much better? Designers aren't designing better. Researchers aren't researching better. Developers... well, it's not really for me to say.
I think it's because our best and brightest stop making and start managing too soon. Those with the most talent and ambition are plucked out of practice just when their work is starting to get excited and they become line managers of the less talented and less ambitious.
That's pretty broken, right?
How do we keep young designers designing, young researchers researching, young developers writing code.
How do we recognize and reward their great work without promoting them into a role where they stop doing what they're awesome at and become managers instead.
How do we make it as prestigious to be one of the best designers in the company as we do to give people line reports and fancy job titles?
How do we stop promoting people away from excellence to their level of incompetence? How do we encourage apprenticeship rather than line management? How do we encourage people to take their careers more slowly?
Let's redesign incentive and reward and make being an awesome designer (or researcher or developer) something with an exciting career path, something to really aspire to.
What you're reading on this page may not be what I intended when I wrote this paragraph. A careless or careful choice of words, the thoughts that preceded you reading this, knowledge of the author, even the font displaying these words-- all these factors are working together to create a concept in your short-term, working memory. What you come to understand is based on what you perceive.
Given this knowledge, I cringe when people say "It's all about content". No, it's not. It's about perceptions and memories, which are continually constructed and reconstructed with every new bit of sensory input.
If I were to give you a fine piece of artisan chocolate (content), your judgement and reaction would be based on far more than the quality of the chocolate alone. In mere seconds you'd be recalling memories of other chocolates you've tried, adding in your estimation of me as a chocolate connoisseur, evaluating how this chocolate is packaged, factoring in the origin of this piece of chocolate, considering what the shape and color of the chocolate reminds you of as– in seconds, your brain would make a staggering number of conscious and unconscious associations. And your enjoyment of the chocolate? It is, according to numerous studies from psychology and neuroscience, based on all of these associations. Your experience of the chocolate is based on far more than just the chocolate.
The same is true of online content. Whether we're talking about text, photos, or something else, these things do not exist independent of some form of presentation. And the experience you have with that content is always situated inside of some larger context.
Why is this important?
Think about how many people respond before reading past the first sentence of an email, or how content displayed in a creative magazine layout doesn't get the same reaction when displayed in HTML. Or how the simple addition of "Sent from my iPhone" allows us to be more forgiving of a terse email reply. These aren't content issues. These are perception issues, of which content is a part.
Isn't this what our "user experience" work should be about: how people experience and respond to the stuff we put into the world? Why are we so quick at placing a premium on one discipline over another? Why do our processes place one discipline farther up stream, ahead of another? And why do we stop at providing content and graphics without asking "why" or what comes next in the experience? As human beings, we experience the totality of things working together for some intended purpose. The piece of chocolate, the remarkable web site. How much better off would we be as a profession if we focused less on the defense of these isolated things (content, graphics, interactions, code) and more on the experience people have with the sum total of these things?
Step away from the computer when angry.
I have a relatively low attention span when it comes to design, in that something I'm proud of one week I'm ashamed of the next. It's a terrible trait when working on large projects, because either my enthusiasm dwindles and / or I'm eager to work on the next version of a design almost as soon as the previous one is signed off.
Instead of trying to fight this urge, I've decided to embrace it this year. Last year I stripped back my site so it would be a relatively blank canvas upon which I could build. I'm doing the same to the new Viewport Industries site we're about to launch. Build up, tear down, but leave the foundations.
Perfect for those of us always keen to move on to the next thing.
Personally, I am making an effort to incorporate more of a sense of play into my work. If there is no sense of fun or joy in what you do, then you may be doing the wrong thing. In my experience, it takes a lot of deliberate thought to challenge cultural norms and common beliefs to allow ourselves to find that work doesn't have to be hard – that it can be play – and to start structuring our work and lives to reflect this.
The sense of play and joy always shines through a website or a product – channeling that sort of positivity will only help to continue making the web a better place.
I can't wait for the day when responsive web design means more than multi-width layouts. The web will never reach it's full potential until its architects, designers and engineers build it for an audience bigger than themselves.
Every client is looking for "simple, clean, and modern".
What I wouldn't give for a client that was looking for something "rich and flavorful".
Remember not too long ago, when people cared a lot about what was under the hood of their computer? The Manufacturer (Intel versus AMD versus Motorola), the architecture (RISC versus CISC), the size of the L1 Cache, the chip's clock speed, the bus speed, and on and on and on?
Sure, a lot of this was folks with too much time on their hands, but it was also the technology press. "Intel Inside" was something folks cared a lot about. Chips had brand names, and billion dollar marketing budgets (Intel after all sold not directly to the end user, but to the companies that built the system, but still spent hundreds of millions branding and marketing Celerons and Pentiums, and Core Duos and so on).
But a funny thing happened on the way to the future. People simply stopped caring. Few people know, or could care less about the hardware, chips, memory speed of their tablet or phone (and even their laptop). People certainly care about the results of the hardware, particularly battery life and perceived performance, but not the hardware itself, or its intrinsic characteristics.
Hardware has been almost entirely commodified.
A particularly strong indication of this is the "ARM" chip. Unlike most widely used chip architectures of the past (exemplified by Intel's 186 instruction set), ARM chips are licensed and manufactured by a wide array of companies, rather than purchased wholesale from a single manufacturer.
Well into 2005, with Mac OS computers all powered by PowerPC chips, debates about the real world benefits of RISC versus CISC architectures (did you have to look the acronyms up?), and raw CPU speeds measured in clock frequencies, versus measuring processor performance using measures such as Instructions Per Second were "serious" topics of conversation in the tech press, and among technologists with, as I hinted, a little too much time on their hands.
If, as little as half a decade ago you were to have suggested the almost complete commodification of the hardware layer of computing, I doubt you would have got too many takers.
I believe this process of commodification is a long term trend, that didn't start with PC hardware, and won't stop there.
In the 1990s, the Internet commodified networking, once the domain of huge companies like Novell. Once upon a time, companies paid hundreds of dollars per seat to license networking technologies for their PCs. No longer.
I think the commodification of the operating system layer is already well under way (during a 3 or 4 year period which has seen an explosion in new operating systems like iOS, Android, webOS, Bada, as well as the major upgrade of Windows Phone 7, this might seem like a ludicrous thing to say, so first let me outline what I mean by commodification).
With hardware, end user decisions were once often made based on the characteristics of CPUs, busses, motherboards, and the like. This is essentially no longer true. Hardware performance matters, but hardware characteristics simply don't (yes, companies do on occasion try to market their Android phones based on their clock speed, but effectively no one cares.) When users no longer care about the characteristics of a layer of a system, that layer has now been commodified.
So, what would it mean for the OS layer to be commodified? In it's most extreme form, end users would cease to care about the OS as part of their platform choice, which right now would be a ludicrous assertion. At least among affluent people in the “developed” world, a very significant percentage of users choose iPhones, in no small part because of the unique user experience of the OS (there are of course other factors at play, which we'll return to shortly).
But let's turn to the Android platform, the other significant smartphone platform (again, at least in the developed world).
Unlike iOS, Android is a far more fragmented ecosystem, even before we get to the array of OS versions. The Android user experience, unlike the rigidly controlled iOS user experience, is endlessly customized by device manufacturers and carriers, which is the first step toward the commodification of the Android platform, which is ironic, because these customization exist largely because of the commodification of the hardware layer.
Unlike iOS, Android form factors, screen sizes and resolutions vary significantly, from 128px x 128px swatch like devices, to Android big screen TVs.
Amazon's recently launched Kindle Fire, based on Android, but with an entirely reworked user experience effectively heralds the commodification of the Android OS. A vanishingly small number of people will purchase a Kindle Fire because it is an Android based device (and few if any won't purchase one when they would otherwise have because it is an Android device).
Like power and plumbing, Android (and in time all Operating Systems) will simply become a utility - vital, but largely unnoticed (until those times as with water and electricity that it's suddenly not available).
But I don't think the commodification of IT will end there. It will move further up the stack.
So, what sits above operating systems? Applications. Now, how in blue blazes, where the number of apps on a platform is a key measure of the the health of that ecosystem, and where platform owners work incredibly hard to entice developers to their platforms, could we possibly see the application layer commodified? What might this even mean?
Why would anyone actually build an application if it were just going to be a commodity?
Well, it's already happening. In many cases, an application is simply a means of providing part of a broader service (be that banking, or ordering a pizza for home delivery). These services, these business existed before apps, before smart phones, before the web. Apps (like web sites, and people answering plain old telephones) are simply a small part of the existing business.
Twitter effectively commodified Twitter client apps, by releasing their own free native clients across a wide range of platforms, they severely undermined the market for Twitter client applications. It's Twitter the service that matters.
Then there are services like Netflix, where the application in many ways is the service (you order, pay for and consume the service inside the application - which of course glosses over the enormous effort behind the scenes to make, but from the user's perspective, their engagement with the service is their engagement with the app).
But in the case of banks, home delivery, services like NetFlix, the application is already a commodity (while it's important that the user experience doesn't suck, that's part of the broader service design, its the overall service, not the application itself which drives users to choose it).
Of course, this is not always true, particularly in the game category. People play Angry Birds because it is Angry Birds. But even here, games are becoming increasingly less a stand alone product, and more part of a broader service. Angry Birds becomes Angry Birds Rio, tied into, and enabled by not application sales, but a broader entertainment experience.
The rise of game networks, with a continuous stream of new, engaging games is gaming as a service, which threatens to turn gaming itself into a commodity.
So, where is the business opportunity, when everything is turning into a utility?
Hardware, Operating Systems, applications, networks don't exist for their own sake. People use them to get things done. They use them for the outcome, not the process.
So, focus on the outcome, what the user wants to achieve - kill time, get food, communicate, learn something - and provide services which help them do that. You'll build sites and apps that run on browsers and operating systems, and ultimately hardware and networks to do so, but what you're really building is the service. Everything else is (and really always has been) but a means to that end.
To move through the world, to drink with people of the streets, or dine with kings who will never know such poverty: Our life's gifts come with both kisses and wounds. To seek shelter from experience is to live life quietly, and while completely understandable, people working the Web - advocating for better practices and embracing the ideals at the Web's core - must consider living life loudly.
If you seek comfort in your work, then claim that comfort - for you deserve it. But if you seek revolution and evolution? Desire to become more involved in evangelizing or advocating a given position? Ask apauper, or ask a Queen, and you will come to understand what it means to be both a pauper and infinitely wealthy in the same moment. You will also learn that the greatest equalizer of all is found in our moments of shared truth, no matter where we sit in the grand stadium of life.
To me, that is the greatness of the Web - that we can become equals -that we are made equals in our limitations and our vision. And through our conversations - the open discourse that drives an Open Web, we will certainly extend beyond our limitations and visions to new levels of insight and inspiration.
Move through the world, and work to not be afraid to face the facts of poverty or to be enthralled by royalty. We are equals in those kisses and wounds, and uplifted by shared resources and truth.
Something I've always found handy to keep in mind is this: You are your most important, most fun, most critical, and best client. As important as client work can be, there's nothing like a personal project that you feel passionate about to get your creative juices flowing, and to help you unlock a lot of untapped potential for future work. Whether it's a redesign for your blog, or a fully fledged web application, or a CSS animation framework - nothing pays off quite like a personal project.
People could love it or hate it, criticize or praise it, use it or ignore it - it doesn't matter. If it fulfills your own needs, or puts a smile on your face, or gives you something to be proud of - that's the most important thing. You are your own favorite client. I cannot stress that enough.
Recently I worked on the redesign of happycog.com. We planned, designed and coded the whole site in one 5 day work week and published it on that Friday, even with some bugs still showing. As a part-time perfectionist, the applauded philosophy of releasing early and often has always seemed a bit horrifying to me. Are you really going to let people see your code before you have quality assured it till your eyes can't blink anymore? Gasp! It's a formalists nightmare.
We've all been under tight deadlines and might not have had the time to test Opera for the 22nd time and sometimes it's 4 am and we forget to also add a :focus rule to our :hover declaration. In this big internet family we all are, a lot of folks genuinely want to help each other out and help you identify these items. If the attitude is "we are all in this together", then that's another great thing we have going for us.
The idea of social bug reporting can be really great. Two things to remember:
- Keep a thick skin and take feedback with a grain of salt, while giving yourself a pat on the back for all the hard work you've put in up to this point.
- Give feedback with grace and don't forget there are people behind those anonymous functions.
Perfection doesn’t exist, but there is a moment when imperfections become charming characteristics, rather than just flaws. We like people for their good qualities, but often love them for their frailties.
There are few occupations that are as open, where the barrier to entry is as low as it is in web design and development. If you have the ability, and are willing to learn, you can get started without a formal education or having to pay for college courses. Most of what you need to know can be found free of charge online.
Likewise, if you are good at what you do you might like to write articles and books, speak at conferences, be included in discussions on subjects. To get started all you need to do is start publishing your ideas somewhere, or offer to speak at small events, and other offers will start to come in.
In this industry we don't have to wait until the "powers that be" recognize our talent, we can put ourselves out there, and we have the skills and tools to do it.
When I have been asked to speak at a conference it is usually because the organizer has read an article of mine somewhere and feels the subject would be a useful inclusion. If I am asked to write on a subject it is frequently the result of posting something on my blog. That chain of events goes back over ten years to the articles I used to write on my personal site. Each article, book or slide deck leading to other offers, leading to new opportunities. You have to start promoting yourself, by producing good quality content, before people will automatically think of you as associated with a subject.
My husband and company co-Director Drew McLellan publishes the 24 Ways website in December each year. Many of the authors this year were new to the site and most of those new authors wrote for the site because they approached Drew with a great idea. So don't sit around and wait to be asked if you have great ideas to get out there. Publishers and conference organizers are usually more than happy to hear from people with ideas.
Get writing, get speaking, contact sites that publish articles and tell them your ideas. Contact the organizers of events and tell them what your talk will bring to the event. Don't wait for someone to do it for you, as that really isn't the way things are done around here.
I'm not surprised that companies try to become monopolies or to block open standards. I'm always surprised that developers are happy to let them.
Why is it, that when I’m traveling, I can do a day’s work in two hours, but at home a full day’s work takes just that, a full day?
When it comes down to creating and designing, I think it's safe to say that every designer has their good and bad days. Some days ideas come naturally, and other days we have moments where we are really stuck. When facing an inspiration block, I learned that forcing myself doesn't really help. You can try it for a while, but once you feel you are wasting time, keeping on pushing yourself will be of no use.
For me, the best thing to do in such moments is to take a break. It doesn't have to be a long break; 10 minutes is already more than enough. The important thing is that I think about something totally different than what I'm working on so that I avoid thinking about design for a while. I like leaving the office; I usually go outside, or open a book, sometimes while listening to music, or I even take a shower… Anything that makes me feel relaxed and clears my mind.
Another thing I sometimes try —depending on my ongoing projects— is to work on some HTML/CSS stuff. It feels as if I'm switching to another mode. After that small break, I try to find some inspiration by browsing through my Inspiration Gallery, or the stuff I gathered on Gimme Bar, or in my LittleSnapper library. Just things I find beautiful.
I don't always look at things that are directly related to what I'm working on. Inspiration can be found in many different things and in a lot of case it's also related to my state of mind at a given moment. Taking a break is of course not a guarantee you'll have the spark afterwards, but I came to see it as my best chance.
I’m a few thousand feet in the air as I write this, trapped in the center seat on an evening flight home. The plane is dark, but I’m surrounded by illuminated faces, each lit up as the passengers around me work or play on a laptop, tablet, or phone. After an hour or two, I realize just how, well, varied the devices are.
The diversity almost comes off as a bit contrived: I turn my head and count a couple Nokia smartphones, more than a few iOS devices, a Windows netbook, and a couple Mac laptops. I get up to fetch some water, and on the way back to my seat I notice a child guiding furious birds across the screen of his iPad; on the opposite aisle seat, a man swipes through his vacation photos on a PlayBook, while his wife drafts an email on an Android phone.
I couldn’t have dreamed of this Web when I started my career, but it’s the Web I want to build for. We all hold the promise of access in our hands, these miraculous little devices ensuring the content we want is nearby. And the means of accessing that content is almost secondary to my fellow passengers: these glowing faces work in clients both web-based and native, browsing sites both device-specific and responsive. A thousand flowers have bloomed, and we can pick the ones that best suit our work.