moi development

 From:  Michael Gibson
4560.7 In reply to 4560.1 
Hi Bri,

> If this all makes sense here's my question: How do you
> determine which tools are developed while keeping the UI
> and workflow inline with the creative user.

Well, it's a tricky process! :)

There's sort of a lot of different factors that come into play.

One is that I try to focus on making more general purpose tools, ones that can be used for a variety of different kinds of situations instead of ones that are really heavily specialized for one really narrow purpose. Like you mentioned there can be some bad side effects from having too many specialized tools - one big one is just having too much UI and too many things to wade through to find the stuff that you need to use.

It's very normal though for software to move towards the direction of feature bloat over time, it's kind of the natural way that things gravitate, because of course people want new features all the time and lots of people want lots of different kinds of features so they tend to accumulate. It's something that I am really vigilant about since it is such a common problem.

Sometimes just the mere fact that I'm a single developer working on developing the new features actually helps out for this situation since my development time is really limited.

Also back when I started MoI I did not shy away from the idea of not being able to do some things until the time came that the UI for it was well thought through for the future as well. Part of this involves sometimes just saying that MoI is not the right tool for some particular job because it doesn't do that particular thing yet, and not really worrying about that being such a bad thing. So kind of taking a long term view instead of a short term view is another piece.

Another thing that helps out is that I generally have a policy that new feature ideas that add to the power of an existing feature without needing to add in a separate new command will jump to the top of my priority list.

Another thing yet is that if someone asks for a particular feature that would help out their specfic workflow if possible I see about implementing that as a plug-in that can be added just to that person's installation of MoI so that they are helped out but it doesn't weigh down the regular interface.

It's kind of a combination of various facets like these (and probably some that I'm forgetting to mention now) that helps to maintain ease of use and avoiding feature bloat.

It definitely takes special vigilance to avoid it though, it's really natural for programs to become complex over time, and often times the existing users are not really aware of how complex it has become if they've been along for the ride from earlier versions. They can be kind of like the frog in a slowly heated pot that doesn't know it's being boiled but brand new users who try to jump right in notice it right away.

But anyway this is a particularly big focus area for MoI, it's one of the things that makes MoI a bit unusual.

- Michael