Browsed by
Category: Interesting or Cool

Saturn’s hexagonal ring explained (partly)

Saturn’s hexagonal ring explained (partly)

The hexagon ring discovery a few years ago on Saturn was fascinating, but this possible solution from some fluid dynamics folks appears even more so.  Their basic premise is that they can duplicate the flow by spinning a ring under the surface of the water.  This would imply the pattern is created by some kind of high-speed storm running around the pole below the visible cloud layer.

A particularly interesting part of the article is that they can  make other shapes too by varying the speed of the underlying spinning ring/storm.  My question is since it was a scale study – how fast would the winds in that storm be running?  As it is, wind speeds on Saturn are already known to reach 1,800 km/h – and that’s crazy fast (~Mach 1.5).

Local Portland guy beats Asteroids record that has stood for over 27 years

Local Portland guy beats Asteroids record that has stood for over 27 years

I met this guy when he was attempting his 2006 world record attempt at the local Ground Kontrol just a dozen blocks down the street from my place.  I just walked in on a weekend and he was the only guy in the place playing.  I chatted with him a bit while he was playing and he seemed pretty friendly.  Glad to hear he made it this time.  He had gotten about 20+ hours into it the last time when the machine overheated and crashed on him.

http://www.wired.com/gamelife/2010/04/asteroids-record/

Go watch his actual gameplay here:
http://www.justin.tv/johnmcallister#r=P29FTM8~

Sleep talking man’s comments blogged by wife

Sleep talking man’s comments blogged by wife

http://sleeptalkinman.blogspot.com/

Produces pearls like:
“Elephant trunks should be used for elephant things only. Nothing else.”
“It’s CHICKEN and you LIKE IT. Lentil-loving, bean burger-sh*tting wanker.”
“Put it down! Step away from the yam. Step away!”
“I can’t control the kittens. Too many whiskers! Too many whiskers!”
“Don’t leave the duck there. It’s totally irresponsible. Put it on the swing, it’ll have much more fun.”
“Since when did my underwear look good on you? Take it off. Take it off your face.”
“I demand compensation in cola bottles. Lots of fizzy cola bottles. In one lump sum.”
“Put the lobster down. Put it down!”
“Robots making sweets? But they’ve got no taste buds! Metal smarties.”
“Oh, we’re going to be late for the pogo ballet, stop it!”
“So many spoons. You can’t have any. Cock off!”
“I’ve got a badger, a dog, a cat, and a sack. Now that I’ve got ’em you can f* off. All mine.”
“Look. Look at my left foot. Look at my left foot. Smack you in the face!”
“It’s definitely time to get up. Yes. My dog needs a new tutu.”
“I love the fact you’re a moose. Yes. So soft, so soft.”

McDonalds call-centers its drive-ups?

McDonalds call-centers its drive-ups?

Due to a lot of my work with Project Offset, I’ve been flying a lot more lately.  I was late for catching a plane, but desperately needed to get some food in me.  I swung by a McDonalds and hit the drivethru.  I ordered a sausage sandwich, but when I go to the window, I realized they quoted me $2.50 or such and the board had read $1 something.  When I got to the pay window, and asked about it – and the guy said, “Yeah, sometimes those guys ring it up wrong”.  Huh?  Did you take my order?  No, he tells me that this McDonalds has its drive-up order taking boards hooked to call centers somewhere else some of the times – mostly in the mornings.

Long story short – the guy taking your order might be half-way around the country.  I don’t wonder if this was something that these call centers have turned to since the do-not-call list has really cut down their volume, but it’s an interesting development.

A night with Valentino

A night with Valentino

A friend of a friend recently acquired a baby pug dog, and the mutual acquaintance is on dog watching duty for a few days.  So last night, I got to spend some quality time with a precocious little pug:

Who even has his own blog and has done a photo shoot.  He was immensely fun to play with, perchance for onry-ness, and good to take on a long walk.  If you want to practice for kids – get a dog, or do some dog sitting to appreciate the life-changing events that surround having extra little feet in the house.

Great website collection

Great website collection

FFFFound! – inspirational design images:
http://ffffound.com/

Know your Meme – daily updated website on all the latest internet meme’s so you don’t have to find them yourself:
http://knowyourmeme.com/

