With My Cloud Home SDK, you can develop two kinds of applications: Device applications (On-Device) and Hosted applications (Off-Device). These applications can interact with people's content to create, access, modify, store, and sync content on the My Cloud Home device.
You can develop On-Device applications using the My Cloud Home SDK and install them on My Cloud Home. People can access these apps through the Manage Services catalog in the My Cloud Home mobile app or MyCloud.com web app. These services can be configured, enabled, and disabled as required.
Device applications are Android applications which you can develop in Java or native languages using NDK. Since My Cloud Home is a display-less device, applications cannot use the standard Android UI elements. However, you can use most Android APIs and libraries directly in these applications. Refer to the Device Applications page for more information on building device apps.
When should you develop a device application?
You should develop an On-Device application when:
- the application needs direct and fast access to people's content. Since a device application installs and runs on My Cloud Home, it can access people's content directly without having to transfer data over a network.
- you want to minimize infrastructure set up and expenses. Device applications do not need a cloud infrastructure.
- the application has to be distributed through the Manage Services catalog.
- the application needs to run on people's home network.
Hosted applications access people's content using a REST API served by My Cloud Home. These apps can run in the cloud, on mobile, or on desktop applications and can access people's content over the network. You can develop your apps using any cloud or application architecture and access people's My Cloud Home device like any other cloud service. You need to be aware that access to the content is over the network and will have associated latencies. Refer to the Hosted Applications page for more information on building Hosted apps.
When should you develop a hosted application?
You should develop a Hosted (Off-Device) application when:
- your familiarity with cloud or other application technologies enables you to develop applications faster.
- you want better control over providing new updates.
- you have an existing cloud, mobile or desktop app and you want to integrate My Cloud Home access into your application.