IP Library Granted Patent US 10,255,255
Granted Patent B2
US 10,255,255 · App. 15/631,603 · Granted Apr 9, 2019

Customization of mobile applications using web-based technology

Inventors: Erick Tseng (San Francisco, CA); Philip Fung (San Francisco, CA); Yariv Sadan (San Francisco, CA)
Assignee: Facebook, Inc.
G06F17/2247G06F3/04847G06F9/451G06F17/211G06F17/2211H04L67/42
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 10,255,255
App. No.
15/631,603
Granted
Apr 9, 2019
Kind
B2
Abstract

In one embodiment, receiving, at a first computing device from a second computing device, a request for a view of a user interface of a native application executing on the second computing device, wherein the view includes one or more first user interface components; determining, by the first computing device, a user agent type of the second computing device; selecting, by the first computing device, one or more second user-interface components to be included in the view based on the user agent type of the second computing device; generating, by the first computing device, code implementing a structured document that represents the view, wherein the structured document comprises the one or more first user-interface components and the one or more second user-interface components; and transmitting, from the first computing device to the second computing device, the code.

Claims (29)

1. A method comprising:

receiving, at a client computing device, a request to display a user interface of a native application executing on the client computing device;

sending, to a server computing device from the client computing device, a request for one or more first user-interface components of the user interface;

receiving, at the client computing device from the server computing device, code implementing the one or more first user-interface components of the user interface;

accessing, by the client computing device, one or more second user-interface components based on a user agent type of the client computing device, the second user-interface components associated with a native feature of the client computing device, the native feature comprising a hardware component of the client computing device;

displaying, by the client computing device, the one or more first user-interface components and the one or more second user-interface components, wherein the one or more first user-interface components and the one or more second user-interface components comprise components of a structured document.

2. The method of claim 1 , wherein accessing the one or more second user-interface components comprises receiving, from the server computing device, the one or more second user-interface components.

3. The method of claim 2 , further comprising caching, on the client computing device, the one or more second user-interface components received from the server computing device.

4. The method of claim 1 , wherein accessing the one or more second user-interface components comprises accessing the one or more second user-interface components from a memory of the client computing device.

5. The method of claim 1 , further comprising: receiving, at the client computing device, user input resulting from a user interaction with at least one of the displayed components; determining, by the client computing device, whether to process the user input at the client computing device or at the server computing device.

6. The method of claim 5 , further comprising: determining, by the client computing device, whether processing or responding to the user input will involve the native feature; when processing or responding to the user input involves the native feature, processing the user input at the client computing device; and when processing or responding to the user input does not involve the native feature, requesting, by the client computing device, a server computing device to process the user input.

7. The method of claim 1 , wherein the user agent type comprises an identification of the native application.

8. The method of claim 1 , wherein the hardware component comprises a sensor native to the client computing device.

9. One or more non-transitory computer-readable storage media embodying software that is operable when executed by a client computing device to:

receive a request to display a user interface of a native application executing on the client computing device;

send, to a server computing device from the client computing device, a request for one or more first user-interface components of the user interface;

receive code implementing the one or more first user-interface components of the user interface;

access one or more second user-interface components based on a user agent type of the client computing device, the second user-interface components associated with a native feature of the client computing device, the native feature comprising a hardware component of the client computing device;

provide for display the one or more first user-interface components and the one or more second user-interface components, wherein the one or more first user-interface components and the one or more second user-interface components comprise components of a structured document.

10. The media of claim 9 , wherein the one or more second user-interface components are provided from the server computing device.

11. The media of claim 9 , wherein the one or more second user-interface components are accessed from a memory of the client computing device.

12. The media of claim 9 , wherein the user agent type comprises an identification of the native application.

13. The media of claim 9 , wherein the hardware component comprises a sensor native to the client computing device.

14. A system comprising: one or more non-transitory computer-readable storage media embodying instructions; one or more processors coupled to the storage media and configured to execute the instructions to: receive a request to display a user interface of a native application executing on a client computing device; send, to a server computing device from the client computing device, a request for one or more first user-interface components of the user interface; receive code implementing the one or more first user-interface components of the user interface; access one or more second user-interface components based on a user agent type of the client computing device, the second user-interface components associated with a native feature of the client computing device, the native feature comprising a hardware component of the client computing device; provide for display the one or more first user-interface components and the one or more second user-interface components.

15. The system of claim 14 , wherein the one or more second user-interface components are provided from the server computing device.

16. The system of claim 14 , wherein the one or more second user-interface components are accessed from a memory of the client computing device.

17. The system of claim 14 , wherein the processors are further configured to execute the instructions to: receive user input resulting from a user interaction with at least one of the displayed components; determine whether processing or responding to the user input will involve the native feature; when processing or responding to the user input involves the native feature, process at least part of the user input; and when processing or responding to the user input does not involve the native feature, request that a server computing device process the user input.

18. The system of claim 14 , wherein the user agent type comprises an identification of the native application.

19. The system of claim 14 , wherein the hardware component comprises a sensor native to the client computing device.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
Continuity (3)
Continuation 14678917 · Apr 3, 2015
Continuation 12972262 · Dec 17, 2010
Related Publication 20170308279A1 · Oct 26, 2017