New software idea, helping users find preferred applications.

Erik Parmann eparmann at broadpark.no
Sun Jan 2 22:19:30 UTC 2005


Chuck Vose wrote:

>One of the killers I think is that you'll either have to:
>
>a) manually update this database all the time, yourself. This would be
>impossible; it must be automated.
>b) convince the debian guys to change .deb or redhat to change .rpm.
>This hasn't happened in a while but it could be done.
>
>However, both apt and rpm have utilities to search through their
>package file descriptions. For apt you have 'apt-cache search
>keyword'. Perhaps you don't need a database?
>
>  
>
I think I sense a misunderstanding. Bill's database should just contain 
the subject (that is file type or hardware device), action (for file 
type that is mainly if the software is gone be used to view or edit) and 
recommendation (that is the program(s) it recommends for the job). It 
can recommend more than 1 software, if there is more than 1 software 
witch does the job. It then asks the package manager
a)Witch of the software the package manager has
b)For a description of the program(s)
It then presents these for the user, and when the user has chosen witch 
of the program to install, Bill asks the package manager to install it 
and all deps.

Lets take the example where the user plugins the Zen Touch with a system 
with Bill and a apt package manager (like ubuntu):
1)Hal sees the device, don't know what to do with it and asks Bill.
2)Bill receives the request, and looks in the distro specific database. 
If there is no entry there it looks in its default database, and finds 
that both gnomad2 and neutrino works with Zen touch.
3)It then searches for the tools in the package manager: apt-cache 
search gnomad2; apt-cache search neutrino
4)It registers that the package manager has them both. If the package 
manager don't have one of them, it rules that one out.
5)Bill then requests information about the packages the package manager 
has: apt-cache show gnomad2; apt-cache show neutrino. It would offcourse 
filter the output so it only got the data it wanted.
6)It then presents this information to the user, witch then can chose to 
install the app (s)he wants.
7)When (s)he presses the install button Bill installs the software: 
apt-get install gnomad2. Or if (s)he wanted neutrino instead; apt-get 
install neutrino.
8)Bill get response from the package manager that the install worked, 
and bill reports back to HAL that next time a Zen Touch is entered HAL 
should start gnomad2 (the same way it now starts a dvd player or cd 
player).

Then the idea is to create plugins for several package managers. So on 
gentoo Bill would do emerge -s and on rpm distros it would do whatever 
commands rpm uses.

Bill's main assignment is to know what tools to use for a job (that is 
access a hardware device or a file type).
It should not do all the things the package manager does today, it just 
passes  those jobs on to the package manager.
"Do one thing, and do it good" :-P

> The last point I would mention is that before starting a project you
> need to be sure that you can do the whole thing. People have a
> mistaken conception that others will build the software but in all
> reality other contributors tend to merely send in a patch once in a
> while to fix something they like, the onus will be on the developer to
> program everything. So, I would suggest that you become a guru or at
> least get a working version working, or find a sponsor to dump this
> project on (though I think the first will be easier :)
>
> I believe in you guys, I think it'll be a great project. Keep up the
> work even if it takes a while.
>
> Love,
> Chuck Vose
>
Currently Bill itself don't look like a hard program to create, it would 
just need to receive something to search for, search a database, pass 
commands on to a package manager and receive response, present it to the 
user, pass another command to the package manager and then return the 
installed software on exit.
But off course, it is harder than 'print "Hello world"'.
Modifying HAL and a GUI to ask Bill (without it Bill is useless) is a 
completly different beast.
Erik Parmann.




More information about the ubuntu-users mailing list