On 01/01/12 06:32, David Jackson wrote:
An OS should strive to be a better platform for many people, including
techies and non-techies.

A good software design philosophy is that good software  works out of the
box without configuration using reasonable defaults, but, that that the
software should be flexible, very configurable, the user should be able to
configure everything how they need it, but they should not be required to.
This allows the user to configure as much or as little as they want.

Everything should be able to be accomplished with both GUI and CLI, and API.

The entire system should be well understood, well documented and
transparent . Its like a car, its better to have a car that has a spacious
engine compartment and is very well documented in service manuals so that a
car mechanic can easily fix it. While not every user may want  to get under
the hood, a spacious, well documented and easy to fix space under the hood
makes the mechanics job easier of fixing the car. The car being made more
reliable and easier to use as well means that the common driver has fewer
breakdowns. Windows is a terrible OS because its like a car with the entire
engine area sealed in a compartment that can only be opened with the car
manufacturer with a key, so mechanics cannot even repair it.

There is no dount that UNIX is a better design system, due to the fact it
is open and the underlying systems are well understood, well defined and
well known, including due to the Unix philosophy of modularisation of
components.


I am in full agreement with Unix design philosophies and unix conventions.
I definitely oppose any effort to re-invent Unix or break with unix
conventionsand philosophies. It has been said that people who try to
reinvent Unix will do so poorly. I agree. I am very much in favour of
respecting Unix traditions, backwards compatability and conventions. For
instance, supporting the X11 Window System i think is something that we
should always commit to, it is important for compatability and for the
flexibility it provides.

I think tis okay to build additions to the system, but in addition, to the
existing components, not to overthrow existing parts of the system.

Backwards compatability is very important which is why it is important to
respect conventions such as POSIX.

  I think that we can create a GUI front end built on top of the Unix system
that helps manage and configure the underlying Unix system for non-techie
users. This is layered design that gives us both the techie friendliness
and controllability of Unix and a GUI front end over that for non-techies.
No one should be required to use a GUI front end and should be able to
directly edit configuration files if they want and use the rich CLI that
FreeBSD has. This is a philosophy i like of allowing  users to exercise as
much or as little fine control over the system as they want.

An OS can be both techie and non-techie friendly by create GUI layer that
is built over the underlying Unix system where more common features are put
up front in the GUI, and advanced configuration in advanced screens, and
layering the GUI on top of other layers which can be directly accesssed by
techie users if they need to do so. This is the layered design where the
GUI can serve as a front end layer to the underlying Unix system
components. The techie users can directly access these underlying
components if needed.

GUIs as well can serve and be useful to both techie and non techie users,
advanced configuration settings can be placed in advanced screens and so
forth.

A good GUI does not come from having few features, good, useable software
has lots of features and is very flexible. Features should never be
withheld because users are viewed to be too stupid. Good GUI design comes
from good layout and putting more advanced features deeper in the UI, so
they are there if needed.
Ok. Stop there... have you ever _really_ considered what a gui should look like or how it should work? I agree with you that a gui should be available to use, but after considering _all_ the options available its near impossible, not to mention how many different systems you'd have to provide for. I've been trying to work this out for years, so believe me- I know.

Also, talking about simplicity and working "out of the box", a lot of the software has been set by the great people maintaining the ports system, so when you install the software and set "service_enable='YES'" in the rc.conf it usually works, and you can then tweak as necessary.

The closest "gui" I've seen would be web app under www/ in ports, supposedly used for ISP's to maintain servers simply in a CPanel-like interface. It looks good , but I'm not 100% happy with it as it relies a lot on database systems now owned by a rather greedy Corp intent on world domination it seems :).
I think that we should be pragmatic about binary drivers and that it better
to accept and welcome binary drivers from hardware companies. Open source
drivers should of course be developed, then users can use the open source
drivers as they become available, but, until then, they can use the binary
driver, or use a binary driver for more rare and unusual hardware.

I do think that, hardware driver backwards compatability should be provided
perhaps through a compatability layer that can be loaded into the kernel as
a module, and perhaps could be a porting of the IOKit driver system from
Darwin, perhaps even allowing Darwin drivers to be used on FreeBSD. All of
this can go into a kernel module so that if all one uses is native FreeBSD
drivers made for FreeBSDs normal driver API, they won't need to load this
subsystem.
Mac doesn't support all hardware from what I understand, and the only system with 100% hardware support is Winblows. Given the design philosophy of Winblows, how well written do you think the hardware drivers are coded? For that matter, how well do you think the hardware is made? From my meanderings on this list and others a lot of hardware needs software compensation for it to work as well as it does on FreeBSD and even linux.

Been down that track too, and came up wanting as well. Sorry, but thats the fact. A better idea would be to donate hardware? help with testing, coding, docs (whatever you can do)? donate money to the foundation to help pay for the developers to write the code necessary to get your hardware working. And if you aren't satisfied that the money is going to where you need it, then hunt down a programmer and pay them to write the driver for you, and submit it to the FreeBSD Team to commit or put in ports.

Not exactly what you're hoping for I know, but thats the facts, and I can sympathise with you as I'm in the same boat. I'm still trying to crack driver building myself :)
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to