Tuesday, 13 May 2014

Canvas 2.1

Has dropped. See changelogs for more detail on exactly what has changed...

  • The preview window in the phone app has been re-written, and should be faster and more accurate!
  • There are some new conditional/maths functions - see the User Guide for more info
  • The screen store interface has been improved (the scrolling!) and has been moved to a new server, as the old one died :/
  • You can now do a backup/restore of all of your screens!
Having the new Preview code on the phone means that a couple of cool features that were previously not possible are... possible. Watch this space!

Also, any of you who are members of the Canvas beta testing community may have noticed that it's getting quite crowded in there! I've now created a new, separate Canvas user group community for any discussions, sharing cool screens, tips/tricks etc - basically anything that is not beta-related!


Saturday, 3 May 2014

Screen Store: down for maintainence

Just a quick heads-up...

You'll still be able to download screens, but uploads have been disabled until further notice, while I migrate to a new server! (A new version of Canvas will be released when this is complete)

Friday, 7 March 2014

Canvas 2.0

Pebble 2.0 is here... and so is Canvas 2.0!

You may have noticed that Canvas hasn't been updated much over the last few months. That's because I've been working exclusively on the Pebble 2.0 version. Thanks to everyone who has been beta testing Canvas over that period, it is ready for release. There are lots of cool new features made possible by Pebble SDK 2.0, as well as several months worth of bug fixes and improvements!

The first thing to say is: The existing 1.x version of Canvas will not work on Pebble 2.0 (and the 2.0 version of Canvas will not work on Pebble 1.x!), so make sure that you upgrade both your Pebble (Android app and firmware) and Canvas.

SDK 2.0 Goodness

You've been asking for it since the first release, and it is now possible... you can see your watch battery status in Canvas (find it under Time/Date/Pebble status)! 2.0 Also allows you current screen to be stored persistently on the watch, so that it can be displayed without loading from your phone after you switch apps/faces and return to Canvas (note: image storage is not supported).

SDK 2.0 also allows the freedom to dynamically allocate memory. What that means for Canvas is that more layers are allowed (up to 25!) and images can now be animated (animation duration can also be set, and more directions are available). This has also enabled the addition of analogue clock layers, and the really cool inverter layers!

Layers can now be dynamically re-sized based on content, allowing the creation of some really cool effects (see the Inversion example screen for a demo).

Share and discover: The Canvas Screen Store!

Built right into Canvas, you can now see hundreds of screens that other users have designed - and you can upload yours for everyone to see.

Ignore the built-in screens - the Screen Store is where to really see what Canvas can do (i.e. Canvas users are better at screen design that me!)

You can deep-link to Screen Store entries to share them with your friends.

App or Face?

You now have a choice: install the Canvas watch-face, or the Canvas watch-app. The face is the the classic Canvas, but the app instead appears under the Pebble main menu (i.e. it's not a watchface), and allows interaction.

In 2.0, when the app version is installed, you can switch between Canvas screens right from your Pebble using the up/down buttons.

More content

Yahoo! is now the default provider for Weather data (you can still choose OpenWeather), and lots of new weather fields have been added (including today's forecast, Beaufort, and lots more). You can also enter a fixed location via name or lat/lon.

You can choose to hide all-day/started calendar events, and some new fields have been added (e.g. calendar name).

Lots more information about your phone is now available: Current WIFI status (with image option) including SSID, GSM/CDMA signal strength (also with image option, not for all phones) and network state, and your phone ringer state (with image)

All bundled images (including weather and phone state) are now vector-based, meaning that they should scale better to your chosen size. They are also all now 1-bit black/white, just like the Pebble display.

Improved editor

The Pebble preview on the editor screen can now be enlarged, and you can also now place layers overlapping the edge of the Pebble screen.

The editor window is tabbed to better navigation, and there is also now a copy layer function to save time. You can also enter longer format strings in the editor to allow for conditionals (the text layer length limit on the watch has not changed).

The screen preview has been optimised, and you will also now not lose your changes when you rotate your device!


Lots of them...
  • More robust communication between the phone and watch
  • Display weather when temperature is 0f
  • Image aspect ratio lock improved
  • New crash reporting (now automatic, not email-based)
  • Phone app memory usage optimised, and background processing changed (may improve battery life..)
  • Better detection of changes in text layers on the watch (notable if time fields didn't update for you)
  • Treat a single space as a blank for the purpose of auto-hide
  • Time zone processing improvements
  • .pcs files will now loads from gmail
  • Lots of crashes
  • And lots more...

For a detailed record of all changes and fixes in Canvas 2.0, see http://pebblecanvas.blogspot.co.uk/p/canvas-2x-changelogs.html 

Friday, 27 September 2013

Screens and Plugins

This is the bit where I say: wow.

Nearly 4 months ago, Canvas was released. It was made to allow you to design your own watch-faces for your Pebble - but also to share them. And share you have. In no particular order:-


Please, share more in the comments ;)

Then there were plugins.

Partly just so that I could say "write a plugin" to every feature request? Maybe

The Canvas plugin API was released in July, allowing anyone to add dynamic content to Canvas. Here are some great examples from the Pebble community:-

Pebble RSS
Augmented Smartwatch
Stock Ticker
and the original Now Playing

Again, if you've developed a plugin not listed, I'd love to hear in the comments!

More to come

Lots of really neat new features have been added to Canvas in the last few weeks (not that I can release them yet). Some of them, I can tell you about (dynamic sizing of layers, more animations, more weather options, a larger editor, inversion, interaction... much more), and some stuff that I can't. I visited Pebble HQ earlier this month for the Developer Retreat - its safe to say that there is cool stuff coming, but I'm not allowed to tell you what ;)

It was a 2-way event. I learned lots about Pebble and met the great Pebble team, as well as loads of fantastic developers... and also got the chance to bend the ears of Team Pebble about the future of the SDK. I have heard nothing but positive feedback about the event, and thanks to Thomas @ Pebble for organising it!

Wednesday, 21 August 2013

Canvas v1.4.6

Thanks to all of those who have been beta testing Canvas for the last few weeks; v1.4.6 is now released!

This version brings lots of changes, fixes and improvements. New features:-
 - Tasker integration: Canvas is now available as a Tasker plugin
 - Weather: new icons and other improvements
 - More layers: now a maximum of 12 layers available
 - Vibration option when a layer changes or is hidden/shown, with custom patterns
 - Detect disconnection from phone to show/hide layers
 - More calendar options: event end date/duration, search period
 - Conditional format strings for dynamic text layers
 - Autohide empty layers
 - Watch-app optimisations and communication improvements

Make sure that you install the new watch-app when prompted. If you have any problems installing, please see the FAQ.

For more information about Tasker, conditionals and other new features, see the user guide.

The full changelog:
 - Wrap text correctly in preview
 - Don't resend same screen
 - Crash editing screen
 - Don't display holding image
 - Don't resend images when not needed
 - Added loading screen with time display + disconnected indicator
 - Improved size/position of font rendering on phone preview screen
 - Added new built-in fonts in the latest firmware
 - Lowercase am/pm mask added
 - Dialog theming issues on gingerbread fixed
 - Option to hide dynamic layer if empty
 - Commas and newlines allowed in text fields
 - Watch-app crash
 - Watch-app optimised in a number of ways
 - New weather masks: wind speed, humdity, cloud, pressure, sunrise/sunset times, time since update
 - Conditionals can now use if/elseif/else
 - Always update plugin content on start
 - Remove blank squares from screen previews
 - Custom vibration patterns
 - Watchapp performance improvement
 - Communication improvements with watch
 - Renamed fonts to match Pebble SDK
 - Crash loading screens from different versions of Canvas
 - Add calendar event end date + duration masks
 - Plugin selection
 - Various other crashes
 - Fix static image/weather refresh/resize/flip
 - Tasker integration (set content and change screens)
 - Fix crash loading malformed .pcs file
 - Show/hide layers when connection lost to phone
 - Conditionals in dynamic text layer format strings
 - Add integer format masks for temperature (weather + sensors)
 - Ambient light sensor added for S4
 - Option to change how far in future calendar searches for events + exclude all-day events
 - Vibrate when layer content changes
 - Max number of layers is now 12
 - Plugin interface v2: per-instance parameters and ability to change screens
 - New masks for time layers to show details of selected timezone
 - New weather icons (thanks Zephyris)
 - Fix issue which may have caused battery drain when using a weather image layer
 - Weather settings screen: configure update interval
 - Weather uses last known location if not available
 - Plugins: detects changes when a new version of a plugin is installed

Wednesday, 17 July 2013

v1.3.3 Released

Canvas v1.3.3 just hit Google Play - hit that update button!

Mainly bugfixes from last week's release, here's the changelog:-

- Display gmail lable dialogue if not selected yet
- Problem loading images
- Crash loading home screen
- Display time/result of last weather update
- Manual update of weather
- Fix watchapp crash when displaying extended ascii symbols
- Allow more characters to be displayed
- Option to flip image colours
- Crash on certain format strings
- Crash re-ordering layers
- Crash if Pebble app not installed
Quite a few people are having problems uploading the Canvas watch-app to Pebble. The progress bar appears to stop half-way across then says "complete". If this happens to you and you can't get it to upload, please go to the main Pebble app and select 'Contact Support', which will generate some logs which may be of use to the Pebble team in diagnosing the issue. Feel free to copy them to me as well.
Edit: the plugins guide is now back up!

Thursday, 11 July 2013

Canvas 1.3.0 Released: images, weather, and plugins!

It's been a while since v1.2.1 was released, and there have been a couple of reasons for this. Firstly, adding support for images and plugins has taken a long time - and secondly I was hoping that Pebble would release a firmware fix to speed up communication between phone and watch so that image transfer is actually practical. Well they did!

The headlines in this release are:
  • Image support: Any layer can be an image. You can have more than one image. You can use any image from the examples supplied, or from your gallery, and can scale/rotate them and choose the dithering settings to get them looking just right (or as just right as a 1-bit image can look) on your Pebble
  • Plugins: You can now add any dynamic content you like (text or image) to any Canvas screen.... provided that you can write a plugin to provide it! See http://pebblecanvas.blogspot.co.uk/p/plugins.html for details on writing plugins for Canvas.
  • Weather: A new dynamic content type (either text or image) which gets the current weather at your location
There are lots of other fixes, additions and behind-the-scenes improvements - see the change-log below.

You will need to upgrade your Pebble firmware to v1.12.0 for this release to work. You will also need to install a new version of the Canvas watch-app - you will be prompted to do this after installing.

The full changelog (which won't fit on  Google Play's 'Recent Changes' page):-

v1.3.0 (11/07/13)
         - Increase max number of layers to 9
         - Format date/time in UK locale on phone (to match what Pebble is capable of)
         - Drag to resize layers
         - Added degrees f mask for temp sensor
         - Now available for tablets
         - Check whether pebble is connected before sending messages
         - Gmail account selection dialog fixed
         - Countdown total hours now correct
         - Implemented new fast messaging features of Pebble firmware v1.12.0 (required for this release)
         - Countdown date/time pickers show correct values
         - Plugin system added (see Now Playing plugin example)
         - Select which calendars to use
         - Avoid Pebble rejecting updates
         - SMS updates promptly
         - Image support (supports supplied images, gallery images, weather and plugins, with scaling/rotation/dithering controls)
         - Weather
         - Recurring calendar events fixed
         - Fixed Several crashes