So Google has just announced Android Wear, which will provide some type of ‘official’ support for Android smart watches. This reminded me of something I have wanted to do for a little while … release Wrist Tweets, my Sony LiveView Twitter app, as open source ! Many thanks to everyone who bought the paid version. It didn’t really make much money, but it was fun and rewarding to develop (it covered the cost of buying a Sony LiveView, but not much more). I’ll keep it alive as long as practical with any easy bugfixes, but no promises. If you are one of the handful of people that bought it this year, I’m more than happy to sort out some kind of refund.
Some history: The original Sony LiveView had a very similar purpose to Android Wear devices, and Sony provided their own open source SDK to allow notifications to be pushed to the LiveView ’microdisplay’. The hardware implementation wasn’t all that great though – battery life of the device was poor, it was plagued with Bluetooth connection issues and the design inexplicably didn’t allow charging without removing the band, along with a whole bunch of other usability issues I won’t bore you with. No idea if these were fixed for the “Sony Smartwatch 2” or whatever they called it, since after my experience with the LiveView, I decided to leave smartwatches alone until they matured a little. Hopefully Google and their partner manufacturers get it right with the Moto360 and future Android Wearables …
You can fork & hack away at Wrist Tweets here: https://github.com/omgwtfgames/wrist-tweets
The full version is now free on Google Play.
I’ve just pushed out a minor update of Wrist Tweets.
Twitter has deprecated version 1.0 of their API, and all Twitter clients must now use version 1.1, so I’ve updated Wrist Tweets accordingly (courtesy of JTwitter v2.8.1).
I hate Twitter. They should have become a decentralized open protocol by now (like the oldest killer app of the Internet, good ol’ email), but they continue to be asshats and rather than work toward the obvious end game for short messaging, they are working to further centralize and kill third party Twitter clients. It was uncanny really – literally days after the first release of Wrist Tweets, Ryan Sarver, Twitter’s Platform Director, told developers to stop making third party Twitter clients that “mimic or reproduce the mainstream Twitter consumer client experience”. Even though Wrist Tweets isn’t really a client that mimics the ‘mainstream Twitter experience’ (it only receives tweets, and doesn’t send them for starters), I would have never started developing it if I’d known Twitter was going to start moving toward becoming a walled garden. Still, I’m happy this little plugin has helped people get more out of their LiveView devices (including me !), and I’m committed to keeping it working for the foreseeable future, as long as Twitter allows that to be possible.
Some API / behaviour changes in Android 4+ (ICS, Jellybean), mean that many Sony LiveView plugins no longer are listed in the LiveView manager. For developers out there that are still supporting LiveView plugins, you should add the intent-filter (below) to your AndroidManifest.xml for the main Preferences activity.
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
This will give your plugin an icon under the regular launcher along side other apps, and it should also appear in the plugins list under Sony’s LiveView application.
I’ve recently made this update to Wrist Tweets to make things easier for users.
For my app WristTweets, I implemented a feature where the user could press a button on the LiveView microdisplay to open a URL if one appears in the tweet. If there is no URL shared in the tweet, ideally I wanted to instead open their preferred Twitter client on their phone showing the tweet so that they could take further action (eg retweet, reply, block).
Several clients (‘official’ Twitter app and Plume) successfully capture ACTION_VIEW intents for any twitter.com URL and will display the tweet as desired. Other clients capture various other intents but don’t appear capable of opening a specific tweet via an intent. In some cases there are other undocumented intents that will allow a user profile to be opened via an intent – this is what WristTweets falls back on for clients that can’t directly open a tweet via an intent.
Since others may find this useful, shared below are the intents I discovered for Tweetdeck, Plume, Seesmic, Hootsuite, Twidroid Pro / Ubersocial, and the ‘official’ Twitter app. As far as I know none of these are officially documented, and they obviously may change without notice in future updates.
Some gadget fetishism got the better of me recently, and I decided to pick up a Sony LiveView. It’s like a watch (“microdisplay”) that syncs with your Android phone via Bluetooth and can provide notifications, remotely control the music player etc. Although it has it’s frustrating moments, it’s fun little device, and I like the simple clean design.
It comes with a bunch of handy default notification plugins: text messages, missed calls, calendar notifications, Facebook status update notifications, RSS feeds etc. There is also a Twitter plugin provided by Sony, but I felt it was a little substandard and didn’t really meet my needs. So, I decided to write Wrist Tweets – my own personal version of what the stock LiveView Twitter plugin should have been.
Wrist Tweet supports:
- Timeline notifications
- Mention/@reply notifications
- Direct message notifications
- Opening the first URL in a tweet on your phone
- Authentication via OAuth – no locally stored password
- A choice of sensible update frequencies, from 1 minute up to 6 hours
- Notifications of tweets on a Twitter “list”