If you are an app developer and you are interested in how you can take advantage of the Intel Smart Connect Technology (ISCT) in your Desktop and Windows Store apps, this blog will provide the following information:
- What is Intel Smart Connect Technology
- How does an application take advantage of Smart Connect Technology
- What are the System States that are applicable to this technology
- What Windows Store apps are best suited for Smart Connect Technology
- Guidelines for Application Developers
- Detecting when the system is in the Unattended Active State (S0 ISCT)
What is Intel Smart Connect Technology
Intel Smart Connect Technology brings "Always on Always Connected" (AOAC) capabilities to Intel Architecture based Ultrabook platforms. Apps that are network-based such as email and social networking applications can maintain up-to-date information even when the platform is in standby. This is made possible using a combination of hardware and software that enables the platform to periodically wake up from standby, sync data from a remote or cloud-based server, and return to standby.
Intel Smart Connect Technology is made up of the following main components:
- The Intel Smart Connect Technology Service
- An Intel Smart Connect Technology Applet/ OEM GUI
- Intel Smart Connect Technology Driver
How does an application take advantage of Intel Smart Connect Technology
Currently the ISCT service (1.0) does not expose any API's for applications to use. Applications can take advantage of ISCT by enabling it in the BIOs and monitoring the system for the two power states. The application would interact with the ISCT service in order to perform the updates at the appropriate times.
What are the applicable System States
- Unattended Active State (ISCT S0). Similar to S0 (normal operational) except that the display is off or the system can have its lid closed. The user will not be interacting with the platform during this state. The platform will periodically enter this state and remain there for a specific duration determined by the ISCT service. There is full network connectivity (if available) in this state. The ISCT agent may decide to exit into the standard standby state (S3) in order to protect the platform from overheating or running low on battery. Should this occur, the platform will not wake up from this state until the user presses the power button.
- Connected Standby State (Conn S3). This is a low power state that is almost identical to the standard standby state (S3) with the exception of the state of the networking and communication subsystem. The network adapters (Wi-Fi or wireless broadband) remain powered, but in a low power state. This enables the platform to be connected to a network quickly on resuming from standby. In this state the platform periodically wakes up from this state and moves into the unattended active state (ISCT S0). The frequency is controlled by the ISCT agent and the BIOS. The rates can be set to different rates depending on the time of day.
What Windows Store apps are best suited for Smart Connect Technology
Clearly, this technology is best suited for applications that consume information that is constantly updated in the cloud or on a remote server. Typical applications are email clients, social networking applications, news aggregators, podcast aggregators, software updaters, etc. These applications are usually written to periodically connect to remote or cloud-based servers and check for updates at a set frequency. These applications can be easily enabled to work with Intel Smart Connect Technology.
Guidelines for Application Developers
- Working in Cached Mode: If the application requires a login to retrieve data, the application should be able to cache the credentials so it can retrieve data without user interaction in the unattended mode.
- Refresh Data Upon Reconnection: To ensure that the latest updates are received, an application needs to recognize a new network connection and immediately connect to the server to synchronize. Applications can use the Microsoft Windows events that provide a notification when network connectivity changes. The MSDN website documents many events and methods for determining the state of the system and network adapters.
- Notifications: The application should batch the visual and audio notifications that would alert the user about updated information (until the system is woken up from standby.
Detecting when the system is in the Unattended ActiveState (S0 ISCT)
To detect when the platform is in the ISCT SO state, developers can use the Microsoft Windows APIs. Microsoft Windows provides power management broadcast events that notify applications when the system comes out of standby.
The PBT_APMRESUMEAUTOMATIC event is broadcast when the system comes out of standby. On receiving this event applications can check if the system is in the ISCT S0 state using the Microsoft Windows call IsSystemResumeAutomatic. The call will return true if the system was restored to the working state automatically and the user is not active. For more details on the Microsoft Windows calls refer to the MSDN webpage.
Hopefully you now have a fairly good understanding of what Intel Smart Connect Technology is, what apps are most likely to benefit from it and how to integrate it into your app. If you have further questions, please post them as comments to this blog.