Shared publicly  - 
Dear +Sony, you wanted feedback on developing with the SmartWatch 2 SDK. Well, here you go.

After stumbling through your developer portal [1] I finally found the page where I could download the add ons required developing for the SmartWatch 2 [2].

Then I had to scroll waaaaay to far to find the url required to add the sdk [3] to my $ANDROID_HOME.
If you have trouble finding the url on the first or second look, don't be ashamed. I had troubles finding it as well.
That's probably because it's hidden somewhere in between a pile of SDK Manager screenshots.

After downloading it I went to my "$ANDROID_HOME/add-ons/addon-sony_add-on_sdk_2_0-sony-16/libs" directory, to get the API and Utils required for developing. If you have been there you probably found three libraries.

None of these is either the Smartwatch 2 API or Utils!

Being already rather impatient at this point I asked someone where Sony has hidden the required libraries.

Guess what, they are hidden placed within ANDROID_HOME/add-ons/addon-sony_add-on_sdk_2_0-sony-16/samples/SmartExtensions/...

But at this point I only could help and think to myself: Well... At least they have shipped the SDK and Utils.

Great, so I enter one of the directories, only to find the sources of the required libraries. None of these have been packaged to a reasonable format such as .aar or .apklib.


After packaging the libraries[4][5] to .jar and .apklib (yes I'm still using maven for a project, hit me) I'm now finally able to start developing for the Smartwatch 2 with the officially released SDK.

This is not user (developer) friendly at all. A lot of developers would have just stopped the process somewhere in between.

If you want to do it right, just upload the API and Utils to maven central [6] and provide developers with an easy snippet to integrate these within their gradle or maven projects.

Whui Mei Yeo's profile photoChristopher Orr's profile photo
So apparently they didn't learn much from the original SmartWatch SDK. And from a quick look at the Javadoc, the API is just as obtuse as before.
Thanks, +Al Sutton for the heads-up on this post.

This is very good feedback, +Benjamin Weiss for us at Sony. Will relook at the way we present the SDK installation instructions and the packaging for a better developer experience.

+Christopher Orr can you provide more details on which parts of the API is obtuse?
+Whui Mei Yeo Just getting all the packages together is a pain, as described above. But for one, gives an idea of how non-straightforward the APIs are.

From what I've seen from an app hacked together with a friend, sending notifications requires extending a Service, then writing some boilerplate, then writing values into a ContentProvider, then having no idea whether it succeeded. And in order to stash arbitrary data, we need to write to database columns like "FRIEND_KEY".

It's a little far away from being SmartAccessory.with(mContext).notify().message("Hello, world.").icon(R.drawable.my_app).send();
Add a comment...