Pebble Update

A couple of updates on my communications with Pebble about the audio interference, especially the A2DP but also the handsfree interference (which makes handsfree calls in my car near impossible most of the time).

I also get a response to a tweet about Pebble not really being ready for mass consumer use:

@bluedonkey We're proud of our approach. Shooting to be the best wearable out there.

I am happy that they are shooting to be the best, but I still don’t think they are quite there yet (and to be honest the recent versions have been going backwards IMHO).

Battery Issue
The latest on the battery issues I am seeing with the latest firmware came in the form of this email from their support team:

The logs I referenced were from 1 charge cycle, which did not reveal the substantial drop in battery life that you experienced in the aforementioned charge cycles.

Since we’ve verified the issue, let’s get you Pebbled again as soon as possible!

To make sure I fill out your Replacement Authorization with the correct information, could you please confirm the following:

Please also include a picture of the back of your Pebble with the Serial Number clearly shown and “Case # 239312 ” written beneath it on a slip of paper.

Once you have confirmed the above, I will fill out your Replacement Authorization and get you set up with a new Pebble!

So, aside from the fact that seeing one charge cycle that looked OK was enough for them to dismiss the issue initially (even though the report clearly stated that the battery issue was somewhat random), now their answer is to swap the hardware without any explanation. Since the watch is clearly operating normally, and some of the time has a very acceptable 10% per day battery consumption rate, I don’t see this being hardware. Seems far more likely that the problem is a software issue with something getting stuck in a state where the radio is on more than it should be.

Audio Issues
On the audio issues, I am not getting far either. The best response I got was to the update I sent their support organization with two 30 second samples recorded from an external Bluetooth speaker with and without the Pebble connected to the phone too:

With Pebble Connected:

Without Pebble Connected:

The drop outs you hear in those happen on all the A2DP playback devices I have tried so far, and only with the latest firmware (previously music playback to Bluetooth devices was fine). That got this reply from support which I take as progress:

Thank you for your e-mail and demonstration. The engineers have been made aware of this issue and are working on a fix for future updates.

I should probably try to record some samples of a phone call too so that they can hear how bad that is (it is much worse than the A2DP).

Pebble Battery Life

Given how random my Pebble’s battery life can be these days,I thought I would extract the battery level information from the logs they keep (tip: if you want to see these, just start the process to generate a support request but when the email editor opens change the recipient to your own address before sending).

The graph is quite telling:

That is a little over 6 days worth of data and clearly shows periods where the consumption is far faster than it should be to allow for several days of battery life. The last two days, I have had to charge the watch every night or risk having it run out mid way through the day (and I don’t want to carry the charging cable with me everywhere I go).

The most recent firmware was meant to address the crazy power consumption issue, but it looks from this chart as though their fix doesn’t change anything.

Pebble: Still Not Ready

Sadly, I have to say the Pebble smart watch is still not ready for general use. There are still too many bugs in the firmware, and too many limitations for it to be acceptable to anyone outside of the early adopter crowd. Even a year after they initially shipped.

In the early days, the regular firmware updates seemed to improve things. Unfortunately, the most recent updates seem to have made things worse. 

Battery Issues

The new stainless steel watches were launched with version 2 firmware and the Pebble App Store all of which seemed great. Except that the battery life of the watch could suddenly drop from the several days normally achieved to just a few hours. And it could go from super efficient to super inefficient at any time. Given that battery life is one of their key advantages, this was a pretty serious regression. Something that should have been caught during testing.

The fixed firmware was released recently, but apparently it is still not really fixed. My watch took around 24 hours to drop from fully charged to 89% (that is pretty much the normal rate I have observed – around 10% a day).

2014-05-18 04:48:27:000 ttery_monitor.c:204 Batt state: 4224mV 99% hardware charging 0 plugged 0
2014-05-19 02:55:26:000 ttery_monitor.c:204 Batt state: 4095mV 90% hardware charging 0 plugged 0 
2014-05-19 03:00:26:000 ttery_monitor.c:204 Batt state: 4086mV 89% hardware charging 0 plugged 0 
2014-05-19 05:41:26:000 ttery_monitor.c:204 Batt state: 3994mV 79% hardware charging 0 plugged 0 
2014-05-19 08:19:26:000 ttery_monitor.c:204 Batt state: 3927mV 69% hardware charging 0 plugged 0 
2014-05-19 09:44:26:000 ttery_monitor.c:204 Batt state: 3869mV 59% hardware charging 0 plugged 0

But then look at what happened. The next 30% drop took less than 7 hours. And for most of that time I was asleep and very few notifications were being delivered (I get far more during the day when all my calendar event reminders are firing off).

Seems the issue with the battery is still not fixed. I have submitted the logs, but at this point I am losing confidence in Pebble’s ability to fix these serious firmware issues.

Audio Interference

For the longest time the audio quality I have experienced when using my car’s hands free telephone system has been terrible. Very occasionally it would be crystal clear, but most of the time it was crackly, sometimes to the point where I would need to hang up and redial in hopes of getting better quality. It never occurred to me that the cause of this noise was the Pebble. 

Last week though I was driving back home after going to pick up some paperwork and I was stuck in traffic listening to music from my phone connected via the car’s A2DP connection. This had always been good quality (further confusing me as to why the telephone audio should be so bad), but now it was experiencing periodic drop outs. Very short times in the music when there was silence, but easily noticeable. Since I was stuck in traffic, often not moving at all for several minutes, I had time to trace the cause.

Remembering that the Pebble had just updated its firmware, that was an obvious place to start. Turning off the Bluetooth on the watch didn’t impact anything immediately but right then the traffic moved, so I turned my attention back to the road; leaving the Pebble’s Bluetooth off. Perhaps 30 seconds or so after I switched it off, the dropouts stopped. The next time I stopped, I turned Bluetooth back on and sure enough the drop outs re-appeared. So now, the Pebble interferes with A2DP music streams (a clear, and serious regression).

Even more interesting, during one of the times I had Bluetooth off I received a call. It was crystal clear. More experimenting with that showed that the interference I had long put down to an incompatibility between my car and iPhone was in fact also being caused by the Pebble. That is not a regression in the latest firmware though; that has always been there.

Some searching online revealed a thread on their support forums describing the hands free audio interference that is happening in lots of cars. And yet the support response I got merely shrugged it off with the advice that I should disable Bluetooth on my watch when in the car & there was no way they could test all cars. Obviously, nobody would expect them to test all cars, but it doesn’t seem hard to find some that show the problem. And there is even a detailed post in that thread stating the problem can be reproduced on Bluetooth audio quality measurement test equipment:

The Voice Quality algorithm used for this test was ITU-T P.862.1 (PESQ). The scale for the PESQ algorithm is 1-5 (5 being perfect). For all tests, the iPhone is on ATT network whereas the far-end is Verizon PSTN. Each test consisted of 3 different calls, each call sending/recordng 4 voice files. After each test i averaged all PESQ scores.
The average score for iPhone5 without Pebble was 2.71. This is average for mobile to PSTN.
The average score for iPhone5 with Pebble was 1.36. This is considered extremely low.
The average score for iPhone4 without Pebble was 2.40. 
The average score for iPhone4 with Pebble was 1.22.

That makes it pretty clear that the Pebble is interfering with the audio quality on iOS devices at least. Again, this should really have been caught during testing.

Recommendation

At this point in time, if you asked me whether you should buy a Pebble I would have to say no. Not unless you are willing to live with pre-alpha quality software, potentially abysmal battery life, poor quality Bluetooth audio connections and relatively little support. When it is working well, the Pebble is a great smart watch, but the ongoing software quality issues are really letting it down right now.

United Accounting

We recently called United Airlines to see if there was any way to get an award ticket that had been issued with a return via LA changed to one that was a direct flight since the traveller was a teenager who has never flown alone before & was not confident of changing planes in an unknown airport.

The representative we spoke with was very helpful, and said he had managed to move her return to the direct flight without it costing any more money or additional miles (something we had asked several times). He confirmed that the total number of miles needed for her round trip would still be 25,000. The same as the original booking with the plane change.

We also received a receipt confirming the booking, the direct flights and the cost (both the $5 fee and 25,000 miles) just as the representative had stated on the telephone. That receipt is still visible in the web portal too (I have blocked out all the personal info):

However, when we next happened to be logged in to the MileagePlus website, we noticed they had refunded the 25,000 miles for the original booking and debited 37,500 for the new itinerary – taking 50% more miles from the account than their customer service representative had stated, and 50% more than the receipt / confirmation they had issued for the booking stated the trip would cost:

Misunderstanding

OK, thinking it must have been a misunderstanding, we called, only to be told there was nothing they could do. It was a mistake they had corrected. You might expect somebody to call and confirm that deducting more miles was OK, or at least send an email. Or even issue a new receipt with the corrected amount. But, no. They did none of those things. They just took the extra miles, presumably hoping we wouldn’t notice? Also notice the activity doesn’t show the correction as a separate transaction – it seems to suggest that they actually deducted 37,500 at the same time they issued a receipt for just 25,000. I wonder if they are that lax with all their financials? If we’d been paying money for this, could they have just billed the credit card 50% more than they show on the receipt?

Anyway, I contacted the Twitter support team (having found that social media support groups are generally more responsive at other companies). They took all the info (over private DMs) and after a bit of back & forth, came back with this:

Sounds promising. At least they can see that the receipt still shows 25,000 and something is amiss. But then, 21 minutes later, they came back with this:

No explanation for the mismatch between the receipt and the amount debited from the account. Just a repeat of the statement that they can’t honor the receipt / confirmation they issued (and still show online). Wonder what would have happened if the miles were not there. Would they have called, or just quietly canceled the ticket and let us find that out at check in time?

Customer Service

Most companies, if they made a mistake like this would simply apologize and refund the difference. But not United it seems. They would prefer to upset a customer (and I should note that the customer who booked the flight in this case is a gold card holder who travels all over the world with United for work) over 12,500 miles.

Of course, you could argue that we are still getting a free flight, and the miles were in the account, but the miles in question were coming from another family member’s account as a favour & he only had 25,000 spare (the remainder being ‘reserved’ for a trip later in the year). Now we are left trying to sort this out; most likely we will just cancel the ticket entirely and see what other options there are. Ideally that would be on an airline that actually cares about their customers, and especially their most loyal ones, and doesn’t make promises they can’t keep. Can’t see myself trusting United again after this.

Successful People & Early Mornings

I keep reading articles like this one on Entrepreneur.com today telling me all these things that successful people do before breakfast, or how successful people are up every day before the sun working etc, etc. But I am very definitely not a morning person! Waking up at 5am every day would, I am certain, shorten my life (and perhaps it is also shortening theirs).

Currently, the days when I am going in to the office start around 7:30am. My goal is to be out of the house at 8am and to walk to the ferry terminal (about 10-15 minutes walking). The 20 minute ride to San Francisco is mostly social time for me – chatting with the other regulars on the boat. My 30 minute BART ride from San Francisco down to San Bruno is my time to read emails and catch up on overnight Facebook, Twitter etc. My walk to the office is usually time for a phone call (yay for bluetooth headphones!), but it also gets me some more walking time.

