The Daydream Blog

Archive for the ‘Lessons’ Category

The Customer Is Always Right

Thursday, May 7th, 2009

In my last post I highlighted, what I felt was, a case of poor customer service by a fellow developer. Even in the most unhelpful customer feedback, there lies the opportunity to glean a valuable lesson.

Rather than pick another whinge from IRC or Twitter from a fellow developer and risk alienating the entire Mac developer community, I am using an example of feedback for my own product, Differencia.

The following information was just submitted via the DayTime Software Internet site Contact form.

First Name: John

Last Name: Dontwantoleavemyname

Telephone Number:

Email Address: fakeemail@yahoo.com

Message:
Your program is difficult to use and confusing. Take a look at standard “diff” programs for text. This program should emulate those, because that is what users are already used to, and the programs work well. Instead, you’ve created a whole different paradigm that just left me scratching my head. Templates? Okay–a great option. But what if I don’t have a template or don’t want to bother with one? Plus, the program crashed several times on me. This needs a lot of work if you’re going to sell it.

There was no way for me to respond as no valid contact information was left. Others might complain that he did not “get” my product, or that his feedback was very unconstructive. In fact that was my first response as well, and tweeted as much.

The main point is that Differencia is not a “standard diff program”. It is intended to work with data files that standard diff programs cannot handle. A new paradigm, as he puts it, was required as other diff programs simply cannot handle the use cases that Differencia was intended for.

However I have gone back to deconstruct the feedbacl, to try and understand how he failed to understand the product.

The lessons I learnt are:

  • I have optimised the site for search terms that include “diff”. This is precisely to attract people looking for diff programs that handle exceptional cases. However I do not stress heavily on the site that Differencia does not (currently) handle non-structured text files such as source code or documents.
  • I have not, perhaps, emphasised enough on the site that Templates are a convenience but not a requirement for Differencia to work well.
  • I have not done enough testing with source code and other file types to ensure that they do not trigger crashes.
  • Not a new lesson, but I know that I need to do a mix of usability improvements and add tutorials to the website / product

Instead of bemoaning hyper-critical feedback and how useless it is, I have taken stock, assumed there is something I can learn and improve on, and worked hard to gather something positive from the feedback.

I’ll have your customers if you don’t want them

Wednesday, April 22nd, 2009

Garrett Murray, developer of Ego, an iPhone web stats aggregator, recently posted a difficult support experience he had. (Via Tim Burks on Twitter):

In summary, Ego’s Google Analytics access stopped working because Google felt too much traffic was coming from Ego’s server and blocked the IP address. Is this the customers’ fault? No.

Several users voiced their problems on a 3rd party support site called Get Satisfaction. Murray responded, on Get Satisfaction, that the problem had been resolved with Google, an update had been submitted to the App Store and was awaiting approval. Crucially Murray marked the issue as “solved”, before the update had been approved by Apple.

Murray initially complains about the length of the approval process, which, given that it’s been over a week since he submitted the update, is probably valid. Is this the customers’ fault? No.

However Murray then goes on to highlight the complaints of one user, who was unsatisfied with his response on Get Satisfaction, and created a negative review on the App Store. The App Store does not allow developers to respond to reviews, which again is a fair criticism. Is this the customers’ fault? No.

The user’s review on the App Store was:

I bought this because it claimed to support GA. It worked for me one time the day I bought it and hasn’t worked since. I posted to their support forum and was berated for not reading this long and confusing thread about how it is supposed to be working, or it will work again soon, or something. I feel like the software developer did a poor job building and testing this, and now they’re willing to blame the users for their own mistakes.

Which given the Murray’s own blog post and the situation in the Get Satisfaction thread is exactly correct. Pointing users at a separate thread, as if to say “You should have looked first” is rude and obnoxious. If your software is broken, apologise, explain and apologise again.

Murray defends setting the issue as resolved by saying:

Apparently they didn’t understand that “solved” was a relative term. Yes, sure, it’s not solved for you right now, but my resolution was pretty clear—it’s solved in the version Apple is looking at. JUST HOLD TIGHT. I thought this was enough. But no.

This is just plain ridiculous. “Solved is a relative term” is utter rubbish and a completely idiotic stance to take with your paying customers. With software there is only ONE definition of “Solved”; when the issue is solved for the customer who has paid good money for the product. . Until the fix is in the users’ hands, the problem is OPEN.

It highlights the stereotypical blinkered developer attitude that once a problem is “fixed” in code, that is the end of the matter.

I have multiple examples in my support log, where I have sent a user a response, asked them to contact me if it does not solve the problem and never heard anything back. In my support system I often wait months before marking these issues as resolved. Unless I hear from the user that the problem is fixed, then as far as I am concerned, it is not.

Murray goes on to say that:

Apple is creating an ecosystem of the kind of customers I don’t want

Well Garrett, if you don’t want them, I’ll quite happily take them off your hands.

John Gruber describes the user as an “asshole” on his heavily read Daring Fireball blog.

This is completely outrageous. Ego’s users have paid good money for the product and rightly expect the product to work as advertised. The issues with Google are not the customers’ fault. Even if everyone has done the best they can, the customer is the one least at fault, having paid for a product that DOES NOT WORK.

As for Gruber’s incendiary remarks, I personally would sue for defamation if I was described in that way.

So often as developers we fail to put ourselves in our customers’ shoes. The user had a faulty piece of software, went to the support site (many wouldn’t go that far), filed a complaint (fewer still), saw a response that belittled him and told him that the problem was solved, when it clearly was not. What other recourse does the user have other than to write a negative review?

There are several lessons to be had from this:

  1. Program Defensively: the product should respond sensibly when the Google API did not work, rather then report “0 Visitors”
  2. Program Defensively: provide a support link from within the application
  3. Respond to every customer complaint individually. If it is a known issue, state that it is, but do not expect the customer to know that. Apologise, explain, apologise again.
  4. Treat your customers with respect. A customer who has paid you money owes you nothing, whereas you owe him your livelihood.

As I have stated many times before, the customer is always right and there are no stupid users, just stupid developers.

Microsoft Thinking Different?

Friday, September 12th, 2008

Microsoft has launched a new Windows ad campaign starring Jerry Seinfeld and Bill Gates, to much derision. It does not, as yet, directly answer the criticism of my last post, that Microsoft’s PR is undermining its flagship product, Windows Vista.

Daniel Jakult, on his Red Sweater Blog, breaks ranks and suggests that the ad campaign is in fact genius, as it is trying to tackle Microsoft’s uncaring image.

Seinfeld’s sense of humour is not something I have ever particularly enjoyed, though I did get a warm fuzzy feeling from these ads. More so from Gates’s performance than from Seinfeld’s.

Daniel points out that:

“Most critics of these ads point out, quite rightly, that the message doesn’t ask viewers to buy anything. If an ad doesn’t ask you to buy something, surely it’s a failure.”

Remind you of another ad campaign designed to change the image and brand of a poorly regarded company? It reminds me of nothing more than Apple’s Think Different campaign. At the time it was criticised for being grammatically incorrect, vague and completely unrelated to the benefits of Apple’s products. It was the complete anti-thesis of current iPhone ads.

Apple’s marketing since Think Different has been an evolution from establishing a new brand through to promoting specific features, via customer endorsements (Switch campaign) and product differentiation (Mac vs PC). At the time of Think Different, Apple’s image was terrible, even if its products were actually quite strong. At the time, Apple needed to change people’s perceptions and expectations of it as a company, before they would even be willing to consider its products.

Microsoft is in a very similar position. Kevin Hoffman’s first take on the ads at The .Net Addict’s Blog points out that Vista is actually a strong product. Microsoft’s other products are also beginning to show considerable signs of improvement. However, the company still receives a lot of criticism, some of it less justified than in the past.

Microsoft has understood that any sympathy towards it is the result of Bill Gates’s philanthropy. Any company whose chief executive gives that much money to charity can’t be all bad, can it?

Apple needed to re-establish its credibility. Microsoft needs to show that it cares about its customers and they seem to be thinking different to do just that. An excellent move on their part.

It is also an excellent demonstration of how Google, Apple, Sony, Mozilla and Oracle’s competition with Microsoft is hugely important for consumers. A Microsoft as a monopoly in all computing markets is terrible and worthy of scorn. A Microsoft that has to compete will be great for everyone.

The Art Of Compromise

Tuesday, April 8th, 2008

With rumours swirling of a 3G iPhone, I have long wondered why the lack of 3G has received of so much criticism. The few people I know who have used 3G phones report a sorry history of bulky, buggy handsets, dropped calls and little benefit over regular mobile phones. Is 3G a real, glaring omission from the iPhone? Are users pinning their hopes on Apple delivering them from 3G purgatory? Or, is it just a case of the media trying to find something to criticise about the most hyped handset in history?

Performance

Steve Jobs has stated that the iPhone lacks 3G due to poor battery life, and that a 3G iPhone would be released when this issue was resolved. Soon after the iPhone’s release, AnandTech did an in depth analysis of this claim. They found that 3G does indeed use significantly more power than the iPhone’s EDGE network on a device that supports both. The article demonstrates that WiFi actually uses less power than both 3G and EDGE, whilst offering significantly better performance. WiFi’s inclusion in the iPhone, in place of 3G, therefore makes considerable sense. In addition, 3G has the biggest impact on battery life when being used for a phone’s core function; telephone calls. Although a sensible implementation would fall back to GSM for phone calls, this has serious implications for key 3G selling points – making calls whilst transferring data and video calling.

The AnandTech article also touches on another key issue – identifying applications where the bottleneck is the CPU, not the network. Interestingly, the iPhone has a CPU that balances performance with battery life.

The question is now whether users are willing to sacrifice battery life for networking performance? Has Apple made the right compromise on their behalf?

My Feature List is Bigger Than Yours!

The criticism levelled at the iPhone has been a typical list of feature-envy. The lack of 3G, “only” a 2 megapixel camera, no physical keyboard, no GPS, no removable battery and no expandable memory.

Similar criticisms have consistently been levelled at the iPod. With hind sight, it is easy to demonstrate why Apple made the decisions it did with the iPod. A non-removable battery allows for a more durable portable device. Early iPods used smaller physical Hard Drives, which had smaller capacity than their rivals, but also made them more portable. Using a better quality music format, AAC, rather than MP3, mitigated this issue. Instead Apple included FireWire, in place of its competitors’ USB 1.1, allowing for fast transfer of thousands of songs.

For its Portable Music Player, Apple focused on the portability, the music and the player experience. They looked at the whole experience, rather than aim to have the longest feature list simply for bragging rights.

With the iPhone, the 2 megapixel camera is a sensible option. In a small device with limited optics, a larger resolution camera would only give marginally better quality photos, whilst eating up limited storage space. No GPS? Cell tower and WiFi hot spot triangulation are good enough, without additional electronics and greater expense. No Physical keyboard? Sacrificed in favour of a larger screen and robust enclosure.

Apple has consistently foregone a long list of features, in favour of products that focus on doing a limited number of things, very, very, well. When Apple does add new abilities to their products, they are complete solutions, rather than half baked features included just to add to the list.

The Business of 3G

Some of the rumours about the 3G iPhone have come directly from Apple’s mobile network partners. Many network operators have invested huge sums on 3G licenses and deployment. Many seem to be struggling to recover these costs. They have stuck to their traditional business model – subsidised handsets, basic tariffs, supplemented by expensive, “value added services”, such as sports clips, video calling and pseudo-internet services. With business-as-usual, networks are struggling to recoup their investment in 3G.

The iPhone has shown them that there is another way. The handset is not subsidised and is only available with an expensive Pay Monthly tariff but includes unlimited data usage. Apple has also identified the killer application for mobile data services – the full Internet. Despite its “painfully slow” EDGE network, iPhone owners use the internet more than those of any other handset, including other Smart Phones and the beloved Blackberry. Little wonder then, that Apple’s partners are desperate for a 3G iPhone.

Oddly it is not anything about 3G itself that begs for it to be included on the iPhone. Nothing about the technology, with its high dropped call rate, and the under-whelming value added services, is particularly appealing. Instead it is Apple’s redefinition of the mobile phone business model, that makes 3G an appealing technology.

Even more ironic is the fact that iPhone’s expensive tariffs have also received a lot of criticism. And yet, it is precisely that all-you-can-eat data pricing that has led iPhone users to embrace mobile browsing and justify the need for 3G.

Imagine a cheap, subsidised, Pay-As-You-Go iPhone, with a sand boxed internet in place of Mobile Safari and metered data charging. 3G has little appeal in this environment.

3G or 4?

When Apple introduced the iPhone, there was little appeal for 3G and yet, perversely, they have created the killer handset and killer apps that could make 3G a success.

There is also another question raised by the iPhone’s success. If WiFi already performs better than 3G, shouldn’t Apple simply wait for the next generation, WiFi based 4G networks to be built? There can be little question, with the history of mobile networks, that 3G will be replaced sooner rather than later. 3G has been available around the globe for over six years. Limited uptake of 3G suggests that, like High Def DVD, it may be a technology that is leapfrogged by the market place.

Should Apple perhaps ride out the criticism about the lack of 3G support? Or should it popularise the stagnant technology, as only it can, with the combination of the iPhone’s rich mobile internet experience and unlimited data plans?

Despite my lack of enthusiasm for 3G, Apple should probably introduce a 3G iPhone once battery life improves. Unfortunately, with the investment the network operators have made with 3G, they are unlikely to build 4G networks before they have recouped their 3G investment. The window before 4G becomes available is just too great. 3G support will deflect criticism, whilst being an anti-climax for those who see it as some nirvana for mobile internet use.

Template Database – Apologies

Friday, April 4th, 2008

A key feature of Differencia, is its ability to use comparison and file layout templates that remove the need for any configuration. You can simply select your files and run your reconciliations and comparisons without having to set-up the comparison parameters first. We have an online template database, from which they can be downloaded for free.

A kind user let us know, earlier this week, that templates were not available for download from the database. Although items were listed on the database, there were errors if you tried to download the actual template files. We added the first templates to the online database at the beginning of February. Unfortunately, it appears that the templates have probably not been available for most of the intervening time.

We restored the templates, only to find they were being removed again. We tracked down the source of the problem to an automated clean up process in our shopping cart software. The problem should now have been resolved.

Our apologies to all our customers, who have not been able access these templates.

Also, the database has only a limited number of templates available for the moment. We are working to expand the catalog, in conjunction with our forthcoming 1.1 release.

I Am Not Wil Shipley

Thursday, November 1st, 2007

There is a new tradition amongst Mac developers to post a lessons-learned blog entry once they release the first version of their software. So here is mine, just a little early.

Those of us new to starting a Mac Software Business, often look to Wil Shipley for tips of the trade. Partly due to his sage advice and his clearly evident success as an independent Mac developer. Partly because his advice is the most easily available, and he is so open about his success!

Not being fresh out of University, I took Wil’s advice with a pinch of salt, but also looked to glean what I could from his WWDC student talk, various interviews and blog. From Wil, I have discovered that it is possible to invent a better mouse trap. Although I cannot find a competitor for Differencia, my other planned products have entrenched competitors. They no longer worry me, as I believe I can make a better product. I have come to appreciate that “less code is better code”. I always preferred readable, simple code. Thanks to Wil, I am no longer worried about not knowing cunning coding tricks, as I now know all about the horrors of premature optimisation, along with some of the code maintenance horrors that I was already all too familiar with. Wil’s Pimp My Code was of particular interest as he always imparts the philosophy behind the way he writes his code, which is often of more valuable than the code itself.

However I have also realised over the last year and a bit, that I am not Wil Shipley. I do not have 15+ years of Cocoa development experience. I do not have key contacts within Apple that can provide work-arounds or solutions to Cocoa bugs and performance problems. I do not know a stable of graphic designers with extensive experience of working on Mac applications. Mike Matas did not come banging on my door.

In particular, my name is not enough, on its own, to bring customers pouring in. Nor can I win an Apple Design Award for an unreleased product that only a select few beta testers and the ADA judging panel have seen. Yet.

This has not been particularly down heartening, because I felt that this was the right time for me to start a Mac software company and that I could bring a lot to the platform.

One of the things that drove me away from working for large enterprise was that they claimed that their staff were their greatest asset, whilst treating them like sheep. I have always felt that having a “Human Resources” department, rather a “Personnel Department”, was far too impersonal. The reality is that big companies do not invest in their “greatest assets”, but simply let them depreciate.

So the great thing about having your own company is that you are, in fact, the company’s greatest asset.

New developers often ask, “What product should I develop?” The common answer is to develop something that you would use yourself, and therefore have a vested interest in and have a passion for. In consultant speak; you need “Domain knowledge”. Almost every project I have ever worked on, either specifically included a reconciliation process as a deliverable, or required extensive regression testing, reconciling old and new. I have desperately wanted a reconciliation tool throughout my working life and I finally got fed up and made my own! Differencia is a product that I am really proud of and am looking forward to using myself.

A phrase I often used in the early days of my career was “Problem Exists between Keyboard and Chair”, to imply that a user with a support issue was either stupid or did not understand how the software worked. Inexperienced developers often believe that they have found a bug in the underlying system, when the reality is that 99% of the time, the problem lies in their own code. Similarly even experienced IT staff often assume the problem lies with their users when it comes to support issues, when usually the app should be improved to be less confusing. I covered this in depth in an earlier post.

There are other qualities I believe that I bring to the business. An ability to learn quickly, strong technically and strong project management skills. I am particularly proud that I have always been able to translate from a user perspective to a technical perspective, without confusing a user with technical details. Being able to talk in “the user’s language”, that many technical people find difficult.

I have also learnt a lot over the last year or so. How to exploit understanding a user’s perspective, to improve user interaction design. How to form partnerships for web and graphics design, where my abilities and experience are lacking. The differences between project managing an upgrade with large project team, and a new development with a single resource.

So the lesson for new independent Mac developers? I am not Wil Shipley, neither are you. However I am Sanjay Samani, and I have a lot to offer.

 
Site by Line