US20130326321A1 - Optimizations for hybrid word processing and graphical content authoring - Google Patents
Optimizations for hybrid word processing and graphical content authoring Download PDFInfo
- Publication number
- US20130326321A1 US20130326321A1 US13/960,386 US201313960386A US2013326321A1 US 20130326321 A1 US20130326321 A1 US 20130326321A1 US 201313960386 A US201313960386 A US 201313960386A US 2013326321 A1 US2013326321 A1 US 2013326321A1
- Authority
- US
- United States
- Prior art keywords
- page
- container
- note
- input
- electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G06F17/211—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
Definitions
- a user's experience with a computer application dictates whether the user recommends the product to others or purchases additional products from an application vendor.
- note taking application users expect input flexibility, allowing for the positioning of content anywhere on an electronic page, including text, electronic ink, and pictures (e.g., slides, spreadsheets, images, etc.). That is, note taking application developers attempt to provide free-form interactive operations for application users. For example, a developer may choose to write code that directs a user's click to the nearest content based on some proximity factor or directly onto a page where the user clicked.
- a note taking application may be biased towards creating new objects on a page rather than adding to existing content as a user expected to result from an input operation.
- computer-implemented notes may tend to appear in disarray or cluttered.
- electronic notes may not align from page to page, resulting in a disorganized or messy appearance as the user flips between multiple pages.
- One valuable aspect of a quality electronic note taking application is a flexible page surface. However, too much flexibility can lead to messy notes.
- a note taking application that includes a balance of flexibility and imposed structure can enable users to create good looking, uncluttered notes, and at the same time, make it easy to work with an electronic page interface.
- Embodiments provide interactive computer-implemented rich heterogeneous content authoring features.
- a computer-implemented method includes an interaction model that uses an input state associated with a user operation and an electronic page interface to provide an interactive authoring experience.
- a note taking client can include an interaction model used in part to automatically control aspects of an electronic note page. Other embodiments are included and available.
- FIG. 1 is a block diagram of an exemplary computing system.
- FIG. 2 is a flow diagram illustrating aspects of an exemplary electronic note taking process.
- FIGS. 3A-3E depict aspects of an exemplary electronic note taking application interface.
- FIG. 4 is a flow diagram illustrating aspects of an exemplary electronic note taking process.
- FIG. 5 is a diagram depicting aspects of an exemplary interaction model.
- FIGS. 6A-6D depict aspects of an exemplary electronic note taking application interface.
- FIG. 7 is a block diagram illustrating an exemplary computing environment for implementation of various embodiments described herein.
- FIG. 1 is a block diagram of an exemplary computing system 100 .
- components of the system 100 enable free form interaction using features of a note taking application that including electronic text features, electronic ink features, electronic pictures, and/or other note taking features.
- the components of the system 100 operate to provide a rich note taking experience using a free-form interaction model including presentation features to present page content based in part on user input operations.
- the components can be configured according to an interaction model that provides balanced degrees of flexibility and imposed structure.
- the system 100 includes electronic note taking features that operate to position an originating container and a cursor at a default position of an electronic page as part of a first input operation associated with a note taking application.
- components of the system 100 can operate to create and position an originating container at an upper left hand position of a new or blank electronic page as part of responding to a first click or tap or other first input.
- each user device/system can include different input options, such as a mouse, keyboard, stylus, finger, etc.
- components can operate to remove the originating container and position a new container at an insertion point associated with the second input operation.
- the system 100 of an embodiment uses a first input operation on a picture or associated container as part of selecting the picture, and a second input operation on the picture as part of positioning a cursor at the insertion point in the picture associated with the second input operation.
- the system 100 operates to automatically resize a note container based in part on a size of a page and an associated window or other interface, as discussed further below.
- the computing system 100 of an embodiment includes a number of components including processor and memory resources 102 .
- the system 100 also includes a note taking client or application 104 that includes an input manager component or input manager 106 , and/or an interaction model 108 , but is not so limited.
- the input manager 106 can be used to track user input operations and maintain input states associated with the note taking application 104 , but is not so limited.
- the interaction model 108 can be configured to automatically provide interactive note taking features based in part on inputs tracked by the input manager 106 or some other component.
- the interaction model 108 can be configured to control location of a cursor and/or insertion point on an electronic note taking page.
- the exemplary system 100 of FIG. 1 includes other applications and resources 110 , such as an operating system, network access components, graphics and display drivers/components, communication components (e.g., radio, GSP, VOID, etc.), input devices (e.g., microphone, camera, haptic, tablet, touch screen, etc.), and other features.
- the computing system 100 can be networked with a serving infrastructure to provide web-based note taking and other application services.
- a browser component of the system 100 can be used in conjunction with a serving infrastructure to provide a web-based note taking application experience that includes communication using cloud 112 .
- Data, metadata, and other aspects of the note taking application can be stored locally and/or remotely.
- the client 104 can be used in conjunction with electronic features of a processor-based device or system that includes using handwriting, text, and other processing functionalities to provide free-form note editing features.
- electronic tablet features can include electronic ink manipulation techniques that enable users to create and modify electronic notes.
- the input manager 106 can operate to identify handwriting strokes as being part of a word or drawing, and may identify objects based on an input, metadata, and/or file type.
- the electronic features can integrate ink, text, voice, and/or other processing operations.
- the availability of multiple input interfaces provides a user with a variety of ways to create electronic notes, including free from interactive inputs that result in a rich electronic note taking experience. While a certain number and types of components are described above, it will be appreciated that other numbers and types can be included according to various embodiments. Accordingly, component functionality can be further divided and/or combined with other component functionalities according to desired implementations.
- FIG. 2 is a flow diagram illustrating aspects of an exemplary electronic note taking process 200 .
- a note taking or other word processing and graphical content authoring application can include aspects of the exemplary process 200 as part of providing a rich and intuitive note taking experience.
- an electronic note page is selected and displayed within a display window having a size and configuration.
- a user can use a note taking application to create new pages and modify existing pages that include page objects and other information, such as note containers that include electronic text and/or ink, pictures, audio, video, file attachments, and/or other noteworthy content for graphical display.
- content can be included as part of a container and/or directly on an associated page.
- the process 200 can use the presence of a page object, such as a note container for example, on an electronic page as part of automating the user's note taking experience.
- Containers of an embodiment can be used to contain text, ink, images, and other digital content.
- the note taking application can be used to create a blank note page that a user can use to as part of electronic note taking operation including creating and/or positioning one or more containers on the page.
- a note container comprises a page object and can include digital text and/or digital ink, but is not so limited.
- the process 200 of an embodiment operates in part by tracking page status parameters including page object (e.g., text container(s), picture container(s), etc.) and/or input states associated with each page for use in conjunction with the interaction model.
- page object e.g., text container(s), picture container(s), etc.
- input states associated with each page for use in conjunction with the interaction model.
- the process 200 can track the number of user clicks, click locations, and/or container numbers and types and store the associated parameters in memory.
- a tracking bit is used to track a first input state (e.g., a logical “1” equates to a first input operation on a blank page).
- the bit of a tracking register may or may not be reset based in part on the interaction model implementation, described below.
- the flow proceeds to 204 and the process 200 creates and positions an originating container and a cursor at a default location on the current page.
- the user can interact with originating container using typing inputs, inking inputs, vocal inputs, etc.
- the process 200 can include an interaction model that operates to position a note container in an upper left hand portion of the current page, aligned with any originating placeholders, configured for a left to right viewing audience.
- the interaction model can be configured to position a note container in an upper right hand portion of a current page, aligned with any originating placeholders, configured for a right to left viewing audience.
- the process 200 operates to remove the originating container and position a new container at an insertion point associated with a second user operation corresponding with a second input state (e.g., second click/tap on the page outside of the originating container as compared to a double click).
- a second input state e.g., second click/tap on the page outside of the originating container as compared to a double click.
- the user can interact with new container using typing inputs, inking inputs, vocal inputs, etc. If a second user operation has not occurred, the flow proceeds to 208 and the process 200 waits for a user operation.
- the flow proceeds to 210 and the picture is selected.
- the process 200 operates to position a cursor at an insertion point within the bounds of the picture associated with a second user operation corresponding with a second input state for the picture (e.g., second click/tap on the selected picture). If a second user operation has not occurred, the flow proceeds to 208 and the process 200 waits for a user operation.
- the page object is not a picture, then default interaction applies based in part on the type of page object. For example, a first default action for a drawing or file attachment operates to select the associated page object. While a certain number and order of operations is described for the exemplary flow of FIG. 2 , it will be appreciated that other numbers and orders can be used according to desired implementations.
- FIGS. 3A-3E depict aspects of an exemplary electronic note taking application interface 300 .
- the interface 300 is shown at various times as a user uses the note taking application.
- the user has opened or selected an electronic page 302 that includes a page display surface 304 .
- the page display surface 304 of one embodiment includes predefined placeholders 306 and 308 for presenting a page title and date/time information.
- the page display surface 304 does not include a page object, such as a note container for example. Assume for this example that the user has not yet interacted with the page display surface 304 . Thus, an input state associated with the electronic page 302 at this instance is zero, signifying that a first input operation has not occurred. As described above, the input state can also be reset to zero when a user re-navigates to a page that does not include or is absent a note container. The input state can also be reset when switching window focus or restarting the note taking application.
- the user's first input operation coincides with a page location 310 (operation shown by cursor 312 ) on the page display surface 304 . Since this is the first input operation (e.g., first click/tap) associated with the page, the note taking application of an embodiment automatically and simultaneously creates an originating note container 314 and cursor 316 at a default location 318 on the page display surface 304 , saving the input state to memory.
- the default location 318 coincides with an upper left hand page position in alignment or justified with any placeholder objects. Accordingly, an input state associated with the electronic page 302 at this instance is one, signifying that a first input operation has occurred.
- the user's second input operation (e.g., click/tap) occurs again at page location 310 of page display surface 304 .
- an input state associated with the electronic page 302 at this instance is two, signifying that a second input operation has occurred.
- the second input operation (not classified as a double click) causes the note taking application of an embodiment to automatically remove originating note container 314 and create a new note container 320 and cursor 322 at page location 310 on the page display surface 304 .
- the user's first input operation coincides with a page location 324 (operation shown by cursor 312 ) coinciding with picture or image 326 displayed on the page display surface 304 .
- the input is a first input operation on the image 326 .
- the note taking application of an embodiment automatically selects the image 326 , depicting the user selection using informative indicia (e.g., target icon 328 and highlighted outline 330 ), saving the input state to memory.
- an input state associated image 326 at this instance is one, signifying that a first input operation has occurred for this page object.
- the user's second input operation (e.g., click, tap, etc.) occurs again at page location 324 , coinciding with image 326 displayed on the page display surface 304 , the user input continuing to be relative to a selection state of the image or picture.
- an input state associated with the image 326 at this instance is two, signifying that a second input operation has occurred.
- the second input operation causes the note taking application of an embodiment to automatically insert a cursor 332 at page location 324 within image 326 .
- the image can also be selected by arrowing to the image using arrow keys which can also correspond with a first image input state. Subsequent interaction with the image (e.g., a click, tap, etc.) on the image operates to insert a cursor at the insertion point. As long as the second input operation coincides with image 326 (and not necessarily at a same location of a first click/tap operation), the note taking application of this embodiment automatically inserts a cursor at an associated insertion point. At all or select times, the note taking application operates to track and store input states, container states, and/or other page parameters in memory.
- FIG. 4 is a flow diagram illustrating aspects of an exemplary electronic note taking process 400 .
- a note taking application can include aspects of the exemplary process 400 as part of providing a rich interactive computer-implemented note taking experience.
- the process 400 operates to determine a size of an active window used to display aspects of an electronic note taking application interface, such as one or more sections, pages, interaction tools, and other note taking application features.
- a note taking application or other component can operate to track window dimensions (e.g., length ⁇ width) for open application windows of a user computer display.
- the process 400 operates to determine a size of an electronic page displayed in the active window.
- a note taking application or other component can operate to track electronic note page dimensions (e.g., length ⁇ width) displayed in an open window.
- the process 400 operates to determine a container state of a selected electronic note page.
- a note taking application or other component can operate to track rendering of containers (e.g., text containers, ink containers, picture containers, etc.) on an electronic note page.
- the process 400 of an embodiment operates to adjust aspects of a note container and any associated content if a note taking application window is resized to at least one resize threshold and the current page includes only one note container.
- first and second adjustment or transition ranges are used to determine whether to resize an electronic note page based in part on associated window size and page size parameters.
- the process 400 operates to adjust aspects of multiple note containers displayed on a page using adjustment thresholds for each container based in part on a location and a type of content of each note container. For example, the process 400 can operate to prioritize adjusting of text containers over ink containers and picture containers, and prioritize adjusting ink containers and picture containers.
- Various window parameters, page parameters, container state parameters, input state parameters, and other parameters can be stored in local and/or remote memory. While a certain number and order of operations is described for the exemplary flow of FIG. 4 , it will be appreciated that other numbers and orders can be used according to desired implementations.
- FIG. 5 is a diagram depicting aspects of an exemplary interaction model 500 that can be used to automatically adjust aspects of a note taking application interface.
- the interaction model 500 of one embodiment can be used in conjunction with an operating system component or components to automatically adjust aspects of the note taking application interface within a display window.
- the interaction model 500 of an embodiment includes first and second non-resizing zones or ranges 502 and 504 , and first and second resizing zones or ranges 506 and 508 , but is not so limited.
- the resizing ranges 506 and 508 include distinct page ranges wherein the note taking application can automatically resize a single note container and reflow any associated content (e.g., digital text) based in part on certain transition thresholds and page and/or window sizes.
- Each resizing range of one embodiment can be used as a queue for a note taking application to use as part of automatically resizing a note container, including reflow of any associated content (e.g., extend content further down and/or across a page) as the user resizes an associated application window. For example, when resizing an application window, if an application window width coincides with a resize range portion, the note taking application can automatically resize the note container and re-render any associated content on the page.
- resizing range 506 of the interaction model 500 can be defined as including the first transition threshold 512 up to and including a second transition threshold 514 (e.g., 5.7 inches), and resizing range 508 can be defined as including the second transition threshold 514 up to and including the third transition threshold 516 .
- the interaction model 500 can be used to control if and how much a note container is to be resized or adjusted based in part on associated viewport dimensions.
- the interaction model 500 can be used in conjunction with a note taking application to automatically resize a single note container of a note page using a first resizing threshold/percentage (e.g., resize container to 70% of available page width) when an application window width dimension is within the second resizing range 508 , and to a second resizing threshold/percentage (e.g., resize container to 95% of available page width) when an application window width dimension is within the first resizing range 506 .
- a first resizing threshold/percentage e.g., resize container to 70% of available page width
- a second resizing threshold/percentage e.g., resize container to 95% of available page width
- Other embodiments can include other interaction parameters and features.
- an interaction model can be used with a note taking application to adjust a width dimension of the note container 606 based in part on a number of transition thresholds or states and at least one application window dimension.
- the exemplary interaction model 500 will be used to describe any adjustments made to the note container 606 and any associated content.
- the application window 602 has been resized beyond the third transition threshold 516 and the width dimension 608 of application window 602 falls within the resizing range 508 .
- the note taking application uses the resizing parameters of the interaction model 500 to automatically resize the note container 606 .
- the interaction model 500 can be used to auto adjust a width of the note container 606 to fill approximately seventy percent (70%) of the available page dimension 610 based in part on the application window and/or page size.
- the remaining page area (approximately thirty percent (30%)) can be displayed as available space for incorporation of one or more additional containers.
- page interface 604 includes a width dimension 610 of about 10.6 inches wide and a height dimension of about 8 inches high (e.g., 1024 ⁇ 768 pixels). If page tabs consume about 1.5 inches of width and about 0.5 inches is allocated for a collapsed left navigation pane etc., the maximum page width dimension for this example includes about 8.5 inches.
- the interaction model 500 can be used to auto adjust the note container 606 width to fill approximately ninety five percent (95%) of the available page dimension 610 including the left margin as shown in FIG. 6C .
- the resize behavior continues during the resizing range 506 until the page width falls below the first transition threshold 512 (e.g., about 1.5 inches) and into non-resizing range 502 where the note container 606 remains at a fixed width as shown in FIG. 6D .
- resize parameters e.g., 70% factor, 95% factor, etc.
- all threshold points 8.5, 5.7, 1.5 inches
- a note taking application does not store container resize width values until a user manually changes a width dimension by resizing a note container outline.
- Note container resizing includes reflowing content as the container is resized.
- the interaction model can be configured to include granular resizing operations that appear gradual over about a 0.5 inch range surrounding threshold points (e.g., 0.25 inches on either side of each threshold or transition point).
- the note taking application can use an interaction model that uses two separate flags to track 1) when a user manually resizes a note container outline, and 2) when the application implicitly fixes the note container outline width due to location of a second note container on a page.
- an interaction model that uses two separate flags to track 1) when a user manually resizes a note container outline, and 2) when the application implicitly fixes the note container outline width due to location of a second note container on a page.
- each note container outline can be automatically rendered at a fixed width, respectively. If a user manually adjusts the note container outline width (e.g., drags an edge) its flag is set to correspond as being fixed width.
- Viewport_Width the visible width in inches of the page surface (e.g., white surface area, not including the section frame borders, page tabs, and scroll bars).
- a default example value is 8.5 inches.
- the above parameters can be implemented as registry key settings which can be altered based on user feedback and input.
- a user input e.g., click/tap
- the note taking application of an embodiment can operate to expand the outline and position the insertion point at the user input location on the page.
- Double click operations of an embodiment operate to pin the cursor and create a new container outline even if it is within the zone of a previous container outline.
- the note taking application can operate to lock the size of an associated container outline to prevent resizing.
- the note taking application can be implemented within a networked communication environment that includes a networked association of computing devices/systems and associated communication infrastructure.
- the environment may include multiple communication networks, server components (e.g., project server, collaboration server, file server, etc.), and/or client devices/systems having various communication functionalities (e.g., smart phone, laptop, notebook, desktop, etc.).
- Exemplary communication environments can include the use of secure networks, unsecure networks, hybrid networks, and/or some other network or combination of networks.
- the environment can include wired media such as a wired network or direct-wired connection, and/or wireless media such as acoustic, radio frequency (RF), infrared, and/or other wired and/or wireless media and components.
- wired media such as a wired network or direct-wired connection
- wireless media such as acoustic, radio frequency (RF), infrared, and/or other wired and/or wireless media and components.
- RF radio frequency
- various embodiments can be implemented as a computer process (e.g., a method), an article of manufacture, such as a computer program product or computer readable media, computer readable storage medium, and/or as part of various communication architectures.
- An exemplary computer program product can include computer storage media that includes useable electronic note taking instructions.
- the components described above can be implemented as part of networked, distributed, and/or other computer-implemented environment.
- the components can communicate via a wired, wireless, and/or a combination of communication networks.
- Network components and/or couplings between components of can include any of a type, number, and/or combination of networks and the corresponding network components include, but are not limited to, wide area networks (WANs), local area networks (LANs), metropolitan area networks (MANs), proprietary networks, backend networks, etc.
- Client computing devices/systems and servers can be any type and/or combination of processor-based devices or systems. Additionally, server functionality can include many components and include other servers. Components of the computing environments described in the singular tense may include multiple instances of such components. While certain embodiments include software implementations, they are not so limited and encompass hardware, or mixed hardware/software solutions. Other embodiments and configurations are available.
- FIG. 7 the following discussion is intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules.
- program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
- program modules may be located in both local and remote memory storage devices.
- computer 2 comprises a general purpose desktop, laptop, handheld, or other type of computer capable of executing one or more application programs.
- the computer 2 includes at least one central processing unit 8 (“CPU”), a system memory 12 , including a random access memory 18 (“RAM”) and a read-only memory (“ROM”) 20 , and a system bus 10 that couples the memory to the CPU 8 .
- CPU central processing unit
- RAM random access memory
- ROM read-only memory
- the computer 2 further includes a mass storage device 14 for storing an operating system 24 , application programs, and other program modules.
- the mass storage device 14 is connected to the CPU 8 through a mass storage controller (not shown) connected to the bus 10 .
- the mass storage device 14 and its associated computer-readable media provide non-volatile storage for the computer 2 .
- computer-readable media can be any available media that can be accessed or utilized by the computer 2 .
- Computer-readable media may comprise computer storage media and communication media.
- Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 2 .
- the computer 2 may operate in a networked environment using logical connections to remote computers through a network 4 , such as a local network, the Internet, etc. for example.
- the computer 2 may connect to the network 4 through a network interface unit 16 connected to the bus 10 .
- the network interface unit 16 may also be utilized to connect to other types of networks and remote computing systems.
- the computer 2 may also include an input/output controller 22 for receiving and processing input from a number of other devices, including a keyboard, mouse, etc. (not shown). Similarly, an input/output controller 22 may provide output to a display screen, a printer, or other type of output device.
- a number of program modules and data files may be stored in the mass storage device 14 and RAM 18 of the computer 2 , including an operating system 24 suitable for controlling the operation of a networked personal computer, such as the WINDOWS operating systems from MICROSOFT CORPORATION of Redmond, Wash.
- the mass storage device 14 and RAM 18 may also store one or more program modules.
- the mass storage device 14 and the RAM 18 may store application programs, such as word processing, spreadsheet, drawing, e-mail, and other applications and/or program modules, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Embodiments provide interactive computer-implemented rich heterogeneous content authoring features. In an embodiment, a computer-implemented method includes an interaction model that uses an input state associated with a user operation and an electronic page interface to provide an interactive authoring experience. In one embodiment, a note taking client can include an interaction model used in part to automatically control aspects of an electronic note page. Other embodiments are included and available.
Description
- The present application is a continuation of U.S. patent application Ser. No. 12/758,153, filed Apr. 12, 2010, now U.S. Pat. No. 8,504,915 entitled Optimizations For Hybrid Word Processing and Graphical Content Authoring, which is assigned to the assignee of the present application, and hereby incorporated by reference.
- Ultimately, a user's experience with a computer application dictates whether the user recommends the product to others or purchases additional products from an application vendor. For example, note taking application users expect input flexibility, allowing for the positioning of content anywhere on an electronic page, including text, electronic ink, and pictures (e.g., slides, spreadsheets, images, etc.). That is, note taking application developers attempt to provide free-form interactive operations for application users. For example, a developer may choose to write code that directs a user's click to the nearest content based on some proximity factor or directly onto a page where the user clicked.
- In some cases, inefficiencies compound with wasted input operations that may include any additional corrective actions required to obtain a desirable result. For example, a note taking application may be biased towards creating new objects on a page rather than adding to existing content as a user expected to result from an input operation. Moreover, due in part to free form interactions and display limitations, computer-implemented notes may tend to appear in disarray or cluttered. For example, electronic notes may not align from page to page, resulting in a disorganized or messy appearance as the user flips between multiple pages. One valuable aspect of a quality electronic note taking application is a flexible page surface. However, too much flexibility can lead to messy notes. A note taking application that includes a balance of flexibility and imposed structure can enable users to create good looking, uncluttered notes, and at the same time, make it easy to work with an electronic page interface.
- This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
- Embodiments provide interactive computer-implemented rich heterogeneous content authoring features. In an embodiment, a computer-implemented method includes an interaction model that uses an input state associated with a user operation and an electronic page interface to provide an interactive authoring experience. In one embodiment, a note taking client can include an interaction model used in part to automatically control aspects of an electronic note page. Other embodiments are included and available.
- These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of the invention as claimed.
-
FIG. 1 is a block diagram of an exemplary computing system. -
FIG. 2 is a flow diagram illustrating aspects of an exemplary electronic note taking process. -
FIGS. 3A-3E depict aspects of an exemplary electronic note taking application interface. -
FIG. 4 is a flow diagram illustrating aspects of an exemplary electronic note taking process. -
FIG. 5 is a diagram depicting aspects of an exemplary interaction model. -
FIGS. 6A-6D depict aspects of an exemplary electronic note taking application interface. -
FIG. 7 is a block diagram illustrating an exemplary computing environment for implementation of various embodiments described herein. -
FIG. 1 is a block diagram of anexemplary computing system 100. As discussed below, components of thesystem 100 enable free form interaction using features of a note taking application that including electronic text features, electronic ink features, electronic pictures, and/or other note taking features. The components of thesystem 100 operate to provide a rich note taking experience using a free-form interaction model including presentation features to present page content based in part on user input operations. In one embodiment, the components can be configured according to an interaction model that provides balanced degrees of flexibility and imposed structure. - In an embodiment, the
system 100 includes electronic note taking features that operate to position an originating container and a cursor at a default position of an electronic page as part of a first input operation associated with a note taking application. For example, components of thesystem 100 can operate to create and position an originating container at an upper left hand position of a new or blank electronic page as part of responding to a first click or tap or other first input. It will be appreciated that each user device/system can include different input options, such as a mouse, keyboard, stylus, finger, etc. - Upon receiving a second input operation, components can operate to remove the originating container and position a new container at an insertion point associated with the second input operation. The
system 100 of an embodiment uses a first input operation on a picture or associated container as part of selecting the picture, and a second input operation on the picture as part of positioning a cursor at the insertion point in the picture associated with the second input operation. In one embodiment, thesystem 100 operates to automatically resize a note container based in part on a size of a page and an associated window or other interface, as discussed further below. - As shown in
FIG. 1 , thecomputing system 100 of an embodiment includes a number of components including processor andmemory resources 102. Thesystem 100 also includes a note taking client orapplication 104 that includes an input manager component orinput manager 106, and/or aninteraction model 108, but is not so limited. In one embodiment, theinput manager 106 can be used to track user input operations and maintain input states associated with thenote taking application 104, but is not so limited. As discussed below, theinteraction model 108 can be configured to automatically provide interactive note taking features based in part on inputs tracked by theinput manager 106 or some other component. In one embodiment, theinteraction model 108 can be configured to control location of a cursor and/or insertion point on an electronic note taking page. - As shown, the
exemplary system 100 ofFIG. 1 includes other applications andresources 110, such as an operating system, network access components, graphics and display drivers/components, communication components (e.g., radio, GSP, VOID, etc.), input devices (e.g., microphone, camera, haptic, tablet, touch screen, etc.), and other features. In one embodiment, thecomputing system 100 can be networked with a serving infrastructure to provide web-based note taking and other application services. For example, a browser component of thesystem 100 can be used in conjunction with a serving infrastructure to provide a web-based note taking application experience that includescommunication using cloud 112. Data, metadata, and other aspects of the note taking application can be stored locally and/or remotely. - As one example, the
client 104 can be used in conjunction with electronic features of a processor-based device or system that includes using handwriting, text, and other processing functionalities to provide free-form note editing features. For example, electronic tablet features can include electronic ink manipulation techniques that enable users to create and modify electronic notes. Theinput manager 106 can operate to identify handwriting strokes as being part of a word or drawing, and may identify objects based on an input, metadata, and/or file type. The electronic features can integrate ink, text, voice, and/or other processing operations. The availability of multiple input interfaces provides a user with a variety of ways to create electronic notes, including free from interactive inputs that result in a rich electronic note taking experience. While a certain number and types of components are described above, it will be appreciated that other numbers and types can be included according to various embodiments. Accordingly, component functionality can be further divided and/or combined with other component functionalities according to desired implementations. -
FIG. 2 is a flow diagram illustrating aspects of an exemplary electronicnote taking process 200. For example, a note taking or other word processing and graphical content authoring application can include aspects of theexemplary process 200 as part of providing a rich and intuitive note taking experience. At 202, an electronic note page is selected and displayed within a display window having a size and configuration. For example, a user can use a note taking application to create new pages and modify existing pages that include page objects and other information, such as note containers that include electronic text and/or ink, pictures, audio, video, file attachments, and/or other noteworthy content for graphical display. In one embodiments, content can be included as part of a container and/or directly on an associated page. - As part of an interaction model of an embodiment, the
process 200 can use the presence of a page object, such as a note container for example, on an electronic page as part of automating the user's note taking experience. Containers of an embodiment can be used to contain text, ink, images, and other digital content. For example, the note taking application can be used to create a blank note page that a user can use to as part of electronic note taking operation including creating and/or positioning one or more containers on the page. In accordance with an embodiment, a note container comprises a page object and can include digital text and/or digital ink, but is not so limited. - The
process 200 of an embodiment operates in part by tracking page status parameters including page object (e.g., text container(s), picture container(s), etc.) and/or input states associated with each page for use in conjunction with the interaction model. For example, theprocess 200 can track the number of user clicks, click locations, and/or container numbers and types and store the associated parameters in memory. In one embodiment, a tracking bit is used to track a first input state (e.g., a logical “1” equates to a first input operation on a blank page). The bit of a tracking register may or may not be reset based in part on the interaction model implementation, described below. - If the current page does not include a page object (e.g., a note container) and an input state associated with a user operation is a first input state (e.g., first click/tap on the page), then the flow proceeds to 204 and the
process 200 creates and positions an originating container and a cursor at a default location on the current page. The user can interact with originating container using typing inputs, inking inputs, vocal inputs, etc. In one embodiment, theprocess 200 can include an interaction model that operates to position a note container in an upper left hand portion of the current page, aligned with any originating placeholders, configured for a left to right viewing audience. In another embodiment, the interaction model can be configured to position a note container in an upper right hand portion of a current page, aligned with any originating placeholders, configured for a right to left viewing audience. - At 206, the
process 200 operates to remove the originating container and position a new container at an insertion point associated with a second user operation corresponding with a second input state (e.g., second click/tap on the page outside of the originating container as compared to a double click). The user can interact with new container using typing inputs, inking inputs, vocal inputs, etc. If a second user operation has not occurred, the flow proceeds to 208 and theprocess 200 waits for a user operation. - If there is a page object comprising a picture or picture container on the page and the input state associated with the user operation is a first input state for the picture, the flow proceeds to 210 and the picture is selected. At 212, the
process 200 operates to position a cursor at an insertion point within the bounds of the picture associated with a second user operation corresponding with a second input state for the picture (e.g., second click/tap on the selected picture). If a second user operation has not occurred, the flow proceeds to 208 and theprocess 200 waits for a user operation. At 214, if the page object is not a picture, then default interaction applies based in part on the type of page object. For example, a first default action for a drawing or file attachment operates to select the associated page object. While a certain number and order of operations is described for the exemplary flow ofFIG. 2 , it will be appreciated that other numbers and orders can be used according to desired implementations. -
FIGS. 3A-3E depict aspects of an exemplary electronic note takingapplication interface 300. Referring toFIGS. 3A-3C , theinterface 300 is shown at various times as a user uses the note taking application. As shown inFIG. 3A , the user has opened or selected anelectronic page 302 that includes apage display surface 304. As shown, thepage display surface 304 of one embodiment includes 306 and 308 for presenting a page title and date/time information.predefined placeholders - As shown in
FIG. 3A , thepage display surface 304 does not include a page object, such as a note container for example. Assume for this example that the user has not yet interacted with thepage display surface 304. Thus, an input state associated with theelectronic page 302 at this instance is zero, signifying that a first input operation has not occurred. As described above, the input state can also be reset to zero when a user re-navigates to a page that does not include or is absent a note container. The input state can also be reset when switching window focus or restarting the note taking application. - Referring to
FIG. 3B , the user's first input operation (e.g., click/tap) coincides with a page location 310 (operation shown by cursor 312) on thepage display surface 304. Since this is the first input operation (e.g., first click/tap) associated with the page, the note taking application of an embodiment automatically and simultaneously creates an originating note container 314 andcursor 316 at adefault location 318 on thepage display surface 304, saving the input state to memory. In one embodiment, thedefault location 318 coincides with an upper left hand page position in alignment or justified with any placeholder objects. Accordingly, an input state associated with theelectronic page 302 at this instance is one, signifying that a first input operation has occurred. - Referring to
FIG. 3C , the user's second input operation (e.g., click/tap) occurs again atpage location 310 ofpage display surface 304. Thus, an input state associated with theelectronic page 302 at this instance is two, signifying that a second input operation has occurred. The second input operation (not classified as a double click) causes the note taking application of an embodiment to automatically remove originating note container 314 and create anew note container 320 andcursor 322 atpage location 310 on thepage display surface 304. - Referring to
FIG. 3D , the user's first input operation (e.g., click, tap, arrow over, etc.) coincides with a page location 324 (operation shown by cursor 312) coinciding with picture orimage 326 displayed on thepage display surface 304. Assume for this example that the input is a first input operation on theimage 326. Since this is the first input operation (e.g., first click/tap) associated with the image, the note taking application of an embodiment automatically selects theimage 326, depicting the user selection using informative indicia (e.g.,target icon 328 and highlighted outline 330), saving the input state to memory. Accordingly, an input state associatedimage 326 at this instance is one, signifying that a first input operation has occurred for this page object. - Referring to
FIG. 3E , the user's second input operation (e.g., click, tap, etc.) occurs again atpage location 324, coinciding withimage 326 displayed on thepage display surface 304, the user input continuing to be relative to a selection state of the image or picture. Thus, an input state associated with theimage 326 at this instance is two, signifying that a second input operation has occurred. The second input operation causes the note taking application of an embodiment to automatically insert acursor 332 atpage location 324 withinimage 326. - The image can also be selected by arrowing to the image using arrow keys which can also correspond with a first image input state. Subsequent interaction with the image (e.g., a click, tap, etc.) on the image operates to insert a cursor at the insertion point. As long as the second input operation coincides with image 326 (and not necessarily at a same location of a first click/tap operation), the note taking application of this embodiment automatically inserts a cursor at an associated insertion point. At all or select times, the note taking application operates to track and store input states, container states, and/or other page parameters in memory.
-
FIG. 4 is a flow diagram illustrating aspects of an exemplary electronicnote taking process 400. For example, a note taking application can include aspects of theexemplary process 400 as part of providing a rich interactive computer-implemented note taking experience. At 402, theprocess 400 operates to determine a size of an active window used to display aspects of an electronic note taking application interface, such as one or more sections, pages, interaction tools, and other note taking application features. For example, a note taking application or other component can operate to track window dimensions (e.g., length×width) for open application windows of a user computer display. - At 404, the
process 400 operates to determine a size of an electronic page displayed in the active window. For example, a note taking application or other component can operate to track electronic note page dimensions (e.g., length×width) displayed in an open window. At 406, theprocess 400 operates to determine a container state of a selected electronic note page. For example, a note taking application or other component can operate to track rendering of containers (e.g., text containers, ink containers, picture containers, etc.) on an electronic note page. In an embodiment, a container state value can be used to track container renderings for each electronic page (e.g., 0=zero containers, 1=one container, 2=two containers, etc.). In one embodiment, a container state can be used to track types of container renderings for each electronic page (e.g., 0nc=zero note containers, 1nc=one note container, 2nc=two note containers, 0pc=zero picture containers, 1pc=one picture container, etc.) - At 408, the
process 400 operates to determine an input state associated with the selected electronic note page. For example, a note taking application or other component can operate to track the number of times that a user has interacted with each page and/or page object. In an embodiment, an input state value can be used to track user inputs for each electronic page (e.g., 0=no clicks/taps, 1=first click/tap, 2=second click/tap, etc.). In one embodiment, theprocess 400 operates to reset an input state if a user navigates to another page before returning to a previous used page. At 410, theprocess 400 of an embodiment operates to adjust aspects of a note container and any associated content if a note taking application window is resized to at least one resize threshold and the current page includes only one note container. In one embodiment, first and second adjustment or transition ranges are used to determine whether to resize an electronic note page based in part on associated window size and page size parameters. - If the window has not been resized, the flow returns to 406. In an alternative embodiment, the
process 400 operates to adjust aspects of multiple note containers displayed on a page using adjustment thresholds for each container based in part on a location and a type of content of each note container. For example, theprocess 400 can operate to prioritize adjusting of text containers over ink containers and picture containers, and prioritize adjusting ink containers and picture containers. Various window parameters, page parameters, container state parameters, input state parameters, and other parameters can be stored in local and/or remote memory. While a certain number and order of operations is described for the exemplary flow ofFIG. 4 , it will be appreciated that other numbers and orders can be used according to desired implementations. -
FIG. 5 is a diagram depicting aspects of anexemplary interaction model 500 that can be used to automatically adjust aspects of a note taking application interface. For example, theinteraction model 500 of one embodiment can be used in conjunction with an operating system component or components to automatically adjust aspects of the note taking application interface within a display window. As shown inFIG. 5 , theinteraction model 500 of an embodiment includes first and second non-resizing zones or ranges 502 and 504, and first and second resizing zones or ranges 506 and 508, but is not so limited. - The non-resizing ranges 502 and 504 include distinct page ranges (e.g., width portions in inches, centimeters, etc.) wherein a single note container is not to be resized including freezing any associated content from reflow. For example, if a user resizes an application window that includes a single note container within these non-resizing ranges, the note taking application will not resize the note container or re-render any associated content to extend further down and/or across a page.
- The resizing ranges 506 and 508 include distinct page ranges wherein the note taking application can automatically resize a single note container and reflow any associated content (e.g., digital text) based in part on certain transition thresholds and page and/or window sizes. Each resizing range of one embodiment can be used as a queue for a note taking application to use as part of automatically resizing a note container, including reflow of any associated content (e.g., extend content further down and/or across a page) as the user resizes an associated application window. For example, when resizing an application window, if an application window width coincides with a resize range portion, the note taking application can automatically resize the note container and re-render any associated content on the page.
- As shown in
FIG. 5 , theinteraction model 500 of one embodiment can be used in conjunction with abase viewport width 509 to define anon-resizing range 502 as including a leftmost portion 510 (e.g., zero inches, 1st character beyond margin space, etc.) of the viewport up to and including a first transition threshold 512 (e.g., 1.5 inches), and anon-resizing range 504 as including anything greater than or equal to a third transition threshold 516 (e.g., 8.5 inches) up to amaximum viewport width 518. - In accordance with such an embodiment, resizing
range 506 of theinteraction model 500 can be defined as including thefirst transition threshold 512 up to and including a second transition threshold 514 (e.g., 5.7 inches), and resizingrange 508 can be defined as including thesecond transition threshold 514 up to and including thethird transition threshold 516. As described above, theinteraction model 500 can be used to control if and how much a note container is to be resized or adjusted based in part on associated viewport dimensions. - In one embodiment, the
interaction model 500 can be used in conjunction with a note taking application to automatically resize a single note container of a note page using a first resizing threshold/percentage (e.g., resize container to 70% of available page width) when an application window width dimension is within thesecond resizing range 508, and to a second resizing threshold/percentage (e.g., resize container to 95% of available page width) when an application window width dimension is within thefirst resizing range 506. Other embodiments can include other interaction parameters and features. -
FIGS. 6A-6D depict aspects of an exemplary electronic note takingapplication interface 600. As shown,FIGS. 6A-6D depict a progression of resizing operations to anapplication window 602 displaying aspects of a note takingpage interface 604, including any associated adjustments made to thesingle note container 606 as part of a resizing operation. As shown inFIG. 6A , for the current application state, theapplication window 602 has awidth dimension 608 and thepage interface 604 has awidth dimension 610. As the user resizes theapplication window 602, thewidth dimension 608 can change to larger and smaller dimensions, which may or may not affect the presentation of thenote container 606 and/or any associated content according to an implemented interaction model. - In one embodiment, an interaction model can be used with a note taking application to adjust a width dimension of the
note container 606 based in part on a number of transition thresholds or states and at least one application window dimension. For this example, theexemplary interaction model 500 will be used to describe any adjustments made to thenote container 606 and any associated content. As shown inFIG. 6B , theapplication window 602 has been resized beyond thethird transition threshold 516 and thewidth dimension 608 ofapplication window 602 falls within theresizing range 508. Thus, the note taking application uses the resizing parameters of theinteraction model 500 to automatically resize thenote container 606. - In one embodiment, the
interaction model 500 can be used to auto adjust a width of thenote container 606 to fill approximately seventy percent (70%) of theavailable page dimension 610 based in part on the application window and/or page size. The remaining page area (approximately thirty percent (30%)) can be displayed as available space for incorporation of one or more additional containers. For the example described with reference toFIGS. 6B-6D , assume thatpage interface 604 includes awidth dimension 610 of about 10.6 inches wide and a height dimension of about 8 inches high (e.g., 1024×768 pixels). If page tabs consume about 1.5 inches of width and about 0.5 inches is allocated for a collapsed left navigation pane etc., the maximum page width dimension for this example includes about 8.5 inches. - Thus, as shown generally in
FIG. 6A , if theapplication window 602 is maximized and an exemplary page width dimension is 8.5 inches or greater, then theinteraction model 500 can be used to adjust the container width dimension such that thenote container 606 width fills 70% of the page width dimension, including the left margin. The 30% remainder portion 614 can be used as a canvas to create another note container for example. As shown inFIG. 6B , during window resizing, as long as thepage dimension 610 remains within theresizing range 508, thenote container 606 is resized to fill 70% of the available page width, again including the left margin and the 30% remainder portion 614. That is, if the page contains only a single outline or note container for example, and the page width is within resizingrange 508, then the outline fills 70% of the page width as theapplication window 502 is resized within this range. - If the
application window 602 is resized further such that thepage width dimension 610 falls below the second transition threshold 514 (e.g., below about 30% wherein the available page width is now below about ˜5.7 inches) but withinresizing range 506, theinteraction model 500 can be used to auto adjust thenote container 606 width to fill approximately ninety five percent (95%) of theavailable page dimension 610 including the left margin as shown inFIG. 6C . The resize behavior continues during theresizing range 506 until the page width falls below the first transition threshold 512 (e.g., about 1.5 inches) and intonon-resizing range 502 where thenote container 606 remains at a fixed width as shown inFIG. 6D . - As discussed briefly above, resize parameters (e.g., 70% factor, 95% factor, etc.) and all threshold points (8.5, 5.7, 1.5 inches) can be updated based on user/usability feedback. In an embodiment, a note taking application does not store container resize width values until a user manually changes a width dimension by resizing a note container outline. Note container resizing includes reflowing content as the container is resized. To avoid “jumps” or erratic rendering at threshold points and to ensure a smooth reflow, the interaction model can be configured to include granular resizing operations that appear gradual over about a 0.5 inch range surrounding threshold points (e.g., 0.25 inches on either side of each threshold or transition point).
- In one embodiment, the note taking application can use an interaction model that uses two separate flags to track 1) when a user manually resizes a note container outline, and 2) when the application implicitly fixes the note container outline width due to location of a second note container on a page. Thus, for example, if user adds another note container in the 30% allocation area, then each note container outline can be automatically rendered at a fixed width, respectively. If a user manually adjusts the note container outline width (e.g., drags an edge) its flag is set to correspond as being fixed width.
- Thus, the note taking application of an embodiment can operate to maintain note container outlines at fixed widths due to the introduction of a second page level object or manual adjustment of a note container. For example, a note container outline can be fixed to a current width dimension when a second page level object is added to a page. Container outline widths can also be locked for electronic ink. In one embodiment, if a user deletes a second page level object, the initial page object returns to wrapping status if: (a) the initial object is the only outline remaining on the page, and (b) the user had not manually changed the outline width due to resizing operations. Otherwise, the initial object does not return to wrapping status.
- Dragging a single note container outline on the page surface can also operate to fix the position and size of the note container outline. In one embodiment, a default position for an originating note container outline is defined as about ten (10) pixels to the right of the page margin and about thirty (30) pixels below the top of the page title and time stamp, wherein opening a page and clicking anywhere on the page operates to create the originating note container at the default position.
- In one embodiment, the following parameters and algorithm can be used as part of an interaction model including:
- 1) Viewport_Width=the visible width in inches of the page surface (e.g., white surface area, not including the section frame borders, page tabs, and scroll bars). A default example value is 8.5 inches.
- 2) Transition1 [default value=8.5 inches]=the VIEWPORT_WIDTH value below which the note container outline far edge switches to PERCENT1=70 of available width.
- 3) Transition2 [default value=5.7 inches]=the VIEWPORT_WIDTH value below which the note container outline far edge switches to PERCENT2=95%.
- 4) MaximumTransition [default value=10.6 inches]=maximum screen width beyond which the note container outline will not continue to widen.
- 5) Minimum Transition [default value=1.5 inches]=minimum screen width beyond which the note container outline will not continue to shrink.
- 6) Percent1: default value=70%−resizing percent for
transition 1. - 7) Percent2: default value=95%−resizing percent for
transition 2. - 8) Outline_Width=the width of the note container outline in inches.
- 9) Left_Margin [default width=0.3 inches]=this is the margin/space to the left of note container outline.
- The above parameters can be implemented as registry key settings which can be altered based on user feedback and input.
- The algorithm of an embodiment can be defined as:
- SWITCH
-
- i. CASE (ViewPort_Width>Transition1) && (ViewPort_Width<=MaximumTransition), then Outline_Width=(ViewPort_Width*Percent1)−Left_Margin
- ii. CASE (ViewPort_Width<=Transition1) && (ViewPort_Width>MinimumTransition) then Outline_Width=(ViewPort_Width*Percent2)−Left_Margin
- iii. CASE (ViewPort_Width<=MinimumTransition) then Outline_Width=(MinimumTransition*Percent2)−Left_Margin
- iv. CASE ViewPort_Width>MaxTransition then Outline_Width=(MaxTransition*Percent1)−Left_Margin
- If a user input (e.g., click/tap) is located at the bottom of a note container outline within an associated expansion zone, then the note taking application of an embodiment can operate to expand the outline and position the insertion point at the user input location on the page. Double click operations of an embodiment operate to pin the cursor and create a new container outline even if it is within the zone of a previous container outline. For digital ink, the note taking application can operate to lock the size of an associated container outline to prevent resizing.
- In an embodiment, the note taking application can be implemented within a networked communication environment that includes a networked association of computing devices/systems and associated communication infrastructure. The environment may include multiple communication networks, server components (e.g., project server, collaboration server, file server, etc.), and/or client devices/systems having various communication functionalities (e.g., smart phone, laptop, notebook, desktop, etc.).
- Exemplary communication environments can include the use of secure networks, unsecure networks, hybrid networks, and/or some other network or combination of networks. By way of example, and not limitation, the environment can include wired media such as a wired network or direct-wired connection, and/or wireless media such as acoustic, radio frequency (RF), infrared, and/or other wired and/or wireless media and components. In addition to computing systems, devices, etc., various embodiments can be implemented as a computer process (e.g., a method), an article of manufacture, such as a computer program product or computer readable media, computer readable storage medium, and/or as part of various communication architectures. An exemplary computer program product can include computer storage media that includes useable electronic note taking instructions.
- The embodiments and examples described herein are not intended to be limiting and other embodiments are available. Moreover, the components described above can be implemented as part of networked, distributed, and/or other computer-implemented environment. The components can communicate via a wired, wireless, and/or a combination of communication networks. Network components and/or couplings between components of can include any of a type, number, and/or combination of networks and the corresponding network components include, but are not limited to, wide area networks (WANs), local area networks (LANs), metropolitan area networks (MANs), proprietary networks, backend networks, etc.
- Client computing devices/systems and servers can be any type and/or combination of processor-based devices or systems. Additionally, server functionality can include many components and include other servers. Components of the computing environments described in the singular tense may include multiple instances of such components. While certain embodiments include software implementations, they are not so limited and encompass hardware, or mixed hardware/software solutions. Other embodiments and configurations are available.
- Referring now to
FIG. 7 , the following discussion is intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules. - Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
- Referring now to
FIG. 7 , an illustrative operating environment for embodiments of the invention will be described. As shown inFIG. 7 ,computer 2 comprises a general purpose desktop, laptop, handheld, or other type of computer capable of executing one or more application programs. Thecomputer 2 includes at least one central processing unit 8 (“CPU”), asystem memory 12, including a random access memory 18 (“RAM”) and a read-only memory (“ROM”) 20, and asystem bus 10 that couples the memory to theCPU 8. A basic input/output system containing the basic routines that help to transfer information between elements within the computer, such as during startup, is stored in theROM 20. Thecomputer 2 further includes amass storage device 14 for storing anoperating system 24, application programs, and other program modules. - The
mass storage device 14 is connected to theCPU 8 through a mass storage controller (not shown) connected to thebus 10. Themass storage device 14 and its associated computer-readable media provide non-volatile storage for thecomputer 2. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed or utilized by thecomputer 2. - By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the
computer 2. - According to various embodiments of the invention, the
computer 2 may operate in a networked environment using logical connections to remote computers through anetwork 4, such as a local network, the Internet, etc. for example. Thecomputer 2 may connect to thenetwork 4 through anetwork interface unit 16 connected to thebus 10. It should be appreciated that thenetwork interface unit 16 may also be utilized to connect to other types of networks and remote computing systems. Thecomputer 2 may also include an input/output controller 22 for receiving and processing input from a number of other devices, including a keyboard, mouse, etc. (not shown). Similarly, an input/output controller 22 may provide output to a display screen, a printer, or other type of output device. - As mentioned briefly above, a number of program modules and data files may be stored in the
mass storage device 14 andRAM 18 of thecomputer 2, including anoperating system 24 suitable for controlling the operation of a networked personal computer, such as the WINDOWS operating systems from MICROSOFT CORPORATION of Redmond, Wash. Themass storage device 14 andRAM 18 may also store one or more program modules. In particular, themass storage device 14 and theRAM 18 may store application programs, such as word processing, spreadsheet, drawing, e-mail, and other applications and/or program modules, etc. - It should be appreciated that various embodiments of the present invention can be implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, logical operations including related algorithms can be referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, firmware, special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.
- Although the invention has been described in connection with various exemplary embodiments, those of ordinary skill in the art will understand that many modifications can be made thereto within the scope of the claims that follow. Accordingly, it is not intended that the scope of the invention in any way be limited by the above description, but instead be determined entirely by reference to the claims that follow.
Claims (20)
1. A method comprising:
determining a container state of an electronic page;
determining an input state of an application; and
using an interaction model in part to determine whether to adjust a container presentation based in part on the container state and a number of transition ranges that include a first transition threshold used in part to automatically adjust the container presentation to a first portion of an available page dimension, and a second transition threshold used in part to automatically adjust the container presentation to a second portion of the available page dimension.
2. The method of claim 1 , wherein the input state corresponds with a first input occurrence when the electronic page is absent of a page object.
3. The method of claim 2 , further comprising storing parameters associated with the first input occurrence including resize parameters of the application window when the electronic page includes a note container.
4. The method of claim 3 , wherein the input state corresponds to a first input occurrence when the electronic page includes a picture.
5. The method of claim 2 , further comprising determining an insertion point associated with a first input operation at a first location on the electronic page and automatically positioning an originating note container at a default position on the electronic page.
6. The method of claim 5 , wherein the default position coincides with an upper left position portion of the electronic page in response to a first click, first tap, or other first input operation associated with the electronic page.
7. The method of claim 5 , further comprising removing the originating note container and using an insertion point associated with a second input operation as part of automatically positioning a new note container at the insertion point associated with the second input operation.
8. The method of claim 1 , further comprising selecting a picture in conjunction with a first input occurrence and automatically inserting a cursor at an insertion point in the picture in conjunction with a second input occurrence.
9. The method of claim 1 , further comprising automatically resizing the container presentation to about seventy percent of the available page width as part of a first resizing operation and automatically resizing the container presentation to about ninety five percent of the available page width as part of a second resizing operation.
10. A system comprising:
at least one processor;
a note taking component including:
an input manager to detect and manage interactive inputs with an electronic page as part of controlling location of an insertion point and a note container on the electronic page; and
an interaction model to adjust parameters of a note taking interface including to adjust a note container dimension and reflow any associated content based in part on a number of transition thresholds that define one or more of non-resizing and resizing ranges of the electronic page; and
memory to store input parameters.
11. The system of claim 10 , wherein the note container is used to contain one of text, digital ink, and a picture.
12. The system of claim 10 , wherein the input manager uses first and second input operations to control the location of the note container.
13. The system of claim 10 , wherein the input manager uses a tracking register to store user input parameters associated with the electronic page.
14. The system of claim 13 , wherein the tracking register is reset upon navigating from the electronic page.
15. The system of claim 10 , wherein each resizing range includes a range of page widths wherein the note container is presented to encompass a defined percentage of an available page width.
16. The system of claim 10 , wherein a first input operation on a blank electronic page operates to position an originating note container at a default location on the page.
17. An article of manufacture which stores instructions that operate to:
determine a container state of an electronic page; and
use an interaction model in part to determine whether to adjust a container presentation based in part on the container state and a number of transition ranges that include a first transition threshold used in part to automatically adjust the container presentation to a first portion of an available page dimension, and a second transition threshold used in part to automatically adjust the container presentation to a second portion of the available page dimension.
18. The article of manufacture of claim 17 , wherein the instructions further operate to determine an input state that corresponds with a first input occurrence when the electronic page is absent of a page object.
19. The article of manufacture of claim 17 , wherein the instructions further operate to use a tracking register to store user input parameters associated with the electronic page.
20. The article of manufacture of claim 17 , wherein the instructions further operate to position an originating container at a default insertion point when the electronic note page is absent of a container and an input state corresponds to a first input operation in conjunction with the electronic note page, and remove the originating container and positioning a new container at the insertion point when the input state corresponds to a second input operation.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/960,386 US20130326321A1 (en) | 2010-04-12 | 2013-08-06 | Optimizations for hybrid word processing and graphical content authoring |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/758,153 US8504915B2 (en) | 2010-04-12 | 2010-04-12 | Optimizations for hybrid word processing and graphical content authoring |
| US13/960,386 US20130326321A1 (en) | 2010-04-12 | 2013-08-06 | Optimizations for hybrid word processing and graphical content authoring |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/758,153 Continuation US8504915B2 (en) | 2010-04-12 | 2010-04-12 | Optimizations for hybrid word processing and graphical content authoring |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20130326321A1 true US20130326321A1 (en) | 2013-12-05 |
Family
ID=44761812
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/758,153 Expired - Fee Related US8504915B2 (en) | 2010-04-12 | 2010-04-12 | Optimizations for hybrid word processing and graphical content authoring |
| US13/960,386 Abandoned US20130326321A1 (en) | 2010-04-12 | 2013-08-06 | Optimizations for hybrid word processing and graphical content authoring |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US12/758,153 Expired - Fee Related US8504915B2 (en) | 2010-04-12 | 2010-04-12 | Optimizations for hybrid word processing and graphical content authoring |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US8504915B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150121183A1 (en) * | 2013-10-25 | 2015-04-30 | Palo Alto Research Center Incorporated | System and method for reflow of text in mixed content documents |
| US9659279B2 (en) | 2013-10-25 | 2017-05-23 | Palo Alto Research Center Incorporated | Method and system for enhanced inferred mode user interface operations |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9158559B2 (en) * | 2012-01-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Roaming of note-taking application features |
| US9645699B2 (en) * | 2012-02-10 | 2017-05-09 | Apple Inc. | Device, method, and graphical user interface for adjusting partially off-screen windows |
| US20140033228A1 (en) * | 2012-07-25 | 2014-01-30 | Google Inc. | Configuring content display dimensions |
| US10176156B2 (en) | 2012-10-30 | 2019-01-08 | Microsoft Technology Licensing, Llc | System and method for providing linked note-taking |
| US20140180752A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | Interface to select application based on state transition models of work |
| US8938679B1 (en) * | 2013-11-18 | 2015-01-20 | Axure Software Solutions, Inc. | Comment system for interactive graphical designs |
| USD745040S1 (en) * | 2014-01-29 | 2015-12-08 | 3M Innovative Properties Company | Display screen or portion thereof with animated graphical user interface |
| US10937127B2 (en) * | 2018-08-13 | 2021-03-02 | International Business Machines Corporation | Methods and systems for managing text in rendered images |
| CN112114786B (en) * | 2020-09-23 | 2024-05-14 | 统信软件技术有限公司 | Implementation method of editor, computing device and readable storage medium |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7257776B2 (en) * | 2002-02-05 | 2007-08-14 | Microsoft Corporation | Systems and methods for scaling a graphical user interface according to display dimensions and using a tiered sizing schema to define display objects |
| US20070214431A1 (en) * | 2006-03-08 | 2007-09-13 | Microsoft Corporation | Smart gadget resizing |
| US20080155387A1 (en) * | 2006-12-22 | 2008-06-26 | Canon Kabushiki Kaisha | Information processing apparatus, control method thereof, and program |
| US8612849B2 (en) * | 2007-04-13 | 2013-12-17 | Canon Kabushiki Kaisha | Laying out graphical elements on a page |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5847706A (en) * | 1995-11-30 | 1998-12-08 | Hewlett Packard Company | Sizeable window for tabular and graphical representation of data |
| US7024623B2 (en) * | 1998-06-17 | 2006-04-04 | Microsoft Corporation | Method and system for placing an insertion point in an electronic document |
| US7191405B1 (en) | 2000-11-22 | 2007-03-13 | Adobe Systems Incorporated | System and method for editing information |
| US20030067497A1 (en) * | 2001-10-09 | 2003-04-10 | Pichon Olivier Francis | Method and device for modifying a pre-existing graphical user interface |
| US7296240B1 (en) | 2003-05-22 | 2007-11-13 | Microsoft Corporation | Document object membranes |
| US7360157B1 (en) | 2003-09-19 | 2008-04-15 | Microsoft Corporation | Aligning content in an electronic document |
| US20050289453A1 (en) | 2004-06-21 | 2005-12-29 | Tsakhi Segal | Apparatys and method for off-line synchronized capturing and reviewing notes and presentations |
| US20070079236A1 (en) * | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Multi-form design with harmonic composition for dynamically aggregated documents |
| JP4345772B2 (en) * | 2006-04-21 | 2009-10-14 | セイコーエプソン株式会社 | Document editing apparatus, program, and storage medium |
| US8464177B2 (en) * | 2006-07-26 | 2013-06-11 | Roy Ben-Yoseph | Window resizing in a graphical user interface |
| US8887087B2 (en) * | 2007-03-28 | 2014-11-11 | Sap Se | Column layout |
| US7949954B1 (en) * | 2007-08-17 | 2011-05-24 | Trading Technologies International, Inc. | Dynamic functionality based on window characteristics |
| GB2482005A (en) * | 2010-07-14 | 2012-01-18 | Sony Europe Ltd | Resizing graphical elements on the display of a computing device. |
-
2010
- 2010-04-12 US US12/758,153 patent/US8504915B2/en not_active Expired - Fee Related
-
2013
- 2013-08-06 US US13/960,386 patent/US20130326321A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7257776B2 (en) * | 2002-02-05 | 2007-08-14 | Microsoft Corporation | Systems and methods for scaling a graphical user interface according to display dimensions and using a tiered sizing schema to define display objects |
| US20070214431A1 (en) * | 2006-03-08 | 2007-09-13 | Microsoft Corporation | Smart gadget resizing |
| US20080155387A1 (en) * | 2006-12-22 | 2008-06-26 | Canon Kabushiki Kaisha | Information processing apparatus, control method thereof, and program |
| US8612849B2 (en) * | 2007-04-13 | 2013-12-17 | Canon Kabushiki Kaisha | Laying out graphical elements on a page |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150121183A1 (en) * | 2013-10-25 | 2015-04-30 | Palo Alto Research Center Incorporated | System and method for reflow of text in mixed content documents |
| US9659279B2 (en) | 2013-10-25 | 2017-05-23 | Palo Alto Research Center Incorporated | Method and system for enhanced inferred mode user interface operations |
| US10296570B2 (en) * | 2013-10-25 | 2019-05-21 | Palo Alto Research Center Incorporated | Reflow narrative text objects in a document having text objects and graphical objects, wherein text object are classified as either narrative text object or annotative text object based on the distance from a left edge of a canvas of display |
Also Published As
| Publication number | Publication date |
|---|---|
| US8504915B2 (en) | 2013-08-06 |
| US20110252309A1 (en) | 2011-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8504915B2 (en) | Optimizations for hybrid word processing and graphical content authoring | |
| CN107015751B (en) | Optimal display and scaling of objects and text in documents | |
| US8645849B2 (en) | Method and apparatus for providing portioned web pages in a graphical user interface | |
| US20140250394A1 (en) | User interface for document table of contents | |
| CN102542008B (en) | The summary view of document is provided | |
| US20120272144A1 (en) | Compact control menu for touch-enabled command execution | |
| US9600447B2 (en) | Methods and systems for page layout using a virtual art director | |
| US8171401B2 (en) | Resizing an editable area in a web page | |
| CN102770840B (en) | Data structure maps and navigation | |
| US8296673B2 (en) | Collapsible tabbed user interface | |
| US8949729B2 (en) | Enhanced copy and paste between applications | |
| US8397153B1 (en) | Systems and methods for rich presentation overlays | |
| US20150227494A1 (en) | Creating and editing dynamic graphics via a web interface | |
| US9747010B2 (en) | Electronic content visual comparison apparatus and method | |
| US20120233565A1 (en) | System and method for displaying content | |
| US9727547B2 (en) | Media interface tools and animations | |
| US20180059919A1 (en) | Responsive Design Controls | |
| US20090313574A1 (en) | Mobile document viewer | |
| CN104395962A (en) | Display Documents Based on Author Preferences | |
| US20130232403A1 (en) | Method and system for the use of adjustment handles to facilitate dynamic layout editing | |
| US20190258396A1 (en) | Layout design with adaptive areas | |
| US11640283B2 (en) | Control bar for element activation | |
| US20160026609A1 (en) | Appending New Content to Open Content | |
| CN109074209B (en) | Details pane for user interface | |
| US20190042083A1 (en) | Managing documents with scroll boxes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541 Effective date: 20141014 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |