The specification relates generally to computing devices, and specifically to a method, system and apparatus for processing content data at a computing device.
The evolution of computers is currently quite active in the mobile device environment. It is now well-known to including applications for accessing different types of content data in mobile devices. More recently, there has been a veritable explosion of the number and type of these applications that are configured to the unique form factors and computing environments of mobile devices.
An aspect of the specification provided a method for processing content data at a computing device, the computing device comprising a processor interconnected with a memory, a display device and a communication interface. The method comprises: rendering icon data associated with an application at the display device, thereby providing rendered icon data at the display device, the icon data and the application stored at the memory; receiving content data associated with the application, the content data for rendering within the application when the application is executed by the processor and rendered at the display device; updating a portion of the rendered icon data such that the rendered icon data comprises at least a subset of the content data; and when the rendered icon data is actuated, responsively executing the application at the processor such that the content data is rendered at the display device within a rendering of the application.
The application can remain unexecuted until the processor responsively executing the application step occurs.
The rendered icon data can comprise at least one of a header portion and a content portion; the portion of the rendered icon data that is updated can comprise the content portion. The header portion can be one of: static; or dynamic, such that content of the header can change based on the content data.
A shape of the rendered icon data can be one of: static; or dynamic, such that the shape can change based on at least one of the content data and time.
The content data can comprise at least one of HTML (hypertext markup language) data, HTML tags, text data and image data.
Receiving the content data can occur by at least one of: in response to a request for the content data transmitted to a content server via the communication interface; in a push operation of the content data from a content server via the communication interface; in an API (application programming interface); and a component of the computing device, wherein the component can comprise at least one of a GPS (Global Positioning System) device, an accelerometer, a light sensor, a compass sensor, an address book, a messaging application, a media application and a calendar application.
The content data can be received from a content server associated with an external service.
The method can further comprise storing the content data in a resource file associated with the application, such that the content data can be retrieved from the resource file when the application is executed.
A further aspect of the specification provides a computing device for processing content data, the computing device comprising: a processor interconnected with a memory, a display device and a communication interface, the processor enabled to: render icon data associated with an application at the display device, thereby providing rendered icon data at the display device, the icon data and the application stored at the memory; receive content data associated with the application, the content data for rendering within the application when the application is executed by the processor and rendered at the display device; update a portion of the rendered icon data such that the rendered icon data comprises at least a subset of the content data; and when the rendered icon data is actuated, responsively execute the application at the processor such that the content data is rendered at the display device within a rendering of the application.
The application can remains unexecuted until the processor responsively executes the application.
The rendered icon data can comprise at least one of a header portion and a content portion; the portion of the rendered icon data that is updated can comprise the content portion. The header portion can be one of: static; or dynamic, such that content of the header can change based on the content data.
A shape of the rendered icon data can be one of: static; or dynamic, such that the shape can change based on at least one of the content data and time.
The content data can comprise at least one of HTML (hypertext markup language) data, HTML tags, text data and image data.
The processor can be further enabled to receive the content data by at least one of: in response to a request for the content data transmitted to a content server via the communication interface; in a push operation of the content data from a content server via the communication interface; in an API (application programming interface); and via a component of the computing device, the component can comprise at least one of a GPS (Global Positioning System) device, an accelerometer, a light sensor, a compass sensor, an address book, a messaging application, a media application and a calendar application.
The content data can be received from a content server associated with an external service.
The processor can be further enabled to store the content data in a resource file associated with the application, such that the content data can be retrieved from the resource file when the application is executed.
Yet a further aspect of the specification provides a computer program product, comprising a computer usable medium having a computer readable program code adapted to be executed to implement a method for processing content data at a computing device, the computing device comprising a processor interconnected with a memory, a display device and a communication interface, the method comprising: rendering icon data associated with an application at the display device, thereby providing rendered icon data at the display device, the icon data and the application stored at the memory; receiving content data associated with the application, the content data for rendering within the application when the application is executed by the processor and rendered at the display device; updating a portion of the rendered icon data such that the rendered icon data comprises at least a subset of the content data; and when the rendered icon data is actuated, responsively executing the application at the processor such that the content data is rendered at the display device within a rendering of the application.
Icons are generally static representations of applications. When applications are provided with updates, the icon is actuated to launch the application in order to access details of the update in the application. In some cases, a notification icon (for example a star) is displayed, replacing the normal icon, to indicate that new content and/or an update is available. In other cases, a small notification icon, together with a number indicating a number of updates such as new e-mails, is displayed in a notification bar or status bar independent of an icon for launching the associated application, thereby indicating there is an update of interest. However, none of these solutions provide details of the content of the update.
For a better understanding of the various implementations described herein and to show more clearly how they may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings in which:
In general, device 101 comprises any suitable electronic device for processing icon data 140, applications 142, 146, resource file 144 and content data 107, including but not limited to any suitable combination of computing devices, desktop computing devices, laptop computing devices, portable computing device, mobile electronic devices, PDAs (personal digital assistants), cellphones, smartphones and the like. Other suitable electronic devices are within the scope of present implementations.
Server 103 can be based on any well-known server environment including a module that houses one or more central processing units, volatile memory (e.g. random access memory), persistent memory (e.g. hard disk devices) and network interfaces to allow server 103 to communicate over link 105. For example, server 103 can be a ProLiant® Server from Hewlett-Packard Company, 3000 Hanover Street Palo Alto, Calif. 94304-1185 USA having a plurality of central processing units and having several gigabytes of random access memory. However, it is to be emphasized that this particular server is merely a non-limiting example, and a vast array of other types of computing environments for server 103 is contemplated. Furthermore, it is contemplated that server 103 may be implemented as a plurality of interconnected servers, in a so-called server farm, which are mirrored or otherwise configured for load balancing or failover or high availability or any or all of those.
It is yet further contemplated that system 100 can comprise a plurality of servers (not depicted) similar to server 103, each server in the plurality of servers providing content data for different applications similar to application 142. Indeed, it is contemplated that icon 140, application 142 and resource file 144 can each respectively be one of a plurality of associated icons, applications and sets of resource file for processing and/or rendering content data from respective servers.
Link 105 comprises any suitable link between device 101 and server 103, including any suitable combination of wired and/or wireless links, wired and/or wireless devices and/or wired and/or wireless networks, including but not limited to any suitable combination of including but not limited to wired link, USB (universal serial bus) cables, serial cables, wireless links, cell-phone links, wireless data, Bluetooth links, NFC (near field communication) links, WiFi links, WiMax links, packet based links, the Internet, analog networks, the PSTN (public switched telephone network), access points, and the like, and/or a combination. Other suitable communication link and/or devices and/or networks are within the scope of present implementations.
With regard to device 101, processing unit 120 (also referred to hereafter as processor 120) comprises any suitable processor, or combination of processors, including but not limited to a microprocessor, a central processing unit (CPU) and the like. Other suitable processing units are within the scope of present implementations. It is appreciated that processing unit 120 is enabled to process icon data 140, applications 142, 146, resource file 144 and content data 107. Further processor 100 can be enabled to execute different programming instructions that can be responsive to the input received via input devices and/or upon receipt of content data 107.
Communication interface 122 comprises any suitable communication interface, or combination of communication interfaces. In particular communication interface 122 is enabled to communicate with server 103 via link 105 using any suitable wired and/or wireless protocol. Accordingly, communication interface 122 (which will also be referred to as interface 122 hereafter) is enabled to communicate according to any suitable protocol which is compatible with link 105, including but not limited to wired protocols, USB (universal serial bus) protocols, serial cable protocols, wireless protocols, cell-phone protocols, wireless data protocols, Bluetooth protocols, NFC (near field communication) protocols, packet based protocols, Internet protocols, analog protocols, PSTN (public switched telephone network) protocols, WiFi protocols, WiMax protocols and the like, and/or a combination. Other suitable communication interfaces and/or protocols are within the scope of present implementations.
Input device 125 is generally enabled to receive input data, and can comprise any suitable combination of input devices, including but not limited to a keyboard, a keypad, a pointing device, a mouse, a track wheel, a trackball, a touchpad, a trackpad, a touch screen and the like. Other suitable input devices are within the scope of present implementations.
Memory device 124 can comprise any suitable memory device, including but not limited to any suitable one of, or combination of, volatile memory, non-volatile memory, random access memory (RAM), read-only memory (ROM), Erase Electronic Programmable Read Only Memory (EEPROM), Flash Memory hard drive, optical drive, flash memory, magnetic computer storage devices (e.g. hard disks, floppy disks, and magnetic tape), optical discs, removable memory, and the like. Other suitable memory devices are within the scope of present implementations. In particular, memory device 124 is enabled to store icon data 140, applications 142, 146 and resource file 144.
Display device 126 comprises circuitry 149 for generating renderings of data, for example a rendering 150 of at least one of icon data 140 and application 146, as will be described below. Display device 126 can include any suitable one of or combination of CRT (cathode ray tube) and/or flat panel displays (e.g. LCD (liquid crystal display), plasma, OLED (organic light emitting diode), capacitive or resistive touchscreens, and the like). Circuitry 149 can include any suitable combination of circuitry for controlling the CRT and/or flat panel displays etc., including but not limited to display buffers, transistors, electron beam controllers, LCD cells, plasmas cells, phosphors etc. In particular, display device 126 and circuitry 149 can be controlled by processing unit 120 to generate rendering 150.
In particular, attention is directed to
In implementations depicted in
In some implementations device 101 further comprises a clock device 127, comprising any suitable electronic and/or digital clock device. It is appreciated that processor 120 is interconnected with clock device 127 (e.g. via a computer bus, not depicted) such that processor 120 can retrieve times and/or dates from clock device 127 and thereby determine when a given time period has passed.
In some implementations, device 101 can further comprise any suitable combination of other hardware and/or software components, including but not limited to a GPS (Global Positioning System) device, an accelerometer, a light sensor, a compass sensor, an address book, a messaging application, a media application a calendar application, and the like.
Attention is now directed to
At block 301, icon data 140 associated with application 140 is rendered at display device 126, thereby providing rendered icon data 400 at display device 126. A non-limiting implementation of rendered icon data 400, also referred to hereafter as icon 400, is depicted in
Content portion 403 is enabled to provide at least a subset of content data 107. However, as content data 107 has not yet been received, in
Returning to
However, in other implementations content data 107 can be received in a push operation of content data 107 from server via communication interface 122. For example server 103 can be enabled to transmit content data 107 periodically and/or as changes occur to data monitored and/or stored by server 103. It is contemplated, for example, that server 103 can be enabled to electronically monitor a stock price; when the stock price changes, content data 107 is transmitted to device 101. Any other trigger for transmitting and/or pushing content data 107 to device 101 is within the scope of present implementations.
Further, in some implementations, content data 107 can be received from a server associated with an external service. For example, whether in push implementations or on implementations where content data 107 is requested by device 101, server 103 can retrieve content data 107 from another server (not depicted) associated with an external service, such as news service, a stock exchange, or the like.
In yet further implementations, content data 107 can be received from at least one hardware and/or software component of device 101, including but not limited to at least one of a GPS (Global Positioning System) device, an accelerometer, a light sensor, an address book, a messaging application, a calendar application and the like. In some of these implementations, components of device 101 can be accessed via an API (application programming interface).
In yet further implementations, content data 107 can be received from input device 125. For example in implementation where application 142 comprises an alarm clock application, a time to trigger the alarm clock application (e.g. to provide an alarm) can be received from input device 125, as well as any other suitable data, such as a radio station to tune to provide as the alarm (e.g. see icon 1100d described below with reference to
It is yet further appreciated that content data 107 is associated with application 142 and that content data 107 can be rendered within application 142 when application 142 is executed by processor 120 and rendered at display device 126. For example, returning to the example of application 142 comprising a news application, content data 107 can comprise news data for display in the news application once news application is executed by processor 120 and rendered at display device 126.
Returning now to
In some implementations, content data 107 comprises HTML (Hypertext Markup Language) data intended for display in application 142, and tags in the HTML data can be used to determine which portion of content data 107 is provided in icon 400. However content data 107 can comprise any suitable format, and the format of content data 107 is not to be considered particularly limiting. Content data 107 can further comprise any suitable combination of text, images, or the like, each in any suitable format.
Attention is now directed to
It is appreciated that in
When icon 400 is actuated, at block 309, application 142 is responsively executed at processor 120 such that content data 107 is rendered at display device 126 within a rendering of application 142, as depicted in
It is appreciated that application 142 remains unexecuted until icon 400 is actuated. In other words, rendering of icon 400, and rendering of at least a portion of content data 107 in icon 400 can occur independently of execution of application 142.
However, in further implementations, application 142 rendering of icon 400, and/or rendering of at least a portion of content data 107 in icon 400 can occur while application 142 is being executed in the background (e.g. processed by processor 120 but not rendered at display device 126), in the foreground, or the like.
It is further appreciated that blocks 303 to 307 are repeated there after, and that application 142 can thereafter be closed, minimized, or the like. Indeed, it is appreciated that in some implementations, blocks 303 to 307 can be repeated independent of whether or not application 142 is closed and/or minimized, and/or whether or not application 142 remains open.
In some implementations, header portion 401 is static and does not change when content portion 403 is updated, for example as depicted in
In some implementations, the shape of icon 400 is static. However, in other implementations, the shape of icon 400 is dynamic, such that content of header portion 401 changes based on content data 107, and/or with time. For example,
It is further appreciated that method 300 can be repeated for any suitable number of icons and associated applications such that any suitable number of icons that are updated to provide content data from the same or different server and/or from components at device 101 are rendered at display device 126.
For example,
Any other types of icons and associated applications are within the scope of present implementations. In a non-limiting example, a GPS device could determine location and present associated content in an icon similar to icon 400, such as “You Are Now Home” in the icon: i.e. an indication of current location is provided.
In yet a further non-limiting example, an icon associated with a telephone application could be provided; another associated address book and/or e-mail monitoring application could be enabled to keep track of e-mail addresses to which messages are most often sent, and the icon could present a phone number associated with the most often mailed e-mail address; actuation of the icon could then launch the phone application, dialing the provided number. Hence, in this implementation content data is received from another application at device 101 and stored in an associated resource file.
Indeed, such coupling to other applications is also contemplated. For example, an e-mail monitoring application and/or an RSS feed (or news) monitoring application could be enabled to monitor accessed and/or stored content at device 101, and an icon associated with a phone application and/or a news application could be updated based on the monitored data. In other words content data is received from the coupled application. For example, the monitoring application could determine that many e-mails complaining about an oil spill have received/transmitted and/or the monitoring application could determine that RSS feeds or news content is being accessed about the oil spill. In response, the monitoring application could determine the phone number of a politician to which complaints could be sent and provide content data comprising the e-mail address and/or phone number of the politician, Hence, upon actuation of the icon, a messaging and/or phone application could be launched providing access to the politician via e-mail and/or phone.
Various advantages will now be apparent. For example, rendering of content data in “live” icons, such as icon 400 provides a convenient means of accessing content data delaying launch of the associated application until the provided content data indicates a need to launch the associated application, for example to access more details of the provided content data. This can lead to a reduction in processing resources at device 101, as well as an increase in battery life as processing of applications is generally more resource intensive than updating of icons as described herein. Furthermore, more efficient use of cache 227 due to delaying launch of the associated application as the associated application will generally consume more of cache 227 resources.
Those skilled in the art will appreciate that in some implementations, the functionality of device 101 can be implemented using pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), etc.), or other related components. In other implementations, the functionality of device 101 can be achieved using a computing apparatus that has access to a code memory (not shown) which stores computer-readable program code for operation of the computing apparatus. The computer-readable program code could be stored on a computer readable storage medium which is fixed, tangible and readable directly by these components, (e.g., removable diskette, CD-ROM, ROM, fixed disk, USB drive). Furthermore, it is appreciated that the computer-readable program can be stored as a computer program product comprising a computer usable medium. Further, a persistent storage device can comprise the computer readable program code. It is yet further appreciated that the computer-readable program code and/or computer usable medium can comprise a non-transitory computer-readable program code and/or non-transitory computer usable medium. Alternatively, the computer-readable program code could be stored remotely but transmittable to these components via a modem or other interface device connected to a network (including, without limitation, the Internet) over a transmission medium. The transmission medium can be either a non-mobile medium (e.g., optical and/or digital and/or analog communications lines) or a mobile medium (e.g., microwave, infrared, free-space optical or other transmission schemes) or a combination thereof.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyrights whatsoever.
Persons skilled in the art will appreciate that there are yet more alternative variations and modifications possible for present implementations, and that the above implementations and examples are only illustrations of one or more implementations.
This application claims the benefit of Provisional Patent Application Ser. No. 61/411,037, filed on Nov. 8, 2010, said disclosure of which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61411037 | Nov 2010 | US |