US9965164B2 - Web application with adaptive user interface - Google Patents
Web application with adaptive user interface Download PDFInfo
- Publication number
- US9965164B2 US9965164B2 US14/498,031 US201414498031A US9965164B2 US 9965164 B2 US9965164 B2 US 9965164B2 US 201414498031 A US201414498031 A US 201414498031A US 9965164 B2 US9965164 B2 US 9965164B2
- Authority
- US
- United States
- Prior art keywords
- touch
- enabled
- container
- computer
- application
- 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.)
- Active, expires
Links
Images
Classifications
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
- G06F3/04855—Interaction with scrollbars
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G06F17/30861—
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- 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/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Definitions
- the present application relates generally to computer applications and, more particularly, to methods and systems for automatically modifying an application user interface (UI) based on UI capabilities of a computer device running the application.
- UI application user interface
- a touchscreen is an electronic visual display that the user can control through touch gestures by touching the screen with one or more fingers or by using a stylus.
- the user can, e.g., use the touchscreen to react to what is displayed and to control how it is displayed (e.g., by zooming the text size or scrolling up and down or across a page).
- Web-based applications or web applications are software programs that run within a web browser executing on a computer device.
- the applications are coded in a browser-supported programming language (such as, e.g., JavaScript combined with a browser-rendered markup language like HTML) and reliant on the web browser to render the application executable.
- the user interacts with the application through the web pages generated by the browser.
- Web applications are received on the user device from a computer server over the Internet or other computer network.
- Sencha Inc. such as the Sencha TouchTM framework allow developers to build web applications for touch-enabled user devices.
- the Sencha Ext JSTM framework allows developers to build web applications for devices that are not touch-enabled (also referred to herein as “desktop” devices).
- a computer-implemented method for dynamically adapting a user interface (UI) of a web application running within a browser executing on a user computer device.
- the UI is adapted based on UI capabilities of the user computer device in order to improve application usability.
- the method includes the steps, implemented in the user computer device, of: (a) determining whether the user computer device is touch-enabled or not; (b) determining whether a container on a screen of the application is scrollable; and (c) when the container is determined to be scrollable and the user computer device is determined to not be touch-enabled, automatically activating a built-in HTML scroll bar of the container, and wherein when the container is determined to be scrollable and the user computer device is determined to be touch-enabled, the built-in HTML scroll bar is inactive and a built-in touch-enabled scroll feature of the container is useable by touch gestures.
- a computer system in accordance with one or more embodiments includes at least one processor, memory associated with the at least one processor, a display, and a web application supported in the memory for running within a browser executing on the computer system.
- the web application dynamically adapts an application user interface (UI) based on UI capabilities of the computer system in order to improve application usability.
- UI application user interface
- the web application contains a plurality of instructions which, when executed by the at least one processor, cause the at least one processor to: (a) determine whether the computer system is touch-enabled or not; (b) determine whether a container on a screen of the application is scrollable; and (c) when the container is determined to be scrollable and the computer system is determined to not be touch-enabled, automatically activate a built-in HTML scroll bar of the container, and wherein when the container is determined to be scrollable and the computer system is determined to be touch-enabled, the built-in HTML scroll bar is inactive and a built-in touch-enabled scroll feature of the container is useable by touch gestures.
- a computer program product in accordance with one or more embodiments dynamically adapts a user interface (UI) of a web application running within a browser executing on a user computer device.
- the UI being adapted based on UI capabilities of the user computer device in order to improve application usability.
- the computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a computer processor, cause that computer processor to: (a) determine whether the user computer device is touch-enabled or not; (b) determine whether a container on a screen of the application is scrollable; and (c) when the container is determined to be scrollable and the user computer device is determined to not be touch-enabled, automatically activate a built-in HTML scroll bar of the container, and wherein when the container is determined to be scrollable and the user computer device is determined to be touch-enabled, the built-in HTML scroll bar is inactive and a built-in touch-enabled scroll feature of the container is useable by touch gestures.
- FIG. 1 is a simplified diagram illustrating an exemplary networked environment, in which web applications in accordance with one or more embodiments may be utilized.
- FIG. 2 is a screenshot of an exemplary web application screen rendered inside a browser on a desktop device in accordance with one or more embodiments.
- FIG. 3 is a screenshot of an exemplary web application screen rendered inside a browser on a touch-enabled device in accordance with one or more embodiments.
- FIG. 4 is a simplified flow chart illustrating an exemplary process for modifying an application UI based on UI capabilities of a computer device running the application.
- FIG. 1 illustrates an exemplary networked environment, in which web applications in accordance with one or more embodiments may be utilized.
- a computer server system 100 communicates with a plurality of client computer devices 102 operated by the users over a communications network 104 .
- the communications network 104 may comprise any network or combination of networks including, without limitation, the Internet, a local area network, a wide area network, a wireless network, and a cellular network.
- the client devices 102 can comprise any computing device that can communicate with the computer server system 100 including, without limitation, personal computers (including desktop, notebook, and tablet computers) and smart phones and other smart devices.
- Each client device 102 includes at least one processor, a storage medium readable by the at least one processor (including, e.g., volatile and non-volatile memory and/or storage elements), and input and output devices (including a display).
- Each client device 102 includes a web browser 106 , which can, e.g., be any of a variety of conventional web browsers such as the Microsoft Internet Explorer®, Mozilla Firefox®, Apple Safari®, and Google Chrome® web browsers.
- the computer server system 100 comprises a web server, or the like, able to communicate with client devices 102 operated by users over the network.
- the computer server system includes one or more processors and a computer readable storage medium such as, without limitation, a computer hard-drive or removable drive or memory.
- a computer program having executable instructions for performing the functions described herein may be stored on the computer readable storage medium.
- the web server may host one or more web sites.
- a Uniform Resource Locator (URL) identifies a network path to Web pages maintained by the server.
- URL Uniform Resource Locator
- a user of a client device 102 connects to the computer server system 100 over the network 104 and receives a web application.
- the received web application is then executed within the web browser 106 .
- the user interfaces the web application through the web pages generated by the browser.
- Web applications in accordance with one or more embodiments include adaptive user interfaces such that the same application appears intuitive and user-friendly in both desktop devices and touch-enabled devices.
- the web applications are built using the Sencha TouchTM framework. It should be understood, however, that this is not a limitation of the techniques described herein, as other frameworks can also be used in a similar manner.
- Sencha Touch based applications can be made appear as intuitive and user-friendly in browsers on desktop devices as they do on touch-enabled devices.
- a Framework provided API software code can be included in the application that is able to identify the environment/device/browser in which the application is running.
- conditional logic certain style adjustments are made to the UI so the application will respond properly to all regular desktop interactions (such as mouse scrolls, resizing, double clicks, etc.) as well as to the touch events.
- the Sencha Touch Framework proactively removes all built-in HTML scroll bars and replaces them with special touch-enabled scroll bars that only become visible when user attempts to do a “drag” action.
- code is included in a Sencha Touch based application that detects whether the application is running in a desktop browser. If so, the code performs a set of opposite steps to the steps performed by the Sencha Touch Framework. Namely, the code makes touch-enabled scrolls invisible or hidden and restores default HTML scroll bars instead.
- the code also performs size detection for target ⁇ div> elements and is capable of showing only vertical, only horizontal, or both scrollbars, as needed.
- FIG. 2 is a screenshot of an exemplary web application screen 200 rendered inside a Chrome browser on a desktop device in accordance with one or more embodiments.
- the screen 200 includes a visible and active scrollbar 202 for a widget 204 and a scrollbar 206 for the base panel.
- FIG. 3 is a screenshot of a web application screen 300 of the same web application rendered inside a Safari browser on a touch-enabled device (in this case an iPad tablet).
- the scrollbars 202 and 206 (which are visible in the screen 200 ) are invisible on the screen 300 , but are still active.
- Containers include visual panels such as, e.g., the widget 204 in FIG. 2 and other items such as buttons.
- the array of those containers is provided to a function that processes them one at a time to customize or adapt the containers.
- the function is executed by the application when the containers are created at application start time.
- FIG. 4 is a flowchart illustrating an exemplary process performed by the function for each of the containers that has been identified to have the adaptive scroll bar functionality.
- the function identifies the environment in which the application is running (i.e., whether the user device is a touch-enabled device or a desktop device).
- the environment can be identified by inspecting the “navigator” (Sencha Touch provided) objects.
- the “appVersion” attribute of this object will have a string that can help to identify the browser. For instance, if it includes the word “ipad” or “mobile,” it indicates that this is a touch environment.
- This exemplary logic can be adjusted or expanded as new devices become available.
- the function determines if the container is “scrollable” at step 402 . This can be done by inspecting existence and value of “scrollable” and “scrollable.scroller” properties of the given container.
- the function disables Sencha Touch scrolling feature by setting the “disabled” property to “true” for container's “scroller” object at step 404 .
- the function locates in the DOM of the container all sub elements with CSS style “.x-scroll-container” and elements with CSS style “.x-scroll-indicator.” This process will find all/any sub-panels/“children” containers this container may have.
- the function activates built-in scroll bars.
- the function sets CSS style for containers identified in 406 for the “overflowXY” attribute to “scroll” and the “zIndex” attribute for the containers to “ ⁇ 1”.
- the function issues an event (“fireEvent”) to allow individual containers to further optimize their appearance and behavior.
- fireEvent an event
- some panels may choose to only display scrollbars for some of its “children” and disable scrollbars for others.
- UI elements can be adapted based on the environment in which the application is running. For example, the size of visual panels can be adjusted based on whether the application is running on desktop or mobile devices.
- the computer server system may comprise one or more physical machines, or virtual machines running on one or more physical machines.
- the computer server system may comprise a cluster of computers or numerous distributed computers that are connected by the Internet or another network.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims (18)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/498,031 US9965164B2 (en) | 2013-09-27 | 2014-09-26 | Web application with adaptive user interface |
US15/948,540 US11954320B2 (en) | 2013-09-27 | 2018-04-09 | Web application with adaptive user interface |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361883321P | 2013-09-27 | 2013-09-27 | |
US14/498,031 US9965164B2 (en) | 2013-09-27 | 2014-09-26 | Web application with adaptive user interface |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/948,540 Continuation US11954320B2 (en) | 2013-09-27 | 2018-04-09 | Web application with adaptive user interface |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150095794A1 US20150095794A1 (en) | 2015-04-02 |
US9965164B2 true US9965164B2 (en) | 2018-05-08 |
Family
ID=52737548
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/498,031 Active 2036-03-10 US9965164B2 (en) | 2013-09-27 | 2014-09-26 | Web application with adaptive user interface |
US15/948,540 Active US11954320B2 (en) | 2013-09-27 | 2018-04-09 | Web application with adaptive user interface |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/948,540 Active US11954320B2 (en) | 2013-09-27 | 2018-04-09 | Web application with adaptive user interface |
Country Status (2)
Country | Link |
---|---|
US (2) | US9965164B2 (en) |
CA (1) | CA2865001C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USD1048086S1 (en) * | 2022-09-29 | 2024-10-22 | Fiduciary Benchmarks Insights, Llc | Display screen or portion thereof with graphical user interface |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120765B1 (en) | 2020-09-21 | 2021-09-14 | Motorola Mobility Llc | Automatic input style selection or augmentation for an external display device |
USD1016849S1 (en) * | 2021-12-06 | 2024-03-05 | Pied Parker, Inc. | Display screen with graphical user interface |
US12423248B2 (en) | 2023-07-05 | 2025-09-23 | Motorola Mobility Llc | Automatic input style selection for a connected device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110119637A1 (en) * | 2009-11-13 | 2011-05-19 | Nokia Corporation | Method and apparatus for interacting with a content object |
US20120123989A1 (en) * | 2010-11-15 | 2012-05-17 | Business Objects Software Limited | Dashboard evaluator |
US20130147845A1 (en) * | 2011-12-13 | 2013-06-13 | Tao Xie | Photo Selection for Mobile Devices |
US20130321440A1 (en) * | 2011-06-01 | 2013-12-05 | Adobe Systems Incorporated | Computer-Implemented Methods and Systems for Laying Out Electronic Content Elements |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8887129B1 (en) * | 2010-01-25 | 2014-11-11 | Sprint Communications Company L.P. | Detecting non-touch applications |
US8941675B2 (en) * | 2011-04-05 | 2015-01-27 | Blackberry Limited | Backing store memory management for rendering scrollable webpage subregions |
US9377937B2 (en) * | 2012-04-06 | 2016-06-28 | Samsung Electronics Co., Ltd. | Method and device for executing object on display |
US20140208203A1 (en) * | 2013-01-23 | 2014-07-24 | Steven Shu Hsiang Tang | Key-Frame based Authoring and Generation of Highly Resizable Document Layout |
TW201405363A (en) * | 2012-07-26 | 2014-02-01 | Hon Hai Prec Ind Co Ltd | Application controlling system and method |
US8971968B2 (en) * | 2013-01-18 | 2015-03-03 | Dell Products, Lp | System and method for context aware usability management of human machine interfaces |
-
2014
- 2014-09-26 US US14/498,031 patent/US9965164B2/en active Active
- 2014-09-26 CA CA2865001A patent/CA2865001C/en active Active
-
2018
- 2018-04-09 US US15/948,540 patent/US11954320B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110119637A1 (en) * | 2009-11-13 | 2011-05-19 | Nokia Corporation | Method and apparatus for interacting with a content object |
US20120123989A1 (en) * | 2010-11-15 | 2012-05-17 | Business Objects Software Limited | Dashboard evaluator |
US20130321440A1 (en) * | 2011-06-01 | 2013-12-05 | Adobe Systems Incorporated | Computer-Implemented Methods and Systems for Laying Out Electronic Content Elements |
US20130147845A1 (en) * | 2011-12-13 | 2013-06-13 | Tao Xie | Photo Selection for Mobile Devices |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USD1048086S1 (en) * | 2022-09-29 | 2024-10-22 | Fiduciary Benchmarks Insights, Llc | Display screen or portion thereof with graphical user interface |
Also Published As
Publication number | Publication date |
---|---|
CA2865001A1 (en) | 2015-03-27 |
CA2865001C (en) | 2022-08-09 |
US11954320B2 (en) | 2024-04-09 |
US20180225036A1 (en) | 2018-08-09 |
US20150095794A1 (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9152529B2 (en) | Systems and methods for dynamically altering a user interface based on user interface actions | |
JP6133411B2 (en) | Optimization scheme for controlling user interface via gesture or touch | |
US9632986B2 (en) | Systems and methods for horizontally paginating HTML content | |
US9384503B2 (en) | Terminal apparatus, advertisement display control apparatus, and advertisement display method | |
US8881055B1 (en) | HTML pop-up control | |
CN102081647B (en) | Method and device for displaying pop-up advertisement | |
JP6037973B2 (en) | Automatic switching between input modes for user interface | |
US11954320B2 (en) | Web application with adaptive user interface | |
US20120256857A1 (en) | Electronic device and method of controlling same | |
US20130080910A1 (en) | Dynamic visualization of page element access rates in a web application | |
CN109074375B (en) | Content selection in web documents | |
CN104756064B (en) | Technologies and Devices for Managing Touch Interfaces | |
WO2013085528A1 (en) | Methods and apparatus for dynamically adapting a virtual keyboard | |
US10852927B2 (en) | Browser function bar display method, apparatus, and processing device | |
CN104268251A (en) | Playing method and device of video elements in web page | |
US20130073945A1 (en) | Dynamic reorganization of page elements of a web application | |
WO2012135949A1 (en) | Electronic device and method of displaying touch-sensitive information | |
CN105335071A (en) | Method and device for displaying page elements | |
US9891727B2 (en) | Simulating multi-touch events on a browser system | |
US20140123036A1 (en) | Touch screen display process | |
US9740393B2 (en) | Processing a hover event on a touchscreen device | |
EP3043251A1 (en) | Method of displaying content and electronic device implementing same | |
US8633902B2 (en) | Touch input for hosted applications | |
US20130111333A1 (en) | Scaling objects while maintaining object structure | |
US9037958B2 (en) | Dynamic creation of user interface hot spots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ARES CAPITAL CORPORATION, AS ADMINISTRATIVE AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNORS:ACCRUENT, LLC;VFA, INC.;REEL/FRAME:038622/0102 Effective date: 20160516 Owner name: BABSON CAPITAL FINANCE LLC, AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: SECURITY INTEREST;ASSIGNORS:ACCRUENT, LLC;VFA, INC.;REEL/FRAME:038622/0264 Effective date: 20160516 Owner name: ARES CAPITAL CORPORATION, AS ADMINISTRATIVE AGENT, Free format text: SECURITY INTEREST;ASSIGNORS:ACCRUENT, LLC;VFA, INC.;REEL/FRAME:038622/0102 Effective date: 20160516 Owner name: BABSON CAPITAL FINANCE LLC, AS ADMINISTRATIVE AGEN Free format text: SECURITY INTEREST;ASSIGNORS:ACCRUENT, LLC;VFA, INC.;REEL/FRAME:038622/0264 Effective date: 20160516 |
|
AS | Assignment |
Owner name: VFA, INC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MANGEYM, VLADISLAV M;PUZATKIN, OLEG;REEL/FRAME:041756/0364 Effective date: 20140814 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.) |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: VFA, INC., TEXAS Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 038622/0102;ASSIGNOR:ARES CAPITAL CORPORATION;REEL/FRAME:047029/0665 Effective date: 20180907 Owner name: ACCRUENT, LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 038622/0102;ASSIGNOR:ARES CAPITAL CORPORATION;REEL/FRAME:047029/0665 Effective date: 20180907 Owner name: VFA, INC., TEXAS Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 038622/0264;ASSIGNOR:BARINGS FINANCE LLC (FORMERLY BABSON CAPITAL FINANCE LLC);REEL/FRAME:047029/0783 Effective date: 20180906 Owner name: ACCRUENT, LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 038622/0264;ASSIGNOR:BARINGS FINANCE LLC (FORMERLY BABSON CAPITAL FINANCE LLC);REEL/FRAME:047029/0783 Effective date: 20180906 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |