Good Idea, Bad Idea

Things I think of and things I like

Realism in UI Design

March10

The history of the visual design of user interfaces can be described as a gradual change towards more realism. As computers have become faster, designers have added increasingly realistic details such as color, 3D effects, shadows, translucency, and even simple physics. Some of these changes have helped usability. Shadows behind windows help us see which window is active. The physicality of the iPhone’s user interface makes the device more natural to use.

In other areas, the improvements are questionable at best. Graphical user interfaces are typically full of symbols. Most graphical elements you see on your screen are meant to stand for ideas or concepts. The little house on your desktop isn’t a little house, it’s «home». The eye isn’t an actual eye, it means «look at the selected element». The cog isn’t a cog, it means «click me to see available commands». You are typically not trying to replicate physical objects, you are trying to communicate concepts.

Details and realism can distract from these concepts. To explain this, I’ll take a page from Scott McCloud’s «Understanding Comics», a book which should be required reading for all designers.

Understanding Comics

The image on the left is a face of a specific person. The image on the right is the concept «face»; it could be any person. When designing user interfaces, we rarely ever want to show a specific entity; typically, we want to convey an idea or a concept. Details can easily distract from that idea or concept.

Symbol vs. Photo

At the same time, it’s obvious that some details are required. Too few details, and the user won’t recognize the idea at all.

What's in a face?

The circle on the left clearly shows a face. The circle on the right isn’t recognizable as a face anymore.

Let’s look at a symbol we actually see in user interfaces, the home button. Typically, this button uses a little house as its symbol.

Home Buttons

The thing on the left is a house. The thing on the right means «home». Somewhere between the two, the meaning switches from «a specific house» to «home as a concept». The more realistic something is, the harder it is to figure out the meaning. Again, if the image is simplified too much, it’s not clearly and immediately recognizable anymore.

Home Buttons losing details

The thing on the left is a home button. The thing on the right might as well be an arrow pointing up; or perhaps it’s the ? key.

Let me explain this concept using an entirely unscientific graph:

Cognition

People are confused by symbols if they have too many or too few details. They will recognize UI elements which are somewhere in the middle.

The trick is to figure out which details help users identify the UI element, and which details distract from its intended meaning. Some details help users figure out what they’re looking at and how they can interact with it; other details distract from the idea you’re trying to convey. They turn your interface element from a concept into a specific thing. Thus, if an interface element is too distinct from its real-life counterpart, it becomes too hard to recognize. On the other hand, if it is too realistic, people are unable to figure out that you’re trying to communicate an idea, and what idea that might be.

Buttons

The button on the left is too realistic. The button on the right does not have enough details to be immediately recognizable as a button.

Toggles

The same applies to these toggles. Shadows and gradients help the user figure out what he’s looking at and how to interact with it. Adding too many details, however, ends up being confusing. The toggle switch is no longer just a toggle switch that is part of a user interface, it is clearly recognizable as a photograph of a specific toggle switch; it loses its meaning. It’s no longer a symbol, it has become a specific thing.

Home Button

An Exception

There is at least one specific area where more details are good: Application icons. You want your icon to depict one specific idea: Your application.

Application Icons

Coda’s leaf isn’t a representation of the idea of a leaf; it’s a very specific leaf, the Coda leaf. Acorn’s acorn isn’t just any acorn, it’s the Acorn. Adding details moves these images from a generic concept towards a specific entity, and in the case of an application icon, this is exactly what you want.

Conclusion

Graphical user interfaces are full of symbols. Symbols need to be reduced to their essence. This helps avoid cluttering the user interface with meaningless distractions, and makes it easier for people to «read» the symbol and figure out the meaning of an interface element. Realistic details can get in the way of what you’re trying to communicate to your users.

Unless you are creating a virtual version of an actual physical object, the goal is not to make your user interface as realistic as possible. The goal is to add those details which help users identify what an element is, and how to interact with it, and to add no more than those details. UI elements are abstractions which convey concepts and ideas; they should retain only those details that are relevant to their purpose. UI elements are almost never representations of real things. Adding too much realism can cause confusion.

Thanks to Max Steenbergen and Cameron Kenley Hunt for helping me form a coherent opinion on this topic.
The second house icon is from Dellustrations’s icon set «Dellipack».

If you require a short url to link to this article, please use http://ignco.de/240

posted under shared | No Comments »

