Day 1 – Frankfurt to Nizhny Novgorod, Russia

Day 1 – Frankfurt to Nizhny Novgorod, Russia

I don’t usually travel much for work, but lately I have been.  Lots of trips relating to a project I’m working on to California.  But this one was a bit longer.  I’m now going to Russia for a week.  So, onwards with the day-to-day reporting.

Day 0-1.5 = Travel

So,I’m flying to Nizhny Novgorod – about 100 miles east of Moscow – which is almost exactly 12 hours ahead of Oregon.  In other words, my midnight will now be noon – giving me some apprehension about the jet lag.  The travel time is looking like about 15 hours of flying all said and done and shaping up to be one of the longest trips I’ve ever taken.

Anyway, Visas are applied for, hoops are jumped through, and things get approved.  I’m fortunately not traveling alone – I’ll be with my boss and a project lead – whom both have traveled to this site numerous times.  Our first leg is Portland to Chicago, then Chicago to Frankfurt Germany.  We take a (planned) 8 hour layover in Frankfurt to rent a hotel room right across the breezeway from the airport to shower, change, and relax from the first 12 hours of flying.  This turns out to be a huge refresher and a very wise move.  After a short recovery, we get a cab to downtown Frankfurt to walk around.  Quite unexpectedly, there is a huge street fair of Christmas booths out.  Everything from Christmas ornaments to candy to food are to be had.  I grab a bratwurst dog, fries, and a coke.  For dessert, we get a humongous chocolate dipped pretzel. Fantastic.  We tour around as time allows and then head back to the hotel for a power-nap and then to the airport for our last leg to Nizhny Novgorod.

   

The flight is nice, but by now I’m very done with flying.  3 more hours and then we land in foggy, wet weather in the dark at 11pm local time.  We hop off the bus that takes you across the tarmac and strategically place ourselves by the doors to get through customs first.  I takes at least 2-5 minutes per person to get through immigration, so if you don’t get right up front, you’ll easily be standing there for an hour.  All 3 of us get in line within the first 5 people – lucky us.  You go up, drop your passport, and get a classic Russian staredown.  They continue to look at you, the passport, the visa paperwork, back down to terminals, things get stamped again and again, hand written into notes, things typed into computers and asked a few questions.  I pass the test – whatever those things might have been while the countless checks were made – then, over to pick up bags.   I feel very good about this because folks in the past that have run into trouble at this point have had to (in two cases) stay in this tiny airport for 4 days until another international out-of-Russia flight comes in.  One must make absolutely certain before they go that everything from passport to visa has EXACTLY the same and right spelling and dates – or you’re doomed to hours of sitting and being questioned.  Especially these smaller entry points not so used to outside travelers.

Anyway, the airport is smaller than most greyhound bus stations – one entrance gate, and one baggage carousel.  The airport itself is classic 50’s era architecture – big slabs of concrete and minimalist art.  Bags fall off the tiny conveyor or block it up.  Every 5 minutes, and young guy comes out of the back and fixes the bags on the conveyor.   But the bags come and I get through customs without issue.  One interesting point is that one must declare all their electronics – laptops, cel phones, cameras, etc – or you’ll be forced to pay taxes on the items when you attempt to leave.

Another thing is that when you register for your visa, you must indicate where you are staying – and in the case of our visas – have a written invitation from a citizen of Russia.  The first night at your hotel you give them your passport in order for them to register you with the government police.  The hotel must vouch that you stayed there the whole time, or you’ll be getting a very nasty interrogation when you try to leave and can’t vouch for your whereabouts.  Just some of the interesting gotcha’s that if you didn’t read up on first, will bite you later.

Unfortunately the town is dead quite by the midnight arrival at our hotel and dark.  The lack of light and the drizzle make it nearly impossible to see much the first night’s drive via hotel cab.  It’s foggy, drizzly and a cool 35 degrees.  No snow yet.  We take a cab from the airport across the Vulga river to the main part of the city.

We hop into the hotel bar for a drink where we meet an English traveler who does investment banking. Nice enough guy who actually studied at Columbia school of business in the states and now specializes in Russian finance.  We have a ‘Welcome to Russia’ shot (or two or three) of vodka and head to bed.

Left 4 Dead 2

Left 4 Dead 2

