Monday, March 31, 2008

"Why Software Sucks" Keynote Speech at Dev Days in Amsterdam May 22-23

Ladies and gentlemen, I am please to announce that I'll be giving the keynote talk, "Why Software Sucks"at Microsoft Dev Days in Amsterdam this coming May 22-23. If you're in that corner of the world and fancy a lively talk, why don't you come on in? Information is online at . I'm also giving breakouts on "Using WPF for Good Rather Than Evil" and "Instrumenting the UI: Knowing Thy User." Hope I'll see you there.



Ike Wiggins said...


The software doesn't suck, you might be the one that sucks (unless of course it's Microsoft products, nobody likes them). I will only concede on one fact that nanny applications are annoying.

In reference to the article you were quoted in (see below) I have to clear somethings up.

Dave, you really want ubiquitous computing but that is unachievable and unrealistic. We don't make helmets that derive what your thinking and all possible tangible thoughts. That's the equivalent of having a direct line to god (if you do have direct line, tell god that I don't think the science is sound or existence of god). If we could do such a thing, the software would be quite expensive and we certainly wouldn't be sharing it with you.

Unfortunately Dave, I think your out of touch and out of date. Here's a quick couple of examples with software and programmers:

Myth 1. The iPhone is Ishtar? A touch screen couldn't be cooler and more user friendly. The concept of a touch screen has been around for decades but no one has been able to achieve it with such success like apple. You can thank star trek for the ground breaking idea, imagination is life's creation. Not only that but you can go to the apple store to better understand how the device works and how you can leverage it for your needs.

Do you own an iPhone? It will change your life. Ever been lost, pin drop your location, re-map the directions. Ever wanted to check your email? The device is amazing. Before you bad mouth it, I would suggest you really give it a test run.

Myth 2. Programmers like manual transmissions because of control. Your commentary is all about control and about how much or too little you have with programs, so in a sense your comments in the article make you a hypocrite in this regard. A mute point.

The reason that "some" not "all" programmers drive cars with manual is because we like sports cars (it gets the chicks). We make a lot of money (because were smart and sexy thinkers) and it's unfortunate but high class sports cars typically have manual transmissions. We can appreciate the performance of manual transmission as well as the sexy ladies in the passenger seat. Don't be jealous.

Myth 3: Programmers define the ui experience. We have very little say. It's usually a business analyst or "non-technical" analyst that derive ui experience. Quit blaming us. We just do what were told....

Ike Wiggins

Barfield said...

It's not the software that sucks its the user.

Never knowing what really is going on. Impatiently pushing every little button they see or hiding in a simple corner only pushing the button that they know of and that works.

If only we could remove the user from the equation software would be so much better.

Stupid users anyway!

Ruben said...

I've attendted both your rants erm... sessions yesterday at the Amterdam DevDays and found them inspiring, entertaining and though-provoking.

And you know what, it's not just a software thing. I talked to my girlfriend about 'Why Software Sucks' and she recognized a lot of the points you dwelled upon. She's an architect herself and she too has to deal with unknowing users who would like to have a building that 'Just works'. These users don't care about clever engineering solutions or intricate details; they want a roof over their heads!

rkeyers said...

I've also attended the "Why Software Sucks" keynote and, inspired by the keynote, I also attended the talk about instrumenting applications to track user experience.

I do think software can be better. For example: If you have a grid of data that takes a few moments to load, and your statistics tell you that the first thing a user clicks in this grid is the 'filter' button to filter on a single record in that grid. Wouldn't it be better to start with the filter screen and only (quickly) load that single record the user really wants.

I've (ofcourse) also bought your book "Why Software Sucks". Partially to learn from it, partially just for laughs because you really are (in the most positive way imaginable) 'a leeetle beet crazy'.

Thanks a bunch for your inspiring talks! Hope to see or hear from you again soon!

Ike Wiggins said...

Quite and elaborate scenario (the stats piece is unnecessary and with a good simple software development) rykers.....

"I do think software can be better. For example: If you have a grid of data that takes a few moments to load, and your statistics tell you that the first thing a user clicks in this grid is the 'filter' button to filter on a single record in that grid."

Maybe if you were using better development software like oracle toolsets (4th Generation), you would be able to do exactly what has been suggested, with little effort. You configure the form6i/9i/10g/11g to a fetch limit and first row only when getting data from a database. I suspect your working in with microsoft toolsets or you're using completely custom toolsets.

Also, a different flavor of this idea from a web-based standpoint is ppr (partial-page rendering). This allows content to be loaded on the page in real-time without a post or get to the web-server. This particular technology is AJAX. It works like a champ. If your going to use AJAX, I would suggest you get DOJO. The JavaScript is enabled for several browsers (Firefox, opera, etc) and a good portion functionality is already coded for you.

Have a good one,

Ike Wiggins

Deathraven said...

@Ike wiggins: You shoot down rkeyers example with the statement that he must be using a "inferior development toolset". This tells me that you don't really get what all this is about.

The whole point of this is not related to technology or which development stack you are working with. Its about having the right mindset. Its about developing your software in such a way that it minimizes "friction" between the user and the application. Its about making your software as intuitive and easy to use as possible.

I went to the keynote and the talk about 'instrumenting applications to track user experience' and i found the points that David made very good.