Programming Puzzle Websites to keep your skills sharp
http://sixrevisions.com/resources/10-puzzle-websites-to-sharpen-your-programming-skills/

Love those little programming demo competitions – but hate downloading programs and trying to get them to run?  Just watch them!
http://demoscene.tv/

And Rules for my Unborn Son – a collection of submitted wisdom for males.
http://rulesformyunbornson.tumblr.com/

Would you get on this elevator?

Would you get on this elevator?

Went to visit a good friend that just had their first child at a local hospital.  On the way out from the joyful visit, I was greeted by this wonderful elevator:

    

The display was locked-up mid-boot and never did recover during my short trip from the 4th to 1st floor.  Everything went well, but wow.

This brought up the importance of how it is often it’s the *subtle* clues software needs to be giving off that show that things are working ok and the software is built with enough quality to handle many eventualities to the level we feel confident enough for our important data (or in the case of this elevator – our very lives).  Interfaces that lock up after you hit a button, spinning disks that don’t give you any clue how long they’ll take to come back, or dialogs that have confusing wording are all things that make you start to feel un-trusting of the software and start thinking it is glitchy or low-quality.

Brings me to a pretty decent book on UI design I read recently “UI Design for Programmers” by Joel Spolsky.  Here were some of the notes I took while reading his book:

  1. People feel good about software/something’s usability when they get a “chain of victories” – when a tiny chain of perfectly timed events/accomplishments go off right.  That’s what makes people enjoy using your software and perceive it has value and was well designed.
  2. Know the point of usability testing: You only need about 2-5 people to test your usability.  More people than that, and you’ll see same stuff again and again.  You don’t want numbers/stats like ‘27.5% of the people found the save dialog box’.  You want to know what users think should happen – so the thing you’re looking for are things like “Most of the users kept opening the file menu to find the save feature – but it wasn’t there”.  The point is to teach you how people *think* the interface should work.  If you just outsource this and get a stack of numbers back, it’s like paying someone to go to college for you.  You are not learning how the average person approaches the visual clues on a computer.
  3. Use ‘affordances’ to help users see/learn what to do:
    Affordances are visual clues.  Use negative space to show where hand or finger goes like they do on camera bodies, put ridges on window edges to show it can be sized/slid.  Make tabs act like real file folders so they click and show new panes, etc.
  4. Don’t break real world metaphors:
    Windows briefcase was totally confusing since didn’t work like real briefcase.  Do I put things in it then copy that to my pen drive to take it home?   Also, always obey the laws of physics – windows tabs dragging things should behave as on a real desk.  Don’t rely on the user knowing about strange ‘hidden’ panes or the like when switching between things (early versions of Mac Office did this).  Don’t break people’s expectations of how something works if you use a visual metaphor.  If you’re using it, it should be because it’s a GOOD metaphor.
  5. Consistency
    Certain hot-key combos and other UI behaviors had better be the same as other apps or people will get frustrated. Even if you hate the way Microsoft/Apple did it – different or ‘clever’ new UI or key shortcuts for cut/paste and other common features will just anger 99.999% of the people (yes – this means you Linux).  If you’re going to do it differently, you better understand exactly why and that most people will probably TRY to do it the old way; so be ready for that.
  6. Designing for extremes often produces better designs for everyone
    If you design your product for difficult/extreme cases – it should become even easier for normal use.  Design for people who are colorblind, for low light, shaky hands, wearigng gloves, etc.  RFID cards for hotels were designed for folks that had poor vision/arthritis, but turned out way easier than standard house keys for buildings and are used all the time.  People now just put coat pockets up to the the sensor when their hands are full – much easier.  Designers started designing large handled kitchen tools for people with arthritis; and then it turned out everyone actually preferred them – now almost all modern utensils have large handholds with nice grips and large knobs.  Your UI should never rely on color for functionality.  A good number of people are partly colorblind – so if you design in B/W, it will help you create affordances that will likely help everyone – i.e. pie charts that have labels that float over each slice instead of just in a color key to the side with many different colors that are very close in shade.
    For computers – design for people that can’t: read, use mouse well, or have memory so bad that can’t remember own name if it wasn’t on a card.  This is the right way to design for usability that turns out good for everyone – and not condescending like the ‘clippy’ assistant was.
  7. Mice are hard to control
    Assume everyone is using your app with a crappy laptop trackpad or clip-on trackball attached to their laptop.
    Listboxes should expand to whole physical page or max elements – don’t make them scroll if at all possible.  Dropdowns should happen if you click ANYWHERE in dropdowns box – not just the down arrow.  Always autoscroll down when near bottom of page.  Use bold, fat fonts so characters are wide & selectable like Macs that use Chicago font.  No characters should be 1 pix wide like if you use Arial.
  8. Not all happenings are equally likely
    Coders think that if you allow something between the range of values, that any value in that range is equally likely.  This is usually wrong and leads to inefficiency.  i.e. If the range of 0 to 100 is allowed, 50 is probably more likely than someone choosing 47.  If you allow window repositioning, odds are most of time folks will want windows in certain spots – like right against edge, not exactly 2px from edge.  Or if a window is inside another window – should you really allow sub windows to go past edge?  Snap too or have elements go to the most *likely* values/positions.  Photoshop has a snap to edge/nearest ‘edge’-like feature of the picture ability.
  9. Don’t force remembering – give hints along the way
    Menus give lists of commands so you don’t have to remember individual commands like the old Emacs days.  Always try to allow folks to chose from lists of things instead of having to remember.  Give other context hints: thumbnails show what the contents of a file is, autocomplete helps finish words.  All little helps are good – but don’t go overboard – allow easy outs or pass arounds for your ‘helping’ or folks will get frustrated.  If you fail to guess right 2-3 times, auto-disable the feature.  Photoshop’s snap-to feature is easily disabled in the menu bar, or just hold down ALT to get rid of it for that operation.
  10. How to design a product
    Don’t design by listing features you want – start with list of activities you want to accomplish.  What activities do you want to complete with your software?  This is especially true for version 2.0 of your app. See what people ACTUALLY use it for and optimize for those activities.  Turns out many people use Excel to make simple lists – which killed competitors when they optimized for other activities.
  11. Don’t fall prey to “design time warp” effects
    You take weeks to design the dialog boxes and flow – thinking long and hard about it – but the user sees it and needs to make a choice in 5 seconds.  They see so many options – they don’t know what to do.  i.e. a complex print dialog box that has so many options and parameters nobody knows WHAT to do with all the buttons/options.  Solution is to take a printout of the dialog to conference room and ask 3 people what they would do if they saw it.
    Over the course of the 6mo to 2 years you develop things, you come up with more and more ideas. While you learned them over months and years, your user will experience them in just a minute or two. The best designs are the simplest – like a toaster.  If a software design team built a toaster, it’d end up costing $1200, make toast, BLT’s, have lcd displays, and boot up and ask if you want to register for AOL before you could make a single slice of toast – and it probably wouldn’t even do that right the first go.  VCR designers kept adding more features until they realized what people really needed was if you put a tape in, it should automatically switch to the VCR mode of the TV/VCR setting, and actually start playing right away, then auto rewind when it hit the end of the tape.
    Seconds feel like hours when you get no immediate response back.  After about 2.7 sec, people get bored/give up.  So when you click on something – always do SOMETHING, never just sit there blankly while you work.  Turn cursor to hourglass, progress bar immediately appears, etc. try to break up long operations when it makes sense.  Instead of waiting for VB to compile all at once when you hit F7, do the parsing after each enter for a half-second, so compiling was fast.
    When that fails, bunch all long operations TOGETHER so you ask all the questions up front, then tell them to go get a coffee and when they return – it will be done.  NEVER pop up a dialog half-way through that pauses the long action so they’re stuck at the machine for the whole time.
    Basic takeaway: Over the time you design a package, you should be removing complications, not adding them.
  12. Don’t confuse usability with learnability – Figure out if you need learnability or usability in your app.  If the user is going to use it once or twice (like a map kiosk) they need high learnability.  If it’s something they use every day – it needs to be very usable.  Hopefully a usable program is learnable so that the user can figure things out on their own.  This means it might not necessarily be that it’s easiest on the first go – but should act the way the expect the first time.