Miscellaneous Updates for February 2008

I’m doing an extremely bad job of keeping the site fresh over the last few months or so. I figured I’d give a quick update of things going on.

I’m Still Not Smoking

I finally started the Step 3 of the Nicoderm CQ program. This one has been rough. This is where you really start physically feeling the consequences of nicotine being removed from your system. I’ve been completely exhausted for the last week. Apparently, that there nicotine is one powerful stimulant and really screws with your metabolism. Your body takes some time to equalize itself and get itself back to where it needs to be naturally. I’m hoping mine gets there soon – because I’ve not had a good time over the past week.

The interesting thing about these “stop smoking aids” is that they defer you dealing with the real issue until you have so much skin in the game that you can’t start again without feeling an intense feeling of failure. Brilliant, but I can tell you that first step gives you an overly simplified view of what it takes to quit smoking. It starts getting a little harsher at step 2 and now at step 3 you really start PHYSICALLY feeling it. The only thing worse will be when Step 3 is over and my body starts eliminating nicotine all together.

Like I said though, I have too much skin in the game now to restart – I think.

New iPhone User

Address Book on iPhoneJonna bought me an iPhone for our anniversary, and I have to say that aside from the GPS she got me for Christmas, which allows me to go out by myself and still be able to get home, it is about the coolest thing for me from a productivity perspective that we have added to my highly disorganized life.

I’m finally able to get all my contact information in one place where it is accessible at any time. I can take notes, I can look things up on the web and I can check personal email. From a browsing perspective, I can get to things that are a part of my life but are blocked at the firewall at work (which is great as well). I feel free.

Now, it hasn’t been without its problems. The 1.1.3 software that came with the phone dropped a lot of calls. It wound up pretty frustrating and I kept my work supplied cell phone so that I could actually hold calls without them getting dumped. The 1.1.4 update took care of this though and now it works like a real phone.

I love the contact management included in the phone. Support for multiple numbers per contact and custom labelled information (including notes) lets me keep track of all the information I could ever want about someone. I can even attach a picture. Integration with the Mac Address book allows me to keep my contacts up to date without having to type into the phone.

And speaking of typing into the phone – I love not having to type on a standard phone keypad. The automatic spell-checking sometimes gives me a run for my money, and more often than not makes me sound retarded, like this little exchange with Jonna:

Trouble With Abbreviations

<Insert large sigh from Jonna because I don’t listen or read>

Overall though, I think between the GPS for Christmas and the iPhone this month, I’ve received the two most useful (and really most used) gifts ever.

As an aside, for those who are obsessed with not scratching or smudging their iPhone or other Apple products, Jonna also picked up a skin called Best Skins Ever for both Kelsi and myself, which we applied a couple of weeks ago. Kind of scary at first (you need to use water to apply it), but they really are the best skins ever. You don’t even know they’re there. I’m definitely going to pick up one for my iPod, as soon as I get a round tuit.

Well thats it from the Labs for last month. I’m sure as the weather starts to warm and the nicotine continues to seep out of my system, I’ll have more energy to blog about useful things.

Building Scalable Web Sites by Cal Henderson

I have about three books that I am reading on and off but have been unable to focus on any of them for any length of time. Tom The Architect mentioned a book to me a few months ago called Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications by Cal Henderson, engineering manager for the Flickr photo service, a service that I have used extensively since being turned on to it by, you guessed it, Tom The Architect.

This was the first book in a long time that I couldn’t put down, mainly because everything in the book is geared towards teaching you about how to create really, really, big web sites and the issues involved in scaling them. It was also quite intriguing because the book covers tools you use all of the time, like PHP and MySQL that are hard to find really good books about how they scale.

Cal covers a lot of material in this book, from layering your web application architecture, to creating an environment for developers to work in, which includes source control, issue tracking, coding standards and the like. This section was quite encouraging to me, as we have implemented almost everything that Cal mentions in the book (sometimes its nice to get some external validation). Cal then goes on to talk about internationalization and localization, data integrity and security, using email as an alternate entrance into your application, and how to build remote services.

All of this was great, but the next few chapters I found really valuable. Cal talks about identifying bottlenecks in your web application, scaling applications such as MySQL (where he covers quite a few replication strategies) and scaling storage. He also covers measurements, statistics and monitoring. Finally, Cal talks about adding API’s into your application to support mobile applications, web services, etc.

Cal references quite a few tools that are freely available in these discussions – tools that I didn’t even know were out there, that you can use to simplify your monitoring environment. I was most intrigued with the Spread Toolkit, a self described “a unified message bus for distributed applications” that allows you to unify logging across your applications. Anyone who has tried to debug an issue on a site that has more than one box would appreciate knowing about this tool.

This is the first book that I’ve read in a long time, technology wise, that hit the sweet spot between talking about real issues that I have been facing and possible solutions. I highly recommend grabbing this book and in the very least just keeping it on your book shelf for future reference. This is one thats going to be a constant companion for me in the coming months.

iTunes Music Store Faster on a Mac?

I’ve been meaning to throw this question up here for a while. Is it just me, or is the iTunes Music store a hell of a lot faster on a Mac than it is on Windows?

While I like the convenience of iTunes, I absolutely dreaded hitting the music store on my Windows machine. It felt like it took forever to get any decent results. Since moving to the Mac though, the Music Store responds extremely quickly and I have no qualms about doing searches and browsing around now.

I’m just curious – has anyone else that has both types of machines noticed this behavior, or is it just my mind playing tricks on me?

iTunes Finally Converted to MacBook

iTunes Converted - Song List

Well, after about two days of file copying, I finally got all of my iTunes stuff moved over to the new Mac. Why did it take so long you ask? I’m not really sure.

Copying between the Windows box and the MacIntosh using Windows File Sharing just didn’t work unattended. It kept failing for some reason. After about three tries at that, I decided to install cwRSync so that I could restart incrementally, but for some reason, this would not run unattended either, and I didn’t want to spend forever running back and forth between the family room and the living room (where my desk is).

Finally I decided to copy my iTunes library up to the Linux server. I started it at about 7:00am and by 7:30-8:00pm on Tuesday the file copy had completed with no interruptions. On Wednesday, I started an rsync from the Linux server to the MacBook. Another 12 hours later and that was complete.

I had heard horror stories about moving this stuff around if you had purchased music and was a little worried that I would have to spend a lot of time getting the machine authorized and stuff like that. Not so. As a matter of fact, I found these instructions on moving your iTunes library with metadata and they worked without a hitch. I now have all of my music on the MacBook. Nice!

I really do like this environment a lot better than anything I’ve used in the past. I’m not clear as to why I had all of the copy failures I had from machine to machine, but thankfully I’ve got the trusty SuSE server to back me up.

Its the little things you notice …

Now that I have a few days on the Mac using it full time, I figured I’d post up some first impressions from a new user. More than that, observations from a new user who resisted the Mac when all his friends told him to go that way in the first place.

  1. When the light in the room gets too low, the keyboard lights up. At first glance this seems completely insignificant, but again, one of those little things that shows the care that goes into the design. It was definitely a pleasant surprise. In a normal company, something this “frilly” would have been cut to remove costs – but as a customer I was absolutely delighted by it.
  2. I like not having a key on the keyboard for every little thing. The modifier key thing is totally working for me for page up / down, etc. Its extremely intuitive once you figure it out (and it doesn’t take long to figure it out).
  3. Using two fingers to scroll with the mouse. Tom the Architect told me about this one. Much more intuitive than a touchpad with the right side dedicated to scrolling.
  4. For years I’ve been irritated with people turning auto hide on the Windows taskbar. For some reason, auto hide makes sense to me with the dock bar. Not sure why, but the whole metaphor of the docking bar works for me on levels that I couldn’t get with Windows
  5. I love the idea of one menu at the top of the screen, rather than a menu in every application. This also works for me on a number of levels.
  6. The overall look of things on the screen is beautiful compared to my Gateway box. Same applications, completely different feeling when looking at them.
  7. Installing software is really a brain dead process. Its the way software should work. On the other hand, I’m going to have to get used to not needing so much detail to get something working. I think I’m finally at the point where I’m ok with this. Must be a sign of getting old.
  8. There is absolutely no need for a “View Full Screen” option on any of these applications. I have enough of the application visible whenever I need it. I can even collapse the top of the window to get more room. Its a little thing, but another one of those “Wow” moments.

