Archive for the ‘IT’ Category

For beta or worse

July 24th, 2010

The other day, when I posted my insight on that one social network, one comment I got was “Tell that to the customer”.

Here’s what I responded:
“We’re all customers, aren’t we? And what do we appreciate more, trying to find an existing solution that’s already out there (a.k.a. “Check the FAQs” and “search for a tutorial”) or having someone take the time to (find out and) tell us what to do? Of course every customer prefers to have problems solved immediately, but that’s a different aspect of the same issue. Engineers and technicians used to be not very good at interaction with real people (yep, that’s a cliché), that’s why they preferred to keep track of every issue and include it in the manual or FAQ — or, ideally, they would solve the issue in a self-explaining way (not likely, but hey..). And -surprise!- people have not embraced studying manuals cover to cover, because it’s boring, techy stuff! Same problem as before.

Another point: An angry customer is just as good as a happy one, because he gives you two opportunities: You can solve his problem AND make him happy. That’s a reward for everyone involved, isn’t it? :)”

The reply to which was: ” ‘Of course every customer prefers to have problems solved immediately’ – You said it. And so everything else becomes void :-P Welcome to my world!”

This reminded me of one of my favourite drawings. And it’s quite interesting to consider it in the context of software.

20 years ago, handling computers was not very straightforward. You had to learn a set of commands to tell the machine what to do, which in itself was awkward enough to keep the majority of people away from it. Unless, of course, your computer’s brand contained a fruit. There was little convenience in using these gray boxes, and the once who used them were in majority expert enough to find workarounds in case something caused an error, like “Oh, this field requires only digits to be entered, and I entered letters, so it didn’t store them.”.

The first major shift happened when software became more accessible by graphical user interfaces (GUI). The upside for the software companies was they could sell more because there were more customers because of the improved convenience. The downside was that the more people used software, the less experienced they were. Thus manuals grew ever larger, and programmers had to implement more error handling and feedback mechanisms to tell the users what to do when the software didn’t deliver what the user thought it should.

The second major shift happened when computers became ubiquitous. Now software designers had to deal with the whole range of users from absolute newbies to experts who had been using their software since version 1.0. The analogy here is the VCR. Every household had at least one, but even in the 90s, when VCRs were sophisticated as they could be, only a small fraction of people would know how to set the time. It just wasn’t straightforward. It’s like comparing Microsoft to Apple to Linux. Every company or project has it’s own approach of how things should be, and some people favor one over another because it matches their expectation.

Nevertheless, it’s still software which has been made by people who do not always consider or who can’t anticipate every way a user will use their product. This is a given which also applies to custom designed software. People do not know everything they want their software to do, because they don’t care about what happens under the hood. What they do care about is the look of the GUI, and ideally, error handling and feedback functions that do not make them feel stupid.

Another thing that users in general have little concept of is “beta”, meaning “it should work, but there will be some glitches that we have to figure out yet”. Which is why most beta versions are free, because no one can expect you to pay for a product that doesn’t work. Or can they?

Zynga’s very popular game Farmville is labeled as beta ever since its release one year ago, spreading like wildfire with more than 70,000,000 players worldwide. Like other games, this one has a virtual currency allowing you to buy stuff in the game. One way to increase your amount of virtual currency is to buy it with real money. And what happens (quite predictably) is that people are confusing things: The game is free and still in beta, so you can’t expect it to work perfectly. But what you buy should be yours no matter what. This explosive combination detonates every once in a while. It’s technically okay when the game crashes, but not when items they bought disappear. But people do not distinguish between the two. Their posture is: “I pay for this, so I can expect it to work.” Which is not quite the case. What’s worse though is that they a) keep on playing no matter what, and b) they complain to the public, but not to Zynga. This is not changing anything, it’s just whining.

One more thing before I’m trying to wrap this up: Software design is also about fashion. It doesn’t matter if the latest trend or technique adds any value to your project, but you better brace yourself that your customer will ask for it — just because they can! They pick up something somewhere, and they will ask you just to look smart themselves, impress their peers, whatever.

So what do we make of all of this? You have to embrace a number of things:

  • Whatever approach you take, one size will not fit all. There will always be someone screwing up, and that’s when your phone rings.
  • Be careful about customer’s expectations. There’s a large shift as soon as money is involved.
  • People hardly call when everything is alright. That’s when you should call to ask for improvements and the like.
  • Expect your customers to be human, not tech experts. This also implies that they will react as humans do, meaning they will be angry when they call you in case something fails. That’s ok. You have the opportunity to solve their problem AND lighten their mood. Give them a hug.

Literacy

April 26th, 2010

Earlier this year a study was published stating that my fellow citizens, aka Krauts, rank their computer and Internet literacy relatively high, which came quite as a surprise for me. I think it was the highest figure of all European countries compared. Last week came out a study stating that the number one country in distribution of malware and bot infected computers is — no more bets taken — Germany.

Combine that with the result of another study concluding that Facebook users (in general) are very prone to spam and abusive clicking manipulation — never mind the fact that they accuse Facebook of ignoring privacy and personal rights, but on the other hand they just click shortlinks on somebody’s wall or blindly forward them, same goes for Twitter — and you get three conclusions:

  • There won’t be less spam in the near future.
  • Antivirus and Firewall software never compensate all user responsibility deficiencies.
  • Not getting an error message doesn’t mean you’re an expert.

Apple has a point

April 14th, 2010

Lately there was a lot of buzz going on because Apple has restricted the rules for app developers for the iPhone. They must not use cross-compilers to create their software but use the tools Apple gives them. This incurred some displeasure with the community, because many programmers were looking forward to use tools that would allow them to develop their apps platform-independent and compile them for Android, iPhone and what have you simultaneously.

But Apple’s policy makes perfect sense. Cross-compilers can induce errors in the executable app that can not be seen in the source code, because it’s an entirely different language. It’s like having a simaltaneous interpreter when you’re talking to someone whose language you’re not speaking. You don’t know if the interpreter is exactly saying what you were saying to him. No chance of verifying the output.

Also, programming software for Apple computers has meant starting from scratch ever since. You have to use an entirely different framework than on a PC. Never heard any complaints about that. Quite the opposite is true, many developers prefer Apple’s tools.

But the most important point is this: Apple knows perfectly well that if too many faulty apps are being released, this will not affect the programmers. Not at all. It will only affect Apple as a platform and as a brand. They have worked almost 30 years to build their reputation of “switch it on and it works straight away”, they will never ever put that to risk. Would you? Of course not.

Needful software (II)

March 28th, 2010

A project management software for Mac that is compatible to MS Project and offers the same features, only better. And which can be fully integrated with iWork. And MS Office. Filemaker too (just in case the one person who needs it shows up). Plus Google Docs — and Google Wave, of course (no pun intended — there’s quite little buzz about it recently, or is it just me?)

Can you make it? Pretty please?

Needful software (I)

March 28th, 2010

I’ve been using computers for about 20 years now and never had any issues in terms of violating file system limitations. One reason certainly was that I never ran the risk of having too long/deep folder structures because there wasn’t that much data. This of course changes when you have a constellation where you have a desktop workstation and a notebook for working remotely, and use the desktop PC to store your backups as well. You can pretty easy end up with a folder structure that has more than 255 characters (including filename and extension). What happens next is your computer crashing without warning every time the automatic indexing hits the folder. I only discovered it because I tried to move all the data to a Linux-based NAS (which has an ext-3 file system with almost the same limitations as NTFS on Windows). For some reasons Windows doesn’t give a warning when you put a folder structure of critical length into another folder but has no problem telling you thereafter taht it cannot do anything because it’s broken.

The core question is: How do we organize data? What’s most annoying about the classic folder concept is that it only allows for one context in which data can be represented, but technically, it doesn’t matter. The file system itself is nothing but a giant database where a string variable points to a physical area of your hard drive. Some more information that is stored there: file size, file type (extension), creation date, modification date.

I’d like someone to come up with a piece of software that hooks in at this very basic level and gives me whatever contextualization of the data I like, say, by last modification date, document type and a number of tags I have entered. Or the other way round, with a single click, not going through the whole procedure again. It’s all built in, but not being used. To be clear: I don’t want a search tool, what I’m asking for is a flexible explorer (hint: if you’ree finished making it, flexplorer.com is already taken — by a Cayman Island Domain Troll of course. Flexplorer-xp or winflexplorer are still up for grabs).