Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

October 15 2013


Everything in Its Right Place: An Interview with Ahava Leibtag

These days, it seems that nothing’s more hotly contested than the role of content within our organizations: content is the brand, content is conversation, content is king. It’s a confusing landscape even for content strategists, those of us who specialize in the stuff! And that’s what makes Ahava Leibtag’s last book so special: Ahava takes the problem of “crafting good content” head on.

In addition to being President and owner of Aha Media Group, Ahava Leibtag is a content expert, focusing on content marketing and strategy. In her recent book, The Digital Crown, Ahava provides a whirlwind of brand and messaging best practices, examples of successful persona creation and messaging architecture, and even shares advice on how to present content strategy to C-level execs.

After reading the first chapter (free!) of The Digital Crown, we were keen to interview Ahava and get a deeper understanding of her motivations and influences in bringing this book to content marketers and content strategists. Join us as we learn from Ahava’s experience—and then find out how you can get a free copy of The Digital Crown!

You begin your book by comparing a website to a conversation, a comparison that author Ginny Reddish also made in her classic, “Letting Go of the Words.” —
The idea of content as a conversation definitely came from Ginny, although it was also shaped by The Cluetrain Manifesto’s conception of the Web as vast marketplace.

Another one of the guiding principles I advocate in the book is aligning your content with your business objectives. I know that seems obvious and most organizations think they are doing it, but oftentimes they aren’t. Instead, they’re creating content to satisfy stakeholders (rather than customers).

Thinking about content as a conversation between the brand and an audience gives businesses a pragmatic framework.

What other books and ideas inspired you as you wrote The Digital Crown?
Other books that were very inspirational to me were Content Strategy for the Web by Kristina Halvorson, many of Gerry McGovern’s ideas, and Switch by Dan and Chip Heath. Kristina’s book is foundational; it covers a lot of the details of how to do content strategy; Gerry really wants us to focus on our customers (something I also stress in the book); and Switch spoke to me because, so often, content professionals are tasked with shaping organizational change.

One of the things I write in the book is, “In essence, a company has to experience a cultural shift in order to create outstanding, winning content. Shifts only happen with guiding principles and support.” I learned more about how to do that from reading Switch and I think it’s critical for any content professional—whether in-house or at an agency—to understand how to suggest those changes for organizations.

n one of your examples you discuss the infamous “United Breaks Guitars” video, a shining example of a conversation in which a company lost control. Many companies are criticized for being too controlling of the brand (and losing valuable free advertising), however, such as when Microsoft sued a fan for getting a tattoo of a Halo character. How do companies find the right balance?
Businesses need to decide when to get involved based on risk assessment. We can measure damage in the past, but it’s a lot harder to measure the positives that might have been. (That’s why it’s a good idea to have post-mortems after things like this!)

Strong businesses develop a matrix—something unique to their company—for when and how to should get involved. I also think companies think “control” means directing the conversation, but control can also mean just letting fans know that you are watching, letting people know that you care.

Brand consistency is a very hot topic addressed in your book. What recommendations do you have for companies whose brand is shifting, if the current employees don’t exemplify the new brand?
Brand training. Training is critically important. It’s also important to have employees on the front lines—what about making them do a shift in the call center or going out to the retail stores to learn what is going on?

Being in touch with the customer is vital. In chapter one I tell the story of Brian, a salesperson who initially sells products really well because he focuses on customers. When he goes to product training, though, he starts focusing on products and soon learns he can’t sell a thing because he’s shifted his focus from what the customer needs to what he’s trying to sell.

If all else fails, I think companies are right to change employees, especially when those employees don’t get the brand personality. Let the employee find a job better for them and let the company fulfill its goals. J.C. Penney is the perfect example of this: they hired the wrong CEO, their profits dropped precipitously, and they got rid of him. Right decision. I hope it doesn’t sound ruthless. At the end of the day, employees are paid to do what the company needs them to do.

I love that you compare a brand to a promise. What should a company take into consideration when choosing the right “promise” to make?
Three things:
  • Can employees actually deliver it?
  • Do they truly believe in it?
  • And can they easily communicate what it is to everyone in the organization?
Marshall McLuhan famously suggested that the “medium is the message.” How do you think that relates to the work that we do? Does crafting a unique brand—or a unique message—require crafting our own medium?
I actually cover this exact phrase later in the book, but think it’s the other way around—every unique medium means we need to tweak the messaging. For example, visual content does really well on Facebook because it shows up in the news feed. On Twitter, providing a link to a picture may or may not do well considering how well the link is teased and if people feel like clicking on the link.

Our job is to make sure that content is fueling the sales process (or the achievement threshold: increasing donors, patients, students, public health downloads etc.) I’m not sure how we would craft our own medium, but I do think we need to choose content formats wisely so they appeal to the right audiences in the right place at the right time when they are primed to buy or listen.

Last question! Many companies struggle with the gap between “how they’re perceived” and “how they want to be perceived.” How do you recommend companies deal with this gap?
I have an entire exercise called identity pillars and articulation statements that comprises the bulk of Chapter 7, called Framing your Content. I talk about how to create identity pillars (a tool I created for just this type of brand management), messaging architecture and voice & tone. When you have those three tools, as well as your customer personas fleshed out, you’re ready to start creating some killer content that will convert your web traffic into customers.

Many thanks, again, to Ahava for sharing her insights with us! If you have a question that wasn’t answered above, feel free to ask it in the comments below.

Want to win a copy?

Interested readers can pre-order a copy of Ahava’s book, The Digital Crown: Winning at Content on the Web, on If you’d rather just win a copy, though (and who wouldn’t?), simply follow @uxbooth on twitter and leave a comment with your twitter handle below, answering the question: what is your greatest challenge with content? How do you hope The Digital Crown will help you address that challenge? Ahava will review the responses within a week of this post, and we’ll contact one lucky winner over Twitter. See you in the comments below!

The post Everything in Its Right Place: An Interview with Ahava Leibtag appeared first on UX Booth.

October 14 2013

Sponsored post

October 07 2013


October 03 2013


Digital Literacy, Part 1: Cadence

What does it mean to be literate in a digital age? While our conventional definition implies reading and writing, that definition also pays no mind to new media’s inherent malleability. It’s only by scrutinizing the ends to which our digital creations are used that we’ll come to better understand our ability to effect change via those creations.

It’s has been called a publishing platform and a conversation medium, but it’s also been used as a collaborative encyclopedia, a code playground and a canvas for art. Is there anything the web can’t do? (and should there be?)

After all, analog media was relatively simple by comparison. Everything we needed to know in order to think critically about the written word came down to reading and writing. But the web is different. Not only does it allow us to create new ideas along existing channels – we can post on Facebook and/or Twitter, for example – it also allows us to create new channels altogether, such as Tumblr and Medium. So what does this mean for our conventional definition of literacy?

Media theorist Clay Shirky offers a clue. In his foreword to the the book Mediactive, Shirky provides a media-agnostic definition, suggesting that “Literacy, in any medium, means not just knowing how to read that medium, but also how to create in it, and to understand the difference between good and bad uses.” And this definition, in particular, resonated with me (indeed, I might go so far as to say it should resonate with all user-centered designers who seek to understand what it means to create a “good,” useful web), inspiring an investigation to something I’ve currently termed digital- or “web design literacy.”

In the following three-part series I’d like to share digital litearcy as I’ve come to understand it. In the first part (the one you’re currently reading) I’ll recount a story highlighting some of the web’s more esoteric aspects, the elements that make it similar to – but altogether different from – print. In the second, I’ll briefly discuss the prominent double-diamond model of design thinking and explore how “design posture” might affect our ability to navigate that model. In the third, I’ll point to nascent trends in our profession, ways in which both investigative journalism and teaching might pertain to work that we do.

A design villain

In May of 2009, an interaction designer named Dustin Curtis published an open letter on his personal website entitled “Dear American Airlines” suggesting that the company take a look at his vision of what their future home page might look like:

The difference was profound. Instead of providing users with a cramped, uninspiring sea of text, Dustin placed the booking process – arguably the most important interaction on the page – front-and-center. He even included a photo of island getaway. Few people could argue that he isn’t onto something, so that’s precisely when Dustin decided to turn up the heat, asking American Airlines to “fire [their] entire design team,” who, he added, “is obviously incapable of building a good experience.” He concluded by suggesting that American Airlines “get outside help.”

As those watching the saga unfold later learned – in a response from a designer working at American Airlines named “Mr. X ” – what prohibited American from redesigning its website wasn’t a lack of desire or its in-house talent. No, it was their corporate culture. As Mr. X explained it, the public probably wouldn’t see the fruits of his group’s labor for at least another year simply due to the degree to which teams at American depended upon one another (i.e. bureaucracy). This meant that the company actually had two problems: not only did it have a poorly designed homepage, it also had a poorly designed organization that made it difficult to affect change.

In his most recent book, The Connected Company, management consultant Dave Gray tackles this
problem head on, suggesting that organizations of the future adopt a “podular” structure (not pictured above) to allow for more dynamic problem solving. Illustration copyright © Dave Gray. Used with permission.

In many ways the state of affairs at American Airlines probably came as no surprise to Dustin – or anyone else for that matter. Of course they had a poorly designed organizational structure; why else would their homepage have fallen into such disarray? That’s a fair question and, in fact, it’s probably what led Dustin to publish his open letter. A more prudent question, however (one that apparently nobody thought to ask), is: what should American Airlines have done? Clearly they couldn’t just fire their entire design team, as Dustin suggested. How should they have gone from where they were to where they need to be?

The answer is complex. Readers likely have an idea as to where we might start (stakeholder interviews, anyone?), but none of us could possibly devise “a set of steps to take the company from bad to good” without knowing the way in which American Airlines operates on a day-to-day basis. To begin, we’d ask a whole bunch of questions.

It’s the question that drives us

To better understand how a designer might begin to solve the organizational problems plaguing American Airlines, it’s worth taking a step back and more thoroughly considering the role that Dustin played with regards to American Airlines vis-à-vis the publication of his open letter. There are many ways in which Dustin could have expressed his opinion, after all: he could have called customer support; he could have sent an angry letter (you know, in the mail); he even could have written a Yelp review (customers occasionally comment on websites as part of their business reviews). But Dustin didn’t do any of these things. Instead, he published an open letter, subjecting his inquiry to the web’s seldom-discussed-but-nonetheless-profound political affordances.

A “political affordance” is simply an amalgamation of concepts originating from the fields of social science (politics) and psychology (affordances). Whereas a perceived affordance allows an actor – a person, say – to determine the potential utility of his/her implements by way of what he or she perceives (e.g. the shape of a hammer’s head affords hitting, its handle affords holding, etc.), a political affordance describes someone’s ability to assemble and direct a public – to “call an audience into being” – by way of his/her media.

Political affordances have a profound impact on the way in which we create and consume information. By contradistinction, consider a web designer who places a redesigned version of American Airlines in their online portfolio in hopes that the finesse it demonstrates will garner them future employment. This happens all the time. But while both our hypothetical designer and our actual designer, Dustin, have each presented “alternate realities,” the web’s political affordances greatly magnify the ramifications of the ways in which these designers have chosen to express their respective sentiments. Our hypothetical designer’s message is likely considered “friendly” regardless of its reach. Dustin’s open letter, on the other hand, is almost certainly seen as adversarial precisely because of its reach. Not only does Dustin’s letter call an organization into question, it does so in a way that incites others to feel the same.

