Beastly Browsing
Just a few short weeks ago I did some benchmarking of the then-RC IE9 and Chrome 10. I discovered that IE9 did well on Sunspider, even beating out Chrome 10, but Chrome turned around and ate IE9′s lunch on the V8 Benchmark Suite.
Now that IE9 is final, and Chrome 10 has bumped a few revisions, I reran the V8 suite. Here is how the final version of IE9 did on my Windows 7 machine:

This was about a 200 point improvement over the RC, which scored 2567. Now, for Chrome, here’s how the lastest revision performed:

I was blown away. This was a full 3000 point improvement over what I tested just a month ago. Google is definitely working overtime on V8. Apparently, Google has some of the former Sun employees who worked on the Hotspot JVM working on V8 now. This is going to have very interesting implications for NodeJS. Server-side JavaScript could conceivably be in the running to replace Java. I’m going to try to find some benchmarks that compare the Java 6 JVM to NodeJS just to how close it is getting.
For giggles, I also ran the benchmark on my new MacBook Pro with the same version of Chrome. Being a laptop, I was expecting decent, but not stellar, performance. I was really, really wrong. Here’s how Chrome 10 did on my MBP:

This is a nearly 2000 point improvement over the Windows version. I don’t know what Google is doing under the covers, but whatever it is, it really likes Mac OS X. I was shocked too because my Windows 7 machine is a downright beastly AMD 6-core box:

The MBP is actually running a bit slower:

So the lessons learned are that a MacBook Pro very much is a desktop replacement machine, and that Chrome 10 totally rocks on Mac OS X.
Lessons in UX
I rarely talk about my work projects on my blog, but we’ve finally completed a project which is worthy of showing off. I’m the application manager for Nationstar Mortgage’s Loan Origination System (LOS). I have a small team of great Java developers working for me. Our system has both an internal and external facing component, so I’ve got two sets of users to please.
Around last October, we noticed a downward decline in the satisfaction rating of our external facing site. The marketing department takes monthly surveys of our users and circulates the reports with the management team. Our management team decided that we needed to do something about it. We weren’t going to be able to grow external business with our existing site. Several ideas were tossed around, but I finally suggested with bring in some usability expertise to help us give the site a better user experience.
After filling them in on what Usability and User Experience (UX) were all about, and that there are people highly specialized in doing just this kind of thing, they got behind the idea. Now the trick was to find the right experts. We talked to a couple vendors, but ultimately settled on Improving Enterprises. While it helped that I’ve known their management team for about a decade, what really sold the ultimate decision makers was their expertise and vision.
We started with a two-week analysis engagement. The Improving UX guys would talk to samplings of all the users of our site. They also went through the site themselves, including the workflow. We even had them sit in on a new-hire training class for the system. The result of this engagement was an impressive set of design comps and an extensive list of recommendations to improve the usability of the system.
We then had them put a UX expert, David, on site with about half of my Java team to work on putting a new face on the external site. As is always the case, there was a lot deadline pressure, so we had to comprise where it made sense. I had a specific goal for Improving of providing the templates we would need to carry this initiative forward after the initial engagement. This meant I wanted css, stylesheets and html files covering typical page layout scenarios so that my team could apply them as needed.
The six weeks with David blasted past pretty quickly. We actually extended him for another month to come in one day a week to validate we were on the right path and get us unstuck when we ran in to scenarios we hadn’t anticipated. My team worked their butts off to hit a tight deadline, and we’re finally deploying tomorrow night.
Here’s a preview of what our external users will get to experience Thursday morning. I’ll compare the old to the new, starting with the login page:

Now normally this wouldn’t be considered too bad, but it typifies the problem with the old site not matching the corporate brand. The colors on the old site were what we affectionately referred to as the Denver Broncos colors. The new login page changes all that:

The new login page nails our brand perfectly, and the blue box demonstrates some of the work we did with improving the consistency of messaging to the users.
Here’s the landing page for old site. Users would see this page immediately after logging in:

Although it is not visible in this image, the navigation links on the left have JavaScript-driven submenus for some items that drop down on hover. None of this was very intuitive for a new user. Here’s how we changed it:

We eliminated the confusing navigation options and narrowed it down to the four primary options across the horizontal bar at the top. There is still a bit too much white space around the filtering options, but I’ll gradually tighten that up.
Here’s the old status page for a case once the user has clicked one of the links on the above landing page:

The bright yellow on the left was how pages with errors were indicated. Counterintuitively, green was also used to highlight a different category of errors. And it was still never really clear what a new user was supposed to do next. We addressed this shortcoming with the new page:

