throbber
United States Patent (19)
`Hernandez et al.
`
`[11] Patent Number:
`45
`Date of Patent:
`
`4,723,209
`Feb. 2, 1988
`
`73 Assignee:
`
`54 FLOWATTRIBUTE FORTEXT OBJECTS
`75 Inventors: Irene H. Hernandez, Travis; Barbara
`A. Barker, Williamson; Bevery H.
`Machart, Travis, all of Tex.
`International Business Machines
`Corp., Armonk, N.Y.
`21 Appl. No.: 645,621
`22 Filed:
`Aug. 30, 1984
`51) Int. Cl“................................................ G06F 7/00
`52 U.S.C. ..................................... 364/300; 364/518
`(58) Field of Search. 364/200 MS File, 900 MS File,
`364/300 MS File: 354/7, 8, 9; 400/61, 83;
`340/721, 747
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`Re. 32, 30 4/1986 Frederickson et al. ............. 364/900
`4,448,557 5/1984 Horn et al. .......................... 364/900
`OTHER PUBLICATIONS
`Borkin and Prager, "Some Issues in the Design of an
`Edition-Formatter for Structured Documents', 1981.
`Prager and Borkin, "Polite Project Progress Report,”
`1982.
`Siemens, vol. 12, No. 1, 1983, pp. 61-69, "Techniques
`for Preparing and Interchanging Mixed Text-Image
`DOCS . . .
`.
`The Computer Journal, vol. 25, No. 2, May 1982, pp.
`272-277.
`Electronic Design, vol. 30, No. 12, Jun. 1982, pp.
`553-5520.
`Primary Examiner-Gary V. Harkcom
`Assistant Examiner-C. H. Lynt
`
`Attorney, Agent, or Firm-C. Lamont Whitham;
`Michael E. Whitham
`57
`ABSTRACT
`Improvements in an application composite editor for
`compound documents containing not only text but also
`graphics and tables facilitate the manipulation of object
`sets in the formatting algorithm. The editor works with
`a page layout philosophy wherein data objects reside on
`the page and data resides in the data objects. All pages
`reside within a document object, and some data objects
`may have additional objects within them. Objects are
`data-specific entities that the user can manipulate on the
`page. All objects exist within a specified boundary on
`the page, and this boundary is defined as an object set
`boundary. Object sets may be moved into positions on
`the page such that more than one object set is occupy
`ing a single displayable area on the page. Such an ar
`rangement of objects creates a structure called a super
`block. A superblock is any displayable area containing
`two or more object sets positioned so that the objects
`sets overlap one another, reside side-by-side or extend
`above or below one another. A text object set may not
`be overlapped by any other object set. Although the
`superblock is itself a complex structure, the creation of
`this structure by the editor greatly simplifies integration
`of different data types on the page for the user and
`allows the user to manipulate a group of object sets
`within a single displayable area on the page with rela
`tive ease. Moreover, formatting of the document is
`facilitated by the editor since the superblock is treated
`as an object set without taking into consideration the
`complexity inside the superblock structure except when
`a page end decision must be made.
`6 Claims, 37 Drawing Figures
`
`ETACON
`PERBlock
`
`
`
`OBJSET TYPE
`TE
`
`52
`YES
`ER
`ETERINE
`OF FLOAREAS
`
`O)
`
`-1-
`
`Amazon v. Audio Pod
`US Patent 10,805,111
`Amazon EX-1055
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 1 of 15
`
`4,723,209
`
`FG
`
`
`
`sho!
`
`CREATE
`
`DESCRIBE
`
`SEARCH
`
`GOTO
`
`DELETE
`
`more
`
`s
`
`DoARE Do PRN
`
`PASTE
`
`JKM compaY
`
`4000 Santa Barbara Ave.
`Anythere, U.S. A 7000
`September 21, l983
`
`John Doe
`900 to estern Avenue
`Any here, Texas
`7.8s. 99
`
`Dear John,
`
`These are the figures lhich you requested in Your letter dated
`June 2
`983.
`have built the graph lihi ch refects the act ua
`net Year end projection. If you need more information, Please
`don't hesitat et o a sk.
`
`Year End Projections
`
`Ill.)
`
`Cornpa Iy fame
`A
`E
`C
`
`Year End Project i on
`60 0
`1
`or
`500 hl or
`A 20
`on
`27s. 1
`or
`
`Company Name
`
`-2-
`
`

`