Overall, I’m completely impressed. While my initial resistance to going Mac had a lot to do with the price, there are so many little things that I’m finding that are valuable enough to make me feel better about the purchase price. You get what you pay for and I’m quite happy with the new purchase.

The Flickr vs. Zoomr Thing …

I was really glad to read Stewart Butterfields response to the whole Zoomr API key thing that happened over the weekend.

The first thing I thought of when hearing about the hub-bub first on Tom the Architects blog and then on yesterdays Geek News Central (I’m a little behind lately) was the article Strategy III: Let Me Go Back by Joel Spolsky. I think that the essay does a really good job of illustrating the huge barrier to entry that the ability to choose to leave can be to a customer looking to use a product or service.

For me, the attitude of not allowing competitors to access public API keys seemed way too “lock in” like for even me, a very loyal Flickr user. I know that some of the arguments floating around places like TechCrunch were things like “why should Flickr let Zoomr use their bandwidth to take their customers”. The main reason for this is because they chose to create a public API and cannot discriminate against competitors without looking petty and protective.

This is a hard thing for companies to learn. Customers don’t want it to be a hard thing to leave your site or product. It’s a powerful feeling to know that you can move somewhere to try out a service and if it doesn’t work for you — you can leave. At different times in my career I’ve watched people confuse the idea of “creating stickiness” with the idea of tying the customer to a particular product — or at least making it hard for them to leave — and its really just disappointing to me and a clear sign that someone doesn’t get it.

“Stickiness” is the value you are creating that cannot be provided anywhere else and has nothing to do with whether your customer is “stuck” with you or not.

The decision that Flickr has made is to allow public access by competitors to their public API’s is a good one. I do disagree with Tom on one point, in that I think that the requirement that such competitors are required to provide a complete and accessible public API for them is a good one. I think thats a fair trade off and overall will set an example and a requirement to play fair and an expectation that when you take advantage of openness, you must be willing to be open yourself.

Oddly, its the same example Stallman has been trying to set for years …

The Labs Adds A Mac

MacBook Pro

Your looking at the first post to this web site completely written on a Mac.

Yep, thats right. A Mac.

Since the release of OS X I’ve wanted to make the leap to the Mac. The idea of a Unix based system with the useability of a Mac intrigued me to no end. I also have a couple of friends that have used Macs from what seems like day one, and have always told me that I was missing out on something cool. I just haven’t been able to justify getting one in my own head.

I think the clincher for me that a Mac was in my future was when Jonna started bringing one home for her testing work and I was watching her use it. It just looked so cool! Its been on my mind for a couple of weeks now, so yesterday we decided to take a road trip out to the Apple store and “just look” at the Intel based MacBooks to see whether it might be something I want to commit to as my next machine.

Well, I wound up walking out with one with the voice of an Apple customer from the store ringing through my head, echoing softly, “Once you make the move, you will never go back …”.

I got the machine home and booted it up. Within literally 15 minutes or so, I was hooked to our wireless network here at the Labs. Another 25 minutes or so and all of the software updates were downloaded. A few trips to grab the software I use most, like FireFox, the Flickr uploader, etc. and I already felt like I was home.

Of course, being a developer at heart, there are a few things I just had to do as soon as I got the base software like my favorite browser installed. I had to dive to the Terminal window and see what was out there.

  • Perl? – Check.
  • Python? – Check.
  • Ruby? – Check.
  • Java? – Check
  • Subversion? – Nope, but a few clicks and it was installed.
  • Screen Capture Tool? Kind of – only supports TIFFS. I need JPG for Flickr. A quick Google search got me to Snap N Drag, a free screen capture utility that supports JPG files.
  • iTunes – Check.
  • Office Suite? Nope – not there. Have to install OpenOffice, which requires X11. I’ll do that tomorrow.

Here’s the great thing about the whole experience. Every scripting language I use for every day work is on the machine from the moment I opened the box, even my old familiar friend, the bash shell. The important software I use day to day is at least available for me to install.

My email, calendar and news reader? I use Google, for all of that, so there was no setup or importing of data required. I just log in and feel at home.

The loose ends I have to tie off at this point is moving all of my iTunes stuff to the new machine. I’ve found a few articles on this around the NET, but the volume of data I have to transfer is becoming prohibitive. For some reason, rsync just stops part way through the sync — but I’ll get this worked out.

I’m extremely impressed with the machine so far. It has all of the utility of Unix and all the beauty of a Mac. I’m really not sure what else anyone could ask for.

Customer Self Service

As a customer, I like to be in control.

Our family goes out to eat at least once a week (on weekends, mostly). Many times once we are seated we spend quite a bit of time waiting for our initial drink order to be taken, then for our actual order to be taken, then for the check to be presented, and finally for our payment to be taken by our server. I know, pretty normal scenario — what is there to complain about?

Well, I’m not complaining really, just thinking. How could you enable customers to order for themselves and pay when they are ready to leave? Would putting customers more in control of the things they have to participate in anyway increase their satisfaction with the service?

I’d love to see a restaurant in which you are handed a wireless device with a card swiper as you are seated (or it could even already be at the table). The device can be used to select your drinks, appetizer, and meals which is routed to the serving staff (haven’t figured out the specifics of this one yet) who can then fill the order and bring it to you. Once you have finished your meal, the device can present the charges for you, allow you to swipe your debit and / or credit card and pay for the meal. Absolutely no waiting involved except to have the actual things you order delivered to your table.

Tom the Architect has told me that they have something like this in Vegas. I can’t wait for it to get to the mainstream. As a customer, I like the idea of being able to take care of the things I’m able to take care of without waiting on someone else to act first. I like to be in control — and I’m guessing that most people feel that way. I’m more satisfied when I feel like I’m more in control of the situation.

I think the one area that would have to be worked out is the security of the system. As we were sitting in a restaurant one day, I decided that I would enlighten my wife, Jonna, about these ideas. The first thing she hit me with was the opportunity for credit card fraud (she has the innate ability to point out flaws in the utopian ideas I come up with).

She brought the same thing up a couple of weeks ago when I was complaining about having to wait on someone to come over to the Jewel self-service checkout aisle to press a button to allow us to buy a six pack of beer. I started railing on as to why friction had to be added to the transaction, since the bank that we have the credit/debit card knows how old I am and can verify my age electronically. Jonna brought up that it would be quite easy for kids to take their parents credit cards and just go buy alcohol if age verification was done from the credit card (see, I told you she was good — I didn’t think of that).

Ok, thats a problem. What if in these situations you could get the benefits of “frictionless shopping” if you transacted with your debit card only and kept the PIN away from your kids? Then I could have my “lack of friction” and we could ensure that the kids weren’t off buying Tequila on my identity.

These are just a few things that I think about every now and again when I have to wait around for things that I know technology can solve. I love the idea that we are getting to the point where we can automate the friction out of a lot of the transactions we perform in daily life. Now and again, I’m disappointed that we haven’t removed all of the friction that we could out of the process.

As a customer, I just really like being in control.