Category Archives: Technology

How to solve Huawei Watch W1 wifi connection issue

I recently purchased a Huawei Watch W1. Although many other Wear OS smartwatches are available, this one has the smaller 42mm case (recent launches like the Huawei Watch GT have a 46mm case) and it has several really attractive watch faces loaded out of the box:

I paired the watch with my iPhone 6S and the initial setup was pretty painless. The watch connected directly to my home wifi and several updates installed successfully. At that point, I had access to all of the watch faces that I’d seen, and the iPhone forwarded notifications to the watch – happy days.

The downside was that Wear OS App on the iPhone reported that the watch still needed an update – but at this point, the watch no longer connected to my home wifi. I waited a few days, then tried to connect to my office wifi (thinking that was likely to be up to date) – still no joy. It seemed that I was stuck on that old version of Wear OS, which was a shame because I’d read good things about the latest version. Without the update, and without connecting to wifi, I couldn’t use Google Maps or Weather (both need location services which weren’t working in that version either) and Google Fit wasn’t working properly without an update to Google Play Services. There were many articles on the internet about resolving wifi connection issues from the Huawei Watch W1, but I was confident that the problem would be resolved if I could just install the latest Wear OS updates.

The trick that worked was to turn on the Personal Hotspot on my iPhone and connect the watch to that as its wifi connection. Although this meant I was downloading the updates over my mobile data allowance, the patches turned out to be pretty small (less than 20MB each). I suspect that the data was transferred via Bluetooth, which wasn’t quick, but it did enable the watch to install all the Wear OS and Google Play Services updates that it needed. Even better, as I hoped, the watch now connects successfully to wifi and all the issues with location services and Google Fit have been resolved.

Disclaimer: Whilst I currently work for Google, I don’t work on Wear OS/Android and opinions in this blog post are my own.

Leave a comment

Filed under Technology

Meaningful Connections @ Facebook

Facebook invited me (and a few hundred others!) to a private event at their London offices to network and hear presentations from several of their engineers.

Allan Mertner – Welcome
Allan was previously at King (makers of Candy Crush) and joined just five months ago. He leads the Ads group in London – the largest group in Facebook London. The culture is to move fast and ship things, to make things better – at scale.

Damien Lefortier – Causal Modeling: Delivering Incremental Advertiser Value
A conversion is any event of interest happening on the advertiser’s side (subscribing, purchasing etc). Incrementality is a conversion caused by the ad that would not have happened otherwise. So reporting these incremental conversions is a goal for any advertising platform. But it’s hard to assess – how to measure people that would have discovered the advertiser anyway.

Attribution frameworks
Used as a proxy to incrementality for determining which conversions are considered for both reporting and delivering. Eg. 1-day or 7-day click-through (so record that the person saw the ad, then count it if they convert within some period if going to the advertiser’s site). Or 1-day View-through – the whole thing from showing the ad to converting within a day. But not all attributed conversions are incremental – may have happened anyway.

Delivering incremental value
First need to measure incremental conversions! Then you can assess if you’re improving your delivery. So you can measure random samples of people that are shown/not shown the ad, and see how many convert.

Causal modelling – model both the conversion probability given ad exposure and given non ad exposure. No need for attribution with this approach. E.g. 1 – Natural Experiments – use the natural randomisation in the system to get data. Use this to train a model – but needs correction for biases. E.g. 2 – Small randomised trials – collect data, but typically means less data to teach models.

A model can not only be used for measuring, but also predicting the impact of an ad campaign. It’s a hard, and interesting, machine learning problem. But it actually works – such as for Brand Awareness following ad campaigns.

Brian Rosenthal – How Facebook culture influenced our ad system evolution
Brian has been at Facebook for over 8 years and has worked on much of the Ads codebase.

Mission driven, monetisation business. Facebook don’t want you to see ads that waste your time and the advertiser’s money. This helps frame the problem as one of efficiency – which is appealing to engineers!

Stage 1: Launching Quickly
Ads started in 2004/2005 – it was initially a college site, so the adverts were related to colleges, storage and moving companies. Ads were integrated as part of the social media interface, not just as banner ads. They had an Advert creation interface, where you could add your ad – with identification of who is running it. Then in 2007, an auction where you could bid per click (where a higher bid increased the likelihood of it being seen). In 2009, you could finally edit your ads (previously, they were only created or bulk uploaded)

Stage 2: Embrace best practices
Figured out the right principles – unlike stage 1 (which was quick and dirty to launch), they really understood the problems. Fixed bugs due to database inconsistencies – instead, adopted modular, transactional units – taking 12 months to ensure consistency (half of that time writing tests). Enforced a strict API layer (so internal code also had to use the API as well as outside users). The auction functionality matured – multi-objective optimisation. You could now bid on all the actions you wanted.

Stage 3: Deeper lessons
Try things again, decouple concerns. In 2011, the world was moving to mobile, but ads didn’t work on mobile! They tested ads on mobile and it was a failure. Trying again with deeper knowledge helped to get it right. Decoupled concerns – an early design error was to have objectives and ad formats entangled. These were separated so that every format supported every objective and the code was independent. Dynamic Ads introduced – made the ad more suited to the person (‘customer segmentation’). Objective-based ad buying – do you want to increase adds to cart or checkouts?

Current problems
Scaling, fighting fraud, quality, malicious actors. Biggest thing has been to be adaptive, to change what they do to meet demand.

Ben Savage – Reducing Unintentional Clicks
Ben joined Facebook in 2013 – initially thinking it would be for a year or so, but has stayed because it’s a fun place to work!

Facebook has a long term view – they need their advertisers to be happy, getting return on investment and increasing their budget year-on-year. This enables Facebook to increase the sophistication of their offering – they used to bill by Clicks, now can model conversions.

Audience Network – the problem was that the value of a click was lower than that on Facebook news feed. They saw that the number of clicks reported was not well associated with the number of significant website sessions. Hypothesis – this poor conversion was due to unintentional clicks. This was frustrating for the users and reduced the value per click.

Tinder uses audience network for its ads. The click goes to Web View – so you can measure the time spent in the browser (before they go back to the launching app). At Facebook, Data Wins Arguments. If there are short sessions, it’s likely the click was unintentional. Could they remove the financial incentive to get these unintentional clicks?

Well, what if they stop billing advertisers for such clicks? Blogged that the company would stop billing for this, even though it reduced revenue, because it’s the right thing to do. As an engineer, that’s pretty rewarding. The hope is that advertisers would then re-design ads (such as removing active whitespace areas) because they wouldn’t count clicks for that anyway.

Wrap up
The panel answered questions from the audience. One development they would love to see is that, for users who allow mobile Facebook to track their location, associating showing an ad with the user physically visiting the store to make a purchase. Another feature that’s already available is “Why am I seeing this?” if you’re wondering why a particular ad was selected for you.

Leave a comment

Filed under Meetup, Technology

IET Meetup: A Cloud Enabled World, Neil Lewis (Hitachi)

meetup-cloud-enabled-worldThis evening’s presentation at the Institute of Engineering and Technology was sponsored by Hitachi on the subject of The Cloud.

As the Public Cloud is seeing explosive growth for modern internet based business and their web native applications, how can traditional IT originations with a more traditional IT landscape benefit from some of these trends whilst maintaining their legacy?

Neil Lewis explained that, despite years at the forefront of Data Services, Hitachi Data Systems is now re-positioning itself as a Cloud Solutions provider, rather than solely provisioning private infrastructure and software support to enterprises. Whether they can compete with Amazon Web Services or Microsoft Azure, time will tell – but Hitachi have decided to adapt rather than see their business model become irrelevant.

Leave a comment

Filed under Meetup, Technology

Artificial Intelligence Primer, David Kelnar published this excellent post on artificial intelligence.

The last 10 years have been about building a world that is mobile-first. In the next 10 years, we will shift to a world that is AI-first.” (Sundar Pichai, CEO of Google, October 2016)

Having witnessed the scope of AI-based projects referenced at 2016’s Intel Software Developer Conference, it’s hard to argue. The range of disciplines that have been revolutionised in the last couple of years by deep learning is deeply impressive. Step changes in speech recognition and image classification have been shown and there’s massive potential for development in other areas such as medical diagnosis. Here’s what Deep Mind Medical have to say:

We think that machine learning technology, a type of artificial intelligence, can bring huge benefits to medical research. By using this technology to analyse medical data, we want to find ways to improve how illnesses are diagnosed and treated. Our goal is to help clinicians to give faster, better treatment to their patients and all our research work is done in collaboration with doctors and professional healthcare researchers.

There could be very few jobs that remain untouched by artificial intelligence in the coming years, but hopefully there’ll still be plenty of programming jobs.

Leave a comment

Filed under Technology

IET Meetup: Rosetta Spacecraft Seminar

Meetup - Rosetta SpacecraftI was thrilled when the IET announced that they were organising a seminar on the European Space Agency’s Rosetta mission. I’d followed the progress of the mission and the audacious landing of the Philae probe on the comet – it was fascinating to meet Paulo Ferri, the Operations Manager for the mission. Also speaking was Mark Bentley, Principal Investigator of the MIDAS instrument on board Rosetta.


I asked Paulo how the agency chose comet 67P as the target for the mission. Apparently, it wasn’t the original choice, but a failed Ariane rocket caused the mission to pause and the launch window for the original comet was missed. They re-examined the list of choices and given that Rosetta and Philae had already been built, the only other suitable comet for a mission of that type was 67P!

Leave a comment

Filed under Meetup, Technology

IET Meetup: Robots Helping People, Yiannis Demiris

Meetup - Robots helping PeopleProfessor Yiannis Demiris gave the latest Prestige Lecture at the IET. His work is truly inspirational – his research aims to develop robots that can help both children with disabilities and adults with chronic or mobility problems. A running theme throughout his talk was the need for the robot’s behaviour to adapt during the life of the relationship with the person – as the person learns a skill, the robot can lower its levels of assistance. Or, the robot can take the person to the next level, for example in therapeutic exercises or in gaming.
The speaker heads the Personal Robotics Laboratory at Imperial College London, where he conducts research in personalised assistive robotic systems, with applications in healthcare, in-vehicle intelligence, and support for children and adults with disabilities.

Leave a comment

Filed under Meetup, Technology

BCS Meetup – The Trust Machine, Simon Taylor

BCS LogoThe BCS hosted a presentation by Simon Taylor of Barclays Bank.

Meetup - The Trust Machine

With the full potential of the uses of blockchain databases still yet to be discovered, there is a race, led by financial services, following the growth of Bitcoin, to find new, transformational business models that will exploit this technology.

Simon will explain that, while a Blockchain is just a kind of shared database, it is quite different because it creates a system of transparent, unalterable and permanent records of agreements. The impact of this is to allow all parties to organise themselves without fear of cheating. Simon will explain how cryptographic keys are used to create this trust, how it stops any single party from having more control than any other, and how, by allowing parties, for instance a buyer and a seller, to directly connect, it is seen as an opportunity and a threat by established trusted intermediaries, like his own organisation.

Simon covered a lot of interesting use cases in his presentation and shone light on the differences between bitcoin/blockchain as a technology. For example, this scenario was in his talk and on his blog:

Problem: When an investor comes to raise a Seed, things get messy, people fall out. Solution: Store this on a Blockchain at NASDAQ which has perfect time stamps, and digital signatures and no database administrator can edit the record without signatures of the founders. Could you do this with a database? Sure, but you’d lose that audit trail.

There are plenty of links to further reading on the blog post, 10 things you should know about Blockchains.  Also, What is the Blockchain and why should you care on Recode is worth a read.

Leave a comment

Filed under Meetup, Technology

F# Meetup – Microservices Chaos Testing

Meetup - Microservice Chaos TestingThis was the first event I’ve attended by the F#unctional Londoners group and the venue at was excellent.

Some of the biggest growing pains we’ve experienced with our microservice architecture at Jet is in preparing for system outages.

In this talk, Rachel will discuss’s chaos testing methods and code in depth, as well as lay out a path to implementation that everyone can use.

I haven’t used chaos testing in my own work, but in the world of distributed services, it makes sense to test the robustness of the system to failures on individual nodes. Rachel’s story was quite compelling, even if her own developers aren’t all convinced of the attractions of chaos testing on the production system just yet!

Leave a comment

Filed under F#, Meetup, Programming, Technology

IET Meetup: Turing Lecture 2016, The Internet of Me, Robert Schukai

IETLogoThis years Prestige Turing Lecture was given by Robert Schukai, Head of Applied Innovation for Thomson Reuters.

TuringTrustAn opening address was given by the great nephew of Alan Turing, on behalf of This organisation builds on the legacy of Turing by distributing pre-owned computing equipment, both in the UK and particularly to schools in Africa who have no facilities.

The lecture hall was completely sold out for this talk and the speaker lived up to his billing, giving a mixed media presentation with great passion and insight. He took the audience on a journey from the introduction and incredible growth of mobile technology, both in terms of number of users, speed of data transfer, and bulk of data stored annually. Then he showed that, with the advent of new applications such as Genomic Profiling, and/or the Internet of Things, today’s data footprint will be blitzed by that of the future.

He introduced Cognitive Computing by way of IBM’s Jon Iwata talking about Watson and Robert Schukaithen illustrated the rate of progress of Artificial Intelligence with reference to Google’s Deep Learning having mastered the game Go a full decade earlier than predicted.

Schukai’s vision for the near future is of “DayFlow“, a seamless user experience where their needs are met across devices, throughout the day, with content being proactively displayed just as the user needs it.

I suspect my iPhone is already there – it volunteers the Bus Timetable app first thing in the morning, just as I’m ready to leave for work.

Leave a comment

Filed under Meetup, Technology

IET Meetup – Wireless Charging Buses in the UK

IETLogoThis is the first meeting I’ve been to at the IET since the refurbishment of the premises at Savoy Place, London.

Savoy Place

The location has always been amazing, but now the venue makes the most of it, with new entertainment space on the first floor leading to balconies that overlook the River Thames.

The presentation by Murat Basarir covered a Joint Venture by Arup and Mitsui to trial 8 electric buses on an urban bus route in Milton Keynes. The linear route is 24km long and takes about 50 minutes from one end to the other. Whilst they considered many battery charging options, they decided to install wireless charging plates into the road at the terminals, giving the bus 10 minutes to top-up before it turns round and runs the route in the opposite direction. There’s no need for the driver to physically plug in or swap batteries, so s/he gets a ten minute breaks, as per routine with diesel buses. The regular top-ups increase the range of the bus, so that it only needs a longer, trickle charge overnight back at the depot.

Leave a comment

Filed under Meetup, Technology