What is a JSON feed? Learn more

JSON Feed Viewer

Browse through the showcased feeds, or enter a feed URL below.

Now supporting RSS and Atom feeds thanks to Andrew Chilton's feed2json.org service

CURRENT FEED

STUARTB.DEV

Made with ones and zeros.

A feed by Stuart Breckenridge

JSON


Singapore Transit Summer Update

Permalink - Posted on 2019-08-11 12:00

Singapore Transit is undergoing some major changes in order to support iOS 13 and watchOS 6.

The nearby bus stops, bus arrivals, and MRT/LRT service status views have all seen some level of redesign. The Traffic Incident screen has been completely redesigned. Typography has been refreshed throughout, accessibility support has been improved further, and the app supports both light and dark mode. Finally, database updates — new bus stops and routes — are now delivered in the background rather than through updates via the App Store.

The Watch app that shipped with v1 and v2 has been…deleted. It is currently in the process of being rebuilt from scratch using SwiftUI1. The plan is for it have, as far as possible, feature parity with the iOS app.

The next version of Singapore Transit will also switch to date based versioning. The first version will be Singapore Transit 2019, then 2019.1, and so on. This is for simplicity more than anything else.

When’s all this coming?

I’m targeting late October. This should give the majority of current users enough time to upgrade to iOS 13 and watchOS 6, which will be the minimum supported versions.

  1. This has hit a slight delay as TestFlight doesn’t seem to support builds that use Combine. I’ve raised a feedback incident: FB6992845. ↩︎


Lucky Dip with SwiftUI and Combine

Permalink - Posted on 2019-06-13 14:41

My first iPhone app — in hindsight, my first UIKit app — was called Lucky Dip, and I released it about eight years ago. It was a little utilty that helped you pick lottery numbers for four different lottery games available in the UK.

Lucky Dip

With last week’s introduction of SwiftUI and Combine at WWDC, I though I’d build a new version of Lucky Dip to get some experience with these new technologies.

It turns out it didn’t take too long and it’s pretty much done.

Lucky Dip with SwiftUI

I’ll be putting the source code on GitHub soon.


WWDC 2019 Wish List

Permalink - Posted on 2019-05-28 13:15

It’s very close to that time of the year when all our Swift code breaks we get lots of new API to play with. Below is my work in progress list of features I’d like to see.

MapKit

  • Dark mode for maps. If there is to be a dark mode for iOS system-wide, I’d like an API that allows me to give the user a controllable dark mode for UIMapView.
  • Access to transit overlays. At the moment transit overlays, e.g. bus routes or MRT lines, are not available via any public API.
  • Snap to roads. Give developers an option to snap an MKPolyline to a road.
  • Increased direction request limit. You can currently get directions for up to 50 waypoints before you are rate limited. When calculating bus routes there are usually more than 50 waypoints, so that means using a less accurate MKPolyline to represent the route. This could be negated by giving access to transit overlays.

Alternative Icons

  • Alternative icon management. Move alternative icons to the asset catalog and remove the need to configure via Info.plist.

GameKit

  • Refresh the whole thing. GameKit has been neglected for so long. The documentation hasn’t been updated in over three years and there aren’t, as far as I can tell, any Swift code samples. It’d make sense for Apple, given their new focus on games, to really revamp GameKit.

Xcode

  • Storyboard performance. Make this faster, please.
  • Customisations. Via Becky Hansmeyer:

    every visual customization that is possible for a UI component should be editable in Interface Builder

  • SourceKit. LSP
  • Navigation. Clearer UI for different targets within the Navigator area.

Font Management

  • Asset catalog. Put fonts in the asset catalog and remove the need to configure embedded fonts via Info.plist.

Analytics

  • Framework. A first-party, privacy focused analytics framework, to challenge Firebase and App Center.


Singapore Transit v2.2.5

Permalink - Posted on 2019-05-24 22:51

This patch release updates Singapore Transit with new bus stops and bus routes and is available on the App Store now.


MacBook Pro 2019

Permalink - Posted on 2019-05-21 22:47

Chance Miller, 9to5Mac:

Apple has announced today that it is upgrading the MacBook Pro with faster 8th- and 9th-generation Intel Core processors. This revision marks the first time that the MacBook Pro has been available in an 8-core configuration. The new MacBook Pro models also feature a revised keyboard design.

[…]

In addition to the faster processors, Apple says the new MacBook Pros feature a new iteration of its Butterfly keyboard technology. Apple is including the new keyboard on the new 13-inch and 15-inch MacBook Pros released today. Apple didn’t offer any details on whether or not the new keyboard design would also make its way to other Butterfly keyboard Macs, such as the MacBook Air.

In addition, Apple is expanding its keyboard-replacement program. Joanna Stern, for the Wall Street Journal:

Apple on Tuesday said it was changing a material used in its butterfly keyboards and expanding its keyboard-repair program. The program previously covered first- and second-generation keyboards, but now includes coverage of the third-generation keyboards introduced last year on MacBook Air and high-end MacBook Pro models.

The fact that all butterfly keyboards, from first-gen through to today’s redesign, are covered by the replacement program is a good thing. However, it doesn’t fill me with confidence that Apple has got to the bottom of what’s making the keyboards so unreliable.


Becky Hansmeyer: WWDC 2019 Developer Wishlist and Keynote Predictions

Permalink - Posted on 2019-05-20 22:50

Via Becky Hansmeyer’s WWDC 2019 Wishlist:

stop making us […] write dumb hacks like adding a blank UIImage as a navigation bar’s “shadow” just to get rid of that line beneath it

I used to do this for Singapore Transit and it was incredibly annoying. However, a simpler approach is available (though still not ideal):


navigationController?.navigationBar.setValue(true, forKey: "hidesShadow")

That said, I think UINavigationBar does need to have support added for multi-line title labels in both normal and large title mode.


Powerbeats Pro Not Available Until June in Singapore

Permalink - Posted on 2019-05-19 07:50

Joe Rossignol, Macrumors:

While the black Powerbeats Pro remain listed as “coming soon” on Apple’s online store elsewhere, recently updated fine print on the Beats website indicates that the earphones will begin their worldwide rollout later in May and June.

Powerbeats Pro will be available to pre-order in black later in May in the United Kingdom, France, and Germany, followed by Australia, Singapore, China, Japan, Hong Kong, Korea, Austria, Italy, Spain, Ireland, The Netherlands, Belgium, Russia, Switzerland, Sweden, Mexico, and Brazil in June, according to the fine print.

Not great as I wanted to buy them before this year’s Sundown Marathon.1

  1. My left AirPod only lasts about 40 minutes on a full charge these days. That’s barely long enough to get through about a 7km run. ↩︎


Singapore Transit v2.2.0

Permalink - Posted on 2019-03-18 14:31

This version of Singapore Transit includes database and privacy policy updates.


The Boeing 737 Max has Crucial Safety Equipment Sold as an Optional Extra

Permalink - Posted on 2019-03-14 00:19

Essential reading from Jon Ostrower, at The Air Current:

Lion Air 610 should never have been allowed to get airborne on October 29, a conclusion shared by those familiar with the inquiry. The plane simply wasn’t airworthy. According to the preliminary investigation, PK-LQP’s Angle of Attack sensors were disagreeing by 20-degrees as the aircraft taxied for takeoff. A warning light that would’ve alerted the crew to the disagreement wasn’t part of the added-cost optional package of equipment on Lion Air’s 737 Max aircraft.

It’s staggering to me that any safety feature is sold as an optional extra.


We Can't Blame the EU for This

Permalink - Posted on 2019-03-13 23:00

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

Permalink - Posted on 2019-03-04 15:46

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

Permalink - Posted on 2019-02-28 14:54

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

Permalink - Posted on 2019-01-03 06:30

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

Permalink - Posted on 2019-01-02 22:04

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

Permalink - Posted on 2018-12-30 07:07

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

Permalink - Posted on 2018-12-01 14:31

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

Permalink - Posted on 2018-11-21 14:25

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

Permalink - Posted on 2018-10-07 13:16, modified on 2018-11-09 12:50

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

Permalink - Posted on 2018-09-07 05:11, modified on 2018-11-09 12:50

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.


Five Eyes Attorneys General on Encryption

Permalink - Posted on 2018-09-04 13:30, modified on 2018-11-09 12:50

The Attorneys General of the Five Eyes1 have a released a statement entitled Statement of Principles on Access to Evidence and Encryption. The outstanding sentence:

The Governments of the Five Eyes encourage information and communications technology service providers to voluntarily establish lawful access solutions to their products and services that they create or operate in our countries. Governments should not favor a particular technology; instead, providers may create customized solutions, tailored to their individual system architectures that are capable of meeting lawful access requirements.

In other words, the Governments of the Five Eyes are encouraging big technology companies to create backdoors of their choosing to weaken the encryption in their products in order to establish a lawful access solution.

This will not work. Bad actors, which the statement fails to mention, will work overtime to exploit such a solution. That, in turn, will put all sorts of data — from financial to communications — at risk.

  1. Which is beginning to sound more like a magician’s guild. ↩︎