Difference between revisions of "User:JaronBaron"

From Apache OpenOffice Wiki
Jump to: navigation, search
(An Object Based Design)
(An Object Based Design)
Line 36: Line 36:
  
 
== An Object Based Design ==
 
== An Object Based Design ==
Object oriented programming comes from the natural urge to classify and order things. In office programs the UI approach should be as intuitive to program (I mean in terms of objects) as it is for the user to navigate.  Below I have written a list of the objects that I identify as the core objects contained within documents.  The list was made with a focus on document programs (aka Writer) so please keep that in mind.  Especially the page object, which contains objects relevant only to
+
Object oriented programming comes from the natural urge to classify and order things. In office programs the UI approach should be as intuitive to program (I mean in terms of objects) as it is for the user to navigate.  Below I have written a list of the objects and some of their dependent objects/properties that I identified as the core objects contained within documents. All main objects have an unlisted "style." The list was made with a focus on document programs (aka Writer) so please keep that in mind.  Especially the page object, which contains objects relevant only to traditional text documents.
  
 
* '''Pages'''
 
* '''Pages'''
** Page Style
+
** Pre-defined text spaces - These might change based on page "style"/template and could have content dependent on the current document section (this was written specifically for writer)
** Pre-defined text spaces (this could be something other than text, such as tables for OO.o Calc)
+
*** Body text box (free form document writing has no need for body text, ex: newspaper-articles don't wrap from page to page, and might even skip pages)
*** Body text (free form document writing has no need for body text, ex: newspaper-articles don't wrap from page to page, and might even skip pages)
+
*** Headers/Footers/Siders (siders would be a new concept. its applicable to documents with things like numbered lines)
*** Style or Section dependent content objects
+
** Section or Page Style Breaks (normally things like line breaks are under the page category, but that is not appropriate since breaks effectively limit the writing space within a body text box not a page.  Margins limit the usable space within a page)
**** Headers
+
** Layers (All documents benefit from graphical layers, ex: watermarks on simple text document)
**** Footers
+
**** Siders (a new concept, its applicable to documents with things like numbered lines)
+
** Breaks (normally things like line breaks are under the page category, but that is not appropriate since breaks belong to the body text box)
+
*** Style
+
** Layers (All documents benefit from layers, ex: watermarks on simple text document)
+
  
 
* '''Text Boxes'''
 
* '''Text Boxes'''
** Text Box Style
 
 
** Text
 
** Text
** Box Links (wrapping text from one box to the next)
+
** Text Wrapping (wrapping text from one text box to the next, such as body text from page to page, or a newspaper article that starts on page 1 and ends on page 5)
 
** Columns
 
** Columns
** Breaks
+
** Breaks (line, column, section, "page" breaks, since page breaks basically restrict the use of the remaining text box space and are only relevant for linked text boxes, "page" is a misnomer)
** Footnote space
+
** Footnote space (this is not a page property since the footnote stays with the text reference which if it changes pages moves)
*** Line
+
*** Column/Layout
+
*** "Page" (since this basically restricts the use of the remaining text box space and is only relevant for linked body text boxes, page is a misnomer)
+
  
* '''Text'''
+
* '''Text''' - I chose not to differentiate between characters and paragraphs as all text boxes have both
 
** Characters
 
** Characters
*** Special Characters (besides the normal special characters also implies images as characters which is relevant mostly for lists)
+
*** Special Characters
 +
*** Figures as Characters (I assume this is relevant mostly for lists but likely has other uses)
 
** Lists
 
** Lists
*** Bullets
+
*** Bullets/Numbering
*** Numbering
+
*** Sections (sections should be distinguished in usage from bullets/numbering, which is a local outline while sections are a global outline)
*** Sections
+
** Paragraph formatting
** Paragraphs
+
  
* '''Figures'''
+
* '''Tables''' - I differentiate between these because they serve very different purposes but spreadsheets need to be incorporated in Writer for higher level end users that would benefit from cell dependencies
** Canvas (I use canvases since the following objects can be intermixed within any given figure, ex: a picture with an arrow)
+
** Simple/Organizational Table - this is the current table object in writer (tables that contain and organize any/all objects, exs: a table with simple hand written text, a table that organizes multiple subfigures but is a single figure and has a single caption)
*** Pictures
+
** Spreadsheet, this is the table in calc (tables that contain have a local referencing system for functions)
*** Charts
+
*** Drawings
+
*** Placeholders
+
 
** Captions
 
** Captions
  
* '''Tables'''
+
* '''Figures'''
** Spreadsheets (tables that contain primarily text and have a local referencing system for functions etc...)
+
** Canvas - A space designated for a figure within a document, it can be a placeholder. (I use canvases since the following objects can be intermixed within any given figure, ex: a picture with an arrow, however the user will likely identify the figure as one of the following, even if subconsciously)
** Organizational tables (tables that contain and organize any/all objects, ex: a table that has multiple subfigures but is a single figure and has a single caption)
+
*** Pictures - raster image/picture
 +
*** Charts - drawn image based on spreadsheet data
 +
**** Data Spreadsheet - same as spreadsheet object but is used to create the chart. Since charts are OO.o created vector objects they are scalable unlike a copy pasted raster image of a  (Access to this within Writer would be useful for scientists among others, ex: Someone needs to change a single data point but doesn't want to have to copy paste
 +
*** Drawings - vector-based graphical diagram/drawing
 
** Captions
 
** Captions
  
* '''Shapes/text boxes/vector-based graphic objects'''
+
* '''Vector-based graphic objects''' - these are "Shapes" (this object is different than a figure.  This could be within figures, serve as a decorative page border, or could be a "figure as a character" for, for example, customized bullets)
  
* '''Rastered images/pictures'''
+
* '''Raster images/pictures''' (this object is different than a figure.  This could be, within a figure, a "figure as a character" for, for example, customized bullets, or a company logo in a professional letter)
  
* '''Media''' (These categories are completely different but current office suites have failed to incorporate them effectively and I doubt their user functionality is well defined)
+
* '''Media''' (These categories are completely different but I have no experience with using them in office suites. However these are of key importance to the future of incorporating web development in OO.o 3.)
 
** Movies
 
** Movies
 
** Sounds
 
** Sounds
Line 95: Line 86:
 
** Literary references
 
** Literary references
 
** Object references (ex: A figure hyperlink such as Fig. 1, where the number changes based on figure number order and clicking the words take you to figure 1)
 
** Object references (ex: A figure hyperlink such as Fig. 1, where the number changes based on figure number order and clicking the words take you to figure 1)
** Text references (such as hyperlinks which reference the current section title)
+
** Text references/Bookmarks (such as hyperlinks which reference the current section title)
 
** Web Hyperlinks
 
** Web Hyperlinks
** Footnotes (the textual refrence, the footnote space falls under the page category)
+
** Footnotes (the textual reference, the footnote space falls under the page category)
 
** Bibliography/Scientific References
 
** Bibliography/Scientific References
** Content Tables (Index, Table of figures, etc...)
+
etc...
** Bookmarks? (Reluctant to include this since they are better defined as a form of object metadata and not text related metadata)
+
** Notes? (Reluctant to include this since they are better defined as a form of object metadata and not text related metadata)
+
** Auto text (external metadata references)
+
*** Static (creates static text, such as inputting the date)
+
*** Dynamic (changes based on current metadata values, such as a "current date" script)
+
  
* '''Fields''' (end user interactive objects)
+
* '''Fields''' - end user interactive objects. (These would be customized interactive objects useful in creating templates such as those used to make editable forms, ex: a space for the date that must be in the format dd/mm/yy)
** Form fields
+
*** Text/number
+
*** Template text (such as mm/dd/yyyy, date entry)
+
*** Dropdown menus
+
*** etc... (there is a long list of potential form fields)
+
  
  
There may be more kinds of objects or a better way to categorize these objects and I am constantly refining the list, especially when it comes to the last two categories.
+
There may be more kinds of objects or a better way to categorize these objects and I am constantly refining the list.
  
I think the major difference between the different office suites would be in the definition of a page.
+
'''How the Page Object Would be Different in Each Suite Program'''
 +
I think the major difference between the different office suites would be in the definition of a page.  In Calc the page should be able to readily contain multiple tables, text boxes and figures/charts.  In Presentation, like in Writer, the page would have different pre-defined text spaces for titles and lists, and could have predefined spaces for figures in the same way that page templates are in OO.o 2.
  
 
== Object Properties ==
 
== Object Properties ==

Revision as of 19:53, 17 June 2008

ux-ooo-logo-rgb-129-61.png

ux.openoffice.org

Quick Navigation

Team

User Intro

I am currently a new member of the User Experience Community, and will add more to my user page in the future.

Reach me at JaronBaron @ gmail (dot) com

I am primarily interested in the following topics:

- New UI design

- New user experience

- Graphic design of UIs, such as icons, logos, etc...

- Organizing the current rules for designing OO.o 2's UI and creating rules for the future UIs

I would like to see user experience compatibility between the different OO.o suite products which I believe will be beneficial both in programming and maintaining OO.o but also gives the user a continuously intuitive experience. That is to say interacting with a table in Writer should be the same as in Calc.


My Thoughts & Ideas, My Grand Scheme for the UI

I believe for OO.o to be succesful we must adopt our own new and unique approach to the program layout and interface. After a long analysis of the already existing office suites, I believe none to be sufficient. Microsoft Office is a complete UI disaster, and iWork has taken humongous strides towards redefining the next generation of office suite but has many UI problems and suffers from no high level content. All office suites still fail to create a user friendly manipulation and application of object styles, such as text styles, page templates etc... I have posted this on my page for right now since these are my opinions and an objective system for diagnosing pros and cons of UIs should be considered before posting on a new page.

Please feel free to contact me with all criticisms, recommendations, changes, and comments. I will change the info below to reflect said comments. Thanks!

Later I will add my actual preliminary GUI design; some refinements still need to be made.

Intro and my existential view of office suites

I want to start off by talking about office suites in general.

What is the difference between the different programs in office suites?

Answer: Nothing (or rather it should be). The objects contained within the different suites are exactly the same, and in theory should behave the same for a user consistent experience. However, most fail to operate this way. If I want to create a spreadsheet with some paragraphs to explain contents, should I use a spreadsheet program or should I use a document program? The answer should be that it doesn't matter but the default tool set available in the spreadsheet program should make it easier to use for a document that contains primarily spreadsheets.


An Object Based Design

Object oriented programming comes from the natural urge to classify and order things. In office programs the UI approach should be as intuitive to program (I mean in terms of objects) as it is for the user to navigate. Below I have written a list of the objects and some of their dependent objects/properties that I identified as the core objects contained within documents. All main objects have an unlisted "style." The list was made with a focus on document programs (aka Writer) so please keep that in mind. Especially the page object, which contains objects relevant only to traditional text documents.

  • Pages
    • Pre-defined text spaces - These might change based on page "style"/template and could have content dependent on the current document section (this was written specifically for writer)
      • Body text box (free form document writing has no need for body text, ex: newspaper-articles don't wrap from page to page, and might even skip pages)
      • Headers/Footers/Siders (siders would be a new concept. its applicable to documents with things like numbered lines)
    • Section or Page Style Breaks (normally things like line breaks are under the page category, but that is not appropriate since breaks effectively limit the writing space within a body text box not a page. Margins limit the usable space within a page)
    • Layers (All documents benefit from graphical layers, ex: watermarks on simple text document)
  • Text Boxes
    • Text
    • Text Wrapping (wrapping text from one text box to the next, such as body text from page to page, or a newspaper article that starts on page 1 and ends on page 5)
    • Columns
    • Breaks (line, column, section, "page" breaks, since page breaks basically restrict the use of the remaining text box space and are only relevant for linked text boxes, "page" is a misnomer)
    • Footnote space (this is not a page property since the footnote stays with the text reference which if it changes pages moves)
  • Text - I chose not to differentiate between characters and paragraphs as all text boxes have both
    • Characters
      • Special Characters
      • Figures as Characters (I assume this is relevant mostly for lists but likely has other uses)
    • Lists
      • Bullets/Numbering
      • Sections (sections should be distinguished in usage from bullets/numbering, which is a local outline while sections are a global outline)
    • Paragraph formatting
  • Tables - I differentiate between these because they serve very different purposes but spreadsheets need to be incorporated in Writer for higher level end users that would benefit from cell dependencies
    • Simple/Organizational Table - this is the current table object in writer (tables that contain and organize any/all objects, exs: a table with simple hand written text, a table that organizes multiple subfigures but is a single figure and has a single caption)
    • Spreadsheet, this is the table in calc (tables that contain have a local referencing system for functions)
    • Captions
  • Figures
    • Canvas - A space designated for a figure within a document, it can be a placeholder. (I use canvases since the following objects can be intermixed within any given figure, ex: a picture with an arrow, however the user will likely identify the figure as one of the following, even if subconsciously)
      • Pictures - raster image/picture
      • Charts - drawn image based on spreadsheet data
        • Data Spreadsheet - same as spreadsheet object but is used to create the chart. Since charts are OO.o created vector objects they are scalable unlike a copy pasted raster image of a (Access to this within Writer would be useful for scientists among others, ex: Someone needs to change a single data point but doesn't want to have to copy paste
      • Drawings - vector-based graphical diagram/drawing
    • Captions
  • Vector-based graphic objects - these are "Shapes" (this object is different than a figure. This could be within figures, serve as a decorative page border, or could be a "figure as a character" for, for example, customized bullets)
  • Raster images/pictures (this object is different than a figure. This could be, within a figure, a "figure as a character" for, for example, customized bullets, or a company logo in a professional letter)
  • Media (These categories are completely different but I have no experience with using them in office suites. However these are of key importance to the future of incorporating web development in OO.o 3.)
    • Movies
    • Sounds
    • Animation/Flash/interactive web content
  • Smart text/References/hyperlinks/scripts
    • Literary references
    • Object references (ex: A figure hyperlink such as Fig. 1, where the number changes based on figure number order and clicking the words take you to figure 1)
    • Text references/Bookmarks (such as hyperlinks which reference the current section title)
    • Web Hyperlinks
    • Footnotes (the textual reference, the footnote space falls under the page category)
    • Bibliography/Scientific References

etc...

  • Fields - end user interactive objects. (These would be customized interactive objects useful in creating templates such as those used to make editable forms, ex: a space for the date that must be in the format dd/mm/yy)


There may be more kinds of objects or a better way to categorize these objects and I am constantly refining the list.

How the Page Object Would be Different in Each Suite Program I think the major difference between the different office suites would be in the definition of a page. In Calc the page should be able to readily contain multiple tables, text boxes and figures/charts. In Presentation, like in Writer, the page would have different pre-defined text spaces for titles and lists, and could have predefined spaces for figures in the same way that page templates are in OO.o 2.

Object Properties

After trying to identify the objects within office suites I startes to create a list of the objects properties. This list is quite extensive but I have included a preliminary example with the text object. Note that text is pretty much the traditional character and paragraph format options.


  • Text
    • Style
    • Text
      • Font
      • Bold
      • Italic
      • Strikethrough
      • Color
      • Background Color
      • Size
      • Direction/rotation
      • Subscript
      • Superscript
      • Line spacing
      • Alignment
      • Indents
      • Paragraph spacing
      • Tabs
      • Drop caps
      • Font effects
      • Character spacing
      • Hyphenation
      • Text flow
    • Lists
      • Level
      • Bullet/Number (Character or image as character that is the number/bullet)
      • Content of auto space preceding text (ex: “#.#.→“ as opposed to “#-#→“ where → is a tab)
Personal tools