Interaction designer masquerading as a technical writer. Dad. Husband. Etc. Brit in Israel. Johnny TV dude. Creator of Livetyping.
WARNING: This is rather a technical post. If you’re not comfortable doing neckbeardy things like typing stuff at the Unix command line and adding stuff to your bash profile, you probably want to give it a miss.
All I wanted to be able to do was write posts in Markdown in a Dropbox folder and have them be automatically published as a static blog hosted on Amazon S3. On a Mac. Not too much to ask, right?
Well it turned out to be quite difficult and time consuming, with lots of wrong turns into blind alleys. So if you’re thinking about setting up something similar, here’s what worked for me.
This setup only really has two pieces:
A static blog generator—this takes files that you write (typically in Markdown) and converts them into a set of HTML pages, including a main page, individual post pages, archives, etc.
Some way to sync these HTML files to S3.
And this is what I actually ended up using:
I also used Lingon to automate it all (using launchd).
But first a little bit on how I arrived at this point.
There are many static blog generators out there. The most popular seems to be Jekyll, so I decided to have a go at installing that. It uses Ruby. Macs come with Ruby, so it should be easy. It went OK, but eventually I reached the point where I was required to upgrade Xcode. Xcode is a hefty download, and I didn’t want to wait, so I started looking at alternatives.
Pelican seems to offer similar functionality to Jekyll, but uses Python instead of Ruby. And Python is also pre-installed on OS X, so why not give it a shot? So I installed Pelican and the things that it requires: pip, virtualenv, and virtualenvwrapper. (Ignore the fact that the pip docs say you can get pip by installing virtualenv—the easiest way is to install pip and then use it to install virtualenv.) Pip also requires another package called distribute, so install that too. And if you want to write in Markdown, you’ll need to install the Markdown module, as described in the Pelican docs.
So now that I’ve got all these installed, it should “just work”, right? You wish. To get Pelican to generate the HTML, you need to run the make command with the makefile that comes with Pelican. But to get make (if you don’t already have it), you need to install the latest version of Xcode. (Déjà-vu much?)
So, much later that day, I have the latest Xcode, and have installed the optional (but required here) command-line tools. Now it works, right? Well, almost. Now I get an “unknown locale” error. Say what now? A little more Googling reveals that I need to set the LC_CTYPE environment variable in my .bashrc file to something like en_US.UTF-8. (An aside: I tried all this with tcsh, which I like more than bash, but ran into even more problems, so I switched back to bash.)
Anyway, now, finally, it works. On to the next piece of the puzzle—syncing the files to S3.
There were a couple of things that I tried that did not work for me. The first was trying to mount my S3 bucket as a remote drive using MacFusion. I thought I could mount the bucket right inside a folder in my Dropbox. But it didn’t really work.
The second was trying to upload using SFTP via an FTP-to-S3 gateway (like Cloud Gates). The gateway part works great (and I use it regularly for other stuff). And Pelican has an FTP make target that you can modify to use SFTP. But again, it didn’t really work.
s3cmd, on the other hand, works great. At least, once I figured out that I needed to install the latest version from Github instead of the one on the download page. s3cmd has a sync command that lets you sync a local directory with one in your S3 bucket.
The only thing left to do was to automate it so that as soon as I add or change a file in Pelican’s content directory, it will automatically regenerate the HTML and sync the output directory with S3.
On OS X, launchd is the thing to use. But manually creating the necessary plist files is a bit of a pain. Thankfully, there are tools that can make it easier. One of these is Lingon. I used it to add two items:
One to start Pelican’s make regenerate, which, once started, detects any changes in files in the content directory and updates the HTML
One to run s3cmd sync whenever the index.html file in the output directory changes
This is what they look like in Lingon:
I couldn’t get these to work by typing the commands directly into Lingon—I had to wrap each one in a shell script. This is what they look like. (Of course, you’ll have to change the directory paths and the S3 bucket name.)
To run make regenerate:
#!/bin/bash
source /usr/local/bin/virtualenvwrapper.sh
cd /Users/martinpolley/Dropbox/konigi/protokit/projects/blog
workon pelican
make regenerate
To sync with S3:
#!/bin/bash
/usr/local/bin/s3cmd sync --delete-removed \
/Users/martinpolley/Dropbox/konigi/protokit/projects/blog/output/ \
s3://livetyping.capcloud.com/blog/
Don’t forget to chmod +x these so they can be executed.
When you’re writing posts, you must give them a title and a date, like this:
Title: My Awesome Post
Date: 2013-03-31
If you don’t, Pelican won’t process them. You can also add a status of “draft”:
Status: draft
Pelican will put the generated draft post in a folder called drafts. The post will not appear on your blog until you remove this line.
This was a total pain in the ass to set up. But the result is so worth it. When I hit save in Textmate, and twenty or so seconds later, the post appears on my blog, it feels like magic. And because the files are in Dropbox, I can do the same in iA Writer on my iPhone or iPad (or move from one device to the other if the kids are playing Subway Surf on the iPad).
You can see it in action on the Livetyping blog.
UPDATE: After finding that my whole blog had completely disappeared (twice), I stopped using --delete-unused in s3cmd sync…
OK, well, not really. I’m actually splitting this blog up into two blogs. Stuff related to UX (and especially HTML prototyping) will be posted on the Livetyping blog, while everything else will be posted here.
Right now, the only thing on the Livetyping blog is my recent post about front-end frameworks, which I copied across from here. In the coming days, I’ll be copying other relevant posts over too, so they’re in the “right” place.
So if you follow me for the UX stuff, you should add this RSS feed to your feed reader.
While I was putting together Livetyping (my online course that teaches UX designers how to create prototypes in HTML, CSS, and Javascript), I used Foundation for the prototype that I showed how to build. But Foundation isn’t the only front-end framework out there. So I decided to take a look at a couple of others to see how they compare. Enjoy.
If you’re prototyping in HTML, CSS, and Javascript (or just thinking about it), you probably already know that using a framework can save you a lot of time, especially if your design needs to be responsive. (And these days, with a few exceptions, there aren’t many reasons to make a design non-responsive.)
But how can you know which one is best, without downloading them all and trying them for yourself? This post aims to save you the hassle by explaining the pros and cons of each from a UX prototyping perspective.
The two most popular frameworks are Bootstrap, originally created at Twitter, and Foundation, created by product design company ZURB. There is also a dark horse candidate called Skeleton, which was created by Twitter designer and former ZURBian Dave Gamache.
All three of these frameworks let you lay out web pages on a responsive grid. This means that you can make your design work well on any screen size. If that’s all you need, Skeleton fits the bill. (Bootstrap and Foundation also do this, but they bundle in a lot of extra stuff too.)
But for all but the simplest prototypes, you will almost certainly need more than just layout. The questions you need to be asking are What do we need? and What do we know?
If you need things like tabs, nicely-styled buttons and forms, standardized navigation components, consistent typography, and so on, then both Foundation and Bootstrap come with stuff that makes adding these things easy and fast (and they will look consistent too).
If you know how to do these things yourself (and want to), Skeleton could be the answer.
Skeleton on the Desktop
Skeleton on iPhone
Bootstrap on the Desktop
Bootstrap on iPhone
Foundation on the Desktop
Foundation on iPhone
Skeleton gives you a responsive grid, some basic typography, and some simple form and button styling. That’s it.
In terms of feature lists, there is a lot of overlap between Foundation and Bootstrap. I won’t list them all out here because others have already done a better job than I would (scroll down to UI and Widgets at the bottom of the page).
In short, they both provide a responsive grid, nice typography, improved form styling, and pretty much any UI component that you might see in a modern webapp. So instead of listing them out here, I’m going to point out some of the differences between the two:
Bootstrap comes with a set of 140 (naturally) icons. Foundation does not include icons, but ZURB have created several icon fonts and a set of social icons (as separate products) that you can use.
Foundation has iOS-style switches, which are a nice alternative to checkboxes.
Both Bootstrap and Foundation have visibility classes, which let you show and hide elements depending on the screen size. Foundation goes one step further by adding visibility classes for device orientation and touch support.
This means you can do things like:
Replicate the pattern seen in many iPad apps, where a sidebar is displayed in landscape mode and hidden in portrait.
Show affordances on touch devices that usually only appear on hover.
Bootstrap seems to offer more built-in options for styling tables.
Bootstrap includes iPad-style popovers.
Bootstrap comes with animated transitions for fade in/out and slide in/out.
Both Foundation and Bootstrap have wizards that let you customize their framework before you download it. Bootstrap seems to have more things you can customize, which may or may not be a good thing.
Foundation has 13 templates for common page layouts that you can download from their site. Bootstrap comes with eight example pages included in the download.
But maybe the most important difference between the two frameworks is that Bootstrap is much more style-heavy than Foundation. This means that you see lots of sites that are very recognizably built using Bootstrap. For prototyping this may not matter so much. After all, what we are prototyping is not the visual design, it’s the layout and functionality. But on the other hand, if the way things look by default draws too much attention to itself, that may be a disadvantage.
As someone cleverly put it in an answer to a Quora question about this:
> It is like the difference between buying a custom Lego kit or buying a bunch of Legos on eBay and then trying to build something from the kits that you scrapped together.
Foundation and Bootstrap are both being actively developed, and new versions are released frequently. Skeleton, on the other hand, has not been updated in months. But since what it does is relatively simple, and because it is not engaged in a feature war with the other two (just the opposite, in fact), this may not matter in the slightest.
Now, you don’t want to be a sheep and just go with the one that everyone else is using. But popularity does matter. It matters because Bootstrap is attracting people to develop other products that are based on it. And some of those could be quite useful to us.
Protostrap lets you put prototypes together more quickly by using PHP to reuse content. It also includes some enhancements to Bootstrap, including a fake authentication layer, a way to handle missing pages gracefully, an iOS tab bar, a carousel with touch support, more icons, and more.
Jetstrap is webapp that lets you lay out Bootstrap pages visually, without having to write any code.
There does not seem to be anything similar for Foundation yet.
Both Foundation and Bootstrap let you work in plain ol’ CSS. But they both use a CSS preprocessor that lets you do more powerful things (and keep your code simpler). Bootstrap uses Less, while Foundation uses Sass. If you know what these are and have a preference, this may sway your decision.
Another important factor is how easy it is to learn each framework. For this, you’ll be relying on the provided documentation.
Skeleton’s documentation is understandably sparse. There’s not a lot to explain here, but the docs do a perfectly acceptable job of explaining it.
Foundation and Bootstrap both have very good documentation, but I think Bootstrap has a slight edge here.
Is any one of these head-and-shoulders above the others, a clear winner? No. All three frameworks are very competent.
So which one should you use? The answer is a typical, designerly “It depends”.
Each one just has a different emphasis, so which one is right for you depends on what you’re trying to do.
Do you mind all your prototypes having a similar look and feel? Maybe that’s even a positive in your eyes. If so, Bootstrap is a strong contender.
Do you prefer to impose your own look and feel on your prototypes (not necessarily a proper visual design that approximates a finished product, but maybe one that looks more wireframe-y)? Foundation could be the one for you.
Do you have strong CSS and Javascript skills and want complete control over both the way your prototype looks and how it behaves? Then check out Skeleton.
“But which one do you use?” you ask. Well, I use Foundation. Why? Because I started using it before I’d even really heard about Bootstrap or Skeleton or had a chance to try them out.
And now I’m used to the way Foundation does things. I know how to do what I want in Foundation, so even if one of the other frameworks might be “better” for a particular project, I’m probably better off leveraging my existing experience with Foundation and bending it to fit the needs of the current project than to invest the time required to learn one of the others.
But if I was starting from scratch and trying to decide which one to use today, I’d probably discount Skeleton because Bootstrap and Foundation both provide so many useful extras. Using the provided components is much faster than reinventing the wheel and doing it yourself.
What it really comes down to is this: Can you live with Bootstrap’s style-heavy approach? And will the same framework be used in production? (This may not be your decision to make…) If so, then it’s more work (not for you, but still) to override Bootstrap’s styles to make it look the way you want.
If you want to learn more about using frameworks to create interactive prototypes, check out Livetyping, the online course that teaches UX designers how to make interactive, clickable prototypes using HTML, CSS, and Javascript.
You can buy Livetyping here.
Or sign up below for news about Livetyping, HTML prototyping tips, and more.
This is really disturbing. Please please please buy at least free range eggs (organic if you can afford it), and help put an end to caged hen egg production.
As I’ve been putting together Livetyping (my HTML prototyping course), I’ve been thinking about situations when you shouldn’t prototype stuff (interface elements, interactions, whatever). This two-by-two chart sums up my thinking:
When something is hard to explain, but easy to code, you should code it. When the opposite it true, you should explain it instead (maybe using something like Polypage to add annotations directly to your prototype). These seem to be no-brainers.
But the interesting bits are the other two rectangles. If something is easy to explain
It depends on why you want to prototype this particular bit of the interface. Is it just to communicate how it works to developers and stakeholders? If so, explaining is probably the best route.
But if it’s so you can test your design with users, it may be worth putting in the extra effort to code it, especially if it is used in any important flows. Of course, if you’re in the hard/hard rectangle, you may have to collaborate with your developer colleagues to bring it to fruition. (Thinking about it, this flavor of “it depends” applies to all four scenarios—if it has to be in there for testing, then it has to be in there.)
There are other axes to take into account, of course, such as the relative importance of the thing you’re contemplating prototyping, and the novelty of the element/interaction, but I’ve found this to be a useful tool for thinking about this stuff.
What do you think? Ping me on Twitter and let me know.
Livetyping is an online course that teaches UX designers how to make interactive, clickable prototypes using HTML, CSS, and Javascript.
You can buy Livetyping here.
Or sign up below for news about Livetyping, HTML prototyping tips, and more.
If you’re still not convinced that prototyping is better than wireframing (even after reading this?!?), here are a couple of great articles that were published recently that you really must read.
In the first, Sergio Nouvel gives a good overview of the pros and cons of each of the different fidelity deliverables that we are used to producing. He then goes on to make a compelling argument for starting out with lo-fi mockups, then going straight to “wireframing in the browser”, which has a number of advantages:
The second article, by Leisa Reichelt, is a punchy, tour-de-force list of reasons why prototyping beats the pants off wireframing. It’s a really quick read—already condensed down to its essence—so I won’t ruin it by trying to summarize it here. Just take the two minutes and go read it over on The Pastry Box Project. It’s really good.
Happy reading :)
Livetyping is an online course that teaches UX designers how to make interactive, clickable prototypes using HTML, CSS, and Javascript.
You can buy Livetyping here.
Or sign up below for news about Livetyping, HTML prototyping tips, and more.
Tip: Switch to full-screen, otherwise you won’t be able to see a damn thing :)
This is a short excerpt from Livetyping, my self-paced video course that teaches you (the UX designer) how to prototype in HTML, CSS, and Javascript.
You can buy Livetyping here.
Or sign up below for news about Livetyping, HTML prototyping tips, and more.
Recording the screen of a mobile device is not an easy thing. You can build a fancy test rig, with cameras and so on. But it’s expensive and cumbersome. There are iOS apps that let you record the screen. But the ones I’ve seen are either buggy as hell or require you to jailbreak your device.
But today I came across another option. AirPlay lets you mirror your iPhone or iPad’s display on an Apple TV. But you can also mirror it on a Mac, using a product called AirServer. The company that created it promotes it as a way to play multi-player games with your friends on a nice big screen.
But with your device’s screen mirrored on your Mac, you can use screen-recording software (like Screenflow, Camtasia, or Morae) to record it. Which, for user testing, is pretty damn handy. (The image above was captured from my Mac’s screen.)
(Disclaimer: If you use the above link to download and install AirServer, my free trial gets extended by three days. Just so you know.)
Cool things happen when you point the iOS 6 panorama camera out the window of a speeding car
Twitter / drcongo (via Ben B)
OK, so you’ve read what various UX thought leaders have said or written about prototyping in HTML (or more generally about UXers being able to code) and you’re convinced that HTML prototyping is an important skill. Maybe you want to improve the collaboration between you (the designer) and your developer colleagues. Perhaps you want to improve communication with stakeholders. Or maybe you want to get your designs in front of your users earlier.
If you’re a freelancer, it could be that you are looking for ways to raise your hourly rate. Or maybe you’re an in-house designer who’s looking for a better job and who sees the value of having this important skill on your résumé.
But where do you start?
The following is my attempt to show you the alternatives that are out there. I hope it helps you find the way that best suits you.
Disclaimer: I have included Livetyping, which I created. Yes, I think it’s great. But I recognize that different people learn in different ways. If self-paced, screencast-based learning isn’t your bag, I’m sure you’ll find an alternative here.
There have been several HTML prototyping workshops run in various locations. A good example is UX Bootcamp’s Prototyping in Code, an intensive three-day workshop that has been run twice in London, UK.
Pros:
Cons:
Hundreds of books (maybe even thousands) have been written about HTML, CSS, and Javascript. Here are a few notable ones:
There is also Todd Zaki Warfel’s book, Prototyping: A Practitioner’s Guide, which touches on HTML prototyping, but does not go into much depth.
Pros:
Cons:
There are dozens of sites that offer screencast-based courses. For example, Lynda.com has lots of courses on just about any tech-related subject you could mention, including ones on HTML, CSS, and Javascript. There is a lot of good content out there, but most of it is not aimed specifically at UX designers. It’s more for people who want to become web designers or web developers.
Pros:
Cons:
Where do you go to find almost infinite resources about web technologies? The web, of course! Again, the quantity of information available is staggering. You can get all the information you need, but there are two problems: finding it, and being able to tell the good from the bad.
A few selected resources:
Pros:
Cons:
Livetyping is a series of screencast lessons that teach you prototyping in HTML, CSS, and Javascript at your own pace. It is tailored for UX designers and doesn’t include stuff that you don’t need to know.
Pros:
Cons:
HTML prototyping is a valuable skill that is in demand. There are many different ways to get this skill—some will suit your own personal learning style and how you value your time better than others. Best of luck!
You can get Livetyping here.
Or sign up below for news about Livetyping, HTML prototyping tips, and more.
Livetyping, my video course that teaches you (the UX designer) how to prototype in HTML, CSS, and Javascript, is now available!
So if you’re ready to start improving collaboration with your developer colleagues, communicating better with stakeholders, and getting your designs in front of users earlier, you should sign up.
Oh, and did I mention that designers who can code are in demand and can make more money than ones who can’t? Well, now I did.
While I was creating my Livetyping course, I realized that HTML5 might look a bit intimidating to some. It has over 120 different tags, which is a lot to get your head round. But in practice, when making interactive HTML prototypes, I only ever use a small subset of these.
So I made a cheatsheet containing just these commonly-used elements. Enjoy!
If you’ve got any suggestions for improving this cheat sheet, I’m @martinpolley on Twitter.
Livetyping is an online course that teaches UX designers how to make interactive, clickable prototypes using HTML, CSS, and Javascript.
The course will be launching very soon. Sign up and I’ll let you know when it’s about to launch.
“… be careful, tools that empower prototyping can enable designers to work in isolation.”
Bill Scott—Lean UX Anti-Patterns
“It really troubles me when people use academic achievement as a means of measuring intelligence. You’re basically saying that somebody who is able to successfully jump through hoops and be submissive to authority is the height of intelligence, rather than looking at somebody’s capacity to think independently and creatively. I think that you can tell a lot more about somebody’s level of intelligence by sitting down with them and having a five minute conversation rather than looking at some letters on a piece of paper which, essentially, are meaningless.”— Source (via -retrograde)
In my recent post about why UXers should learn to prototype in HTML, CSS, and Javascript, I missed out the one person whose opinion prompted me to write the post in the first place.
In April, Andrew Travers and Matthew Solle interviewed Cennydd Bowles for the London IA podcast. They asked him whether he is “a unicorn that codes” and whether he thinks that it is something that’s important. Here are the edited highlights of his reply. (In the original audio, this bit is from 17:44–20:18.)
I firmly believe that it’s a strong benefit to a designer who is working on the web to know HTML and CSS. They’re not difficult, they really aren’t. Javascript optional. If you know the basics of Javascript, if you know how to, you know, thrash around a bit of jQuery, then that’s definitely going to be helpful for prototyping and so on.
There are two reasons, I think, why I think it’s useful to be able to code as a designer in our domain. The first is it gives you an understanding or an appreciation of what’s possible. And equally, what might be possible in six months’ time, or what might be possible if you’re able to kind of poke the developers hard enough and say “Go on—you can do it! Let’s find an innovative solution.”
The flipside of that is also that you know enough to call a developer’s bullshit. I love developers and I miss working with them as closely as I used to. But I think they would admit that occasionally they can be a bit obstructive, if they feel they’ve been left out of the loop or if they’re being forced to, you know, do something unreasonable in a silly timescale. And there can be sometimes a strain of the developer community that says “No—can’t do that. Nope, not possible. Have to go away and do it again.”
If you know your stuff, and you say “Well, actually, I’ve got a jQuery plugin here or something that can do that for you,” I’ve already saved you half the effort, then sometimes that can help realize your design—get past that kind of resistance.
The second reason why I think it’s desirable to be able to code is simply just because it helps the design process. Particularly for interaction design, I’m a big fan of trying to design within the medium. Now I don’t mean design in the browser—that’s maybe something we could talk about later—but I’m not a big fan of that, in terms of visual design and layout and so on. But I am a big fan of it in terms of the interaction design—how things respond to input.
And I think the sooner you can get that kind of design into its native state, be that on an iPhone, or on a telly, or in a web browser, then you can get a better understanding for whether it feels right, because so much of interaction design is about feel and rhythm and flow. The only way really to get that in front of people is to try and prototype it yourself. And I find HTML prototyping really adds something to what I can do. It helps me make the right design decisions, because I can get those interactions out, I can get them tested, and then I can iterate on those quickly.
Livetyping is an online course that teaches UX designers how to make interactive, clickable prototypes using HTML, CSS, and Javascript.
The course will be launching very soon. Sign up and I’ll let you know when it’s about to launch.
Most of the work we do as UX designers is either for the web, or related to it in some way. The things that we design are often web sites or web applications. And even if they aren’t, web technologies are finding their way into more and more things: native iOS apps, Android apps, even desktop software.
And the web is a-changin’. Gone are the days when all you needed was a desktop web site or application with a fixed width of 960 pixels. These days, there is a vast range of different devices and screen sizes that you need to think about. And that range is only going to keep getting bigger.
If you’re still using static wireframes to design this stuff, you are doing yourself (not to mention your client, employer, and/or colleagues) a great disservice. Wireframes just aren’t up to the job of showing subtle interaction details—the things that make the difference between an application that is a delight to use and one that frustrates and annoys.
And even if you’re using a more sophisticated prototyping tool, you’re still not doing yourself any favors, because these tools don’t allow your designs to adapt to the multitude of different screen sizes that are out there.
Many of the most respected people in our industry have been voicing the opinion for some time now that designers need to be able to code and that prototyping in HTML, CSS, and Javascript is a Good Thing. This article highlights some of the arguments they have been making.
37signals have been vocal proponents of this approach. In this post from back in 2008, Jason Fried explained why they don’t make mockups in Photoshop, instead preferring to “go right from a quick paper sketch to HTML/CSS.”
In an interview with Johnny Holland magazine in 2009, Todd Zaki Warfel, author of “Prototyping: A Practitioner’s Guide” gave some compelling arguments for prototyping.
I can also give our clients examples of how prototyping enabled us to uncover hidden problems, explore design solutions, and make informed decisions prior to launch that we simply couldn’t have done without prototyping…
Prototypes are about show and tell. They’re a visual way of communicating the design of a system. First and foremost, they communicate your design…
In nearly every case in the past three years, prototypes have become our documentation. … It still takes less time to build a prototype and write a 20 page supplemental spec than it would to write a 200 page spec and get consensus on it.
Any design based on a written spec is a design based on theory. A design based on a prototype is a design based on experience and practice.
I think another significant insight is that reactions we get to from our prototypes from clients and customers is far beyond anything we were ever able to achieve with wireframes and static Photoshop visual comps.
… my preferred prototyping tools are paper, pencil, pen and HTML/CSS with JavaScript.
In 2010, Aza Raskin wrote a blog post that also touched on the subject.
The most powerful tool for creating empathy as a designer is prototyping. It meets the rest of the team half-way, is the second most persuasive artifact (the first being a narrated video of the prototype), and gives you a sense of what’s hard and what’s easy to implement. Having thought through the edge-cases and being able to speak an engineer’s language gives you street cred. You don’t need to be a great coder, but you should at least be able to get your idea across in in HTML and Javascript.
To design is to inspire participation. To do that, you need to be respected. For that, you need to be a designer-coder.
In May of 2011, Jared Spool wrote the post that really opened up the can of worms.
Interestingly, it isn’t the designers who get to decide if coding is a valuable skill. It’s the hiring managers. And right now, based on today’s jobs market, it’s pretty clear where they stand. Many want to hire super designers—designers who can also code.
… those designers who have proven, practiced coding skills can demand a higher salary than those who don’t.
This provoked a flurry of responses. Matt Nish-Lapidus added to the career and team fit aspects that Jared covered:
I firmly believe that in order to do good design the designer must work with their materials. We can’t continue to just make pictures and flat representations of the things we’re designing. There is a time in the design process for making pictures, but it should be about generating ideas and refining them. There is no way to know what your web site, app, or other software, will actually be like without making a realistic version of a working interface.
Jenifer Tidwell agreed with most of Jared’s arguments, but cautioned that “organizations often value coding skills more than design skills. And when that happens, and you have two skillsets, which one do you think will get used more? Yeah.”
Nathan Curtis of EightShapes recorded a podcast with UIE around this time, and made a great point about the start-up cost of prototyping.
… once that start-up cost has been paid, whether it’s a day of prototyping or even a four hour chunk here, a six hour chunk there. Then things start to really move quickly. That’s in part because our ability to re-use and re-factor different things becomes a lot easier. As opposed to, “Well, you want to make the header twice as large.” In HTML we just change the height from 50 pixels to 100 pixels.
But in a wireframe, suddenly we’re caught going into 16 different files, having to move everything else on the page down, and all of those seemingly subtle changes end up costing a lot, too.
Jack Moffett brought up an important point—knowing how to code increases your scope of influence.
So for me, the ability to code is less about earning “cred” and communication, although I’m sure it has helped with both, and more about dependency and scope of influence. I am less dependent on the abilities and attention to detail of the developers, and I now have greater influence over the entire course of a project. As a result, the final product is better.
These posts also sparked interesting debates on the IxDA mailing list and on Quora. Despite a few dissenting voices, most seemed to agree that being able to code prototypes is a valuable skill for a UXer.
So now you’re convinced that you need to be able to prototype in HTML, CSS, and Javascript. But where do you go to learn this stuff? Most of the information available on the web is aimed at web designers. Much of it is irrelevant for our needs.
A number of workshops have been put together to teach UX designers how to code, but they’re only any good if you live close enough to the venue to attend. There are short webinars available that show you the why, but that aren’t long enough to go deep on the how.
Now there is a better alternative. Livetyping lets you learn at your own pace, wherever you are. It assumes no previous knowledge of HTML, CSS, or Javascript. And it’s tailored to the needs of UX designers. You won’t waste any time learning stuff that you don’t need. By the time you’re done, you’ll be able ditch static wireframes and lengthy spec documents and replace them with lovely, shiny prototypes.
The course will be launching very soon. Sign up and I’ll let you know when it’s about to launch.
The course is now available! Go check it out or sign up below for news about the course, HTML prototyping tips, and more.
i’ve been a fan of austin kleon’s work for a few years now, and i was eager to get my hands on his latest book, “steal like an artist”. billed as a “manifesto for creativity in the digital age”, it’s chock full of great quotes, illustrations, and advice on how to follow your interests and embrace your influences. and though the title says “artist”, the material inside is applicable to any medium. it’s perfect for creatively-frustrated creative types (which i know many of you are), and i loved it so much that i want to give you a copy!
what you’ll get
your very own copy of austin kleon’s “steal like an artist”, shipped anywhere in the world, at no cost to you.
the rules
you have until may 1st to enter.
every reblog is considered one entry (likes don’t count, nor do replies).
i’ll use random.org to choose three winners.
keep your inbox open so i can notify you if you win. if a winner doesn’t respond within 48 hours, a new one will be chosen.good luck!
p.s. if giveaways aren’t your thing, you can always pick up a copy on amazon.
p.p.s. this giveaway is not affiliated with or endorsed by tumblr or my employer, new york media.
So anyway, I haven’t done much on my webapp lately, but now I’ve decided to pull my finger out. I originally started playing around with Google AppEngine for the back-end, but I realized a couple of things.
First, I’m not going to get very far, nor learn very much, just by copying and tweaking Google’s example code.
Second, using AppEngine ties you in to Google. You can’t easily move elsewhere. So I figured I’d be better off not going that route.
So I’ve decided to take a step back and refresh my programming “skills”. On the recommendation of my friend Idan, I’m working my way through Learn Python the Hard Way. Which I’m rather enjoying. It’s not really a Python book. It’s more like an introductory programming book that happens to use Python.
We’ll see where it leads…
That bookmarklet is shaping up quite nicely. Shame it doesn’t actually do anything yet :)
As Scott Berkun advises, stick with it until after the 10 minute mark.
Duration: a little over half an hour
From UX Lisbon 2012.
Semantic Studios (Peter’s company)
findability.org (Peter’s blog)
Peter on Twitter
Here’s a lovely sketchnote-style explanation of what UX design is, by Matthew Magain of UX Mastery.
Duration: 5:40
Whitney Hess, interviewed about some of the challenges she faces when working as an entrepreneur in a creative field and how she overcomes them.
Duration: 4 minutes
Bill Moggridge, one of the most significant figures in the field of interaction design (a term he coined), passed away on 8 September. Thank you for everything, sir.
Duration: 6:37
From Adaptive Path’s MX 2011 conference.
Duration: half an hour
From World of Business Ideas.
Duration: 16 minutes
World of Business Ideas
BJ Fogg’s site
(Sorry about the autoplay thing. It can’t be disabled for this video.)
From From The Design Studio session at TED 2012.
Duration: 12 minutes
From Adaptive Path’s Managing Experience 2010 conference.
Duration: 44 minutes
I help make digital products easier and more fun to use.
Documenting several complex internal systems, including a large grid computing system, a cache management system (both command-line only), an application for submitting and tracking jobs in the grid system (a GUI application), and a storage management system (command-line and GUI)
Designing parts of the interface for:
• An internal storage management system
• A dashboard application for displaying data about the grid computing system
This included:
• Heuristic evaluation of parts of the interface that had already been implemented
• Interviewing users and other stakeholders
• Idea generation
• Creating wireframes and interactive prototypes
• Presenting wireframes and prototypes to stakeholders and the development team
• Working with developers to ensure that the design was implemented correctly
Some of the interface sections that I designed included:
• A panel where administrators of the storage management system can allocate
resources to organizational units
• Something that would allow the data displayed in a data grid to be filtered according
to the user's requirements
• The storage management system allows users to automatically synchronize two or
more storage areas at regular intervals. I was asked to design new screens that would
enable users to set up synchronization between areas, to view details of
synchronizations that they had already configured, and to view the results of these
synchronizations (which can fail under certain circumstances).
It begins to look as if we might have been wrong. All those predictions driving us forward throughout history have brought us finally to the unexpected realisation that the future is, suddenly, no longer what it used to be. Oops. http://2012.dconstruct.org/conference/burke/ James Burke is a living legend. Or, as he put it, “No-one under the age of fifty has heard of me and everyone over the age of fifty thinks I’m dead.” He is a science historian, an author, and a television presenter. But calling James Burke a television presenter is like calling Mozart a busker. His 1978 series Connections and his 1985 series The Day The Universe Changed remain unparalleled pieces of television brilliance covering the history of science and technology. Before making those astounding shows, he worked on Tomorrow’s World and went on to become the BBC’s chief reporter on the Apollo Moon missions. His books include The Pinball Effect, The Knowledge Web, Twin Tracks and Circles.
In the latest London IA Podcast we host a wide-ranging conversation with Cennydd Bowles on moving from user experience design to digital product designer, what it takes to develop visual design skills, freelancing, A List Apart, writing a book, conference speaking and of course that legendary animal of European folklore. Hosted by Matthew Solle and Andrew Travers. Produced by Will Myddelton and Matthew Solle.
Lately, Augmented Reality (AR) has come to stand for the highest and deepest form of synthesis between the digital and physical worlds. Slavin will outline an argument for rethinking what really augments reality and what the benefits are, as well as the costs. Rather than considering AR as a technology, we will consider the goals we have for it, and how those are best addressed. Along the way, we’ll look at the history and future of seeing, with a series of stories, most of which are mostly true. AR may be where all this goes. But how it gets there, and where there is, is up for debate. This is intended to serve to start or end that debate, or at a minimum, to bring the conference to a close by pointing at the future, perhaps in the wrong direction. http://2011.dconstruct.org/conference/kevin-slavin Kevin Slavin is the Managing Director and co-Founder of area/code. He has worked in corporate communications for technology-based clients for 13 years, including IBM, Compaq, Dell, TiVo, Time/Warner Cable, Microsoft, Wild Tangent and Qwest Wireless. Slavin has lectured at the Cooper Union for the Advancement of Science and Art, the American Institute of Graphic Arts, and the Parsons School of Design, and has written for various publications on games and game culture. His work has received honors from the AIGA, the One Show, and the Art Directors Club, and he has exhibited internationally, including the Frankfurt Museum für Moderne Kunst.
As the times accelerate and we face ever more kaleidoscopic careers, a crucial meta-skill is the ability to learn new skills extremely rapidly, extremely well. That practice has no better exemplar and proponent than Timothy Ferriss, author of The 4-Hour Body: An Uncommon Guide to Rapid-Fat Loss, Incredible Sex, and Becoming Superhuman. Not surprisingly, he has made himself adept at compelling presentations, this one prepared especially for the Long Now audience.
Jarrett Walker talks to Gerry Gaffney about human transit, in a discussion that has many parallels for UX practitioners. "Think about the question," Jarrett tells us, "before you fall in love with a technology." He describes the need for ongoing education to help planners and residents understand that good transit promotes not just community building, but "the freedom and joy of individual humans." (August 2011.)
Languages are Parallel Universes "To have a second language is to have a second soul," said Charlemagne around 800 AD. "Each language has its own cognitive toolkit," said psychologist/linguist Lera Boroditsky in 2010 AD. Different languages handle verbs, distinctions, gender, time, space, metaphor, and agency differently, and those differences, her research shows, make people think and act differently. http://longnow.org/seminars/02010/oct/26/how-language-shapes-thought/
In this episode, Paul talks with Paul Romer, Senior Fellow at the Stanford Center for International Development and the Stanford Institute for Economic Policy Research. They discussed Romer's path as an academic turned entrepreneur, who returned to Stanford to explore how the startup dynamic could potentially be applied at the level of developing countries.
In this excellent presentation from the 2010 Design by Fire conference in Amsterdam, Yahoo's Andrei Herasimchuk outlines six tactics for advancing design in a big company.
An interesting piece about rudeness in public places. A must listen for all you urbanists.
From http://www.thersa.org/events/audio-and-past-events/2008/rsa-edge-lecture-with-sir-ken-robinson
Sound design is part of UX that we do not pay enough attention to. To our detriment, I reckon.
Alain de Botton, writer, broadcaster and producer, ponders the question of beauty and its application to architecture.
http://www.infodesign.com.au/uxpod/simpleandusable
From http://www.uie.com/brainsparks/2010/10/15/spoolcast-designing-with-scenarios-featuring-kim-goodwin/