“They have one rule – if they don’t see visible joy in seven minutes the game will be a flop, so I told that to our developers: visible joy in seven minutes.”
-SAP Co-CEO Jim Hagemann Snabe, relating lessons learned from EA

Above is the most absurdly stupid expression of ignorance about software development that I have seen in a long time. Certainly it’s the best example of such coming from someone with so much power and vested interest. The article that irked me can be found here: http://www.forbes.com/sites/sap/2011/03/04/the-gamification-of-sap/

Background points:

  • SAP is a company that sells business management and accounting software and software infrastructure targeted at medium and large corporations
  • Gamification:
    1) The process of turning activity X into a game, or at least engineering it to take advantage of some of the psychological factors of gaming.
    2) A buzzword among “tech” management types that means essentially nothing, as they usually do.

Rebuttal points:

  • If gamification sounds like what you do to get a child to clean up their room, you’ve basically got the right idea. The fact that this psychological trick is effective on some pre-pubescent children does not guarantee its effectiveness on accountants and sales managers.
  • EA is a terrible source to learn about anything. EA is a sweatshop, that produces typically low-quality software. Much of their software’s inadequacy is hidden by their problem domain – that is to say they’ve sacrificed the most expensive and most important quality, maintainability, in a wholesale fashion and they can get away with it only because they’re making something that’s essentially disposable. Most software is maintained for 10 to 30 years, and SAP is certainly not disposable.
  • Requiring joy in the immediate reaction is not a good idea for judging quality of almost anything. It’s not even a good measure for the quality of a game. Did you really experience joy in the first seven minutes of football you ever played? Honestly? How about Risk? It is a good measure of a video game’s marketability, however, which is what EA is after.

Long-winded points:
SAP should be about effectiveness of their users, who are their customers’ employees, when using their software.
If we take for a moment a merely superficial examination of the possible UI implementations they could choose, I feel confident that the speediest choice would ultimately be something based on ncurses or similar (perhaps conio for those still in that Hell). Sit next to someone who really knows vi and watch over their shoulder… it’s hard to even follow what’s going on as the computer flashes responses to user actions in front of you. Now, for a lot of SAP-type applications it would be more likely menu-based or similar, but even then ncurses can reduce your keystroke count quite significantly. And it does take time to get used to such an interface, but these folks are going to spend 50 hours a week working on it… they’ll get used to it and up to speed.
And of course the most stable and supportable implementation would be simple stdin/stdout CLI, but an ncurses version would be close behind in both.
I’m not really suggesting they do either of those. For starters they’d never be able to market it, because people have got it in their heads that a screen full of text is a sign of antiquated and somehow inferior technology, which is ironic but OK. Besides that, a simplistic GUI can be made fast enough for most of these use cases, and could be made to react in the same sequence as the UI I described above. Add to that the fact that the first day you sit down at that machine you are more productive than you would’ve been with a text-only interface, because people intuitively learn mouse-enabled interfaces faster – we just do.
So maybe if you take it a step further, dump all the GUI libraries that were made specifically for business applications like this and instead pick up 3D rendering libraries… what? You’ve made the interface slower, less reliable, harder to train for remotely, harder to support, and the user’s actions are exponentially more complex and slower. What have you gained?
Oh, don’t get me wrong – I get it. I get that they think people will have “fun” playing “Lead in One” (read the article). There’s no way that’ll get old after playing it 30 hours a week! And if people are having “fun” maybe they’ll pay more attention to work, surf the Web less, and daydream less. Right? You do realize you’re clients are paying these people to use your software, right? You don’t have to compete with banner ads that want me to think I can play whack-a-mole. Or maybe I’m wrong and this sort of stupidity really is required to get an American to focus on work for more than 20 seconds. If they’re right and anything at all will have to be a game and fun lest it not get done, well then we’re doomed. But if we’re doomed, then SAP might as well close up shop since Americans are such a big part of their clientelle. Why spend a lot of money on a strategy that only makes sense if you’re doomed, and thus can only be a losing strategy?
And then there’s the other end – hiring SAP developers. GUI work is much easier with a decent toolkit, e.g. GTKmm or Swing. Those toolkits were aimed directly at supporting the sort of abstract data-exchange UIs that are the backbone of most of the software businesses customize and rely on, and SAP produces. There are many, many developers out there with experience in this sort of thing, so it’s easy to hire them. Gaming UIs, particularly the 3D sort, are a whole different matter, especially as our expectations continually rise. Search through resumes on Dice for people who know QT, then do it again for people who know OSG. And the people who have spent the years honing their GPU-optimized quaternions algorithms… well not all of them have spent years developing the sort of programming skills that apply to SAP’s problem domains.