Tuesday, December 18, 2007

smaller is better, or so i think

back when computer users needed training to use computers (and it really wasn't that long ago), programs generally took the approach that one program was supposed to do one thing - or a very few related things - well. so you would use a graphics program for creating graphics, a word processor to create documents, and a DTP program to lay out documents you wanted to publish. every program had its place. little wonder so many companies released application suites, such as Lotus', Microsoft's and Corel's office application suites. even a giant like Adobe wasn't left out (or why would they have Photoshop, Pagemaker, Illustrator and so on?).

all that changed as users wanted to do more with less and software vendors wanted to win the format wars (i also think that the programming joke about the universe and programmers also holds water, but for the purpose of being nice, i'll leave that out for now). as an example, a program like CorelDRAW - originally a vector illustration program - added more features like bitmap effects and DTP. so many other programs have gone the same way - Photoshop added vectors, word processors became DTP tools, and so on. despite all that, it's still good to see a program that does a few things well. my opinion is, the smaller and more specific the program's feature set is, the better. smaller programs are just easier to master. take for instance, what i use for 3D (even though i don't work in 3D often). more often than not, i do my modeling in Wings3D and then import the model into Blender. there, i do my scene setup, add materials, import textures created/edited in one or more programs and then render (more often than not, using an external renderer). it's not that Blender doesn't have modeling tools - it does - more modeling tools than Wings3D, and in fact, i started using Blender before i started using Wings3D. then why? simply because Wings3D is a much smaller program and takes much less to master than Blender (i also think modeling in Wings3D is simpler, but that's a matter of opinion).

Google Sketchup is another example. it's basically a modeling tool. the (relatively) smaller feature set is one reason it's rather popular (the $0 price tag on the free version is also another reason), but i think even the paid version is popular because it's smaller and the features can be learned in a smaller time.

so am i advocating that software vendors strip out features from their software? not particularly. i merely think that users would rather do a few things very well than a lot of things badly. for instance, while lots of documents can be laid out in a word processor, word processors are still not good enough for some things. otherwise, we would have seen the end of such programs as Pagemaker (people, let's face facts - word processors still suck at DTP) and the LaTeX variants.

in the end, productivity is the key. and i think that we're returning to the time when an application will do a few things well - or why would mashups and web services be so popular? the main obstacle to that is data interchange (the format wars aren't over, even if there are now open standards for data exchange). until the day when we can just create applications using a plugin-type architecture (load graphics, text processing, DTP and PDF output) or we use a workflow, we will be stuck with feature-rich (and therefore feature-useless) and bloated applications (if you need to put incremental search into your application, it's really big). but hey, what do i know? i'm just a college kid with horrible grades. and a horrible attitude. and i reserve the right to be wrong, since we have lost control of the apparatus.

before i leave, though, i'd best say what led me to this rant. i've taken a few cursory looks at both Scribus and Creative Docs .NET. i was looking at the second, and wondering why we needed them - then it hit me. we still want programs that do just what we want them to. failing that, we'd be happy if they'd work as advertised (no, this does not include the kind of people who want 3D programs to have the 'Create Eye-catching Animation' button. i mean people who're actually interested in doing work - if they'll get results). i think it's unfortunate though. we may just have been misinterpreted as saying we want gazillions more features. so hail the (usually) independent developer who codes that app you got so used to you can't do without.

No comments: