Sunday, October 31, 2010

Bunnings - a tiny problem?

On Thursday evening, steam pouring out of my ears, I sent the following to Bunnings via their web site:

I have just returned from wasting an hour and a half of my life at the Northlands Bunning store: I wanted to buy the timber to build a retaining wall and have it delivered to my house.

The person manning the timber yard avoided me as though I had the plague. When I eventually managed to corner him and explain what I want he told me that I had to go to the special orders desk. Which I did. They told me that they had just closed and I had to go to the customer service desk. Which I did. They then paged "Knave", who duly arrived after a wait of about 10 minutes. He told me that the timber yard were giving me the run around and that I should go back to them. Which I did. Only to find that there was no one there. After wondering around for what seemed like an eternity, I saw the original person - and I managed to corner him. But he explained that he couldn't help me as he now had an urgent staff meeting to attend. And he left.

There was no one else in the timber yard so I went back to the area in which "Knave" worked, and told him that I was rather upset. He replied that there had been a lot of staff meetings this week, some with up to thirty people in them, and that as a result there was nothing he could do to further help me.

I replied that I wouldn't be buying my timber from Bunnings and left. As far as I am concerned Woolworths can't get into this market fast enough. We have been staunch Bunnings
supporters, but will now start to look elsewhere first for our hardware needs.

On Friday I received a call from a manager at Bunnings Northland to apologize. Apparently, recognizing that they have a customer service problem, the staff meetings in fact had been training meetings - teaching the values of customer service!

We had fairly pleasant chat - I told him how wonderful Bunnings New Zealand operations had been when we lived in New Zealand, and how disappointed we had been by the service from the local Northland branch after we moved to Australia. This experience was just the latest in a long line of less than stellar ones. He was sympathetic and claimed that by the time they had finished the customer service training I would find Northland Bunnings a very different place.

But here's the odd thing: he never tried to find out what I was buying, and to close the sale in a way that made me feel good about the Bunnings story. For example, he could have offered to take the order via credit card payment on the phone and to have it delivered. But no, I just got a basic apology, an explanation, and some interesting chat. So I wasted a further ten minutes of my life talking about my experience with Bunnings, and yet still am no closer to buying the stuff that I need!

Will Bunnings will ever be able to ever improve their customer service if the management don't seem to know the basic goal of customer service? I have my doubts.

Wednesday, October 27, 2010

Apple, Java and me. Proprietary bites, again

As a software developer who currently makes a living from Java development, I follow Java related news quite keenly. The last few months have been quite interesting, in the old curse kind of way.

Apples decision to "deprecate" their Java implementation is the one news item that will have the most impact on my future directions. It is one of those defining decisions that will be looked back on as either another of Steve Job's great decisions, or the misstep that started a decline in Apple's fortunes.

Why a misstep? Well, I currently develop and learn my craft on a Mac. It appears that I will no longer be able to do that.

Just as it was coming up time for me to replace my primary development computer at home. I was going to buy one of those very nice shiny big iMac computers. But now I can't. Given that I want to run a Unix style development environment, I will probably build a machine from scratch and install Ubuntu. Most developers won't bother - they will simply buy a Windows machine. So in the short term Microsoft and Ubuntu win from this decision, Apple lose.

Companies and government departments that bet on the cross platform nature of Java for applications find themselves in an odd position. They are either going to have to abandon the Mac, or rewrite their cross platform software. This takes time and budget: so until decisions have been made and choices reached, the most likely result is a freeze in further Mac upgrades. So in the medium term, again, Apple lose.

And in the long term? Java applications will not be deployable onto the Mac. As the second largest PC platform out there, this effectively kills Java's cross platform promise. And removes Mac OSX as a deployment option for server side applications. So finally Java looses, and again, so does Apple.

I am not optimistic about other parties picking up the pieces and running with them successfully. I don't believe Apple will donate it's current code – it's just not in their DNA, as far as I can figure. I also don't see an economic imperative for anyone else to take over the work. So this leaves open source volunteers to pick up the slack – and after the Apache Harmony/TCK and Android debacles, why would anyone want to risk getting involved?

This is not like Apple's Flash decision: in that case they were keeping Flash off of new platforms. In this case, Java developers are being excluded from an existing platform going forward.

Some people have rationalizes this along the lines of, “well, Apple can use their Java maintainers more productively elsewhere”, but here's a thought: What percentage of Apples advertising revenue would their support of Java be? Because this support is effectively another form of advertising: one that brings developers such as myself to their platform. It's not exactly as though the Java platform is a rapidly changing one. Most of their development costs have already been spent.

Also note that it is a lot easier to get into iPad/iPhone development if you already own a Mac. Just as it is now going to be a lot easier for the Java developers who return to Windows to develop for Windows Mobile 7.

As most people seem to dislike developing multiple copies of the same application, what will they turn to in place of Java? On the presentation side there are several options: flash, Silverlight and HTML 5/ CSS. I would argue that only the latter is unencumbered by FUD. The browser is the new VM.

On the server, pure Python, Ruby and PHP developers will happily be able to continue developing on and deploying to Mac's. However we are moving to a polyglot programming model where people mix and match libraries and languages. Those who stick with the Mac will find that the large Java ecosystem closed to them.

So given the large size of the Java ecosystem and the performance benefits, I do feel that going forward Apple have just ceded the server market.

So if not on servers, and not being used by developers, Apple will become more and more a creator of devices to consume content. They will become the television manufacturer for the Internet generation.

Again, no matter how I look at it, the decision to deprecate Java has no upside for Apple.

And Java – well, it's the new Cobol. There's probably enough of it out there to keep me busy until I retire. So I'm not sweating yet. But I am going to sharpen my Css/Javascript/HTML skills to prepare for the coming of the new VM.

To finish, I find some deep ironies in this unexpected turn of events.
  • The Visual Basic programming model (a scripting language manipulating objects created in another more able language) wins through.
  • The Swing model (no native operating system widgets, rather a rendered canvas) thus trumps the Eclipse model of delegating to the underlying os.
  • But Eclipse will be the one IDE that will possibly carry on working on Apple computers, thanks to SoyaLatte and Eclipse's decision not to use Swing.
  • Those people who bet on Flash as a cross platform deployment model are laughing.
  • Apples decision shows that those freedom loving open source advocates have a very good point. Had Apples JVM been an open source one, we would not be in the quandary we now find ourselves. Proprietary bites, again.