FAQ: Multiple Windows vs. Subwindows
MDI, SDI, MSDI
Bergesio Alejandro <email@example.com> asked:
my question is: why abiword open each new file in other window, and the window menu not is present.
I (rhk) havent used AbiWord in quite a while. I think the answer to this question relates to AbiWords MSDI (Multiple Single Document Interface), in other words, opening each new file in a new window is the intended design. _In addition, when an open file is opened a 2nd time, it is also opened in a new window._
These additional windows are not independent instances of AbiWord, see Dom Lachowiczs words in some of the links below. Thus, AFAICT:
- less memory is used than if they were independent instances
- the windows are probably not quite as immune to a single crashed window killing all of them as they would be if they were truly independent instances. (I start several independent instances of konqueror, with multiple tabs in each -- if one instance of konqueror crashes, I lose all the tabs in that window / instance, but not those in the other windows / instances.)
- you can start multiple instances of AbiWord, by, for example, reissuing the starting command (abiword) at a command line or in the <alt>F2 "window"
- if you have the same file opened in two (or more) windows in the same instance of AbiWord, changes to the file in one window are synced (duplicated) in the other window
- if you have the same file opened in two (or more) windows in separate instances of AbiWord, changes to the file in one window (instance) are not synced in the other windows (instances). The resulting state of the file after such changes depends on the order in which you close the instances and whether you save the changes or not when you close each particular instance. (In general, the last to save wins.)
- AFAICT, when you walk up to a machine and see multiple AbiWord windows there is no easy way to know whether they are from the same instance of AbiWord or represent separate instances, or some combination of the two. _I may be wrong about this, maybe you can tell something by looking at the Document window (i.e., list of open windows (files)) in each instance, and doing a sort of process of elimination?_
_Notwithstanding Alan Horkans defense of the (M)SDI approach (below), I dont like it. I can see the advantage to making things easier for the programmers, but that should not be done at the expense of making things more difficult for the user. Maybe it is time to develop a widget or programming pattern that makes it easy to implement the MDI interface "properly" in an application. (And, wed have to find out what the mistakes were that Alan refers to below.)_
- AbiWordFaqMdiSdiMsdi WikiLearn: AbiWordFaqMdiSdiMsdi
- AbiWordFaqBehaviorOnClosingLastFile WikiLearn: AbiWordFaqBehaviorOnClosingLastFile
- AbiWord bug 1560
There is a Document menu (analagous to Words Window menu) to let you choose which open document (window) you wish to work in. _As alluded to above, it shows the windows in a particular instance, not all instances._
Aside: The behavior you apparently expected (like an MDI application (subwindows)) is what Word97 and (iirc) earlier used. Ive been told (but havent checked for myself) that newer versions of Word (e.g., Word 2000) use the MSDI approach. _Now with Alan Horkans answer below, Im not sure whether they use the MSDI approach or a strict SDI approach, yet, if they have a Window menu (to show open files/windows), I guess Id call it MSDI._
Alan Horkans Answer
In abiword there is a Document menu which is almost the same as the Window menu Microsoft Word uses.
Microsoft abandoned the complicated Window in Window (WiW) model after Microsoft Word 97 in favour of the Single Document Interface (SDI) and the Abiword developers also favoured the greater simplicity of this model.
The beauty of SDI is that Window Management is left to the Window Manager and the task list and the application developer is not forced to mess about with all kinds of window layout details. Having one window represent one Single Document is also considered to be a simpler more lifelike concept for normal users to immediately understand.
On many platforms Abiword uses the toolkit known as GTK which deliberately does not make it easy to create MDI interfaces.
Recently one of the developers expressed some interest in eventually allowing a Tabbed Document Interface similar to Mozilla or Gedit but in a way that would be unnoticable to the ordinary user. (I think it may have been Martin Sevior) Some users have long been requesting a Tabbed inteface but if it happens it is likely to be available in the GTK based versions of Abiword first and not necessarily in the other versions of Abiword.
There is a bug report in the Abiword Bugzilla to track this issue.
Designers generally recommend against Tabbed Interface designs and prefer to see improvements overall to the desktop task list rather than reinventing the window manager task and task list inside each application (and risk making the same mistakes that MDI suffered from). Developers are also encourage to improve their applications so that creating a new window is not disproportionately slower than opening a new tab (Im talking about Mozilla here).
_I should (or want to) point out that Dom Lachowicz refers to the AbiWord approach as MSDI (in contrast to Alans calling it SDI)—there are differences—see my words above. -rhk_
- Bergesio Alejandro (via email)
- Main.RandyKramer - 06 Dec 2004
- Alan Horkan (via email) - 07 Dec 2004