The personal blog of Stuart Breckenridge

We Can't Blame the EU for This

Polly Toynbee, for The Guardian:

At least May spelled out one useful warning. When everything collapses around their ears, when Brexit proves a calamity, “It will be no good blaming the EU, responsibility would lie with this House.” And so it would – unless this House can pull back, revoke article 50 with a confirmatory public vote, and try to dismiss this whole desperate episode as a brief strange nightmare that history should forget.

The Leave Campaign also shoulders a degree of responsibility for lying.

Regardless, now that the public has an understanding of the costs and implications of leaving the bloc, a confirmatory vote is the only logical, fair way forward.


Thunderbolt 3 and USB to Converge Under USB 4.0

Joe Rossignol, via Macrumors:

USB4 converges the Thunderbolt and USB protocols as part of Intel’s goal to make Thunderbolt available on a royalty-free basis, which should result in wider and cheaper availability of Thunderbolt accessories like docks and eGPUs.

The USB4 specification is on track to be published around the middle of 2019. Over 50 companies are actively participating in the final stages of review of the draft specification, which should include Apple, Intel, and Microsoft, but it might take a few years until the first USB4 devices are released.

USB4 is Thunderbolt 3. As such, I don’t think it’ll take as long as a few years before we see USB4 devices.


The USB 3.x Renaming Mess

Juli Clover, for Macrumors:

Going forward, USB 3.1 Gen 1 (transfer speeds up to 5Gb/s), which used to be USB 3.0 prior to a separate rebranding, will be called USB 3.2 Gen 1, while USB 3.1 Gen 2 (transfer speeds up to 10Gb/s) will now be known as USB 3.2 Gen 2.

What used to be considered USB 3.2 will now be USB 3.2 Gen 2x2 because if offers twice the throughput speeds of USB 3.1 Gen 2, now USB 3.2 Gen 2. If that sounds confusing to you, you’re not alone. Tom’s Hardware made this handy chart that shows the new branding scheme compared to the older branding.

If the swap between USB 3.1 Gen 1 and Gen 2 to USB 3.2 wasn’t confusing enough, each of these specifications also has a marketing term. The new USB 3.2 Gen 1 with transfer speeds up to 5Gb/s is SuperSpeed USB, while USB 3.2 Gen 2 with transfer speeds up to 10Gb/s is known as SuperSpeed USB 10Gbps. The USB 3.2 Gen 2x2 specification with transfer speeds up to 20Gb/s is known as SuperSpeed USB 20Gbps.

This is just crazy:

  • USB 3.1 Gen 1 (now USB 3.0 & SuperSpeed USB)
  • USB 3.1 Gen 2 (now USB 3.1 & SuperSpeed USB 10Gbps)
  • USB 3.2 (still USB 3.2 & SuperSpeed USB 20Gbps)

The USB-C connector on my MacBook Pro supports 40Gbps through Thunderbolt 3 and 10Gbps through USB 3.11. I had to dig through the tech specs to work that out. It’s absolutely user hostile.

  1. USB 3.1 Gen 2 ↩︎


Apple Isn’t the Only Casualty of China's Slowdown

Angus Whitley, for Bloomberg:

FedEx: The U.S. delivery giant slashed its profit forecast in late December – just three months after raising it. While FedEx Corp.’s woes weren’t limited to China, the company cited trade tensions, especially between the U.S. and China, among its troubles.

Starbucks: But last month, Starbucks Corp. said sales growth in China could be as low as 1 percent in the long term. That’s slower than the 3 percent to 4 percent growth seen for the U.S. and the rest of the world. It’s not clear how much China’s economy or trade tensions are to blame – or if China is just losing its taste for caffeine.

Tiffany’s: China’s economic woes are more of a headache for the jeweller outside the country than inside. In November, Tiffany & Co. reported weaker-than-expected sales and highlighted a “clear pattern” of Chinese shoppers cutting back on spending when they’re overseas.

Daimler: The German maker of Mercedes cars was among the first global brands to blame escalating trade tensions when it warned in June that retaliatory tariffs in China on car imports from the U.S. would hit sales on the mainland.

Trade wars: good for no-one.


Apple Expect Revenue to Miss Guidance Due to Poor iPhone Sales

Tim Cook, in a letter to Apple investors:

Today we are revising our guidance for Apple’s fiscal 2019 first quarter, which ended on December 29. We now expect the following:

  • Revenue of approximately $84 billion
  • Gross margin of approximately 38 percent
  • Operating expenses of approximately $8.7 billion
  • Other income/(expense) of approximately $550 million
  • Tax rate of approximately 16.5 percent before discrete items

[…]

Lower than anticipated iPhone revenue, primarily in Greater China, accounts for all of our revenue shortfall to our guidance and for much more than our entire year-over-year revenue decline. In fact, categories outside of iPhone (Services, Mac, iPad, Wearables/Home/Accessories) combined to grow almost 19 percent year-over-year.

The revenue shortfall is $5bn – $9bn less than the $89bn – $93bn guidance provided around 60 days ago. The iPhone makes up nearly 2/3 of Apple’s revenue, so this is a striking miss for their most important product.

Other factors that contribute to the anticipated miss:

While Greater China and other emerging markets accounted for the vast majority of the year-over-year iPhone revenue decline, in some developed markets, iPhone upgrades also were not as strong as we thought they would be. While macroeconomic challenges in some markets were a key contributor to this trend, we believe there are other factors broadly impacting our iPhone performance, including consumers adapting to a world with fewer carrier subsidies, US dollar strength-related price increases, and some customers taking advantage of significantly reduced pricing for iPhone battery replacements.

  • Other emerging markets: Hello, India 🇮🇳. A market where growth hasn’t so much stalled as it hasn’t started. iPhone’s high pricing remains a problem in a market where the majority of smartphones are sold for less than $250.
  • iPhone upgrades: I’m not convinced the iPhone Xs and Xs Max high prices contributed significantly to a smaller number of upgrades. More likely is that the iPhone X is good enough for the vast majority of users to keep it for one more year.


Fortnite Asia Servers for Xbox Players

Since Sony decided to allow cross-platform play for Fortnite, I’ve found myself playing more and more on Xbox One X. I find the overall Fortnite experience on the Xbox One X to be the best available.

However, there’s a huge problem: there are no Asia or South-East Asia servers for Xbox players. None! This means that auto-matchmaking will sometimes connect to Oceania servers (Sydney) or NA-West (Northern California). When you’re connecting from Singapore this results in high pings ranging from 150ms to 250ms. Sometimes it’s just playable; sometimes it’s clearly unplayable.

Two things make this all the more irritating. First: if you play Fortnite on PS4, Switch, iOS or Mac/PC, then an Asia server is available, with exceptionally low pings. Second: there was a very brief period over Christmas where Xbox had an Asia server and it was superb, but then it disappeared.

I’m hopeful that the Asia server for Xbox players will return soon.


Singapore Transit v2.1.0

Today, I released the first major update to Singapore Transit since it hit v2.0.

Since that release, I’ve solicited feedback on Twitter, Facebook, and Reddit. Two major requests have surfaced:

  • Themes
  • Siri integration for a specific service at a specific stop

v2.1 deals with the latter. You can now add a Siri Shortcut to request arrival information for a particular service at a selected bus stop.1

In addition, since v2.02, I’ve renamed the app from SG Transit to Singapore Transit. It makes it easier for non-Singapore residents to find on the App Store and, I’m pleased to announce, it ties in nicely with my next project, London Transit (coming 2019).

  1. v2.2 will cover themes. ↩︎

  2. Actually, 1.x. ↩︎


Google Assistant Meets Siri

This is the best opening paragraph on Macrumors:

Google has updated its Assistant app for iOS to support Siri Shortcuts, enabling users to invoke Google’s virtual assistant using Apple’s virtual assistant, without even having to launch the app.


SG Transit v2.0.0

At the end of August, I started rewriting SG Transit with the following goals:

  • Better Performance
  • Siri Integration
  • Apple Watch Support

As I progressed, the following goals were added:

  • Rich Notifications
  • New UI
  • Additional LTA Data Mall API Functionality

All of this is now available in v2.0.0, which was released today.

Better Performance

SG Transit now uses Core Data instead of parsing large amounts of JSON each time the app is launched. This has improved performance of nearby bus stops, bus arrivals, and bus routes.

Siri Integration

SG Transit integrates deeply with Siri. You can add any bus stop to Siri, using your own voice command, ask Siri for the latest arrivals at that stop, and the results will be presented by Siri without opening the app.

Similarly, if you regularly check a bus stop at a particular time of day, Siri will learn about this behaviour and surface this as a suggestion to you via the lock screen.

Apple Watch Support

SG Transit Mini — SG Transit’s little brother — supports bus arrivals either using nearby stops or favourite stops. More features will come in future releases.

Rich Notifications

MRT & LRT service alerts and traffic alerts are delivered to the app as rich notifications. Simply pull down on the notification to see details like traffic incident locations.

Traffic notifications are configured by type (e.g. Heavy Traffic) and time (e.g. Afternoon 12:00 - 17:59).

New UI

The look-and-feel of the app (and icon) is completely new. It’s minimalist. but at the same time shows more information. For example, in v1 you could only see the the wheelchair, load, and bus type of the next bus, but in v2 you can see this information for the next three arrivals.

The tab bar has also seen some small changes with the introduction of haptics, animations, and, well, the removal of text.

Finally, you may have noticed from the screenshots above that the app has a brand new typeface: Hermes Maia.

Additional LTA Data Mall API Functionality

v2 introduces a brand new traffic tab. This includes traffic incidents, traffic cameras, and car park availability.

Bonus - Ad Removal

Ads have been removed from SG Transit. Instead, I intend to support development through in-app purchases. The first of these is cosmetic: the Alternative Icon Pack.


Chrome 69 Removes Trivial Subdomains

The recently released Chrome 69 inexplicably hides “trivial” subdomains, e.g. “www”. It’s such an ill conceived change that it will likely confuse end users. For example, https://citibank.com.sg and https://www.citibank.com.sg are not the same website, though in the address bar they look the same.

What’s worse is that it’s badly implemented.

Comment 5:

Why is www hidden twice if the domain is “www.www.2ld.tld”?

Comment 8:

“subdomain.www.domain.com” displays as “subdomain.domain.com”.

Stupidity in the extreme.