tag:blogger.com,1999:blog-238349172024-03-13T14:15:04.424-07:00Dick Wall's BlogDick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comBlogger53125tag:blogger.com,1999:blog-23834917.post-79805726072580772132014-06-29T16:33:00.001-07:002014-06-29T16:33:14.586-07:00Farewell United, it's not me, it's you.<h2 dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;">
<span style="font-family: Arial; font-size: 15px; font-weight: normal; line-height: 1.15; white-space: pre-wrap;">About 1 week ago, I tweeted this message:</span></h2>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: white; color: #292f33; font-family: 'Gotham Narrow SSm', sans-serif, Arial; font-size: 26px; line-height: 32px;">Dear </span><a class="twitter-hashtag pretty-link js-nav" data-query-source="hashtag_click" dir="ltr" href="https://twitter.com/hashtag/united?src=hash" style="background: rgb(255, 255, 255); color: #2fc2ef; font-family: 'Gotham Narrow SSm', sans-serif, Arial; font-size: 26px; line-height: 32px; text-decoration: none;"><span style="color: #82daf5;">#</span>united</a><span style="background-color: white; color: #292f33; font-family: 'Gotham Narrow SSm', sans-serif, Arial; font-size: 26px; line-height: 32px;"> airlines. I think it's time we decided to break up. It's not me, it's you....</span></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I have decided to elaborate on the circumstances behind this. Let me start by saying:</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I fly a lot…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In the past 4 years, since I started traveling a great deal more for my own business, I have racked up a couple of hundred thousand miles, mostly with United Airlines. Last year I flew around 80,000 miles (which makes me Premier Platinum for those keeping score) and this year I have already racked up over 46,000, and would have likely been 1K by the end of the year. I won’t be though, because that was my last flight with United.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">For anyone from United who is reading this, it’s not just the frequent flyer customer that’s disappearing. I also have 2 credit cards (one personal, one business) through mileage plus -- no point in keeping those any more if I am not collecting miles to use. I also have membership in the United Clubs, another thing I will be dropping as soon as I can since I will not be flying out of United terminals most of the time any more. In short, I think I was a pretty good customer.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This is a pretty jarring change - after 4 years of building up loyalty with United, surely I would have to be crazy to walk away from that, and believe me I have had that same thought, but I think by the time you finish reading this, it will be obvious to you, as well as to me, that it is the right thing for me.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Let’s start with the primary reason, when you cut through all of the rest of the long story(ies) below, what is the one reason to walk away?</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I can’t rely on them to get me where I need to be, when I need to be there!</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">That’s it. Reason one of many. Let’s face it, the reason you have a relationship with an airline is for travel, first and foremost, and the service they provide -- to get you there, when you need to be there -- is the only really non-negotiable requirement. Since I travel a lot, getting there comfortably is a pretty close second on the list, and another reason I am leaving.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">And it’s not a one-off incident that has prompted this. In fact I have been on round trips with United 5 times since February of this year, and 3 of them have been pretty much disastrous in at least one of the directions (2 while coming home, 1 while flying out). All three are detailed below, but let’s start with the worst (and most recent) since it is freshest in my mind.</span></div>
<b style="font-weight: normal;"><br /></b>
<h3 dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 8pt;">
<span style="background-color: transparent; color: #666666; font-family: 'Trebuchet MS'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Trip 1: UK and Germany</span></h3>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I flew to the UK and the Berlin for 3 different conferences (Java Posse Roundup UK, Devoxx UK and Scaladays). The trip out was mostly uneventful, the single leg ones usually are because frankly there isn’t much you can screw up without a connection in the mix. However, flying back from Berlin Tegel to SFO requires a connection.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">A bit of background, I (did) have a lot of air miles accrued, and since I gain them so quickly on business travel, I try to use them for upgrades to make things a bit more comfortable. The trip back from Berlin was no exception - I put up the miles and the co-pay to try and get business class, particularly for the second leg (EWR to SFO) since I knew I was going to be traveling for about 17 hours and that makes for a long day - the hope was to get a bit of sleep on the long internal flight from EWR, and sure enough I got notification that I was going to be upgraded for that flight a couple of days before I returned.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I have global entry and am a pretty practiced traveler, even so when offered the choice of flights I chose to leave myself a full 2 hours in Newark - it was one of the longer connection times offered when I booked the tickets, and since 1 hour is usually sufficient when arriving for an internal flight, 2 seemed generous - however this was not my first “United rodeo” so I figured, play it safe, leave at least an extra hour.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On the morning of my flight back (BTW - if someone with United mojo is reading this, booking code </span><span style="background-color: white; color: black; font-family: Verdana; font-size: 12px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">DGJK9D</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> -- Flight from TXL to SFO via EWR on June 19th 2014 - you should be able to verify this and the other facts presented here by backtracking through my mileage plus account). Scheduled to take off at 9.35am from Heathrow.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This is the first recommendation for United. Stop lying to customers. If a plane is going to be late, just ‘fess up and say it’s going to be late. When I see a board saying the flight will be 15 minutes late leaving, but I can see that the incoming plane is over an hour late on the flight tracker, it doesn’t take a genius to figure out that the 15 minutes delay is a lie.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">When that 15 minutes comes and goes, and the departure time on the board has passed but there is still no news coming about the new departure time, that’s just sloppy customer relations.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The reason for the delay? The incoming flight was delayed due to a mechanical problem. This was the case for two out of three of the serious schedule issues I have had this year. It’s not reassuring to think of this many mechanical issues in the fleet either - surely this is above the average across other airlines (I would be interested in stats around this).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We left over an hour late, spent another good few minutes waiting for a place in the takeoff roster, and a quick calculation told me that I was going to be very, very tight for my connection in EWR, if I could make it at all.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Again, this was not a weather delay. Weather can always cause problems (although how you deal with it also matters, United) but this was a mechanical, pure and simple.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">When we landed in EWR I had just 25 minutes to clear immigration (which fortunately was quick, thank you global entry), claim my bag, carry it through customs, re-check, go through security screening again, and find the plane.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I saw the flight status changed to departed literally just as I reached the gate, and I was one of many customers in the same predicament, flying from TXL to SFO through EWR - it wasn’t just me, there were several of us.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Second recommendation for United (and perhaps everyone else in the airline industry). It seems that there are a lot of stats games to play around on time departures, arrivals and so forth. The statistic that really seems to have dropped through the cracks, in my experience, is how late you get an individual to their destination when you have promised to do so, through all of the various connections. My flight in to EWR was late, the one going out left bang on time despite there being many people arriving at the gate just as it closed up. Unless I am on that flight, my personal delay time goes way up when that happens, even if the second flight is “on-time”.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">It used to be that one of the advantages in having Airline loyalty and indeed booking all travel through an airline, was that if a few minutes delay could make the difference between several customers making a connection or not, the airline would actually hold that plane. Not any more though, all three of the screwups this year are exactly the same: a plane arriving late (2 of them mechanical delays, one was weather into ORD) and in each case I was at the gate at the time the plane was supposed to depart, and in each case it had just closed that minute. Also in each case I left around 2 hours for the connections, so it shows just how regular this pattern has become.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">So, my next recommendation: Instead of individual flights departure and arrival times, how about we start gathering booked journey arrival times for the entire journey? After all, once you book a flight and make a business arrangement with a travel company, you are at their mercy for them actually fulfilling their end of the bargain. United seems to be particularly poor at this part of the bargain.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Anyway, I arrived to see my gate status change to departed. I veered off and went to the customer service desk. Here’s where the story really starts to get good (thanks for reading this far).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The customer service rep said there was another flight leaving late that I had a seat on, but I would have to run (it was on the other side of the terminal - a big terminal as it turns out). I wanted to get home, so run I did (with approx 30 pounds of backpack on my back - 2 laptops, long story).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I got to this gate on time…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">And the door was even open…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">And as I went to swipe my ticket through the reader, breathing heavily and sweating after a 10 minute run through the terminal, the gate attendant, somewhat rudely, said “you can’t go in there!”.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Actually she really was quite rude throughout the interaction. I had already scanned my ticket and I don’t think she liked that - perhaps it shows up as a black mark against her or something. The reason I couldn’t board was that my seat had been given away moments earlier.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I just received my ticket 10 minutes ago! I ran as fast as I could, the plane was still there, but I no longer had a seat.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I was quite annoyed. I don’t know who screwed that up, but it’s clear someone did. If I was too late for the plane, why was I given that ticket and told to run? If I was marked in the system after getting my ticket mere minutes before, did the gate attendant screw up by giving away the seat without looking? (My guess is, that one since she really seemed to be quite annoyed with me - more on that in a moment).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">So, I couldn’t board, I was hot, tired, already been traveling for 16ish hours (including time to the airport that morning, etc.) and I asked “what now?”.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Another ticket, another aircraft, another run across the terminal in the other direction because that one was already boarding too.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Originally my plan had be to have a nice little break in EWR, grab some food and drink, read and relax. Instead I sprinted first to one side of the terminal and then back to the other.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Here is where things get speculative. I certainly can’t prove anything, but then again it really doesn’t matter as I will explain below.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I had the absolute worst seat on the plane.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">For those who know these things, the very back row in the aircraft is the narrowest. It’s an extra row of seats crammed in to maximize those carrying capacities - the seats have less width than regular seats and I was in the middle one.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Fine, I thought. Bit of a comedown from the upgrade I had originally received verification of about 2 days before, but at least I would get home. I could stand this for 6 hours.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The speculation part is that even though (as time went on) the plane emptied out, people left and boarded other planes, seats became vacant in economy plus and first, and I spent miles on an upgrade (plus, you know, premier platinum, top of the upgrade list, etc.) I still ended up in that last narrow row for the whole flight. I believe that this was some kind of retribution from the gate agent for the flight where my seat got given away but I can’t prove anything of course. Perhaps I really did get her into trouble when I scanned that valid ticket for a seat that was no longer there.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Next recommendation, something really has to be done about the gate attendants. I have met good ones while traveling, but for the most part the attitude that the customers are simply a nuisance to be borne by the long suffering employee is too prevalent to dismiss.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">So I sat in 38 B for the flight.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Which turned out to be longer than the international flight from TXL to EWR…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We then sat at the gate for 4 hours due to weather disruption.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I know, I know, weather happens. However, it’s worth remembering that I should not have even been on that flight. The flight I should have been on was already well clear of the weather and on time. Instead we waited at the gate with occasional updates from the pilot for 4 FREAKING HOURS. During that time, the attendants came through the cabin just ONE time with water - I got a half measure through some fluke or bad karma or something. People on the plane actually cheered when the attendants came through with the water - I think that should be a noteworthy item for any crew that maybe they should have acted earlier.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I had run through the terminal twice, and was pretty thirsty. At no point did United tell us the delay would be as long as 4 hours, nor did they indicate that it was OK to get off of the plane. I am pretty sure there are some rules about this now. Consider this a complaint and if anyone knows the rules, let me know.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">At one point I did get called forward in the plane - I thought “great, at least I might get a drink as a result of my upgrade”. In fact I got to the front, directed to a seat, then 2 minutes later told that the seat was not mine after all, and was sent back to 38B again. I didn’t get that drink either.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">4 hours late we finally pushed back. I did get a lot of my book read, thank goodness for my kindle. When we finally got up in the air, I waited about another hour before bothering my row mate to let me out so that I could go and ask for another cup of water. The attendants were talking in the back. I asked for, and received, my second small cup of water after 5 hours on the plane (and after running through EWR twice). </span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Because of weather we were originally redirected to Salt Lake City for a refuelling stop. That changed to DEN halfway through the flight because there also needed to be a crew change due to the now extra 4 hours on the flight from its original plan. The pilot explained that the delay would be just 30 minutes to refuel and continue.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">At no point did anyone, pilot or other flight crew, allude to anything more than this being a refuelling stop and a change of “one of the flight attendants”. The implication to everyone I spoke to on the plane was this was a stop and go.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The in-flight service finally started about 5 hours after we boarded, probably due to my getting up and asking for water. This was already scheduled to be a long flight (6 hours, one of the longest internal flights) and was now running 4 hours longer (in fact, all told it took about 13 hours from the gate in EWR to the gate in SFO in the end - longer than the international leg).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">And of course, there was not enough food on the plane for everyone for a 13 hour flight.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">By the time they got back to me well over an hour later, I was at least able to get a couple of extra cups of water, which I drank down immediately. I was also able to buy a very small food bar which was the last thing they had in the inventory - unsurprising as it tasted like cardboard, but after 6 hours on the plane, I would have taken anything.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We landed at DEN, at which point the pilot once again said that this was a quick refuelling stop and a single crew member change. No estimated time was given, but the last we had been told was 30 minutes so I think everyone thought that still held.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">One of the flight attendants then came on the PA and said that if anyone wanted to alight the plane to get some food, they should, since there was no more food being loaded on to the plane for the last hop from DEN to SFO. </span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I decided at that point that I was more tired than hungry (24 hours awake at this point) and so I just thought what the hell - I would wait for the refuelling and read my book some more, maybe doze.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">After about 20 minutes, during which the same flight attendant said several more times that there was no more food on the plane and that anyone who wanted food should leave and go to the terminal, it slowly became clear that in fact everyone had to leave the plane. It was apparently not optional, but no one had actually come out and said it.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">One of my fellow travelers lost it at that point (wasn’t me, I was too darn tired). He started yelling that United was a terribly run company, no one had said at any point that everyone had to get off which is why half the plane was still sitting there, waiting. He also said that he would never fly United again. Sage words…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">So, I got off the plane, and walked around a bit to try and stay awake. Almost everywhere in the terminal was closed (this was around 10.00pm at this point - originally I was supposed to land in SFO at 6pm - there’s that stat about promised vs. real time to eventual destination again). I did find a sandwich, and more importantly a liter and a half of water which I bought to take back on the plane with me - I wasn’t taking that chance again.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We finally set off at about 11pm (I can’t remember exactly but we were in DEN for at least 90 minutes for that quick 30 minute refuelling stop). I returned to my very back seat, enjoying the prospect of my last 120 minutes ever flying with United, because I knew it would be by that stage. I actually looked at whether I could get a southwest flight out of DEN while waiting to get back on board. Even if it was later, I would have paid for it because I really didn’t ever want to fly with them again that much. Unfortunately the SW flights only had standby left so I decided not to take the chance.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I eventually did make it home, and resolved to write this article. I am writing it now for a couple of different reasons.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Firstly, United occasionally sends me feedback requests. In fact they send them every time I fly EXCEPT when they screw something up (so they clearly know when things have gone wrong). No doubt this is another stats thing - send out feedback forms for the success to pump up the good reviews section, and then don’t send out anything for the horrendous failures. For that reason, it seems that writing a public review is about all I have left.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Secondly, I waited a week because we have (or had) lots of air miles earned and I didn’t want them getting canceled out or something as a result of this review. I don’t think it would happen, but it says something about my confidence in United that I thought there was a chance. I simply won’t fly with them again, but my wife volunteered to take them all for a visit to the UK over Christmas, so we spent the lot in one go. Of course, something could still happen to the tickets, but if so, I will be following up here…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Thirdly I want my motives understood (well, in as much as I can understand them myself). I am not doing this to try and get something, be it free travel, miles, compensation or anything else. I am simply not flying United again, so miles or other travel would be useless. I hereby pledge that if any money is involved, it will go to charity - I have strong opinions on money earned vs not earned, and not earned needs to be turned to something good, like charity).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I write this because I feel something needed to be done. This was a pretty poor experience and I wanted United to feel some of the discomfort and annoyance that I did. I am sure this is a drop in the bucket, but maybe someone will read this and do something about it. Maybe that someone will be in United and try and make a change for the good, alternatively someone who is thinking of flying with them and might reconsider for their own peace of mind.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">And again, it’s not that this was just a one off. The decision is easy after this last flight: I can’t rely on them for travel, and apparently all my status is worth less than nothing anyway. That makes the decision to start again with another airline very easy. I doubt they could do worse than this flight even with someone with zero status so I will be winning straight away.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Here are the other two screw ups this year, just for completeness. Don’t worry, I will keep these shorter.</span></div>
<b style="font-weight: normal;"><br /></b>
<h3 dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 8pt;">
<span style="background-color: transparent; color: #666666; font-family: 'Trebuchet MS'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">SFO <-> AMS -- March 5th and 6th</-></span></h3>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I was keynoting at a conference in Rotterdam, so booked a ticket through ORD to AMS. This one was a weather delay, so while waiting at SFO, I got off the plane and once again ran (there is a lot of running with United) to the customer service to make sure that I would be able to connect in ORD or to make other arrangements. I had left about 16 hours clear before I was supposed to be speaking to be on the safe side, and as it turned out I needed all of that.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">At customer service I was assured that all other flights out of ORD were similarly delayed so there was no problem. I double checked and they once again assured me there would be no trouble.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The flight had wifi, so half way through I decided to check the status of the outgoing flight to AMS.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">It was not delayed. </span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I missed it by 3 minutes…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Now weather can happen, but the point is I tried to recover with an alternative plan and was assured that everything was fine. There is really very little you can do in this situation apparently.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I did get an alternative through my phone moments after I missed the flight. The details were (I kid you not):</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">ORD to Houston! Later that same evening, then</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">EWR to Amsterdam the next day a flight that would have got me in too late for my talk.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">There was no flight from Houston to Newark in the automated alternative I got!</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I made my own arrangements, partly through my wife’s company - a commercial flight planning company, and partially through standing at the gate and explaining that I absolutely had to be there on time. Instead I worked out a route from ORD to LHR, then to Frankfurt and finally to Amsterdam. Certainly not an ideal flight, but at least it would get me there (barely) in time for the talk.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The LHR flight was then delayed for 2 hours with -- you guessed it -- mechanical delays (not weather - it was clear by that time). In fact whatever was wrong with the plane was serious enough that they had to swap planes.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I arrived so late into LHR that I was handed a direct flight on KLM to Amsterdam so at least someone must have heard that I absolutely had to be there by a certain time. Total delay was 12 hours though, very close to the 16 I had left as padding (and sleeping) time.</span></div>
<b style="font-weight: normal;"><br /></b>
<h3 dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 8pt;">
<span style="background-color: transparent; color: #666666; font-family: 'Trebuchet MS'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">SJC <-> GUC -- Feb 2014</-></span></h3>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Through Denver, this is a well known trouble-route for us - it can be weather so I always leave extra time for the connections. We left 97 minutes for the connection on the return flight (United offers connections as short as 40 minutes, we know better than to take those after a few years of doing this route).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Again mechanical delays plagued the incoming flight from DEN to GUC and the messaging was appalling. At one point we were told that the incoming flight was due to leave 15 minutes late. Almost an hour later, just when the plane should have been coming in to GUC, we got the next message that the plane was “finally in the air”. No other messaging in between those two. The flight crew showed up about 20 minutes after that, so clearly they knew the plane was very delayed, but no one at United saw fit to tell the customers.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">We boarded, and once again arrived late but with minutes to spare. We got to the gate at 3.22pm, the time of departure, and the gate was closed - there were 15 people that arrived at the gate as a group. The plane was sitting there but the door was closed and the gate attendant would not budge even with 15 of us there. As we waited the status display above the gate proclaimed that the flight in fact would take off 25 minutes late, delayed due to incoming flights! But they still didn’t let us on so I don’t know what kind of stats game was being played there.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I had booked for a group of us traveling together. The automatic rebooking had us flying out the next day, which would not work for the rest of the group (2 had kids to get back to, jobs for the rest, etc.).</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The gate attendant was pretty rude in that situation as well…</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In the end, 4 of the group booked Southwest flights out that night and just swallowed the extra expense. Jackie (my wife) and I took standby and after 2 other flights, got seated standby on the third (mostly because of my status I think). Upshot is that we were 5 hours late back to SJC.</span></div>
<b style="font-weight: normal;"><br /></b>
<h3 dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 8pt;">
<span style="background-color: transparent; color: #666666; font-family: 'Trebuchet MS'; font-size: 16px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In Closing</span></h3>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">On the three flights described here, I accrued 24 hours of delays reaching my ultimate destinations. There are other incidents I have had as well - last year United went through a phase of losing my bags, in fact they lost them 3 trips in a row at one point, and the customer service rep suggested I start flying with hand luggage only to avoid it happening again. Seriously? That’s your answer?</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">But ultimately, despite the fact that the last trip was a purely miserable 27 hour ordeal, one that was quite unexpected given my loyalty numbers with United, it comes down to the fact that I simply can’t rely on them to get me where I need to be on time. The crappy trip makes the decision easier, since I can’t imagine travel with another airline being worse than that even without platinum (or equivalent) status, so thanks for helping me make the decision United. </span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I also won’t miss running through airports, which seemed to be a startlingly common occurrence over the past few years (at no time was it my fault - well - OK it was one time, but I was flying southwest that time and I made it on the plane even though I was 2 minutes late - thank you Southwest!).</span></div>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">If anyone else wants my business, in particular if you are open to transferring status, I would love to hear from you. In the meantime, bye bye United flights, bye bye United credit cards and bye bye United club.</span></div>
Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-49915882540349226502011-02-04T21:45:00.000-08:002011-02-04T21:45:59.721-08:00Technology Refresh<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_Hhggc-tPH-4/TUzTP7VlOaI/AAAAAAAABLc/Lg2FMySv9Rg/s1600/newyearsresolution-300110.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="228" src="http://2.bp.blogspot.com/_Hhggc-tPH-4/TUzTP7VlOaI/AAAAAAAABLc/Lg2FMySv9Rg/s320/newyearsresolution-300110.jpg" width="320" /></a></div>Everyone makes new year's resolutions right? Well, probably not everyone, if truth be known, and I don't as a rule either.<br />
<br />
However, since the turn of the new year, I have effectively had a complete technology refresh, some of it planned, and some of it just because it needed to happen.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_Hhggc-tPH-4/TUzbhSXhS7I/AAAAAAAABLk/UGKWBtvfyHA/s1600/nexus-s1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/_Hhggc-tPH-4/TUzbhSXhS7I/AAAAAAAABLk/UGKWBtvfyHA/s320/nexus-s1.jpg" width="304" /></a></div>My first refresh was slightly ahead of the new year. I ordered a <a href="http://www.google.com/nexus/#">Nexus S Android handset</a> online the morning it came out, and got it delivered next day. I love it, although you can tell as a Nexus S owner, you are pretty much the beta tester for new releases of Android. This is true with Gingerbread as well - from glitches with battery life in Maps 5.0, through occasional (once a week) weird radio issues, to ringtones that seem to reset if you have to restart the phone. I hear an update is coming and I look forward to it, although in truth I am pretty happy with the package in spite of the occasional irritations - the good outweighs the bad by a lot.<br />
<br />
The next replacement was a casualty: my much loved but sadly much abused HP pavilion laptop. After a couple of years of pretty heavy duty, I managed to smack the screen after a presentation at a developer conference, and the screen developed a subtle but annoying glitch on the bottom of the screen. I took it in to a local repair place (ITM computing, by the way - they were highly rated on the internet, but they certainly screwed the pooch on my poor laptop - I would steer clear of them if I were you). Anyway, after they got finished with my laptop, the screen did actually work again, but now the bezel routinely separates from the rest of the screen. I no longer felt able to give it the same hard life it had before, so it was time for a new laptop as well.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/TUzZognYO6I/AAAAAAAABLg/LNE0zFPAbE8/s1600/ASUS-U43JC-X1-Body.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/TUzZognYO6I/AAAAAAAABLg/LNE0zFPAbE8/s1600/ASUS-U43JC-X1-Body.jpg" /></a></div>Instead of doing what I normally do, looking around for the best deal I can find at the time, I went instead for listing out the specs that I really wanted in a laptop, which included a long (8 hour) battery life, the best processor I could find (settled for a top of the range core i5 - very impressive performance) and portability. What I ended up with was an <a href="http://www.amazon.com/U43JC-X1-14-Inch-Bamboo-Laptop-Battery/dp/B003V4AK4I">Asus U43JC Bamboo</a> - a wonderful laptop - the best I have ever owned, which will give me a real 7-8 hours on battery, runs Linux well, has the fast processor, and as a bonus is very slick looking (my macbook owning friends can no longer poo-poo it as ugly as they typically used to do with my previous laptops). It's green too - a strong focus on recyclable materials both in the laptop and the packaging (the bamboo is real - many of the panels are made from the sustainable plant, and look amazing as well as being an eco-friendly choice).<br />
<br />
With amazon prime, I stumped up the extra three bucks to get it delivered next day (in time for the trip to the Codemash conference in Ohio). Total - $1003 - still about the same as the most affordable macbook you could get, and a much nicer spec as well as being a bit different.<br />
<br />
My <a href="http://usa.asus.com/ProductGroup1.aspx?PG_ID=7dDelmkESu9DXgVB">EEEPC</a> continues to live on, I swear it is indestructible. Despite being my workhorse for close to 3 years, being hauled around in my bicycle pack, packed in hand luggage or thrown around in a suitcase for more trips than I can count, being used with one hand while help by another, picked up by its screen on numerous occasions and many other indignities suffered, just like a timex it takes a lickin' and keeps on tickin'. That said, the EEEPC also received a technology refresh in the form of the excellent <a href="http://www.jolicloud.com/">Jolicloud</a> - an Ubuntu based operating system tailored for netbooks, with a nice integration between native Linux applications and web applications (strongly recommended if you are looking for a way to breath new life into your Netbook).<br />
<br />
The most recent addition to the new stack is a Google Cr48 ChromeOS laptop which I picked up yesterday, and already I am amazed by the versatility of applications available for it that (of course) run on the web (or "in the cloud" if you want to be all trendy). For example, I can use teamviewer or VNC on the web to remote into my workstation, write "distraction free", even offline, watch videos, listen to music, play books, create presentations, etc. etc. I can even edit source code (anyone with the Chrome browser should check out SourceKit for a pretty neat solution to editing source code that works with Dropbox and uses Bespin from the Mozilla project for the source code editing). For a simple, on the go, just get online and do stuff device, it really is quite compelling. Long term I suspect I may go back to the EEEPC running Jolicloud, but for the time being it certainly is fun to experiment with.<br />
<br />
Perhaps the nicest thing about my technology refresh is the way everything works so well together. The Nexus S, with T-mobile service, gives me both seamless USB tethering and a myfi (wireless hotspot). This works flawlessly and without setup with all of my devices. On Linux, I can plug in the phone via USB and get internet connection even while the phone is recharging. I can also go completely wireless with the myfi, and the kindle can connect that way as well. With a 2 hour train ride on the days I head in to the SF office, I can work the entire way, on the internet, listening to music and lost in the code. I am sure I could do this with a certain other technology stack, but it would also cost me about twice as much, for all the hardware and for the connection plan on the phone as well.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-49996547499687004052010-10-23T17:20:00.000-07:002010-10-23T17:20:43.529-07:00Apple Alternatives<a href="http://1.bp.blogspot.com/_Hhggc-tPH-4/TMN7KWer3hI/AAAAAAAABJ8/yE-EATL3hbk/s1600/oranges-vitamin-c-lg.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="250" src="http://1.bp.blogspot.com/_Hhggc-tPH-4/TMN7KWer3hI/AAAAAAAABJ8/yE-EATL3hbk/s320/oranges-vitamin-c-lg.jpg" width="320" /></a><br />
<div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">I have been an Apple computer fan for many years - in fact longer than most, through the (very) skinny times when the share price was junk and it looked like the future was dark indeed, if there was any future at all. I have owned macs since the very early models, fond memories of my venerable IIci still stick with me, I had a performa 6400 juiced up to the eyeballs with so much extra circuitry that it weighed twice as much as when I bought it. I have owned powerbooks, macbook pros, a macbook air, a mac book mini, an iPhone, an AppleTV (version 1) and those are just the ones I can remember.</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">Lately though, the shine has worn off. We have had a bit of a breakup, and like any really good breakup the blows seem to keep coming. From the Apple control over what I may run on my iPhone, through the abandonment of the AppleTV v1 (and the apparent expectation that like a good little customer I will come back for more and buy a v2), to the recent announcement that Java (the platform I have made a career around for the last 15 or so years and, continue to do so) will be deprecated on Mac OS X, it is clear that Apple's direction and my own no longer align even a little.</div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_Hhggc-tPH-4/TMN6-ozC6CI/AAAAAAAABJ4/ehjDmD574p0/s1600/applealternative-8-500x294.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="188" src="http://2.bp.blogspot.com/_Hhggc-tPH-4/TMN6-ozC6CI/AAAAAAAABJ4/ehjDmD574p0/s320/applealternative-8-500x294.jpg" width="320" /></a></div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">This leaves the question of what alternatives exist though. Even with the stifling level of control over my decisions exercised (on my behalf?) by Apple, I am honest enough to admit that, when you use it as recommended on the packet, Apple hardware does work very well indeed. For example, the AppleTV, iPhone and Mac Mini combination formed a very slick (if pretty limited) entertainment and multimedia back bone, the experience gave a nice portable remote control through the iPhone interface, the media selection available over the oh-so-silent mac mini (always running) and the AppleTV connected to the TV and audio receiver in the front room filling the house with sound (and sometimes movies, rented from Apple - that side of AppleTV always worked nicely, but it was a bit of a one trick pony).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">Apparently I am not the only one thinking along these lines. <a href="http://gizmodo.com/5431521/the-best-alternatives-to-every-apple-product/gallery/"><span style="color: blue; text-decoration: underline;">Gizmodo</span></a>, <a href="http://www.pcmag.com/article2/0,2817,2361541,00.asp"><span style="color: blue; text-decoration: underline;">PC Mag</span></a> and <a href="http://www.google.com/search?client=ubuntu&channel=fs&q=apple+alternatives&ie=utf-8&oe=utf-8"><span style="color: blue; text-decoration: underline;">others</span></a> offer plenty of reading on the matter. What follows is my own list of alternatives in use right now as alternatives for the way I used the Apple products in my life. I will start with the easy ones first.</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 16px; text-indent: 0px;"><span style="font-size: x-large; font-weight: 600;">Work / Home Computers</span></div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">This is dead easy - for almost as long as I have been a mac fan, I have been a Linux fan (indeed, I have been a unix user much longer). <a href="http://www.ubuntu.com/"><span style="color: blue; text-decoration: underline;">Ubuntu linux</span></a> has come on in leaps and bounds in recent releases and on most of my work machines I have been developing in Ubuntu for several years, in fact I stopped buying mac laptops some time ago in favor of more powerful, less expensive alternatives that run Linux well, and have been perfectly happy. I hear all the time how desktop linux is still too hard for regular people to use (usually from friends who are actually developers) but I wonder how many of them have actually tried? For me, Meerkat (the latest version of Ubuntu) is wonderfully friendly, super easy to install, lightning fast to use (especially on much faster hardware that often costs half of what the Apple alternative hardware does) and in recent incarnations, quite pretty as well.</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">So this one is easy - commodity PC hardware running Ubuntu Linux. As a bonus, the Java platform works superbly on Linux, and will continue to do so. What is new is that I have begun stripping Mac OS X off of my remaining Apple computers and replacing them with Linux (which works just fine with the hardware and also makes the boxes feel faster than under OS X). This future-proofs these computers beyond the useful life they would otherwise enjoy (once Java starts falling behind or is removed from the Mac OS completely). It goes without saying that Linux allows me to do much more with these machines for their uses here, for example I can share any directory across my home network easily, on any protocol (Mac OS X restricts the directories you may share using, for example, Windows file sharing protocols, unless you buy the server version of OS X - Linux of course has no such restriction - very useful for sharing my large music collection that is kept on an external drive with all of the machines and devices in my house).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 16px; text-indent: 0px;"><span style="font-size: x-large; font-weight: 600;">iPhone</span></div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">This has been covered already on my blog, but several months ago I switched to Android (a Nexus One device on T-mobile) and have never looked back. I won't rehash in great detail, but the Nexus One does quite literally everything I used my iPhone for and a lot more, including Google latitude updates constantly running in the background (so that Jackie can see where I am and how long before I get home in the evening, with no effort necessary on my part), integration with Google voice that even seamlessly takes over international calls and charges me 2c per minute through the Google voice plan when I dial to the UK direct, tethering and wifi hot spot included in the regular T-mobile plan and probably a whole bunch of other stuff I take so much for granted now that I don't even think about it (note that I can even tether my Kindle to the Nexus One wirelessly and download books and content anywhere, same with my netbook or laptop).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 16px; text-indent: 0px;"><span style="font-size: x-large; font-weight: 600;">Recording studio</span></div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">For a long time the Apple Mac Mini has been the computing cornerstone of my home recording studio (used to record the <a href="http://javaposse.com/"><span style="color: blue; text-decoration: underline;">Java Posse podcast</span></a></div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">It still is, but now it runs Ubuntu! Making the switch was dead easy, and the result is a Mac Mini that runs faster, cooler and more reliably. It will no longer talk to my stock AppleTV (which is one of the reasons I modded the AppleTV - more on that later), but it does serve as the backbone for my home multimedia system too, and as a bonus makes all of my music available to me anywhere in the world where I have an internet connection. <a href="http://www.skype.com/"><span style="color: blue; text-decoration: underline;">Skype</span></a> runs just fine on Linux for video conferencing, pulse audio in recent versions of Linux gives a more flexible alternative to Apple's core-audio for recording purposes (it's like using Mac OS X with audio hijack built in), and Ubuntu has had its own app-store (called Ubuntu Software Center) for a few years now which makes finding and installing software a breeze (and removing it without trace similarly easy too).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">As well as the Mac Mini works with Ubuntu though, I probably won't buy another. Options like the <a href="http://us.acer.com/acer/productv.do?LanguageISOCtxParam=en&kcond61e.c2att101=89850&sp=page16e&ctx2.c2att1=25&link=ln438e&CountryISOCtxParam=US&ctx1g.c2att92=450&ctx1.att21k=1&CRC=3906131842"><span style="color: blue; text-decoration: underline;">Acer Aspire Revo</span></a> (roughly the same power, much less expensive) or the <a href="http://www.system76.com/product_info.php?cPath=27&products_id=95"><span style="color: blue; text-decoration: underline;">System 76 Meerkat Ion</span></a> (still less expensive, much more power) offer far more bang for the buck. I will keep the Mac Mini for a while and then replace it with something like these machines (or whatever is available that's even better at the time).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 16px; text-indent: 0px;"><span style="font-size: x-large; font-weight: 600;">Home Entertainment</span></div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">This was the big one to work out. As mentioned, the combination of iPhone, AppleTV and Mac Mini made a slick, if pretty limited, home entertainment system with nice features like genius playlists, remote control from the iPhone, access to my whole music library and so on. Once I got rid of the iPhone and converted the Mac Mini to Ubuntu, the AppleTV was not a lot of use (Apple does not allow the AppleTV to connect to any other kind of server than iTunes, through use of a closed API).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">The first thing to do was to <a href="http://www.iclarified.com/entry/index.php?enid=1959"><span style="color: blue; text-decoration: underline;">jailbreak the Apple TV</span></a> and install <a href="http://www.boxee.tv/"><span style="color: blue; text-decoration: underline;">Boxee</span></a> on it. This alone made the AppleTV ten times more capable than it ever was in stock form, allowing things like Pandora, Hulu and many other internet sources of entertainment to be used from the box. It also meant that the box could once again see my entire music collection over the network from the Ubuntu mac mini. Playback of web flash content is even possible, although the horsepower is not quite enough to make it super smooth (it will do at a pinch if you just want to catch up with an episode of something you missed), however alternative internet content that uses one of the formats it understands natively (h264 for example) play back very nicely, so sources like CNet TV and Revision 3 work brilliantly. Music playback of Pandora, Live 365 and many others are flawless too.</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">I then picked up an old <a href="http://soundbridge.roku.com/soundbridge/index.php"><span style="color: blue; text-decoration: underline;">Roku Soundbridge</span></a> and installed <a href="http://www.mysqueezebox.com/download"><span style="color: blue; text-decoration: underline;">Logitech's Squeezeserver</span></a> to drive it (the Roku can emulate a squeezebox, although I would recommend people looking to do this look into the real <a href="http://www.logitech.com/en-us/speakers-audio/wireless-music-systems"><span style="color: blue; text-decoration: underline;">Squeezeboxes</span></a> as well, since they can do some tricks like sync with one another in different rooms to provide seamless entertainment throughout the entire house - I love the Roku but I will probably upgrade at some point).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">Remote control from the Nexus One is also possible, using an app called <a href="http://www.squeezecommander.com/"><span style="color: blue; text-decoration: underline;">SqueezeCommander</span></a> which I have to say is every bit as slick and easy to use as the iPhone Apple Remote was.</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">The result, between Ubuntu, Roku Soundbridge and SqueezeCommander is a home entertainment backbone that is every bit as nice to use as the Apple stack was, and can do a whole lot more besides (like playing BBC radio streams for example). Genius playlists were a little tricky until I found the <a href="http://musicbrainz.org/doc/MusicIP"><span style="color: blue; text-decoration: underline;">MusicIP</span></a> plugin for Squeezeserver (yes - it has plugins that are easily installable from the web UI - much like an app store you might say :-) ). In truth, this was a little fiddly to set up, and I would say there is an opportunity for an even easier genius playlist plugin for squeezeserver, and maybe there will be in time. On the upside, MusicIP is more configurable and seems to produce better mixes than Apple's Genius (I don't think I will be the only one to notice that certain tracks *always* seem to get played in Genius no matter what the seed song - it just doesn't feel quite random enough, and of course you can't change that - on MusicIP of course, you can change it to your preferences).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 16px; text-indent: 0px;"><span style="font-size: x-large; font-weight: 600;">Final Thoughts</span></div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">There are other advantages to choosing alternatives to Apple. For one, you start getting out of the "it must work with Apple" mindset. For example, earlier in the year we picked up an HD Tivo, which actually looks like it might be the one box that can unify the video media experience in the front room. It can also stream movies found on the network (using a Tivo server that runs on Linux and scans your machine for videos which the Tivo can then see easily). If Tivo can just work out some kind of deal for Hulu content, they would indeed be the one box.</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">Likewise the Google TV looks very interesting, and has the advantage of integrating very well with my Android phone. Since the new AppleTV 2 will be pretty much useless with my current setup (since nothing else in the house uses Apple now), it is much more likely that we will pick up the Google TV at some point, and I have much more confidence that it will continue to work in a heterogeneous environment and continue to be supported (not to mention that it already allows third party apps to run).</div><div style="-qt-block-indent: 0; margin-bottom: 12px; margin-left: 0px; margin-right: 0px; margin-top: 12px; text-indent: 0px;">It's also worth mentioning that pretty much every alternative device in use is running Linux. From the Tivo, through the Roku soundbridge, to the Nexus One, Linux has arrived, it's already everywhere, and indeed it really is the alternative to Apple.</div>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-61058525649081570712010-04-24T19:56:00.000-07:002010-04-24T19:56:43.365-07:00Switching to Android: Part 2 - Apps<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_Hhggc-tPH-4/S9ORWFqbXGI/AAAAAAAABI0/mg3SwfDKihA/s1600/image.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/_Hhggc-tPH-4/S9ORWFqbXGI/AAAAAAAABI0/mg3SwfDKihA/s320/image.jpeg" width="179" /></a></div>In the second part of my Switching to Android series, I am going to talk about the apps, including my own (see left - I just uploaded Andro Flubber to the marketplace where people can download it for free).<br />
<br />
Apps were probably my biggest hangup with switching to Android, at least now that the hardware is (in the case of the Nexus One at least) slick enough to feel good in use. Apps and the fact that almost every music appliance we have at home has an iPod/iPhone connector on it anyway - more on that particular hangup another time.<br />
<br />
So, when I got the Nexus, my first task was to find apps, in some cases equivalents to those I was already using on the iPhone, and in other cases, new apps that you can not get on the iPhone for various reasons (often because Apple doesn't let them through the approvals process).<br />
<br />
Let's take a look at some of the app equivalents for those I used heavily on the iPhone first:<br />
<ul><li>Music and multimedia apps: I came to rely on music applications like Pandora, Last.fm, various internet streaming radio and of course the built in music player on the iPhone. Happily there are equivalents for all of these in Android, and they work better (for one thing, they continue to play music when you switch to another application). I currently have installed on Android: Last.fm (with scrobbling for music you play in other apps too!), Pandora, XiiaLive, Slacker, Listen (for podcasts, includes background downloading), bTunes (a replacement player for music on the SD card) and RadioTime. There are many more, perhaps I am missing some good ones, but these have all my uses covered.<br />
<br />
</li>
<li>Next most used on iPhone was eReaders, in particular Stanza. Sadly there is no direct equivalent for Stanza yet (this is an area where Android is definitely behind right now). Aldiko and WordPlayer are both excellent reading apps, but they don't have the content deals worked out with fictionwise, books on board and others right now to be able to purchase and download books, and as much as I like reading classics, I like reading bestsellers too. eReader.com lets you buy books and has an application for Android, but it's a bit clunky - nowhere near as slick as Stanza. Kobobooks is looking hopeful too, but their reader is so immature as to be unusable (for example, it goes back to the beginning of the book each time unless you remember to bookmark it before closing the app - heaven help you if a call comes in and you forget). If Aldiko can get some content deals, or Kobobooks can improve their player, or if (as I hope) Stanza gets in on the act, it will be a great solution. For now, Android gets a C+ for effort, but eReading is something I used my iPhone for a great deal. One little bonus though is that WordPlayer will read the books out to you using text to speech - a neat feature, but of course not for best-sellers just yet.<br />
<br />
</li>
<li>Next up in my list of importance is Navigation/Maps. Android is almost universally ahead here. Of course, there is the killer feature - turn-by-turn directions in Google maps (with voice, street view, etc.) but in addition there is Latitude (which was rejected by Apple). Latitude on Android rocks - it updates my position for my friends to see in real-time if I turn it on (on the iPhone, you have to visit the web page to get your position updated). Layar is another great app - overlaying the world with virtual labels for all sorts of data. MultiMap and OruxMaps have great support for OpenStreetMap data (including OpenCycleMap), and finally Google's My Tracks rounds out my favorites - tracking and recording of your rides, runs, hikes, etc. with full altitude profile and trip statistics available. Google places directory gets an honorable mention too - see what's around you - I don't use it much, but it's useful sometimes.<br />
<br />
There are a couple of disappointments though. Surprisingly, Google Earth is better on the iPhone (no reason for it to be that I can tell, it just is - e.g. no tilt with accelerometer support on the Android one), and another app I used a lot on the iPhone - everytrail, lags significantly in features (on the iPhone it lets you search for nearby trails and download them to follow, on Android it is record and upload only!).<br />
<br />
</li>
<li>Communications next - in particular messaging. Google talk is built right in to android and has background notifications, Hi AIM is a free (at least for now) AIM client that has background notifications too, and there are many other options. The GMail app is easily the best mobile gmail application I have seen. Twitter is well served - everyone knows seesmic, but I have actually been using (and slightly preferring) Twicca myself. Google voice is built right in too - wonderful online service and wonderfully integrated into Android (for example, I can choose to have just international calls routed through Google voice automatically, and it also doubles as my visual-voicemail option). Foursquare has an app that is the equivalent of the iPhone one, and the facebook app that comes with Android works just fine. Android is again ahead here in my judgement, just because of background processes and the freedom of applications to make it onto the platform :-).<br />
<br />
</li>
<li>Productivity and other assorted items: the only real hole here for me is, strangely enough, Google tasks. Just like the iPhone there is the online mobile targeted site, and that works fine as long as you are online, but I was surprised there was no local app that your todo list synced to on Android, hopefully it is in the works (as I tend to live and die by gmail, calendar and my tasks list). Calendar is fine (although I feel it could do with a UI makeover), syncing to the google calendar is perfect so far, and as I mentioned above it has the best mobile gmail app I have seen, but the lack of offline tasks, as well as features like location awareness for tasks, is a hole. For notes, there is evernote, wikinotes (I had to mention it) and many others, News and Weather built in options are good, but there is also the Weather Channel app which is worth a look.<br />
<br />
In the other assorted items category, Shazam is available (thank goodness) and works as expected (if you don't know, Shazam listens to music playing somewhere and tells you what it is). The integration with the Amazon music store is good for impulse buys too :-). Google shopper is nice for sanity checks while shopping. Photo management also shines - the ability for new services to register themselves as send options means that you can install flickr uploaders that work with all apps capable of sending a photo, or send it via twitter or IM, etc. Very slick.<br />
<br />
</li>
<li>There are also some apps for which there is simply no equivalent on the iPhone, at least not yet. For example Goggles - which is like Shazam for images (take a picture, tell me what I am looking at). I mentioned My Tracks already, and turn by turn directions in Google maps. Listen - mentioned in multimedia, gives a real podcast client - one that actually just automatically downloads podcasts directly to the phone so that they are available for offline listening whenever you want. SqueezeControl gives me remote control over my squeezebox (there might be something to do this on the iPhone but I didn't think of looking before), and there are neat system features that I didn't have on the iPhone, for example I can see exactly where the power has gone since the last charge (display, apps, phone radio, background file downloading, etc.) and use it to find the battery hogs.<br />
<br />
</li>
<li>I should mention games too. I am not a huge game-player, so this is lower on my list, but it is also a domain where Android is weaker than the iPhone. I was actually quite addicted to Words with Friends while I was using the iPhone, but there is no Android version so I have had to kick the habit. I do have frozen bubble, and a couple of other puzzlers on there, and I also have Shortyz - a kick-ass crossword game written by my friend Robert Cooper, which is slick and almost perfect (will be perfect when it has cryptics available).</li>
</ul><div>So, all in all pretty good, with some concern over gaming - there are good games of every genre to be had, but they are not as numerous as on the iPhone, and many are not as recognizable (you don't see many licensed games, for example Shrek Kart on the iPhone). Perhaps Google should consider some gaming stimulus money, or at the very least a few "gaming on Android" articles to publicize some of the more polished options out there.</div><div><br />
</div><div>However, there are a few things that are not so great with the apps story: </div><div><br />
</div><div>The top of my list is that you can't install apps onto the SD card still. This was a limitation when I was working as an Android advocate at Google, fully a couple of years ago now, but I can't believe it hasn't been rectified yet. This means you are resource limited by the available main memory on the device, 512 megs in the case of the Nexus. It's pretty easy to fill this up when you like apps as much as I do. Cyanogenmod (which I have now installed) does let you install apps on the SD card, but this is hardly a consumer level operation (rooting and re-flashing your phone is a pretty scary operation when you actually own the phone and have to pay for a new one if you mess things up).</div><div><br />
</div><div>Games seem to be an area where Apple is well ahead. This is less important for me to be sure, but it's going to be a big factor for a lot of people. I think the games situation is complicated by the SD card issue, since games tend to be big, and that will eat up a lot of the available internal memory. Some games designers have worked around this by downloading a big glob of data when you first run it - less than ideal but it works around the limitation. Even so, the glossy games market on the iPhone is a big draw.</div><div><br />
</div><div>The polish is also just a shade less impressive than the iPhone. By way of an example - the headphone remote control (the button on the headphones that can be used to pause, and skip, music playback). It works with other applications, just like on the iPhone, but the whole thing can get a bit confused with multiple music applications running. The way I would expect it to work is that the last music app to play, or the one currently playing, will get the headphone button click event and act on it. In practice, it seems to be a complex enough outcome that it seems kind of random exactly what will happen - instead of the podcast pausing, the music player will start playing over the top, or my audio book will carry on from where I left off. As a programmer, I know these details are a real pain in the butt to get right, but as a consumer I want it to just work. Apple is good at that in spite of (or perhaps because of) their other issues (for example, an over developed sense of control :-) ).</div><div><br />
</div><div>Alright - enough downers, let's get upbeat again.</div><div><br />
</div><div>The biggest plus, and this is huge, for Android applications is that I can write my own. Sure I could theoretically write for the iPhone if I wanted to abide by the following restrictions:</div><div><ul><li>Sign up and pay $99 for the privilege (Android market costs $25 to register, but you don't even have to pay that just to write and distribute software unless you want to go through the market)</li>
<li>Agree to some truly heinous restrictions about development, like having to use a blessed language (C, C++ or Objective C), Apple having full rights to allow or block anything I write for pretty much any reason they choose (they blocked Latitude and Google Voice apps for reasons yet to be disclosed, etc.)</li>
<li>Develop on a Mac. I am a Linux developer, I like it that way, and I like to develop on Linux. Android development just works on Linux, it's dead easy, quick and I can use my existing skills rather than learn a whole new set of stuff which only works on one very close platform</li>
<li>Agree not to talk about the Apple developer agreement ever (this is a condition of becoming an iPhone developer). Since I co-host the Java Posse and I hate any attempt to control what I can talk about there, that simply isn't likely to happen</li>
</ul><div>So, since I don't want to do any of these things, I am going to develop for Android, and it's dead easy. I actually just finished my first application for Android in 2 years - Andro Flubber. I actually ported this useful utility to Android when I was at Google, but never completed it and lost the source code in the intervening years, so I sat down and did it again.</div></div><div><br />
</div><div>It took me about 2.5 hours from new project to running app, and maybe an extra 2 for some polish and extra features (like sound, custom background image, etc.). I have since put the source code up on github, and the application up for free on the Android market. The details are:</div><div><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/S9OrkPJGlnI/AAAAAAAABI4/cdF_m9L92sw/s1600/chart.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/S9OrkPJGlnI/AAAAAAAABI4/cdF_m9L92sw/s1600/chart.png" /></a></div><div><b>Name</b>: Andro Flubber (not the best name, but I had to call it something) - a Flub is a mistake in recording, therefore flubber tracks mistakes, and Andro for Android.</div><div><br />
</div><div><b>Description</b>: marks mistakes on a timeline while recording a podcast, and then emails you a list of the mistakes in the audacity bookmarks format, so you can see where they are in post-production and edit them out.</div><div><br />
</div><div><b>Source Code</b>: available from github at <a href="http://github.com/dickwall/AndroFlubber">http://github.com/dickwall/AndroFlubber</a>, not exemplary yet (I should sprinkle in a comment or two, probably some best practices not being observed), but it works and can be improved on. I chose to theme it with the Java Posse logo and put in some other features specific to the podcast, but you can fork the code and customize it yourself if you desire.</div><div><br />
</div><div><b>App on Marketplace</b>: You can use the barcode scanner on the 2d barcode above to download it, or just go to <a href="http://apps.doubletwist.com/Andro-Flubber/-5965901916352705395">http://apps.doubletwist.com/Andro-Flubber/-5965901916352705395</a> or look for Andro Flubber on Android Market from your phone. Right now it requires Android 2.1 - this is just cos I need to download and verify with earlier versions of the API which I will do in due course, but for now I just wanted it to get out there.</div>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com1tag:blogger.com,1999:blog-23834917.post-3083219058938239682010-04-17T17:59:00.000-07:002010-04-17T17:59:00.847-07:00Ride through Marin Headlands to the Pub<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/S8j0SsPB4lI/AAAAAAAABH0/y5b0EFc4kEM/s1600/2010-04-16%2011.51.42.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/S8j0SsPB4lI/AAAAAAAABH0/y5b0EFc4kEM/s320/2010-04-16%2011.51.42.jpg" width="320" /></a></div>This weekend, I start my 40th circumnavigation of the Sun. To celebrate (in part - still some celebrating to do yet) Jackie and I took the day off work and rode through Golden Gate national recreation area (Marin headlands part) from the visitor center up to the Pelican Inn in Muir beach, had a nice lunch, and then rode back again.<br />
<br />
If you haven't been to this amazing area, the mountain bike trails through it are challenging, strenuous and scary in parts, and they are pretty epic. By the end of the day, I was getting pretty good at bunny hopping over smaller ditches (there have been a lot of channels cut by the very wet winter), I must admit that I took the "discretion is the better part of valor" angle with some of the bigger ditches though - I could have probably made it, but failure would have been painful. About half of the ride was on fire roads and half on single track, including a very scenic and pleasant climb back up to the highest point of the ride on the way back from the pub (this particular trail you can only climb, not descend, and when you see it it makes sense why).<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/S8jz17yUCjI/AAAAAAAABHo/sgbHgKWNz_g/s1600/2010-04-16%2014.45.40.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/S8jz17yUCjI/AAAAAAAABHo/sgbHgKWNz_g/s320/2010-04-16%2014.45.40.jpg" width="320" /></a></div>The stats on the ride were (for both directions): about 19 miles total, 3300 feet of elevation gain, 3 hours of actual riding time, 4 hours in total out on the trail (yes, we stopped for photo and rest breaks a fair bit).<br />
<br />
This was only Jackie's third serious mountain bike ride, and it was pretty tough going (more than I thought it would be) with some downhills that had me a little concerned (it wasn't the hill, it was the huge water runoff channels that had sunk into the trail that made those very steep downhills a bit alarming). The climbs were pretty tough at times as well - 3300 feet is a lot of climbing in one day, at least for us.<br />
<br />
For those interested, the pictures taken for this posting were from the Nexus One, which I also used to record the entire trip in both directions using the My Trails application (which worked flawlessly, and the whole 3 hour trail recording used about 25% of the battery in the nexus one, implying to me that I would run out of batteries before the new gizmo did, most likely).<br />
<br />
For those interested, the tracks of <a href="http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=115300246449259265223.00048462fd2c4c7059331&ll=37.847613,-122.546654&spn=0.053272,0.110378&z=13">the ride out</a> and <a href="http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=115300246449259265223.0004846301e804b65f8fa&ll=37.847522,-122.546484&spn=0.053272,0.110378&z=13">then back again</a> are on my Google maps. If you want to know more about the route, you can download KML files (for Google Earth) right from the trail map pages. We went in and out on the same route for the most part (except from the first climb after lunch at the pub). This was partly because the trails you can bike on are limited in the park (many are hike and/or horse only). In truth, this wasn't really an issue - the trails actually did seem quite different in each direction, perhaps next time we would try and weave Bobcat trail into the return route or something like that though.<br />
<br />
The Felt (new mountain bike) performed admirably and demonstrated that the limitation is the rider now and not the bike :-). Jackie did really well considering her husband made her do a pretty serious ride for only her third time really mountain biking. The various devices estimated about 3000 calories burned so we had a damn good meal last night, and a whole bottle of wine between the two of us (plus a couple of glasses at the hotel we stayed at to get the evening going).Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com1tag:blogger.com,1999:blog-23834917.post-64258529584058115702010-04-10T21:28:00.000-07:002010-04-10T21:28:02.632-07:00Switching to Android: Part 1 - Introduction<div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_Hhggc-tPH-4/S8FEytCSvzI/AAAAAAAABHk/TXF3QWP-S8A/s1600/google-nexus-one.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/_Hhggc-tPH-4/S8FEytCSvzI/AAAAAAAABHk/TXF3QWP-S8A/s320/google-nexus-one.jpg" width="192" /></a></div>The other day I was lucky enough to get a nexus one for gratis. Actually, strictly speaking it was for writing an application for Android called WikiNotes (I wrote it in my spare time while working for Google as an Android Advocate - it was intended to demonstrate how intents and the android application lifecycle worked, but ended up being a pretty useful app). When I left Google, Dan Morrill kept up the development of the app and submitted it to the android marketplace where (from reports) it has done reasonably well. Anyway, just a few days ago I picked up my shiny new Nexus One - a nice, but unexpected, reward (maybe some karma catchup?).<br />
<br />
I decided that I would write up my experiences of switching to it from the iPhone 3G that I have been using for the past 18 months, and I intend to be honest, both with praise and criticism, as I switch to the new device (which I will be doing - I have already decided that much).<br />
<br />
The Nexus One came to me at a good time. I have been becoming less and less satisfied with the iPhone, primarily because I use it so much and the seemingly small limitations that Apple imposes on how I may use their device have grown over time into much more serious impediments. I will cover these limitations in detail as this series goes on, and discuss how Android improves on them (or in some cases doesn't! Life is not perfect in the Android world either, but it is better).<br />
<br />
So let's start with a few of the higher level niggles with the iPhone. Of course, top of the list is lack of background applications. For a multimedia device, inability to keep applications like pandora or last.fm running in the background is extremely irritating. I jailbroke my iPhone to get around some of this, and could after a fashion listen to Pandora when replying to an SMS for example, but it all relied on me enabling backgrounding for that app, and it was far from a smooth user experience. Apple just announced that backgrounding was being added to the 4.0 iPhone OS, which is great, but apparently not for older devices like mine because they can't do it. Ummm, yeah, actually they can on jailbroken devices, and I am sure apple could make it smooth if they wanted to, regardless - I am out of that scene now.<br />
<br />
Another one is that my battery life is nowhere near where it used to be. This is not due to jailbreaking (it has been that way for over a year), but more to do with the service cycle of Li Ion batteries, and the fact that they don't hold their charge in the same way after a year or two. Not a problem in most phones, but of course I can't just take out the battery and replace it with a fresh one. That's just lame, and I didn't realize how annoying it is until now. I could take it into an apple store to get it changed, but really, why? Why can't I just put a new one in myself?<br />
<br />
So - enough of the iPhone, for the rest of this blog posting I am going to stick to my first impressions of the Nexus One. More details will be in future postings.<br />
<br />
The Nexus One is the first Android phone that (in my opinion) measures up to the build quality and overall slickness of the iPhone (don't get me wrong - control-obsession aside, Apple did put together a marvelous device). The Nexus One is what android devices should have been all along.<br />
<br />
The device is slim, slick and feels well built. It has an easily replaced battery, easy access to the SIM card, and a micro SD card slot with a 4G card provided with the device (but capable of taking 16G or maybe even 32G in the future). Easily replaceable storage. A nice feature (especially for large or varied media collections).<br />
<br />
The first stumbling block was the connector. I had expected the now-defacto standard mini-USB, but it was something different - what turned out to be a micro-USB. Apparently this is the wave of the future, but the future does not yet seem to be here - a check at Target for example shows a ton of mini-USB chargers and cables, but nothing micro-USB yet. It wasn't hard to find some inexpensive converters at amazon.com though: <a href="http://tinyurl.com/y8g7rxs">http://tinyurl.com/y8g7rxs</a> so I ordered a couple for all of my power chargers and cables that already use mini-USB.<br />
<br />
The battery life is, as everyone seems to say, pretty much the same as the iPhone. The gauge is a little more honest (my iPhone reported itself as fully charged for half of the day, then started dropping quickly, while the Nexus One seems a little more linear in its estimations). One nice thing is that road warriors or power users can put in a <a href="http://www.googlenexusoneaccessories.com/nexus-one-mugen-battery-9811.html">double capacity battery</a> (with a bulging battery cover to match). This will spoil the sleek looks, but it's a flexibility that iPhones can only get with awkward external battery pack options.<br />
<br />
Here are a few more high-level things I have noticed about the Nexus One compared to the iPhone:<br />
<br />
<ul><li>Audio quality through the headphones is at least as good as the iPhone, the included headphones sound fine but are a bit less comfortable than the white iPhone standard ones - either way, much higher quality sounding headphones can be found (I like koss personally)</li>
<li>Mysteriously, the maximum output from the Nexus is lower than that possible on the iPhone - I am not sure if this is because of some kind of effort to prevent hearing damage. Several third party apps drive the volume much higher, so clearly it is not a hardware limitation</li>
<li>The speaker built into the nexus one sounds more tinny than the iPhone - this includes the ringer audio sadly</li>
<li>The mic is phenomenal, eliminating almost all background noise, and this translates to much more clarity when speaking to people, and might explain some of the eerily accurate speech recognition that the phone is capable of</li>
<li>The animations are slightly more jerky than the iPhone, for example list scrolling or app-starting, but not bad by any means. The overall speed seems much higher than my 3G (although the 3GS is probably as fast). It does feel nice and snappy in use</li>
<li>The screen is amazing - high resolution, smooth fonts, vivid colors</li>
<li>Multi-touch works well, and typing on the soft keyboard is familiar from the iPhone and just as easy</li>
</ul><div>There is, of course, plenty more to say, but I think that's good for part 1. In the next blog posting, I will take a look at the applications I used most on the iPhone, and their equivalent (or lack thereof) for Android.</div>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com1tag:blogger.com,1999:blog-23834917.post-29721713385962812692010-04-01T14:14:00.000-07:002010-04-01T14:14:53.346-07:00The universe and many faces of the Doctor<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">I have been meaning to write this article for a while now, I was even going to do a lightning talk about it (or something related) at the recent <a href="http://www.mindviewinc.com/Conferences/JavaPosseRoundup/">Java Posse Roundup 2010</a> but I ended up giving up my slot because of the numerous other interesting talks in waiting there. Finally I will get my thoughts out there about <a href="http://www.bbc.co.uk/doctorwho/dw">Doctor Who</a>. This is a timely blog post because the new Doctor is about to start his journey this weekend.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">I initially had the idea to write this during the excellent <a href="http://codemash.org/">Codemash conference</a> earlier this year. One of the openspace sessions there was titled something like "Doctor Who: The End of Time - a.k.a. the saddest thing I have ever seen on TV". That got me thinking, there is some kind of disconnect here. Sure, it was sad to see David Tennant's Doctor regenerate, and the whole thing was handled tastefully and sympathetically, but I didn't find it that sad, in fact I look forward to what's next.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">I believe the difference is that, being English, I grew up with the Doctor, and not just one Doctor, but many. David Tennant (who did a fantastic job playing the Doctor) is the tenth person to do so:</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><a href="http://2.bp.blogspot.com/_Hhggc-tPH-4/S7UAo7vGg_I/AAAAAAAABHY/JUBhEvTqr9k/s1600-h/Screenshot.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/_Hhggc-tPH-4/S7UAo7vGg_I/AAAAAAAABHY/JUBhEvTqr9k/s320/Screenshot.png" width="266" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">These are the (now 11) faces of the Doctor. I first started watching the series with Jon Pertwee (the third face here, sort of strict and matter of fact, slightly pompous and very clever) back when he was stranded on earth, the TARDIS couldn't travel, and he had a flying car (he was attached to UNIT as a special advisor during this period of Doctor history). He was replaced by Tom Baker (zany, long scarf and curly hair, and with a love of jelly babies), and for me Tom Baker will always have a special place as "the" doctor, since those were my most formative "doctor" years.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">I remember the sadness when Tom Baker regenerated. Time Lords can escape death by regenerating when the damage to their bodies is too great. Regenerating brings a new physical form and a new personality for the Doctor, while retaining all the memories of the former incarnations. This allows the new actors to take the character in different directions, and play to their own strengths and personalities, without which I believe the role would get stale and unpopular with new actors.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Tom Baker though was replaced by Peter Davidson who took the role in a new direction, that of a "very English" cricket loving gentleman who was very caring and somewhat bumbling when it came to technology (like control of the TARDIS for example). It was then that I realized how the changing faces of the Doctor kept the role interesting and the series alive and new. It is not healthy for the same actor to play the Doctor for too long, however much you love their portrayal, because eventually it will harm the story telling.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">After a few years, Peter Davidson gave way to Colin Baker, again there was sadness in the transformation, but this time for me there was also curiosity to see where the story would go next. At first I really didn't like Colin Baker in the role - he took a new approach to the doctor, very arrogant and blustering, but he won me over in time and has become a firm favorite (even now in the audio adventures - more on those later). His arrogance was nicely tempered with a tendency to be quite wrong about things, and this brought his portrayal back into the sphere of human fallibility, and made it accessible (yes, I know the Doctor is not human, but in some ways he is a model for the way I wish humanity was).</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Colin Baker was then superseded by Silvester McCoy who played the role until (it looked like) the end of the series in 1989. Silvester's portrayal had elements of a kindly but strict wise old grandfather figure, and also a kind of "universe weariness" of seeing too much evil in the universe, but at the same time some incredible understated bravery and some pretty epic decision making.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">In 1996, Fox, Universal and the BBC collaborated for a made for TV movie, where the baton was passed to Paul McGann. The TV movie it was hoped would pilot in a new series but this never happened, and most people assume that this was the only outing Paul McGann got in the role. To appeal to a more american audience, McGann's Doctor was a little less thought and a lot more action (at least in the movie), the action vs. thought side has been played down in the Big Finish audio productions, where McGann's Doctor has had some of the most epic adventures of any of the doctors and has been quite prolific. McGann's Doctor is perhaps one of the most admirable and heroic even so, willing to sacrifice everything for what is right, and both thoughtful and non-judgmental. One of my favorite performances.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">When the series came back to TV in the mid 2000's, Christopher Eccleston had taken over (we never saw the regeneration of McGann to Eccleston - at least not yet). Chris Eccleston only did one season, but was very memorable and fun in the role. In the intervening time it was revealed that the Doctor had brought about the end of the great time war, eliminating the Daleks but also his own people (the Time Lords) in the process, leaving him with great sadness and personal demons, but continuing to fight the good fight. He made a good doctor, and even better, because we never saw the transition of 8 to 9th Doctors, there is ample chance to fill in that gap - something that is rumored for a big screen movie that may or may not happen - this would give both McGann and Eccleston another outing in the roles, and is something I would love to see).</div><div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><a href="http://1.bp.blogspot.com/_Hhggc-tPH-4/S7ULeZSwtNI/AAAAAAAABHc/L-imGYq_IBc/s1600-h/tardis-tennant.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/_Hhggc-tPH-4/S7ULeZSwtNI/AAAAAAAABHc/L-imGYq_IBc/s320/tardis-tennant.jpg" width="212" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Then Eccleston's Doctor sacrificed himself to save Rose and David Tennant's Doctor took the helm. Clever, knowledgeable, a bundle of crazy energy, and somewhat judgmental and even dangerous at times (I was alarmed when, in the Waters of Mars, he proclaimed that he was the winner and could do no wrong, that is very scary to hear from a character that commands the kind of power over the currents of the universe that the Doctor has). David T. has done a brilliant job in moving the Doctor's story forward, and in some ways the end of his regeneration (with the likely path ahead of becoming corrupted from the power of being the last Time Lord standing) is good timing.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">The reason for all this explanation, well I hope to convince American viewers who found the Regeneration of Tennant's Doctor as the saddest thing they have seen on TV that this is part of the cycle, and not so sad at all. The 11th Doctor will be taken over by Matt Smith, and I can't wait to see where the character and the story goes next. Another reason I am not sad though, is that the nature of the Doctor is that he lives on in all forms.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Nowhere is this clearer than in the excellent <a href="http://www.bigfinish.com/Doctor-Who">Big Finish Productions continuing audio stories</a> of the Doctor. These currently feature the 5th (Peter Davidson), 6th (Colin Baker), 7th (Sylvester McCoy) and 8th (Paul McGann) and feature the original actors, along with most of the original actors for the various companions through the Doctor's story. These are excellent stories - I can't recommend them highly enough, and as a bonus you can listen to them while you commute, mow the lawn or do other stuff. It's great to hear even more adventures with these Doctors, all of whom seem even more unique and original when hearing their adventures interspersed with each other. It's also great that Paul McGann really got to bring his excellent potential to the role in something more than the one 90 minute outing he had before.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">So, in closing, don't be sad for the old Doctor, be happy (and excited) to see what the new one does.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">One more thing though - according to the lore of Doctor Who, the Doctor only gets 12 regenerations, so unless something changes, we are getting pretty close to the end of the line now.</div>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com4tag:blogger.com,1999:blog-23834917.post-14501636534880924202010-03-20T09:30:00.000-07:002010-03-20T09:30:04.946-07:00Java Posse Roundup 2010 - Day 4<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/S6T1zNe2CGI/AAAAAAAABHQ/ZcAzChX21Ww/s1600-h/Screenshot.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/S6T1zNe2CGI/AAAAAAAABHQ/ZcAzChX21Ww/s320/Screenshot.png" width="259" /></a></div>The 4th and final day of the Java Posse Roundup 2010 went off very well. Sessions included several business oriented ones (which I skipped), tips for IDEs, Functional/OO hybrid languages and increasing adoption, happy programmers, version control options (git, mercurial, svn, etc.), code reviews and a lot more.<br />
<br />
Afternoon I mixed and published <a href="http://javaposse.com/index.php?post_id=595077">episode 300 of the podcast</a> (which we recorded on Thursday night). We had a lot of snow during the day and it was still snowing pretty hard in the afternoon, so after getting the podcast out, I went and joined the group watching Hitchcock's Vertigo in front of a warming fire and hacked with Tor on the ZenWriterFX application a bit more (as well as transitioning to Mercurial on <a href="http://bitbucket.org/">Bitbucket</a> in the hopes that it would be a bit more user-friendly than git with <a href="http://github.com/">Github</a>).<br />
<br />
Last night we headed out for a pretty spectacular meal at <a href="http://www.tripadvisor.com/Restaurant_Review-g33377-d1219488-Reviews-Django_s_Restaurant_Wine_Bar-Crested_Butte_Colorado.html">Django's</a> up at the resort. Lots of small taster dishes, and some amazing food (and wine too). Had fun riding back down on the town shuttle as well, where we had pretty much the entire bus singing 99 bottles of beer on the wall :-).Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-76936863835805644742010-03-18T22:33:00.001-07:002010-03-18T22:36:13.685-07:00Java Posse Roundup 2010 - Day 3<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/S6MIvZEYKkI/AAAAAAAABGw/_ZXzXWptyYc/s1600-h/4444324854_ff0b52b204_m.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/S6MIvZEYKkI/AAAAAAAABGw/_ZXzXWptyYc/s1600/4444324854_ff0b52b204_m.jpg" /></a></div>Wow - that was a hoot. So the three sessions this morning were fun, and a small departure for me (even one on business matters for session 2). We covered higher level concerns - definitely back to a bunch of nuts and bolts tomorrow (including a git/svn/mercurial etc. comparison and a session on increasing acceptance of functional languages).<br />
<br />
In the afternoon I headed out with Jackie for some more cross country skiing - one of the intermediate trails (I fell down a couple of times, but I also got down some hills pretty well and even figured out how to turn the direction I wanted - I don't think I will be competing in the winter Olympics any time soon. We did find a mostly snow covered disc golf course on our travels though, so if I come out in the summer I will be bringing my discs.<br />
<br />
We just got back from the recording of Java Posse episode 300 which was a ton of fun (I was worried it was too long, but people say that the time flew by). That episode will be up in the next day or so, in fact tomorrow afternoon I am planning on demonstrating the full process of mixing, editing and publishing a podcast for anyone interested.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-84348809613138708072010-03-17T17:08:00.000-07:002010-03-17T17:08:58.332-07:00Java Posse Roundup 2010 - Day 2<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_Hhggc-tPH-4/S6FsLAAou7I/AAAAAAAABGs/wkouKNdSDGQ/s1600-h/4441099623_81f55011df.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/_Hhggc-tPH-4/S6FsLAAou7I/AAAAAAAABGs/wkouKNdSDGQ/s320/4441099623_81f55011df.jpg" width="320" /></a></div>Day 2 update from the Java Posse Roundup 2010.<br />
<br />
Three sessions this morning, there were some good choices but in the end I settled on my own proposal (about clouds, Amazon EC2, Google App Engine, etc.), then one about standardizing development across different application teams within a company, and finished up with what programming will look like in 25 years. All good, but I am looking for some more technical stuff tomorrow.<br />
<br />
This afternoon, a bunch of us skipped the usual snow sports in favor of some extra technical discussions and demos. In the picture you can see the rigged up projection screen (a sheet over the fireplace in the house we are staying at. It worked pretty well. I led a study group on Scala, and I think picked up a few converts (people who had thought it was too complicated before now), and Fred Simon of JFrog led a discussion of build tools that improve on maven - the upshot is take a look at Gradle, and possible the Scala simple build tool (SBT).<br />
<br />
More lightning talks tonight - last night's ones were a hoot, culminating in a fire eating demonstration (outside) by Bill Pugh - how many conferences can you say that you see a fire eating demonstration.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-67022352548415525682010-03-16T16:12:00.000-07:002010-03-16T16:12:13.225-07:00Day 1 of the Java Posse Roundup 2010<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_Hhggc-tPH-4/S6AQNmXvLlI/AAAAAAAABGo/bccA-hUCFC0/s1600-h/weblogo.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_Hhggc-tPH-4/S6AQNmXvLlI/AAAAAAAABGo/bccA-hUCFC0/s1600/weblogo.jpg" /></a></div>Today was the start of the conference proper - the traditional intro/meet and greet, and the first two sessions (I took non-SQL databases and a session on Scala, but all the sessions looked good and it was hard to pick (well, OK - not *that* hard :-) ).<br />
<br />
Non-SQL databases was a lively discussion about key/value, document oriented, column oriented and connected graph databases, and where it makes sense to use them. Of course, there are not usually "right answers" at the end of these sessions any more than there are in real life, but the theme was that it makes sense to use not only SQL in some cases, but that relational DBs still bring a ton of value, and if anything the new kids on the block have a lot left to learn from the old guard too - in particular when it comes to reliability, maturity and APIs.<br />
<br />
The Scala session was more of a "what's it all about" kind of thing - with some discussion about whether the Scala learning curve is too high (it's definitely manageable), how to get into it (scalatest and soon hopefully scala-koans), whether it's enterprise ready (we think so) and the importance of a language visionary to give a language direction, as well as the trade-off between always maintaining backwards compatibility versus the freedom of being able to make breaking changes to improve a language.<br />
<br />
After that we christened the snow with some cross country skiing, man that's fun but hard work. Tonight we have lightning talks, where I will be doing 5 minutes on genetic calculation 101 (based on some of my work at Navigenics).<br />
<br />
So far, as always, people seem to be loving the conference - at approximately 60 people it's our largest ever (and certainly feels like it - if we get much large we will need to change venue). People are also engaging with each other really well this year - about half the attendees are alumni, and half are new, which is a great mix for keeping the flow of the conference going but still getting an injection of new ideas - an essential part of a healthy conference and community.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-89503934425590416252010-03-15T22:16:00.000-07:002010-03-15T22:16:12.339-07:00Day 0 of the Java Posse Roundup 2010The day finally arrived, and we had our (now traditional) day 0 of the Java Posse Roundup. This is the day before the conference officially starts, and is comprised of all day coding dojos and other fun events.<br />
<br />
This year, Bruce Eckel organized an alternative business day as well - discussions around the issues of developing a business and moving it from a small startup to a larger concern without losing the spark of what makes it unique and fun among other things.<br />
<br />
Another group went off to do a functional coding dojo covering multiple languages including Scala, Clojure, Fantom and others - including working on Koans (something close to my own heart and the subject of a future blog post).<br />
<br />
The remaining two groups attempted to create the same application in two different environments. The application in question was based on <a href="http://www.ommwriter.com/">ommwriter</a> - a distraction free writing tool with a very nice user interface. One group got as far as they could with GWT to create an ommwriter-like tool, and hit some problems with interactions between HTML 5, database storage and the hosted mode in GWT - after working through those issues they came up with a pretty good result.<br />
<br />
The group I was in did the same thing, but using JavaFX. You can see the results so far in the screenshot below (although there are background sounds and key clicks which don't come out in the screenshots of course :-) ). There is also a fade in panel of controls which doesn't have any icons in yet (soon).<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/S58TkUe-kWI/AAAAAAAABGk/SFTsWhkfizc/s1600-h/ZenWriterFX.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/S58TkUe-kWI/AAAAAAAABGk/SFTsWhkfizc/s400/ZenWriterFX.png" width="400" /></a></div><br />
We faced many of our own problems - some with JavaFX (Linux sound support is flaky at best, and crashes the JVM at work) and many more with github in a very active multi-developer environment, but all in all it was a pretty good day and it's always fun to do some buddy programming with Tor Norbye.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com0tag:blogger.com,1999:blog-23834917.post-25608317718275105622010-03-11T17:12:00.001-08:002010-03-11T17:12:55.926-08:00More bike map resourcesYesterday I blogged about the new bicycle layer and routing feature in Google maps, which is excellent and very welcome. It's not the only option though, so I thought I would share a couple more options for finding bicycle routes.<br />
<br />
The first is <a href="http://opencyclemap.org/">http://opencyclemap.org</a> which is a fantastic resource for cyclists. Here is an example showing the coyote creek trail (part of the same trail I showed on Google maps yesterday):<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_Hhggc-tPH-4/S5mRLwNjsPI/AAAAAAAABE8/6zy2ELsrzjA/s1600-h/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="260" src="http://2.bp.blogspot.com/_Hhggc-tPH-4/S5mRLwNjsPI/AAAAAAAABE8/6zy2ELsrzjA/s400/Screenshot.png" width="400" /></a></div><br />
Pretty isn't it - yes, and useful too. For those who don't know, opencyclemap.org and the site it is based on (openstreetmap.org) are the source of some amazing map data, more detailed than anything else I have seen in the US, and the data has some advantages over that available from Google maps right now, namely:<br />
<br />
<ul><li>Available in other countries - someone responded to my blog post yesterday that they didn't have data in the EU yet, but openstreetmap (and consequently opencyclemap) data is pretty complete in many countries.</li>
<li>It has height contour data, very useful for planning your ride to see what kind of workout you are in for.</li>
<li>It is user-supported. OpenStreetMap and OpenCycleMap data is a bit like geospatial wiki data. If you know of a cycle (or other) path or road that is not on the map, you can add it. I have added a couple of paths I know of already, and it's pretty easy.</li>
<li>Off road (mountain bike) trails are on there as well, take a look at the following shot of part of Henry Coe park (near Morgan Hill) which has a lot of fire roads and single track:</li>
</ul><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/S5mS7Hi-xDI/AAAAAAAABFA/GoX9jx_DnXY/s1600-h/Screenshot-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="243" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/S5mS7Hi-xDI/AAAAAAAABFA/GoX9jx_DnXY/s400/Screenshot-1.png" width="400" /></a></div><div><br />
</div><div>Wonderfully detailed.</div><div><br />
</div><div>There are a few things Google maps does better though:</div><div><ul><li>It's not always clear from opencyclemaps.org whether what you are looking at is a paved (road bike friendly) trail or a mountain bike track. If you want to do a road ride, the new cycle layer in Google maps is probably better. If you want to go mountain biking, OpenCycleMap has a lot more detail for that.</li>
<li>The OpenCycleMap servers are slower - naturally the Google maps server has a lot more performance and responsiveness.</li>
<li>At least on the OpenCycleMap site itself, there is no automatic routing option like there is on Google maps. You will have to figure out your own route from the data.</li>
</ul><div>On the go, if you have an iPhone, I recommend checking out the OpenMaps application, which has both OpenStreetMap and OpenCycleMap data available. It is well worth the few bucks it costs on the app store. It has some really useful features on it like:</div></div><div><ul><li>Download the street or cycle map data for offline usage (if you are going out into the wilds, this is probably a good idea). You can choose the detail and size of data to download when you ask for the tiles.</li>
<li>It has routing! You have to set a start and end pin, and maybe some route pins, but it will then find a nice route using bike paths and tracks - very useful in the wilderness.</li>
<li>You can carry it on your bike - on the handlebars even if you get the right kind of adapter.</li>
</ul><div><a href="http://izeize.com/openmaps/">OpenMaps for the iPhone</a></div></div><div><br />
</div><div>If/when I move to Android, this is one of the must-have apps I am going to need to find an alternative for.</div>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com2tag:blogger.com,1999:blog-23834917.post-43121192016454658112010-03-10T10:25:00.001-08:002010-03-10T10:25:14.678-08:00Bicycle routing now in Google Maps<p>I am rather excited about this feature, although it seems like it has been a long time coming. Google maps now has bicycle paths and bicycle routing, including estimated times.</p> <p>Under the More… menu you can see the new bicycle layer. Turn that on and you can see recommended bike routes and bike paths. Better yet, maps will now route along these paths if you choose the bicycle routing option when you get directions, in fact it will favor them. Here is a snippet taken from my bike ride home:</p> <p><a href="http://lh4.ggpht.com/_Hhggc-tPH-4/S5fkB_rBKhI/AAAAAAAABEg/z2MunD3mvc0/s1600-h/mapbikeexample%5B3%5D.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="mapbikeexample" border="0" alt="mapbikeexample" src="http://lh5.ggpht.com/_Hhggc-tPH-4/S5fkCPkZpqI/AAAAAAAABEk/KM8ziHopHEA/mapbikeexample_thumb%5B1%5D.png?imgmax=800" width="480" height="298"></a> </p> <p>Notice the coyote creek trail is highlighted and selected for the route. This is a longer ride than just following Monterey road, but is vastly preferable in terms of the quality of the ride and I was delighted that maps now knows it can route along those bike paths and does so.</p> <p>The estimated time is a little higher than I know it to be (I can do the ride in about 55 minutes, Google estimates 1 hour 17), but that’s no worse than the driving estimates tend to be. This is fantastic news for cyclists.</p> Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com1tag:blogger.com,1999:blog-23834917.post-31509028294998927362009-05-24T11:04:00.005-07:002010-10-31T09:49:06.308-07:00Cool (Laptop) Hack<a href="http://1.bp.blogspot.com/_Hhggc-tPH-4/ShmNEM5pfVI/AAAAAAAABAg/JUniRizKUGI/s1600-h/AWE11US_accessories_b.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5339453936546446674" src="http://1.bp.blogspot.com/_Hhggc-tPH-4/ShmNEM5pfVI/AAAAAAAABAg/JUniRizKUGI/s320/AWE11US_accessories_b.jpg" style="cursor: pointer; float: left; height: 225px; margin: 0pt 10px 10px 0pt; width: 267px;" /></a><br />
<br />
<br />
I had to share the latest little hardware hack I did in the hope that it will be useful to others.<br />
<br />
I have a laptop that, like many, gets a fairly warm hard drive with consistent (i.e. large build execution) utilization. Since I do a lot of that, I splurged on a targus laptop cooler like the one to the left.<br />
<br />
<a href="http://www.targus.com/us/product_Details.asp?SKU=pa248u">http://www.targus.com/us/product_Details.asp?SKU=pa248u</a><br />
<br />
The cooler is powered by USB, just plugs in and runs, and blows cold air over the bottom of the laptop. It works like a charm, bringing the temperature of both the HD and CPU way down to a very comfortable operating temperature even under extreme and consistent load. However, there were a couple of things I didn't like about it.<br />
<br />
The primary one was the noise. Targus claims about 23 dB for the cooler - I am not sure if that is accurate, but either way it is still annoyingly loud when using it on your lap. Secondly it pumps out a lot of air, which is the point, but I wondered if it might be too much. Finally it does take its toll on the battery - driving 2 fans at full speed will do that. I appreciate the cooling, but not the fact that it appears to be taking more power than needed and turning it into noise. So I set about trying to hack it and fix the problems.<br />
<br />
I thought about stepping down the voltage in a fairly efficient way, with some kind of clever electronic wizardry and even pulled an electronic engineer friend of mine into the problem, before I hit an embarrassingly simple solution.<br />
<br />
<span style="font-weight: bold;">Note:</span> if you decide to try this for yourself, you are at the very least voiding your warranty on the cooling pad, reducing the cooling potential of the laptop cooler, and risking the whole thing not working at all afterwards. I point this out because I really don't want any messages along the lines of "I broke my laptop cooler and you owe me a new one" or worse "I broke my laptop when it overheated and now you owe me a new one". Assuming we have an accord, please read on.<br />
<br />
So, what do you need for this hack?<br />
<br />
You will need - a philips head screwdriver, a large flat head screwdriver, wire cutters/strippers, optionally a soldering iron, and some electricians tape. Also recommended is a multi-meter to make sure you have the right wires.<br />
<br />
The principle (I warned you it was simple) is to re-wire the fans in series rather than in parallel. In the standard cooler, both fans are wired in parallel. This means both fans get 5v potential difference, running them at full speed, drawing twice the power of running just one fan, and making a fair amount of noise (including the occasional "fan mooing").<br />
<br />
By connecting the fans in series, you are effectively changing the potential difference across each one to 2.5v. The eagle eyed among you will quickly note that the impedance of the fans might be different, resulting in one fan getting slightly higher voltage than the other when run in series, and I have no doubt that this is true - however for me at least they seem to spin at the same speed as each other after the hack, and the cooling is almost as effective as with both fans running at full speed. Also, the cooler is whisper quiet after the modification, and uses less power (approx half) as well.<br />
<br />
Here are the steps:<br />
<ol><li>Peel off the 4 rubber spacers on the top side of the cooler. Under each you will find a philips screw.</li>
<li>Unscrew all 4 of the screws, then use the large flat head screwdriver to gently prise apart the case. The top of the cooler is a little more reluctant to separate, so just work it gently on each side until it clicks apart.</li>
<li>You will see two fans with black stickers in the center. Carefully remove the black stickers from each (be careful not to damage the delicate coil wires in the fan when you do this).</li>
<li>When you peel off the stickers, you will see little solder points where the power comes into the fan. Grab the multimeter and work out on each fan which is +5v and which is common. In all likelihood the right contact (with the top of the cooler away from you) will be +5v and the left will be common on each fan, but it's a good idea to verify with a multimeter (if you don't have a multimeter, that's likely a sign that you should not be attempting this hack).</li>
<li>Trace the common wire out from the fan on the left, and cut it about half way along its length to the switch.</li>
<li>Trace the +5v wire from the fan on the right and cut it about half way along its length to the switch.</li>
<li>Tuck the two cut wires from the switch safely out of the way inside the cooler case, You can cap them off with some electrical tape for extra safety, but most of all make sure they will not tangle in the fans.</li>
<li>With the two cut wires from the fans, strip about half an inch at the end of each, twist them together and optionally solder them, then wrap them in electricians tape.</li>
<li>Test the cooler - connect the USB power and both fans should spin. Hold your hand above each to make sure they are both blowing air upwards. If they are not both blowing, you have isolated and connected the wrong wires. Either try and find the right wires, or if this has scared you, reconnect them to the old wires running to the switch, put it all back together in the old configuration and pretend none of this ever happened.</li>
<li>Assuming both fans are blowing upwards, you are done. Congratulations. Re-assemble the cooler taking care to route the wires internally so they won't tangle the fans or get trapped when you re-attach the top. You can choose to stick the black stickers back over the top of the fans, or leave them off like I did (I like the look, but now I have to be careful not to drop a staple or something in there that might cause a short). Stick the rubber separators back over the screws.<br />
</li>
<li>Try it out.<br />
</li>
</ol>I have found that the mod makes about 1-2 Celsius of difference only to the temperature at which it keeps the hard drive, and with a <span style="font-weight: bold;">much</span> quieter running noise and less power draw. It is unknown if there will be any long term damage to the cooler fans running at the lower voltage but I seriously doubt it. Overall my laptop is now quieter than without using the cooler, since the airflow stops the internal fan coming on under all but the most extreme load, and the cooler tray is almost silent.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comtag:blogger.com,1999:blog-23834917.post-35312469959967050812009-01-25T09:44:00.002-08:002010-10-31T09:49:25.806-07:00Mountain Biking In Anderson Valley<a href="http://lh4.ggpht.com/_Hhggc-tPH-4/SXylDxUwxuI/AAAAAAAAA8U/bLi4v2vaYyA/6.jpg"><img align="left" src="http://lh4.ggpht.com/_Hhggc-tPH-4/SXylDxUwxuI/AAAAAAAAA8U/bLi4v2vaYyA/6.jpg" style="float: left; margin: 10px;" width="160" /></a> <br />
<br />
<br />
<br />
Posted with <a href="http://lifecast.sleepydog.net/">LifeCast</a>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comtag:blogger.com,1999:blog-23834917.post-66492323187334189352009-01-17T12:40:00.002-08:002010-10-31T09:49:41.961-07:00Hiking In Uvas Canyon<a href="http://lh3.ggpht.com/_Hhggc-tPH-4/SXJCI3MRtbI/AAAAAAAAA8Q/zv4YnNcOrpU/4.jpg"><img align="left" src="http://lh3.ggpht.com/_Hhggc-tPH-4/SXJCI3MRtbI/AAAAAAAAA8Q/zv4YnNcOrpU/4.jpg" style="float: left; margin: 10px;" width="160" /></a> <br />
<br />
<br />
<br />
Posted with <a href="http://lifecast.sleepydog.net/">LifeCast</a>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comtag:blogger.com,1999:blog-23834917.post-21541199931994760322008-09-06T18:12:00.001-07:002010-10-31T09:50:03.206-07:00At the Morgan Hill music and movie night.<div class="mobile-photo"><a href="http://2.bp.blogspot.com/_Hhggc-tPH-4/SMMqqWO7OGI/AAAAAAAAArE/0DK-CkWaCak/s1600-h/photo-793833.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5243081298200442978" src="http://2.bp.blogspot.com/_Hhggc-tPH-4/SMMqqWO7OGI/AAAAAAAAArE/0DK-CkWaCak/s320/photo-793833.jpg" /></a></div>Band is great, playing lots of R&B covers. The movie tonight is Ferris <br />
Bueller's Day Off. I love this town.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comtag:blogger.com,1999:blog-23834917.post-49045506409089094152008-09-01T17:09:00.002-07:002010-10-31T09:50:18.987-07:00Anderson dam cycle ride<div class="mobile-photo"><a href="http://3.bp.blogspot.com/_Hhggc-tPH-4/SLyEOT8P_HI/AAAAAAAAAq8/YM9-Q6fHaKk/s1600-h/photo-769365.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5241209447758429298" src="http://3.bp.blogspot.com/_Hhggc-tPH-4/SLyEOT8P_HI/AAAAAAAAAq8/YM9-Q6fHaKk/s320/photo-769365.jpg" /></a></div>Jackie and I headed up to Anderson dam for a fun but strenuous bicycle <br />
ride.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comtag:blogger.com,1999:blog-23834917.post-84026544662587547362008-07-29T12:39:00.002-07:002010-10-31T09:50:35.221-07:00View from the Office<div class="mobile-photo"><a href="http://1.bp.blogspot.com/_Hhggc-tPH-4/SI9yFEp_xbI/AAAAAAAAAqc/M4-pUALK4tw/s1600-h/photo-704428.jpg"><img align="left" alt="" border="0" id="BLOGGER_PHOTO_ID_5228523123875235250" src="http://1.bp.blogspot.com/_Hhggc-tPH-4/SI9yFEp_xbI/AAAAAAAAAqc/M4-pUALK4tw/s320/photo-704428.jpg" /><br />
</a>This is the view I had while I ate my lunch today. I really must get out here and work more often...</div>Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comtag:blogger.com,1999:blog-23834917.post-76270388009313768262008-05-10T14:48:00.003-07:002010-10-31T09:50:52.340-07:00Talking at the Google Technology User Group on MondayI will be talking at the Google Technology User Group meeting on Monday 12th May, about Google App Engine. There is some room left, so if you are interested, please sign up and come and mingle - there is a lot more than just my talk to see at these meetings, and the community is great.<br />
<br />
You can find the signup page at <a href="http://sv-gtug.org/event/2008-05-12.html">http://sv-gtug.org/event/2008-05-12.html</a>. I hope to see you there.<br />
<br />
Cheers<br />
<br />
DickDick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.comtag:blogger.com,1999:blog-23834917.post-71455202938992383632008-03-04T21:39:00.003-08:002008-03-04T21:42:25.812-08:00WikiNotes Open SourcedI am very pleased to announce that a project I have been working on at Google has now been open sourced under the Apache 2.0 license. This application implements a personal Wiki for the Android platform and demonstrates a number of key concepts about Android software development. You can read the full announcement at <a href="http://android-developers.blogspot.com">http://android-developers.blogspot.com</a> and the project is at <a href="http://code.google.com/p/apps-for-android">http://code.google.com/p/apps-for-android</a>. Enjoy.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com2tag:blogger.com,1999:blog-23834917.post-26608234183631758102008-01-26T17:42:00.001-08:002008-01-26T17:57:28.181-08:00On Air<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Hhggc-tPH-4/R5vhoGs6soI/AAAAAAAAAnA/GUTQgzzl61s/s1600-h/OnAirSignBlog.jpeg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_Hhggc-tPH-4/R5vhoGs6soI/AAAAAAAAAnA/GUTQgzzl61s/s320/OnAirSignBlog.jpeg" alt="" id="BLOGGER_PHOTO_ID_5159965877193060994" border="0" /></a>Putting the finishing touch into my new podcast recording studio seemed to be the ideal excuse to try and start blogging again. The sign you see on the left is an "antique" on-air sign that Jackie bought me for Christmas. I mounted it on the door today and put a little fluorescent light in it, and voila - the finishing touch.<br /><br />Of course, a podcast isn't really "on air" but it is nice to let people know when you are recording so that they can avoid walking in during the recording. The completion of the studio is good for starting something else up again as well - the Podcasting book that I almost finished and then put on hold for a year while we moved out to California, started new jobs and all that other stuff.<br /><br />I am pleased as punch with my studio - some of the highlights include a video-conferencing and media center powered by a Mac Mini connected to a 32" HDTV, and video conference capable as well. I have the room pre-wired with four microphones so that we can just sit down and start recording a posse episode, and also the mac mini has an output that runs straight into the <a href="http://peavey.com/products/browse.cfm/action/detail/item/116339/PV%28R%29%2014%20USB.cfm">14 channel mixer along (with USB output)</a> along with the mics - this means that we can record people in the room plus video or audio conference other people in and record them as well.<br /><br />On top of all this, there is a monitor output from the sound board to an infra-red headphones transmitter, and four pairs of receiving wireless headphones so that we can all monitor the recording while it is happening, but not have any trailing headphone wires (it is also a wickedly good setup for recording conferences without the people at the other end hearing any echo, or their voice getting picked up by the microphones in the room).<br /><br />The room is filled with comfy furniture, and I put up heavy curtains around three of the walls which, when drawn, help deaden any echoes. The results are pretty good - you can always judge for yourself at <a href="http://javaposse.com">http://javaposse.com</a>.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com4tag:blogger.com,1999:blog-23834917.post-84341650518390605452007-06-22T10:21:00.000-07:002007-06-22T10:21:31.659-07:00New article up at Developer.comIt has been a while, but at last I am back to writing technical articles again. The first one in a while: <a href="http://www.developer.com/design/article.php/3684656">Guicing Up Your Testing</a> demonstrates how you can speed up and improve your testing for applications that use a lot of slow resources like databases, using <a href="http://code.google.com/p/google-guice/">Dependency Injection with Guice</a> as a way of replacing the slow resource with a faster alternative. Future articles in this series about Guice will go into better practices generally for testing with Guice. The next one, for example, will cover using Guice with EasyMock. Beyond that, I am hoping to examine how to break up large code building dependencies using Guice and generally use it to improve the architecture of your application.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com1tag:blogger.com,1999:blog-23834917.post-12885824558434230872007-06-20T13:09:00.001-07:002007-06-20T13:11:13.872-07:00My Sister's New EnterpriseJust found out that my little sister, Kirsty, has a new website/business called Flower, the PA (Personal Assistant). You can see the new site (which looks very nice) at <a href="http://www.flowerthepa.co.uk/">http://www.flowerthepa.co.uk/</a> and if you have any design needs give it a look, she is very good at that sort of thing.Dick Wallhttp://www.blogger.com/profile/13803071320433994403noreply@blogger.com1