Distinguishing between these two modes of presentation might seem superfluous – and, indeed, it would be of less consequence – if it weren’t for the sheer fact that questions lie at the heart of what we do: designers ask questions in order to better understand the boundary between form and function; designers ask questions in order to understand what users want; and designers ask (rhetorical) questions when they present wireframes, prototypes, etc. to their team. (None of these actions is explicitly “at odds” with a system, though. Quite the opposite, in fact; designers generally question things in order to attain a shared understanding.)

In his 2009 TED Talk – incidentally given the same year as Dustin published his
open letter – psychologist and author Barry Schwartz “makes a passionate call for “practical wisdom’ as an antidote to a society gone mad with bureaucracy.” This is a challenge that creative consultants frequently face.

The difference today is that the internet forces us to more thoroughly consider the timbre of conversations we facilitate. When criticism happens in private, organizations and individuals are more likely to be open-minded and develop a sense of wisdom. When criticism happens in public, however, organizations run the risk of appearing non-empathic. Many remain silent.

Ultimately, the preceding line of inquiry raises two, related lines questions pertaining to our design process:

  • What makes a question, itself, “appropriate” or “innocent?”
  • What makes a question, itself, “inappropriate” or “threatening?”

In the interest of expediency, the difference – as far as I can tell – is tact. Tact differentiates our ability to get what we want – be that potential work in the case of a student, or a redesigned organization in the case of Dustin Curtis – and our ability to squander an opportunity. Developing an intuition with regards to tact allows us to prudently plan for change over time. In this way, there’s a certain design to Design: Asking deliberate questions in a deliberate order yields a deliberate result.

Grammatically incorrect

Finally we come to the issue of cadence, or the ebb and flow of ideas.

As with political affordances, cadence behaves drastically different across the digital and analog worlds. Online, the web affords both linear and non-linear narratives. In other words, a designer can either architect a system such that a user sees a predetermined set, or “script,” of screens – a checkout path, for example – or she can make it such that a user can navigate those screens in any order that user chooses. The choice is up to the designer. Offline, things are different. Because “real life” requires that we experience events in a linear order – reading an article (as you’re doing right now) or pitching, selling, and actually producing a design project – Design requires a certain kind of sensitivity to the way in which information is paced.

And, as it turns out, this is precisely the function of grammar. What’s more interesting than the Design-grammar analogy, though, is observing the shift that grammar has made as it’s left the the world of traditional media and entered the realm of interactive media. Consider:

  • One of the most fundamental books in the history of grammar is William Strunk, Jr. and E. B. White’s pocket guide to writing called The Elements of Style. Named as one of the “100 most influential books written in English since 1923” by Time magazine, it condenses nearly everything an American-English author needs to know to pace their ideas (outside of words themselves) to a mere 100 pages.
  • Following suit, typographer and poet Robert Bringhurt’s “The Elements of Typographic Style” serves as kind of typographer’s book of grammar. It, too, provides everything a typographer needs to know in order to effectively use type, basic grids, etc. in service of an aesthetic.
  • Finally, comic-book theorist Scott McCloud’s comic book about comics – called “Understanding Comics” – discusses various methods of visual communication. It comprises a kind-of-sort-of “comic-book grammar.”

Star Wars director George Lucas suggests that all forms of art share the same goal: communication. He believes that contemporary educational system should reflect this notion.

By now the pattern is clear: grammar allows (graphic) designers to better determine the way information is paced in traditional media. Now for the shift. Digital grammars appear much less didactic and much more philosophical. Consider:

  • In 2007 computer scientist Bill Buxton authored “Sketching User Experiences,” in which he described the various ways in which designers might affect change over time. Buxton’s allusion to sketching suggests that the product design (UX design) process might more closely resemble a game of pictionary than a traditional publishing process.
  • In 2008, new-media theorist Clay Shirky released his book “Here Comes Everybody” explaining the potential ramifications of a post-Internet society. While extremely well received, the book also raised a number of important, difficult questions surrounding the internet and collective action (many of them dealing with political affordances).

Again I believe the pattern is clear: whereas the grammars defining traditional media (punctuation, typographic convention, grids, and visual language) helped creators better define the cadence of ideas, the grammar defining digital media is potentially much more complex. Designer Paul Boag’s recent post about the nature of the web sums this up well.

Increasingly you are not having to visit a website in order to find certain types of information. For example, if I want to know local cinema times I can simply ask Siri and she will return just the listings required without ever visiting a website. Equally, if I want to know who the CEO of Yahoo is, Google will tell me this in its search results without the need to visit a specific website.

What does a lack of digital grammar mean for designers, those of us who want to provide the best content for our end users?

The journey thus far

This article’s covered a lot of ground. We began with a question relating the analog concept of literacy to its digital equivalent, asking what does it mean to create and consume the web, to understand its good and bad uses? In search for an answer, we first heard the story of Dustin Curtis’s open letter to American Airlines. In light of that, we discussed the internet’s political affordances and the way those affordances galvanized Dustin’s role in relation to American Airlines. This led us to consider the design of the Design process itself. Finally, we discussed cadence, the way in which grammar affords our ability to control the flow of ideas.

In part two of this series we’ll take an even further step back, using the double-diamond model of design thinking to contextualize our work and the concept of design posture to explain how we navigate that model. Stay tuned!

The post Digital Literacy, Part 1: Cadence appeared first on UX Booth.

October 02 2013


Resources to Get You Up to Speed in AngularJS

Some of you may have read my Ember.js series of articles and realized I'm pretty smitten with the framework. But as a professional developer, it's important that I consider other tools and take the time to vet them properly. One of the frameworks that everyone keeps telling me to look at is AngularJS. It aims to make building complex web apps easier but from experience, I know that most frameworks have a learning curve. It's never just dive in and code.

As such, I wanted to complile a list of resources which I've found that I'll be leveraging as I go down the path of learning AngularJS and which I thought might be useful to Tuts+ readers. I've broken them down by categories and included both commercial and freely available resources.

And to be clear, this isn't the end-all, be-all of resources. Invariably, someone will ask why I didn't include a specific resource and that's okay. Just realize this list isn't all-inclusive and solely meant to kickstart my AngularJS learning effort.

AngularJS Official Resources

The AngularJS Project Site

Google has done an excellent job of compiling solid documentation and support resources to help developers work with AngularJS. When you visit the site, the thing that stands out for me is how it immediately drives you to understanding how to begin using Angular. That's important since, as with any MVC-type framework, Angular has a learning curve to overcome and it seems Google are doing their best to help ease any pain associated with it.

Also, being an open-source effort affords you the opportunity to peak under the hood as the code is hosted on GitHub.

AngularJS YouTube Channel

The Angular YouTube channel has a wealth of information available to you to understand specifics about the framework. In looking through the videos, I would consider this less of a beginner's resource as a hub for those who want to dig deeper into specific areas of AngularJS like data-binding. There are some videos that will walk you through building an app but it's not typical courseware that you'd expect from sites like Tuts+ or PluralSight. Nonetheless, the videos are well-done and considering the amount of content, certainly well-worth investigating especially since they're free.

Google Group Support Forum

Support is always the bane of every open source project, mainly because they're typically volunteer-driven so support is basically a labor of love. While there are a couple of ways to get support for your AngularJS questions, this is an official Google medium and it is VERY active.

IRC #angularjs

Want more direct and immediate support? Then jump on into #angularjs on Freenode for some real-time help. When I jumped into the channel, it was jam packed with developers so you should have no problems striking up a chat with someone about Angular.

Online AngularJS Courses

Sometimes you need a jumpstart. Something to guide you through the basics of a technology and get you over the initial hump. Thankfully, there's a nice blend of free and commercial courseware at your disposal.

Tuts+ Premium Angular Course

Obviously a little biased but we're pretty pleased with our AngularJS course by Tom Ashworth which walks you through the important concepts of AngularJS

John Lindquist has produced 49 videos of sheer AngularJS awesomeness and the amazing part is that he's provided them for free. To quote him, "I've never been satisfied with video tutorial sites, so I'm doing something about it."

What I like about the course is that each video is short and concise (average of three to five minutes per video). I loathe overly long videos and prefer quick hits that drill down into a topic to get you the info you need to start hacking.

The team at Thinkster put an interesting twist on their course. They took the excellent courseware created at and combined it with walk-throughs that break down what the video taught you and expand on the topic. This is actually very clever. They even give credit where it's deserved:

We’ve found that the videos are the best starting resource available, so every chapter will lead off with them.

This will be my second resource for learning AngularJS (after Tuts+ of course).

Code School

Code School has an excellent reputation for building online courses. While I haven't done this specific course, in looking at the comments, it seems like it's a solid introduction to the framework.


Another great company that has steadily amassed a ton of great courseware on a variety of topics, Pluralsight also offers a course on AngularJS which from the syllabus appears to be one of the most comprehensive courses available. I especially like that it includes a big section on testing AngularJS apps, something that seems to be an afterthought in most cases.

AngularJS Community Resources

Jeff Cunningham's AngularJS-Learning Repo

If there's one community resource you need to know about, it's the AngularJS-Learning Github page created by Jeff Cunningham. It is one the most comprehensive lists of AngularJS resources I've seen and includes links to blog posts, articles, videos and more. It's also been translated into multiple languages which is icing on the cake.

This truly is a resource to bookmark regardless your level of experience with the framework.


I've been a fan of Alex Young for some time because his site, DailyJS, posts some of the best information about JavaScript on the Internet. I especially love his tutorials where he creates a multi-part series that walks you through using frameworks to actually build something.

In this tutorial series, he walks you through creating a feed reader leveraging several important technologies including Yeoman, BootStrap, Grunt and Bower. So not only do you get to learn about AngularJS but also how it ties into some of the most widely used tools and technologies in use today.

Stack Overflow

The old reliable for support questions, Stack Overflow seems to always be one of the important places to reference when you have issues. Sure, the answers may not always be what you're looking for but at 11k+ AngularJS questions already asked, it's highly likely you'll find the answer you're looking for.

One Hungry Mind

Lukas Ruebbelke's passion for AngularJS resonates in his posts about the framework. With posts dating back to April, 2012, there's certainly plenty of information available to budding AngularJS devs. There's even a post on using AngularJS to build Windows 8 apps!

TodoMVC AngularJS Demo App

Ever wanted to jump into a new technology and wish you had some solid code to use as a reference to learn by? Yeah, same here. That's what the TodoMVC project aims to provide. The project provides a simple but well-written todo app that leverages major libraries including Backbone.js, Dojo and more. Want to learn YUI? There's a todo app for that. Want to learn Kendo UI? Same thing.

Of course, AngularJS is represented here and the framework page provides you not only with source code but a live demo that you can tinker with. Good stuff.

AngularJS Books

Being so new, books on AngularJS aren't common but there are some notables to mention and several that are in production as you read this. The two standouts at the moment are:

Manning is also working on AngularJS in Action. It's currently in Manning's Early Access Program (MEAP) so you can pre-order it and receive the chapter updates as the authors make them available.

Way More Stuff Available

My list is by no means the end all. If you just look at Jeff Cunningham's list you'll find a TON more links to look over. What I wanted to do was narrow down the options to what I felt were good resources to start off with so that I don't get overwhelmed with the volume of information available.

Hopefully this list helps you kickstart your AngularJS learning efforts and allows you to build something really exciting.

September 30 2013


September 17 2013


Make More Money as a Web Dev + Awesome Desktop Wallpaper

Envato, the people behind Nettuts+, have created a new avenue for web developers to earn an income doing what they love.

It’s called Microlancer, and we’ve recently started allowing freelancers to offer web dev services like PSD to HTML, WordPress plug-in development, and website customization.

You can set your own prices, turnaround time, and the terms of your services. We connect you with buyers who pay upfront to work with you. It’s an awesome new way to earn an income doing simple web dev jobs without having to worry about quotes, bidding, chasing up payment, invoicing, or self-promotion. We bring buyers, you do the work, Microlancer takes care of the rest, and you get paid.


Over $130,000 jobs have been sold to date on Microlancer, and twenty of our design service providers are into the thousands of dollars in gross earnings.

If you’d like more web development work, consider joining Microlancer to sell your web dev services.

If you love to code but struggle with design, Microlancer’s designers can help with things like logo design, web design, app icon design and much more.

If you currently have more work than you can handle, Microlancer is an excellent place to outsource jobs.

Visit Microlancer

Why Microlancer is Better for Freelancers

Other freelance marketplaces:

  • Bidding for jobs in a race to the bottom
  • Sending job proposals that are never acknowledged
  • Confusion around payment terms and payment methods
  • Disagreements around deadlines
  • No minimum prices, and constant undercutting as a result
  • Chasing up clients who don’t pay, or don’t pay on time
  • Complex time-tracking and surveillance software


  • No job bidding
  • Clients pay for jobs upfront
  • Microlancer handles payment collection
  • You choose the turnaround time you’ll offer
  • Minimum prices for each category
  • Payment is collected upfront and released after the job is completed
  • You choose a fixed price for each service you’ll offer

Why Microlancer is Better for Buyers

Other freelance marketplaces:

  • No review process for freelancers
  • Confusing payment schemes and ambiguous pricing
  • Copy and paste job proposals and bids
  • Hard to evaluate freelancers
  • Unclear process for resolving disputes


  • Freelancers are reviewed for quality work
  • Payment is clear and upfront
  • No bids, no proposals, buyers select freelancers
  • Work examples provided upfront
  • Simple and transparent dispute resolution process

Visit Microlancer

Freelance Nirvana Desktop Wallpaper

Do work you love and we’ll take care of the rest. That’s the concept behind Microlancer’s official desktop wallpaper, available in several desktop sizes, as well as for Android, iPhone and iPad.


Download the Microlancer Desktop Wallpaper Pack (.zip)

Tags: Articles News

September 16 2013


September 11 2013


What Are You Using? – Nettuts+ Authors Edition

I previously asked several top developers the following four simple questions:

  1. What’s your primary development focus?
  2. What hardware are you using for development?
  3. Which editor or IDE do you use?
  4. What software can you not live without on a daily basis?

The article generated a lot of interest and discussion about the tools the community is using which was really great! We love to motivate discussions with our topics. Well, this also motivated us to ask the question, "Why don't we post about what we, the Nettuts+ authors use every day?"

So we did just that. We chose ten Nettuts+ authors and asked them the same four questions. And like before, you’ll find the answers they gave below and hopefully discover some tools that could make your development much easier.

Csaba Patkos


Bio: I had my first contact with computers in the mid-80s when I visited my father at work. That was an important moment for what I am doing now. I am a proud member of an agile team working for a company called Syneto. Through my carrier, I programmed in several languages and I had the chance to learn and use daily all the major Agile techniques from Scrum to Lean and from TDD to DDD. Since August 2012, I am sharing my knowledge with the Nettuts+ readers by articles, tutorials and premium courses, all about programming.

Connect with Csaba on Twitter and on his blog.

Q What’s your primary development focus?

I am mainly a back-end programmer and mostly program in PHP but I continuously try new languages. I am most focused on general software design and architecture. The programming language I use is just a tool to achieve that.

Q What hardware are you using for development?

Well, at work we have Mac Minis but I am not a fan of Apple. So, at home I have an HP desktop with 27" Samsung monitor running my favorite Linux distribution, Sabayon.

Q Which editor or IDE do you use?

NetBeans, definitely. Even though it has its limits, I find it the best IDE when it comes to multiple languages. Its Java part is just superb and from all the free IDEs it has the best PHP support.

Q What software can you not live without on a daily basis?

I spend a lot of my time in the web browser and email client; Opera. It would be hard to live without it. And of course NetBeans.

Krasimir Tsonev


Bio: Krasimir Tsonev is a coder with over ten years of experience in web development. With a strong focus on quality and usability, he is interested in delivering cutting edge applications. Currently, with the rise of the mobile development, Krasimir is enthusiastic to work on responsive applications targeted to various devices. Living and working in Bulgaria, he graduated at the Technical University of Varna with a bachelor’s and master’s degree in computer science.

Connect with Krasimir on Twitter: @KrasimirTsonev and on his blog.

Q What’s your primary development focus?

I'm usually working with PHP, JavaScript(NodeJS), HTML/CSS and sometimes Flex/AS3. In some of the projects I'm a front-end developer, in some others I'm the back-end guy. Generally I'm interested in making the things in the right way. I love KIS (keep it simple) and DRY (don't repeat yourself) principles and I'm trying to follow them all the time. Very often I develop tools which help other programmers work faster and efficiently. When I don't code, I normally blog, which is kinda a passion of mine.

Q What hardware are you using for development?

I have Dell Vostro 3560 connected to an external monitor Dell 23". I'm a Windows user, but also have Ubuntu running in a VirtualBox VM.

Q Which editor or IDE do you use?

I'm a big fan of Sublime Text 2. Most of the time I'm switching between three windows – Sublime Text 2, Chrome and PowerShell (+ posh-git installed). A couple of years when I worked mainly on Flash-based project, I used FlashDevelop. Even for PHP or JavaScript it was a good choice.

Q What software can you not live without on a daily basis?

That's my favorite browser – Google Chrome. It's not just a program for visiting the web. It's actually a great tool for development and even for design.

Pavan Podila


Bio: I am a Financial technologist specializing in front-ends, mostly for Trading and Analytics applications. I have worked on a wide variety of UI technologies in the past, ranging from Java Swing, Eclipse SWT, Nokia Qt to Cocoa on OSX/iOS, .Net WPF, and HTML5. I am also a published author for “WPF Control Development Unleashed” with Addison/Wesley-SAMS. When I am not programming, I like to play Table Tennis, Badminton or paint using my Wacom Tablet with Photoshop or SketchBook Pro.

Connect with Pavan on Twitter: @pavanpodila and on his blog.

Q What’s your primary development focus?

I am a Front-end consultant in the financial services sector of New York. Most of the apps I develop/maintain are trading apps, visualizations, portfolio management tools, etc. These apps run on a mixture of desktop, mobile and web platforms. For desktop I've mostly use .NET/C#/WPF. On the web its been a combination of the standard JS technologies/frameworks with Node.js, Java or Rails backends. On the mobile side, its primarily iOS. I like to learn new things all the time and always looking out for exciting ways to bend the mind! The part that I like the most about being a consultant is the opportunity to explore new platforms, technologies, languages which I would never venture into voluntarily.

Q What hardware are you using for development?

MacBook Air 13" with a 24" monitor.

Q Which editor or IDE do you use?

RubyMine, Sublime Text, Visual Studio 2012 and XCode.

Q What software can you not live without on a daily basis?

Git, Sublime Text, Zsh, RubyMine, Final Cut Pro (for all my video editing), Dash, Google Chrome, Keynote (for all my diagrams)

Aurelio De Rosa


Bio: I’m a web and app developer with more than 5 years’ experience programming for the web using HTML5, CSS3, JavaScript and PHP. I mainly use the LAMP stack and frameworks like jQuery, jQuery Mobile, and Cordova (PhoneGap). My interests also include web security, web accessibility, SEO and WordPress.

Currently I’m self-employed working with the cited technologies. I’m also a regular blogger for several networks (SitePoint, Tuts+ and FlippinAwesome) where I write articles about the topics I usually work with and more.

Connect with Aurelio on Twitter and on his blog.

Q What’s your primary development focus?

I'm a full stack web developer working with the LAMP) stack. Apart for PHP for the server side, I use JavaScript with jQuery for the client side, and a lot of HTML5 and CSS. Besides, I reuse my web knowledge to build mobile apps with the help of frameworks like jQuery Mobile and Cordova (PhoneGap). My interests also include web security, web accessibility, SEO and WordPress. Currently I'm self-employed working with the cited technologies. I'm also a regular blogger for several networks where I write articles about the topics I usually work with and more.

Q What hardware are you using for development?

A PC with an i3 processor with 4Gb of RAM plus a 24'' monitor. While I deploy on Linux, both my PC and 13'' notebook run Windows 7.

Q Which editor or IDE do you use?

It depends on the projects I'm working on or the code I have to write in the moment I sit in front of the desk. For a small changes I usually just open the file using Notepad++. As an IDE, I used to develop with NetBeans but some months ago I tried PHPStorm and from that moment, I felt in love. It's really a complete, stable, and complete IDE.

Q What software can you not live without on a daily basis?

Based on what I said so far, it should be clear that I cannot live without browsers. My favorite one is Chrome, but for work reasons that you may easily guess, my PCs have all the major browsers installed. In addition, I must mention Composer, Git, FireFTP, Poedit, Google, StackOverflow, and Twitter . Oh…and YouTube and Spotify! Who the hell can code without music?

Jeremy McPeak


Bio: Hi! I’m Jeremy McPeak, and I’m an author and a software developer. I’ve written a few books, articles, and courses at Tuts+. I specialize in my two favorite languages: JavaScript and C#, but I’ve been known to delve into other languages like PHP and Java when needed. When I’m not working, I’m spending time with my family, playing guitar or piano, gaming, or reading.

Connect with Jeremy on Twitter: @jwmcpeakand and on his blog.

Q What’s your primary development focus?

These days, I spend the majority of my time with C# and .NET for both desktop and web applications. I got into this industry as a client-side developer, and I’m continually trying to fit more client-side work into my daily work flow. JavaScript is my first love, after all.

Q What hardware are you using for development?

There are three computers I use for development, all of which run Windows 8 Pro. For development on-the-go, I use a Dell XPS 14 Ultrabook with 8GB of RAM, and it will soon sport a SSD. My workstation at the office is an Ivy Bridge-based Xeon with 32GB RAM and dual nVidia Quatro cards for powering four displays. For development (and other things) at home, I built a Haswell-based computer: i7-4770 CPU, 32GB RAM, two Samsung 840 Pro 256GB SSDs, a ton of conventional storage, nVidia 660 GTX, and three Dell U2410 displays.

Q Which editor or IDE do you use?

I primarily use Visual Studio Professional 2008 and 2012 with Resharper and NCrunch for web and desktop development. I also use WebMatrix if I need to quickly prototype something, and Sublime Text and Notepad2 get notable usage when I don’t need Visual Studio.

Q What software can you not live without on a daily basis?

I must have Resharper and NCrunch. Visual Studio is a top-notch development environment, but the Resharper and NCrunch plug-ins make it the absolute best environment on the planet. I also need VMWare Workstation. I do a lot with virtual machines, and VMWare’s Workstation is currently the best client-based VM software available.

Nikko Bautista


Bio: I’m Nikko Bautista. By day, I work as a Software Engineer at, where we make hiring smarter, faster, and cheaper. By night, I develop web applications and write tutorials for Nettuts+. I specialize in PHP and PHP frameworks. I have experience with Symfony, Zend Framework, CodeIgniter, FuelPHP, and Laravel. I like creating and maintaining developer-friendly APIs. I also have expertise in third-party APIs from Facebook, Twitter, Google, and other platforms. I often explore new technologies, frameworks, and web services by building web applications that use them. Nettuts+ allows me to share what I’ve learned with the world.

Connect with Nikko on Twitter: @nikkobautista and on his blog.

Q What’s your primary development focus?

I'm a web application developer, using PHP as my main language. I also dabble with other languages like Ruby and Python, but not as much as I'd like. Together with this, I use jQuery and Ember for the client-side. I currently build applications for, where we help people score their next job.

Q What hardware are you using for development?

At work, I use a MBP 15" with a 23" secondary screen. Before I started working at my current job, I used to be a Windows fanatic. I've always hated how OSX had different conventions than Windows. I decided to give it a fighting chance when I started work at Bright, and I couldn't be happier that I did. At home, I have a triple 27" monitor set up, connected to a small mATX PC. The PC has a quad-core i5, 8GBs of RAM, and 7TBs of hard disk space all packaged in a Lian-li V350B. For work on the go, I have a 11" MBA that I bring around with me almost all the time since it's so light you barely even notice it's there. Additionally, I use my trusty Logitech K350 Keyboard and Logitech M705 Marathon Mouse (for both my work setup and home setup).

Q Which editor or IDE do you use?

Like many, I mainly use Sublime Text for my everyday coding. It's fast, reliable and extensible, although I sometimes miss the features only full IDEs can provide. When mucking around in servers though, I use Vim. In the future, I'd love to be able to work more efficiently using Vim, and use it as my main editor, but for now, I can't live without my cmd+p to open files in Sublime.

Q What software can you not live without on a daily basis?

Google Chrome is definitely on the top of my list, working is just so much faster if I use it. Fantastical on OSX (and just plain Google Calendar on Windows) is a great way to keep track of stuff on my calendar and add new tasks/events.

Stephen Radford


Bio: I’m Stephen Radford, a web designer and developer from Leicester, UK. Working with stuff like Laravel, Backbone and AngularJS.

Connect with Stephen on Twitter and on his blog.

Q What’s your primary development focus?

I'm primarily a PHP working on web applications, with my go-to framework being Laravel 4. On the frontend side of things I'm working with AngularJS for the most part, as well as maintaining some applications built with Backbone.

Q What hardware are you using for development?

During my day job I'm using a 21" iMac as well as a cheap, secondary display which usually is littered with terminal windows. When working on my side-projects, I'm using my 13" MacBook Air which is perfect to be able to chuck in my bag and work somewhere else should I need to. Though most of my work is done from the sofa.

Q Which editor or IDE do you use?

Un-surprisingly, I'm a big Sublime Text 2 fan. The huge repository of plugins (mainly accessible thanks to the fantastic Package Control and unique features like multiple cursors and distraction free mode just make a joy to use.

Q What software can you not live without on a daily basis?

I probably wouldn't be as productive without CodeKit, iTerm, ColorSnapper or Base. Kickoff allows me to manage a collaborative to-do list, FileShuttle lets me easily share screenshots or files, and I certainly couldn't work without the constant stream of music delivered by Spotify.

Adam Conrad


Bio: I’m Adam Conrad the VP of Product for fantasy sports startup @starstreet, DJ as @deejayacon, and a front-end developer. I lift things up and put them down, too.

Connect with Adam on twitter.

Q What’s your primary development focus?

I work on the front-end – HTML/CSS/JS, but we're a Rails shop so I do that too. Straight JS/jQuery for most of our work, but we're investigating AngularJS at the moment as a way to wrap a framework around the front-end.

Q What hardware are you using for development?

MacBook Air 13'' from 2011 – 4GB RAM, 1.7 GHz Intel i5…I could use a bit more RAM especially if I wanted to do some work with VMs but it gets the job done. I used to use an additional external monitor (24'' Asus HDMI screen) but the color profile discrepancies between the two screens were annoying enough as a front-end guy that I abandoned it altogether in favor of one single screen. For our responsive work, I'm constantly cycling between an iPhone 5, Nexus 4, iPad 3, iPad Mini and Nexus 7. And of course, no hardware setup can be complete without some gnarly headphones. I rock the Audio Technica ATH-M50s because they had the highest ratings on Amazon for pretty much any product and man do they deliver.

Q Which editor or IDE do you use?

Back in my .NET days I was a Visual Studio guy, then I moved to Vim when I switched to Ruby on Rails, but then I saw the light that was Sublime Text 2 and life is golden. I have a host of packages installed for pretty much anything you could possibly need for Ruby, Rails, jQuery, JavaScript, HTML and CSS. Can't say I've used them all, but they're slowly creeping into my development workflow.

Q What software can you not live without on a daily basis?

My IDE (obviously), Chrome DevTools and my feed reader to provide me an endless stream of great new music.

Hendrik Maus


Bio: Hendrik is a Web Application Developer based in Cologne. He is working with SAE Global/European IT and Navitas Ltd., mostly on large scale database driven PHP applications using Zend Framework, MS SQL and some pretty exciting cutting edge stuff. Always happy to branch out and experience related fields.

“Trying to become a renaissance developer seems to be the ultimate goal for me. Being able to pick any right technology for the job, adapt and use it quickly.”

Connect with Hendrik on Twitter and on his blog.

Q What’s your primary development focus?

My current daily business is developing database-driven web applications based on object-oriented PHP for educational businesses. I most frequently use custom PHP, Zend Framework (Delivery and DB manipulation), MSSQL, MySQL, and Javascript (mostly native + jQuery for DOM & Ajax stuff). Besides work, I am digging into Sencha Touch, Node and Angular JS.

Q What hardware are you using for development?

I use a 13" MacBook Air as a portable server (with both Mac OS & Windows) as I constantly change workspaces and cannot rely on the cloud for a major part of my work. I usually connect the server to the local networks at home or in my office. At home, the desk is powered with a Mac Pro connected to a 30" display which is quite a pleasure to work with. At the office I use a 2012 Mac Mini i7 with two displays – 27" and 19". Both of them are SSD powered as you must admit that you never want to miss it again once you've tried it. ;) I fly over to our headquarters in Berlin on quite a regular schedule where I work directly on the MacBook. This setup has proven to be very flexible and fits my needs in any situation.

Q Which editor or IDE do you use?

I have been using PhpStorm as IDE from the minute it came out. Seriously, this is one of the most incredible pieces of software ever made for really powerful web development. For quick editing I am a fan of Sublime Text 2 as it is incredibly lightweight and even comes powerful features you'd much more likely expect from a full blown IDE. On the command line I tend to stick with nano or vim if I'm forced to. I must admit that Microsoft did a pretty good job on the SQL Server Management Studio; fun to write SQL with it.

Q What software can you not live without on a daily basis?

Here is my dock from left to right: Skype, Spotify, Chrome (love the Dev tools), VMware Fusion, PhpStorm, SourceTree (for Git), iTerm 2 (for SSH, Tunnels, Git and the usual stuff), Sublime Text 2, Navicat Essentials and Sequel Pro. The list of little helpers is omitted ;)

Jonathan Creamer


Bio: I’m a web developer focusing mostly on JavaScript, ASP.NET MVC, jQuery, and C#. I believe that you cannot ever stop learning which is why I stay active in the development world attending user groups like NashJS, ID of Nashville, andNashDotNet, blogging for,JCreamerLive, Net Tuts, and and scouring Twitter and the interwebs for as much knowledge I can squeeze into my brain. I work as a JavaScript Engineer appendTo and am having a great time developing front end applications in JavaScript and jQuery. I am also an IE userAgent Please feel free to contact me, I love meeting other devs who are passionate about what they do.

Connect with Jonathan on Twitter: @jcreamer898 and on his blog.

Q What’s your primary development focus?

My primary focus is front end development using JavaScript, and jQuery. I love using Backbone.js or Knockout.js to build applications, and I frequently use postal.js, machina.js, mockjax, and several others. Typically I build my apps using AMD with Require.js as I feel it gives me the best development experience. I also write ASP.NET MVC, and actually got my start writing ColdFusion primarily focused around the ColdBox MVC framework.

Q What hardware are you using for development?

Currently I'm on a custom built AMD Athlon X4 Phenom II with 16 GB of RAM, 2TB of HDD, and a GTX 250. I also have an ASUS U56E laptop with an I5 and 8GB of RAM. Windows is my primary OS with a Linux VM as needed.

Q Which editor or IDE do you use?

I use SublimeText 2 for the most part. I love the speed and extensibility of it. I've also been beta testing version 3 which is blazingly fast, however the plugin support is still a work in progress for this version.

Q What software can you not live without on a daily basis?

I'm a big Evernote fan. It's got a nice screen capture experience. I use the Chrome extension for it as well to clip pages or urls. Most of my needs are met in the browser with things like TweetDeck,, and Simple Time Track. I also use a lot of Node.js tools such as Grunt and simple-http-server by Andrew Thorp. I also use Notepad++ for super fast code edits. Spotify makes my day go by faster. Fiddler2 is a great tool for watching HTTP traffic. One of my favorite Git tools is TortoiseGit as well as Posh-Git for Poweshell.

Great Stuff!

It's great to be able to peak behind the curtains of other developers and see how they do the magic they do. And from what you can see, the tools and technologies they use are all easily available, and in many cases for free. I'd like to thank the Nettuts+ authors for sharing this information.

September 09 2013


September 02 2013


Interview With Lea Verou of the W3C

There's so much goodness happening on the web and as it continues to evolve, it's important that talented individuals step up into leadership roles to help shape the future of web development. And doing this isn't an easy task. Not only do you need to have the technical chops to help define new techniques and paradigms or create the next great technology, it's equally important to be able to effectively convey your message in a passionate and credible fashion so that your peers respect your direction.

Lea Verou is one of these new breed of leaders who is helping to push the web forward through her technical savvy and profound love for web standards. She's developed quite a following and her live coding sessions at major conferences are a thing of legend.

We had an opportunity to find out more about her in this Q&A.

Q Let’s start with the usual. Could you give us a quick intro about yourself?

I’m Lea Verou and I’m a web designer/developer and web standards geek (sounds like an AA introduction, doesn’t it?). I’ve created several open source projects such as Prism, a syntax highlighter used in A List Apart, Smashing Magazine,, MDN and other big websites, Dabblet, an interactive code playground, or -prefix-free, a JavaScript library that lets authors forget about vendor prefixes and code to the future standards. I’ve also come up with and published several CSS techniques, such as using CSS gradients to create patterns. I’m currently employed by W3C, although I’ve announced that I’m leaving at the end of July to pursue other challenges, such as writing and designing my first book.

Q You’ve risen quickly to be one of the most recognized and respected web developers around. Has that changed the way that you view yourself within the community and the responsibilities you may (or may not) have in promoting best practices and specific technologies?

Not really, to be honest. I still do my thing, make stuff and put it out there in the hopes they will be useful for someone. I still speak my mind about the technologies and best practices I like and those that I don’t. Whoever wants to listen to me, it’s their call. I’m not going to censor myself because of the number of people who are following me. That would be counter-intuitive, since being myself made these people follow me in the first place.

Q You’ve been very vocal about the problem with vendor prefixes. Do you think that’s been solved?

I think both browser makers and the WG (working group) have realized that vendor prefixes, although good in theory, do not work in practice. So, the way to go right now seems to be browsers implementing experimental features under a setting instead of behind a prefix. That way, developers will not start using it in production, forcing the WG to get stuck in early iterations, as was the case with vendor prefixes.

Q Along those same lines, how much responsibility did the W3C, the CSS WG and WebKit teams have in perpetuating what became an incredible hindrance to cross-browser development (especially mobile)?

There’s no single cause, but I believe a big part of the blame lies with developers. Although we’ve endured the pains of a browser mono-culture before, we did not learn much. IE6 used to be really cool stuff 12 years ago you know, just like WebKit is today. I can see the CSS WG being at fault too, for not realizing the issues with vendor prefixes early on, which turned web development into a popularity contest. Last but not least, the WebKit team shares some part of the blame, as they shouldn’t have implemented non-standard CSS features to get ahead in the browser game.

Q Developers want more modern features and they want them now. Is the pace of the standards bodies keeping up with the needs and wants of the developer community? If not, what needs to happen to change that?

I’m sure you are aware of the old project management triangle paradigm: Something cannot be fast, high quality and cheap, you need to pick two. I believe this applies to designing APIs as well. Budget is limited, as there are very few people paid to work on standards. So, basically, designing new features can either be fast or high quality, but not both. We can see the former when browsers decide to innovate: Usually, even when the original ideas are good, they are poorly thought out, since they were designed in the vacuum of a single company (examples: Drag and Drop API, -webkit-gradient()).

When the standardization process is followed through, features can be very high quality in the end, at the cost of taking a long time to be finished. Several parties with different interests need to reach consensus, a full test-suite needs to be written, it needs experimental implementations and several iterations based on implementor feedback. All of this takes time, but keep in mind that once a feature enters the open web platform, we’re stuck with it for years, if not decades. Therefore, it pays off to invest that kind of resources in to it, and to be patient. Short-term pain for long-term gain ;)

Q You recently announced your departure from the W3C. How will that affect your involvement in the standards process?

I will still be involved in the CSS WG as an Invited Expert. The WG voted on it in a recent telcon and I was happy to see several people in support and nobody against it. :) In fact, I will be able to devote more time to it now, since I expect to have more free time in general, and having worked at W3C gives me a unique perspective and insight into the standards process.

Q You’re renowned for your live coding demos, flooring conference attendees during your presentations. Aren’t you concerned about messing up and affecting your flow? How do you even prep for something like that?

I have several safeguards preventing me from messing up. I keep my code examples concise, showing only what’s needed. This also helps the audience understand, as the code is small enough for them to process. I believe that as the number of lines in a code sample grows linearly, understanding decreases exponentially. Most importantly, I practice a lot. I might not practice the delivery of the talk, but I always practice the live coding several times, even when I’ve given the talk before. Also, even if I mess up, which has happened a couple times, the audience is so glad to see the result gradually build up in front of them instead of being presented with a screenshot, that they can be incredibly forgiving of missteps. If something does not work, I will spend a few seconds trying to fix it and if I can’t, I will explain what was supposed to happen and move on.

I often see people ruining live coding presentations by showing too much code, with too many distractions (e.g. a full IDE around it and having to switch windows to see the result) and long delays trying to debug their code when something goes awry. All three are very effective in getting the audience to lose focus. However, done right, live coding can be a great teaching aid and make a talk more engaging and fun.

Q A lot of devs long to be as multi-faceted as you. Most seem to be good in either JS or CSS but usually not both. What are the techniques or resources that have allowed you to become as proficient in both to where you can do live coding demos near flawlessly?

My two biggest interests since my preteens were design and programming. So, when I started making websites, I was studying the languages involved, as much as studying graphic design principles. I fell in love with CSS because it felt like a bridge between the two, which is why I specialized in it.

Regarding resources, I was always the type of person that learned through reading and practicing (in that order). I would read an entire book and then build something that helps me put what I learned into practice to create something that I wasn’t able to before. I don’t learn easily from lectures, and I even glided through university (Computer Science) studying on my own, rarely attending any lectures. However, this greatly depends on the person, I know some amazingly skilled folks who absolutely hate studying on their own without anyone teaching them. I think that’s why I tried to take a different approach in my own talks, because I find conventional lectures so damn boring and hard to follow, except for the rare case where the speaker is as funny as a stand-up comedian (and while I like to think I have a good sense of humor, I’m by no means on that level).

More About Lea

Thank you Lea for taking the time to chat with us. To get to know more about Lea and her work on standards and web development, be sure to visit her website and follow her on Twitter. Also, if you have an opportunity to see her speak in person, definitely jump on it. Her list of past and future events can be found on Lanyrd which also link to videos of her previous presentations.


August 27 2013


Reimagining the 21st-century classroom

Education in America faces tough challenges. Innovative solutions to these challenges can be found when teachers and students apply service design to the classroom, solving short-term problems while also giving students long-term skills.

The 21st-century, American classroom faces major challenges. The threat of the privatization of schools1), the lack of funding, and the erosion of traditional societal institutions, has forced schools to take on the roles of “priests, psychologists, therapists, political reformers, social workers, sex advisers, or parents.”2 Now more than ever, schools are expected to not only teach children subject matter, but to teach life skills as well.

This, in turn, fundamentally changes the teacher’s role in the classroom. Further, legal mandates for test-based performance evaluation have not only trickled down to the teacher’s workload, but threatened their very job. After all, if a computer can teach individualized math better than a teacher and students get higher test scores, why are teachers needed?3 This threat is most acutely manifest by the proliferation of online courses. Michael Sandel of San Jose State University recently foreshadowed the future of higher education in an open letter to fellow professors stating, “Let us not kid ourselves…administrators at C.S.U. are beginning a process of replacing faculty with cheap online education.”4 For teachers at all levels, overcoming internal and external pressures and continuing to provide fundamental value requires an innovative re-envisioning of the classroom and making it a shared experience, one that cannot be replicated by an automaton.

Teachers must overcome the digital-age metaphor of learning, one which compares the human to a computer, putting knowledge into memory, emphasizing logic and measurable outcomes. Teachers must define their role not as data providers, but service providers. The two-fold purpose of education is to teach students to think critically about their world and, ultimately, to teach them to become good citizens. The Service Design techniques and tools – building empathy, customer journey maps, and prototyping – which originally arose to help businesses ideate on tough, multi-faceted problems, should now be used in the classroom to help teachers re-imagine and co-create the student experience.

Class in empathy

Before starting any service design project, designers work to understand the primary actors in their system – indeed, this is a foundational premise for any human-centered design endeavor.

Despite this, teacher‘s often overlook the classroom‘s primary actors, the students. After all, most teachers reason, “I was once a student myself. How could my students experience differ from our own? Neil Postman, the educational scholar and cultural critic, points out the fallacy in this logic:

Most teachers…teach subjects they were good at in school. They found the subject both easy and pleasurable. As a result, they are not likely to understand how the subject appears to those who are not good at it, or don’t care about it, or both.

Teachers, while well-intentioned, may have trouble empathizing with students struggling to understand the curricula or how it relates to them. As a practice in empathy, Postman goes so far as to suggest that teachers teach a subject they are bad at for a year as a way to gain understanding of how many students might feel in their classroom.

From a service-design perspective, teachers can bring more empathy into the classroom by giving students a voice. What do students like to do? What do students want to learn? A simple interview or class discussion can prove quite enlightening. Even switching roles where the student teaches for a day would prove to be enlightening of the other’s experience for both student and teacher.

The student journey

For further insight, students and teacher could employ another service design tool known as the Customer Journey Map. Customer Journey Maps trace the main actors in a system as they interact with its various touchpoints. This, in turn, helps designers discover opportunity areas that might benefit from creative problem solving.

As a classroom activity, a teacher can guide students in groups through making their own “student” journey map of several different time periods: the student’s experience in the teacher’s class, the school day, the student’s year, or even the student‘s entire school career. Doing so provides the teacher with deep insights about what students do outside of his or her classroom. If History class comes after an English class, for example, there might be an opportunity for cross-disciplinary learning cross-class relevant topics might emerge. Understanding the context of the class and getting insights from other classrooms can lead teachers to discover techniques students enjoy in other classrooms and use them in their own. Teachers may even get tough critique and suggestions on how to improve their own classroom from the stakeholders that really matter, the students.

A student journey map exercise also carries the potential to provide deep insight into a student’s life outside of the school environment: what other challenges do students face that might affect their academic performance? By identifying pain points, students and teachers can collaboratively brainstorm possible solutions, creating the ideal journey map to understand how students might better enjoy their school experience. This exercise places both student and teacher in a design mindset understanding that the classroom setting does not have to remain in the status quo. Furthermore, even if student ideas are not implemented, students will be left with the notion that their voice was important, was heard, and did contribute to the structure of their classroom experience.

Life imitates life

Once the teacher and students have created a new classroom model, they should try it out to see if it works. If it’s a success, great. If it’s a failure, even better. As John Dewey, the great 20th-century philosopher and educational theorist wrote, “Failure is instructive. The person who really thinks learns quite as much from his failures as from his successes.” Furthermore, this trial-and-error mentality cultivates one of the principle purposes of education, critical thinking.

Postman, again, writes:

When we incorporate the lives of our ancestors in our education, we discover that some of them were great error-makers, some great error-correctors, some both. And in discovering this, we accomplish three things. First, we help students to see that knowledge is a stage in human development, with a past and a future. Second…we acquaint students with the people and ideas that comprise “cultural literacy” – that is to say, give them some understanding of where their ideas come from and how we came by them. And third, we show them that error is no disgrace, that it is the agency through which we increase understanding.5

Teachers should encourage the prototyping of an idea and create an environment that allows for failure. This should permeate not only into the ideas and environment that students and their teachers co-create, but also into the students’ ability to jump into new learning feeling comfortable with the possibility of failure.

When students and teachers use service design tools to re-imagine their classrooms they fulfill the key purposes of education: thinking critically and being a productive member of society. Through collaboration and group decision making, students learn what it takes to organize and empathize. This makes them better citizens. By being part of their own classroom’s design, students understand that they have an important voice that can lead to change, skills applicable well beyond the classroom.

Designers think critically, and students and teachers must, too. By using Service Design techniques, teachers learn to better understand their students and their changing role in the 21st-century classroom. Instead of the “authoritarian ruler” in charge of imparting a narrow set of knowledge, the teacher becomes a choreographer, setting up the environment to teach and take into account the whole student. Through the Service Design process, both student and teacher realize that the classroom is a prototype that might sometimes fail but never fails to produce some kind of learning.

Excited about the intersection of service design and the classroom? Curious about how to further apply Service Design in Education? Check out these resources and examples:

Note: Service Design Tools are referenced from


  1. “Secondly, we have seen an increased role for national nonprofit and for-profit organizations in providing educational services, and in acting as self-interested players in school politics.” John Thompson, “Seismic Shifts in Education Policy”
  2. Neil Postman, The End of Education, 143.
  3. Motoko Rich, “Study Gauges Value of Technology in Schools.”
  4. Let us not kid ourselves,” the letter said, “administrators at C.S.U. are beginning a process of replacing faculty with cheap online education.”
  5. Neil Postman, The End of Education, 125.

The post Reimagining the 21st-century classroom appeared first on UX Booth.

August 26 2013


August 20 2013


Has the Recession Taken Your Experience to the Dark Side?

When a new milkshake bar opened in my local shopping mall, I was very excited; I went right over and ordered my favourite flavour (coconut, of course). The cashier responded “Would you like a regular size?” and I agreed. I paid what I considered a high price for a medium-sized milkshake and, as I left, I noticed the sizes available weren’t “Small, Regular, and Large” (as I might have expected), but rather “Tiny, Small and Regular.” Realizing I was duped, I lost my incentive to return.

Unsurprisingly, the milkshake bar isn’t there anymore.

It’s been a tough time for businesses lately. The global economic downturn has led many consumers to tighten their belts and part with their cash more selectively. This has naturally driven companies to focus on maximising profits wherever possible in order to provide a strong return on their investment. That’s all well and good, of course, but sometimes the hunger for short-term results can happen at the expense of other “non critical” factors – as was the case in the story of the milkshake bar, above.

This conundrum has led me, a self-described user experience geek (UXG), to more closely examine the relationship between user and business objectives. Specifically, I sought answers to the following questions:

Is poor customer experience a necessary evil in order to meet business objectives?
What is the optimal way to design products or experiences that deliver a return on investment in both the short term and the long-term?

If I could find them, the answers to these questions could help businesses better rationalize the difficult choices they’d make during the recession. What follows is my journey. We’ll begin by observing a positive version of the “milkshake bar” experience. Next, we’ll discover how deceptive approaches translate to on the web. We’ll finish with a review of the habits of highly effective user centered designers – habits which are always applicable, recession or otherwise.

A favorable interchange

On any given Thursday you’ll find me at my local McDonalds. There, you might observe the following exchange:

Me: Hi, I’d like a Big Mac please.
My buddy at McDonald’s: Would you like to make that a meal?
Me: Yeah, sure.
My buddy at McDonald’s: Would you like to make that a large meal?
Me: No, thanks.

In this scenario, the short-term business objective is to sell a meal and my interaction with the sales clerk meets that objective. The experience is also good for me as a customer, because I get exactly what I ask for. The McDonald’s salesman first understands my needs and then offers a relevant upsell. When I reject the large meal (a higher short-term objective for McDonald’s), the salesman moves on, ensuring that I meet their long-term objective by returning as a customer (side effects may include high cholesterol). This straightforward, contextual approach – a combination of easy-to-understand terminology and relevant propositions – is a sustainable way to attract returning customers and build a reputable brand.

And the same logic applies to our websites. does a great job, for example, of offering two, relevant upsell opportunities.

I might not take the bait, but the option is both relevant and easy-to-understand.

So, is a poor customer experience a necessary evil in order to meet business objectives? No. Companies such as McDonald’s and Amazon prove that by valuing customer service and user goals over sales, companies are actually able to more successfully achieve their own goals (assuming those goals include retaining customers).

Dark patterns

In extreme cases, some companies completely disregard the user experience in favour of meeting business objectives. UX designer Harry Brignull calls these interactions “dark patterns.” From his site: “A dark pattern is a type of user interface that has been carefully crafted to trick users into doing things, such as buying insurance with their purchase or signing up for recurring bills.” So why are dark patterns used? Simple: they get short-term results. Over the long-term, however, users feel deceived, cheated and tricked – and they’re not afraid to share these opinions online!

Celebrated author Tim Seidell suggests that “For every action, there’s an equal and opposite reaction. Plus a social media overreaction.” And Twifficiency is a great example of this. Launched in 2010, the app “went viral” in a matter of days due to its accidental use of a dark pattern in which users automatically shared the app to all of their Twitter followers. The early growth was short-lived, however, as it was soon overshadowed by the exponential amount of negative attention it received.

Prioritizing appropriately

Given the connection between positive user experiences and long-term business objectives, why doesn’t every designer put user goals ahead of business goals? Because, as management guru Peter Drucker explains, “what gets measured gets managed.” In other words, some companies believe it is easier to track short-term sales than long-term customer retention.

When companies focus on driving short-term revenue and increasing short-term profit, the emphasis is on improving conversion rates or profit per visitor rather than helping users achieve their goals. The happy medium falls into what author Stephen R. Covey calls “Quadrant 2.” In his legendary book 7 Habits of Highly Effective People, Covey explains that Quadrant 2 contains tasks that are important but not urgent, whereas tasks that are both important and urgent are considered “quadrant 1. ” These lead to a business that’s constantly “fire fighting.”

Four business postures

Adapting quadrant 2 from Covey’s model maps business goals and user goals across two axes.

In Quadrant 1 a company focuses only on the urgent, short-term business goals, but not the important, long-term user needs. They might see short-term success, at the expense of unhappy, deceived users (think the milkshake bar). In Quadrant 2 a company focuses on the important user-needs as well as how they impact the business goals. Here user needs are met and, in turn, business goals are also met (think Amazon). In Quadrant 3 both the user needs and business goals are ignored (and we all know what happens there). Finally, in Quadrant 4, user goals are met but business goals are ignored. This is nicknamed “daydreaming” because, really, there’s no business model here at all.

Habits of highly effective designers

Because quadrant 2 presents the optimal way to design experiences, the first step of any design process is to know what the business objectives are and how they connect to user needs.

However a company’s designers currently focus on things, here are seven ways to ensure they move towards “quadrant 2.”

  1. Make a decision not to employ dark patterns. If the client disagrees, remind him/her of the long-term goals and the value of repeat business compared to single-visit exploitation. If they can’t see the value, drop the client.
  2. Keep your eyes on the prize. Design decisions should be driven by business objectives. Always review the objectives before development or design meetings, and keep them posted somewhere obvious for the whole team to see.
  3. Make the link between the UX and profitability. Discuss the value of positive user experience with the client early on. Make sure both sides agree that resources spent on the user experience are resources well spent.
  4. Get to know the user. Find out what your users’ goals are and what motivates them. User interviews and focus groups can provide invaluable insights.
  5. Work with user goals, not against them. Instead of tricking users into following a predefined path, help them to see why that path is the most attractive option. Use contextually relevant content to align their goals with those of the business.
  6. Increase the type of measurements you do. Don’t just measure the obvious,such as whether a new development impacts the conversion rate. Measure the effects, too. Are users more likely to return if they have a favorable experience? Will users recommend your service to a friend?
  7. Finally, be data driven. Analyse objectively what is and isn’t working. Iterate when needed and move forward in the direction the data takes you, not the direction you were hoping it would take.

By practising the habits of highly effective UX designers, we move towards “Quadrant 2,” a place where happy clients and happy businesses can coexist. These habits set us up for recurring revenue from empowered users. There is no need to go over to the dark side and leave behind the principles of user experience – even in a recession.

Ok, I’m off to McDonalds. I think I’ll order a milkshake, but probably just a regular…

The post Has the Recession Taken Your Experience to the Dark Side? appeared first on UX Booth.


Interview With Nicholas Zakas of Box

Having people you can learn from is an essential part of being a successful developer. No amount of reading will ever fully prepare you for the ever-changing web landscape, so being able to look to seasoned and experienced mentors is vital. Nicholas Zakas is one of those people that you can look to.

A leader in the JavaScript world and incredibly savvy in scalability and performance, Nicholas is one of those that helps define best practices through his vast experiences at companies like Yahoo! and Box. One of his most amazing attributes are his approachability and his desire to genuinely help push the web forward.

Let's get into our Q&A so you can learn a little more about this great developer.

Q Let's start with the usual. Could you give us a quick intro about yourself?

Certainly. I'm a software engineer who focuses on front-end web development. I love the web and knew very early on that I wanted to make that my career. That love has led me in many directions, including writing and speaking. At the moment I'm working at Box, taking on the challenge of helping the company scale.

Q You were a principal front-end engineer at Yahoo!. I think for most of us, it's hard to comprehend working at that scale. Can you tell us about the challenges you saw at Y! and how it has shaped your thinking since you've left?

Yahoo! was the most impactful professional experience of my life. Prior to that, I was a big fish in a small pond, and day one I realized I was now in an ocean. Solving problems normally and solving problems at scale require two different ways of thinking. At scale, there's never just "one more" thing. I remember one conversation in particular where someone wanted to make an extra Ajax request and I said no. His response was, "what's the big deal, it's just one more request?" I had to explain that one more request per user when there are millions of users means a dramatic increase in server load that we need to capacity plan for. I chuckled at that, because I was on the other side of that conversation when I first arrived at Yahoo!.

Everything I do has been affected by my experience at Yahoo!. I'm obsessed with scalability and the problems associated with it, and most of my work since then, both at Box and while consulting, has been in helping companies scale their web applications. My experience at Yahoo! made it so that I understand these issues from many angles, not just technical but also personnel-wise and organization-wise.

Q When I read your writings, you focus heavily on computer science principles. It's only in the last couple of years where I've seen an up-tick in that. Where do you see the bulk of the current generation of front-end developers heading in terms of embracing formalized CS principles in their work? Are they still lagging?

I think front-end developers are still lagging in having a solid amount of computer science knowledge. It's true that having a CS degree alone does not guarantee success as a front-end developer, but it certainly helps. I know several excellent FEs that are now going back and either taking computer science courses formally or trying to pick up more CS knowledge through reading and other means.

Web applications are so much more complicated than they were before, and understanding design patterns, abstraction, and architectural principles is becoming more and more important. Those who come into the industry without a good CS background will either be limited in their professional growth or will start picking up these CS principles some other way. I firmly believe that the best and the brightest are the ones who can bring CS principles back into the front-end. Whether that's through formal training or not, that knowledge becomes important to furthering your career.

Q Along those same lines, where do you see front-end devs lacking from a skills perspective? What are the things that they should be up on but aren't?

The biggest issue I see is lack of code organization. Part of the problem is that web technologies like CSS and JavaScript are mostly without built-in form. Whereas Java has packages and C++ has includes, web technologies don't give you a formal way of organizing your code. That leads to poor code organization and then poor architecture, because there are also not any built-in patterns.

Learning about design patterns, code organization, and architectural principles would benefit front-end engineers tremendously. Not just for their FE code, but also for the ability to participate meaningfully in conversations about other parts of their technology stack.

Q I've overheard conversations where the ECMAScript standards body is getting push back from a very vocal group which call themselves "practitioners" of the JavaScript language and are driving for more practical, real-world updates to JavaScript. Have you heard of this and if so, what's your take on this and the interaction between the traditional maintainers of JS and this new group?

