Entries from July 2009
Ask people what they think of the Google Chrome browser and you'll often hear the remark "it just feels faster". Testing results so indeed prove that Chrome is a fast browser, but the differences become more difficult to measure when compared to other fast browsers like Firefox or Safari. We're talking fractions of a second. So what is it about Chrome that makes it "feel faster"? The answer is obvious- an ingenious UI design. Speed, or at least the illusion of speed, is becoming increasingly important for web-related apps.
Chrome "feels faster" because of its light UI design. Instead of being modeled after a physical window with thick outer borders and deep edges as was common in older browser designs, Chrome is modeled after a sheet of paper. Thin edges, light 2D borders and use of white + blue colors contribute to the illusion of a slick speedy UI. You can experience this for yourself with Firefox- switch between the Default theme and a Chrome-esque theme like Chromifox Basic, and you can't help but feel the latter is faster.
You can see this design theme popping up everywhere. Google is naturally most famous for this design approach, and it can be seen in nearly all of their web apps. Many social services like Tumblr, Twitter and Ping.FM have gone with light, easy to consume 2D themes. Now Mozilla seems to be experimenting with it as well in the next version of Firefox. It's even spilling over to the desktop, which can be seen with Microsoft Windows 7 themes and many Adobe Air apps. People no longer want thick blocky interfaces packed with features/buttons/options. Light, thin and speedy is the new hotness. It's amazing how much perceived application performance mileage you can get out of simple UI design decisions.
Posted via email from I/O: Tech Introvert
Categories: Software
Tagged: Firefox, Google Chrome, UI Design
Draw your own life parallels to this sad scene…
This my friends is what regret feels like. As I sit here with my inferior 128kbps, DRM-riddled audio library I can only wonder. Was the recklessness of the past- those carefree days of quick downloads and easy syncing, of sexy UI’s and trying to sleep with hot Apple-licious chick at the party, really worth it? Or should I have taken the time to get to know the nerdy chick at the party aka. Amazon.com and her clunky interface yet wholesome 256kbps, DRM-free MP3’s. I chose poorly.
But there is good news. For a mere $660 (and a sick amount of download time + disk space), Father Jobs will grant me an indulgence! All will be forgiven and my audio library will be upgraded for a small donation. Huzzah! I was left with a choice: live with the regret of iTunes or absolve my sins at the Church of Apple.
To make my decision easier, I turned to religion’s adversary; science. I fed all the relevant data into the Bat Computer, which after running a number of simulations and clicking/blinking like a bastard, retuned the following results:
I can live with my existing audio files + no one actually buys music anymore = screw you Apple.
Can’t argue with science.
Categories: Music · Opinion · Software
Tagged: Amazon.com MP3, Apple, iTunes, iTunes DRM-Free
When running end-to-end performance tests on your web app, the rate at which the tests run is as important as the scenarios themselves. A great place to collect rate metrics is from your own existing production environment.
I was recently testing a data capture web app of ours. Use cases are reasonably straight forward; users log in, execute some actions on the data based on their roles, and log out. So I developed some role-based user scenarios and added what I thought were realistic (if not somewhat conservative) page think times to simulate real-world usage. One everything was setup, I eagerly flipped the switch and…
Ouch my aching app server. CPU pegged and we’re only at 40% of our expected # of concurrent users. Not good. So I spent some time checking for root causes, but turned up nothing obvious. Did our app just plain suck? Were we going to have to buy one of these CPU beasts to host our high-volume customers?
Turns out the answer was in the test rates. I had consulted out production hosting team extensively to determine proper data sizes and use cases, but what I had forgotten to ask for was rate metrics. They were able to pull some numbers from some of our more active customers which showed the following:
- Average user session: 30-60 minutes. My user sessions: 5-10 minutes.
- Average transactions per user: 4 per hour. My tx per user: 20 per hr.
I had way, way overestimated the average activity of our users. What exactly takes them so effing long is a mystery!
But fact is, my tests were spinning up a data rate that was 5 times what our more active customers generate. Had I gathered this information beforehand it would have saved me much troubleshooting time.
Categories: QA · Software
Tagged: QA, performance testing, Quality Assurance
Kent Beck writes his take on the newly announced Google Chrome OS (here http://www.threeriversinstitute.org/blog/?p=273). In it he refers to web apps as “inferior but good enough”. This really describes most of the current web apps I’ve used. The Google suite is good for something that’s free. But anyone who has worked in a full MSOffice shop (and is not blinded by anti-MS vitriol) will agree that Gmail, Google Docs, etc isn’t even in the same league as Office. I prefer native iPhone apps to mobile web sites, I prefer Notepad++ to Bespin, TweetDeck to Peoplebrowsr. Web apps just aren’t as robust or powerful as desktop apps.
Maybe it doesn’t matter. Is cheap, fast and worry-free enough to outweigh powerful and robust? Well…no. I generally use the web to flit around but launch native apps when I’m done screwing around and need to get serious. I’ll bet you do the same, and I don’t see this changing anytime soon.
Posted via email from I/O: Tech Introvert
Categories: Opinion · Web
Tagged: cloud, Web, web apps
Things I’ve done using my iPod Touch this weekend:
- watched Doppler radar of thunderstorms near Boston
- read/send work email
- read the NY Times
- read a book I downloaded from Amazon
- activated my Netflix account and update my queue
- checked out what other movies Bogs from Shawshank Redemption was in (Mark Rolston, lots of movies)
- read a book review
- learned Steve McNair died and Serena won Wimbledon on Twitter
- watched play-by-play of the Yankees game
- watched an old Burns & Allen classic TV show
Oddly I did not listen to my music library, which is the main purpose of the device. I don’t need a netbook, or a laptop. All I need (and would pay a lot for) is an iPod Touch with a larger screen and better battery life. Apple must know this by now, right??
Posted via email from I/O: Tech Introvert
Categories: Gadgets · Technology
Tagged: Apple, iPod Touch, netbook

I've heard rave reviews about Evernote, but I just can't seem to work it into my daily web life. I save links with Instapaper and email thoughts/ideas to myself. Both processes seem much faster and effective than going through the another web UI. Unfortunately, Evernote doesn't seem to allow you to delete your account, so I'm taking one last stab at it. For the next week or so, I'm pushing all that internal traffic through Evernote. Have you worked it into your daily life? Got any tips?
Posted via email from I/O: Tech Introvert
Categories: Software
Tagged: Evernote
Mary over at The Coding Pad has a great blog entry titled The Strengths and Pitfalls of Online Tutorials for Beginners. She suggests that beginner programmers should work to develop a strong understanding of fundamentals before diving head first into the plethora of online tutorials out there. She also mentions some great tips on how to do this. But one pitfall she mentioned that really struck a chord with me was "Fragmented Knowledge".
This idea of Fragmented Knowledge (or "fragmentitis") is a huge pitfall for anyone who is looking to learn something new, not just novice programmers. The amount of reference material, how-to books/webcasts, etc. available on the internet is astounding and covers nearly every topic you can imagine. With a few clicks of the keyboard, you could start learning almost anything about any topic you can think of. That's pretty amazing, Star-Trek-esque crap right there. But let me illustrate for you the problem of Fragmented Knowledge. Here are some of the topics I've wanted to learn more about this year:
- Beginner electronics + circuit-building
- C# 4.0, WCF, LINQ
- jQuery, Processing, Javascript
- Ruby, Python, PHP
- Linux basics
- Custom Firefox extensions
Add to this list my experiments with social media + emerging internet services, plus keeping up tabs on RSS feeds and occasional gaming. The result- my limited free time is gone, and I know a little bit about everything on this list but not enough to actually be productive. I can make lights blink on my Arduino device and send http GETs in Ruby, but I haven't learned enough to do anything cool or useful. And I know I'm not the only one in this boat.
Now this is not all bad. I'm a firm believer that society is becoming increasingly disconnected with the technology we reply upon every day, and we all have a duty to understand (at least at a basic level) how the things we use work. But this is clearly a misapplication of my precious free time.
One of the suggestions that Mary makes in her blog is to figure out what you really want to learn and focus your efforts on, then create a learning plan around that. I'll add there is a step in there to "defragment your head"- arrange and weed out the pieces of supporting information you have collected in order to best focus on your learning goals. As an example: for each item in the above list, I have a dizzying number of bits and pieces of info. Links to sites, tutorials, books on Amazon, downloaded videos, PDFs, whitepapers, page snippets and emails. Not only are they strewn everywhere, but taken together they do not comprise any kind of approach to learning the topic. They distract me, waste time, and worse- could just be plain bad information. So once I have my learning goals in place, I'm going to arrange my data sources + tools accordingly to best maximize my time. Over the next few weeks I'll detail the steps I've taken to defragment my head and focus on actually learning new things.
Posted via email from I/O: Tech Introvert
Categories: Opinion
Tagged: defrag your mind, learning, organization