[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice
Subject:    Re: The "Killer" application]
From:       James Richard Tyrer <tyrerj () acm ! org>
Date:       2003-11-26 8:35:59
[Download RAW message or body]

Eugene wrote:
> On Tuesday 25 November 2003 6:28 pm, David Faure wrote:
> 
>>On Wednesday 26 November 2003 00:18, Eugene wrote:
>>
>>>What direction is KOShell going to go?  To me it currently looks like you
>>>choose the app/part and create a document specific to that app/part which
>>>isn't much different from running that particular app in the first place.
>>
>>Except for switching apps / documents more easily.
>>
>>
>>>I'd like to see something a bit different.
>>
>>I'd like to have 30 more KOffice developers.
> 
> Thats one skill I wish I had kept up on.  I did some assembly and took Pascal 
> and C in college but the C++ concepts with classes and such still confuse me 
> a bit.

Did you try reading the free book, Thinking in C++:

	http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

Beating your head against a wall sometimes helps too. :-D  IWFM!
> 
> As far as the killer app is concerned, what is when you hit new in KOShell you 
> chose a paper size insteat of a kpart app?  Your then presented with a blank 
> page buy you can't do anything with it yet.  Then you choose a Kpart from the 
> left bar and then click and drag on the paper to make a box.  If you choose 
> Kword part you get to type in the box and the toolbars are all kword bars.  
> Then you click kspread and click and drag another box and a blank spreadsheet 
> comes up in the box and you get the kspread toolbars.  So instead of 
> switching between documents you can combine them.  Sort of a desktop 
> publishing program, but no need to insert or copy/paste from each 
> app/document.

The interface confused me a little also.  WordPerfect screws up the interface too -- by 
acting as though there were different types of boxes (there actually aren't).

So, how should the interface work:

You click: "File => New" and it should ask you to choose a paper size *OR* to load a 
template (separate tabs).

Then if you choose a paper size you can just click a tool and it applies to the whole 
document or you can open a frame.  If you choose a template, the template has the 
application information (and we shouldn't assume that a template is for only one Part).

As it exists now if you just click on a Part a widget pops up to open a new file.  This is 
OK if you don't have a file open, but doesn't seem like a good idea if you already have a 
file open.  See below.

So, now you have either chosen a Part for base document -- I didn't say exactly how if you 
didn't click on a Part icon to open the new document but you should be able to set this 
later in the menu (under: File => Document [we don't have that yet, but we will need it]).

Or you must now open a Frame (er.. Object).  So, you click: "Insert => Object Frame" and 
select a content type.  This is good.   Then you take the mouse and estimate the location 
and size you want.  Also good.  BUT now up pops the same widget as for a: "New File". 
This is the problem!  You might need a widget here and it should be a widget to set up 
that type of Object -- like with the Text Frame (and this would also mean that the "Text 
Frame" menu item is not needed).

BUT, somewhere along, you need to decide whether you want a new object in the frame.  So, 
that should have been: "New Object Frame" and there needs to be a different option at that 
menu level to "Import Object Frame".  Maybe we should drop: "Frame" and just call it 
either: "New Object" or "Import Object".

Actually, there is already one for this but it is called: "Picture".  This needs to be 
changed to: "Import Object" and then what happens depends on what type of file you import.

Now, there is one other issue.  After I open a new page, if I then click on one of the 
Parts icons, it opens another page.  To me it would be more logical if it opened a New 
Object Frame of that type.  Actually, there are three states:

	No document open.
	Empty document open.
	Document containing content open.

Now, I know that state based interfaces can be confusing if they are not intuitive.  But, 
I think that this might work to have a different action for each state:

	Open new document.
	Set document base Object type for the empty document.
	Open New Object in existing document

And my pet peeve: a short course in cladistics and/or set theory might help.  That is, 
Paper Size (or format when we include labels -- and labels are a paper size/format) and 
*content* Templates are not members of the same schema or set.  And there is a hierarchal 
relationship between them.

A Template can contain a Paper Size, but a Paper Size can not contain a Template. 
Usually, to confuse things further, when a Template can be applied to different sizes of 
paper then it is called a Style.  So, some of what is being used as Templates (they 
include paper size) should really be Styles (to be applied to any paper size).

If you can't make a tree or venn diagram to illustrate your schema, it probably needs some 
work.

In most word processors you have a default paper size and a default style.  But they are 
not connected.  Normally, if you choose a paper size, you would get the default style 
until you changed it.  Or, after you choose a paper size, a style widget can pop up (but I 
suggest that it have default selected and have a 'do not ask again' button.  One widget 
too many can really get to some people. :-)

Note: I mentioned the WordPerfect spread sheet functions.  This isn't in WP8 for Linux. 
You need WordPerfect 9.  You could pick up a copy cheap on eBay but don't get WP9 for 
Linux because it won't work with the new version of GLibc.  You have to use it on Windows 
because it won't work on WINE either.

--
JRT

____________________________________
koffice mailing list
koffice@mail.kde.org
To unsubscribe please visit:
https://mail.kde.org/mailman/listinfo/koffice
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic