02
Jul 10

The iPhone 4 Antenna And A Lesson From History

The potential iPhone 4 antenna defect is the hot news story of the month. This isn’t the first time that problems have surfaced in devices once they’ve been shipped. What’s more interesting is the way companies handle it once it happens. In 1994, Intel went through the same experience with the Pentium floating point unit bug and their handling of the situation offers some interesting parallels.

Andy Grove’s biography by Richard Tedlow has an excellent account of the episode and the mistakes Intel made. Intel was on a high in 1994 having just released the Pentium which was received well by the market. Towards the end of 1994, a professor in Virginia discovered a bug in the Pentium’s FPU and started writing about it. This was the early days of the internet and the information spread quickly through newsgroups. Intel was already aware of the bug by this time and had decided to fix it in the next version of the processor. According to Intel, the bug did not impact most users – it was so small in comparison to other bugs in shipping products that it wasn’t worth the effort to pursue it as something very important. They decided to “just go about their business”.

What started as a minor bug covered by some trade magazines and on the internet soon became a major embarrassment with the mainstream media getting on Intel’s case. An Intel representative came on CNN and was dismissive of the bug describing it terms of the distance between the Earth and the Sun and how insignificant it actually was. Andy Grove himself posted to the com.sys.intel and wrote a “long winded” response. His post has an uncanny resemblance to Apple’s response to the antenna issue -

Intel:

The Pentium processor was introduced into the market in May of ‘93 after the most extensive testing program we at Intel have ever embarked on. Because this chip is three times as complex as the 486, and because it includes a number of improved floating point algorithms, we geared up to do an array of tests, validation, and verification that far exceeded anything we had ever done.

Apple:

The iPhone 4 has been the most successful product launch in Apple’s history. It has been judged by reviewers around the world to be the best smartphone ever, and users have told us that they love it. So we were surprised when we read reports of reception problems [...] We have gone back to our labs and retested everything, and the results are the same— the iPhone 4’s wireless performance is the best we have ever shipped.

Intel:

Not that the chip was perfect; no chip ever is. [...] After almost 25 years in the microprocessor business, I have come to the the conclusion that no microprocessor is ever perfect; they just come closer to perfection with each stepping. In the life of a typical microprocessor, we go thru half a dozen or more such steppings.

Apple:

To start with, gripping almost any mobile phone in certain ways will reduce its reception by 1 or more bars. This is true of iPhone 4, iPhone 3GS, as well as many Droid, Nokia and RIM phones. But some users have reported that iPhone 4 can drop 4 or 5 bars when tightly held in a way which covers the black strip in the lower left corner of the metal band. This is a far bigger drop than normal, and as a result some have accused the iPhone 4 of having a faulty antenna design.

Both companies are vehemently defending their product at this stage. Back in 1994, as Intel was trying to handle the situation, IBM resorted to a low blow and decided to stop shipping Pentium based PCs (There is a history to this too. Tedlow describes how Intel was largely disliked by their OEM partners at this time and IBM just took advantage of the situation). The resulting fall in the stock price forced Intel’s hand and they decided to replace the Pentium processors upon request. As Andy Grove wrote:

Our previous policy was to talk with users to determine whether their needs required replacement of the processor. To some people this policy seemed arrogant and uncaring. We apologize. We were motivated by a belief that replacement was simply unnecessary for most people. We still feel that way, but we are changing our policy because we want there to be no doubt that we stand behind this product. (emphasis mine)

As Tedlow points out even this response was too long and lacked grace. Just a simple “we’re sorry and will provide a replacement without question” may have been better. I’m sure Intel was right in their assessment that it was a trivial bug which they tried to communicate for a long time and failed. It’s the same in Apple’s case. Saying “We’re sorry, there was bug in the software. We’ve fixed it. Update coming.”, would have possibly prevented a lot of debate. In the minds of its customers Apple products “just work”. That is the biggest thing at stake here.

Andy Grove is recognized as one of the best CEOs the technology industry has ever had and Steve Jobs is right up there with him. It’s fascinating to see the similarities in how the two strong-willed leaders find it hard to let an “unfair accusation” go. Both know how hard they’ve worked behind the scenes to ship an amazing product and feel compelled to make that case to their users. But, as the Heath brotherswould say, maybe they need to move past their “curse of knowledge” and simplify the message.

Apple has waived the restocking fee if people want to return their phones. Nobody knows if the lawsuits will force a recall. It’s unlikely that Apple’s partners will abandon them like IBM did, but it’s looking like this story has a few more chapters in it.

20
Jun 10

Free TV on the net – not anytime soon

I don’t have a TV. When my roommate and I got the Comcast broadband connection, we fell for the up-sell and got the basic cable connection assuming we’ll buy a cheap TV at some indeterminate point in the future. A year later, that hasn’t happened. Of course, after about six months of paying for the cable connection, but not using it, I made the mistake of calling Comcast customer service and tried to cancel it. I’ll need a PhD in cable TV rate plan economics to fully understand why, but it turned out that cancelling the cable connection would not change the total amount we would pay by even a single cent. So, I just gave up. With the World Cup going on, we’re finally getting something out of it.

I came across ESPN3 as I was trying to find out where I can watch the World Cup matches online. It works for someone who’s not obsessed with the game. When I started watching the games on ESPN3, I didn’t realize that it was accessible only because I had a cable connection from Comcast. Then I came across a post on NewTeeVee which explained the ESPN3 model. I went back to read a post by Bill Gurley that I had bookmarked on Instapaper but hadn’t got to (Instapaper is turning out to be another Google Reader. I can never keep up). It is a fantastic explanation of the economics of the TV business and why the vision of “free TV on the net” may never materialize. To summarize, the cable companies are the biggest customers of the content creators. The $32 billion of affiliate fees that cable companies shell out is what allows a lot of the content to be created in the first place and they are extremely wary of losing their customers to free online video. Their basic argument is – if the content creators don’t expect services like Hulu to pay any affiliate fees, why should they? This is why there are rumours of Hulu going behind a pay wall soon.

With the TV Everywhere initiative, which BusinessWeek has covered well, it looks like people will have to continue paying the cable companies irrespective of the device / connection from which they access video. I don’t mind paying somebody every month, but where is the innovation that the internet allows? Hopefully, Google and Apple can bring about the disruption that smaller players like Boxee and Roku haven’t been able to.

29
May 10

Transporter is available in the App Store

Transporter is a public transit application for the San Francisco Bay Area. It is Ljuba’s final Master’s thesis project that I helped with as part of the User Interface Design course I took during the Spring (INFO 213 is the core HCI course at the School of Information). The main goal was to research how users approach public transit, understand the mental models involved and to build an application which met those needs. We went through the process of interviewing target users, contextual inquiry and low and high fidelity prototypes to arrive at the best possible solution.

During the implementation phase, I built the server-side part (yes, I’m still talentless when it comes to visual and graphic design), while Ljuba built the iPhone app, which in my biased view has turned out to be the best public transit app on any platform. The people who judged the final projects this year seemed to agree since Transporter won the Chen award for the best project in the user centered design track. Version 1 of the application is in the App Store now and it’s free!

Here is a process book that I created as a deliverable for the class if you’re interested in the design process – from idea to working application.

This demo video shows how Transporter works:

24
Jan 10

Customer development in agriculture

A recent New Yorker article by Atul Gawande discusses the lack of major changes needed to fix the healthcare system in the US through the ongoing reform process. The bill has a number of pilot programs, but nothing drastic to fix a clearly broken system. He argues that this might not be such a bad idea and provides the analogy of the agricultural sector in the US and the process it went through in the early part of the twentieth century to achieve major improvements in efficiency. While the Soviet Union tried forced collectivization, which failed drastically, the US started small. By running pilot programs, they were able to learn what worked, earn trust among farmers and then scale as the process was perfected.

In startup land, that’s pretty much one of the key aspects of customer development. Figure out the market or business model first – experiment and iterate to identify a replicable, scalable revenue model before stepping on the pedal. Chances are quite good that a product is world changing only in the entrepreneur’s head. It doesn’t matter if it was agriculture a hundred years ago or high technology startups today, some basic concepts remain the same.

Of course, the customer development methodology is a lot more than the one analogy I described above. I heard Steve Blank’s first class was standing room only last week! But, it’s possible to find lots of resources on the web. Here’s a good video series – part1, part2.

10
Jan 10

Flickr Tagr

As part of the IOLab course, we worked on a bunch of mini-projects related to themes like the semantic web, controlled vocabularies, distributed classification etc. We spent around 15-20 hours on each project. The Flickr Tagr, which Ljuba and I worked on, was one of the projects that was in a complete enough form. Here’s how we described it:

Flickr Tagr visualizes photographs based on social classifications (i.e. tags). It allows users to search for photographs tagged with particular words while showing them additional tags related to the ones selected so far. The goal is to allow a user to quickly visualize the photos available for an arbitrarily selected intersection of tags, while exposing them to other tags they might find interesting. Users can also click on a photograph to see a larger version in a custom-built light box.

We thought the faceted search interface to Flickr was fun to play around with!

08
Jan 10

Smart meters and advertising

I attended a cleantech event in early December organised by the Silicon Valley chapter of TiE. I’m not really interested in cleantech, but was there to collect data for a research project I’ll be spending time on during the Spring semester. The event was about smart grids and the ecosystem around them. One of the panelists brought up Google PowerMeter and wondered if it was possible for them to make money from it. It’s a free service and part of Google.org, so they may not have any plans to make money from it for now, but it’s certainly not inconceivable that there is an opportunity to do so.

PowerMeter, Microsoft’s Hohm, WattVision, a YCombinator backed startup and others pull in data from smart meters and visualize it for end users. Studies have shown that providing data can help change behaviour, so the main aim is to reduce electricity consumption. The big guys like Microsoft and Google don’t charge for the service, but the startups have a revenue model based around the value add of providing access to the data and sales of hardware that prevents having to go through the utility. But, I think there is a third possibility that is around the corner, waiting for large scale deployments of smart meters.

When we were discussing information leakage in the privacy and security course I took in the Fall, I remember Doug mentioning that it is possible to study the electricity consumption pattern and determine which applicances / sources drew power based on the wattage consumed, duration it was on etc. Given a large enough corpus of data (with signals based on actual consumption, geography, number of residents) it should be possible to do it quite accurately. That should make temporal targeting of ads very feasible. If you open the fridge to get a bite to eat at an odd hour and load a web page when you get back to the seat, it should be possible to display a dieting ad. A shampoo ad after getting out of the shower? Of course, there are privacy implications, but this is a world where people are willing to share their credit card transaction details, so there should be takers for it if you promise a reduction in the power bill. Behavioural data is already being used for targeting ads online. This just uses meat space behavioural data. Creepy? Sure, but so was Gmail for about 1 month when it launched. The argument that only machines look at the data was good enough then and should be good enough in this case too.

  • Slashdot discussion on an article about things mobile phones will make obsolete. I made the same prediction in 2006 in the context of an article by Tomi Ahonen. (View Comments)
22
Nov 09

Low cost healthcare

There’s a article in The Wall Street Journal today about Dr. Devi Shetty and Narayana Hrudayalaya. They call Dr. Shetty the Henry Ford of heart surgery, alluding to the process innovation that has led to a big drop in the cost of surgery without any compromise in quality. Dr. Shetty has always been very popular in India, but it’s great to see Narayana Hrudayalaya get international recognition.

What most people don’t know is that Narayana Hrudayalaya is very similar to Aravind Eye Care, which pioneered the high quality, low cost care through scale model. I wrote the final paper for the “Market based mechanisms for poverty alleviation” course I took this semester on Aravind and was amazed at the scale of their achievement. I was always aware of Narayana Hrudayalaya (I went past the hospital on my way to work for a year!), but not of the model which made them so successful.

There is an opportunity for a Aravind Eye Care or Narayana Hrudayalaya in every area of healthcare – we just need the people with the tenacity of Dr. G. Venkataswamy or Dr. Devi Shetty to make it possible. This is an area of innovation where India has all the right advantages – large patient population, skilled doctors, low cost manpower and access to the best medical technology. There was a time when people in India had to go to developed countries to get the best medical care. I’m happy to see that trend being reversed over time.

10
Sep 09

RSSCloud

We had a meetup on RSSCloud (organized by Nick) at the School of Information today. In a nutshell, RSSCloud is an effort to make the web real time. It has been in the news lately after Wordpress added support for it. Dave Winer went through the details and Matt Mullenweg and team described their experience implementing it in Wordpress. Unfortunately, I had to miss part of the meetup to attend a talk by Vinod Khosla, which was excellent. I’m sure I missed some interesting discussion around RSSCloud and PubSubHubbub (PuSH). I don’t see the end user losing in the contest for adoption. Both are open protocols and will only make the web better. Many services may just add support for both. Given how open Automattic / Wordpress is, it wasn’t surprising to hear that there are plans for PuSH support at some point in the future. RSSCloud got there first because it was easier to implement.

I’ve wondered how hubs, in both protocols, handle updates when there are lots of subscribers (in the millions). The obvious answer is a job queue, and that’s what one of the PuSH implementations of the hub does (backed by RabbitMQ). I asked Joseph Scott, the Wordpress developer who implemented the feature what they do for WP.com, and I believe it’s something similar. The Wordpress plugin at this point just sequentially pings all subscribers. That should be sufficient for the vast majority of users. The interesting problem is how real time it would be when a hub has to update 10 million subscribers? Also, what is acceptable as real time? 1 second, 10 seconds, 1 minute? Interesting thought experiment, but I think that’s a problem to be solved when we get to it.

The best part of the day was that I finally met Doug Kaye in person at the meetup. He’s the father of podcasting if you’re not aware.

  • The numbers in the last paragraph of this news report on the EC website crashing indicates one of two things – the reporter who wrote it is clueless, or, there has been some serious loss in translation when the people at NIC explained the problem to the EC official quoted in the article. (View Comments)
  • During his long career, I’ve never seen Rahul Dravid succumb to the temptation of having a go at anything. Last year’s debacle in the IPL,  his subsequent demotion to a normal player, and questions about his suitability to T20 must have been gnawing at him. He got a word in after a brilliant performance against Rajasthan today – something along the lines of “… in South Africa, you can’t just tee off with the bat like you do in India. You need to play proper cricket”. Well played! Looking forward to more of his on and off field shots… (View Comments)
