Colin Bell wrote:
>>- I hate the MDI interface/subwindows. I usually only work with one
>>database at once - I only want that window up. Even when I do work with
>>two databases, I'd prefer they be entirely separate windows. The connect
>>stuff could be a dialog box that pops up when you first start the
>>program and when you hit ctrl-N or something (new connection).
>
> As I said recently to somebody, this is a religious issue. I personally like
> the MDI interface and hate the SDI one, this was the main reason I stopped
> using Netbeans. A possibility for the future when the code has been cleaned
> up would be making it an option as it is in the current version of Netbeans.
> You specify whether you want an SDI or an MDI interface.
Okay, I'm going to take a shot at trying to convince you. ;) I'd be
happy with a preference (though I'm likely to disagree with you about
which the default should be). Please forgive my long-windedness...
I agree that subwindow MDIs are better in one class of applications -
ones like Netbeans, Photoshop, PageMaker, and Oracle Forms/Reports where
you need a lot of closely related windows for one task.Typically there's
a main document window and a bunch of tool palettes. You only want to
show/hide them together.
In all other cases, I hate the conventional subwindow form of MDI.
Usability research tends to back me up here - that's why its deprecated
in KDE, most new Microsoft products (Office), etc.
I think SQuirreL is in the second category: only one window necessary to
do work, multiple connections can be thought of pretty independently, so
should be in fully independent windows. The grouping of resultsets
within a connection with tabs (another form of MDI, I'd say) is
completely appropriate for several reasons:
- I potentially want several open at once
- They're very related
- I don't want the hassle of managing their windows
- Only being able to see one at a time is not a problem, especially
since switching is very quick.
In SQuirreL's current state, it pops up a large window and the
connection only uses part of it. You go to maximize it and find the
subwindow buttons are completely unlike native windows, adding a moment
of confusion. (Really, even when I've seen such things a million times,
it still slows me down.) Once you maximize, there's a few extra lines
taking up screen real estate: the main toolbar, the subwindow frame, and
the main status bar. (I realize two of those can be turned off. I'm
talking about first use only.) If you shrink the main window, the
subwindow doesn't shrink with it. You have to scroll over and fix it.
My ideal: you start SQuirreL. You get the driver manager/database
aliases stuff dialog stuff, open a new connection. A single window pops
up. If you want a new connection, you do "New Connection" in the menu
and the same thing is repeated independently. For me, this is a lot
simpler in the common case of one connection at a time. And I'd argue
that it's still simpler for multiple connections at a time.
> Sounds like something that could be put into the Oracle plugin. Its also not
> something I'd probably do myself (I'm no Oracle expert) so if you are
> interested in enhancing Squirrel this could be a good starting point.
> Squirrel is starting to be used in a lot of Oracle shops and theres a lot of
> oracle specific functionality that could be added to the plugin. Let me know
> if you are interested.
Hmm. I have had this inexplicable urge to do GUI programming lately. And
my first hunch is that it would be a lot easier for me to start here
than restructing any of the existing stuff and trying not to break
plugins that use all those listeners. So maybe I will.
Anyway, thanks for your responses. I'm encouraged and very much looking
forward to ditching Oracle's various SQL-Plus, SQL Worksheet, and SQL
Scratchpad things. (Each version of each one has completely different
deficiencies, any of which I hate. Ergh.)
--
Scott Lamb
|