`U.S. Patent
`US. Patent
`
`Feb. 2, 1988
`Feb. 2, 1988
`
`Sheet 2 of 15
`Sheet 2 of 15
`
`4,723,209
`4,723,209
`
`
`
`NOLLVLONNYO10/W
`
`19380Wav
`
`
`
`19380HaVuSVeVd
`
`/HONV3S
`
`$193frd0
`
`49Vd
`
`TWINOZ1HOH
`
`ANI
`
`SNWOILSIA
`
`STQELO42FOSTIL
`
`GE
`
`seveueg
`
`INITATOd
`
`Sse,109
`
`Sates
`
`odayoannMOHS
`
`
`
`
`acoaWAttedo109SnivlsL83AN09
`ROveeomeossates
`SNIMVEGGNVH3443apdwved
`
`
`
`
`92seNWN109§sez3809
`1dgseung_—TULxt
`
`
`
`BDV1d2yAdO3aACWai373q)FarTssssaqalvaad
`
`L93°G0INI,
`¢ggunossig
`saBedeueauryatdweses1
`
`
`
`Te4Nn{QoNaasCSep
`
`£-
`ba woes ee
`
`
`
`NOD]39¥d
`
`
`
`NOD]Hdvddvuvd
`
`NOD!NI
`
`
`
`NOD]HdvydAVEO
`
`HdVudMV
`
`L3$193°
`
`
`
`éOld
`
`
`
`
`
`NOD!Hdvu9SS3NISNG
`
`
`
`HdV49SSANISNG
`
`44S195°80
`
`
`
`NOD!JT8VE
`
`LaSLO4PdOFIV
`
`-3-
`
`

`

`U.S. Patent Feb. 2, 1988
`LEFT PAPER EDGE
`
`
`
`Sheet 3 of 15
`
`4,723,209
`
`OBJECT SET
`
`OBJECT SET 2
`
`LEFT MARGIN
`
`LEFT MARGIN
`
`OBJECT SET 3
`LEFT MARGEN
`
`RGHT
`PAPER
`EDGE
`
`RIGHT
`MARGIN
`
`RIGHT
`MARGIN
`
`RIGHT
`MARGIN
`
`FG3
`
`POSITION POINTER
`AND SELECT
`
`2
`SELECT EDT ACTION
`
`3.
`TEST
`EDT ACTION
`TYPE ON
`
`4.
`CONVERT POINTER POSITION
`
`F G6
`
`5
`NORMAL EDT
`PROCESSING
`
`TESTYN 6
`CONVERTED
`LOCATION
`
`7
`PERFORM NORMAL OBJECT
`SET PLACEMENT
`
`9
`8
`h
`rur-warrrrrrrrrm-m-m-m-m--a r sers--
`PERFORM SUPERBLOCK --- NSERT OBJECT SET
`CREATION
`
`REDISPLAY
`- ACTION
`COMPLETE
`
`END
`
`-4-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 4 of 15
`
`4,723,209
`
`Noli is the time for all good men to come to the aid of their
`country. This is an example of text folding to the left of a
`non-text object set.
`Text inserted on this
`line is a ut ornati cally
`lirapped to the next
`line. If there had been
`enough room on the
`other side of the non
`text object, the edit or
`loud have fl oved the
`text on that side also
`If more data is a dided
`t is this paragraph, the
`additional data lill flol bel ol the non-text object set in this
`rhanner
`
`-
`NON-TEXT OBJECT SET
`
`FG4
`
`Noli is the time for all good men to corne to the aid of their
`country. Notice that the lines of text appear above and be ol
`the non-text object. Any text inserted on this line ljill auto
`
`THIS S A NON-TEXT OBJECT
`
`matically be lirapped to the first line after the non-text object
`set. Text inserted on this line lill automatically be lirapped to
`the foll cling line.
`
`FG5
`
`Noll is the time for all good men to come to the aid of their
`country. This is an example of text flowing to the left of a
`non-text object it. insert ed on this line is a uto
`matically trapped to the next line. If there had been enough
`room on the other side of the nontext object, the edit or sould
`have flol-led the text on that side also. If more data is added
`to this paragraph, the additional data till fl on bel oil the non
`text object set in this manner.
`
`FG 7
`
`
`
`
`
`-5-
`
`

`

`U.S. Patent
`
`Feb. 2, 1988
`
`Sheet 5 of 15
`
`4,723,209
`
`
`
`POSITION POINTER
`AND SELECT OBJECT
`2
`
`SELECT EDT
`ACTION
`
`.
`PROCESS EDT
`ACTION
`
`4
`
`TEST
`FOR CHANGE
`N PAGE BREAK
`POSITION
`
`YES
`
`PAGE
`BREAK N
`SUPERBLOCK
`
`SPLIT
`SUPERBLOCK
`
`PAGNATE WITH
`SUPERBLOCK
`SPT
`
`REDISPLAY
`-ACTION
`COMPLETE
`
`
`
`
`
`2
`
`NO
`PAGINATION
`
`NORMA
`PAGNATION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`F. G8
`
`STORE
`NO SPLT
`NFORMATION
`8
`PAGINATE WITH
`SUPERBLOCK
`KEEP
`
`BUILD SCREEN
`WITH NO SPLT
`INFORMATION
`
`
`
`-6-
`
`

`

`S E. UPPER
`
`Sheet 6 of 15
`
`BOUND ARY
`
`LOWER
`BOUND ARY
`
`U.S. Patent Feb. 2, 1988
`PAGE 6SEC
`
`w
`
`-
`
`
`
`
`
`EDT ACTION =
`MOVE GRAPHC TO
`X POSITION
`
`
`
`t = OBJ SELECTED
`
`UPPER
`BOUNDARY
`THE SAME
`TEXT
`REPOST ONED
`OWER
`BOUND ARY
`THE SAME
`
`4,723,209
`
`FG 9 A
`
`FG 9B
`
`FG 9C
`
`FGO A
`
`FG, OB
`
`PAGE
`OBJECT
`
`is - - - - - - - - -
`
`UPPER
`BOUNDARY
`
`
`
`
`
`
`
`LOWER
`BOUNDARY
`
`EOT ACTION =
`MOVE GRAPHC TO
`POSITION X
`OBJ SELECTED
`PAGNATOR NEEDS TO
`1ESSA
`
`UPPER BOUND ARY
`MANTA NED
`
`TEXT FROM SUCCEENG
`PAGE FLOWS INTO THE
`CURRENT PAGE --
`
`- NEW LOWER
`BOUND ARY
`
`F GOC
`
`-7-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 7 of 15
`
`4,723,209
`
`UPPER
`BOUNDARY
`
`LOWER
`BOUNDARY
`
`FG. A
`
`FGB
`
`DATA INSERTED WA
`NORMAL KEY
`EDITING RULES
`
`
`
`POSITION
`SELECTED
`
`
`
`UPPER BOUNDARY
`MANTANED
`
`DATA AODED CAUSED
`- -
`- PAGNATOR TO
`SPLT SUPERBLOCK
`
`ur
`
`
`
`PAGE BREAK
`-SUPERBLOCK
`OWERFLOWS INTO
`NEXT PAGE
`
`FGC
`
`NEW LOWER
`BOUNDARY
`
`-8-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 8 of 15
`
`4,723,209
`
`CT
`
`PAGE END
`
`---
`
`
`
`POSITION SELECTED
`-EDT ACTION IS
`TO CREATE AN OBJECT
`
`
`
`RIGHT ADJUSTED
`
`UPPER
`BOUND ARY
`
`LOWER
`BOUNDARY
`
`FG2A
`
`FG2B
`
`FG2C
`
`SAME UPPER
`BOUNDARY
`
`IMPLEO KEEP
`
`NEW LOWER
`BOUNDARY
`-SAME PAGE
`
`-9-
`
`

`

`U.S. Patent Feb. 2, 1988
`FIG 3A
`FLOW OFF
`
`Sheet 9 of 15
`FG3B
`
`FLOWON
`
`4,723,209
`
`FLOW
`LEFT
`
`FG3 C
`FLOW OFF
`
`
`
`F. G. 3D
`
`FLOW ON
`
`FLOW
`RIGHT
`
`FG3E
`FLOW OFF
`
`
`
`FG, 3F
`
`FLOWON
`
`FLOW
`BOTH
`SDES
`
`x = SELECTED DESTINATION FOR OBJECT SET
`
`-10-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 10 of 15
`
`4,723,209
`
`SUPERBLOCK
`
`24
`
`FG4 A
`
`
`
`
`
`
`
`
`
`
`
`
`
`SET TYPE
`
`25
`TEST
`OBJSET TYPE
`TEXT
`
`YES
`SET TEXT EXISTS
`TRUE
`
`FLOW ATTRIBUTE
`
`26
`
`27
`
`28
`
`SET FLOWON
`
`TEST
`MORE OBSETS
`OR FLOWON
`
`DETERMINE NUMBER
`OF FLOWAREAS
`
`GA)
`
`-11-
`
`