If I’m not at work right now, I’m playing Left 4 Dead 2. It just released on Steam for PC Tuesday night.  It’s one of the first games I’ve actually pre-ordered well in advance of the game and pre-loaded from Steam’s online service.  Here was my experience:

  1. It was unexpectedly late by over an hour with no explanation – Steam prominently posted that the game would release/unlock at 9pm PST on Tuesday.  I loaded up Steam on my PC at 9pm, but it showed as still not released yet.  I went to the forums, but the Steam Forum website was so overloaded that no amount of cajoling would get the page to come up – it just timed out continually.  The main purchase page said it was still set for 9pm release, but there was absolutely no status, news, or updates on why it wasn’t working.  I went to other gamer forums where people were beginning to rage.  It was midnight on the east coast, and folks had been staying up late to try it out.  I watched an episode of Mythbusters and a Twilight Zone while the online rage continued – and utter, complete silence from Valve as to what was going on.
  2. Unlocking/decompressing it went awry – Around 10pm, the Steam forum started to come back enough to read what problems people were experiencing.  First off, restart the Steam service (which took several tries while the login attempts timed out) – then my machine recognized that the game was released.  I clicked on the app to trigger decryption, and after a little while with the dialog up indicting it was trying to verify something – the box went away and it did nothing.  No error message, also no playable, decrypted game.  I rush over to the forums which are already lighting up with folks having all kinds of problems.  I dug through the problem descriptions until I found a likely solution and had to follow these steps to get the thing to start decrypting:

    # Exit Steam
    # Open a ‘Command Prompt’ (cmd.exe if you are using ‘Run…’ from the start menu)
    # Run: “c:Program FilesSteambinSteamService.exe” /repair
    # Note: Change “c:Program Files” to wherever you have steam installed. For a 64 bit OS the default would be: “c:Program Files (x86)SteambinSteamService.exe” /repair-
    # Start Steam

    This worked, but I STILL need to do this every time I restart Steam or the game won’t load…

  3. Random crashes to desktop: After decryption (about 20-30 minutes total – now making my 9pm release time about 10:40pm), I finally got the game to play after a few more clicks on the game with silent failures while it’s trying to ‘sync’ with something, then it fires up.  Glorious!  I hop into a game and start having a blast (literally and metaphorically).  I play for about 2 hours, then right in the middle of the finale of Dark Carnival – it crashes me right to the desktop. No warning, no error, etc.  Wham.  I restart and after about another hour, it does it again.  Then one final time and I go to bed.  Already folks are seeing all kinds of problems, and this was one of them.  Next day, I have Steam verify the downloaded game cache – and it has 2 corrupt files that it re-downloads.  Shesh – had been playing it for hours and it didn’t check that?  But it still keeps randomly crashing to the desktop – and someone on the forum suggests this solution:

    1.Click on Start
    2.Click on My Computer
    3.Click on Your C: Drive
    4.Find & Open Windows Folder
    5.Find the CSC folder/right click then properties/Security
    6.You will need to get or give your user account admin rights to the folder once you do that make sure you give all rights to that user.
    7.Click apply & click ok
    8.Close down Steam and Restart it
    9.If Done Correctly Your Left 4 dead 2 game will work with no problems.
    10.Enjoy The Game
    11.If your still having problems make sure you look over the steps in this list and make sure you did everything right

  4. It works – but still utter silence from Steam/Valve – All this finally appears to fix my problems – but there’s lots of others still having problems (such as the dread error 35, error 2, and others still around from the demo release) that prevent them from playing the game.  Valve has still said absolutely nothing on the forums about anything going wrong.  It’s just users helping each other.  Overall, I’m seriously re-evaluating ever buying something pre-load from Steam again.  For the first time in a long time, I really felt utterly helpless after getting a new game and wondered how many days it might be before the game I bought a MONTH ago might work.

Still, Left 4 Dead 2 is an amazing game – and it’s fantastic fun.  Steam has now left a horrible taste in my mouth – but it’s done that before.  Still, I’ll certainly be spending most of my nights playing this for the forseeable future!

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.
Circus Artemis

Circus Artemis

Attended an all-female circus on Friday night.  It was quite good.  The circus is actually put on by a school that teaches (believe any gender) folks how to do amazing acrobatic feats in a converted warehouse.   This particular show consisted only of women and girls who were of all skill levels.  Everything from musicians playing on stilts to amazingly acrobatic straps and trapeze.

Circus Artemis performers have trained with instructors from Cirque Du Soliel and the Ecole Nationale de Cirque in Montreal, taught at the renown San Francisco Circus Center, performed nationally and internationally – and keep Portland entertained while working locally with Do Jump! Extremely Physical Theater, A-WOL Dance Collective, The Nomadic Theater Company, Flamebuoyant Productions

www.a-woldance.org

  

Star Wars – The Live Orechestral Show

Star Wars – The Live Orechestral Show

Ugh – so many choices last night.  It’s dead most of the week, but last night there was no less than 4 great things happening at the exact same time in town:

  1. Sarah Vowell reads from her new book.
  2. KMFDM concert
  3. Butthole Surfers Concert
  4. Star Wars – live orchestral concert

I ended up choosing the Star Wars concert because it was earlier (and I was tired that day), and scored tickets at the last minute for super-cheap.  The show had a full orchestra playing the music, while scenes from all the movies was shown.  My friends did the Surfers concert and much fun was had there too.  The Star Wars show was live narrated by the character that did the acting and voice for C3P0.  Overally, very well done show and I was super-happy I went.  Was amazed at how many kids went and seemed to have a great time.  If I’d had kids, I would have loved to take them as well.  The foyer of the Rose Garden was full of original props from the movies: Original Darth Vader costume, Chewbaca, helmets, weapons, and an original score written and signed by John Williams.