02
Jan 09

Instant messaging and SMS

Another service which tries to bridge IM and SMS. I’m pretty sure it’s going to be incredibly hard to provide a good user experience at scale. SMS is mostly asynchronous while IM is not. It becomes hard to use IM if you don’t have some sort of control over the latency of the messages, and only a very brave person would claim that they can guarantee message latencies in mobile networks. Even if you imagine for a moment that a service has the capacity required to push messages into an operator’s network at the rate in which they are generated (which is highly unlikely considering the cost), there is no guarantee that they’ll make it to the handset on the other end in time. SMS uses a store and forward process like e-mail, and shares some of the same characteristics. It is simply not a reliable medium for time sensitive communication.

25
Oct 08

SMS service accessibility

In a purely SMS based service, it goes without saying that the end users should be able to reach the service reliably via the same medium. Making that happen isn’t very easy. At MyToday, most of our approx. 4 million users interact with our services via SMS. It is through the usual short codes and virtual numbers, more commonly called long codes. Long codes are 10 digit numbers similar to our phone numbers and make it cheaper for end users to reach us and are more popular. It’s understandable as most people wouldn’t want to spend Rs. 3 sending an SMS to a short code, especially if a service involves sending lots of messages.

Our growth has been mostly via word of mouth. So, when users like our service and want to tell their friends and family about it, having a non-changing long code is very important. But, it’s something we haven’t been able to ensure. Not because of lack of effort, but due to circumstances beyond our control. All short and long codes are owned by operators (much like our phone numbers) and leased to service providers. Though our services are opt-in, our long codes have been blocked multiple times by the operator we had leased it from. I’m not sure what the reason for the latest blockage is or if it has even been communicated to us, but, it is sometimes because of complaints from a few users that we are sending them unsolicited messages.

The obvious question is how that can happen when we claim to be an opt-in service. The problem is with the churn that happens in the operator’s user base. If a user with a particular phone number belonging to operator A subscribes to our service, and then migrates to different operator B, stops paying his bill etc. after some time, he stops being a customer of operator A. The phone number will now be assigned to a new subscriber by operator A within a short period of time. This new user hasn’t subscribed to our service and thinks we are spamming him when we continue to send messages. The ideal solution is that service providers need to know when a phone number is assigned to a different user, but there haven’t been reliable ways of getting that information. With churn rates at 6-7% among GSM operators as per an article from Mint, and overall churn rates of 3-5% (a number quoted by a speaker at MoMo Monsoon), and with the growth rates we are seeing in India, I imagine the operators are under pressure to reuse numbers as and when they become available, but there has to be a better way to share that information.

MyToday incoming message rate during Oct 08

The partial graph above shows what impact a blockage can have. Our then popular long code 9845298452 was blocked some time late on 8th Oct or early in the day on 9th Oct and our users could not reach us at all and there was a massive fall in incoming messages. We got a new number immediately and started using that. One of the first things we did was to inform all our users that they could stop receiving our messages if they so wished using the new number. Some of them did and that is what the spike on the 16th represents. As we are an opt-in service, users opting out is generally a very small number compared to our overall user base, but something they can always do. Now, we are actively losing new users as they can’t reach our service using the popular long code. We have to start the process of making new long codes popular among our user base from scratch, not to mention handling all the support requests.

This may stop being an issue once number portability comes in, as users will retain a number once they get it and re-assignment of phone numbers won’t happen that often. The real solution though is better regulation and dispute resolution mechanisms. There is no incentive for operators to create an ecosystem which promotes innovation in the mobile space and neither is it their job. Unless they are forced to do it, smaller players who are trying to build services that end users want will spend more time dealing with issues like these and engineering their way around the latest obstacle rather than focusing their energy only on what is good for the user. Till that day comes, the cat and mouse games continue!

  • This blog and many of my projects, code, svn etc. are hosted on a virtual private server at Slicehost. I started using them a couple of months after they launched their services two years ago. I had come off some bad experiences with shared hosting and was looking for a VPS. I’m not sure why I thought everything would be ok with Slicehost as they had no track record, but, they just seemed to get it. Well, I’ve been hosting with them for two years now and couldn’t be happier. They’ve now been acquired by Rackspace, a much larger player. Congratulations are in order. As a user I’ve rarely been in touch with them. That’s good! It means everything just works. Hopefully, that won’t change when they join a bigger company. (View Comments)