Google Sucks at Authentication UX

Like a lot of entrepreneurs I have a love/hate relationship with google.  But I’m just going to come out and say they suck at UX.  I know that’s not a popular opinion. Everyone praises them for their fast and simple looking UI.  The latest example of this suckage can be seen if you happen to have both a personal gmail account and a Google for your domain account… which a lot of entrepreneurs and sole proprietors have…

I’m sure you’ve all seen messages like this one I received trying to be an early adopter of Google+.

There isn’t even a link that tells you to log out and log in with an account that works.  Of course, I understand that it may take time to integrate Google+ so that their PAYING customers can use it but YouTube…


Well, at least they told me what I can do about it. But, come on, how long have they owned YouTube?

Tweet an Image to Avoid Stock Photography

A personal mission of mine has been to avoid the use of stock art or photography in my latest projects.  You’ll notice on the KickoffLabs blog that the photos are mostly pictures that I’ve taken or images I’ve drawn.  No one else may like or notice, but I get a personal sense of satisfaction knowing that the words, product, AND the art are mine.

Lately I’ve been enjoying the use of the adobe ideas iPad application. You can see some of my recent scribbles below.  My goal was to try and communicate the blog post concept visually in under a minute of effort.  Sort of like tweeting an image.  


Taking Back your Home Sceen

Not sure where I saw this first, but I love the following iPad tips.

1. Put folders in the launch bar.
2. Move all your non favorite apps to other pages so your home screen let’s your background image shine.

And putting the two together is awesome.

Get real with text when you wireframe

Yesterday I started creating mockups for a top secret project. I decided that I was not only going to mockup the UI, but that I was going to mock up real copy to go along with it and skip the fake text. Not content with simply banishing “lorem ipsum” I attempted to make the content as real as I could.

There are several advantages to this including:


  1. Now you can ask for feedback on marketing copy (I was working on the home page.) as well as UI.
  2. You’ll learn that the layout in your head doesn’t accommodate the text you really need.
  3. Text, text size, and placement is a critical component of UI design and real text will showcase how balanced your UX is.
  4. Text should be used to guide users through the intended flow of your UX and your application is not complete without it.
  5. You’ll start getting a feel for the type of content you want to see on your site and how it blends.
  6. You may not work in marketing… but this could make their messages more real.
  7. You’ll have to bug fix the real text later if you don’t when you realize your UI crushes your dreams.

So, when I say “real text” what do I mean?

  • If you have a blog or twitter feed show the headlines you’d expect the user to see.
  • If you expect user generated text then ask some of your customer advisers for examples of content they would be posting.
  • Any marketing copy or calls to action should be real.
  • Expand your menu with the real links.  You may realize you needed space for 6 items instead of 5… or you need to change your IA.

Ok, now go forth and change the world by bringing it a touch of reality.

Do it on camera to increase your satisfaction

IMG_1904I highly recommend working on your next project like your being filmed for training.  Better yet… actually record what you are doing and try sharing it.  You’ll learn a TON and you’ll focus on fit and finish in ways you never thought about before.

Working on the OneDayApp series has dramatically improved the quality of what I’m doing with my next application.  There are all sorts of corners I would be cutting, steps I’d be skipping, and personal education I’d miss out on in the final product if I wasn’t building it partially to teach people. 

It can be valuable at any stage.  If you record your code you’ll find yourself caring about things like variable names in new ways.  Once you have something to demo you’ll see all sorts of rough edges that you’d never see if you just used it.  There’s simply nothing that beats actually “going to the tape” to get a glimpse of what other people see. 

Skip the splash screen in your apps

Someone reported a “bug” in GoodDay that they “didn’t like the splash screen” I used:

And I admit that I’m not a designer, but I thought this was a clean screen to show while the app was loading.  Until…

I started playing with the built in Apple apps and realized they don’t use a splash screen.  Watch the iPod app open if you want to see what I mean.  They basically load a shell of the UI and then the UI renders on top when it’s ready.  So I set this as my goal.  I built the following “Splash” screen.

In my opinion:

  1. It makes your app feel like it’s loading faster than it is.
  2. You’ll fit in more with expecations that have been set by the default apps.
  3. You don’t have to design a splash screen. 🙂
  4. Apple’s style guide recommends this approach as well… and Apple is never wrong… right?

Now, if you are using PhoneGap to build your application for the iPhone you’ll notice a bug loading the default.png file where it “jumps” 20 pixels right before your app loads as shown here:

If you want to fix this issue you’ll need to tweak the main PhoneGap library code in the following way:

1. Open PhoneGapDelegate.m

2.  Roughly around line 188 you’ll find:  imageView.tag = 1;

3 After that line add: imageView.frame = [[UIScreen mainScreen] applicationFrame];

Hopefully future versions of PhoneGap fix this issue, but for now this will have to do.


Ban User Personas in Development & Meet Real People

The usage of user personas as they are built today has to stop.  If you aren’t familiar with the concept that was developed in the mid-90’s….

Personas are fictional characters created to represent the different user types within a targeted demographic, attitude and/or behaviour set that might use a site, brand or product in a similar way. Personas are a tool or method of market segmentation.”

Meet Mort.  He’s 50 years old and he is a rocket scientist.  He’s been married twice with 4 children.  One of the things he does as part of his job is develop applications that connect to embedded devices used to test missile guidance system.  He doesn’t have the time to learn the ins and outs of programming languages so he relies heavily on visual tools and code completion services in the editor to help him write.

