Some considerations...



Hello! I really like the idea of a gnome OS, but I think there are
still many issues in writing a _real_ desktop user oriented distro..
mainly because for the average computer user (which has been in
windows or mac world) certain aspects of linux distros remain
unaccessible... and such problem cant be fixed without some radical
changes..
I'll try to detail what comes to mind from what i've read so far.

-Package/program management
----------------------------
Should _real_ local installs be encouraged (i dont mean /usr/local)?
so far in the unix world, the programs are split into many
directories. I dont see this as a problem, but for the regular
user who likes to browse the net, find a program and download it..
this is impossible. 
Is it feasible to do something like:

1-User gets the program/packege
2-Program/package comes in some format (not deb/rpg?) which contains
_both_ source and binary
3-User installs the program
4-The program _inst_ installed on /usr/ but in some dir inside the
user's home (unless he is root),
like for example..

/home/joe/applications/sylpheed-0.5.0/lib/blahblah
/home/joe/applications/sylpheed-0.5.0/bin/blahblah
/home/joe/applications/sylpheed-0.5.0/src/sources of the program go
here
/home/joe/applications/sylpheed-0.5.0/doc documentation goes here

And then, the contents of lib and bin on this directory are symlinked
to, for example

/home/joe/bin
/home/joe/lib

If the programs are installed as root, the same step can be taken, but
in a global dir
like /applications

What does this let you do?

-Easy binary distribution for installing/deleting programs, without
the need of a package manager.
say he gets a .tar.gz .. which may contain both source and bin, it may
come with a file called
"install.sh" which he clicks.. which is a symlink to
/usr/share/tools/install.sh , and takes
care of making symlinks of libs/executables, check lib versions (in
case the programmer
decided to throw some simple but obscure shared lib, which the program
needs -and with maybe some static linkage-, in the distribution to
avoid the user from going mad searching it on the net, etc) so if this
lib exists on the system already with newer version, the symlink is
not made.

Of course, we can easily say.. "What if he wants to install some QT or
KDE app? wouldnt that be messy?"
To which I think.. this is gnome-OS, not KDE OS. 
I think the objetive of this OS should be, priority #1: user
friendlyness in any aspect, and priority #2: compatibility with
existing stuff. Any existing distro has #2 over #1, so.. i'm guessing
that for this to be really revolutionary.. compatibility has to be
broken in the sake of userfriendlyness, and if the approach succeds,
programmers will have no problem in writing compatible software.
Gnome/GTK+ have far more applications developed for it than QT/KDE, so
it's unlikely that the user will need to resort to applications
written in such toolkits. 

So, what does everyone think? Should this approach once and for all
try to create a "consistent"
Operative System for normal users on top of the Linux kernel? Or it
should just become yet another
Linux distribution, which simply differs by using the "gnome" name?.

Another approach could be more like the "macosX/beos" approach whre
you simply just unsit and run..
but for this the programmers would have to certainly port their apps.



-Distribution based on debian:
------------------------------

I use debian since 3 years, and i really love it, but sometimes the
post/pre install scripts
mess up and you need some "expertise" that the average user lacks.
Also I am not aware of any
really _useful_ frontend for apt. I dont see debian being a problem
here, but if we
go for an userfriendly directory layout, the current debian
repositories would certainly
either become useless, OR (if it is possible) a wrapper can be written
so instead of being
installed in the standard way, they can be wrapped? Even whith that,
volunteers would
be needed to repackage programs for the new OS. 
Even with that, if the approached i mentioned on the previous point is
viable..
should a debian-based distribution be that necesary? Because, lets
face it, apt
rules, but the average user is fine downloading programs from the web 
and installing them.


-Unix stuff that should die:
-----------------------------

For a desktop oriented OS.. I think some things in unix/posix/linux
distros are far too complex and unnecesary.
Should all the runlevel stuff be taken out?
Should all those /var/log entries dissapear, or just be adapted to an
easier-for-the-user
to read or easier to open from some graphical interface?

All the mount and filesystem limitations/mess
(/etc/mtab&fstab,shares/etc) should be
better organized and easily manageable from a gui? I think many tools
for this exist..

How about a _control panel_  for the system?

A graphical layout to install/remove drivers, install/remove fonts,
tune the system
in a lot of ways (filesystem, drive properties,sound options, etc) is
missing
in every linux distro. Just not everything is there.. so why cant
everything be
there and manageable from a graphical interface? Shouldnt the aim of
this
OS be that the user has to be able to configure, say at least, 90% of
his system
using a graphical interface? Wouldnt be awesome if he handt have to
go and tweak those scary textfiles?

so also talking about this...

-Configuration:
---------------

Editing textfiles is painful for the average user, and can be even
annoying for us
regular users. Some of them are _too_ complicated, and having a
manpage
means either searchign all around or reading the _whole_ thing just to
find out a little
feature. I think _also_ the windows registry approach is too insane,
so why
not doing something intermediate like have the configurations be saved
into
some standard/easy to parse format? This way GUIs can be written to
parse
such files easily. Also, configuring many programs that already
exist could be handled by debconf (if based on debian) or similar.


-X11:
-----

Should X be replaced?
X is slow and a big memory eater, but it works and it's reliable,
besides having the best driver support.
The only existing "alternative" could be directFB, which runs using
accelerated linux framebuffer
and has support for GTK as well as v4linux and other apis. I tried
this myself on in my k6-500 and not only it works very smooth (faster
than X), but you can make windows transparent, which is a really nice
feature.  DirectFB also lets you change video modes and depths freely
on the fly.
Why should this be , at least, considered?
I think in part.. because X is certainly huge and heavy. X is very
difficult to configure (impossible for
a normal user), the font system is archaic and terrible to deal with,
it doesnt support dynamic desktop
size/depth changing, the ability to use remote apps may be good, but
unnecesary 99.9% of the time, which in such cases VNC can be used, and
also, directFB proovides an xserver, with wich compatiiblity can be
achieved if necesary.
Still, directFB has drawbacks, which mainly are lack of drivers
(althuoght most popular cards are supported), lack of Xvideo
(althought the native video streaming subsystem works very well), and
very important.. lack of acceleration for OpenGL.

Thats why, i think, directFB should be considered an alternative, but
not only to discuss with the people
in this mailing list but also to be discussed with the authors of the
library, which can most probably
offer very interesting views.


Kernel/Drivers/Networking:
--------------------------

I think linux does a great job in having the drivers so separated from
the OS.
If this distro is going to be based on debian, then i think debian's
modconf
is a perfect example on how installing drivers can be easy!
Linux is a great kernel, and perfectly fits and even excells at the
desktop.
Networking can also be easily handled by a frontend which uses debian
/etc/network for storing configuration.



All In all:
-----------

Well, i think on overall, trying to make gnome-os and OS from the
ground, breaking
a good amount of compatibility with the rest of the distributions
gives several advantages
and several disadvantages.


Advantages:
-----------

-Simple and consistent OS from wherever you look it. 
-Userfriendlyness at the level of Beos/Windows or MacOSX
-POSIX/GTK/GNOME compatible, so porting existing apps to it should be
a matter of simply minutes.
-Aimed at a big userbase, if this OS is as easy to configure/use as
the ones mentioned above,
and as consistent, the userbase (and why not, developer base?) shall
certainly be enormous.
-If exists and works, many big distros which aim at userfriendlyness
(mandrake/lindows/redmod),
may drop their current schemes to support gnome-OS instead.
-For the common user, and many programmers..  having standard of 1
window manager, 1 session manager, 1 widget set, 1 desktop
environment, 1 file manager, 1 browser, etc. is a dream made true.
-Programs written for gnomeOS could be easily backported to a standard
linux distro or oter unixes.

Disadvantages:
--------------

-A good amount of existing software wont just "work" and will need to
be ported/adapted, althought
the time spent for that should be minimal.
-QT/KDE apps will be incompatible out of the box, but this may not be
a bad thing.
-It could be taken as a "fork" at the "distro compatibility level".


Am I missing something?
Well, i'd really like feedback on this!
Thanks for reading!


Juan Linietsky













 









[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]