The Daydream Blog

Archive for the ‘Community’ Category

Using Git With FogBugz for Local Repositories

Thursday, October 22nd, 2009

Note that this article is intended for developers and may not be of interest to a wider audience

If you, like me, have migrated from using Subversion to Git, you may be missing the ability to link commits with FogBugz cases. I have adapted the Subversion integration post commit hook to work with Git.

It should be noted that integration with repositories hosted on GitHub can be found by clicking on this link, to appropriately enough, GitHub (via a blog post on FogBugz). These instructions are for use with local repositories.

I have simply taken the Subverson integration script, that is available at this link on the FogBugz website and adapted it for use with Git.

To use, follow the instructions below:

  • Install Perl in the unlikely situation that it is not already installed on your system
  • Install wget. On Mac OS X, you can install via MacPorts by simply typing sudo port install wget in a Terminal window.
  • Download post-commit and logBugDataGit.pl by clicking on this link to GitFogBugz.zip
  • Unzip the archive and copy the two scripts to your [Path To Project]/.git/hooks directory and make sure they are both executable
  • Edit logBugDataGit.pl as follows:
    • If you are using the free FogBugz version set $BUGZ_URL_FINAL to https://yourdomain.fogbugz.com and set $IS_TRIAL to 1.
    • If you host your own FogBugz installation, set $BUGZ_SERVER to your domain without http:// and set $IS_TRIAL to 0.

That’s it, there is not step 6!

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.

The Accessible Mac-verse

Wednesday, March 18th, 2009

In a recent post, Martin Pilkington of M Cubed Software challenged Mac developers to make their apps accessible by the end of 2009. I think this is an excellent suggestion and I will take up the challenge for Differencia.

In Martin’s post and the comments there are some links to great resources to get going with accessibility:

Apple’s Accessibility Developer Page.

Assistive Technology for the Mac Resources

Assistive Ware Videos

At WWDC ’06 I went to the Accessibility session and it was the best Hands-On sesssion I’ve been to at WWDC. The 2006 Session video does not seem to be available any more, but the 2008 session can be found from the link below. It requires access to ADC on iTunes, you may need to log into ADC on iTunes first, or simply look for session 326.

WWDC ’08 – Session 326 – Application Accessibility

The 2006 session had an excellent sample application, Dicey, that takes you through stages of increased accessibility. It can be found here:

Dicey Sample Code

However I would like to extend Martin’s challenge. Most independent Mac software developers sell their products exclusively via the web. Therefore for their software to be fully accessible, Mac developers need to make their websites accessible as well.

Information on this can be found at W3C, the web’s standards body, and elsewhere:

W3C’s Accesibility Initiative

Dive Into Accessibility Guide

I would call on all Mac developers to take up the Mac Accessibility Challenge.

Where did we all go?

Wednesday, March 18th, 2009

I haven’t blogged for a long time and for that I would like to apologise.

I’ve noticed that a lot of bloggers that I follow have not posted much in the last 6 months either.

Wil Shipley has not posted a blog entry since the end of September. Scott Stevenson has had just 5 posts in the same time frame. Morgan Webb and Marc Andreesen have gone off line. And although Daniel Jakult has posted 25 odd posts in that time period, that seems a relatively dry period for him, with 2 week gaps between some posts.

I suspect that iPhone development has had a lot to do with the dry period in Mac blogging, along with podcasts and Twitter as alternative methods of communication.

For me personally the hiatus was due to the passing away of my father last August. In addition, when you have something you should be doing, the longer you leave it, the harder it gets. Of course you need to take the plunge and get on with it.

I have a number of ideas I’ve been considering posting for a while, so hopefully over the next few weeks I should be getting back up to my past output. Hello, again!

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.

An Energy Policy We Can Believe In

Wednesday, August 6th, 2008

“The most important election in our lifetime” will be about whether or not the US takes a lead in energy policy. Obama talks of a 10 year goal to make the US independent of Middle East and Venezualan oil. It is a task, that if backed by the government, entrepreuners, business and the people of America, could be as inspirational and motivational as JFK’s target of landing a man on the moon. It would also mean taking the biggest step forward, so far, to tackle climate change.

 
Site by Line