IP Library Granted Patent US 9,329,755
Granted Patent B2
US 9,329,755 · App. 13/969,445 · Granted May 3, 2016

Mobile device toolbar architecture

Inventor: Ronakkumar Patel (Santa Clara, CA)
Assignee: Opera Software Ireland Limited
G06F3/0482G06Q30/0251G06F3/0481G06F3/04812G06F9/4443
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,329,755
App. No.
13/969,445
Granted
May 3, 2016
Kind
B2
Abstract

A toolbar is integrated within an application or provided as a standalone component that interfaces with an existing application. The toolbar detects events corresponding to the application and generates a toolbar display corresponding to the event. On loading of a particular webpage in a browser, the toolbar may generate a toolbar display comprising a set of functions to be made available to the user for that webpage. The toolbar may generate different displays for different webpages and different events such as a page load event or a tab change event. Additionally, when provided as a standalone component, the toolbar may generate different displays for different applications. User experience at the toolbar may be controlled through a remote server without extensive modification of the application.

Claims (59)

1. A method for generating a toolbar display on a mobile device overlaying an application comprising:

detecting through a toolbar executing on the mobile device, a first event corresponding to the application visibly appearing on the screen;

loading, through the toolbar in response to detecting the first event corresponding to the application visibly appearing on the screen, a toolbar configuration defining at least one period to generate the toolbar display responsive to a second event corresponding to a user activity within the application;

detecting on the mobile device, through the toolbar, the second event corresponding to the user activity within the application;

transmitting, through the toolbar in response to detecting the second event corresponding to the user activity within the application, information describing the second event;

receiving, through the toolbar, an extension configuration specific to the second detected event and specifying a set of extensions to provide in the toolbar display, each extension having a corresponding function, icon, and display area for the icon within the toolbar display;

creating, through the toolbar for an extension in the set, a button at the corresponding display area within the toolbar display; and

generating, through the toolbar, the toolbar display on the mobile device overlaying the application and detecting through the toolbar a user activity within the toolbar display.

2. The method of claim 1 , wherein the first event corresponds to the launching of the application on the mobile device.

3. The method of claim 1 , wherein loading the toolbar configuration through the toolbar comprises receiving toolbar configuration code from a server, the toolbar configuration code specifying one or more global plugins for at least one of providing advertisements within the toolbar display and tracking user activity within the toolbar display.

4. The method of claim 3 , wherein tracking user activity within the toolbar display comprises transmitting information corresponding to the interactions of the user to the server.

5. The method of claim 1 , wherein the information describing the second event is transmitted through the toolbar to a server and receiving the extension configuration specifying the set of extensions through the toolbar further comprises:

parsing extension configuration information received from the server and comparing a signature of the parsed extension configuration with a signature of a same extension on the mobile device; and

retrieving, in response to determining a difference between the signatures, new extension object code for the same extension, the new extension object code loaded to provide extension functionality on the mobile device through the toolbar.

6. The method of claim 5 , wherein the extension object code is HTML or script code retrieved from a location specified in the extension configuration information.

7. The method of claim 5 , wherein the extension configuration information identifies one or more plugins that support the functionality of the extension object code when loaded through the toolbar, the method further comprising:

retrieving a plugin not present on the mobile device; and

validating said plugins to ensure functionality of the extension object code when loaded in the toolbar.

8. The method of claim 1 , wherein detecting a user activity within the toolbar display comprises detecting a selection of the button within the toolbar display, and executing the extension corresponding to the button.

9. The method of claim 8 , wherein the second event corresponds to a tab change in a browser application or loading of a new webpage in the browser application, the extension retrieving content from a server based on a URL associated with the tab or new webpage loaded in the browser application.

10. A system for generating a toolbar display on a mobile device overlaying an application, comprising:

a processor; and

a non-transitory computer-readable storage medium storing a toolbar comprising executable computer program instructions that when executed causes the processor to:

detect on the mobile device a first event corresponding to the application visibly appearing on the screen;

load in response to detection of the first event corresponding to the application visibly appearing on the screen, a toolbar configuration defining at least one period to generate the toolbar display responsive to a second event corresponding to a user activity within the application;

detect on the mobile device the second event corresponding to the user activity within the application;

transmit in response to detecting the second event corresponding to the user activity within the application, information describing the second event;

receive an extension configuration specific to the second detected event and specifying a set of extensions to provide in the toolbar display, each extension having a corresponding function, icon, and display area for the icon within the toolbar display;

create, for an extension in the set, a button at the corresponding display area within the toolbar display; and

generate the toolbar display on the mobile device overlaying the application and detecting a user activity within the toolbar display.

11. The system of claim 10 , wherein the first event corresponds to the launching of the application on the mobile device.

12. The system of claim 10 , wherein loading the toolbar configuration comprises receiving toolbar configuration code from a server, the toolbar configuration code specifying one or more global plugins for at least one of providing advertisements within the toolbar display and tracking user activity within the toolbar display.

13. The system of claim 12 , wherein tracking user activity within the toolbar display comprises transmitting information corresponding to the interactions of the user to the server.

14. The system of claim 10 , wherein the information describing the second event is transmitted to a server and receiving the extension configuration specifying the set of extensions further comprises:

parsing extension configuration information received from the server and comparing a signature of the parsed extension configuration with a signature of a same extension on the mobile device; and

retrieving, in response to determining a difference between the signatures, new extension object code for the same extension, the new extension object code loaded to provide extension functionality on the mobile device.

15. The system of claim 14 , wherein the extension object code is HTML or script code retrieved from a location specified in the extension configuration information.

16. The system of claim 14 , wherein the extension configuration information identifies one or more plugins that support the functionality of the extension object code when loaded in the toolbar, the system further comprising:

retrieving a plugin not present on the mobile device; and

validating said plugins to ensure functionality of the extension object code when loaded in the toolbar.

17. The system of claim 10 , wherein detecting a user activity within the toolbar display comprises detecting a selection of the button within the toolbar display, and executing the extension corresponding to the button.

18. The system of claim 17 , wherein the second event corresponds to a tab change in a browser application or loading of a new webpage in the browser application, the extension retrieving content from a server based on a URL associated with the tab or new webpage loaded in the browser application.

19. A non-transitory computer readable storage medium comprising instructions that when executed by a processor cause the processor to:

provide a toolbar module to a mobile device associated with a network, the toolbar module configured to:

detect on the mobile device a first event corresponding to an application visibly appearing on the screen;

load, in response to detection of the first event corresponding to the application visibly appearing on the screen, a toolbar configuration defining at least one period to generate the toolbar display responsive a second event;

detect on the mobile device the second event corresponding to the user activity within the application;

transmit, in response to detecting the second event corresponding to the user activity within the application, information describing the second event;

receive an extension configuration specific to the second detected event and specifying a set of extensions to provide in the toolbar display, each extension having a corresponding function, icon, and display area for the icon within the toolbar display;

create, for an extension in the set, a button at the corresponding display area within the toolbar display; and

generate the toolbar display on the mobile device overlaying the application and detecting a user activity within the toolbar display.

20. The non-transitory computer readable storage medium of claim 19 , wherein the first event corresponds to the launching of the application on the mobile device.

21. The non-transitory computer readable storage medium of claim 19 , wherein loading the toolbar configuration comprises receiving toolbar configuration code from a server, the toolbar configuration code specifying one or more global plugins for at least one of providing advertisements within the toolbar display and tracking user activity within the toolbar display.

22. The non-transitory computer readable storage medium of claim 21 , wherein tracking user activity within the toolbar display comprises transmitting information corresponding to the interactions of the user to the server.

23. The non-transitory computer readable storage medium of claim 19 , wherein the information describing the second event is transmitted to a server and receiving the extension configuration specifying the set of extensions further comprises:

parsing extension configuration information received from the server and comparing a signature of the parsed extension configuration with a signature of a same extension on the mobile device; and

retrieving, in response to determining a difference between the signatures, new extension object code for the same extension, the new extension object code loaded to provide extension functionality on the mobile device.

24. The non-transitory computer readable storage medium of claim 19 , wherein detecting a user activity within the toolbar display comprises detecting a selection of the button within the toolbar display, and executing the extension corresponding to the button.

25. The non-transitory computer readable storage medium of claim 24 , wherein the second event corresponds to a tab change in a browser application or loading of a new webpage in the browser application, the extension retrieving content from a server based on a URL associated with the tab or new webpage loaded in the browser application.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2025
From: OTELLO CORPORATION ASA
To: TIR TECHNOLOGIES LIMITED
Reel/Frame 071165/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2023
From: PERFORMANCE AND PRIVACY IRELAND LIMITED
To: OTELLO CORPORATION ASA
Reel/Frame 063188/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2017
From: OPERA SOFTWARE IRELAND LTD.
To: PERFORMANCE AND PRIVACY IRELAND LTD.
Reel/Frame 042076/0473 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2014
From: SKYFIRE LABS, INC.
To: OPERA SOFTWARE IRELAND LIMITED
Reel/Frame 032827/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2013
From: PATEL, RONAKKUMAR
To: SKYFIRE LABS, INC.
Reel/Frame 031035/0418 →
Continuity (3)
Provisional Application 61683717 · Aug 16, 2012
Provisional Application 61715260 · Oct 17, 2012
Related Publication 20140053107A1 · Feb 20, 2014