The Seductiveness of New Features

New ideas, features you wish were in the game.
Post Reply
Fink
Ancient MultiHued Dragon
Posts: 614
Joined: Tue 20.01.2004, 13:55

The Seductiveness of New Features

Post by Fink » Wed 12.09.2007, 23:36

Envision the following two necklaces, and think which one looks better, and is the preferable example of a necklace:

A. A necklace made of ten uncut, uncleaned large rough diamonds, tied with baling wire onto a crude loop of hemp twine.

B. One single mid-sized, gorgeously cut, perfectly polished, imperfection-free diamond on a shiney, beautifully crafted small platinum necklace.



Now sure, the ultimate net retail worth of the first is probably 10 times the value of the latter. But if both are a necklace to be worn, in the end the smaller, but well-done example is the clear winner. The other would just make you look like a stinky hippie who's into cheap crystals :P


                                                                   


So too with software. And, when it's software no-one is getting paid to make, the analogy is all the more apt.

As we enter a period when there's a sudden burst of productive activity on the MAngband front (and, as well, I suspect the next year or two will see some good movement forward on the codebase), I want to take a moment to remind people of the idea of quality vs quantity as we all get understandly fired up by the possibilities the new code and features brings to mind.

When someone checks in a bunch of great new stuff, you can't help but dive for the wish-list section of the forum with cool ideas for new features you have. There's nothing wrong with this, as we need a large, healthy library of ideas and discussion on ideas for post-1.0. Ideas and blue-skying rocks!

But, spare a moment or two to think about the things we already have in the game. Particularly because MAngband has been so long-lived, we quite reasonably have gotten used to how it works and what its does - warts and all. It was this thought that prompted me to post my thread about focusing on the new user experience, so we can step back and get a look at some of the rough edges we have gotten used to.

So, as we spend time envisioning the new things that are possible for the future, we need to remind ourselves to also spend time thinking about how to make what we have better, less clunky, easier to use, easier to understand, more powerful, more refined, and more streamlined. A lot of open-source projects often get unwieldly and kind of clunky because its more fun to focus on new stuff than make existing stuff better.


                                                                   


Here's a couple examples to get my point accross, where I've allowed myself to be seduced by new ideas instead of focusing on making existing ideas and features better:


More stuff for the server vs. Easier, simple, more powerful use of a server:

I got all fired up thinking about new things we could add to allow a tailor-made PVP setup for a server operator to get exactly the kind of scenario they want going with their server. This is of course a great thing to think of doing. But, what about instead...

Focusing on making running the existing mangband server code easier, less code-tweak intensive, simpler, and more realistic for non-programmers. This was Bills idea, of getting as many settings that a server operator might want to mess with out of the code and into a simple configuration file, so that the average server operator wouldnt ever have to muck about with code. This means it would be much easier for existing server operators to make their server better and just how they want it, make it easier for more people to be able to tweak things that otherwise might be a little scary to mess with in the code ("erm, if I change those series of values, am I just going to break stuff because I really dont know if its safe to tweak them or not?"), and allow a larger set of people to realisticly fire up a server (currently, its a hail-mary with an exe, or a basic knowledge of how to compile code).


Write new, better docs vs. clean up existing docs, and organize them better

In my "focus on the new user" thread, I advocated making a new "just want to check out the game and get up and running" doc for people who dont want the whole info deal, but instead just want to see what MAngband is all about. Now, this is a perfectly good idea, but on the other hand ...

Holy mother of god, do we need to present the player with even more freaking docs to choose from?! We've got so many damned docs, we have to break it up into separate sections! We've got docs here, there, everywhere: we've got forum posts that act as docs, docs with wierd names, and pages filled with docs that all sound like they are maybe similar, maybe not, who knows, wiki sites, and more. Maybe instead of yet more docs, we should first make the existing doc "experience" a little easier to wade through. We already cover huge wodges of mangband's bases in our docs, but we have them spread out, listed flat instead of hierarchically, with little indication of where a reader should start. Maybe before we add new docs, we should think about ways of organizing and presenting our existing library of docs in a easier to use way.


                                                                   


So, as we dive in with juicy new code, checking out new features that fire up the imagination for what possible in the post 1.0 future, let's remember to as well take the occasional peek at existing features, systems, and assumptions to see if we can also make the mangband we do have better, easier to use, easier to get into, and all around more polished. Cleaning up existing features and content is generally not a very sexy task, but there's no more effective way to make a peice of software shine.

Post Reply