A Shocking Truth About CSS

March10

Comments

posted under shared | No Comments »

The Panic Status Board

March10

If I didn’t love these guys I would hate them.

 ? 
posted under shared | No Comments »

Mac App Review – Hidden

March10

hidden_lightAs time goes on, we rely more and more on portability. Laptops, iPhones, iPads (soon) have a common presence around the community, though this increases the chance of them being stolen.

If you are a MobileMe user, then Find My iPhone is a essential tool for your iPhone. Though, what about your laptop, is their an option for that? As the FBI have reported, 97% of stolen computers are never recovered. There are a couple of apps out there right now, but can set you back with a burden in your pocket, with most having annual fees included.

So taking this into account, the some guys from Flipcode Ltd over in Britian have come up with a brand new app, Hidden. Hidden can track your laptop’s location, plus provide you with photos from the iSight’s camera and more. How much do you ask? A one off fee of $20 per laptop. Not much to have a ‘just-in-case’ policy for your laptop.

Read on as we look further at what Hidden has to offer.

Setting up

Tracking Control Panel

Tracking Control Panel

This could not be any easier. Once you have signed up, you input your laptop’s serial number and get a small file to download to install on your laptop. The small application runs in the background and is very non-CPU-hungry. The only place where you can see that Hidden is running is in Activity Monitor and you can only uninstall it by deleting a file located at a secret location with the administrator password.  Once installed, go onto the Hidden website and check whether the laptop has registered correctly. If so, you’re done!

My laptop has been stolen!

Collecting Information

Collecting Information

This is where Hidden really shines. All you do is go to your Tracking Control Panel on the Hidden website and mark your laptop as ‘Stolen’. Then Hidden goes straight away to your laptop (if it is on and connected to the internet), and starts collecting information about it. Within a few minutes, you will be able to see a estimated location on Google Maps (with lattitude/longitude and accuracy, usually to around 100m), a screenshot, a photo from the iSight but also Packets, which include the IP address, a traceroute and a ifconfig. Sometimes this can take a while to do, but patience is the key!

Retrieved Information

Retrieved Information

Until you change the status of your laptop to ‘Not Stolen’ again, Hidden will retrieve new information every so often. This provides an updated location if they have moved, plus a new screenshot, iSight photo and a new Packet. This information then can be passed onto your ISP and the Police. It also should be noted that when the status is ‘Not Stolen’, that no information is collected from your laptop. Also on their website, they state that people who frequently change their laptop’s status to ‘Stolen’ will be banned. This is so their servers are free enough for people who actually need it.

Interface

The only real interface is on their website, as that is where all the tracking is done. Though saying this, their website has been designed with looks and simplicity in mind. It is extremely easy to use and presents all the information neatly.

Conclusion

Hidden is a extremely simple, yet powerful app which gives you peace of mind just in case your laptop is stolen. The online interface is nicely designed and information collected from your laptop is useful and can significantly help you to retrieve your laptop. Often though, the time to retrieve information can be slow, but this would be the limitations of the software. Though, Hidden performs extremely well and has not once played up while reviewing it . The information retrieved currently is small compared with other apps, but is sufficient enough to help substantially in getting your laptop back. Though, the app has just been released and the developers have promised more features in the near future.

But of course, one of the strongest selling features of Hidden is it’s superb price. At only $20 per laptop for it’s lifetime, it’s something which you can do once and just forget about it until you should need it in the future. Plus, if you are currently with another service and make the move, you can get 10% off. I highly recommended this app if you currently don’t use something like this or are not happy with the one that you are using now. With promise of more features soon, I look forward to the future of Hidden.

If you have any further questions about Hidden, have a opinion or sign up, please leave a comment below!

Version reviewed: 1.0
Price: $20 for lifetime of one computer
Developer: Flipcode Ltd
Size: 1.1MB
Hidden Website

Related posts:

  1. Tropical Howie Laptop Sleeve – A Review
  2. STM Medium Slip 15? Bag Review
  3. Mac App Review – Socialite

posted under shared | No Comments »

BrowserSeal.BrowserPack - 10 browsers in 1

March9

I've been using IETester for years but today I stumbled upon another browser package called BrowserSeal.BrowserPack that not only includes IE5.5/6/7/8, but also IE 1/2/3/4, Opera 8/9/10, Firefox 3/3.5 and Safari 3/4. Not a bad effort! Unlike IETester which executes all the browsers in a single tabbed window, BrowserSeal.BrowserPack is really just a collection of portable browser versions, so you are left running 10 windows instead of one. What I suggest is not installing the IE browsers in BrowserSeal.BrowserPack and continue using IETester instead.

PS: And if you want to run Firebug in your 10 new browsers you can bookmark the Firebug Lite bookmarklet and you get almost the same featureset as the native firefox extension gives you!

posted under shared | No Comments »

mjuvi [Processing, vvvv, C++]

March5


Mjuvi is a 2010 student project at h-da where music and visuals are generated by motion tracked people. The user can choose between different roles (beat = red ring, melodies = blue ring, effect = green ring or instrument switch = orange ring). Together they control a music program over midi signals.

The tracking system is scalable, e.g. the system also supports a reactable as input and supports up to 20 cameras (each camera connected to a tracking-server which sends tracked data to the main application over TCP). The tracking system is able to use AR ToolKit or reacTIVision.

For visual output the main application works as a server for VVVV, Processing or Java clients allowing them to display objects, connections and played midi-notes. The prototype uses four cameras as input and two Processing clients as output (ground and visuals projection). Main application and tracking system were developed in C++.

Mjuvi

(via Vimeo)


mjuvi [Processing, vvvv, C++] is a post from: CreativeApplications.Net | Follow us on Twitter - Flickr - Vimeo

Related Posts:

posted under shared | No Comments »

How NodeJS saved my web application

March1

Comments

posted under shared | No Comments »

EnhanceJS: A library to progressively enhance

February26

EnhanceJS is a new library from the Filament Group, who are serious about progressive enhancement and accessibility.

What is EnhanceJS?

EnhanceJS is a new JavaScript framework (a single 2.5kb JavaScript file once minified/gzipped) that that automates a series of browser tests to ensure that advanced CSS and JavaScript features will render properly before they’re loaded to the page, enabling you to build advanced, modern websites without introducing accessibility problems for people on browsers that aren’t capable of supporting all advanced features. It’s designed to be easily integrated into a standard progressive enhancement workflow: just construct the page using standard, functional HTML, and reference any advanced CSS and JavaScript files using EnhanceJS to ensure they’re only delivered to browsers capable of understanding them.

So, you have simple markup, if you pass the test you will get “enhanced” with new CSS and JavaScript behaviour additions to take things to the next level. You can even do conditional CSS for IE:

PLAIN TEXT
HTML:

  1.  
  2. <script type=“text/javascript” src=“enhance.js”></script>       
  3. <script type=“text/javascript”>
  4.         enhance({
  5.                 loadStyles: [
  6.                         'css/enhancements.css',
  7.                         {href: 'css/print.css', media: 'print'},
  8.                         {href: 'css/ie6.css', iecondition: 6}
  9.                 ],     
  10.                 loadScripts: [
  11.                         'js/jquery.min.js',
  12.                         'js/enhancements.js'
  13.                 ]
  14.         });   
  15. </script>
  16.  

There are detailed docs:

Go to the bottom of their blog post and click on the low-bandwidth version to see it in action.

posted under shared | No Comments »

Quicksand: transition and filtering effect

February19

quicksand

Jacek Galanciak has created a nice visual transition library, Quicksand, that filters and shows a set of data in an interesting way.

The jQuery plugin has you quickly calling quicksand like this:

PLAIN TEXT
JAVASCRIPT:

  1.  
  2. $(‘#source’).quicksand( $(‘#destination li’) );
  3.  

and you have the data to transition between:

PLAIN TEXT
HTML:

  1.  
  2. <ul id=“source”>
  3.     <li data-id=“iphone”>iPhone OS</li>
  4.     <li data-id=“android”>Android</li>
  5.     <li data-id=“winmo”>Windows Mobile</li>
  6. </ul>
  7.  
  8. <ul id=“destination” class=“hidden”>
  9.     <li data-id=“macosx”>Mac OS X</li>
  10.     <li data-id=“macos9″>Mac OS 9</li>
  11.     <li data-id=“iphone”>iPhone OS</li>
  12. </ul>
  13.  

You can customize the effect (set the easing, setup data, and the like). Seethe docs and demos for more.

posted under shared | No Comments »

MySQL and partitioning tables with millions of rows

February2

Comments

posted under shared | No Comments »
« Older Entries