Filed under: Design

No Ideas But In Things

image

In my mind, there is an undeniable relationship between UI design and graphic design.  They share a similar communication goal and are both concerned with things like layout, color, balance and type.  Whenever I mention that, though, Nate is quick to remind me that, while interaction design may be the adoptive step child of graphic design, its flesh and blood is industrial design.  In the spirit of that relationship, Dan Saffer has started cataloguing interaction inspirations from the real world.  Feeling stumped about an interaction in the software you design?  Find some inspiration at No Ideas But In Things.

no comments

Leave a comment

ThoughtBox: Visual Design

comp

The weekend is quickly slipping away.  I had a lot less time to spend on this than I had hoped (I guess that’s how it always goes).  I helped a friend move this morning and it took a little longer than expected and I ended up running some errands, etc.  You know.

Anyway, here’s the visual design for ThoughtBox!  I tried to find colors that would be both calming (the light blue green and soft gray) and yet demand a sense of action (the bright orange).  This is how I would like to think of my task planning…calm, controlled and action oriented (I should write my own book)!  If I actually had been using ThoughtBox, maybe I would have realized how long the errands were going to take today.

As far as type goes, I ended up using Miramonte and Georgia.  Miramonte is one of the “free” typefaces that Ascender included with the WPF SDK.  In the end, that only shows up in the state bar along the top, but it’s a really strong type so it gives the UI a strong anchor up there.

For everything else, I’m using Georgia.  It’s an obvious choice because it’s free and on just about every computer in the world, but non-obvious because it’s a serif font which is kind of unusual for UI.  I think it works though.  Picasa uses Georgia for the category names and I always liked the way it looked.

I’m a big believer if the “Photoshop” step in creating an app and we tend to make a strong investment in this step at IdentityMine and I think it pays off.  On the other hand, I guess it’s possible to over invest here to and that’s why I’m moving on to the next step.  I haven’t worked out all of the kinks with this design yet and we’re going to need to clean up some things, but mostly I’m happy with it.  I think it’s coming together.

In other news, I actually got a jump start on some code.  I forgot to post the comp when I actually finished it.  I don’t think I’m going to finish this weekend, at least not with support for syncing with Remember The Milk (and that’s the ultimate goal), but I should have a working UI done.

2 comments

Leave a comment

ThoughtBox: Wireframe

wireframe

Just finished the wireframe for the app.  I built the design around a principle from the book that really struck a chord with.  David Allen talks about horizontal vs. vertical task management.  The Horizontal tasks are all of your projects and the Vertical tasks are all of the action items that you need to get through in order to complete that task.  So, I’ve got projects going across the top (horizontally) and the tasks are in a list below the projects.

Above the projects, there are a bunch of “states” that an action item can be in.  The bar along the top represents each of those states (Inbox, Next Actions, Tickler File, Someday, etc.). 

Everything that you select essentially acts as a filter.  So, if you choose Due Today and then Errands, it will show you all of the action items in the Errands project that need to be completed today.

When you add a new item, it will automatically pick up the characteristics of whatever area/project is selected.  If I were to click “Add New Task” in the above state, it would automatically be in the project “Clean the Study” and be a “Next Action.”

Woops.  Just noticed two errors.  First, all of the visible items should have the “Next Action” icon selected because we’ve got the “NEXT” area highlighted.  Also, I need to include an ALL option in the states bar.  That’s noted and I’ll include it in the next step (the visual design).  Normally, I’d update the wireframe but we only have a weekend for this!

Alright, well we’re cruising through this.  At this speed, there’s a good chance that we’re going to have to make some tweaks during visual design and then development this afternoon but that’s okay it’s a small project and the customer (me) is pretty forgiving.  Also, I’ve already found some small tweaks to our data model to support this.  (Going to need, for example, an “order” field for the tasks so that they can be reorderd…that’s what the gripper on the side is for).

Next step: visual design and our deliverable will be a comp.  Sweet!  This step will be fun.

no comments

Leave a comment

Banksy Not So Anonymous Anymore

About a year ago, I read this great article in the New Yorker about Banksy. If you don’t know who Banksy is, you’ll want to do the same. It’s a great read, even if it is a little long (it’s the New Yorker after all).

At the time, the masked graffiti ace garnered much of his mystique from his unknown identity. He had a very public yet anonymous profile, the ultimate shrug at the organized art world. Yet his paintings have been selling for six (or even seven?) figures.

Well, I was intrigued, but The Daily Mail appears to have outted our man! Not sure how to take this one. As much as I was dying to uncover the mystery, I think it was more fun when he was anonymous.

1 comment

Leave a comment

A Survey of Silverlight 3D

3dglasses

A couple of weeks ago, I spent a little time trying to get my finger on the pulse of 3D in Silverlight.  As of today (version 2, beta 2) there’s no “official” support.  That’s a bummer.  Flash has Papervision and now Astro.  WPF has, well, WPF.  You might think that Silverlight is eating some dust right now.

Okay, so you’d be a little right in thinking that but, come on, it’s only one and a half versions old.  Let’s cut Silverlight some slack and hope that we get some official support soon (but not before Triggers).

But you’re also a little bit wrong.  Not only is there some really impressive work being done by our very own Silverlight community to get “real” 3D (i.e. geometries, lighting, cameras, etc.) working but there is plenty of potential for some sweet “fake” 3D (read “tricks”) that Silverlight is more than equipped to pull off.

This is not a comprehensive list or primer, but here are some thoughts, links and resources about creating sweet Silverlight 3D.  If you know that I’ve missed something, then definitely let me know.  I’m more than happy to let this post grow.

“Real” 3D Frameworks: Kit3D and Balder

Let’s start with “real” 3D.  Go ahead purists.  You can leave your comments about how there is no “real” 3D on 2D computer screens, etc.  The rest of you know what I mean.  It’s the kind of 3D that you get from Maya or 3D Studio Max or Blender.

From what I can tell, you have two pretty decent options for this kind of 3D in Silverlight today: Kit3D and Balder.   In fairness, I have downloaded, browsed, executed, smelled and otherwise experienced Kit3D.  Balder and I have not yet officially crossed paths.

I’m not sure if these two know that they are duking it out, but Kit3D does seem to have the upper hand with 515 Codeplex visits to Balder’s 338.  Balder, on the other hand, comes to us via Einar Ingebrigsten (the more Norwegian spelling of Ingebretsen), so go Ingebretsens!

For now, my money is on Kit3D but it’s still anyone’s game.  The feature sets of both of the platforms are really impressive.  Both seem to have a strong mapping back to the WPF 3D namespace (System.Windows.Media3D).  This is probably more good than bad, but that namespace is complex.  Unfortunately, Silverlight doesn’t yet have the parser extensibility required to make these APIs markup friendly.  For now, at least, the 3D API may be compatible with WPF in code, but there’s not a good markup story.

Nevertheless, you can pull off enough amazing stuff with either that you kind of can’t believe that it’s all Silverlight.  Honestly, these are impressive frameworks.  Texture mapping (think 3D images) is, at least for me, the standout feature and it’s supported by both.

Faking it: Flipbooks

The classic way to fake really sophisticated looking 3D is to render it as images (or even a video) and then play the images back flipbook style.  A lot of great Flash work, game work, etc. gets done this way because it simply doesn’t make sense (or may not be possible) to do the rendering at runtime.  The benefits of this kind of approach are obvious: easy to code, fast, lightweight, great tools for creating the content, high quality rendering, etc.

The tradeoffs are potential size issues (the 30 or 40 images you need to pull that off add up quickly) as well as the obvious lack of dynamic interaction.  You pretty much get one path through the 3D motion and that’s that.

For smaller, intricate bits of UI (think something like an animated character or a leaf blowing through the wind), this can be a really powerful approach.  It also may be worth the size tradeoffs for “hero” UI, important bits of UI that are worth a big download like 360 degree product previews, etc.

There’s a really great implementation of this kind of image sequencing available as part of the “nibbles” Silverlight/WPF tutorials.  You can see it in action or get the code.

Incidentally, this is also the technique used by Swift3D for exporting to Silverlight, the same technique that they’ve been using all these years in Flash.  If possible, it keeps your content in vectors.

Faking It: 2.5D

