Hello Richard,
Ok, after my slight anger on IRC, i've decided to
write a constructive
email and post it here. Please note this is my opinion, though others
may agree with me.
Yep - constructive mails are always a good thing. :-)
First of all, Martin, let me say i have the utmost
respect for you and
your work.
However, it has come to my attention that the explorer clone is starting
to become a mess. It has too many 'features' built in.
I agree with you in that the current explorer implementation is not really
intended for "average users". It's more a bit experimentally, I am trying
out
many extra features, which could enhance its functionality. This explains
the
many different toolbar buttons you can see there.
The compaints i have are:
1) Too many 'ways' to browse a users computer. You have all those
buttons at the toolbar, why not just make those features into shell
extensions or at the very LEAST compiletime options. Explorer needs
only 1 way to browse directories/files. (Which should be whichever way
that closely resembles microsoft's windows, and by all means winefile
and explorer should be seperate applications.) Among the features that
need to go are: The web support, Registry browser, NT Object File
System or whatever the hell it's called, The 'shell browser' or whatever
it is, The little bar above the Status bar should go. The Interface
shouldn't be MDI, as microsoft's is not.
I prefer MDI like in WINFILE, as it reduces the number of windows you
have to manage on your desktop. It packages them into one common
frame window, so you don't need an extra app window for any open folder.
2) The toolbar has nothing useful. The windows
explorer toolbar has
back, forward, and up buttons for example, to browse the users
computer. Our explorer has none of these.
Well, there are "back" and "forward", but they work only for the web
integration at the moment. An "Up" button is currently missing, yes.
3) The web support needs to go. I don't know
what all was done, but
web support causes alot of potential vulnerabilities. Just look at
microsoft's windows, and even IF it didn't, loading IE/mozilla every
time explorer starts is a WASTE.
The explorer loads the IE/Mozilla plugin only when opening a window
to display web content. At explorer startup it only links to a few
functions in OLEAUT32.DLL, it doesn't call any of them. I you think
this is better, we can even make them link at runtime using LoadLibrary().
But I don't think this makes a big difference.
Normally i'd stand back, work on my own explorer
clone, but this IS
ReactOS, our goal is to clone windows, we need to keep our UI as
consistent as possible with microsoft's.
There are also people with a different view of things:
Why should one use just another operating system than the "good old
MS Windows" if he doesn't get any improvement in comparison to that?
Even if it isn't yet compete, and stable. Yes, it's free software
compared to closed source MS Windows. (no more fully true since
last week ;-) But that's the only point.
To attract more users we have to present them more features/functionality/
usability than Microsoft.
If you sit down a user in
front of our current explorer, he/she would be most definitely lost.
Not all users are "dumb" users. They will accomodate very fast to anything
new if it's usefull.
While i would say hide the features, they'd still
be there, increasing
application size, code complexity, memory requirements, dependencies,
and slowing the app down, and this isn't an ideal solution.
Solution: I really think we should clone the Windows NT 4.0 explorer,
with quicklaunch, but nothing more. Make everything else addins or
compiletime options. The interface really should be more similar to the
windows version of explorer, with nothing new to confuse users, etc.
This will make explorer less buggy and faster, it will also consume less
RAM. Currently explorer is even slower then microsoft's own explorer.
Granted it is an alpha version, but still, these 'new features' are
still getting injected every once and a while, making things even worse,
when time/energy would be better spent working on shell32 or fixing
bugs/optimizing explorer and code cleanup.
OK - here is my solution:
Let's use preprocessor directives (e.g. #ifndef _LEAN_EXPLORER) to disable
extended functionality in explorer. This way we can maintain one codebase
to create
a.) a simple, small, lean and mean version of explorer.
b.) a full fledged version containing additional functionality.
Of course it would also be possible to create a separate module with
only explorer source code - no MDI, winefile, Web or whatever. There
is the advantage of being able to optimize it separate. But this way
we will have to maintain both versions separate and fix any bugs two
times.
By the way:
I plan to implement a new look & feel for explorer, more like that of
KDE, XFCE and friends. This would be switchable at runtime and of course
only integrated in the bigger b.) version of explorer.
Don't get me wrong, i think explorer is great,
it's a marvelous piece of
work. And my opinion is one of many, but keep in mind i'm not speaking
for the supergeeks here, i'm speaking for the power users and regular
users, the customer support reps and myself.
Take care, and please don't flame me, martin, or anyone else.
Richard.
Regards,
Martin
--
Martin Fuchs
martin-fuchs(a)gmx.net
GMX ProMail (250 MB Mailbox, 50 FreeSMS, Virenschutz, 2,99 EUR/Monat...)
jetzt 3 Monate GRATIS + 3x DER SPIEGEL +++
http://www.gmx.net/derspiegel +++