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.

THANKS AGAIN!

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.

[1] http://developer.sonymobile.com
[2] http://developer.sonymobile.com/knowledge-base/sony-add-on-sdk/install-the-sony-add-on-sdk
[3] http://dl-developer.sonymobile.com/sdk_manager/Sony-Add-on-SDK.xml
[4] https://gist.github.com/keyboardsurfer/6886092
[5] https://gist.github.com/keyboardsurfer/6886079
[6] http://search.maven.org
15
4
Al Sutton's profile photoWhui Mei Yeo's profile photoWiebe Elsinga's profile photoBenjamin Weiss's profile photo
5 comments
 
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, http://developer.sonymobile.com/reference/sony-addon-sdk/com/sonyericsson/extras/liveware/aef/notification/Notification 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();
 
+Whui Mei Yeo Also: I don't need the JavaDoc to display what the code already tells me. I need documentation on how to use methods in order to create useful behavior, so I don't have to read the code.
Add a comment...