I’ve heard this term tossed around to refer to various things, but I’m going to use it like this: 2D + perspective transforms.  Yeah, so Silverlight doesn’t directly support perspective transforms either (fist shake at 2×2 matrices).  We’re not completely out of luck though.  A lot of 2.5D techniques can be faked with good old 2D vector trickery.  There are no magic bullets here and there are no great libraries (yet).  But there is plenty of inspiration (make sure to check out the Corner Drag sample).

Faking It: Parallax

Parallax is the technique that old video games and starfield screensavers use to create depth within a group of 2D objects.  It’s also the technique I use on the nerdplusart homepage or that Microsoft uses for the navigation on it’s hey-genius recruiting page.  It turns up all over the place.

This one is really easy and in the right scenario can be really effective.  The effect of 3D is created by the size and placement of objects relative to one another.  It becomes particularly effective if the objects are moving because you see how the movement effects each object differently, and at different speeds.  If you really want to step it up, you could even change the relative darkness of an item if it is further away to emphasize its distance.

The good news about this technique is that it’s really easy to pull off and you can do it with very simple transforms on the items.  If you can scale and translate (move in x/y space) an item, then you can do this (and Silverlight can…go Silverlight!).  Not only that, but the math isn’t tough either.  Here’s the function that I use on the homepage to make the parallax magic happen.

public void CalculateParallax(
  double x, double y, double z, double cameraX, double cameraY, double cameraZ,
  double focallength, out double outX, out double outY, out double outScaler)
{
  // account for x and y with a translate transform
  outX = x - cameraX;
  outY = y - cameraY;

  // account for z with a scale transform
  outScaler = focallength / Math.Max(focallength + z - cameraZ, 0.000000001);
}

The variables x, y and z are the coordinates of the item in the “scene.”  You also provide the camera coordinates and the focalength of the imaginary “math” lens (I usually pass in a value of about 100) which will adjust the relative strength of the z component (just like the focal length of a camera) and…oila…you’ve got the values you need for your translate (outX and outY) and scale transforms (outScaler).

Faking it Other Ways: Great Design

I’m not a 3D junkie by any means.   My foremost passion is experience design, and 3D in UI is hard to pull off at all let alone pull off well.  There are technical reasons that make it complex, but it’s also just tough to design.

A lot of great 3D is tough to categorize by technique.  A good designer can introduce a third dimensional component to an experience without us really noticing that it’s even there because it just feels right and many of the techniques that get us there are ad-hoc or just the product of clever art.  So, in the end, much of the challenge of good 3D isn’t technical at all.  It’s the challenge of a great design, well executed in the concept or art phases of the project and Silverlight is well equipped for great design.

As a community, let’s not wait for official paltform support to start building some sweet 3D.  There’s already plenty of technology…we just need to step up and apply some great design.

7 comments

Leave a comment

Moving Type

That’s a play on words because not only do these videos have type that is literally moving (they are videos after all), but they are also great examples of how text can be a really powerful and emotional design element.  If interaction design were rock n’ roll (I like to think of it as punk rock), then you could liken typography to 1940’s blues and jazz.  There’s an undeniable ancestry there and so mastering the power of type makes you a much stronger interaction designer.  Interaction design is 80% communication and what better way to communicate than with words and the way they get presented on the screen.

By the way, for some great insight on the technical details of typography in WPF and Silverlight, make sure to check out Fil’s blog, including this really interesting post that compares type rendering between WPF, Silverlight and Flash.

Okay, here are the videos.

Typophile Film Fest 4 (Opening Credits)

I won’t comment too much on this one, except to point out that it was put together by the BYU graphic design department (my alma mater) and that this is one of those ideas that you wish had been your own.  Also, be sure to check out the other Typophile Film Fest credits. 

The Girl Effect

This video is incredibly moving.  Unfortunately, it’s lacking a strong call to action, something it could really capitalize on because the video itself has such a powerful message.  The amazing thing about this one is that it’s literally just type…just words on a screen (and music).

Bottom Line

The bottom line, of course, is not to underestimate the power of type.  Words are powerful and made more powerful by the medium (the letterforms, colors, etc.) that carry them.  This is as true in software as it is on a poster or movie credits.

2 comments

Leave a comment

Type

I  have to admit that I’ve become a little obsessed with type in the last 6 months. This, I think, is a completely justifiable obsession for a a UI guy. Type carries a massive amount of information sharing potential. In addition to the text it carries, the type itself is a potent tool for talking to your user, establishing information hierarchies, creating a mood, establishing order, etc. It’s a tool you, as a UI guy, want to keep sharp.