Navigation options are greatly simplified. The left navigation is for hopping to specific sections of a case. We also use icons to indicate sections which have errors. The biggest improvement is the Continue button at the bottom. A new user can literally complete the entire process by clicking that button. They are navigated through all the required pages, all the way to sending the case to our fulfillment system. The power users can still use the left navigation tree to hop to specific sections of our application. We also greatly improved the status display. The green bar at the top is always visibile when a user is working in a case, and shows the status relative to the prior and next steps on the progress bar.
So that’s the sneak peek, now for some observations and lessons learned.
- Hire good people – I know this sounds obvious, but UX is actually a discipline, and you want people trained and experienced in it. The typical web developer is not a UX person. Good UX people have opinions on how you should improve things and are closer to artists than developers. Listen to them.
- Don’t pay someone to tell you you suck – This is related to #1 above. We talked with one vendor who wanted to provide a very detailed analysis of the ways our website sucked. This would have been a map of where we had been, not a path to where we wanted to go. If you think your site sucks, it probably does. Don’t waste money confirming the suspicion, fix it!
- Usability is more than lipstick – I hit on this a little above, but UX is about more than changing colors and buttons. We made fundamental changes to how a user interacts with our system with the goal of giving them a more pleasurable and intuitive experience. A good UX person should be helping you more than just creating pretty buttons and gradients. We addressed page layout, site navigation, page flow, button consistency and user messaging, in addition to applying the new theme.
- It will take you longer than you think – Even with three developers, updating our legacy Struts/Hibernate site was a bear. We ending up taking a compromise approach for the first release. We fully redesigned the most critical pages, and then only cleaned up the look and feel on some pages. We’ll be making another pass through the system to get those pages.
- Learn to fish – We knew we would only have our UX person for a limited amount of time. Ensure you get what you need to help carry the effort forward after they’re gone. In our case, these were the page templates (html, css, images, javascript and Photoshop files). You may even want a style guide, although those can be time consuming to create. Either way, your developers should be able to produce new pages using the theme after your UX person is long gone.
- JavaScript is your friend – We made extensive use of JQuery and JQuery UI in redoing the site. There were some things where it was much easier to apply a style and position or wrap an element using JQuery than to make extensive changes to server side code. We ended up producing a JQuery UI theme branded with our company colors that we can now reuse for other projects.
This has been an exciting and hectic project. I want to thank my team (Deren, Kevin, Smitha and Ajay), along with the UX guys at Improving Enterprises (Travis, Dustin and David). They all did an excellent job. It was great to work on a project that can have this significant an impact for our users, and we’ll be keeping our fingers crossed that everything works as planned.
All images © 2011 Nationstar Mortgage, and may not be reused without permission
Sit on the Hands
Apple finally unveiled the much-anticipated iPad 2 yesterday, with all the expected fanfare. I was pretty excited for about the first 15 minutes of the presentation. Thin is sexy, and who could say no to dual cores and much faster graphics. I didn’t really care about the cameras, although that would make it a great all-in-one device for my in-laws who are malware magnets on their Windows machine.
But there was nothing earth shattering which made me want to upgrade my first generation iPad. There are two main reasons. First, there are going to be a crapload of tablets coming out this year, and I’d rather wait for the best device, not the first device. The iPad 2 is a starting point. I want the same specs, but with a better web browser and better expandability. Openness would also be a nice thing. Apple is turning in to the 21st century version of Microsoft in the 90s. There is some serious sexiness heading to the table market in the next six months, so waiting is the best thing to do unless someone absolutely must have an iPad like OMG TODAY!
The second reason is that my primary day-to-day travelling companion of choice has become my Kindle DX Graphite. Between my MacBook Pro and my iPhone, I have everything covered that I would do with my iPad. I like the focus of the Kindle on the task of reading, without distraction. No Twitter, AIM, email or the temptation to surf. I’m actually chewing through a lot of books that I have wanted to read and appreciate the Kindle DX even more now than 9 months ago.
So my best advice to anyone looking at an iPad 2, either as a new tablet or upgrade, is to wait. Give it a few months for the market to bloom and then pick the best device for your needs. It may well be the iPad 2, but you have nothing to lose by waiting a bit longer.
Spring and Apples
Apple finally dropped their Macbook Pro (MBP) refreshes this week, and it was pretty exciting from a geek standpoint. One of my biggest complaints about the prior revision was they only had dual-cores. Now, the 15″ and 17″ models have quad-core i7 CPUs. Couple that with 8GB of RAM, an SSD, and awesome AMD graphics, and you have a true coder’s laptop.
The best thing about MBPs is you can spend 3K on a laptop and still feel like you got a good deal. Apple completely dominates the high-end laptop market. Maybe, one day, Dell and HP will quit racing to the bottom of the hardware market and build a comparable quality laptop. Their biggest problem will be brand perception — they’ve produced low-quality crap for so long that most people would laugh at the thought of buying a 3K Dell or HP laptop.
Cut Short
Alright, I lied. I said in my last post I would give IE9 a fair shake for a week. I only lasted two days. The relationship started going sour the first day when I tried viewing the ExtJS API documentation and samples. None of them would render. I had to drop in to “compatibility mode” to get things to show up. Now maybe this was the fault of ExtJS, but I’ve never had to do this in a prior version of IE, so I’m blaming Microsoft.
My second annoyance is the IE9 notification system with dialogs popping up from the bottom of the screen. It is counter-intuitive and my eye does not naturally get pulled in that direction. This is a major usability failure for the IE9 team.
The final straw is that IE9 feels exactly the same as IE8, which I hate everything about. The “workflow” of web browsing is pretty much perfect in Chrome and Firefox 4, while IE9 still feels a decade old.
So the default browser setting got changed back to Chrome 9 48-hours later. I’ll keep the icon on the desktop for testing, but I’m disappointed this was the best Microsoft could do.

