Uploading screenshots to an application store for multifunction peripherals

A system and method for transmitting screenshots from a multifunction peripheral to detail pages for downloadable applications on an application store includes a selectively enabled key on the multifunction peripheral that allows a user to capture a screenshot of an application that is executing on the multifunction peripheral, and a controller of the multifunction peripheral that is configured to generate the screenshot and metadata identifying the executing application associated with the screenshot. The controller sends the screenshot and the metadata to the application store which uses the metadata to determine which detail page is associated with the executing application. The application store then adds the screenshot to the identified detail page.

TECHNICAL FIELD

This application relates generally to customization of multifunction peripherals. The application relates more particularly to taking a screenshot of the user interface of a multifunction peripheral and adding the screenshot to the detail page associated with a downloadable application of an application store.

BACKGROUND

Document processing devices include printers, copiers, scanners and e-mail gateways. More recently, devices employing two or more of these functions are found in office environments. These devices are referred to as multifunction peripherals (MFPs) or multifunction devices (MFDs). As used herein, MFP means any of the forgoing.

MFPs are typically provided with a fixed set of functions, such as printing, copying, scanning and e-mailing, that are available to device end users. MFPs can include options such as hole punching or stapling, printing in black and white or in color, and scanning to an image file or a text-inclusive file via optical character recognition. These, and other options, are typically selectable by device users via a user interface, such as a touchscreen display integrated into an MFP.

MFPs are configurable computing devices that can execute applications to extend the default printing, copying, scanning, and emailing capabilities. MFPs have limited memory for storing applications, and therefore administrators generally install applications on MFPs only when needed by end users. Different users may desire to have different applications, or use customized user interface options, that are available for download onto MFPs using an associated application store. Users can be hesitant to download new applications or customized user interfaces from the application store if they do not fully know what they would be downloading.

Adding example pictures of applications and customized user interfaces can assist users in finding suitable applications to download, but capturing suitable screenshots to use as pictures can be labor intensive and time consuming for programmers and system administrators. Further, every time that applications and customized user interfaces are updated the example pictures may need to be updated and refreshed as well, requiring additional work by programmers and system administrators. For example, to obtain a screenshot from an MFP to use as an example picture, a programmer or system administrator manually inserts a USB thumbdrive into an administrative USB port of the MFP. The USB thumbdrive executes a script to capture one or more screenshots from desired screens. The programmer or system administrator then takes the USB thumbdrive back to a personal computer and use a suitable program to manually upload the screenshots from the USB to the appropriate application in the MFP app store. This process is time consuming and can result in errors if the appropriate detail page for the application is not correctly identified by the programmer or administrator.

SUMMARY

In accordance with an example embodiment of the subject application, a system and method for uploading screenshots captured on a multifunction peripheral and transmitted to an application store includes a controller having a processor and memory configured to execute a selected application from memory and selectively capture a screenshot of the display of the multifunction peripheral while the application is executing. The controller captures the screenshot in response to an input received from a selectively enabled user input, such as a specific key associated with the display unit of the multifunction peripheral. The user input is selectively enabled only for users having administrative privileges, which is determined when the user logs into the multifunction peripheral and application store. Once the controller captures the screenshot, the controller transmits the screenshot and metadata identifying the application associated with the screenshot to the application store. The application store uses the metadata to determine the specific detail page associated with the application and adds the screenshot to the detail page.

DETAILED DESCRIPTION

The systems and methods disclosed herein are described in detail by way of examples and with reference to the figures. It will be appreciated that modifications to disclosed and described examples, arrangements, configurations, components, elements, apparatuses, devices methods, systems, etc. can suitably be made and may be desired for a specific application. In this disclosure, any identification of specific techniques, arrangements, etc. are either related to a specific example presented or are merely a general description of such a technique, arrangement, etc. Identifications of specific details or examples are not intended to be, and should not be, construed as mandatory or limiting unless specifically designated as such.

MFPs are increasingly powerful and capable of performing advanced functions in addition to printing, faxing, emailing, and scanning. Applications can be loaded onto MFPs to enable additional functionality on MFPs. To take advantage of this additional functionality, applications can be selectively loaded onto the MFP and executed by users. However, users generally want to visually see example screenshots of the applications before expending the effort to download the applications onto their MFP. Example screenshots of applications and customized user interfaces can be added to a detail page associated with each application, however generating and adding screenshots can be labor intensive. To facilitate generating screenshots for the detail pages, a selectively enabled key associated with the user interface of the MFP allows administrators to execute an application, press the selectively enabled key to take a screenshot while the application is executing, and automatically upload the screenshot to the associated detail page for the executing application.

Referring toFIG. 1, an embodiment of an electronic business network100for downloading applications and customized user interfaces onto MFPs is presented. One or more MFPs110,112,114are in data communication with servers associated with the electronic business network100via network102. Network102is suitably comprised of a local area network (LAN) as shown, a wide area network (WAN), which may include the global Internet, or any suitable combination thereof.

By installing and executing a suitable application on MFP110, MFP110can communicate with an application server to download applications and customized user interfaces, such as eApp Store150. A web portal152on the eApp Store150can serve eApp web pages128that are displayed on the front panel display126of the MFP110. A user can interact with the eApp Store150through the front panel display126to select, download, and install applications and customized user interfaces on the MFP110. In a configuration, an administrator can discover and configure other MFPs112,114through the front panel display126of the MFP110. An application distribution server, such as TAP140from Toshiba Australia, can similarly access the eApp Store, for example through the web portal152, to select and install eApps and customized user interfaces on MFPs110.

A Store eApp Agent122, provides an interface between the eApp Store150and the MFP110. The Store eApp Agent122initiates a connection to the eApp Store150when launched. The first time that the Store eApp Agent122connects to the eApp Store150, the Store eApp Agent122registers with the eApp Store150. The Store eApp Agent122can use a registration token or another suitable authentication method for subsequent connections with the eApp Store150. Once registered, the Store eApp Agent122will send information about the MFP110to the eApp Store150, such as the serial number of the MFP110, the model of the MFP110, and a list of installed applications and user interfaces on the MFP110. The Store eApp Agent122controls what is displayed on the front panel display126to users. Once the Store eApp Agent122has registered or reconnected to the eApp Store150, the Store eApp Agent122can display a properly formatted storefront for the eApp Store150and display content available for download by the user to the MFP110. The Store eApp Agent122can install applications, or eApps, selected by the user from the eApp Store150onto the MFP110. If a license key is required, the Store eApp Agent122can prompt as needed and the eApp Store150can confirm the license key against a license server (not shown) as would be understood in the art. The Store eApp Agent122can provide a progress bar or status indicator to the user, for example on the front panel display126, that can allow a user to cancel a download if desired. Once downloaded and installed, the eApp can be displayed on the front panel display126, selected by the user, and executed. The Store eApp Agent122can manage updates to eApps and customized user interfaces. The Store eApp Agent122can present a list of available updates to the user via the front panel display126that the user can select for installation on the MFP110. In a configuration, the Store eApp Agent122can restore deleted customizations or provide back-up functions. The Store eApp Agent122can track or log actions, as well as manage the discovery and configuration of other MFPs112,114. For example, the Store eApp Agent122can discover other MFPs112,114on the local network102, display the results to a user, receive user selections, and push updates to one or more of the MFPs112,114, for example to clone the functions of the MFP110to other MFPs112,114.

The MFP110can communicate with a device management server of the electronic business network110, such as eBRIDGE CloudConnect (ECC130) of Toshiba TEC. An ECC agent120executing on the MFP110provides a communications interface to the ECC130. The Store eApp Agent122first subscribes to the ECC agent120. The ECC agent120can notify the Store eApp Agent122of updates when available. The Store eApp Agent122can receive update instructions from the ECC agent120. The Store eApp Agent122can process the updates, and provide status back to the ECC agent120. The ECC agent120reports status back to the ECC130. In an example operation, an administrator instructs the ECC130to perform an action132, for example to apply a particular user interface to the MFP110. The ECC agent120receives the selected user interface from the ECC130and Store eApp Agent122applies the designated user interface to the MFP110. In a configuration, the ECC agent120can poll the ECC130, for example to obtain updates to applications and customized user interfaces. The ECC130can track pending downloads, completed downloads, updates to eApps, and failed downloads. The ECC130can keep a log of eApps and customized user interfaces that have been installed to MFPs110, including a timestamp of each installation, and can keep track of which versions of eApps have been installed on MFPs110.

The ECC130can also communicate with the eApp Store150, for example to download a particular application, or a customized user interface, that is then pushed out to one or more MFPs110. The eApp Store150provides an online repository of applications, or eApps, and customized user interfaces and that can be downloaded to MFPs110. The eApp Store150can manage updates of eApps and user interfaces, provide control of access to eApps and user interfaces, track status of downloads and generate logs.

Turning now toFIG. 2, illustrated is an example embodiment of a document rendering system200suitably comprised within an MFP110, such as with MFPs112, and114ofFIG. 1. Included is controller201comprised of one or more processors, such as that illustrated by processor202. Each processor is suitably associated with non-volatile memory such as ROM204, and random access memory (RAM)206, via a data bus212.

Processor202is also in data communication with a storage interface208for reading or writing to a storage216, suitably comprised of a hard disk, optical disk, solid-state disk, cloud-based storage, or any other suitable data storage as will be appreciated by one of ordinary skill in the art.

Processor202is also in data communication with a network interface210which provides an interface to a network interface controller (NIC)214, which in turn provides a data path to any suitable wired or physical network connection220, or to a wireless data connection via wireless network interface218. Example wireless connections include cellular, Wi-Fi, Bluetooth, NFC, wireless universal serial bus (wireless USB), satellite, and the like. Example wired interfaces include Ethernet, USB, IEEE 1394 (FireWire), Apple Lightning, telephone line, or the like.

Processor202can also be in data communication with any suitable user input/output (I/O) interface219which provides data communication with user peripherals, such as a front panel display or displays, keyboards, mice, track balls, touch screens, or the like.

Also in data communication with data bus212is a document processor interface222suitable for data communication with MFP functional units250. In the illustrated example, these units include copy hardware240, scan hardware242, print hardware244and fax hardware246which together comprise MFP functional hardware250. A hardware monitor suitably provides device event data, working in concert with suitable monitoring systems. By way of further example, monitoring systems may include page counters, sensor output, such as consumable level sensors, temperature sensors, power quality sensors, device error sensors, door open sensors, and the like. Data is suitably stored in one or more device logs, such as in storage216. It will be understood that functional units are suitably comprised of intelligent units, including any suitable hardware or software platform.

FIG. 3is an example screenshot300of a front panel display of an MFP such as MFP110,112or114ofFIG. 1. The front panel display includes selectable controls302for copying, scanning, faxing, printing, and so forth. The selectable controls302also include an App Shop control304for downloading applications and customized user interfaces from a suitable repository. A user can select the App Shop control304to view downloadable items from an associated App Shop, such as the eApp Store150ofFIG. 1. A downloaded customized user interface control306, shown as eConnect Vertical, can be selected by the user to display the eConnect Vertical customized user interface on the front panel display of an MFP. Similarly, selecting a different control302will cause the application or function associated with the control302to execute on the MFP.

FIG. 4is an example screenshot400of the front panel display of a MFP. The front panel display of the MFP displays a screen associated with the user selected control302. For example, the front panel display of the MFP displays a customized user interface, in this case eConnect Vertical, after a user has selected the customized user interface control306ofFIG. 3. The customized user interface can include tabs for categorizing and organizing controls in a customized menu system, and can include a splash page or logo as illustrated as well as other suitable graphics and text.

FIG. 5is a diagram of an MFP500that includes a front panel display502. In this example, the front panel display502of the MFP500displays the customized user interface associated with eConnect Vertical. A user can select a customizable screen capture key504to instruct the controller of the MFP500to perform a screen capture of what is displayed on the front panel display502of the MFP500. In a configuration, the customizable screen capture key504can be selectively enabled or disabled based on the user's credentials. For example, if the user is a system administrator or has supervisory rights, then customizable screen capture key504can be enabled. If the user is a typical user without supervisory or administrative rights, then the customizable screen capture key504can be disabled.

In an alternative embodiment, the customizable screen capture key504can be a software selectable control displayed on the front panel display502. In this embodiment, the selectable control that functions as the customizable screen capture key504is only displayed if the user is an administrator or has supervisory rights. In this embodiment, the selectable control that functions as the customizable screen capture key504is not captured as part of the screen capture by the controller of the MFP500.

Once the user has selected the screen capture button504, the controller of the MFP500uploads the screenshot and associated metadata to the MFP application store, as illustrated in additional detail inFIG. 8and the accompanying description. The controller will determine if the application or customized user interface is already associated with the MFP application store. If no matching detail page is found, for example if this is the initial release, the user will be prompted to enter the new application name that is used to generate a new details page on the MFP application store.

In a configuration, once the user has selected the screen capture button504to upload the screenshot and metadata to the MFP application store, the controller of the MFP500connects the user to the MFP application store which displays the detail page for the downloadable application or customizable user interface associated with the screenshot, for example as illustrated inFIG. 6.

FIG. 6is an example screenshot600from the MFP application store that displays the detail page associated with screenshot602taken by the MFP ofFIG. 5, illustrated here as the eConnect Vertical customized user interface. The MFP application store can use the metadata transferred by the MFP to determine the detail page of the application or customized user interface associated with the screenshot602.

FIG. 7is a flowchart700of example operations for capturing a screenshot on an MFP and uploading the captured screenshot to the associated downloadable application or customized user interface in the MFP application store. Processing starts at process block702and proceeds to process block704.

At process block704, the MFP detects that the customizable screen capture key has been selected by the user, for example a system administrator or programmer. Processing continues to decision block706.

At decision block706, the MFP checks with the MFP application store to determine if the embedded application, for example a downloadable application or customized user interface on the MFP, exists in the MFP application store. If the embedded application does not yet exist in the MFP application store, for example if there is not an associated detail page or downloadable application or customized user interface, then processing continues to process block708, otherwise if the embedded application exists in the MFP application store then processing continues to process block712.

At process block708, the user is warned that the embedded application is not available on the MFP application store. Processing continues to process block710.

At process block710, the user is prompted to enter a new name for the embedded application that is executing on the MFP when the user pressed the customizable screen capture key. A detail page for the new embedded application is generated on the MFP application store. Processing continues to process block712.

At process block712, a screenshot of the embedded application executing on the MFP is taken. Processing continues to process block714.

At process block714, the screenshot and associated metadata is transferred from the MFP to the MFP application store and associated with the detail page associated with the embedded application. Processing then terminates at process block716.

FIG. 8is a flow diagram800of transactions between the MFP and the MFP application store for uploading captured screenshots. A user, such as a systems administrator or programmer, accesses a user interface displayed on the MFP802. For example, the controller of the MFP802can execute the TOSHIBA Embedded Web Browser, or EWB804as the user interface. A suitable web interface can comprise the TOPACCESS Controller available from Toshiba TEC Corporation. The user logs in using their user credentials, and the EWB804sends the appropriate authorization request to the MFP application store806. The MFP application store806returns an identity token to the EWB804based on the user credentials. The user navigates to the desired screen, for example by selecting an embedded application to execute such as a customized user interface. If the user has supervisory or administrative privileges, then the user can press the appropriate key or soft control on the MFP802front panel to trigger the EWB804to take a screenshot810. The screenshot810and associated metadata is transferred from the EWB804to the MFP application store806. The MFP application store806then stores the screenshot810in a folder associated with the detail page associated with the embedded application. The transactions can be sent across any suitable network including a LAN or a WAN such as the Internet.

FIG. 9is an example screenshot900of a webpage, or console, for configuring applications and customized user interfaces that are available for download via the App Shop ofFIG. 4. This can be performed by a system administrator or programmer who configures the downloadable embedded apps available from the App Shop. For example, a system administrator who recently used an MFP to capture a screenshot912of a particular embedded app, as describe in detail above, may desire to modify the detail page associated with the app captured on the screenshot912. Through the webpage or console, the system administrator can provide or modify the title902of the app, the file name904and file location of the app, a suitable category906for the app, and an icon908to be represent the app in the App Shop. Other suitable descriptive information910such as a description of the app can be added if desired. The administrator can select one more screenshots912of the downloadable app to be displayed on the detail page on the MFP application store. The screenshots912can show the app as it would be displayed on the MFP front panel display during execution of the app, for example as is illustrated on the front panel display502of the MFP500ofFIG. 5.