dubuntu-team team mailing list archive
-
dubuntu-team team
-
Mailing list archive
-
Message #00081
Re: cli frontend
hi charl
i think your approach is a bit convoluted however my position is not so
far from yours. actually i've come the concept of 'search categories' -
something similar to search folders in evolution. i haven't mentioned
them previously 'caz i'm not yet determined about possible ways to
implement them. i've added a special field called 'pattern' to category
description and in the worst case it will contain just a SELECT
statement;). the idea behind them is that first we will put packages
into 'normal' categories and then add them to 'search' ones. e.g.
Eclipse will go into say /development/ides/multilingual/. and then we
will also add it to /development/languages/[c++|java|...]/ides. we'll be
able to add packages to 'search' categories either by specifying them
manually or by constructing some search criteria.
> When you start the installer it would ask you to complete the list of
> requirements. Which you may choose to complete as follows:
>
> - Target environment? Gnome
> - Language? C++
> - Require IDE? Yes
> - Require Debugging? Yes
>
> It would then present you with a list of options by category, of which
> you may then select one or more:
>
> - IDE/Editor: Elipse / Anjuta
> - Compiler: gcc
> - UI library: gtk+
> - Debugging Tools: gdb / valgrind
i think it can be too hard for some creatures to answer all such
questions at once. sometimes users don't even know what they need so you
should guide them through all possible choices starting from most simple
things of course. it will help them to figure out what they actually
need. and an answer like
>- IDE/Editor: Elipse / Anjuta
> - Compiler: gcc
> - UI library: gtk+
> - Debugging Tools: gdb / valgrind
can shock some users as they may not know what 'ui' or 'compiler' means.
it's like when some newbie tries to ask you what to do with a message
dialog shown by his favorite oowriter but he's never heard terms like
message box, window etc. so you ask him:
- what were he doing when this happened?
- i was editing a letter to santa clause. (at this point you understand
that he was working in his text editor).
- and what happened next?
- next it showed me.. i don't know what it was..
- a message?
- right, it was..(at this point you understand that he faced some
warning or error message from oowriter).
you cannot ask him what that message was about right away. likewise you
cant ask user whether he needs debugging or not right when he starts the
installer - maybe he doesn't know what you're talking about.
i believe that user needs to see how he's approaching his target
starting from more general questions and ending with more specific ones.
an experienced user can step down this hierarchy very quickly, but a
noob would like to stop at every step to read its description.
lets imagine a student that wants to install delphi. he doesn't know
what it actually is yet but he was told he would start learning it from
the next week so he wants to get prepared. so he opens the installer:
would you like to extend your current configuration? > yes.
in which direction would you like to extend it?
- multimedia
- development
- ... > development
(at this point a very lazy user can hit something like 'extend to
maximum' and be sure he has everything installed. or he can select 'add
recommended' and get installed only the most popular and effective
tools.)
what sort of development are you going to do?
- web
- desktop
- mobile > desktop
what do you like to add to your current configuration?
- new language
- new ide
- new manual > language
what language would you like to add?
- c
- c++
- ruby
- ...
(searches for 'delphi'. hits [back] and reads provided descriptions)
what do you like to add to your current configuration?
- new language
- new ide
- new manual > ide
what ide would you like to add?
- ...
- delphi
- ... > delphi
what functionality would you like to be included?
- *a list of all possible options for delphi* > 'add recommended'.
this is it. 'add recommended' is our advice for newbies. and as you can
see you can add either a new language or new ide because ide's can
support many languages and a single language can be supported by many
ide's. but you can't add a compiler at this step because your choice
depends either on language you speak or ide you live in.
as you see it's not a problem to specify a correct question for every
category along with a list of recommended options. i stand for something
tree-like. most windows installers first ask you more general question
and only then go into detail and at almost every step you can just agree
with default settings. you know that they are often very easy to use -
just several clicks and here you are.
if that student would know what language he needs instead of ide he
would go to the list of languages, select say c++ and then the installer
would ask him:
what language component would you like to add?
- compiler
- ide
- debugger
- manual
- ... > [add recommended] (at this point the installer downloads and
installs say gcc/g++/geany/eclipse with cdt/gdb/manpages - everything we
recommend for c++ development)
instead of providing user with a list of requirements i suggest to give
him a whole tree of choices in which for almost every leaf there will be
several ways to reach it and the way he will choose will eventually
depend on his own needs.
the basic idea is that user shouldn't face difficult questions like does
he need debugging or not when he launches the installer. he will
approach such questions step by step starting from much easier ones.
newbies prefer to be guided so we will create a step by step guide for
them. for pros maybe we will add a button [show all packages in this
category] so that at every level they will be able to view the whole
list - it's much like when you first use 'search' button in synaptic and
then look through the list of packages.
hope this makes my position more clear.
jay
Follow ups
References