r/suckless•
MechaBlue

Doing many things poorly is an expensive way to fail

I test a lot of multimedia education software, much of it written in Flash. The single biggest sin I encounter is that of hubris, the idea that a large and established piece of software can quickly be replicated. While this is exciting, it's a quick way to a slow and painful death. The problems are 3-fold.

Firstly, if you ape an existing piece of software, people will expect similar functionality and behavior. You need to put a lot of thought into the feature set and interface or users will get frustrated when the tools they need don't behave properly. "Developer driven design" is a good way to disappoint users; ease of implementation does not translate to useful.

Secondly, the big pieces of software have spent a lot of time working bugs out of their software and their design. There are many corner cases that can occur in even the simplest clone of Adobe Illustrator and, if these aren't dealt with up front in the design, they will result in days or weeks of painful debugging and testing at the end of the project. It is hard to solve difficult problems when you are without sleep, without time, and without budget.

Thirdly, and finally, the users may already have the software. If a users can be guaranteed to have Word, why are you spending 2 weeks implementing a poor clone of WordPad?

This really all comes down to the same poor analysis and design processes: It'll be awesome; let's start coding!!

Posted Mar 6, 2011, 9:36 PM UTC

60

No comments yet

Nobody commented on this post, or the comments weren't captured.