Yes, there's definitely been an influx of practitioners getting involved in the standards committee. There's Rick Waldron and Yehuda Katz from the jQuery Foundation and Eric Ferraiuolo from the YUI team on TC39, people with real-world experience creating web applications and JavaScript libraries. There are also a lot of vocal people who participate on the es-discuss list regularly and who represent the practitioner view. Even I chime in from time to time when I feel like reality isn't quite intersecting with plans.

This communication between practitioners and those deciding the future direction of the technologies we use is imperative. Via es-discuss, TC39 members are generally responsive. I look at this relationship as being similar to the one between citizens and elected officials. If the citizens aren't telling the officials what's important to them, it's hard for the officials to know. Random people complaining about something here or there doesn't make someone think of it as important – it's when a critical mass all reach out and say, "yes, this is important" that change happens.

Q It seems that some of this may be founded considering the adoption of such DSLs as CoffeeScript, TypeScript and Dart which seem to bring flexibility and power to front-end devs. Is it a language issue or a developer expertise issue?

I feel like it's a developer expertise issue. What I see most frequently is people without much web development experience deciding that it's easy, so they're just going to hack something together. After all, JavaScript looks like many of the other C-based languages, and so they start writing it as if it were C or C++ or Java – then they get frustrated because the functionality they're used to doesn't exist…then they turn to things like CoffeeScript or Dart because it gives them back what they perceive to have lost.

If you flip the script a bit, if people actually took a little bit of time to learn JavaScript before diving in, I'd hope there would be a greater appreciation for what a unique and dynamic language it is. Unfortunately, the "agile" and "rapid" development processes tend to encourage people not to stop and learn about what they're trying to do, but just get stuff done so as to keep up their velocity and deliver. When that happens, finding something that looks familiar makes far more sense than using something completely new.

Q One thing you really harp on is performance and trying to educate developers on optimizing their code. Alex Sexton wrote a great article that's along these lines, elaborating on roles that specifically target optimization. Is this the optimal route for companies to take or should every developer be as versed in the nuances of performance?

To me, this is too specific a specialization. As a front-end engineer, your job is to cross-cut concerns, including performance, maintainability, internationalization, accessibility, and more. To put it another way: if front-end engineers are not thinking about these things, then I'm not sure what they're thinking about. In my experience, the more you split off specializations, the harder it is to convince everyone that it's their responsibility as well. "Oh, the performance team will take care of that." "That? The accessibility team will worry about it." This isn't to say that you don't have people who happen to be more in tune with certain concerns, but I believe that you want everyone on the team to be thinking about all of these issues all the time.

Q You always seem to be on top of the cutting edge stuff, especially in terms of JavaScript. What's your process for staying in the loop on all the changes?

I do a lot of reading. My Twitter feed is made up primarily of human news aggregators that let me stay up-to-date with what's going on. I also do a lot of writing, which I find leads me to research areas I might not normally look at in an effort to explain things better. Lastly, I'm constantly experimenting, both on my own and at work, and looking at the real-world problems people are having to see if I can come up solutions.

Q Last question. If you had to list the top five things front-end developers should be in tune with, what would they be?

  1. The changing API landscape – make sure you know what's possible
  2. How to effectively use the ever-evolving development tools
  3. Standards efforts – understanding what's coming, what's not, and why
  4. Browser feedback channels – you should be using them
  5. Code organization and design patterns


Thank you Nicholas for taking the time to offer up this insight.

I urge our readers to follow Nicholas on Twitter and also check out his blog, where he posts some of the most frequently referenced articles in web development.

August 19 2013


August 13 2013


Designing with Code

To code or not to code? For designers, that’s a very contentious question. Clients like designers who code because (among other reasons) that’s one less body on payroll. Design advocates, on the other hand, often see code as a technical limitation that stifles creativity. To make matters worse, the information ecologies we all work in refuse to stand still. By looking carefully at some of our favorite arguments, however –and by taking them within the context of our ever-evolving digital landscape –we can begin to make a case for when working in code makes sense.

Several years ago, Andrew Maier penned an article on the use of prototypes in website design and development. In light of my own recent work in prototyping, one of the comments to that article stood out:

Any kind of prototype that involves programming or markup sounds scary to me –that’s the fastest route to a “developer-y” looking site rather than a truly designed –graphically as well as functionally designed –site.

This comment caught my eye because it is the same concern I often hear today, a full three years later. And here’s why this is a big deal: given the content and information architecture challenges that the responsive, multi-context web presents there are now better reasons than ever before to integrate coded prototypes into the design process. By paying close attention early on to the integrity of the narratives we create at the most basic level of communication, we can build the foundation necessary to effectively articulate those narratives far and wide.

Why we’re afraid to commit

If pressed to describe their relationship with code, many designers would hunt around for the “it’s complicated” checkbox. We may have already been sold on prototyping (see Todd Zaki Warfel, Jeff Gothelf, and Stephen Hay if you’re not yet convinced), but we’re still afraid of our beautiful UX getting all bent out of shape and smudged up by an engineering toolset (and mindset).

The source of this dread is no mystery. In his seminal 2004 book on design in technology, The Inmates Are Running the Asylum, Alan Cooper writes that “when engineers invent, they arrive at their solution through a succession of practical, possible steps. Because of this, their solution will always be a derivative of the old, beginning solution, which is often not good enough.” Cooper goes on to argue that interaction designers are in a unique position to break this cycle of derivative solutions by “keep[ing] a healthy suspicion of all assumptions about what cannot be done.”
Whether they’ve read Cooper’s book or not, many designers have implicitly heeded this advice and translated it into an “I design it, you build it” workflow. In many cases, this delivers the results Cooper promises: designers and developers frequently challenge one another to synthesize new ideas and novel solutions –ideas and solutions neither of them would have been able to come up with on their own.

What’s different now

With the growing need of responsive web solutions and adaptive, flexible content, there are new reasons for designers to roll up their sleeves and get into “code.” Since HTML is, at its core, a layer of description wrapped around content, working at this level helps designers think more critically about their content and about the architectural implications of that content. While considering markup won’t replace our content audit, user research, or taxonomy work any time soon, it can increasingly function as an important part of the design process.
HTML prototyping helps us discover and vet the IA step Information Architect Dan Klyn refers to as “choreography,” or the “appropriate unfolding” of content: the link between taxonomy and the interaction-level design typically represented in prototypes. When we address the architectural underpinnings of our content’s choreography early on, we ensure that we haven’t driven off course, and left our intent on the side of the road. What’s more, the benefits of HTML prototyping present themselves when we apply even the most basic of HTML’s elements. Creating a linear, semantic document calling out our navigation, header, teaser, aside, and paragraph elements forces us to think critically about how these elements relate to each other in context.

Now look at that same document on a tablet, or on a phone. Does it tell the same story? Does (should) it follow the same choreography? We might find that our content needs to break into summaries or teasers at different places in different contexts. We might also find that the navigation patterns that work on a phone are overly simplistic with regards to the desktop experience. Each of these insights forces us to think about how our content models need to adapt to accommodate new contexts. (For an in depth and practical look at creating content models, see Sara Wachter-Boettcher’s Content Everywhere.)

Why it matters

In her brilliant book Content Strategy for Mobile, Karen McGrane encourages us to stop thinking about content in terms of “pages” and to start thinking about it in terms of “packages.” A content package might contain things like long and short headlines, teasers, summaries, body copy, and pull quotes. Early HTML prototyping helps us decide which of these elements we need –and helps us think of them as pieces that combine across contexts to create a cohesive experience.
Whereas many of the excellent, commercially available prototyping tools are centered around interaction and design, early HTML prototyping is a way for us to begin to prototype our information architecture –and to test the architectural hypotheses we’ve laid out in our conceptual and taxonomy work. It also puts us in the right frame of mind to break out to the page metaphor.

In her keynote at DrupalCon in May, Karen McGrane traces the history of the page metaphor. This ubiquitous concept comes to us –surprise –from Xerox, maker of printers. Of course they would think about content in the digital age as coming together on pages: pages have been the cornerstone of their business for over a century! When we move to thinking of content as a resource that can be pulled into view when and how it is needed, we’ve already taken a huge step toward creating the responsive and adaptive information environments we need to meet the demands of the mobile ecosphere.

How to get started

So how can you get started designing with code? Both Jeff Gothelf and Stephen Hay stress the importance of sketching. I’ll reiterate that here: although our goal is to eventually end up in code, sketching out your rough ideas before diving into markup will keep you from committing to mediocre ideas you’re reluctant to change because they’re already saved to disk.
Use pen and paper or a whiteboard to work out a hypothesis and then write your markup to match. Does it work with your content? Check it out on mobile, on a tablet. Revise and refine. Consider how your content needs to adapt to convey the same concepts in different contexts.

There’s no way around the fact that you will need to understand the basic elements of HTML and CSS. Fortunately, these are not overly complicated and online resources abound. HTML alone allows you to author structured content in a semantically correct way. CSS (with help from media queries) allows you to shape the visual hierarchy of content and adjust it to different contexts.
If you’re new to HTML and CSS, learn a little bit at a time –and fake what you can’t build. You don’t need to have a fully functional AJAX calls or form validation in order to gain insight. Stephen Hay suggests capturing and printing screenshots to show to stakeholders early in the prototyping process. This way you can show exactly the ideas you want to convey without risking stakeholders getting caught up in the fact that a button doesn’t work, or links aren’t yet connected to their destinations.
Finally, allow your process to grow and develop over time. It will. We may never strive –or want –to be standards-compliant, cross-browser, front-end rockstars, but with a little bit of knowledge, practice, and experience, HTML prototyping can become a valuable addition to our content strategy and information architecture toolkit.

The post Designing with Code appeared first on UX Booth.

August 08 2013


The New IE11 F12 Tools

Disclaimer: I work for Microsoft Corporation.

Back in January, I walked you through the features of Internet Explorer 10's F12 Developer Tools. Microsoft's recent release of Windows 8.1 Preview brings with it, not only an update to Internet Explorer (now at v11) but also a welcome refresh to the F12 Developer Tools. The latter is especially important since developers are dependent on them to troubleshoot site-related issues from within IE. Till now the tools have solved most debugging use-cases but it's clear that as sites become more complex, developers need richer tools to work with. This update aims to bring a fresh look and expanded capabilities for developers with a strong focus on the following:

  • An updated, cleaner user interface.
  • New Responsiveness, Memory, and Emulation tools.
  • New and improved functionality in existing tools.
  • An easier and faster workflow.

Some of the updates are simply convenience features meant to streamline developer workflow (e.g.: element breadcrumbs) while some will have a dramatic impact on improving the performance and rendering of web apps.

In this post, we'll go through some of the newest updates and features of the IE11 F12 Developer Tools and in some cases, I'll show you the clear differences in features from previous releases.

UI Reboot

Since its inception, the F12 tools has kept a fairly consistent UI using dropdown menus and a tab-based metaphor to present the various options available. But some nits that always seemed to get in the way were things like the tools popping out into their own window during a debugging session and the tabs taking precious vertical real estate. With IE11, the F12 tools have been greatly redesigned to make the UI more intuitive leveraging a graphics-based navigation system that is positioned as a scrolling ribbon on the left-side of the debugger pane:


The menus that used to line the top of the tools have been removed to provide greater clarity to the debugging interface, as well as to free up real estate to work with. In addition, the design of the debugger itself has been greatly refreshed breaking away from a Windows 7 UI-style to a more modern Windows 8 look-and-feel. You can see the major difference below:


The new user interface is clearly more consistent with the modern elements introduced in Windows 8.

DOM Explorer

While the original DOM inspector tool provided a decent experience, it lacked some key features. The main pain points for me were the lack of live DOM updating, the display order of CSS styles and the inability to see events attached to DOM elements. Thankfully, these have now been addressed in this update.

Since I focus so much on JavaScript, finding attached events was especially frustrating requiring a lot of console-based debugging code and trial-and-error to nail down the called event/method combo. Looking at the screenshot below, you can see how I can click on a specific element, see the event that's attached to it and the method that will be called when the event is fired. This is a huge timesaver from a debugging perspective.


And while it may seem obvious, a slight but important change to the way the tools display the CSS applied to an element, has just made things substantially easier. Prior to this update the F12 tools would display inherited styles first forcing you to scroll down the styles pane to get to the actual used style for the element.


The team has updated the display so that the most recent styles are displayed first which in my opinion makes a whole lot more sense, especially from a debugging perspective:


Some other great new features that are definitely nice to have are:

  • The ability to right click on any element on a page and inspect that element.
  • Dragging an element to another location from within the DOM explorer.
  • The element breadcrumb that makes navigating an element's hierarchy substantially easier.
  • Intellisense, for easy access to style rules.

Previously, you had to open the F12 tools, click on the DOM inspector arrow and click on an element. This streamlines things quite a bit and brings that experience on par with other debugging tools.

The breadcrumb provides an intuitive way to sift through the hierarchical structure of a DOM element, allowing you to easily click on any part of the breadcrumb to pull up the individual parent element:


With the new Intellisense-style functionality, when you edit a style or add a new rule, you're immediately presented with a popup that offers you quick access to CSS rules and values. While some of you may be CSS encyclopedias, I for one appreciate not having to remember all of them. :)


Lastly, with DnD within the DOM explorer, you can interactively test how your elements will look and react when you shift their position within the page layout. The changes are made live, so you receive immediate feedback as you reposition your element.

Tackling UI Responsiveness

There's a LOT more code being placed on the client-side than ever before. Frameworks like Ember.js and Angular are making it substantially easier for developers to build single-page web apps and developers are leveraging HTML5-based features to build immersive games that require high frame rates and response times. With that, comes a whole new set of considerations surrounding page performance and the new F12 tools offer a new tool to help you profile and measure the responsiveness of your user interface. The UI Responsiveness tool is a profiler that allows you to measure framerates and CPU usage to pinpoint any UI performance issues.

By kicking off the profiler, I can track how my CPU reacts to my page and what the visual throughput (AKA frames-per-second) is as different points in the page load cycle.


The Timeline details panel offers me even finer details about how specific events or network requests affected the page performance allowing me to dig deeper into any issues and make adjustments to improve my site's performance.


By looking at each element of the timeline you can see how specific actions, for example styling, can affect the rendering performance.


You can imagine how invaluable this data is, especially to game developers that want to leverage native browser capabilities for gaming and are used to having robust debugging tools in other plugin-based development tools such as Flash.

The Script Debugger

Of all the changes, the most impactful to me have been those to the script debugger, mainly because they helped prevent the rage I felt when I would use it. It was primarily a UX issue in that at the moment you opted to run the debugger, the whole tools panel would pop off the browser viewport and into its own stand-alone popup window. It was a jarring experience to say the least. This update resolves that and ensures that the debugger stays firmly in place.

Another great enhancement is the use of a tab metaphor for displaying each open file you're debugging. The previous version of the tool forced you to re-open each file you needed to debug. The new version shows a tab for each file you're working with making navigation substantially easier.


Additionally, options that were generally buried in context menus are now firmly highlighted and easily discoverable. It's amazing how many times developers have been surprised when I showed them the pretty print function for formatting JavaScript even though it had been in there since IE8. The feature is now highlighted via an icon at the top of the debugging pane alongside the wordwrap icon.

Last but not least, forget about console.log(). The new tools now support Tracepoints easily allowing you to monitor specific values the same way you would via console.log().

Memory Analysis

Pegging memory issues has always been a drag especially if it's a slow memory degradation issue. The new F12 tools aims to tackle this with its new memory profiler. The tool allows you to take snapshots of your site or app's memory usage over a period of time allowing you to pinpoint which actions or areas of your app may be the root cause of the issue.


By creating a baseline snapshot of your memory footprint followed by subsequent snapshots, you can compare the data gathered to determine the number of active objects and which types of objects are persisting. This includes HTML elements, DOM nodes and JavaScript objects and you can drill into the comparisons of the snapshots to see the change in memory between them for individual objects.


Emulating Other Devices

You're probably all too familiar with the complex dropdowns called "Browser Mode" and "Document Mode". They were meant to help developers troubleshoot issues related to non-modern versions of Internet Explorer. In reality, they were a bit confusing to use and only offered marginal testing support for non-modern IEs. With this new update, the F12 tools have streamlined this to help developers focus testing on the most standards-compliant version of IE, especially if their site is currently running in some compatibility mode.

By changing the document mode to "Edge", a developer can force their site to render in the most recent standards mode supported by that version of IE and work to make the necessary standards-based changes to have their site render cross-browser. In addition, an informational link is provided directly in the tool which takes developers directly to modern.IE, an online resource which offers a scanner for common compatibility issues, virtual machines for the different versions of Internet Explorer, and best-practices for ensuring site compatibility in modern versions of IE.

A new feature that explicitly targets mobile and tablet devices is Geolocation simulation. This allows you to leverage the Geolocation API even if your device isn't connected.

A Great Update

This is a great update to a suite of tools that have served us well, but were definitely in need of some sprucing up. There was a clear focus on offering tools that helped you troubleshoot performance-related issues, something that's incredibly important especially with trends heading towards single-page, native-style apps.

I've done my best to roll-up the great new features added in, but to truly get caught up on the full-breadth of functionality provided in the IE11 F12 Developer Tools, check out the walkthrough offered by the team.


Where UX Comes From

Earlier this week, we interviewed Leah Buley, author of the new book UX Team of One. Leah talked about her own experiences as a UX team of one, and how her approach has changed over time. Now we are very excited to present an excerpt from the book itself.

As a team of one, knowing the history of user experience helps you reassure people that it’s not just something that you dreamed up in your cubicle. If I were to sum up the history of UX in a few short sentences, it might go something like this: villains of industry seek to deprive us of our humanity. Scientists, scholars, and designers prevail, and a new profession flourishes, turning man’s submission to technology into technology’s submission to man. Pretty exciting stuff.

UX has a long and storied history that intersects with other business, design, and technology developments that your colleagues may be familiar with.

Now here’s the longer version. User experience is a modern field, but it’s been in the making for about a century. To see its beginnings, you can look all the way back to the machine age of the late 19th and early 20th centuries. At that time, corporations were growing, skilled labor was declining, and advances in machine technology were inspiring industry to push the boundaries of what human labor could make possible.

The machine age philosophy was best exemplified by people like Frederick Winslow Taylor and Henry Ford, who both pioneered ways to make human labor more efficient, productive, and routinized. But they were criticized for dehumanizing workers in the process and treating people like cogs in a machine. Still Taylor’s research into the efficiency of interactions between workers and their tools was an early precursor to much of what UX professionals think about today.

Frederick Winslow Taylor, the father of Scientific Management, pejoratively known as Taylorism.

The first half of the 20th century also saw an emerging body of research into what later became the fields of human factors and ergonomics. Motivated by research into aeromedics in World War I and World War II, human factors focused on the design of equipment and devices to best align with human capabilities.

By the mid 20th century, industrial efficiency and human ingenuity were striking a more harmonious relationship at places like Toyota, where the Toyota Production System continued to value efficiency, but treated workers as key contributors to a continually improving process. One of the core tenets of the Toyota philosophy was “respect for people,” and it resulted in involving workers in troubleshooting and optimizing the processes that they were a part of. As one example, workers at Toyota factories could pull a rope called the Andon Cord to stop the assembly line and give feedback if they saw a defect or a way to improve the process.

Around the same time, industrial designer Henry Dreyfuss wrote Designing for People, a classic design text that, like the Toyota system, put people first. In it, Dreyfuss described many of the methods that UX designers employ today to understand and design for user needs, as shown below. In Designing for People, Henry Dreyfuss writes “when the point of contact between the product and the people becomes a point of friction, then the [designer] has failed. On the other hand, if people are made safer, more comfortable, more eager to purchase, more efficient—or just plain happier—by contact with the product, then the designer has succeeded.”

At the same time, some interesting parallel movements were taking shape. A small handful of academics were doing research into what we now describe as cognitive science. As a discipline, cognitive science combined an interest in human cognition (especially human capacity for short-term memory) with concepts such as artificial and machine intelligence. These cognitive scientists were interested in the potential of computers to serve as a tool to augment human mental capacities.

Dreyfuss created Joe (and a companion diagram, Josephine) to remind us that everything we design is for people.

Many early wins in the design of computers for human use came from PARC, a Xerox research center founded in the early 1970s to explore innovations in workplace technology. PARC’s work in the mid-70s produced many user interface conventions that are still used today—the graphical user interface, the mouse, and computer-generated bitmap graphics. For example, PARC’s work greatly influenced the first commercially available graphical user interface: the Apple Macintosh. The term user experience probably originated in the early 1990s at Apple when cognitive psychologist Donald Norman joined the staff. Various accounts from people who were there at the time say that Norman introduced user experience to encompass what had theretofore been described as human interface research. He held the title User Experience Architect, possibly the first person to ever have UX on his business card. Norman actually started out in cognitive psychology, but his writing on the cognitive experience of products, including technological products, made him a strong voice to lead and inspire a growing field. According to Don Norman, “I invented the term because I thought Human Interface and usability were too narrow: I wanted to cover all aspects of the person’s experience with a system, including industrial design, graphics, the interface, the physical interaction, and the manual.”

Norman’s book The Design of Everyday Things is a popular text that deconstructs many of the elements that contribute to a positive or negative user experience. It’s still pretty much required reading for anyone who is interested in UX.

With the rise of personal computing in the 1980s and then the Web in the 1990s, many of these trends converged on each other. Graphical user interfaces, cognitive science, and designing for and with people became the foundation for the field of human-computer interaction (HCI). Suddenly, more people had access to computers and, along with it, a greater need to understand and optimize their use of them. HCI popularized concepts like usability and interaction design, both of which are important forebears to user experience. In the Internet bubble of the mid and late-1990s, new jobs with titles like “Web designer,” “interaction designer,” and “information architect” began cropping up. As people became more experienced in these roles, a deeper and more nuanced understanding of the field of user experience began to develop. Today, user experience is a rapidly growing field, with undergraduate and graduate level programs being developed to train future generations of professionals to design products for the people who use them.

Enjoy this? Get the full book at Rosenfeld Media and use code UXBOOTH for 20% off!

The post Where UX Comes From appeared first on UX Booth.

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.
No Soup for you

Don't be the product, buy the product!

YES, I want to SOUP ●UP for ...