1. Field of the Invention
The present invention generally relates to cross-platform display. More specifically, the present invention relates to managing text for cross-platform display.
2. Description of the Related Art
Individuals currently have a variety of options for communicating and carrying out transactions. Such options may include traditional desktop coming devices, as well as various mobile devices (e.g., mobile phones, smartphones, tablets). In fact, many individuals may use multiple computing and mobile devices at home, work, and on the move. For example, an individual may use a desktop computer at work, a laptop computer at home, and one or more mobile devices (e.g., smartphone, tablet) elsewhere. As such, people have come to expect to be able to have access to data and computing resources so to perform most computing tasks anywhere.
One difficulty in meeting such an expectation is that the various computing devices may not all have the same capabilities. For example, such devices may run different operating systems/platforms and applications. Such differences may make it difficult to support the same tasks across such devices. One solution has been to provide remote desktops where a first device runs the applications and a second device receives the visual display that appears on the first device over a communication network (e.g., Internet). Such remote desktops can allow users to access and control resources and data on the first device at a remote location using a second (e.g., portable) device.
One drawback to such an approach arises from the fact that such devices are generally used differently, so applications may be optimized for one type of device, but not another. For example, the different devices may have different sizes and input options (e.g., keyboard, keypad, touchscreen). The display of one device may not be optimized for a second device. For example, if a desktop computer display is shrunk to fit on a smartphone screen, the shrunken size may be difficult for the user to read or discern what is being displayed. Alternatively, if the display is not shrunken, the smartphone may only be able to display a portion of the original display at a time, which also adds to the difficulty in reading and discerning what is being displayed. While some devices allow for manual adjustment of the display by the user, changing displays and images may require the user to continually re-adjust the display, which may be unwieldy and inconvenient. This difficulty is further heightened where the device lacks a tactile keyboard and instead relies on a keyboard display on a touchscreen. The size of the screen portion for display is further constrained when a keyboard is activated.
There is, therefore, a need in the art for improved systems and methods for managing text for cross-platform display.
Embodiments of the present invention include systems and methods for managing text for cross-platform display. Data including information regarding a display of the host device may be received. Such information may be used to identify one or more top-level windows in the host device display. Further, it is determined which of the top-level windows is currently active. The active top-level window may be determined to include a text caret and further, that the text caret is active such a keyboard display appears in a portion of the display of the client device. Instructions are generated for automatic adjustment of the remaining portion of the display of the client device based on the location of the text caret.
Various embodiments of the present invention include methods for managing text for cross-platform display. Such methods may include receiving data including information regarding a display of a host device, identifying one or more top-level windows in the host device display, identifying which of the top-level windows is currently active, determining that the active top-level window includes a text caret and that the text caret is active such a keyboard display appears in a portion of the client device display, and generating instructions for automatic adjustment of the remaining portion of the client device display based on the location of the active text caret in the active top-level window.
Embodiments of the present invention may further include systems for managing text for cross-platform display. Such systems may include a host device and a client device requesting information from a host device. The host device may send data responsive to the request, which includes information regarding a display of the host device. The client device may use such information to identify one or more top-level windows, identify which one is active, determine the bounds of the active top-level window, and generate instructions for automatically adjusting the display of the client device based on the bounds of the active top-level window. In some embodiments, an intermediate device (e.g., server) may generate and send the instructions to the client device.
Other embodiments of the present invention include non-transitory computer-readable storage media on which is embodied instructions executable to perform a method of managing text for cross-platform display as previously set forth above.
Managing text for cross-platform display is provided. Data including information regarding a display of the host device may be received. Such information may be used to identify one or more top-level windows in the host device display. Further, it is determined which of the top-level windows is currently active. The active top-level window may be determined to include a text caret and further, that the text caret is active such a keyboard display appears in a portion of the display of the client device. Instructions are generated for automatic adjustment of the remaining portion of the display of the client device based on the location of the text caret.
Communication network 110 may be a local, proprietary network (e.g., an intranet) and/or may be a part of a larger wide-area network (e.g., the cloud). The communications network 110 may be a local area network (LAN), which may be communicatively coupled to a wide area network (WAN) such as the Internet. The Internet is a broad network of interconnected computers and servers allowing for the transmission and exchange of Internet Protocol (IP) data between users connected through a network service provider. Examples of network service providers are the public switched telephone network, a cable service provider, a provider of digital subscriber line (DSL) services, or a satellite service provider. Communications network 110 allows for communication between the various components of network environment 100.
Users may use any number of different electronic client devices 120A-C, such as general purpose computers, mobile phones, smartphones, personal digital assistants (PDAs), portable computing devices (e.g., laptop, netbook, tablets), desktop computing devices, handheld computing device, or any other type of computing device capable of communicating over communication network 110. Client devices 120 may also be configured to access data from other storage media, such as memory cards or disk drives as may be appropriate in the case of downloaded services. Client device 120 may include standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions that may be stored in memory.
Client device 120A is illustrated as a mobile phone or smartphone, while client device 120B is illustrated as a tablet computing device and client device 120C is illustrated as a desktop device. As can be seen, each client device 120 is sized differently and/or has different input options. Exemplary embodiments of the present invention allow for tasks and applications that are specific to one client device 120 (e.g., operating in a Microsoft Windows® environment) to be used and optimized for another client device 120 (e.g., operating in an Apple iOS® environment).
A client device 120 may include a client application, a client 3D library, and a client display driver. Collectively, these elements may enable the client and the client user to consume computer graphics resources or services provided by server 110.
Server 130 may include any type of server or other computing device as is known in the art, including standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions or accessing information that may be stored in memory. The functionalities of multiple servers may be integrated into a single server. Any of the aforementioned servers (or an integrated server) may take on certain client-side, cache, or proxy server characteristics. These characteristics may depend on the particular network placement of the server or certain configurations of the server.
Server 130 may associated with the same user and located in the same local network as client device 120C. Alternatively, server 130 may be located remotely (e.g., in the cloud) and may be associated with a third party that provides services in accordance with embodiments of the present invention. In some instances, the services may be provided via software (e.g., software as a service) downloaded from server 130 to one or more client devices 120. Updated software may similarly be downloaded as the updates become available or as needed.
Server application may represent an application executing (“running”) on server 130. The functionality of server application may be visible to and accessible by client 120 via application publishing over the cloud (e.g., communication network 110), such as that supported by GraphOn GO-Global, Microsoft Remote Desktop Services, and Citrix XenApp. Examples of server application 132 may include a computer-aided design (CAD) application, such as AutoCAD® (by Autodesk, Inc. of San Rafael, Calif.) or Cadence Virtuoso (by Cadence Design Systems of San Jose, Calif.), a medical clinical workflow application such as Symbia.net (by Siemens AG of Munich, Germany), an interactive mapping application such as Google Earth (by Google, Inc of Mountain View, Calif.), or a 3D game.
In method 200 of
In step 210, data responsive to the request is received regarding a display of a host device. For example, where a mobile client device (e.g., client device 120A) requests access to a document hosted on a host device (e.g., client device 120C), the display may include a window presenting at least a portion of the requested document. Similarly, where the mobile device 120A requests that host device 120C perform a task (e.g., launch an application), the display may include a window presenting a user interface associated with the application.
In step 220, an active top-level window of host device 120C is identified. One or more top-level windows may be associated with the host device 120C. A top-level window is generally a window that is not part of another window. In contrast, a child window is confined to another window. Where child windows are typically used to divide the parent window into discrete areas, top-level windows may be independent of any other windows. A pop-up window (e.g. dialogue box, message box) is a specific type of top-level window. Depending on the application(s) currently running on host device 120C, there may be any number of top-level windows that may be present.
An active top-level window is typically associated with an application that is currently being used or most recently used. As an example, in a Microsoft Windows® environment running multiple applications, multiple top-level windows may be present. There is usually only one top-level window, however, that is active at a time. The top-level window may be displayed in fullscreen or as being on top of a layered stack of the other top-level windows. The identification of whether, how many, and activity of the top-level window(s) currently associated with host device 120C may be based on the responsive data received in step 210.
In step 230, a text caret is identified in the active top-level window. A typical text caret may appear in any window (e.g., text box) that accepts text input. In some instances, a text caret may be associated with a cursor or other indicator that text may be input into the window. As such, the existence of a text caret may be identified based on the presence of the indicator or other data included in the responsive data received in step 210.
Alternatively, a text caret may be indicated based on a child window of the current foreground window being in focus. A host operating system (e.g., the one running the legacy application) may include a focus management mechanism. Within a foreground top-level window, an operating system such as Windows® can manage a currently active “focus” child window. The focus window is a specific child window (e.g., an individual control within the larger window), such as an edit box, that is currently designated for receiving keyboard input. When no child window is in focus, keyboard events may not be able to be delivered to any particular child window within the foreground top-level window. Some operating systems and user interface frameworks may therefore keep track of a single focus window within each foreground window. A combination of the foreground window (e.g., currently active top-level window) coupled with the focus window within that top-level window may be used to determine where to route keyboard input events.
In step 240, it is determined that the text caret is active. Some windows (e.g., text boxes) automatically activate an associated text caret upon opening. Alternatively, some windows may activate a text caret when requested, selected, or otherwise indicated. For example, a window may include a box or field that, when selected by the user, activates a text caret within. The window illustrated in
In step 250, a keyboard display may be generated based on the activated text caret. For some client devices 120A, the user may input text using a keyboard display on a touchscreen. As such, the keyboard may be part of the display. Because various uses of client device 120A may not require the ability to enter text, the keyboard display may be hidden until requested or otherwise activated.
In step 260, the display is adjusted based on the location of the activated text caret. Typically, a window may appear in any size and proportion to a display screen. For example, a window may expand to fit the entire display screen of a device. Alternatively, a window may only use a portion of the display screen; or the window may be bigger than the display screen, requiring a user to scroll (e.g., up-down, right-left) to see the entire window. The generation of a keyboard display in step 250 further constrains the screen space that may be used to display other items such as the active top-level window and active text caret.
Some devices allow a user to manually resize a window, change orientation of the screen, request automatic resizing to fit a fullscreen, or set defaults regarding size and fullscreen display. Because the display screens associated with client device 120A and client device 120C may be very different, the optimum size for viewing by a user may be different from one client device 120 to another. For example, a window that may use only a portion of the display screen for client device 120C may be sufficient for a user. On a client device 120A that has a much smaller display screen than client device 120C, the user may wish for the window to use as much of the display screen as possible.
Based on such factors, the display of the client device 120A may automatically adjusted to optimize the display of the active top-level window and text caret. Where a display screen of a requesting client device 120A is much smaller than that of the host client device 120C, for example, the automatic adjustment may include moving or re-centering a text box above a keyboard display. Adjustment may further include enlarging or zooming in on the top-level window and text such that it constitutes a larger proportion of the mobile device 120A display screen.
Various embodiments of the present invention allow for the method 200 to be performed by an intermediary device (e.g., server 130) which may be associated with the host device or reside elsewhere in the network (e.g., in the cloud). For example, server 130 may receive a request from a requesting client device 120A, forward to a host client device 120C, receive responsive data from host client device 120C, use the responsive data to identify the top-level window(s), identify which top-level window/text caret is active, identify any active text carets, and generate the instructions for automatic adjustment, which may then be sent to client device 120A.
Alternatively, the method 200 may be performed by software downloaded to a client device 120. For example, software located at either requesting client device 120A or host client device 120C may provide a request initiated at the requesting client device 120A to host client device 120C, receive data responsive to the request as provided by host client device 120C, use the responsive data to identify the top-level window(s)/text carets, identify which top-level window/text caret is active, and generate the instructions for automatic adjustment, which may then be sent or otherwise provided to client device 120A.
The present invention may be implemented in an application that may be operable using a variety of devices. Non-transitory computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution. Such media can take many forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of non-transitory computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM, and any other memory chip or cartridge.
Various forms of transmission media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU. Various forms of storage may likewise be implemented as well as the necessary network interfaces and network topologies to implement the same.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. The descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments. It should be understood that the above description is illustrative and not restrictive. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.
Number | Name | Date | Kind |
---|---|---|---|
5745115 | Purple et al. | Apr 1998 | A |
5831609 | London et al. | Nov 1998 | A |
6421070 | Ramos et al. | Jul 2002 | B1 |
6636242 | Bowman-Amuah | Oct 2003 | B2 |
6710786 | Jacobs et al. | Mar 2004 | B1 |
6758394 | Maskatiya et al. | Jul 2004 | B2 |
7039875 | Khalfay et al. | May 2006 | B2 |
7185069 | Costin et al. | Feb 2007 | B2 |
7210099 | Rohrabaugh et al. | Apr 2007 | B2 |
7325027 | Grown | Jan 2008 | B2 |
7418472 | Shoemaker et al. | Aug 2008 | B2 |
7472157 | Tolson et al. | Dec 2008 | B2 |
7631328 | Clancy et al. | Dec 2009 | B2 |
7667704 | Hogle | Feb 2010 | B2 |
7844889 | Rohrabaugh et al. | Nov 2010 | B2 |
7877703 | Fleming | Jan 2011 | B1 |
8073954 | Tu et al. | Dec 2011 | B1 |
8108830 | Bibr et al. | Jan 2012 | B2 |
8583627 | Kamvar et al. | Nov 2013 | B1 |
8763054 | Eilam | Jun 2014 | B1 |
8763055 | Eilam | Jun 2014 | B1 |
8775545 | Eilam | Jul 2014 | B1 |
8776152 | Eilam | Jul 2014 | B1 |
8856262 | Eilam | Oct 2014 | B1 |
8990363 | Currey | Mar 2015 | B1 |
9106612 | Currey | Aug 2015 | B1 |
9124562 | Currey | Sep 2015 | B1 |
20020103906 | Knight et al. | Aug 2002 | A1 |
20020196378 | Slobodin et al. | Dec 2002 | A1 |
20030053091 | Tanaka et al. | Mar 2003 | A1 |
20030058286 | Dando | Mar 2003 | A1 |
20030069923 | Peart | Apr 2003 | A1 |
20030182628 | Lira | Sep 2003 | A1 |
20030208529 | Pendyala et al. | Nov 2003 | A1 |
20040017155 | Enokida et al. | Jan 2004 | A1 |
20040024899 | Sturrock et al. | Feb 2004 | A1 |
20040205715 | Taylor | Oct 2004 | A1 |
20040267813 | Rivers-Moore et al. | Dec 2004 | A1 |
20050080915 | Shoemaker et al. | Apr 2005 | A1 |
20050198100 | Goring et al. | Sep 2005 | A1 |
20050235214 | Shimizu et al. | Oct 2005 | A1 |
20050240873 | Czerwinski et al. | Oct 2005 | A1 |
20060002315 | Theurer et al. | Jan 2006 | A1 |
20060020904 | Aaltonen et al. | Jan 2006 | A1 |
20060055701 | Taylor et al. | Mar 2006 | A1 |
20060082581 | Schmieder et al. | Apr 2006 | A1 |
20060082582 | Schmieder et al. | Apr 2006 | A1 |
20060082583 | Leichtling et al. | Apr 2006 | A1 |
20060085550 | Schmieder et al. | Apr 2006 | A1 |
20060087512 | Schmieder et al. | Apr 2006 | A1 |
20060149810 | Koo et al. | Jul 2006 | A1 |
20060184982 | Paz et al. | Aug 2006 | A1 |
20060195523 | Juang et al. | Aug 2006 | A1 |
20060225037 | Glein et al. | Oct 2006 | A1 |
20060227141 | Hogle | Oct 2006 | A1 |
20060274302 | Shylanski et al. | Dec 2006 | A1 |
20070005693 | Sampath et al. | Jan 2007 | A1 |
20070016651 | Blagsvedt et al. | Jan 2007 | A1 |
20070124536 | Carper | May 2007 | A1 |
20070153319 | Moon et al. | Jul 2007 | A1 |
20070162854 | Kikinis | Jul 2007 | A1 |
20070220419 | Stibel et al. | Sep 2007 | A1 |
20070229524 | Hendrey et al. | Oct 2007 | A1 |
20080009344 | Graham et al. | Jan 2008 | A1 |
20080016155 | Khalatian | Jan 2008 | A1 |
20080034320 | Ben-Shachar et al. | Feb 2008 | A1 |
20080082604 | Mansour et al. | Apr 2008 | A1 |
20080098291 | Bradley et al. | Apr 2008 | A1 |
20080307047 | Jowett et al. | Dec 2008 | A1 |
20080320396 | Mizrachi et al. | Dec 2008 | A1 |
20090044103 | Chalecki et al. | Feb 2009 | A1 |
20090100483 | McDowell | Apr 2009 | A1 |
20090125838 | Bhogal et al. | May 2009 | A1 |
20090157657 | Kim et al. | Jun 2009 | A1 |
20090228779 | Williamson et al. | Sep 2009 | A1 |
20090271501 | Shenfield et al. | Oct 2009 | A1 |
20090292999 | LaBine et al. | Nov 2009 | A1 |
20090320073 | Reisman | Dec 2009 | A1 |
20100005396 | Nason et al. | Jan 2010 | A1 |
20100111410 | Lu et al. | May 2010 | A1 |
20100118039 | Labour | May 2010 | A1 |
20100138809 | Shenfield et al. | Jun 2010 | A1 |
20100162126 | Donaldson et al. | Jun 2010 | A1 |
20100174974 | Brisebois et al. | Jul 2010 | A1 |
20100279678 | Li et al. | Nov 2010 | A1 |
20100281402 | Staikos et al. | Nov 2010 | A1 |
20110032328 | Raveendran et al. | Feb 2011 | A1 |
20110040826 | Chadzelek et al. | Feb 2011 | A1 |
20110041092 | Zhang | Feb 2011 | A1 |
20110078532 | Vonog et al. | Mar 2011 | A1 |
20110078621 | Kanda | Mar 2011 | A1 |
20110085016 | Kristiansen et al. | Apr 2011 | A1 |
20110099494 | Yan et al. | Apr 2011 | A1 |
20110113089 | Priyadarshan et al. | May 2011 | A1 |
20110213855 | King | Sep 2011 | A1 |
20110219331 | DeLuca et al. | Sep 2011 | A1 |
20110231782 | Rohrabaugh et al. | Sep 2011 | A1 |
20110239142 | Steeves et al. | Sep 2011 | A1 |
20110252299 | Lloyd et al. | Oct 2011 | A1 |
20110283304 | Roberts et al. | Nov 2011 | A1 |
20110299785 | Albu et al. | Dec 2011 | A1 |
20120005691 | Wong et al. | Jan 2012 | A1 |
20120042275 | Neerudu et al. | Feb 2012 | A1 |
20120062576 | Rosenthal et al. | Mar 2012 | A1 |
20120075346 | Malladi et al. | Mar 2012 | A1 |
20120079043 | Brown et al. | Mar 2012 | A1 |
20120084456 | Vonog et al. | Apr 2012 | A1 |
20120093231 | Nozawa | Apr 2012 | A1 |
20120102549 | Mazzaferri et al. | Apr 2012 | A1 |
20120114233 | Gunatilake | May 2012 | A1 |
20120117145 | Clift et al. | May 2012 | A1 |
20120124497 | Kasoju et al. | May 2012 | A1 |
20120166967 | Deimbacher et al. | Jun 2012 | A1 |
20120169610 | Berkes et al. | Jul 2012 | A1 |
20120192078 | Bai et al. | Jul 2012 | A1 |
20120214552 | Sirpal et al. | Aug 2012 | A1 |
20120223884 | Bi et al. | Sep 2012 | A1 |
20120254453 | Lejeune et al. | Oct 2012 | A1 |
20120266068 | Ryman et al. | Oct 2012 | A1 |
20120266079 | Lee et al. | Oct 2012 | A1 |
20120299968 | Wong et al. | Nov 2012 | A1 |
20120317295 | Baird et al. | Dec 2012 | A1 |
20130019263 | Ferren et al. | Jan 2013 | A1 |
20130055102 | Matthews et al. | Feb 2013 | A1 |
20130124609 | Martinez et al. | May 2013 | A1 |
20130194374 | Kieft et al. | Aug 2013 | A1 |
20130215129 | Keslin | Aug 2013 | A1 |
20130229548 | Masuko | Sep 2013 | A1 |
20140082511 | Weissberg et al. | Mar 2014 | A1 |
20140223314 | Pinto et al. | Aug 2014 | A1 |
Number | Date | Country |
---|---|---|
WO 0030729 | Jun 2000 | WO |
WO 2004059938 | Jul 2004 | WO |
Entry |
---|
Andujar, C.; Fairen, M.; Argelaguet, F., “A Cost-effective Approach for Developing Application-control GUIs for Virtual Environments,” 3D User Interfaces, 2006. 3DUI 2006. IEEE Symposium on, vol., no., pp. 45,52, Mar. 25-29, 2006, doi:10.1109/VR.2006.6. |
Borchers, J.; Ringel, M.; Tyler, J.; Fox, A., “Stanford interactive workspaces: a framework for physical and graphical user interface prototyping,” Wireless Communications, IEEE, vol. 9, No. 6, pp. 64,69, Dec. 2002. doi: 10-1109/MWC.2002.1160083. |
Boyaci, O.; Schulzrinne, Henning, “BASS Application Sharing System,” Multimedia, 2008. ISM 2008. Tenth IEEE International Symposium on, vol., no., pp. 432,439, Dec. 15-17, 2008. doi:10.1109/ISM.2008.97. |
Davidyuk, O., Georgantas, N., Issarny, V. & Riekki, J. (2009). MEDUSA: Middleware for End-User Composition of Ubiquitous Applications, In: Mastrogiovanni, F. & Chong, N.Y.(Eds.), Handbook of Research on Ambient Intelligence and Smart Environments: Trends and Perspectives. IGI Global, to appear. Retrieved from: http://www.mediateam.oulu.fi/public. |
Fabio Paterno, Carmen Santoro, and Antonio Scorcia. 2008. Automatically adapting websites for mobile access through logical descriptions and dynamic analysis of interaction resources. In Proceedings of the working conference on Advanced visual interfaces (AVI '08). ACM, New York, NY, USA, 260-267. DOI=10.1145/1385569.1385611 http://doi.acm.org/10. |
Giullo Mori, Fabio Paterno, and Carmen Santoro. 2003. Tool support for designing nomadic applications. In Proceedings of the 8th international conference on Intelligent user interfaces. (IUI '03). ACM, New York, NY, USA, 141-148. DOI=10.1145/604045.604069 http://doi.acm.org/10.1145/604045.604069. |
Giullo Mori, Fabio Paterno, and Carmen Santoro, “Design and development of multidevice user interfaces through multiple logical descriptions,” IEEE Transactions on Software Engineering, vol. 30, No. 8, pp. 507-520, Aug. 2004. doi:10-1109/TSE.2004.40. |
Huifeng Shen; Yan Lu; Feng Wu; Shipeng Li, “A high-performance remote computing platform,” Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on, vol., no., pp. 1,6, Mar. 9-13, 2009. doi:10.1109/PERCOM.2009.4912855. |
Murielle Florins and Jean Vanderdonckt. 2004. Graceful degradation of user interfaces as a design method for multiplatform systems. In Proceedings of the 9th international conference on Intelligent user interfaces (IUI '04). ACM, New York, NY, USA, 140-147. DOI=10.1145/964442.964469 http://doi.acm.org/10.1145/964442.964469. |
Nathalie Aquino, Jean Vanderonckt, and Oscar Pastor. 2010. Transformation templates: adding flexibility to model-driven engineering of user interfaces. In Proceedings of the 2010 ACM Symposium on Applied Computing (SAC '10). ACM, New York, NY, USA, 1195-1202. DOI=10.1145/1774088.1774340 http://doi.acm.org/10-1145/1774088.1774340. |
Oleg Davidyuk, Ivan Sanchez, Jon Imanol Duran, and Jukka Riekki. 2008. Autonomic composition of ubiquitous multimedia applications in REACHES. In Proceedings of the 7th International Conference on Mobile and Ubiquitous Multimedia (MUM '08). ACM, New York, NY, USA. 105-108. DOI=10.1145/1543137.1543159 http://doi.acm.org/10.1145/1543137.1543159. |
Xu Hu; Congfeng Jiang; Wei Zhang; Jilin Zhang; Ritai Yu; Changping Lv, “An Even Based GUI Programming Toolkit for Embedded System,” Services Computing Conference (APSCC), 2010 IEEE Asia-Pacific, vol., no., pp. 625,631, Dec. 6-10, 2010. doi: 10-1109/APSCC.2010.115. |
U.S. Appl. No. 13/341,207 Office Action mailed Nov. 18, 2013. |
U.S. Appl. No. 13/341,754, Office Action dated Jan. 8, 2014. |
U.S. Appl. No. 13/341,227 Office Action mailed Oct. 23, 2013. |
U.S. Appl. No. 13/341,756 Office Action mailed Aug. 13, 2013. |
U.S. Appl. No. 13/341,238 Final Office Action dated Sep. 17, 2013. |
U.S. Appl. No. 13/341,760 Office Action dated Nov. 20, 2013. |
U.S. Appl. No. 13/490,329 Office Action mailed Jan. 15, 2014. |
U.S. Appl. No. 13/490,330 Office Action mailed Dec. 17, 2013. |
U.S. Appl. No. 13/475,916 Office Action dated Nov. 13, 2013. |
U.S. Appl. No. 13/475,917 Office Action dated Nov. 18, 2013. |
U.S. Appl. No. 13/668,091 Final Office Action dated Nov. 6, 2013. |
U.S. Appl. No. 13/670,163 Office Action dated Nov. 6, 2013. |
U.S. Appl. No. 13/668,095 Office Action dated Nov. 5, 2013. |
U.S. Appl. No. 13/831,782 Office Action dated Nov. 6, 2013. |
U.S. Appl. No. 13/831,783 Final Office Action dated Dec. 17, 2013. |
U.S. Appl. No. 13/831,783 Office Action dated Sep. 3, 2013. |
U.S. Appl. No. 13/831,783 Office Action dated Sep. 4, 2013. |
US 8,689,268, 4/2014, Eilam (withdrawn). |
U.S. Appl. No. 13/341,222, Office Action mailed Jan. 27, 2014. |
U.S. Appl. No. 13/341,756 Final Office Action mailed Feb. 4, 2014. |
U.S. Appl. No. 13/341,232 Office Action mailed Mar. 10, 2014. |
U.S. Appl. No. 13/341,425 Office Action mailed Mar. 5, 2014. |
U.S. Appl. No. 13/341,765 Office Action mailed Feb. 7, 2014. |
U.S. Appl. No. 13/490,327 Office Action mailed Jan. 28, 2014. |
U.S. Appl. No. 13/475,916 Final Office Action mailed Mar. 12, 2014. |
U.S. Appl. No. 13/475,917 Final Office Action mailed Mar. 12, 2014. |
U.S. Appl. No. 13/831,782 Final Office Action mailed Feb. 24, 2014. |
U.S. Appl. No. 13/341,754, Office Action dated Jul. 31, 2013. |
U.S. Appl. No. 13/341,238 Office Action dated Apr. 22, 2013. |
U.S. Appl. No. 13/341,760 Office Action dated May 15, 2013. |
U.S. Appl. No. 13/668,091 Office Action dated Apr. 23, 2013. |
U.S. Appl. No. 13/670,163 Office Action dated May 7, 2013. |
U.S. Appl. No. 13/668,095 Office Action dated Apr. 23, 2013. |
U.S. Appl. No. 13/341,432 Office Action mailed Mar. 24, 2014. |
U.S. Appl. No. 13/341,215 Office Action mailed Mar. 21, 2014. |
U.S. Appl. No. 13/341,754, Office Action mailed Apr. 16, 2014. |
U.S. Appl. No. 13/341,227 Final Office Action mailed Apr. 18, 2014. |
U.S. Appl. No. 13/475,918 Office Action mailed Mar. 12, 2014. |
Ali, Mir Farooq, et al., “Building multi-platform user interfaces with UIML.” Computer-Aided Design of User Interfaces III. Springer Netherlands, 2002. 255-266. |
Cuergo, “Ergonomic Guidelines for arranging a Computer Workstation—steps for users”, Jun. 6, 2004. p. 1-5. |
Holzinger, Andreas, Peter Treitler, and Wolfgang Slany. “Making apps useable on multiple different mobile platforms: On interoperability for business application development on smartphones.” Multidisciplinary Research and Practice for Information Systems. Springer Berlin Heidelberg, 2012. 176-189. |
Karch, Marziah, “Android in a Microsoft World.” Android for Work. Apress, 2010. 93-102. |
U.S. Appl. No. 13/341,207 Final Office Action mailed May 14, 2014. |
U.S. Appl. No. 13/341,222, Final Office Action mailed May 15, 2014. |
U.S. Appl. No. 13/341,756 Office Action mailed Jun. 11, 2014. |
U.S. Appl. No. 13/341,232 Final Office Action mailed Jun. 18, 2014. |
U.S. Appl. No. 13/341,765 Final Office Action mailed Jun. 24, 2014. |
U.S. Appl. No. 13/490,330 Final Office Action mailed Jul. 17, 2014. |
U.S. Appl. No. 13/475,911 Office Action mailed Jun. 24, 2014. |
U.S. Appl. No. 13/475,912 Office Action mailed Jun. 24, 2014. |
U.S. Appl. No. 13/475,913 Office Action mailed Jun. 24, 2014. |
U.S. Appl. No. 13/831,782 Office Action mailed Jul. 17, 2014. |
U.S. Appl. No. 13/341,425 Final Office Action mailed Aug. 29, 2014. |
U.S. Appl. No. 13/490,327 Final Office Action mailed Aug. 21, 2014. |
U.S. Appl. No. 13/490,329 Final Office Action mailed Aug. 11, 2014. |
U.S. Appl. No. 13/475,918 Final Office Action mailed Sep. 30, 2014. |
U.S. Appl. No. 13/831,783 Office Action mailed Sep. 19, 2014. |
U.S. Appl. No. 13/831,786 Office Action mailed Sep. 16, 2014. |
U.S. Appl. No. 13/831,786 Final Office Action mailed Dec. 17, 2013. |
U.S. Appl. No. 13/831,786 Office Action mailed Sep. 4, 2013. |
U.S. Appl. No. 13/341,215 Office Action mailed Apr. 17, 2015. |
U.S. Appl. No. 14/337,659 Office Action mailed Mar. 31, 2015. |
U.S. Appl. No. 13/341,425 Office Action mailed Apr. 10, 2015. |
U.S. Appl. No. 13/490,327 Office Action mailed Apr. 13, 2015. |
U.S. Appl. No. 13/490,329 Office Action mailed Apr. 3, 2015. |
U.S. Appl. No. 13/831,786 Final Office Action mailed Apr. 9, 2015. |
U.S. Appl. No. 13/341,432 Final Office Action mailed Nov. 19, 2014. |
U.S. Appl. No. 13/341,215 Final Office Action mailed Dec. 12, 2014. |
U.S. Appl. No. 13/341,227 Office Action mailed Dec. 29, 2014. |
U.S. Appl. No. 13/341,756 Final Office Action mailed Oct. 22, 2014. |
U.S. Appl. No. 13/341,207 Office Action mailed Jan. 27, 2015. |
U.S. Appl. No. 13/341,222, Office Action mailed Jan. 29, 2015. |
U.S. Appl. No. 13/341,754, Final Office Action mailed Jan. 9, 2015. |
U.S. Appl. No. 13/341,232 Office Action mailed Feb. 6, 2015. |
U.S. Appl. No. 13/341,765 Office Action mailed Mar. 16, 2015. |
U.S. Appl. No. 13/490,330 Office Action mailed Mar. 11, 2015. |
U.S. Appl. No. 13/475,911 Final Office Action mailed Mar. 10, 2015. |
U.S. Appl. No. 13/475,912 Final Office Action mailed Mar. 10, 2015. |
U.S. Appl. No. 13/475,913 Final Office Action mailed Jun. 24, 2014. |
U.S. Appl. No. 13/831,782 Final Office Action mailed Feb. 13, 2015. |
U.S. Appl. No. 13/341,432 Office Action mailed Mar. 27, 2015. |
U.S. Appl. No. 13/341,754, Final Office Action mailed Jan. 13, 2015. |
U.S. Appl. No. 13/341,756 Office Action mailed Mar. 27, 2015. |
U.S. Appl. No. 13/475,913 Final Office Action mailed Mar. 10, 2015. |
U.S. Appl. No. 14/312,925 Office Action mailed Mar. 25, 2015. |
U.S. Appl. No. 13/341,222, Office Action mailed Jun. 26, 2015. |
U.S. Appl. No. 13/341,207 Final Office Action mailed Jul. 28, 2015. |
U.S. Appl. No. 13/341,754, Office Action mailed Aug. 9, 2015. |
U.S. Appl. No. 13/341,227 Final Office Action mailed Aug. 13, 2015. |
U.S. Appl. No. 13/475,911 Office Action mailed Oct. 22, 2015. |
U.S. Appl. No. 14/312,925 Final Office Action mailed Oct. 29, 2015. |