DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-20 are cancelled.
Claims 21-38 are pending.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 21-38 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 21 recites the limitation "the wireless communication interface" in line 7. There is insufficient antecedent basis for this limitation in the claim.
Claim 21 recites “an embedded JSON Translator configured to translate JSON data received from a remote server system” and “receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator”. It is unclear regarding to the relationship between the recited “JSON data” and “control data”. The claim defines the JSON translator as translating JSON data but subsequently requires translation of “control data” without expressly requiring the control data to comprise JSON data. It is unclear whether the scope requires the control data itself to be JSON data. Appropriate correction is required.
Claim 24 recites “a wireless communication interface”, it is unclear whether the cited “wireless communication interface” referring to the “wireless communication interface” from claim 21. Appropriate correction is required.
Claim 30 recites “an embedded JSON Translator configured to translate JSON data received from the remote server system” and “receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator”. It is unclear regarding to the relationship between the recited “JSON data” and “control data”. The claim defines the JSON translator as translating JSON data but subsequently requires translation of “control data” without expressly requiring the control data to comprise JSON data. It is unclear whether the scope requires the control data itself to be JSON data. Appropriate correction is required.
Claim 33 recites “a user interface allowing user control over a mobile application running in a mobile computing device”. It is unclear where “a user interface” is located, and what constitutes the recites “user control over” the running mobile application. In particular, the claim does not make clear whether the user interface directly controls execution of the running mobile application, remotely modifies the application’s configuration, control functions available to end user, or instead merely permits configuration of control data that transmitted to and processed by the mobile application. Because those interpretations define different relationships between the claimed remote server and the running mobile application, the boundary of “a user interface allowing user control over a mobile application” is unclear. Appropriate correction is required.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 21-38 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12197854. Although the claims at issue are not identical, they are not patentably distinct from each other as set forth below.
Pending Application
U.S. Patent No. 12197854
21. A mobile computing system comprising:
1. An Internet of Things (IoT) device comprising:
at least one tangible, non-transitory computer-readable medium having embodied therein a mobile application comprising an embedded JSON Translator configured to translate JSON data received from a remote server system into native elements compatible with the mobile application, wherein the mobile application, when executed by at least one processor of a mobile computing device, performs processes comprising:
a wireless communication system allowing wireless communication with at least one other IoT device within an IoT ecosystem; and at least one processor coupled to at least one tangible, non-transitory computer-readable medium having embodied therein a native application version of a mobile application, wherein: the native application version is an abstracted native application designed to run on a predetermined native operating system type in the IoT device and comprises a JSON Translator embedded within the application, wherein the JSON Translator is a translation layer configured to allow dynamic interpretation of JSON data received from at least one other IoT device via the wireless communication system into native elements compatible with the native application version; and the native application version is further configured to:
receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator into native elements for the mobile application;
receive, from at least one other IoT device via the wireless communication system, an update for the native application version in a JSON format and including at least one of (a) modification data objects configured for translation by the JSON Translator of the native application version into native elements for modification of the native application version or (b) content provided by the at least one other IoT device for translation by the JSON Translator of the native application version for output via a native UI of the IoT device; and transmit, to at least one other IoT device via the wireless communication system, an update for a mobile application in the at least one other IoT device in a JSON format and including at least one of (a) modification data objects configured for translation by a JSON Translator of the mobile application in the at least one other IoT device into native elements for modification of the mobile application in the at least one other IoT device or (b) content generated by the native application version for translation by the JSON Translator of the mobile application in the at least one other IoT device for output via a native UI of the at least one other IoT device.
dynamically translating, via the JSON Translator, the control data into translated native elements; and
5. The device of claim 1, wherein the JSON Translator dynamically translates the modification data objects into translated native elements in real or near-real time.
dynamically controlling operation of the running mobile application based on the translated native elements.
3. The device of claim 1, wherein: at least one of the updates changes a user interface element to be displayed; at least one of the updates controls what a user can or cannot do on the mobile application; or at least one of the updates improves capabilities of the mobile application.
As illustrated above, the claim(s) 1, 3, and 5 of U.S. Patent No. 12197854 include all of the limitations of the claim(s) 21 of the instant application. The claim(s) 2-20 of U.S. Patent No. 12197854 also include all of the limitations of the claim(s) 22-38 of the instant application. The patent claims also include other additional limitations. Hence, the instant application claims are generic to the species of invention covered by the respective patent claims. As such, the instant application claims are anticipated by the patent claims and are therefore not patentably distinct therefrom. (See Eli Lilly and Co. v. Barr Laboratories Inc., 58 USPQ2D 1869, "a later genus claim limitation is anticipated by, and therefore not patentably distinct from, an earlier species claim", In re Goodman, 29 USPQ2d 2010, "Thus, the generic invention is anticipated by the species of the patented invention).
Claims 21-38 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-19 of U.S. Patent No. 11886811. Although the claims at issue are not identical, they are not patentably distinct from each other as set forth below.
Pending Application
U.S. Patent No. 11886811
21. A mobile computing system comprising:
1. A mobile computing device comprising:
at least one tangible, non-transitory computer-readable medium having embodied therein a mobile application comprising an embedded JSON Translator configured to translate JSON data received from a remote server system into native elements compatible with the mobile application, wherein the mobile application, when executed by at least one processor of a mobile computing device, performs processes comprising:
a wireless communication system for communication with a remote server system; and at least one processor coupled to at least one tangible, non-transitory computer-readable medium having embodied therein a native application version of a mobile application, wherein: the native application version is an abstracted native application designed to run on a predetermined native operating system type in the mobile computing device and comprises an application shell, native basic user interface (UI) elements, and a JSON Translator embedded within the application, wherein the JSON Translator is a translation layer configured to allow dynamic interpretation of JSON data received from the remote server system into native elements compatible with the native application version; and the native application version is further configured to:
receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator into native elements for the mobile application;
receive, from the remote server system via the wireless communication system, modification data associated with an update to the native application version, the modification data including modification data objects configured for translation by the JSON Translator into native elements for the native application version;
dynamically translating, via the JSON Translator, the control data into translated native elements; and
dynamically translate, via the JSON Translator, the modification data objects into translated native elements;
dynamically controlling operation of the running mobile application based on the translated native elements.
update the native application version based on the translated native elements.
4. The mobile computing device of claim 1, wherein the update controls what a user of the mobile device can do on the native application version.
5. The mobile computing device of claim 1, wherein the update controls what a user of the mobile device cannot do on the native application version.
6. The mobile computing device of claim 1, wherein the update improves capabilities of the native application version.
As illustrated above, the claim(s) 1, 4-6 of U.S. Patent No. 11886811 include all of the limitations of the claim(s) 21 of the instant application. The claim(s) 2-19 of U.S. Patent No. 11886811 also include all of the limitations of the claim(s) 22-38 of the instant application. The patent claims also include other additional limitations. Hence, the instant application claims are generic to the species of invention covered by the respective patent claims. As such, the instant application claims are anticipated by the patent claims and are therefore not patentably distinct therefrom. (See Eli Lilly and Co. v. Barr Laboratories Inc., 58 USPQ2D 1869, "a later genus claim limitation is anticipated by, and therefore not patentably distinct from, an earlier species claim", In re Goodman, 29 USPQ2d 2010, "Thus, the generic invention is anticipated by the species of the patented invention).
Claims 21-38 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-17 of U.S. Patent No. 11625530. Although the claims at issue are not identical, they are not patentably distinct from each other as set forth below.
Pending Application
U.S. Patent No. 11625530
21. A mobile computing system comprising:
1. A computer program product comprising
at least one tangible, non-transitory computer-readable medium having embodied therein a mobile application comprising an embedded JSON Translator configured to translate JSON data received from a remote server system into native elements compatible with the mobile application, wherein the mobile application, when executed by at least one processor of a mobile computing device, performs processes comprising:
a tangible, non-transitory computer-readable medium having embodied therein a native application version of a mobile application that allows users to provide user-driven data to a crowdsourcing platform relating to an environment in which the user is located, wherein: the native application version is an abstracted native application designed to run on a mobile device on predetermined native operating system type and comprises an application shell, native basic user interface (UI) elements, and a JSON Translator embedded within the application, wherein the JSON Translator is a translation layer configured to allow dynamic interpretation of JSON data received from the crowdsourcing platform into native elements compatible with the native application version; and the native application version is further configured to:
11. The computer program product of claim 1, wherein the native application version is further configured to wirelessly communicate and exchange data with the crowdsourcing platform over a network.
receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator into native elements for the mobile application;
receive, from the crowdsourcing platform, modification data associated with an update to the native application version, the modification data including modification data objects configured for translation by the JSON Translator into native elements for the native application version;
dynamically translating, via the JSON Translator, the control data into translated native elements; and
dynamically translate, via the JSON Translator, in real or near-real time, the modification data objects into translated native elements; and
dynamically controlling operation of the running mobile application based on the translated native elements.
update the native application version based on the translated native elements.
4. The computer program product of claim 1, wherein the update controls what a user of the mobile device can do on the native application version.
5. The computer program product of claim 1, wherein the update controls what a user of the mobile device cannot do on the native application version.
6. The computer program product of claim 1, wherein the update improves capabilities of the native application version.
As illustrated above, the claim(s) 1, 4-6, 11 of U.S. Patent No. 11625530 include all of the limitations of the claim(s) 21 of the instant application. The claim(s) 2-17 of U.S. Patent No. 11625530 also include all of the limitations of the claim(s) 22-38 of the instant application. The patent claims also include other additional limitations. Hence, the instant application claims are generic to the species of invention covered by the respective patent claims. As such, the instant application claims are anticipated by the patent claims and are therefore not patentably distinct therefrom. (See Eli Lilly and Co. v. Barr Laboratories Inc., 58 USPQ2D 1869, "a later genus claim limitation is anticipated by, and therefore not patentably distinct from, an earlier species claim", In re Goodman, 29 USPQ2d 2010, "Thus, the generic invention is anticipated by the species of the patented invention).
Claims 21-38 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-11 of U.S. Patent No. 11379658. Although the claims at issue are not identical, they are not patentably distinct from each other as set forth below.
Pending Application
U.S. Patent No. 11379658
21. A mobile computing system comprising:
1. A method for providing cross-device native functionality for a native app, the method comprising:
at least one tangible, non-transitory computer-readable medium having embodied therein a mobile application comprising an embedded JSON Translator configured to translate JSON data received from a remote server system into native elements compatible with the mobile application, wherein the mobile application, when executed by at least one processor of a mobile computing device, performs processes comprising:
providing a server configured to communicate with and exchange data with a plurality of mobile devices via a cloud-based service in the form of a crowdsourcing platform; providing, by the server, two native application versions of a mobile application that allows users to provide to the crowdsourcing platform user-driven data associated with environments in which the users are located, each native application version being an abstracted native application designed to run on a different operating system type or platform and comprising an application shell, native basic UI elements, and a JSON Translator embedded within the application, wherein the JSON Translator is a translation layer configured to allow dynamic interpretation of JSON data received from the server into native UI elements compatible with the native application; and
6. A method according to claim 1, wherein the server and the mobile devices are configured to wirelessly communicate and exchange data over a network.
receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator into native elements for the mobile application;
providing, by the server to one of the plurality of mobile devices, an update for the mobile application in a JSON format and including modification data objects
dynamically translating, via the JSON Translator, the control data into translated native elements; and
configured for translation by the JSON Translator into native UI elements for the native application version running on the mobile device.
dynamically controlling operation of the running mobile application based on the translated native elements.
2. A method according to claim 1, wherein the update changes a user interface element displayed within the mobile application installed on a mobile device.
3. A method according to claim 1, further comprising: modifying the native application version running on the mobile device to include the native UI elements translated by the JSON Translator.
As illustrated above, the claim(s) 1, 2-3 of U.S. Patent No. 11379658 include all of the limitations of the claim(s) 21 of the instant application. The claim(s) 2-11 of U.S. Patent No. 11379658 also include all of the limitations of the claim(s) 22-38 of the instant application. The patent claims also include other additional limitations. Hence, the instant application claims are generic to the species of invention covered by the respective patent claims. As such, the instant application claims are anticipated by the patent claims and are therefore not patentably distinct therefrom. (See Eli Lilly and Co. v. Barr Laboratories Inc., 58 USPQ2D 1869, "a later genus claim limitation is anticipated by, and therefore not patentably distinct from, an earlier species claim", In re Goodman, 29 USPQ2d 2010, "Thus, the generic invention is anticipated by the species of the patented invention).
Claims 21-38 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-9 of U.S. Patent No. 10796085. Although the claims at issue are not identical, they are not patentably distinct from each other as set forth below.
Pending Application
U.S. Patent No. 10796085
21. A mobile computing system comprising:
1. A system for providing cross-device native functionality for a native app, the system comprising:
at least one tangible, non-transitory computer-readable medium having embodied therein a mobile application comprising an embedded JSON Translator configured to translate JSON data received from a remote server system into native elements compatible with the mobile application, wherein the mobile application, when executed by at least one processor of a mobile computing device, performs processes comprising:
a server configured to communicate with and exchange data with a plurality of mobile devices via a cloud-based service in the form of a crowdsourcing platform and further provide one or more modifications to a native application running on one or more of the plurality of mobile devices; at least one mobile device comprising a processor coupled to a memory containing instructions executable by the processor to cause the mobile device to: run a native application, wherein the native application allows a user to provide user-driven data to the crowdsourcing platform, wherein the user-driven data is associated with an environment in which the user is located, the native application is an abstracted native application comprising an application shell, native basic UI elements, and a JSON Translator embedded within the application;
3. The system of claim 1, wherein the server and the mobile device are configured to wirelessly communicate and exchange data with one another over a network.
receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator into native elements for the mobile application;
receive, from the server, modification data associated with a modification to the native application;
7. The system of claim 1, wherein the modification data objects comprise JSON objects converted from initial modification data objects created based on one or more non-JSON format programming languages.
dynamically translating, via the JSON Translator, the control data into translated native elements; and
dynamically translate, via the JSON Translator, in real, or near-real, time, modification data objects associated with the modification to the native application into native user interface (UI) elements, wherein the JSON Translator is a translation layer configured to allow dynamic interpretation of data received from the server into native UI elements compatible with the native application running on the mobile device; and
dynamically controlling operation of the running mobile application based on the translated native elements.
display the native UI elements to a user associated with the mobile device.
9. The system of claim 1, wherein the modification data comprises one or more changes or modifications to the native application from an administrator of the native application.
As illustrated above, the claim(s) 1, 3, 7, and 9 of U.S. Patent No. 10796085 include all of the limitations of the claim(s) 21 of the instant application. The claim(s) 2-9 of U.S. Patent No. 10796085 also include all of the limitations of the claim(s) 22-38 of the instant application. The patent claims also include other additional limitations. Hence, the instant application claims are generic to the species of invention covered by the respective patent claims. As such, the instant application claims are anticipated by the patent claims and are therefore not patentably distinct therefrom. (See Eli Lilly and Co. v. Barr Laboratories Inc., 58 USPQ2D 1869, "a later genus claim limitation is anticipated by, and therefore not patentably distinct from, an earlier species claim", In re Goodman, 29 USPQ2d 2010, "Thus, the generic invention is anticipated by the species of the patented invention).
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 21-25, 27, 30-36 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Johnson et al. (hereinafter “Johnson”) (US 20140096014 A1).
As to claim 21, Johnson teaches a mobile computing system [Fig.1] comprising:
at least one tangible, non-transitory computer-readable medium having embodied therein a mobile application ([0080, 0082] Particular embodiments may be implemented in a computer-readable storage medium for use by or in connection with the instruction execution system, apparatus, system, or device.. The control logic, when executed by one or more processors, may be operable to perform that which is described in particular embodiments) comprising an embedded JSON Translator configured to translate JSON data received from a remote server system into native elements compatible with the mobile application ([0033-0034, 0041, 0043, 0048-0049] The example client-side application 28 includes a dynamic user interface features/elements generator 32 and a metadata requestor module 34 in communication with a Graphical User Interface (GUI) controller 30… The dynamic user interface features/elements generator 32 includes computer code for reading metadata retrieved from the server 18 via the metadata requestor 34. For example, the interface features/elements generator 32 may include, depending upon the needs of a given implementation, JavaScript interpreter to execute JSON text dynamically as client-side JavaScript to produce native JavaScript computing objects. The client-side application 28 may include built-in native JSON encoding/decoding software, and/or may include JavaScript functions, such as the JavaScript eval( ) and JSON.parse( ) functions used to read and interpret, i.e., execute, JSON data to facilitate constructing metadata-based UI elements… the server component 18 of the system 10 to deliver an abstract definition of the user interface as JSON metadata… The dynamic metadata-based UI elements 24 are created as elements (also called components) native to the platform (HTML elements for a web client, native iOS controls for iOS devices, Win32 or .NET controls for a Windows client, etc.)… The server-side application 36 responds with a message 54 containing the requested JSON metadata… the client-side application 28 generates one or more metadata-based UI elements based on the received JSON metadata), wherein the mobile application, when executed by at least one processor of a mobile computing device, performs processes comprising:
receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator into native elements for the mobile application ([0035, 0041-0043, 0048-0049, 0071-0072, 0081] computer code executed by the metadata requestor 34 initiates a request for metadata data user interface component definitions from the server 18 via the GUI controller 30 and network 20… the server component 18 of the system 10 to deliver an abstract definition of the user interface as JSON metadata. The abstract user interface definition describes the abstract type of each UI element or component, the behavior of the element, recommended layout information (e.g., a position of a UI element), and actions that can be performed in response to user selection of the UI element… Once the client receives the UI metadata, the client application 28 generates a UI element for each UI element definition received from the server 18. The dynamic metadata-based UI elements 24 are created as elements (also called components) native to the platform (HTML elements for a web client, native iOS controls for iOS devices, Win32 or .NET controls for a Windows client, etc.)… The server-side application 36 responds with a message 54 containing the requested JSON metadata… the client-side application 28 generates one or more metadata-based UI elements based on the received JSON metadata…Distributed, networked systems, components, and/or circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means);
dynamically translating, via the JSON Translator, the control data into translated native elements ([0034, 0039, 0043-0044, 0055-0059, 0073] the interface features/elements generator 32 may include, depending upon the needs of a given implementation, JavaScript interpreter to execute JSON text dynamically as client-side JavaScript to produce native JavaScript computing objects. The client-side application 28 may include built-in native JSON encoding/decoding software, and/or may include JavaScript functions, such as the JavaScript eval( ) and JSON.parse( ) functions used to read and interpret, i.e., execute, JSON data to facilitate constructing metadata-based UI elements…The dynamic user interface features generator 32 includes computer code for reading metadata that has been retrieved by the metadata requestor 34 from the server-side application 36. The retrieved metadata descriptions include sufficient information to enable the dynamic user interface features generator 32 to dynamically construct UI components 24 in a manner that is consistent with the platform (including platform operating system, e.g., iOS, Android, etc., and other platform-specific software and hardware features, e.g., display type and resolution) of the client 12…The dynamic metadata-based UI elements 24 are created as elements (also called components) native to the platform (HTML elements for a web client, native iOS controls for iOS devices, Win32 or .NET controls for a Windows client, etc.)… client applications can be developed for each platform that consume that metadata and can construct the UI at runtime in a manner that follows the user interface conventions of the platform or device…The process of marshaling JSON objects into client-specific UI elements may be similar for various platforms, including platforms running Android and handling HTML5); and
dynamically controlling operation of the running mobile application based on the translated native elements ([0064-0069, 0074-0076] The native elements 24 are metadata-based UI elements and include an example manage-favorites icon 96, a sales-order icon 98, an address-book icon 100, and a time-entry icon 102. Each of the icons 96-102 are associated with functions that are activated in response to user selection of the icons 96-102. The called functions may be associated with web services or client-side functionality, which may be described via metadata used to generate the UI elements 24. Hence, UI elements (also called items), including action performed in response to user selection thereof, are delivered as JSON definition(s) from a server…Hence, the same JSON metadata UI element definition on the back end (i.e., server side) describing the functional intent of the UI element may be yield different client-side UI element appearances that are tightly associated with the native appearance of UIs presented on the particular platform. In summary, a client device may consume/interpret metadata to facilitate implementing associated UI element appearances and actions based on the capabilities of the client device platform…A fourth step 118 includes using client-side software to employ the metadata to display one or more platform-specific user interface features based on a platform on which the application is running).
As to claim 22, Johnson teaches at least one of: the control data changes a user interface element to be displayed by the running mobile application; the control data controls what a user of the mobile device can or cannot do on the mobile application; the control data allows for interaction with the mobile application; or the control data improves capabilities of the mobile application [0041-0045, 0048-0049, 0056-0059, 0064-0069].
As to claim 23, Johnson teaches the control data improves capabilities of the mobile application, and where the capabilities include at least one of: automated workflow capabilities; automated UI interaction; or expanded localization capabilities [0019-0022, 0041, 0057-0060, 0063-0069, 0076].
As to claim 24, Johnson teaches the mobile computing device, wherein the mobile computing device comprises: a wireless communication interface for communication with the remote server system via a wireless communication system; and the at least one processor coupled to the at least one tangible, non-transitory computer-readable medium having the mobile application embodied therein [Fig.1] [0029, 0080-0082].
As to claim 25, Johnson teaches the mobile computing device is selected from the group consisting of a tablet computer, a laptop computer, a notebook computer, a mobile computing device, a smart phone, or a cellular telephone [0028-0029].
As to claim 27, Johnson teaches the remote server system, wherein the remote server system comprises a user interface allowing user control over the mobile application running in the mobile computing device including transmission to the mobile computing device of the control data configured for translation by the JSON Translator into native elements for the running mobile application for dynamically controlling operation of the running mobile application based on the translated native elements [0034-0037, 0041, 0043-0044, 0048-0049, 0055-0059, 0064-0069].
As to claim 30, Johnson teaches a mobile device [Fig.1] comprising:
a wireless communication interface for communication with a remote server system and at least one processor coupled to at least one tangible, non-transitory computer-readable medium having embodied therein a mobile application ([0029, 0080-0082] Various client devices 12-16 communicate with the server 18 via a network 20, such as the Internet. In the present example embodiment, each of the client devices 12-16 runs on a different platform, e.g., iOS, Android, BlackBerry, Win32, Windows 8, etc….Particular embodiments may be implemented in a computer-readable storage medium for use by or in connection with the instruction execution system, apparatus, system, or device.. The control logic, when executed by one or more processors, may be operable to perform that which is described in particular embodiments… Distributed, networked systems, components, and/or circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means) comprising an embedded JSON Translator configured to translate JSON data received from the remote server system into native elements compatible with the mobile application ([0033-0034, 0041, 0043, 0048-0049] The example client-side application 28 includes a dynamic user interface features/elements generator 32 and a metadata requestor module 34 in communication with a Graphical User Interface (GUI) controller 30… The dynamic user interface features/elements generator 32 includes computer code for reading metadata retrieved from the server 18 via the metadata requestor 34. For example, the interface features/elements generator 32 may include, depending upon the needs of a given implementation, JavaScript interpreter to execute JSON text dynamically as client-side JavaScript to produce native JavaScript computing objects. The client-side application 28 may include built-in native JSON encoding/decoding software, and/or may include JavaScript functions, such as the JavaScript eval( ) and JSON.parse( ) functions used to read and interpret, i.e., execute, JSON data to facilitate constructing metadata-based UI elements… the server component 18 of the system 10 to deliver an abstract definition of the user interface as JSON metadata… The dynamic metadata-based UI elements 24 are created as elements (also called components) native to the platform (HTML elements for a web client, native iOS controls for iOS devices, Win32 or .NET controls for a Windows client, etc.)… The server-side application 36 responds with a message 54 containing the requested JSON metadata… the client-side application 28 generates one or more metadata-based UI elements based on the received JSON metadata), a method comprising:
receiving, from the remote server system via the wireless communication interface, control data configured for translation by the JSON Translator into native elements for the mobile application ([0035, 0041-0043, 0048-0049, 0071-0072, 0081] computer code executed by the metadata requestor 34 initiates a request for metadata data user interface component definitions from the server 18 via the GUI controller 30 and network 20… the server component 18 of the system 10 to deliver an abstract definition of the user interface as JSON metadata. The abstract user interface definition describes the abstract type of each UI element or component, the behavior of the element, recommended layout information (e.g., a position of a UI element), and actions that can be performed in response to user selection of the UI element… Once the client receives the UI metadata, the client application 28 generates a UI element for each UI element definition received from the server 18. The dynamic metadata-based UI elements 24 are created as elements (also called components) native to the platform (HTML elements for a web client, native iOS controls for iOS devices, Win32 or .NET controls for a Windows client, etc.)… The server-side application 36 responds with a message 54 containing the requested JSON metadata… the client-side application 28 generates one or more metadata-based UI elements based on the received JSON metadata…Distributed, networked systems, components, and/or circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means);
dynamically translating, via the JSON Translator, the control data into translated native elements ([0034, 0039, 0043-0044, 0055-0059, 0073] the interface features/elements generator 32 may include, depending upon the needs of a given implementation, JavaScript interpreter to execute JSON text dynamically as client-side JavaScript to produce native JavaScript computing objects. The client-side application 28 may include built-in native JSON encoding/decoding software, and/or may include JavaScript functions, such as the JavaScript eval( ) and JSON.parse( ) functions used to read and interpret, i.e., execute, JSON data to facilitate constructing metadata-based UI elements…The dynamic user interface features generator 32 includes computer code for reading metadata that has been retrieved by the metadata requestor 34 from the server-side application 36. The retrieved metadata descriptions include sufficient information to enable the dynamic user interface features generator 32 to dynamically construct UI components 24 in a manner that is consistent with the platform (including platform operating system, e.g., iOS, Android, etc., and other platform-specific software and hardware features, e.g., display type and resolution) of the client 12…The dynamic metadata-based UI elements 24 are created as elements (also called components) native to the platform (HTML elements for a web client, native iOS controls for iOS devices, Win32 or .NET controls for a Windows client, etc.)… client applications can be developed for each platform that consume that metadata and can construct the UI at runtime in a manner that follows the user interface conventions of the platform or device…The process of marshaling JSON objects into client-specific UI elements may be similar for various platforms, including platforms running Android and handling HTML5); and
dynamically controlling operation of the running mobile application based on the translated native elements ([0064-0069, 0074-0076] The native elements 24 are metadata-based UI elements and include an example manage-favorites icon 96, a sales-order icon 98, an address-book icon 100, and a time-entry icon 102. Each of the icons 96-102 are associated with functions that are activated in response to user selection of the icons 96-102. The called functions may be associated with web services or client-side functionality, which may be described via metadata used to generate the UI elements 24. Hence, UI elements (also called items), including action performed in response to user selection thereof, are delivered as JSON definition(s) from a server…Hence, the same JSON metadata UI element definition on the back end (i.e., server side) describing the functional intent of the UI element may be yield different client-side UI element appearances that are tightly associated with the native appearance of UIs presented on the particular platform. In summary, a client device may consume/interpret metadata to facilitate implementing associated UI element appearances and actions based on the capabilities of the client device platform…A fourth step 118 includes using client-side software to employ the metadata to display one or more platform-specific user interface features based on a platform on which the application is running).
As to claim 31, Johnson teaches at least one of: the control data changes a user interface element to be displayed by the running mobile application; the control data controls what a user of the mobile device can or cannot do on the mobile application; the control data allows for interaction with the mobile application; or the control data improves capabilities of the mobile application [0041-0045, 0048-0049, 0056-0059, 0064-0069].
As to claim 32, Johnson teaches the control data improves capabilities of the mobile application, and where the capabilities include at least one of: automated workflow capabilities; automated UI interaction; or expanded localization capabilities [0019-0022, 0041, 0057-0060, 0063-0069, 0076].
As to claim 33, Johnson teaches a remote server system comprising [Fig.1] comprising: at least one tangible, non-transitory computer-readable medium having embodied therein ([0080, 0082] Particular embodiments may be implemented in a computer-readable storage medium for use by or in connection with the instruction execution system, apparatus, system, or device.. The control logic, when executed by one or more processors, may be operable to perform that which is described in particular embodiments) a user interface allowing user control over a mobile application running in a mobile computing device including configuring control data for translation by a JSON Translator of the mobile application into native elements for the running mobile application for dynamically controlling operation of the running mobile application based on the translated native elements ([0033-0035, 0041-0043, 0048-0049, 0055-0059, 0064-0069, 0071-0076, 0081] please see detail explanation from claims 21 and 30 as discussed above).
As to claim 34, Johnson teaches at least one of: the control data changes a user interface element to be displayed by the running mobile application; the control data controls what a user of the mobile device can or cannot do on the mobile application; the control data allows for interaction with the mobile application; or the control data improves capabilities of the mobile application [0041-0045, 0048-0049, 0056-0059, 0064-0069].
As to claim 35, Johnson teaches the control data improves capabilities of the mobile application, and where the capabilities include at least one of: automated workflow capabilities; automated UI interaction; or expanded localization capabilities [0019-0022, 0041, 0057-0060, 0063-0069, 0076].
As to claim 36, Johnson teaches at least one processor coupled to the at least one tangible, non-transitory computer-readable medium having the user interface embodied therein [Fig.1] [0029, 0080-0082].
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 26, 29, 38 is/are rejected under 35 U.S.C. 103 as being unpatentable over Johnson in view of Bandhole et al. (hereinafter “Bandhole”) (US 9430207 B1).
As to claim 26, Johnson teaches performing wireless communication between different client devices and the server [Fig.1] [0029, 0080-0082]. Johnson does not explicitly teach the wireless communication interface includes at least one of WiFi, cellular, Bluetooth, or near field communication technology.
However, Bandhole teaches a cloud-based web platform providing for creating and managing native smartphone and tablet software applications for devices of different platforms based on a unified mobile specification. The platform comprises a mobile application builder for creating, maintaining and editing a mobile application specification. The platform further comprises a mobile application engine for automatic compiling native mobile applications based on the mobile application specification. The platform further comprises a mobile application manager for delivering or deploying the native mobile applications to selected client devices and managing a workflow of the one or more native mobile applications. Especially, Bandhole teaches using wireless communication interface includes at least one of WiFi, cellular, Bluetooth, or near field communication technology for communication [Abstract; column 4, lines 23-45; column 9, lines 40-56].
It would have been obvious to an ordinary person skilled in the art before the effective filing date of the invention to incorporate the teachings of Bandhole with the teachings of Johnson for the purpose of using different type of wireless communication technology for communication between different client devices and the server.
As to claims 29 and 38, Bandhole teaches the remote server system is part of a cloud-based service [column 4, lines 46-67; column 4, lines 23-45; column 5, lines 20-61; column 6, lines 32-55].
Claim(s) 28 and 37 is/are rejected under 35 U.S.C. 103 as being unpatentable over Johnson in view of Gruen et al. (hereinafter “Gruen”) (US 20120102165 A1).
As to claims 28 and 37, Johnson teaches the limitations of claim 27 as discussed above. Johnson does not explicitly teach the remote server system is part of a crowdsourcing platform.
However, Gruen teaches a crowdsourcing system involving deployment of applications to multiple mobile devices and collection of data from the multiple mobile devices through a networked server architecture [0008-0011, 0022, 0025].
It would have been obvious to an ordinary person skilled in the art before the effective filing date of the invention to incorporate the teachings of Gruen with the teachings of Johnson for the purpose of employing Johnson’s server controlled, dynamically configurable mobile application in the crowdsourcing environment of Gruen’s to permit a server administered mobile application to be distributed for multiple mobile devices while obtaining data from those devices.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZHIPENG WANG whose telephone number is (571)272-5437. The examiner can normally be reached Monday-Friday 10-7.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kamini Shah can be reached at 5712722279. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ZHIPENG WANG/Primary Examiner, Art Unit 2115