Archive for the ‘User Experience’ Category
Does this question sound stupid to you? Any Internet user knows that every browser has the Bookmarks or Favorites menu that people should use to bookmark the Web pages they are interested in. Your Web browser even has a Bookmark Manager that allows you to build large and sophisticated trees of bookmarked grouped by categories. There used to be a service called del.icio.us, and millions users were storing their bookmarks there. Maybe they still do (now it’s not del.icio.us, but simply delicious.com). But I don’t.
I don’t even use bookmarks with the exception of a dozen of them that fit on the browser’s Bookmarks toolbar. Yep, under the menu. Every morning I go through the same ritual – I click on 4-5 links saved on my bookmarks toolbar. During the day I repeat this ritual several times. OK, I keep another 4-5 bookmarks on this toolbar, which I use once a month or so. That’s all I need. I even have a rule – if I believe that a particular page have to be bookmarked, I find the least used bookmark on my browser’s toolbar and replace it.
Google is so fast these days, that it’s faster to do a quick search on Google than trying to find the bookmark that you saved last year. And what’s more important, the content ages so quickly that visiting the last year’s bookmark will almost for sure will give you an outdated or even misleading information.
This is definitely true for any IT-related information. Being a technical book author, I’d automatically bookmarked an interesting technical article, or blog. I might need it while doing my research for the next book! Wrong! I don’t need it cause it becomes old as soon as you bookmark it. It’s faster to find the fresh content.
Let alone bookmarks. I don’t even use the Help feature that comes with all these software products installed on my computer. Finding things using Help is slow and produces the outdated info (I know how the technical writers work, trust me). Use Google – it’s faster and fresher.
Are there any exceptions that would make bookmarks useful? Maybe, travel sites? Paris is still there, right? Wrong! What do you need in Paris? A good place to eat, to sleep, and things to do. This information gets old too. You’ve stayed in that hotel 3 years ago and it was great? Go to TripAdvisor and do a quick search to see what people who stayed there last week have to say. Ouch, they started the renovation last month, there is scaffolding in foyer and the construction workers are all over the place.
Anyway, bookmarks proved to be useless, at least for me. I have a supermarket called “A & P” in the area. I don’t go there, but I like the motto on their sign: “A & P. Obsessed with freshness”. Let’s be obsessed with freshness too. Get a fresh piece. Don’t use these rotten bookmarked products.
I’m a partner in two companies – an IT consultancy Farata Systems, and SuranceBay - a 3 year old startup where we’re creating a software for insurance industry. Brian Morton, my partner at SuranceBay who knows everything about insurance wrote a blog delivering the message that Steve Jobs formulated in one sentence: let’s give our clients not what they want, but what they need. The wording may not be 100% accurate, but the message is.
When three years ago we created that startup our software engineers knew nothing about the insurance industry. Brian knew nothing about software. Actually this is not true. He knew how computers were used by the small insurance agencies. He knew intuitively that these processes could be improved, which he explained in a 200-page long business plan. We’ve created a partnership using a tiny initial amount of an investor’s capital, which was not even enough for the first year of operation.
Our business analyst Brian didn’t know about Optical Character Recognition, digital signatures, PDF forms inside Flash Player, what’s full text search, how to pull publicly available data about people, how to lower the number of questions in a questionnaire from 40 to 10 while getting 40 answers, and what’s single sign-on. He didn’t know how to make it all work together seamlessly in the state of the art process that is few steps ahead of anything people want to do. But Brian unconditionally trusted our software expertise, and was ready to nuke any section from his business plan. Needless to say that we’ve trusted his understanding of the insurance business.
Farata’s engineers entered the world of small insurance agencies having years of experience working on large-scale enterprise applications. To our surprise, we found a monopoly in existence. A couple of big firms serviced hundreds of thousands of insurance agents using outdated technologies. Insurance agents didn’t see any better and assumed that this software was the only way to run business.
We’ve created our version of the software, which was not exactly what Brian was envisioning in the beginning, but our customers loved it. Need a proof? Today we serve about 300 agencies (50,000 agents) that pay for our services on the subscription basis. And we are growing.
I titled this blog “Don’t listen to your business analyst” not to offence Brian – he’s one of the key people at SuranceBay. I just want to stress that when there is an unconditional trust between the business and IT personnel, the results can be amazing.
Unfortunately, this model won’t work in larger enterprises where the project life cycle is overly regulated, and software developers operate under the false assumption that the product has to be done exactly to the specification provided by the business analyst and by the approved project plan, where only minor deviations are allowed. Pleasing the business users and meeting the deadlines are the ultimate goals there. Technologists seldom change the way users do business in large enterprises.
How did we managed to be where we are after the initial investor decided to stop financing this company two years ago? Farata Systems was making money doing IT consulting and part of the earning was investing into SuranceBay. Today, we’ve reached the point when we know how to multiply the streams of revenues, but we need a lot more money. Ready for the train station spiel like “My house burned down. Do you have a couple of dollars for the ticket to Philadelphia where my brother lives?”
Our house didn’t burn down, but we need a couple of mils to implement new functionality during the next two years. Last week we showed the spreadsheet with the numbers to a person who’ll be talking to potential investors tomorrow. But he warned us, that these investors will require complete transparency and well defined plans showing a substantial return on investment. This won’t work for us, sorry big guys.Several times over the last three years we’ve been drastically changing directions. This wouldn’t be possible if a big brother would be watching us.
I offered the guy who will try to find the money an elevator pitch: “Back in 2009 one angel gave SuranceBay a chunk of change and left. Three years later he came back expecting to see no money and no survivors either. But somehow, he found a bunch of hard working people and fifty thousand happy customers.” Transparency shmanparency…The chances are slim that my elevator pitch will work, but we will survive even though without extra cash we won’t be able to build everything we plan within two years. No biggies. Remember what Gloria Gaynor, the fearless leader of the startup movement sang?
At first, I was afraid, I was petrified
Kept thinking, I could never live without you by my side
But then I spent so many nights thinking, how you did me wrong
And I grew strong and I learned how to get along
I will survive, hey, hey!
This morning I’ve received the following twit by @gregsramblings “The Marriott TV system is having issues. The attached screenshot made me laugh. 14yr old OS!”
The screenshot was showing the Windows 98 logo with a message that it’s shutting down.
It does look funny that a major hotel chain is using a 15-year old OS to support their TV broadcasting. But give it a second thought – is there a compelling reason to upgrade the Windows OS? For Marriott, this would translate into a multi-million project with questionable outcome?
Most likely, their guests would not even notice the change. I can only guess that the CIO of Marriott was not able (or haven’t even tried) to sell the OS upgrade to his higher ups.
Is the “Ain’t Broke Don’t Fix” policy always a smart strategy? It depends on how often Windows 98 gives troubles to Marriott’s TV system. Most likely, Microsoft charges premium to support outdated Window 98 software. But is there a need to support it?
I’m receiving offers to upgrade the software on my MacBook daily. Unless it’s a fix for a security hole, I just ignore it. Apple has released their Mac OS X Lion 18 months ago. I have not upgraded my OS as of yet and lived happily thereafter. Modern software requires more powerful hardware. I guess, Apple was not able to sell me the need for the upgrade from Snow Leopard to Lion.
When you live in a house, the kitchen or bathroom upgrades increase the reselling value of the house. But replacing carpet with hardwood floors or digging a pool in the backyard does not increase the value of the house (at least in the USA).
So should Marriott upgrade their Windows 98 to Windows 7? I’m not so sure. Unless the upgrade will offer some new TV services to their guests, I wouldn’t bother.
It looks like its time to say good bye to Google Chrome. Periodically, it just start rendering Web pages blank. I found a cure that works sometimes – grab the corner of the window and start slowly resizing it. You might get lucky and find the size that Chrome likes and start rendering the content again. Being an enterprise developer I can’t imagine releasing an application into production that once in a while shows a blank screen to the users. I have no idea how Google can get away with it.
You may suggest that I should file a bug. But what do I write in there? It doesn’t render the content once in a while? Steps to reproduce: just freaking run Chrome for a couple of days with a dozen of opened tabs.
What’s next? Safari. Let’s see what the future holds. Keeping my fingers crossed. If you know of any Safari surprises, please let me know. I’ll still be using great Developers Tools of Chrome though – it’s a great tool.
A not so savvy Web person could’ve reacted like this, “Helloooo, can’t you read? Sales end on May 29, 2012 ”. But being in the Web business for a while, I’ve responded politely, “The sale end date should be listed on the registration page.” That person was polite too and he replied, “Thanks. It wasn’t on the iOS version of that page”. Sure enough, the iPhone version of this page doesn’t show when the sale ends. Apparently, the version of their CSS layout for iPhones didn’t allocate the room for the sale end dates.
Moral: Don’t think people are stupid. The might be using “a wrong” device.
If you’re running some Web development project yourself, try to allocate just a little bit of an extra cash for the usability expert who could have suggested a way to ensure that your Web site shows all important information no matter what the size of the user’s device is.
Teacher: “Mary, what do you think should happen in a Web browser when the user presses Ctrl-T?”
Mary: “It should open a new tab with either a blank page or your home page. Some browsers show most recently visited sites. In any case, it should be easily configured”.
Teacher: “Good girl! When I was as young, as you I also thought so. I assumed that browser vendor thinks of the user first and would hire a usability expert budget permitting.”
Mary: “Are there still some poor vendors who can’t afford hiring usability experts? Are you talking about vendors from under-developed countries?”
Teacher: “No, I’m talking about Google. They are pretty good if the application’s UI consists of just one text field and a button. Anything more complex than this is overly complicated for them.”
Mary: “I thought they’re filthy rich and can hire anyone?”
Teacher: “Mary, they don’t give a damn about the end users. I was about to record a screencast and wanted to be able to open a tab with a blank page so the viewers wouldn’t see all my recently visited sites. Is this too much to ask of Chrome version 18.0?”
Mary: “No, teacher. It should be really easy – just go to Preferences and select some option to open a new tab with a blank page.”
Teacher: “There is no such option in Chrome. After spending 10 minutes searching for a solution I found one! You have to install and Add On called Blank New Tab.”
Mary: “Now I understand why my grandma doesn’t want to replace Internet Explorer with any other fancy shmancy browser. When I’ll grow up, I’ll become a usability expert and will help Google to create applications that will put the end users before the geeks.”
Teacher: “Mary, do you happen to have a link to the IE download handy?”
Five years ago, when you called your credit card company or any other customer service you had a choice: either punch in your selections in the automated menu or hit the O-button to get to a live operator. Back then everyone hated those annoying automated menus. Little did they know what was going to happen in the future thanks to technological advances…
Today, most of the customer service departments use some voice recognition software, which supposed to collect all required information (e.g. your credit card info, address, the reason of call et al) before the live customer service representative would start talking to you. The goal is noble, but implementation sucks.
After spending 5 minutes repeating like a parrot the same answer several times, you may not be understood anyway. The old trick with keying in the O-button doesn’t work any longer and just pushes you back to this cold-blooded machine, which keeps asking you politely, “Did you mean to say…”
Finally, it understood what you wanted to talk about, validated your credit card number, spent another minute announcing your balance on the account, which you never asked for, and when you’re almost ready to throw your phone against the wall, a pleasant voice of a human being says, “Hello, this is Adriana. For security reason, could you please tell me your credit card number?”
WTF, didn’t I go through all this already talking to your stupid machine?
I’m sure, the CEO of these companies receive good looking reports stating that “our company was able to substantially minimize the time spent by our agents on the phone with customers, which allowed us to lay off 100 employees resulting in $5M of annual savings.” These reports don’t account for losing business because some customers just hated this type of phone experience and went to competitors that operated in an old fashioned way with live service representatives. Mediocrity an incompetence in enterprises disappoints. But there’s not much we can do about it other than learn how to live with it.
While filling out any computerized form, the most annoying thing is to see a validation error like “Don’t enter spaces and dashes” after entering a phone number. This is the indication that the form was created by rookie developers, tested by careless QA engineers, and the project was managed by an incompetent manager.
Just now I was adding a contact to my telephone directory on my iPhone. Guess what, there’s no way to enter anything but digits, and the the number is “magically” formatted into the something like (222) 555-5555.
You say it’s a little thing that’s easy to implement? Wrong. Such huge little things make iPhone to stand out. Just because they cared to implement them.
What about you, my fellow software developer? Do you annoy the users with the messages asking to stick to a certain data input format? Then you suck.
On my current project (Flex and Java) the client wants to email certain data to certain recipients. If the mail content and recipients wouldn’t require manual processing, I’d written a Java server side program that would retrieve the data and sent it to a predefined list of recipients. This is not the case though. The client wants to see the data in an email client (MS Outlook) and be able to add some text to the email body, edit the To, CC, and the subject fields.
That’s why I decided to go with a client side solution. There is this handy protocol mailto, and if you’ll prepare the URL that starts like “mailto:…”, contains the To, CC, Subject, and Body – your program will obediently open the mail client with all the field pre-populated. In Flex, you need to use the function navigateToURL(), but this solution works for any programming language or HTML links. So far so good. I’ve easily implemented this elegant solution giving the client the best of both worlds – automatic mail generation with the ability to massage the text.
But my happiness didn’t last long, cause there was yet another innocent requirement – the data should be formatted. Nothing fancy – like columns in the grid. For example, the email body could have contain the following part:
John Smith 5,678
Mary Lou 12
B Ramalinga Raju 101
Not a rocket science, right? I also though so and quickly wrote two functions to pad a string with spaces from the left and from the right to a certain length. Then I formed each line concatenating the right-padded 20-char long name with the left-padded 10-char long number. Quick test with printing the result in the console of my IDE – it works! What a great programmer I am, aren’t I?
After passing the same data to the mailto, it opened MS Outlook, and the mail body looked similar to this:
John Smith 5,678
Mary Lou 12
B Ramalinga Raju 101
My perfect alignment went down the drain. And the worst part is that there is no solution to this problem. The mail client was using a font that allocated different width to each characters and my padding was resulting in different width depending on what characters presented in the name of the person. If I could pass HTML to the mailto URL, this would solve my issue. I could have used HTML Table with cell alignment. But mailto allows to pass only simple text (URL encoding didn’t help either).
I hit the wall. What’s next? Will tell the client, “I give you an elegant and flexible solution, but I can’t align the text. Either manually change the font of the data to one of the monospace font, or set Courier to be a default font in MS Outlook “. I’ve implemented lots of non-trivial solutions for this client, but hey, technology has its limits too.
What if the client answers, “No, I need perfectly aligned report and I hate Courier font?” I’ll answer, “No problem, everything can be fixed. I can certainly come up with a custom solution. It’ll take me N days to implement” After multiplying my daily rate by N the client may reconsider and agree to live with my monospace font solution. This is is good example of a situation, when there is a huge price difference between 100% and 99% automated solution.
P.S. If you run into a similar problem in the Flex TextArea component, the solution is the same – set the fontFamily attribute to use one of the monospace solutions, for example:
Microsoft Word 2011 is the program that crashes the most on my Macbook. To be fair to this edition, I need to say that MS Word 2008 was no better in this department. I got used to it and save my documents every minute or so. I understand that it’s not easy to develop application for the OS that’s not yours. Fifteen years ago Microsoft put Word Perfect out of business using the intimate knowledge of their own OS. OK, this was in the past, but I’m wondering what the UI designers of this hugely popular word processor were thinking about when they assigned three different functions to one little triangle on the toolbar?
Currently, I’m working on a 200-page document, and need to change the width of most of the paragraphs to 5.5 inches. To do this, I need to place the cursor in a paragraph (or highlight several of them) and drag this little triangle to the 5.5″ mark on the ruler. The text in the paragraph gets rearranged accordingly. This operation is about changing the right indent. The problem is that when you hover the mouse pointer over this little triangle, it reveals two other functions: Right Margin and Left Tab. So if you’re not lucky, instead of changing the width of the paragraph, the size of the page gets changed or this freaking triangle gives birth to a little bent black arrow (this is Left Tab) which starts moving on its own on the ruler without having any effect on my paragraph. The fact, that I do this editing while commuting to work on the bus complicates aiming on this triangle, which shakes a little making my User Experience even worse.
I wonder if Microsoft designers are preparing Word to be used on Tablets, where people will use fingers or styluses? They should completely change their attitude to the users. The majority of us ain’t no marksmen, you know. Give us some controls we can use.