So, here are some of top-of-mind resources that I’ve stumbled upon.

Helvetica (the film)
Start here. This is a fun movie for anyone who can appreciate a geeky obsession of any sort and it’s also a great way to kick off your new found type interest. You’ll finish it saying the word “typeface” in a lot of situations where you used to say “font.” You’ll also realize that type designers have managed to keep a lot of old world charm in their always up and coming craft.

Typography Blogs
There is no shortage of these, but a few that I like are I Love Typography, Typographica and Typophile.

Free Fonts
Pad your fonts folder with this incredible list of really beautiful (and free!) fonts from Smashing Magazine (another great place to find some good information about type).

Typography Books
In fairness I have only ordered (not received or read) these books, but they come from a reliable source and were billed as “quick reads”: First, A Life in Typography by Ruari McLean and, second, Designing Type by Karen Cheng.

Last of all, some slightly more esoteric links are: The Penguin Paperback Spotters’ Guild and the International Typographic Style group, both on Flickr and on Wikipedia (here and here). And of course the requisite catch-all: someone else’s much more comprehensive list of type resources can be found here.

no comments

Leave a comment

To Photoshop or Not To Photoshop…

I really like Jason Fried (of 37 signals) and pay attention when he has something to say.  So that’s exactly what I did when I read this post yesterday about why they skip a Photoshop (or visual comp) step in their development process.  He makes a number of salient points: Photoshop isn’t interactive, it’s not very collaborative, it doesn’t ever look the same as the finished product (esp. the text) and it’s awkward (for him at least).

While well reasoned, something about his post didn’t jive with my experience.  When I take the time to build out a “roadmap” for a design in Photoshop (or whatever design tool makes me most comfortable), experience tells me that things end better.  I get to make mistakes early.  I also end up pushing things further (visually or even at the interaction level) because the tool gets me there quicker.  I invent things that may look improbable (or even impossible) to actually pull off and then by the time I get to code, I actually pull them off!

I can respect both sides of this issue, but apparently I’m not the only one who disagreed and Jeff Croft’s thoughtful response was illuminating.  Does a “photoshop” step help out with your workflow?

5 comments

Leave a comment

All Streets

Just came across a new Ben Fry (data viz wunderkind) exploration piece.  All Streets is a street map of the lower 48, but one that contains each and every of the 26 million individual road segments found therein.  Check it out and notice how geographical and cultural details emerge from the image.  While you’re at it, don’t forget about Ben’s book on data visualization and, if you haven’t already seen it, check out the related zipdecode.
 

no comments

Leave a comment

ISO50, Barack Obama and the Power of Design

Obamap PosterRegardless of your politics, I’m pretty sure that you can get behind Scott Hansen (Mr. ISO50 / Tycho Music). He’s a brilliant designer. His print work, in particular, is a major fount of inspiration.

I saw this morning that the Obama campaign has commissioned him to do a poster, presumably a follow-up to the iconic image done by Shepard Fairey.

This kind of blew my mind. Partially because it’s a weird convergence. I didn’t really know who was paying attention to ISO50. I knew he was big but, you know, big the same way that James Doohan might be big at a Star Trek convention or the former quaterback might be big at a high school reunion. So it was strange when all of the sudden he had been commissioned by Barack Obama who is big like running for President big.

It also blew my mind because I had just assumed the previous poster had been a lucky fluke for Mr. Obama. And it may have been, but the campaign embraced it and apparently are looking for a follow-up. When I read that the Obama campaign had contacted ISO50 and asked for a poster, it got my attention. Is Barack Obama (or someone on his campaign) really that in touch with the power of a designer like Scott? Unless the design geek demographic is more important than I realized, something is going on here. Scott’s design does have broad appeal and it’s definitely evocative, but I wouldn’t call it mainstream by any means and a presidential campaign is about appealing to the masses.

That’s what gets me excited. Is the mainstream shifting? Is great design like this seeing it’s day? Is this an acknowledgment of the real power and appeal of a great design and a great designer? Apparently, the first poster is doing some good. I can’t wait to see what ISO50 has created for the second.

5 comments

Leave a comment