A full day at the office, leaving at 5:30pm for the return commute (BART & ferry again most days, with the walk home) getting me home at 7pm. Dinner, some playtime and bedtime for the toddler takes a while. So by midnight I am just getting ready to start work on my personal apps business. My goal is 2-3 hours on that before getting to bed at 3am. Only manage that a couple of times a week these days though :(

After reading Timothy Ferriss’ Four Hour Work Week and listening to a few podcasts in a similar vein (e.g. Solopreneur Hour), I am thinking that anybody working the sorts of hours these articles suggest is missing the point somewhat. I notice that a few did mention spending time with their families, but it didn’t seem like much time (45 minutes over breakfast, or some time in the evening).

If I could afford it, I would love to be at home all day with my kids; or, for the one in pre-school, be there to drop him off and pick him up every day. I guess success is measured in different ways. To me, not having to work for somebody else would be success enough!

Thoughts on git/DVCS

This has come up in a few different contexts recently, and while I understand that git is the current trendy choice for version control, I am not convinced that it is the best tool for every job. There are clearly places where a distributed version control system has advantages, and the most obvious of those is the one that git was designed for: a large open source software project with lots of independent contributors.

When working in a small company, with a group of engineers who are on the payroll, there doesn’t seem to me to be as much need for the additional complexity of a DVCS, even if those employees are distributed geographically.

Distributed

It seems to me that there is a misunderstanding about the word distributed in DVCS. Being geographically distributed doesn’t mean your team can’t use Subversion or Perforce. As long as they are connected to the internet & able to connect to the server when needed, there should be little difference. And I pity the poor soul on a slow connection who is trying to clone a large git repository… Especially if they are just trying to look at the latest version of the source to learn!

What is being distributed is the entire repository. So rather than you checking out just the version you are interested in, when you clone a git repository you are (by default) getting every version and all the meta data. That’s great if you work offline a lot, or if you don’t have a trustworthy, backed up place to keep the repository, but if you are serious about software development, and especially if you are building a company on top of that software, you really should have a central repository anyway which is where you do your release builds from. And the repository you back up.

Linus Torvalds presented his case for distributed version control at a Google event, but almost all of his advantages are in the context of an open source project with contributors of unknown ability. In that environment, enabling all potential contributors to work on the project & track their changes locally and then submit them for review in a standardized way makes a lot of sense.

It should also be noted that he does maintain a central copy of the Linux source code at GitHub, so the idea that a git project can be managed without a central repository is myth. In open source even more than in a small startup, people need to know where they can go to get the latest official (trustworthy) version of the source. For that a central repository is pretty much essential. I am certain that nobody will be able to clone the git repository from Linus’ personal computer!

Software Core

One on the most recent discussions I have had about git started with this tweet:

What struck me about this post was that suggesting the choice of version control tool was as important as the other three seems wrong. So I responded to Mr Srinivasan with that comment. What came back surprised me even more:

If I am reading that correctly, he feels that using git implies that a software team is more sophisticated than if they used subversion (or presumably Perforce or some other non-distributed version control). I could understand the argument that not using version control at all was a concern, but the specific tool choice seems irrelevant. I wonder if the choice of editor matters too?

Complex By Design

There are several places on the web where it is claimed that the complexity in git is there by design and that spending time trying to master its arcane way of doing things is a rite of passage. As if to confirm this, one third party response to my discussion above said this:

I appreciate that studying the tool in great detail, perhaps even downloading the source and really trying to understand it might be an interesting academic exercise. But I would prefer in a corporate setting that the version control tool be as simple as possible to understand and use. If I need to train every new hire (or test their understanding of the VCS during the hiring process), I would say the tool has failed.

Of course, if we look back at git’s origins we can see why having a more complex tool might serve a purpose. In that unmanaged open source world, where contributors are not interviewed or hired, having a tool that can weed out the less committed might be seen as a good thing. Of course, it could also be off putting to a lot of talented engineers who would rather spend their time working on their passion instead of learning how an intentionally arcane tool works!

Workflow

The workflow for a large open source project, with thousands of contributors is very different to the flow inside a small startup team. External contributors branch off of the approved mainline, make their changes there and then they send a request to the project’s owner to pull their changes back into the mainline. The project’s maintainers might receive tens or hundreds of those pull requests each week. Certainly, in that environment they wouldn’t want to just open the flood gates & let unknown developers commit their changes directly. 

While that flow could work in a corporate setting too (and I could easily build a peer review process around it), I would argue that a more typical workflow would be to allow your engineers to push their changes into the mainline once they happy with them. Having one person in a small team responsible for pulling everybody’s changes in to the mainline seems like an inefficient use of resources. Even more so if that person needs to keep pushing back changes to have conflicts resolved. IMHO, it is far better in a fast paced corporate environment to have each developer commit their changes to the central repository as soon as possible and have them resolve conflicts.

I am also a big believer in only having peer reviews happen for changes that are checked in. Not because I think anybody I work with would intentionally make a change post-review to slip something in to the code unnoticed, but simply because it is all too easy to forget to commit one file, especially when adding new files as part of a change. It is also easier for remote reviewers to get the code if it is checked in somewhere.

Merging

My own personal experience with git merge is something I would prefer to never repeat; two days lost to trying to repair the mess it made of a simple merge of more recent changes in the Android set of repositories into my own branch (the deltas from the release tag my branch forked from and a slightly newer tag on the same release branch).

That aside, Linus’ comparisons of git to CVS are somewhat unfair. Sure, git tracks merges better than CVS, but I doubt anybody would consider CVS to be the state of the art version control system. In fact, I don’t know anybody still using it. I would agree that Subversion is still weak in this area, but other options like Perforce or the crazily feature-rich ClearCase track every merge and are not tripped up by attempts to merge changes that have already been merged. 

And the tools for merging conflicting files in Perforce are far superior to anything I’ve seen available for git (or subversion for that matter).

FedEx Fails Again

A package was shipped to me last week from Fremont, about an hour drive south, via FedEx using their saver rate. The tracking showed that it arrived at the Oakland depot late Friday, so I thought it might arrive with me today, but, no, the tracking insists that it won’t complete that last hop from their depot to my door until Wednesday:

This is something I believe is unique to FedEx. Certainly OnTrac, and I believe even UPS, will deliver a package as soon as they can once it reaches its destination facility. FedEx on the other hand chooses to sit on packages at the last stop until the “correct” delivery date. Or, in other words, they are going to make sure you don’t get a saver rate package in less than three days since you didn’t pay for next day or two day. Pathetic, and yet another reason why given a choice I will never use nor recommend FedEx.

What is even more annoying is that the last time they did this, they also ran out of time on the scheduled day (and that was for a guaranteed two day delivery as well) and failed to deliver on time. Hopefully this time they will at least manage to deliver on Wednesday. It looks as though noting will happen until then though.

Toddler Book: Roadwork

On a recent trip to the bookshop our two year old picked out a book he really wanted to read, Roadwork by Sally Sutton.

Since taking it home it had become one of his favourites, often being the first book he’ll ask to read. He has also memorized many of the lines, including the sounds on each page.

If you’re looking for a book for a vehicle loving, especially construction vehicle loving, little boy or girl, this one gets top marks from our son.

Welcome Natalie

Welcome to the world Natalie. Much like your brother before you, your arrival was not as uneventful as the doctors would have liked, but right now you have found a comfortable place alongside your mother, and you’re (both) resting peacefully.

Your mother has a few months head start on me in terms of getting to know you (you’ve been kicking her on and off for a while now), but we’ll remedy that over the next few weeks for sure. We started well already with you spending time with me while your mother recovered.

Eco Bulbs

Over the weekend, the bulb that has lit our shower for the past 6+ years burned out. That started me on a mission to replace not just that one, but all the other incandescent bulbs in our bathrooms. The kid’s bathroom has a row of 40W globes, eight in total, over the sinks, and we spend at least half an hour every night in there with him getting him bathed and ready for bed.

The first catch though is that many of the standard looking LED replacement bulbs I found were not rated for damp areas. The second was that they often included a warning that they should not be used in fully enclosed fixtures. The shower one, as well as our closet ones, are all fully enclosed.

The Cree bulbs I ended up with are damp rated, and the only restriction on fully enclosed fixtures was that they not be mixed with other bulb types.

I ended up getting a mix of 40W and 60W equivalent bulbs, rated at 6W and 9.5W respectively, to replace most of the remaining incandescent bulbs in the house, including the eight globe lights. In terms of the light they give off, they seem every bit as bright as the bulbs they were replacing, and being LED they are bright immediately – none of the 30+ seconds of warm up time you get with CFLs.

The only noticeable difference, and it is the row of eight in the bathroom where this is most apparent, is that there is a dark patch at the top of the bulb. Doesn’t affect the amount of light in the room at all.

In the walk in closet and one bathroom, the builder had fitted double bulb units (with a pair of 60W bulbs in them). I was able to also leave one bulb out using the 60W equivalent, saving even more. Of course, I could have done that with the incandescent as well to halve the power consumption. Even with just the single bulb, there is more than enough light in the small rooms these are fitted in.

Although none of the ones I have installed were attached to dimmers, the bulbs do claim to be dimmable.