It’s too bad I don’t read fiction or I’d probably be better at writing it. Mort doesn’t exist, but to a couple thousand people building software at Microsoft he did.  He was a compelling character that helped drive the features and focus of several teams.  The genius was in the illusion of agreement about Morts character traits. This was a guy everyone wanted to get behind and help succeed at his job.  User personas, as a tool, are used to drive thousands of projects every year in the software industry, but it’s time for a change.

We are now in an era where customer connection is so painfully simple Mort can be replaced with real users.  User personas are not people and you are building something for real people.  Here are some of the issues with the use of this abstraction technique.

  1. You can’t ever ask Mort any questions. Once the persona has been made you can only consult the character sheet… Which only has information you have already collected about this perception of your customers.
  2. Personas are generally built with very little validation. It’s a tool that requires significant resources and dedication to use properly.  It’s rare that someone goes back to customers after interviews were conducted (that assumes there were interviews) to state, reflectively,  “this is who we are building our products for… Does this character speak for you?  My bet is that most people would say no and probably laugh at what they saw written on the character sheet.
  3. Personas allow you to be one step removed from anything real about the product or service you are offering. You get to have lots of meetings, visits, etc designed to facilitate building a persona instead of using those resources to offer a updated product or service based on what you heard… Why do you need the level of separation? Why not speak directly to people about the problems they want you to solve.  This practice is like playing the telephone game with the feedback that could be used to make your offering better. If you have people working for you that aren’t smart enough to draw the right conclusions from real information…. Why do they work at your company?
  4. Timelines. If you have to ship a product in less than a year… you don’t have time to do this properly.  By the time you’ve created agreement about the character traits they are probably outdated.
  5. The Fiction. Everyone loves to participate in creating neat fiction.  It’s fun and it makes it easy to create the illusion of agreement.  By the time the persona gets to an engineer, in an effort to make sure facts don’t get in the way of a good story details may have been omitted and some disparate customers may have been lumped together… Meaning the Frankenstein you created probably doesn’t exist. The people good at solving problems are now doing so with static variables that were set incorrectly.

So now what???

So what’s to be done instead? How should customer traits be aggregated into something that can do some good?

  1. Get real. If you must use personas do yourself a favor and find 5 real people that map directly to a persona.  Make the story about these five people and the challenges they face. Use only real quotes from these customers to rebuild the persona so it’s has a clear foundation in reality. Videos or audio are even more powerful.  Create a library of real data that everyone can read and a way to contact the real people behind the information.
  2. Trust Osmosis. Have a question, transcription, or some feedback delivered to your team every single day. This is only for reading unless there is something that can be done in 15 minutes to reply to the customer.  No big changes need to happen as a result of this feedback.  The big changes will happen over time thanks to the osmosis.   Everyone at your company should be spending 15-30 minutes today at least reading something from a real customer that is using your service.  This creates a personal connection that just can’t be delivered from a fictional character.  People want to know they are building something for other real people and they need to hear, from those people, the kind of positive and negative impact their work is having. Over time the realities will sink in and if larger changes are needed they will feel natural and no one will question these changes since they’ve been reading why they need to be made everyday.
  3. Leverage customer support. These people spend most of their days working with real customers that like your product enough that they didn’t give up at the first sign of problems… They let you know about the issues!!!  Of course you should make sure you solve their problem first, but then you should encourage a real conversation be had.  Rotate a set of 10 questions that you can ask people that contact support about how the software is working well for them.  Record the answers and share it with everyone.  I’m not talking about some canned survey, but open ended questions that would lead to a real 5-10 minute dialog.  This information will add up and you might find that, once you have the customer thinking about the positives they will come back to buy more of what you are selling later on.. If not on the same call.
  4. Make sure customer support is everyones job. Everyone can answer one question a week from a customer.  They don’t have to do it directly, but if you have people employed that can’t answer one customer question a week on their own… Why do they work for you?  When they do it, they get to ask their question and ideally engage in a real conversation with the customer.
  5. Use real data whenever possible. Does the data validate what the customers are telling you? Eye witnesses are the least reliable source of information on a crime seen… If you have real data on the behavior it needs to be put right next to the eye witness report.   If you don’t have numerical data to validate an observation it must be treated as an isolated observation until proven otherwise.

There you have it.  Leave the fictional reading for your vacations and get real with your teams.  If you like writing these stories… Take a class at your local community college, but don’t force fiction on people.  Take it from someone that’s been reformed.  There is no such thing as the ideal customer.  I used to be part of these definitions and seen them used well… But never as well as non-fiction.  Its so easy to engage in real conversations with people today it’s a sin to abstract that information behind fictional characters.

Design for Mobile first and Full Screen Second

image This isn’t a rant about the proliferation of mobile devices and how they are going to do everything except change your cat’s litter box in the future. It’s simply about improving your design chops.

I’ve decided that new feature work should start with a design for a mobile device first.  We’ve been working on mobile stuff for a while now and I’ve realized there is power in the constraints.

  1. You have an easy excuse to cut all those “extra requirements” & the “wouldn’t it be easy/cool if features”… screen size.
  2. You focus on what’s core to the experience in the content column… face it, most of your users aren’t going to read all the crap you put in the sidebar of your sites. They’ve been trained that’s where ads live.
  3. It makes you think twice as hard about any imagery on the page.  The buttons have to be obvious so the user knows what they are going to get and you don’t have room to explain it with text.
  4. Even with wifi and 3g you don’t take page size and bandwidth for granted. Even with wifi the browsers on these devices aren’t as fast as their desktop, native javascript running, counterparts. Minimalistic FTW!
  5. You’ll be done faster and able to communicate the core experience more quickly to others to get feedback about what’s really important.
  6. If you give someone a HUGE blank canvas they freeze with the thought of everything they could do with the space.  Give them a post it note and they can focus on one part at a time.