Staying Cutting Edge in your Product

When we first designed and built Marketo, we started out with a client-side framework (ExtJS) that was cutting edge and awesome.  Version 0.33 alpha.  How cutting edge is that!?  Then over time, it because 2.0, and then 3.0 and then 4.0 and now it’s up to 5.1.

It’s no longer cutting edge.  It’s a great framework, but it isn’t revolutionizing JS frameworks anymore.

The world moves VERY fast.  New becomes old in just a few years.  One clear outcome of falling behind is that its harder to recruit cutting edge engineers. Great designers/developers want to use the latest & greatest.  So how do you do it?

The answer is difficult. You have to redo every layer of your application at least once every five years.  This means you need to develop fewer features in that same time.  No product manager or CEO wants to hear this.

You have to redo every layer of your application at least once every five years. – Glen Lipka

The reality is that SaaS software has a much higher TCO (total cost of ownership) than people understand.  You don’t just build it and sell it.  You build it and rebuild it and rebuild it and rebuild it etc etc…

The goal is to be successful enough to build new features AND maintain/rebuild the old features at the same time.  Otherwise, the economic math doesn’t add up.

The worst case scenario is that you get far behind and then lose engineers and get further behind and then lose market share and then can’t redo part of the infrastructure.

Don’t fall behind.  Have a set schedule and culture of rebuilding and upgrading components.  It will attract the best and brightest and your customers will appreciate it too.

Disagree?  Put it in the comments! :)

The UX of Designing a Marketing Calendar

This year, we launched a Marketing Calendar.  This was one of the most surprising designs I have ever been involved with.  I thought (in the beginning) the calendars were easy.  Just copy Outlook, how hard can it be?!

It turns out that Calendars are extremely nuanced and complicated. They have been honed over the past 3 decades into a very usable interface.  HOWEVER, they are almost exclusively dedicated to PERSONAL schedules.  There really is no set design for a GROUP calendar, which is what I needed.

Google Calendar does an OK job for shared calendars.  I have mine and my wife has hers.  We can overlap them, but ultimately they are separate.  A true group calendar is shared with different tags on the items, but they are not duplicated.  There is only one source of data.

One item I found fascinating is that a group calendar generally wants to look forward, not backwards.  They are interested in the activities happening now and in the coming weeks.  A month view is common, but if you are near the end of the month, it becomes useless.  A week view is good, except it’s just 1 week.

We had to invent a new kind of calendar view.  It was inspired by Google Calendar’s “Next 4 Days” view.  We created a 3-week rolling view.  It has the benefit of always showing the future, this is critical.  Additionally, it gave more room on the screen for details because there were fewer overall weeks.

It took over a year of design to make the whole project come to life.  It’s shocking how many little details a calendar can have, especially if you want to interact with other systems.  Big design projects like this take alot out of you, but it’s key to keep at it.  Iterate continuously and don’t give up.

Ingredients for Success

Here are a couple of categories that will help you get recognition, raises, promotions, monetary rewards and all your dreams come true.

Technical Skill
For whatever you do, there are specific technical aspects to it.  There is craft in every job.  If you know your craft better, if you are more technically skilled, it will contribute to your success.

Many employers and managers will judge you based on your impact on others.  It’s not enough to just do a good job.  You have to impact other people.  How much time do you spend helping others succeed?  Find ways to spend MORE time doing that and you will reap rewards.

I actually wrote a whole post on that.  Different kinds of leadership.

You don’t get rewards if you don’t create fans.  Sometimes you just need to help and hope they will sing your praises. Other times you may be a little forward and ask them for a LinkedIn recommendation.   The point is to understand that fans matter.  If someone doesn’t like you, you should work on that relationship.  Enemies are not helpful in getting raises.

There are obviously more, but these are the ones I am thinking about right now.

By the way, if you found this blog helpful, maybe you can you give me a LinkedIn recommendation? :)

UX Candidate Design Challenge – v2

I had previously posted my UX Designer interview challenge.  I just wrote a new version, so I figured I could post the one I was using here. It is a continuation of the previous challenge.


A famous comedian is the sponsor of the project.  He is working with 4 other comedians to rate and categorize a large set of jokes.  Each comedian works on different jokes, but they work at the same time and talk to each other via video conferencing.


Challenge Part I

Brainstorm an gamification strategies for this UI to help keep the comedians working without getting bored.

The game should not fundamentally change this UI, although minor modifications are acceptable.  It should be competitive and fun and encourage them to keep working.

IMPORTANT: the game cannot significantly sacrifice productivity or quality.

Common Mistakes

  1. Total Score.  The first thing people jumped to was a total score of how many jokes were categorized.  This is just short-sighted.  Total score actually DE-MOTIVATES the players once someone is winning.  The thought bubble is “Well, I am getting my ass kicked, so what is the point?”  Plus, once the winning person is in the lead, they let up because it’s over.

    Lesson: Games need to always be close.  The loser needs to become a winner soon.  Parity is important.  This is why baseball is stupid (see chart).

  2. Failure to come up with ideas.  I didn’t think this was that hard, however, most candidates just failed to come up with anything after that.
  3. Sacrificing productivity or rating quality.  It says it’s important, but people miss it 90% of the time.  If you set up a game which is a race to do N jokes in the shortest amount of time, then the outcome will be a significant decrease in quality.  In other words, people will rush though the jokes.  I hate it when candidates deny this reality.  Games = incentives.  Incentives work in unexpected ways. Read Practical Wisdom by Barry Schwartz for more detail.

Challenge Part II

After brainstorming for 10 minutes, I gave them a possible answer and asked them to do the interaction design for it.  Here is the text I hand them:

Game requirements: (not complete)

  1. There should be several different games that can be started by any player. (One game at a time)  Games include:
    • Best joke
    • Biggest groaner
    • Most intellectual
    • Darkest joke
  2. The system picks 25 random jokes and assigns them to each player.
  3. The players need to categorize and rate their jokes.
  4. During the game, they pick out 1 joke to “play”.
  5. When they are all finished, the jokes of the four players are presented to the group.
  6. They all rate 1-10 for how well suited the joke is to the game chosen. (Best, darkest, intellectual, etc)
  7. The highest combined rating wins that game.

Sketch it on the whiteboard. You can modify the base admin UI, but only minimally to make room for your game.  No functionality can be removed.  Don’t spend time re-designing the base UI.  Focus on the game.  Reminder: This UI is on a modern iPad.

Common Mistakes

  1. Failure to leverage gestures.  iPad interfaces should work differently than browser interfaces.  Only once have I designed something for an iPad, but my thinking immediately jumped to gestures.  A keyboard and mouse is just really different and people kept designing mouse UIs when hand gestures were more appropriate.  Don’t say click when you mean tap or swipe.
  2. Failure to understand the situation. I didn’t think it was that hard, but apparently it was.  People couldn’t grok the idea that a player starts a game and the others need to respond.  I thought it was obvious to use the video area on the right to show the status of people, but zero candidates utilized that area.
  3. Failure to use screen real estate dynamically.  For some reason the idea that information can be pulled on and off the screen was lost.  Almost all candidates botched using the screen real estate effectively.

It’s frustrating to me because this didn’t seem hard at first, but it clearly stymied the candidates.  Once of the problems is that there is only 30 minutes to do the exercise.  Maybe it’s just too much for someone.  I might be losing good people by having too hard of a test.

I’m changing the design exercise again.  I think I can continue to use the comedian, but I need to change the situation to make it easier to understand.  Clearly, I want to continue to test collaboration systems and interaction design.

If you read this and are going to an interview with me, keep in mind, I will be posing an interaction design challenge.  Stay calm.  Be creative and think out of the box.  Don’t just get task completion.  Make it fun. Be confident.  I believe in you.

Good Luck.

Being Sick

For my whole life, I have been nearly immune to the common cold.  I might get a headache or a runny nose, but I don’t ever remember running a fever or being bedridden.  This sounds good, but I think being sick once in a while is a good thing.  An excuse to take the day off and just sit in bed and drink chicken soup.

Right now, I have a cough.  My head is fine, but my throat is lumpy and I feel slightly tired.  It doesn’t feel like I should stay home from work, but it doesn’t feel normal either.  It’s a bit harder to breathe.  Coughing doesn’t feel good at all.  Like itching a bug bite, it just makes it worse.

I am taking lots of placebo and it seems to be working.  I have throat lozenges and vitamin C.  Plus tic tacs.  Those help alot.  I have to believe in them though, or they lose their potency.

Maybe I should have stayed home anyway.  I deserve it, don’t I?  The only thing is all the meetings I have.  I feel like I am letting people down if I miss them.  Of course, the world continues to spin without me.  Maybe that, is the thing that bothers me.  It’s important to feel that you make a difference.

Sometimes I imagine what the world would be like without me. Either “It’s a Wonderful Life” style where I never existed or just that I disappeared one day.  One likes to think they would leave slews of devastated people behind.

Hmm.  Maybe this is a morbid topic, but I am sick.  Cut me some slack! :)

Prediction: Upcoming Android Names

Here are all the names of the Android Operating system up until now AND what I predict they will be in the future.

  • Alpha (1.0)
  • Beta (1.1)
  • Cupcake (1.5)
  • Donut (1.6)
  • Eclair (2.0–2.1)
  • Froyo (2.2–2.2.3)
  • Gingerbread (2.3–2.3.7)
  • Honeycomb (3.0–3.2.6)
  • Ice Cream Sandwich (4.0–4.0.4)
  • Jelly Bean (4.1–4.3.1)
  • KitKat (4.4–4.4.4)
  • Lollipop (5.0)
  • Marshmellow
  • Nutella
  • Oreo
  • Popcorn
  • Quaker Oats (??)
  • Reece’s Pieces (maybe Ring Pop)
  • Snickers (maybe Skittles)
  • Taffy
  • U?  hmm  Tough one
  • V?
  • Wafer
  • X?
  • Yummy
  • Zagnut

Clearly, there are a few that are hard.  I wonder if they will skip some.  Marshmellow is a lock though.  Count on it.

The UX of Certification

A certification is a promise from the company to the management of the customer.  It means that if you (the customer) hires someone who passes the certification that we (the company) promise that they will be competent and even skilled at working the product.

Certifications are sometimes done well and sometimes done poorly. One way it can go wrong is if the test is too easy.  You end up with all these people who are certified, but are not competent.  It’s a feel good test, that gets lots of people to put the stamp on their LinkedIn profile, but it doesn’t mean anything.

Another way it can go wrong is that it is too hard to pass, specifically because the education is sub-standard. If it is too difficult to find resources, to practice on the product, to get education, then passing will seem like an impossible task.  If this is the case, then people will not bother trying.

The balance is achieved when the test is difficult, but the educational materials are ample and quality.  With good educational materials (including classes in colleges, trade schools and online) are abundant and useful, it creates a system where people can study and achieve the goal.

When that system is in place, employers can rely on the quality of the people who they assign to work on the product.  Thus they feel more comfortable with buying the product in the first place.  Good certification creates a virtuous cycle towards profitability.  Skilled users = confident buyers = more sales.

If you can get your company in a position where the certification is the best, you have a chance of getting a monopoly in your sector.  It’s that critical and impactful.

How much braintrust energy does your company focus on this critical facet of the UX?

Speaking of which, it’s time for me to write more certification questions.  I am personally engaged to help.  It’s one of my top 3 UX priorities.