Throughout time, information was most commonly printed on, published and disseminated via paper based media, such as paper, newspapers, magazines, flyers, postcards, letters, etc. That information would then be disseminated for public consumption. In a typical example, a flyer could be produced containing information relating to a band performance at the local civic auditorium. As the flyer announcing the concert date gets handed around by promoters, eventually one particular flyer would reach an interested party, a fan. That fan could then try to get additional friends to attend the band concert using the same flyer by writing a hand written note on the flyer expressing enthusiasm for attending the concert and passing that note to a friend. That is, the flyer would be marked up with personal information and then passed along.
More particularly, using a paper based media platforms, it was a simple matter for a reader to add notes by hand to that piece of paper using any marking implement (e.g., pen, pencil, etc.). Those notes could express the writer's opinions, desires, reflections, appreciations, etc. Importantly, the piece of paper conveyed two pieces of information, including underlying concert information, and a personal note expressing interest in attending the concert.
Taking the simple action of writing a note on a flyer, personal information relating to two or more individuals could be expressed and passed between those individuals. That is, the hand written note could then be shared with others (e.g., family members, friends, colleagues, etc.) by handing that marked-up paper to the intended recipient.
Fast forward to today's multi-media information market, content publication is distributed through many electronic platforms. For instance, information could be distributed through web-serve means (e.g., through the internet), or through other communication networks (e.g., through smartphones). A user would view that information through some electronic display (e.g., computer, smartphone, etc.).
However, with modern distribution of information through electronic media, a user's ability to add personal information to that electronic content is difficult. For instance, projecting personal expressions of a viewer about a piece of content without reverting back to traditional methods is cumbersome. While basic, the traditional method (e.g., including printing out a piece of content, adding personal written information to that printed content, and then passing it to a friend) is limited in application, as it takes time to distribute, cannot be easily extended beyond some limited physical range without involving elaborate distribution methods (e.g., postal mail), and is directed to a single individual.
In another application that reaches more towards modern technology, a user may copy a link to the electronic content and put it into an email, wherein the email contains a personal message relating to the content. This approach however still does not reach far enough, as the personal note is disassociated with the underlying web content. That is, the personal note is contained in the email, which is displayed separately from the underlying web content.
It would be beneficial to provide direct markup of electronic content and sharing of that marked up content with others.
A computer implemented method for marking is described in accordance with one embodiment of the invention. The method includes rendering first content on a web browser of a client device. The method further includes capturing a snapshot of the first content as rendered according to settings of the web browser. The method further includes receiving markup in association with the snapshot, and generating marked up content that comprises the snapshot and the markup. The method further includes storing the marked up content for later access.
In other embodiments of the present invention, a non-transitory computer-readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for marking. The method includes rendering first content on a web browser of a client device. The method further includes capturing a snapshot of the first content as rendered according to settings of the web browser. The method further includes receiving markup in association with the snapshot, and generating marked up content that comprises the snapshot and the markup. The method further includes storing the marked up content for later access.
In other embodiments, a system for marking is disclosed. The system includes a web browser configured for rendering first content. The web browser or other capture module is configurable to capture a snapshot of the first content as rendered according to settings of the web browser. The system also includes a markup interface as implemented through the web browser, wherein the markup interface is configured for generating markup in association with the snapshot, such that marked up content comprising said snapshot and said markup is generated.
In still other embodiments, another system for marking is disclosed. The system includes a snapshot of first content rendered by a web browser of a client device. The system also includes a markup overlaid the snapshot. The system also includes marked up content comprising the snapshot and the markup, wherein the marked up content is configured for storage by a back end server for later access and rendering by any suitable web browser.
The accompanying drawings, which are incorporated in and form a part of this specification and in which like numerals depict like elements, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the disclosure.
Reference will now be made in detail to the various embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. While described in conjunction with these embodiments, it will be understood that they are not intended to limit the disclosure to these embodiments. On the contrary, the disclosure is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the disclosure as defined by the appended claims. Furthermore, in the following detailed description of the present disclosure, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.
Some portions of the detailed descriptions that follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those utilizing physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present disclosure, discussions utilizing terms such as “marking,” “rendering,” “capturing,” “receiving,” “generating,” “storing,” “browsing,” “co-browsing,” or the like, refer to actions and processes of a computer system or similar electronic computing device or processor (e.g., system 100). The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the computer system memories, registers or other such information storage, transmission or display devices.
Other embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of computer-readable storage medium, such as program modules, executed by one or more computers or other devices. By way of example, and not limitation, computer-readable storage media may comprise non-transitory computer storage media and communication media. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.
Computer storage media includes volatile and nonvolatile, 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, random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can accessed to retrieve that information.
Communication media can embody computer-executable instructions, data structures, and program modules, and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. Combinations of any of the above can also be included within the scope of computer-readable media.
Both the central processing unit (CPU) 110 and the graphics processing unit (GPU) 120 are coupled to memory 140. System memory 140 generally represents any type or form of volatile or non-volatile storage device or medium capable of storing data and/or other computer-readable instructions. Examples of system memory 140 include, without limitation, RAM, ROM, flash memory, or any other suitable memory device. In the example of
The system 100 includes a user interface 160 that, in one implementation, includes an on-screen cursor control device. The user interface may include a keyboard, a mouse, and/or a touch screen device (a touchpad).
The system 100 also includes a markup module 190 that is configured for enabling marking of any content suitable for display through a web browser. For instance, the markup module 190 includes a web browser 191 for rendering content, and for providing a platform for generating markup. The markup module 190 also includes a capture module 192 configured for capturing a snapshot of the content that is suitable for marking. Module 190 also includes a marking generator 193 configured for enabling marking (e.g., markup) of the content, and for generating marked up content that includes the snapshot and the markup. Markup module 190 also includes storage 194 for storing the marked up content, and a communication module 195 for delivering the marked up content at a back end server. In one embodiment, markup module 190 includes one or more of the illustrated components and is implemented at a client device. In another embodiment, markup module 190 includes one or more the illustrated components and is implemented at a back end server configured for enabling marking of web content through a web browser at a client device.
CPU 110 and/or GPU 120 generally represent any type or form of processing unit capable of processing data or interpreting and executing instructions. In certain embodiments, processors 110 and/or 120 may receive instructions from a software application or hardware module. These instructions may cause processors 110 and/or 120 to perform the functions of one or more of the example embodiments described and/or illustrated herein. For example, processors 110 and/or 120 may perform and/or be a means for performing, either alone or in combination with other elements, one or more of the monitoring, determining, gating, and detecting, or the like described herein. Processors 110 and/or 120 may also perform and/or be a means for performing any other steps, methods, or processes described and/or illustrated herein.
In some embodiments, the computer-readable medium containing a computer program may be loaded into computing system 100. All or a portion of the computer program stored on the computer-readable medium may then be stored in system memory 140 and/or various portions of storage devices. When executed by processors 110 and/or 120, a computer program loaded into computing system 100 may cause processor 110 and/or 120 to perform and/or be a means for performing the functions of the example embodiments described and/or illustrated herein. Additionally or alternatively, the example embodiments described and/or illustrated herein may be implemented in firmware and/or hardware.
Throughout this application, certain terms are used for describing the marking of content. For instance, the term “annotation” is intended to include a gesture-initiated mark, typed text, or applied stencil/stamp that is user-enacted, and not previously a component of the published web page from the web site author or administrator. The term “web browser” is intended to describe a software application that allows content addressed via a URL to be displayed via HTTP, HTTPS, and hypertext markup language (HTML) protocols. The term “modern web browser” is intended to describe web browsers that are JavaScript and HTML5 enabled. Examples currently include most recent versions of Firefox, Chrome, Chromium, Safari, and Opera. It is likely others (e.g., Internet Explorer) will soon become such as well. The term “mouse” is intended to describe a pointing device used to provide input to a computer in order to indicate a user's selection, wherein that selection then influences the execution of computer software. The term “click” is intended to describe an action performed by a computer user that sends an associated signal to the computer that a CLICK ACTION (e.g., depressing a button on a mouse) was performed by the user.
Accordingly, embodiments of the present invention provide for a method whereby a user may make random annotations to any content (e.g., web page accessed through any uniform resource locator, “URL”), from any publisher, using a web browser (e.g., one that is JavaScript-enabled). Other embodiments provide the above accomplishments and further provide for the sharing of marked up content with any other network based (e.g., telecommunications, internet) user that is also browser-enabled. Embodiments of the invention provide the above accomplishments and further provide for enabling marking of web content and the sharing of that web content through a web shortcut (e.g., bookmarklet) installed on a web browser of a client device, wherein the shortcut contains commands that extend the browser's functionality, and may be imported from a back end markup server. Still other embodiments of the present invention provide the above accomplishments and further provide for enabling marking of web content and the sharing of that web content through a native application that extends the functionality of a web browser of a client device.
In addition, the web browsers are each configured to facilitate and/or enable marking of rendered content, or any content that is renderable by a web browser. In one implementation, the content comprises html formatted content that is renderable by any suitable web browser, and wherein marking of the html content is possible through embodiments of the present invention. In another implementation, the content comprises image formatted content that is renderable by any suitable web browser, and wherein marking of the image content is possible through embodiments of the present invention.
For example, client device 210 is shown as representative of any client device capable of marking content. In particular, client device 210 includes a capture module 217 that is configured for capturing a snapshot of the first content that is rendered by the web browser 210. The snapshot is captured according the display settings of the web browser 210.
Additionally, client device 210 includes a markup interface 219 that is configured to generate markup in association with the snapshot. In one embodiment, the interface 219 is implemented through the web browser 210. For example, in one embodiment, the markup interface 219 is implemented as a web bookmarklet that provides a shortcut to extended functionality enabled in a web browser. The extended functionality may have been provided by a back end markup server 240, in one embodiment. In another implementation, the markup interface 219 is implemented as a native application, or extension to the web browser (e.g., add-on, plug-in etc.). In other embodiments, the markup is generated in a separate layer that is overlaid the snapshot. In other embodiments, the markup is generated within the snapshot. The markup interface 219 is configured to generate marked up content that includes the markup and the snapshot.
The markup includes any user generated content or information that is generated in association with the first content. For instance, the markup includes various styles to include notes, sketches, and stamps. The notes include keyboard inputted textual information that is attached to a specific location on a page of web content. Sketches include freehand drawing markup or note taking (e.g., written information), such as, those done with a writing instrument (e.g., electronic pen or electronic brush). Stamps include arbitrary images that are superimposed on web content, such as, in relation to anchor points of an anchored object. These stamps may be selected from a stamp gallery containing preconfigured and/or customized sets of images used as stamps. For instance, a preconfigured image include the following as illustrations, such as, a “happy face,” emoticon, a thumbs up, thumbs down, and a face with its tongue hanging indicating displeasure. The markup includes other types or formats of information, to include video, audio, animation, graphics interchange formatting (GIF), graphics, images, and any other type of electronic media formatting.
In one embodiment, client device 210 and client device 220 are participating in a co-browsing session. In particular, co-browsing server 260 is configured to facilitate co-browsing of web content by both the client device 210 and client device 220, simultaneously through network 250. For example, co-browsing of online content is enabled between the web browsers for both client devices 210 and 220. Co-browsing may be implemented through various architectures. For instance, a co-browsing session may be established between a web browser running on a computer system associated with a first customer using client device 210, and a web browser running on a computer system associated with a second customer associated with client device 220. The co-browsing session allows the two browsers to display the same online content (e.g., an html web page). For instance, a customer-to-customer (C2C) architecture provides for co-browsing of online content between a first customer and a second customer with only one customer computer having an extension implementing co-browsing. A business-to-customer (B2C) architecture provides for co-browsing of online content hosted by a web site between a customer and an agent of the web site, wherein the online content contains a link for implementing co-browsing, and wherein none of the customer computers need an extension for implementing co-browsing. Further, a business-to-customer-to-customer (B2C2C) architecture provides for co-browsing of online content hosted by a web site between a first customer and a second customer, wherein the online content contains a link for implementing co-browsing, and wherein none of the customer computers need an extension application for implementing co-browsing.
System 200 also includes a back end markup server 240 configured for enabling marking of content as implemented through a remote web server, and for storing marked up content for later access. In one embodiment, back end server 240 is configured to enable marking of web content through web browsers located on remote client devices. That is, the web browser works in conjunction with the back end markup server 240 to generate marking (e.g., markup) of overlaid content, and for storing that marked up content on the back end markup server 240. For instance, in one embodiment, an application configured for marking (e.g., JavaScript) may be downloaded from the back end markup server 240 through a bookmarklet, or by selecting the bookmarklet, via the client side web browser.
System 200 also includes a communication network 250 to facilitate communication between the client devices, back-end markup server 240, co-browsing server 260, and the third party web provider 230. For instance, network 250 provides internet connectivity between two or more devices. Also, network 250 provides telecommunications connectivity between two or more devices. Further, network 250 provides a combination of internet and telecommunication connectivity between two or more devices.
At 310, the method includes rendering first content on a web browser of a client device. For instance, the first content may be provided by a third party content provider through a communication network (e.g., internet). In another implementation, the first content is any content that is renderable by any suitable web browser. For instance, the first content includes files that are converted into html formatted content or image formatted content. For instance, a file of a first format (e.g., pdf) is received, wherein the file is translated into a second format (e.g., html or image), that is renderable by any suitable web browser. That rendered, first content is configured for marking using embodiments of the present invention, and the marked up content is sharable with other users through corresponding web browsers.
At 320, the method includes optionally capturing a snapshot of the first content as rendered according to settings of the web browser that is rending the first content. That is, the snapshot captures the rendering dimensions of every element on the page. For instance, the html content is captured as a snapshot so that the first content is renderable by any suitable web browser at a later time. In addition, the settings of the web browser are also captured, so that the portions of the first content are also renderable using the captured settings. This is important when rendering markup that is anchored to an object, as will be described more fully below.
At 330, the method includes receiving markup in association with the snapshot. For instance, marking functionality is implemented through a web browser on a client device of a user generating the markup, in one embodiment. In other embodiments, the marking functionality is provided through a web browser, and as enabled through a back end markup server (e.g., serer 240), such as, through a marking function call (e.g., JavaScript) enabled by a bookmarklet. In still other embodiments, the marking functionality is provided through web extensions to a web browser, or through a native application installed on or in conjunction with the web browser.
In one embodiment, the marking functionality includes a free-hand feature that simulates note taking using an electronic writing instrument (e.g., pen, brush, etc.). In another embodiment, the marking functionality includes a note taking feature, that provides for text to be included within a note window, wherein the text is entered through electronic keyboard. In still another embodiment, the marking functionality includes a stamp feature, that provides for stamps or images to be inserted as markup. Still other formats are available for marking, wherein annotations or marking includes data, such as video, audio, GIF, graphics, etc.
At 340, the method includes generating marked up content that comprises the snapshot and the markup. That is, the first content is now marked up as represented by the marked up content. For instance, the markup is rendered in relation to the snapshot of the first content. In one implementation, the markup is rendered in relation to the snapshot according to the originally captured settings. As such, the snapshot locks the dimensions of every element on a page of the first content, as rendered by the web browser. Further, the markup is also locked to the snapshot, or rather the dimensions of every element on the page (e.g., the markup is overlaid the snapshot). This marked up content is included within one package, and is reproducible by any suitable web browser.
At 350, the method includes storing the marked up content for later access. In one embodiment, the marked up content is stored in a back end markup server. The marked up content is provided as a single package (e.g., a snapshot). For instance, the marked up content is associated with a URL pointing to an address location in the back end markup server that contains the marked up content. In that manner, a link containing the URL can be activated so that any suitable web browser may access the marked up content. In another embodiment, the marked up content is stored locally in the client device for later access, and distribution.
In one embodiment, the method includes embedding a link to a home page of the third party content provider providing the first content into the marked up content. In that manner, when a user is accessing the marked up content through a web browser, immediate access to the home page is enabled, wherein activation of the link through any suitable web browser redirects the web browser to the home page. For example, when shopping for a product, the marked up content may include comments made by one or more associated and sharing parties. Any party accessing the marked up content may wish to then purchase the product, and may do so by going to the home page of the third party content provider by clicking on the link. In one embodiment, by clicking the embedded link, a marked up content is displayed to two or more browsers that are participating in a co-browsing session. As such, the parties are able to go to the home page of the third party content provider (e.g., web site) providing the first content.
Furthermore, the marked up content, as rendered, may be associated with additional markings. That is, the marked up content, as rendered, is capable of being captured as a second snapshot, with additional markings overlaid the second snapshot. In particular, the method includes rendering the marked up web content on a second web browser. The marked up web content is accessed through a back end markup web server that stores the marked up web content. The method includes capturing a second snapshot of the marked up web content, as rendered, according to second settings of the second web browser. The method includes receiving second markup in association with the second snapshot. The method includes generating second marked up web content comprising the second snapshot and the second markup, which is then stored for later access.
In the present embodiment, at 370 first content is received by the web browser of the client device 360. In one implementation, the first content is received from a third party content provider. In another implementation, the first content is generated by the client device, and rendered by the web browser.
When the marking functionality is activated, at 371, a marking communication session is established between the client device 360 and the back end marking server. This activates the marking functionality on the client device, and also provides an avenue for storing the various information collected during the marking process (e.g., the snapshot including the first content and settings, the marked up content, etc.). For instance, application code is executed and implemented through the web browser (e.g., through extensions, plug-ins, etc.) to enable the marking functionality.
Also, when invoked for marking, the application code will take a snapshot of the browser's rendering state (e.g., the web page served from the third party content provider), and then initiate a communication with the back end marking server 365 to store that snapshot at the back end marking server, at 372.
At 373, the snapshot is optionally returned for marking, and as such, the snapshot is delivered back to the client device 360. In another implementation, the snapshot present at the client device 360 is used for marking. More particularly, the client device is redirected to the back end markup server so that marking functionality is fully enabled. In one embodiment, the back end marking server initiates and provides the marking functionality that is implemented through the web browser on the client device 360. For instance, the marking functionality is provided by the back end marking server through a bookmarklet shortcut implemented through the web browser of the client device 360.
At 374, the snapshot is delivered to multiple client devices. For instance, the multiple client devices may be participating in a co-browsing session. As such, the snapshot is delivered to each of the client deices, so that marking is enabled by any of the web browsers associated with the client device in the co-browsing session. That is, the snapshot is presented to two or more client devices participating in a co-browsing session to enable marking by any of the client devices.
In still another embodiment, the back end marking server delivers a snapshot of the finalized marked up content to each of the client device for rendering by a corresponding web browser for discussion in a co-browsing session. That snapshot is further presented for additional marking, in embodiments of the invention.
At 375, the marking application implemented through the web browser provides several methodologies by which the user can interact with to make markings on the first content, or the snapshot of the first content. Marked up content is generated, that comprises the snapshot and the markings, or markup. At 376, the marked up content is delivered to the back end marking server for storing and later access, either through a single session, or co-browsing session.
As such, the marked up content is sharable, by delivering the marked up content to any device with a web browser. For example, the stored marked up content may be associated with a link. That link is deliverable to third parties (e.g., friends, family, etc.). Any delivery method is suitable. For instance, the link may be delivered through an email, or message board, or message, etc. Further, a request for the marked up content may be received at the back end marking server in response to activation of the link by a requesting party. As a result, the marked up content is transmitted to a computing resource that is associated with the requesting party.
In another embodiment, when first content is rendered at the client device 360 by a web browser, the marking application is executed through the web browser of the client device 360. That is, the web browser contains one or more native applications or extensions that enable the marking functionality. As such, the web browser extensions directly provide several means by which the user at the client device can interact with marking application to make marks or markings on the first content, as rendered.
The method outlined in flow diagram 400 is implemented when marking first content, wherein the first content is renderable by a web browser, or by more than one web browser participating in a co-browse session. In the present embodiment, the marking or markup of first or web content is accomplished without natively installing an application on the client side web browser. For instance, the client side web browser is configured to call a JavaScript function that performs the marking. The JavaScript function is called from a back end marking server, in one implementation. The JavaScript function may be called using a bookmarklet of the web browser. As such, the JavaScript format avoids installation of an application, or extension on the client device. A marking or markup is associated with at least one object. For example, a markup may point to a specific portion of the first content, and further provide a note in relation to that specific portion. In this case, a snapshot of the web content is not necessary, because the markup is rendered in relation to a corresponding anchored object, and not necessarily to the entire snapshot of the first content or web content. As such, embodiments of the present invention are able to define a relationship between that note as markup and that specific portion, so that when subsequently rendered, the note and the specific portion of the first content maintains that same relationship.
At 410, the method includes determining an anchored object for marking. When the first content is first rendered by the web browser of the user who is marking up the first content, the settings of the web browser are captured and stored. In addition, the object to which the marking is directed to is identified, according to the web browser settings. In one embodiment, the user is prompted to indicate which object is targeted for marking. For instance, various objects are automatically highlighted as a user moves a cursor over the first content. In one embodiment, the highlighted objects comprise html containers or elements, such as, word, form field, paragraphs, images, .div, partitions, etc. When the proper object is highlighted, the user may click on the highlighted object to indicate a selection of that object as the target object. In other embodiments, the object is automatically selected based on various parameters.
At 420, the method includes determining an anchor point for the object, wherein the object comprises an html container anchored to an anchor point according to settings of the web browser. For instance, the anchor point may comprise an html anchor point that identifies where the targeted object should be displayed in its corresponding web enabled content in relation to other objects, etc.
At 420, the method includes relating the anchored object to the markup according settings of the web browser. In one implementation, the markup is generated on a canvas that is overlaid the anchored object. That canvas is positioned relative to the anchor point. As such, the markup, on the canvas, is placed relative to the anchor point of the anchored object when rendering the anchored object and markup. This provides for in situ marking of a selected object and/or anchored object. In one embodiment, the markup and the anchored object are renderable using the originally captured settings on any suitable web browser. For instance, a positional relationship may be defined between the markup and the anchored object and/or the anchor point of the anchored object. As such, when displaying the object according the originally captured settings, the markup is also displayed with the proper relationship to the object and/or anchor point of the object. By determining the relationship between the markup and the anchor point, it is not necessary to use a snapshot defining the rendering dimensions of every element on the page associated with the first content. In another embodiment, objects that are not targeted or not anchored are renderable using any preferred setting of any suitable web browser, as will be described below. In short, the markup and the anchored object are displayed with their correct relationship using the originally captured settings, while other objects in the first content may be displayed using other settings. That is, the marking is performed in place and in relation to an anchored object, such that the markup is anchored to a single element or object on the page of the first content.
For example, in one embodiment, the relationship defined between the anchored object and the markup is a positional relationship. That is, using x and y coordinates, for example, the location of the anchor point and object is determined as originally rendered, and then the marking is positioned according to the anchor point with the proper relationship, according to the originally captured settings. Subsequent viewing of the anchored object and its markup is also rendered according to the originally captured settings, on a different web browser, and even though other non-anchored elements are rendered with different and preferred settings.
Object 530 containing text is highlighted and selected as the targeted text to which markup is related. Further, an anchor point 533 for object 530 is determined. Also, a marking 520 is shown surrounding the targeted object 530. For instance, the marking or markup 520 may indicate that a user is interested in object 530, as an advertisements for a rental apartment. The web content 505 is marked up with the snapshot of the web content 505, the marking 520, as well as the targeted object 530. The marked up content may then be transmitted to another user.
More particularly, a note 555 (e.g., textual note) is associated with an image object 557, wherein the note 55 comprises the markup, and the image object 557 comprise the anchored object. The positional relationship between them is such that the note 555 is positioned to the upper right side of the image 557. In addition, a circular marking or markup 560 is positioned around textual object 563. The anchored object 563 is positioned a little off-center from the marking 560, and is reflected in the positional relationship between the two.
The marked up content includes the snapshot of the original, first content (e.g., text and image) along with the markups 555 and 560. That marked up content is saved back at back end server, and can be later accessed for display, as previously described. For instance, window 570 indicates the display of the first content as rendered by a second web browser, according to the new preferred settings of the second web browser.
However, the anchored objects and their corresponding markings or markups are rendered according to the originally captured web browser settlings. In that manner, the relationship (e.g., positional relationship) between an anchored object and its corresponding marking is maintained between the first browser and the second browser. For instance, note 555 as the marking and anchored object 557 as well as marking 560 and anchored object 563 are rendered according to the originally captured web browser settings.
Remaining non-anchored objects in the first content are rendered according to the settings of the second web browser. For instance, the first content as rendered by the second browser is displayed in window 570 more widely than in window 550, such that that width of the page is greater than the length of the page.
In particular,
For example,
Thus, according to embodiments of the present disclosure, systems and methods are described providing for web page markup.
While the foregoing disclosure sets forth various embodiments using specific block diagrams, flowcharts, and examples, each block diagram component, flowchart step, operation, and/or component described and/or illustrated herein may be implemented, individually and/or collectively, using a wide range of hardware, software, or firmware (or any combination thereof) configurations. In addition, any disclosure of components contained within other components should be considered as examples because many other architectures can be implemented to achieve the same functionality.
The process parameters and sequence of steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various example methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.
While various embodiments have been described and/or illustrated herein in the context of fully functional computing systems, one or more of these example embodiments may be distributed as a program product in a variety of forms, regardless of the particular type of computer-readable media used to actually carry out the distribution. The embodiments disclosed herein may also be implemented using software modules that perform certain tasks. These software modules may include script, batch, or other executable files that may be stored on a computer-readable storage medium or in a computing system. These software modules may configure a computing system to perform one or more of the example embodiments disclosed herein. One or more of the software modules disclosed herein may be implemented in a cloud computing environment. Cloud computing environments may provide various services and applications via the Internet. These cloud-based services (e.g., software as a service, platform as a service, infrastructure as a service, etc.) may be accessible through a Web browser or other remote interface. Various functions described herein may be provided through a remote desktop environment or any other cloud-based computing environment.
Although the present invention and its advantages have been described in detail, it should be understood that various changes substitutions, and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as may be suited to the particular use contemplated.
Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
Embodiments according to the present disclosure are thus described. While the present disclosure has been described in particular embodiments, it should be appreciated that the disclosure should not be construed as limited by such embodiments, but rather construed according to the below claims.
This application claims priority to and the benefit under 35 U.S.C §119(e) of U.S. Provisional Patent Application No. 61/699,732, filed Sep. 11, 2012, entitled “WEB PAGE MARKUP,” with attorney docket number EGAN-0014.A, the disclosure of which is hereby incorporated by reference in its entirety. This application also claims priority to and the benefit under 35 U.S.C §119(e) of U.S. Provisional Patent Application No. 61/872,630, filed Aug. 30, 2013, entitled “METHOD AND SYSTEM FOR CO-BROWSING,” with attorney docket number EGAN-0015.A, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61699732 | Sep 2012 | US | |
61872630 | Aug 2013 | US |