`

`Sheet 11 of 15
`
`4,723,209
`
`FG4B
`
`U.S. Patent Feb. 2, 1988
`GA)
`
`
`
`
`
`33
`
`34
`
`TEST
`OBJSET TYPE
`TEXT
`
`
`
`FLOW ATTRIBUTE
`
`SET FLOWON
`
`
`
`
`
`
`37
`
`TEST
`FLOWON AND
`FLOWAREAS
`
`
`
`38
`
`
`SPLT OBJECTSETOBJECT SET
`
`GET FLOW AREA
`Flowest/40
`4.
`
`NO
`
`
`
`YES
`1ESS
`FORMORETEX
`
`No
`
`YES
`
`
`
`NO
`
`
`
`47
`
`NOMORETEXT
`QR NOT CAN RESTART
`
`NO
`
`
`
`
`
`YES
`
`TEST
`ALL OBJECT
`SETS
`
`48
`
`YES
`
`
`
`42
`DETERMINE
`RESTART FLOW
`
`46
`
`SET
`TRUE
`
`REMAINING TEXT
`
`END
`
`-12-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 12 of 15
`
`4,723,209
`
`FIG 5A
`
`PAGE
`- OBJECT
`
`FLOWMARGINS
`
`FLOW AREA
`
`FG5B
`
`FLOWMARGIN
`
`FLOWMARGIN FLOWAREA
`
`
`
`FLOWMARGIN
`
`AREA
`FLOWAREA 2
`
`FLOWAREA 3
`
`SUPERBLOCK
`
`PAGE
`OBJECT
`
`FLOWMARG
`FLOWAREA2
`
`FLOWMARGIN
`FLOWAREA 4
`
`FLOWMARGIN
`
`FLOWMARGINS
`
`
`
`
`
`FLOWAREA t
`FLOW AREA 3.
`FG 5D
`
`
`
`FLOWMARGINS
`
`PAGE
`OBJECT
`
`FLOW AREA 2
`
`FLOWAREA 4
`
`-13-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 13 of 15
`
`4,723,209
`
`LEFT PAPER EDGE
`
`F.G. 6
`
`RIGHT PAPER EDGE
`
`SUPERBLOCK LEFT MARGIN
`
`WHTE SPACE
`
`OBJECT SET
`(NON-TEXT)
`
`OBJECT SET 3
`(NON-TEXT)
`
`OBJECT, SET 2
`(NON-TEXT)
`
`SUPERBLOCK RGHT MARGIN -
`
`LEFT PAPER EDGE
`
`
`
`FIG 7
`
`RIGHT PAPER EDGE
`
`SUPERBLOCK LEFT MARGIN
`-
`Nol is the time for all good people to come
`to the aid of their
`country.
`See hol
`the text
`flots
`above
`object
`set 2 &
`object
`set 3
`
`OBJECT SET 3
`(NON-TEXT )
`
`OBJECT SET 2
`(NON-TEXT)
`
`SUPER BLOCK RIGHT MARGIN -
`
`-14-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 14 of 15
`
`4,723,209
`
`
`
`describe
`CREATE
`SHO
`super block Description
`
`GET
`
`UNDO/ REDO
`
`PRINT
`
`PASTE
`
`SEARCH
`
`GOTO
`
`DELETE
`
`MOVE
`
`END
`
`copy.
`
`LEFT MARGIN:
`R GHTMARGIN:
`
`sPA cl NGBE FORE:
`SPACI. NG AFTER:
`TEx T. FLOWMARGIN:
`
`.25 in.
`... 25 in.
`.25 in.
`
`POECTION:
`
`O
`
`of f
`
`F. G8
`
`SUPERBLOCK REPRESENTATION
`
`
`
`
`
`FIRST OBSET
`Di
`
`OBSET
`D 2
`
`LAST
`
`OBSET
`Di N
`
`
`
`
`
`
`
`OBJSET
`
`OBJSET PREV
`it 2
`NEXT
`
`OBJSET
`it N
`
`
`
`
`
`
`
`PREV
`NEXT
`NAME
`HEGHT
`FORMATTED
`KEEP
`ID TAG
`SHEAD
`OBSET TYPE
`SUPERBLOCK
`OBJECT SET
`
`
`
`
`
`SIGNIFIES A NL POINTER
`S HEAD - FIRST OBJSET ID
`LAST OBJSET ID
`
`OBJSET -N CAN BETEXT,
`GRAPHCS OR TABLES
`
`FG20
`
`-15-
`
`

`

`U.S. Patent Feb. 2, 1988
`
`Sheet 15 of 15
`
`4,723,209
`
`DOCUMENT RING
`
`DOCUMENT
`HEADER
`
`NEXT DOCUMENT HEADER
`UNDO RING
`REDO RING
`DOC FCB
`
`
`
`FG 9
`
`DATA TYPE
`DEFAULT DATA
`AND ATTRIBUTES
`
`
`
`
`
`
`
`FN 2
`
`
`
`
`
`
`
`FN 3
`
`PREVFN
`
`DOCUMENT OBJECT
`
`PREV LAB
`
`PREVPAGE
`
`PREVOBJSET
`FIRSTOBJSET
`NAMED OBy
`
`HDRPTR
`
`i.
`
`PAGE 2
`HDRPTR
`i.
`PAGE3
`HDRPTR
`FTRPTR
`HDRPTR
`FTRPTR
`
`OBSET2
`
`t
`
`NAMED OBJ
`
`LAB 2
`
`NAMED OBJ
`- AB
`
`NAMED OBJ
`
`PAGEN
`
`OBSETN-DATA
`
`NEXT LAB
`
`NEXT PAGE
`
`NEXT OBSET
`
`NEXT FN
`
`LAST PAGE
`
`LAST OBJ SET
`
`-16-
`
`

`

`1.
`
`FLOWATTRIBUTE FORTEXT OBJECTS
`
`O
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`The invention disclosed in this application is related
`to the inventions disclosed in the following applications
`filed concurrently herewith and assigned to the assignee
`of this application:
`Ser. No. 645,622 for SUPERBLOCKSTRUCTURE
`IN A MULTIPLE DATA EDITOR filed by Barbara
`A. Barker and Rex A. McCaskill filed on Aug. 30, 1984;
`Ser. No. 645,620 for IMPLICIT CREATION OF A
`SUPERBLOCK STRUCTURE filed by Barbara A.
`15
`Barker and Irene H. Hernandez filed on Aug. 30, 1984;
`and
`Ser. No. 645,630 for EDITING OF A SUPER
`BLOCK STRUCTURE filed by Barbara A. Barker,
`Irene H. Hernandez and Rex. A McCaskill filed on
`20
`Aug. 30, 1984.
`The disclosures of the foregoing applications are
`incorporated herein by reference.
`BACKGROUND OF THE INVENTON
`25
`The present invention generally relates to integrated
`multiple data editors and, more particularly, to a super
`block structure containing two or more diverse object
`sets positioned so that the object sets overlap one an
`other, reside side-by-side, or extend above or below one
`30
`another. The object sets may be text, graphics or tables,
`and once created, the super block structure is treated as
`an object set in the formatting of a document thereby
`simplifying the formatting algorithm of the editor.
`Computers are coming into more common use
`throughout society not only because computers can
`perform many jobs more efficiently than prior devices
`or methods, but because the relative cost of computers
`has decreased dramatically over the past decade. At
`first, mainframes and then microcomputers with multi
`40
`ple terminais made access to computers available to
`many people in larger businesses. With the advent of
`microcomputers for both business and personal use,
`great numbers of people now have access to computers.
`The trend is for most computer users not to be com
`45
`puter professionals or sophisticated in data processing
`techniques. It has therefore been necessary to design
`what have come to be known in the art as user friendly
`computer programs to allow the unsophisticated user to
`perform desired tasks on a computer without extensive
`training. One technique that has been employed is to
`provide the user with a menu of choices of the particu
`lar tasks or functions which may be performed. Such a
`menu may take the form of a full or partial screen dis
`play with spaces adjacent the menu entries where the
`cursor may be placed by the use of keys on a keyboard
`or other cursor moving device. A selection of the de
`sired task or function is made by placing the cursor in
`the spaced adjacent that entry and pressing the ENTER
`key or other key provided for that purpose. The pro
`gram may be provided with a series of menus so that the
`user is led through progressively more complex tasks or
`functions in a simple and unconfusing process. Such
`programs are generally described as menu driven pro
`grams as distinguished from command driven pro
`65
`grams. In the latter case, the tasks or functions to be
`performed by the user must be chosen and entered by a
`series of commands. This type of program is typical of
`
`4,723,209
`2
`earlier types of programs and requires some degree of
`sophistication and training of the user.
`In addition to making programs more user friendly,
`the recent trend has been to provide some form of inte
`gration of computer program applications. Without
`integration, the user must employ separate application
`programs for, say, word processing, data processing,
`and graphing, and it is often difficult to merge the out
`puts of the several applications in a single document.
`Therefore, the purpose of program application integra
`tion is to further simplify the use of a computer to pro
`duce a desired output product. Software integration has
`evolved in several forms. Perhaps the simplest form of
`integration is a series of application programs designed
`to work alike sharing the same files and using the same
`or similar commands to perform the same or similar
`functions. This form of integration is relatively easy to
`implement but does not allow the individual programs
`of the family to be run simultaneously. Currently, the
`most popular integrated software are what may be
`termed multiple-function programs. These are charac
`terized as incorporating a variety of applications within
`one program. Such programs generally allow splitting
`of the screen into several different windows almost as if
`each were a separate program. Typically, these multi
`ple-function programs include text, spreadsheet and
`business graphing applications. Somewhat similar to the
`multiple-function programs is the now evolving integra
`tion technique based on a database application environ
`ment wherein all applications share a common set of
`data. Quite a different approach is taken when an inte
`grated operating environment is provided. In this ap
`proach, individual programs can share information and
`often appear on the screen at the same time, each in its
`own window. Applications can be chosen and com
`bined in contrast to multiple-function programs that are
`limited to applications programmed into the package.
`Integrated operating environments are best imple
`mented in object-oriented systems. This is a relatively
`new approach in that software systems have tradition
`ally had two components: data and procedures. The
`data represents the information manipulated by the
`software and the procedures represent a unit of the
`software. Actions occur when a procedure is invoked
`and is given some data to manipulate. The problem with
`this traditional approach is that the data and the proce
`dure are treated as if they are independent when in fact
`they are really related. In contrast, there is only one
`component in an object-oriented system, i.e. the object
`which represents both the information and the manipu
`lation of this information. A programmer using an ob
`ject-oriented system sends a message to invoke a manip
`ulation, instead of calling a procedure. The message
`includes a symbolic name which describes the manipu
`lation but not the manipulation details. The object re
`ceiving the message determines which method to exe
`cute on the basis of the message selector. The most
`thorough investigation of the object-oriented approach
`has been done by the Xerox Learning Research Group
`in Palo Alto, Calif., which designed and implemented
`Smalltalk, a language very similar to the process of
`human interaction. A Smalltalk programmer imple
`ments a system by describing messages to be sent and
`describing what happens when messages are received.
`Smalltalk has been particularly advantageous in the
`development of software for the user of personal com
`puters with a high-resolution display, a keyboard, a
`pointing device such as a mouse, and a disk storage and
`
`35
`
`50
`
`55
`
`-17-
`
`

`

`4,723,209
`3
`4.
`processor unit. A pointing cursor is used to track the
`dards' document that describes how a user interacts
`current screen mouse position and allows the user to
`with the Lisa system. Like the Star computer, the desk
`point to any displayed object. Usually, the mouse has
`top manager for the Lisa is an icon base, but unlike the
`one or more buttons, one being used for object selection
`Star where the icons can be put at fixed locations on the
`and another being used for menu presentation. Such a
`screen so that they can never overlap, the Lisa icons can
`machine was designed and developed by Xerox to facil
`be placed anywhere. For that reason, the Lisa computer
`can have overlapping, arbitrarily shaped objects on the
`itate the research and development by Smalltalk. This
`machine is the Alto computer, and several machines
`display screen. The Lisa computer depends on the meta
`were donated by Xerox to Stanford and Carnegie-Mel
`phor that the video display is a desktop, while the icons
`are objects on the desktop. Everything in the Lisa sys
`lon Universities and the Massachusets Institute of Tech
`10
`nology to be used for research projects. The Alto was
`tem is represented on the desktop by either an icon or a
`never commercially produced.
`rectangular area referred to as a window. All icons can
`Early in 1981, Xerox introduced the 8010 Star Infor
`be selected via the mouse, and all windows can be
`mation Systems, a personal computer patterned after
`scrolled horizontally or vertically, expanded or con
`the Alto computer for use in offices by business profes
`tracted, and moved by holding down the mouse booth
`15
`sionals. The Star is a multifunction system which com
`and moving the cursor. The design of the Lisa system is
`integrated. Each of the Lisa programs has a large
`bines document creation with data processing, elec
`tronic filing, mailing and printing. As in the Alto, an
`amount of common behavior and structure. There are
`important component of the Star computer is an all
`no modes to restrict the user's activities at a given time.
`points addressable (APA) or bit-mapped display screen
`For example, the user can switch from text to spread
`20
`sheet to graphing applications just as if those applica
`which makes visual communications more effective by
`allowing full graphics flexibility. The approach in de
`tions were separate sheets of paper on the desk. Like the
`signing the Star computer was to first establish the
`Xerox Alto and Star computers, the Lisa computer is
`based on the Smalltalk Language/operating system.
`fundamental concepts of how the user would relate to
`The technology developed for the Lisa computer has
`the system and then design the software and hardware
`25
`specifications. The design of the Star user interface was
`been further refined in the recently introduced Macin
`based on a familiar user's conceptual model, seeing
`tosh and Lisa II computers from Apple Computer.
`/pointing as opposed to remembering/typing, what you
`As part of a research effort at the IBM Cambridge
`see is what you get (WYSIWYG), a set of universal
`Scientific Center in Cambridge, Mass, to develop soft
`commands, consistency, simplicity, a modeless interac
`ware techniques in the field of office systems, Sheldon
`30
`Borkin and John Prager developed the personal on-line
`tion and user tailorability. There are icons on the dis
`play which represent office objects, such as documents,
`integrated text editor (POLITE). This is an easy-to-use,
`real-time editor and formatter for compound docu
`folders, file drawers, in-baskets, and out-baskets. The
`icons can be "opened' to enable the user to deal with
`ments. A compound document is one containing im
`the object the icon represents. Documents can be read,
`ages, draw graphics, charts, handwriting, text, tables
`35
`the contents of folders can be inspected and mail can be
`and mathematical symbols. The philosophy of Polite is
`examined. Everything to be dealt with by the user and
`the idea that an editor should be able to handle integra
`all actions available to the user have a visible represen
`tion of function in-line without having to invoke sepa
`rate applications and without using a cut and paste
`tation on the screen so that the user never has to remem
`ber the different meanings and contexts of any key. The
`buffer. The Apple Lisa and Macintosh and the Xerox
`Star computers are all integrated systems offering the
`mechanism used to make these concepts visible is the
`property and option sheets. A property sheet presents
`capability to edit compound documents, but the method
`all the possible options for a particular object such as,
`commonly used in those computers is to place the result
`for example, type font and size, bold, italic, underline
`of the requested function in a cut buffer and then return
`and superscript/subscript on a text character property
`to the document editor to paste the result in the desired
`45
`sheet. To select any of these options, the user merely
`location. This is a time-consuming and tedious process.
`selects the option by pointing and pressing the appropri
`However, the inspiration for Polite was drawn from the
`ate button, and then to change any property on the
`research done at the Xerox Palo Alto Research Center,
`property sheet, the user points to it and presses the
`and the concepts of the Polite Editor are similar to those
`appropriate button again. To prevent the user from
`developed for the Smalltalk programming language and
`50
`being ovewhelmed with information, property sheets
`further refined by the Star and Lisa computers. Since
`display only the properties relevant to the type of object
`Polite is intended to have a very wide audience, the
`currently selected thereby hiding complexity until it is
`human factors of the system have been carefully consid
`needed. The Star computer also allows the system to be
`ered. Some of the ease-of-use features of the system
`tailored to fit the individual user's needs. The user can
`include unlimited UNDO and REDO functions, real
`55
`tailor the working environment by choosing the icons
`time formatting, use of menus, a pointing-based help
`for the desktop display. Blank documents can be set up
`system, multiple window editing, and tutorial "help-by
`with text, paragraph and page layout defaults. The fil
`example'. In Polite, there is no distinction between
`ing system can be tailored by changing the sort order in
`source document and formatted document. There is
`file drawers and folders.
`only one form of a document in existence, and it is
`Early in 1983, Apple Computer introduced a new
`always formatted and it is always printable. Thus,
`kind of computer called the Lisa. Lisa's designers drew
`whenever the user makes a change, the document is
`heavily on the previous work done by the Xerox Palo
`automatically reformatted thereby providing immediate
`Alto Research Center, but they also refined several
`feedback to the user and eliminating much of the guess
`borrowed concepts and combined them with many new
`work that characterizes prior editors. The user sees a
`65
`ideas. The first task tackled by Lisa's designers was to
`portion of the document on the screen along with a
`devise a new way for users to interact with the com
`small menu identifying the current programmed func
`puter. The result was an internal "User Interface Stan
`tion key definitions. On the function keys are requests
`
`-18-
`
`

`

`20
`
`35
`
`4,723,209
`6
`5
`are within other objects reside within a defined object
`(commands) which are either immediately executable
`set boundary. All objects are explicit, i.e. they are rec
`or which act as a "gateway' to further menus. In these
`ognizable, choosable entities. Blocks are user-selected
`other menus, some of the function keys have other, i.e.
`ranges of any part of the document. For example, a
`local, definitions. The Polite system consists of two
`major functional components: the screen-manager and
`block can be defined as a range of cells in a column or
`the document-manager. The document-manager con
`a character string. The block object allows the user to
`tains Polite's internal representation of the document
`underline characters, change fonts, or define a "keep'
`around a group of objects. When the user applies an
`(both text and formatting information), while the
`screen-manager contains the displayable form of the
`attribute to the block such as underline, the underline is
`ignored where it has no meaning. For example, an un
`document (the only form the user ever sees) and con
`10
`derline of a set of graphics objects is not meaningful. All
`trols the interaction with the user. The screen-manager
`objects exist within a specified boundary on the page.
`maintains a display-oriented WYSIWYG (what you see
`This boundary is defined as an object set boundary. For
`is what you get) represenation of some subset of the
`example, a text character exists within the boundary of
`document. This subset includes at least that portion of
`either a line object set or a paragraph object set; a rect
`the document which fits on the screen, and possibly the
`15
`angle exists within the boundary of a graphic object set;
`whole document depending on the document size.
`and a cell exists within the boundaries of a table object
`SUMMARY OF THE INVENTION
`set. According to the present invention, object sets may
`It is an object of the present invention to provide
`be moved into positions on the page such that more than
`improvements in integrated computer software.
`one object set is occupying a single displayable area on
`the page. Examples of this are a paragraph flowing
`It is another more specific object of the invention to
`provide improvements in an application composite edi
`around a graphic object set, a table object set next to a
`graphic object set and a graphic object set in the middle
`tor which simplifies integration of different data types
`of a paragraph with text flowing above and below. Such
`on a page of a document.
`an arrangement of objects creates a structure called a
`It is a further object of the invention to provide a
`25
`superblock.
`multiple data editor which facilitates the manipulation
`A superblock is any displayable area containing two
`of a group of diverse object sets within a single display
`or more object sets positioned so that the object sets
`able area on a page of a document and simplifies the
`formatting procedure of the editor.
`overlap one another, reside side-by-side or extend
`The subject invention is directed to improvements in
`above or below one another. A text object set may not
`be overlapped by any other object set. As a result, text
`an application composite editor which is based on the
`Polite system. Like Polite, the application composite
`will always be readjusted according to its flow attri
`bute. The purpose of the superblock structure is to
`editor is an easy-to-use, real-time editor formatter for
`compound documents containing not only text but also
`similify the calculation of the space the object sets oc
`images, graphics, tables, annotations and handwriting.
`cupy. By creating the superblock structure, the format
`The application composite editor provides integration
`ting algorithm does not have to take into consideration
`the complexity inside each object's block structure ex
`of a data on a single page in relation to each other in
`dynamic editable form. All data types can be created
`cept when a page end decision must be made. Presenta
`tion of the complex relationship on the page is also
`within the same document, and text can flow around
`simplified.
`graphics or tables. All data in the editor resides on pages
`The superblock is implicitly created by the editor as
`and all pages reside within a composite document. The
`user interface design for the application composite edi
`the result of a user specified action. There are five ac
`tor is based on the following ease-of-use features to
`tions which can cause the creation of a superblock.
`make document creation and editing a quick, easily
`They are CREATE, MOVE, COPY, PASTE and
`learned and straight forward process:
`GET. When the editor creates the superblock the super
`45
`block icon is placed at the starting top boundary for the
`1. Use of key-word commands on a command bar
`superblock. One method of selecting the superblock is
`which is always displayed at the top of the screen. The
`for the user to first select the superblock icon. A pop
`command bar lists all of the commands currently active
`down panel showing a list of the icon representations
`for the type of data being edited.
`2. Use of pop-down panels when a command is se
`for each object set within the superblock structure is
`50
`displayed, and the pop-down panel is positioned below
`lected which lists a set of options which can be selected
`the superblock icon and appears to the user as an exten
`and/or modified.
`sion of the icon. To select the object set within the
`3. Use of full screen windows as a mechanism for
`viewing and manipulating data.
`superblock, the user selects the icon representation of
`the object set from the pop-down panel. Another selec
`4. Use of unlimited UNDO and REDO functions to
`55
`allow the user to reverse previously performed func
`tion method is to point at the desired object set within
`the superblock. An enclosing routine is then called to
`tions without fear of damaging data.
`5. Use of a help-by-demonstration function which
`determine the object set selected. In cases where selec
`allows the user to request a demonstration of how a
`tion by pointing results in ambiguity, the first selection
`particular command works. The editor will show the
`method should be used. When the user selects an object
`set within the superblock, the command bar changes to
`user how the command works by doing it and then
`undoing it.
`reflect the actions which are valid for that ty

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket