|
From: | Richard Frith-Macdonald |
Subject: | Re: Options and choises rant |
Date: | Tue, 17 Jan 2006 06:45:14 +0000 |
On 15 Jan 2006, at 12:41, Dennis Leeuw wrote:
Richard Frith-Macdonald wrote:Apparently even microsoft have partially recognised this ... I recently followed a link to a news item about their latest release of 'office' in which it was said they did lot's of market research to find out what new features people would like ... and found that over 90% of the requested features were already in the software. The conclusion they drew from this was that they needed a new, context sensitive, user interface design to allow people to find features more easily. I think they only got that partially right ... things like ms-office (and now open-office) are horribly bloated and need to be broken up and modularised, improving the gui is a good step, but it's not enough. A lot of stuff should be completely removed from core applications and some sort of 'howto' tool should be devised to use AI principles to help people find the right tool for the job. Having a context sensitive gui within a single tool is a mistake ... we are much better at handling consistent interfaces rather than dynamically changing user interfaces, so if we are going to have to switch to handle a new task we want a radical ui change so we *know* we are handling a new task, and while we are operating within one tool we do not want the user interface changing.This sounds a lot like the KISS principle. Small apps that do one thing right, and other apps for other tasks.But just to get my mind straight. Let's assume the famous Office discussion, and let us make it even more simpel and only use the document creation part. I think one thing that GNUstep handles right is color and font management. It opens a panel, which is a "standalone" object (or app if your prefer) that deals exclusively with the task it was designed for. Do you mean this kind of design when you talk about bundles and a modularised design?
Sort of ... I don't want to get too specific because I don't thing one particular technique fits all cases, but I guess I'm really talking about object oriented design philosophy being extended to different aspects of the software design, not just to the coding/ language. That means grouping closely associated things together into a unit which can be easily managed, hiding the contents/internal details, presenting a simple/flexible interface to the outside world, and making it easily reusable/extensible.
In coding that's a class, in program architecture it might be a loadable bundle which provides a panel to control its actions as you suggest, or a standalone application offering services to (and DnD integration with) other applications. In NeXTstep, a couple of good examples of the loadable bundles might be the palettes in InterfaceBuilder and the modules in the Preferences application.
What I was getting at beyond that, was the fact that with all their bloat in a single app, microsoft have the problem that people don't know about/can't find functionality they want even though it's already there.
I think simple, moduler, object oriented design will help (certainly with making specific tools user friendly) ... but I don't think it will solve the larger problem of finding the right tool for the job, and I don't think either problem can be solved with context sensitive UI changes. My guess is we need some mechanism for people to easily find out how to do things and which tools are appropriate for a job ... perhaps a task search engine analagous to google. ie where users say what works for them and the most frequently used solutions are rated highest and found first. For instance, off the top of my head, a p2p network to hold a distributed database of information, and a standard panel in gnustep applications to search for solutions to a task, and to enter information about how problems have been solved with what tools etc.
[Prev in Thread] | Current Thread | [Next in Thread] |