Wednesday, 14 December 2016

Pebble, the Future and Morpheuz

It's terribly sad that Pebble have gone the way of Psion, Palm, Blackberry (nearly) & Commodore. I liked the idea, the products, the company attitude, the fellow developers, and the Pebble staff members I met. It would have been nice to see them succeed, especially against the "big boys". This is my English love of the underdog.

So I would like to raise a glass to Eric, Cherie, Thomas, Katharine, Jon and hope they go on to greater things.

Max, I hope we shall bump into each other on future projects.

Whilst I won't be adding any more features to Morpheuz, I will attempt to bug fix what I can without Pebble support, and keep the servers running for as long as is reasonable*. It does cost money and has paid for itself on advertising (on the www.morpheuz.net site) and by donations to paypal so far.

Remember Morpheuz is an open source project on github and always has been. If you want to change anything and re-compile your own personal version or submit some changes, be my guest.

* Definition of "reasonable" is difficult. Less than 100 users and the money running out possibly?

Friday, 29 July 2016

did_vibrate stuck and accel_data_service_subscribe dead

Version 4.6 introduced two new error messages that are displayed at the top of the chart page.

These are:
  • Error: accel_data_service_subscribe dead. Please report this issue and reboot your Pebble. The sleep data may be incorrect.
  • Error: did_vibrate stuck. Please report this issue and reboot your Pebble. The sleep data may be incorrect.
Previously these were reported as A! and B! in the icon area on the Pebble screen, but since almost no one noticed them, and they would be gone when you go back to check, they were less than useless.

Morpheuz asks the Pebble OS to give it movement readings every few seconds. Morpheuz checks to make sure this actually happens and if it hasn't for more than a minute then it will flag this with the first error.

As part of the movement data Pebble OS provides a did_vibrate flag - this indicates if the vibration motor has run during the movement sample period. To avoid spikes which are not from your own movement, Morpheuz disregards any set of movement readings where the did_vibrate flag is set. If it is set to did_vibrate for more than 2 minutes then Morpheuz raises the second error.

Usage Analytics suggests that this problems occurs mostly on Original Pebble and Pebble Steel, although it does happen on the Pebble Time and Pebble Time Rounds as well to a lower extent.

What can you do?

  • Shut down your pebble (Settings -> System -> Shutdown) then bring it back to life with a long press on the back button. Your watch is like any other computer, sometimes a reboot fixes a multitude of problems.
  • Report this on the Morpheuz Bug page.
  • Report this to Pebble themselves. It seems likely there is a bug in the firmware and Pebble have an excellent track record of finding and fixing this sort of thing if they know about it.
Please let me know if the shutdown and restart worked. I'd also be interested in anyone who actually got chart data with one of these errors.

Wednesday, 20 July 2016

More sleep quotes, more pithy #tweetmysleep comments

Alongside the release of Morpheuz 4.6 - which I hope you'll like, I've increased the library of timeline quotes (open the Smart Alarm or Bed-time pins and you'll see the quote of the day) and #tweetmysleep now has bigger selection of pithy comments about last nights sleep.

Sleep well.

Sunday, 17 July 2016

Morpheuz 4.6

Morpheuz 4.6 is now live.

Key to this release is to improve the contrast in the charts and to make the colours consistent throughout. So the dark blue on the sleep bar is the same dark blue as is used to represent deep sleep in the Quality of Sleep pie chart.

This can be seen in the example below:

...which can be much easier viewed in comparison with the sleep quality pie:

This makes it easier to see where the deep sleep occurred, that it is 12% of that night's sleep and that constitutes 1 hour of the total.

The sleep totals are now in the key of the quality of sleep pie rather than being added in a table below summary.

Note: the sleep total doesn't add up precisely, 4:20 + 3:20 + 1 is 8:40 not 8:34. The reason for this is Morpheuz counts in 10 minute segments of sleep, so all the assessments (restless, light, deep and ignore) are 10 minute segments from the moment the bed time button is pressed, however the smart alarm happens at an exact time and this, when used, represents the end of sleep.

As usual there are a number of bugs quashed and optimisations made. Especially on the original Pebbles every byte is precious.

Please send me an email if you'd like to be involved in beta testing Morpheuz. Like all beta tests you get the new features first, but, whilst I attempt never to release anything that is not right, there is a risk of a little minor pain.

Thursday, 23 June 2016

Morpheuz 4.5 - Sleep depth bar plus Sun and moon bars

Sometimes something simpler than the up and down graph would be nice. Maybe if the settings/chart/config page showed the same sort of bar as the mini-chart on the watchface?

Like this, possibly?

The dark blue is deep sleep - notice that is where the movement trace is below the bottom division, the mid blue is light sleep - the movement trace is between the bottom division and the next one up, light blue is restless sleep - the movement is above the top division.
Mid grey is where no movement was recorded, and the light grey (also shown as a vertical bar on the graph) is where I pressed ignore on the watch menu.

Inspired by the sun streaming in through the window early (very very early) in the morning, I wondered what effect the sun and moon have on my sleep patterns. So, just below the sleep bar I've included some sun and moon lines:

The sun bar shows the sky brightening towards sunrise. Notice that this pretty closely matches the time I woke up and pressed ignore giving the grey line on the chart.
The moon bar shows the phase of the moon and then moon rise and set points. Note when the moon is new this bar is completely black.

This app requires your Pebble, Pebble Steel, Pebble Time, Pebble Time Steel or Pebble Time Round to be running Pebble Watch v3.13 (or later)

If the latest version you can get from the Pebble App Store is 3.7 then please read Updated software for Classic Pebbles

Sunday, 8 May 2016

Morpheuz 4.4 - Mini charts now work without Smart Alarm

They were supposed to but didn't at 4.3.

This app requires your Pebble, Pebble Steel, Pebble Time, Pebble Time Steel or Pebble Time Round to be running Pebble Watch v3.11.1 (or later)

If the latest version you can get from the Pebble App Store is 3.7 then please read Updated software for Classic Pebbles

Friday, 29 April 2016

Morpheuz 4.3 - On watch sleep charts

New this release are sleep charts.

Every day Morpheuz creates a 'Morpheuz Summary' timeline pin. This tells you how much sleep you've had or not had. It looks like this:


A summary pin is timed to appear just after the alarm goes off or 11 hours after bed time was pressed, whichever happens sooner.

Pressing the select button gets this menu to appear:


This is the magic bit. Press select again and you get a little chart:


Light blue bands represent restless sleep, medium blue bands light sleep and dark blue bands deep sleep. Across the bottom of the chart is a yellow line that shows the duration of your sleep. Within this bottom border are a green and red blob showing the points where the smart alarm was set for earliest and latest. If you use the ignore feature then that is shown as a vertical light grey band. The medium grey at the end is where there was no recording.

The chart is also available from inside the Morpheuz app too, as "chart" on the menu.

Unfortunately there wasn't enough memory space on the watch to add this option to the Pebble and Pebble Steel.

This app requires your Pebble, Pebble Steel, Pebble Time, Pebble Time Steel or Pebble Time Round to be running Pebble Watch v3.11.1 (or later)

If the latest version you can get from the Pebble App Store is 3.7 then please read Updated software for Classic Pebbles

Wednesday, 6 April 2016

Morpheuz & Smartbulbs

A recent email suggested it'd be great if Morpheuz could turn on smart bulbs when the alarm goes off. It already can and has been able to for many releases, however checking through www.morpheuz.net you'd have some trouble finding the information.

Support is provided directly for LIFX and Phillips Hue bulbs.

Go into the Morpheuz settings and scroll down. Expand the section, fill in the details and save.



Clicking on the 'Test before...' checkbox will attempt to set the lights based on the settings you've entered rather than waiting until morning to discover the details were wrong.

Should you not have LIFX or Phillips Hue bulbs, then, if support for your bulbs is available under IFTTT, it is possible to set this up and use the 'morpheuz_alarm' event to turn on the lights too. Or the internet enabled coffee machine.

Note: the Phillips Hue interface will not change a light that is already on.

Note: these features require that your Pebble remain connected to you phone and it retains a connection to the internet.

Sunday, 13 March 2016

Morpheuz 4.1 is now live

This is the March update for Morpheuz (not that this should indicate any schedule to these things). It now records the number of snoozes pressed and provides the option to #tweetMySleep. This lets you tweet your sleep time and a brief comment. Morpheuz determines from the number of hours sleep vs your ideal sleep for your age and your addiction to the snooze button how good your sleep was and offers a comment that hopefully matches. The variety of comments will grow with time - I'll gladly add some witty, wry or pithy tweets to the list of comments Morpheuz will generate.

Read more here.

Monday, 29 February 2016

Morpheuz 4.1 - #tweetMySleep and snoozes

Morpheuz 4.1 is in beta testing live. This release there are a couple of new features. First, it now records the number of times you press snooze. This appears in the Timeline Morpheuz Summary and at the top of the charts page.

The second is the #tweetMySleep button. You can now warn your friends and/or colleagues if they need put the coffee pot on danger money.


As you can see I had no less than 6 snoozes - something of a record I think.

If I press the #tweetMySleep button I get the following:


If you are not logged into Twitter, then it will allow you to log in. Otherwise you go straight to editing your tweet and posting.

Please note after tweeting you need to press 'cancel' to get out. Twitter's 'close' button doesn't seem to actually do very much.

Sunday, 21 February 2016

Morpheuz on Classic Pebble and Pebble Steel

Up to and including version 3.7 Morpheuz ran on Pebble OS 2.9.1 on Classic Pebble and Pebble Steel.

From 3.8 onwards Morpheuz introduced the timeline feature, that was already available on Pebble Time, Pebble Time Steel and Pebble Time Round. This needs the Classic Pebble or Pebble Steel to be updated to Pebble OS 3.8 or above.

To update a classic pebble then please read Updated software for Classic Pebbles

If you are unable (or do not wish to) upgrade to the latest version of Pebble software, then version 3.7 of Morpheuz will continue to be available, but you will miss out on all the new enhancements and features in the later versions of Morpheuz. You will also get the small nagging banner at the top of the chart page.

Sorry about the confusion caused by the Morpheuz version numbers being close to being in step with the Pebble OS version numbers. This is coincidence and has absolutely no significance. It is meaningless. But annoying.

Nexus Problems

Several people have reported problems with Morpheuz charts and config page crashing the Pebble Time app on Nexus phones. The problem has been raised with Pebble and they have done some investigation and traced it to a native crash in the Android Web View (Chromium). Further they have added that it should never crash natively whatever we [Pebble] (or third parties such as yourself [Morpheuz]) do. Pebble have suggested raising a ticket with the Chromium project for investigation. This has now been done - see Issue 588873

It would be useful to give them and us some more information to work with. If you have a Nexus phone that gives problems, would you be kind and add a comment here on this blog post, or better add to Issue 588873. Include the phone, Android version, Pebble version and Pebble model.

Hopefully there will be a fix for this problem soon.

Monday, 15 February 2016

Automatic Email Exports with charts

A long time ago in a galaxy far, far away, Morpheuz did email exports. They contained only the CSV data, they often didn't work on Android phones and, quite honestly, they weren't very nice.

Fortunately now Morpheuz does really nice formatted emails which contain a link to the chart for that day. They look like this:



They still contain all the CSV data in case you want to store and process it yourself or cut it and paste it into The Chart Viewer, but now they contain a link to the chart page itself. Click on 'Report' to get this:



Now at Morpheuz 4.0 a little checkbox appeared on the settings page:



Now every day, some 11 hours after you went to sleep, Morpheuz will send an e-mail.

I appreciate this might be old news to some, but with the flurry of releases lately it seemed worth repeating.

Saturday, 6 February 2016

Morpheuz 4.0


Big bit:
  1. Automatic email export - now will do the email export with just a single checkbox

Minor enhancements:
  1. Now includes diagnostics display. The status bar will show A! if the accel_data_service_subscribe callback doesn't occur for more than 60 seconds (it should happen every 2.5 seconds). It will show a B! if the callback occurs but the did_vibrate is set to true for more than 2 minutes. If a combination of these happen (at different times!) then it will show C!
    If you ever see A!, B! or C! then please submit a bug report letting us know which letter you saw.
  2. Little progress graph on digital display and in middle of a PTR now somewhat bolder.
  3. Google analytics now added to replace original usage monitor. Still has opt out. Still contains no private data.

This app requires your Pebble, Pebble Steel, Pebble Time, Pebble Time Steel or Pebble Time Round to be running Pebble Watch v3.9 (or later)

If the latest version you can get from the Pebble App Store is 3.7 then please read Updated software for Classic Pebbles

Thursday, 28 January 2016

Morpheuz 3.9

Bug fix release:
  1. By popular demand the settings/charts/config page summary section now includes a tabular view as well as the textual summary. The table is shown by default but can be hidden using 'more/less' options in the bottom right corner of the summary box. This setting is remembered.
  2. Re-added the code which reduces the clock movement to once every 5 minutes when motionless. It does save battery life.
  3. Removed the backlight activation during alarms. This costs battery, and the light is activated if any buttons are pressed.
  4. Stop & Quit now will ensure the alarm will not sound if you restart Morpheuz before the time the alarm was due to go off.
  5. The 'Morpheuz Summary' timeline pin now has Morpheuz spelled correctly. Did no one spot this, because I know I didn't!?
  6. The app icon is now back on Pebble and Pebble Steel.
  7. The settings/charts/config page has been very heavily optimised to increase rendering speed and to reduce network load.

This app requires your Pebble, Pebble Steel, Pebble Time, Pebble Time Steel or Pebble Time Round to be running Pebble Watch v3.8 (or later)

If the latest version you can get from the Pebble App Store is 3.7 then please read Updated software for Classic Pebbles

Wednesday, 27 January 2016

White screen when trying to go to the settings/chart/config page

Loads of people have been having problems with the chart and config pages not loading. This is annoying as Morpheuz uses a professional hosting company (it's not a Raspberry PI sitting in a damp shed).

I've added some third party monitoring to the host now. The current status is shown near the top of the right hand panel of this page (in Desktop mode).

I've also set it up to post to the Morpheuz Facebook page and Twitter account if the server goes down (or up).

Furthermore I get this picture, which sadly I cannot make public in a live sort of way (or I would):


To be completely fair to the hosting company, their servers have, as far as I can tell, been available all the time. It seems there is some random connectivity issues around the world that is causing most of the issues.

Please contact me if you are still facing issues. There isn't a great deal I (or the hosting company) can do. You can try switching networks to see if that helps.

Sunday, 17 January 2016

Version 3.8 - Timeline for Original and Steels

  • Timeline on Original and Pebble Steel watches.
  • Summary of your last sleep in new Morpheuz Summary timeline pin and at the top of the config/charts page (so it will appear in all exports too)
  • Recommendation in the summary if you've entered your age on the config page.
  • Bed-time timeline pin appears regardless of whether 'auto bedtime' is selected. If 'auto bedtime' is switched off then the pin is a suggestion. If on, then then pin appears as an automatic entry and will include a 30 minute bedtime reminder.
  • On iOS devices only: the Manual health kit export button appears on charts you've emailed, pushovered, etc to yourself. This allows you to bring healthkit up to date from your chart record. Sadly not for releases prior to 3.8 though.
  • The IFTTT address can be changed. This is for those who want to export to their own, hand-written server, rather than IFTTT.
  • The Smart alarm calculations no longer include the period between bedtime and falling asleep. This should refine the time at which the alarm goes off.
  • There is a new 'stop & quit' menu option - this is for instances where you either have no alarm set, or you get up before the alarm.
  • Holding up or down now auto repeats on time figures when setting the smart alarm on the watch.
  • Removed the menu options for Cancel and Ignore alarm. These are provided by clearly indicated buttons, and if you are working by number of clicks only rather than sight, these adding themselves onto the top adds confusion.
  • Removed functionality that reduces clock movement to once every 5 minutes when motionless. Unconvinced this saves battery life - everything else uses one movement a minute.
  • Changed the render of the analogue watchface to use 3.x techniques and removed the very expensive (in processor terms) method of rendering watch dial.
  • Backlight activated periodically during alarm.
  • Now caches bitmaps on Basalt and Chalk to improve battery performance. Aplite continues to retrieve from resources every time as it doesn't have the memory to hold onto them in store (which was why it was done this way). So Aplite optimised for space and Basalt and Chalk optimised for battery life.
  • Sadly 'Inverse Mode' (black on white) has been retired. It is no longer supported directly under 3.x

This app requires your Pebble, Pebble Steel, Pebble Time, Pebble Time Steel or Pebble Time Round to be running Pebble Watch v3.8 (or later)