Stuart Breckenridge

How Microsoft Has Become the Surprise Innovator in PCs

Farhad Manjoo’s article, How Microsoft Has Become the Surprise Innovator in PCs, has some fundamental flaws. He writes:

The hybrid Surface Pro — the inheritor of that first Surface’s vision, the latest version of which was released in May — hasn’t just become a moneymaker for the company. It was also the clear inspiration for the Apple iPad Pro, which supports a pen and keyboard but still feels less like a full-fledged laptop than Surface does.

Why would you compare the iPad Pro to how much it feels like full-fledged laptop? If you want a full-fledged laptop then get a full-fledged laptop! And while you’re at it, define full-fledged. Does a full-fledged laptop need to have an Ethernet port, a Display Port, and some USB connectivity? If so, is a MacBook Pro with USB-C only connections not a full-fledged laptop?

I have an iPad Pro and a MacBook Pro and I don’t ever feel the need to define my iPad Pro in terms of its laptopyness. Similarly, I don’t compare a MacBook Pro to either an iMac or Mac Pro.

Farhad continues:

And in the spring, Microsoft showed off Surface Laptop, which sounds humdrum enough; in shape and purpose, it isn’t much different from the MacBook Air, Apple’s pioneering thin and light laptop. But Microsoft’s machine has a better screen than the Air, and, more important, a future. People loved the Air, but Apple doesn’t appear to want to upgrade it, so Microsoft stepped in to perfect Apple’s baby.

I’d argue that the Surface Laptop’s competitor is the MacBook, not the MacBook Air. The MacBook has a slightly smaller display but a higher PPI, USB 3.1, and is significantly lighter. That said, the MacBook doesn’t have a multi-touch display and the integrated GPU isn’t as good the one in the Surface Laptop.

Also of note: the article makes no mention of other PC makers. Is the implication that Asus, Lenovo, HP, et al., are simply not innovating at all?

The Drag and Drop API Is Simplicity at Its Best

Sometimes an API comes out of nowhere and astounds you with its power and simplicity. I’ve just had that experience with the new drag and drop API in iOS 11. In my FFI List app, with around 20 lines of code, I’ve been able to implement functionality that allows users to drag an FFI from the app into any other app that supports text drops.

The first step is specifying a drag delegate for the table view:

savedFFITableView.dragDelegate = self

The second step is implementing the UITableViewDragDelegate:

func tableView(_ tableView: UITableView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] {
    return dragItems(for: indexPath)

The final step, similar to Apple’s sample code, is to create the drag item(s):

func dragItems(for indexPath: IndexPath) -> [UIDragItem] {
    let item = CDStack.shared.savedFetchedResultsController.object(at: indexPath) as! FFISavedEntity
    var validity:String {
        if item.valid == "false" {
            return "This FFI is currently not on the GIIN list."
        } else {
            return "This FFI is currently on the GIIN list."
    let string = "Name: \(\nGIIN: \(item.giin)\n\(validity)".data(using: .utf8)
    let itemProvider = NSItemProvider()
    itemProvider.registerDataRepresentation(forTypeIdentifier: kUTTypePlainText as String, visibility: .all) { completion in
        completion(string, nil)
        return nil
    return [UIDragItem(itemProvider: itemProvider)]

With those three short snippets this is the result:

What I want to do — and what I haven’t worked out yet — is dragging from the search table view on to the saved tab in order to save FFIs. It’ll take a bit more work, but I’m sure it’s doable.

Control Center States in iOS 11

Ryan Jones (via Twitter):

Absolutely nails the difficulties in understanding the current Control Center UI.

The End of Microsoft Paint

Zoe Klienman:

Microsoft’s graphics program Paint has been included in a list of Windows 10 features that will be either removed or no longer developed.

Paint has been part of the Windows operating system since its release in 1985 and is known for its simplicity and basic artistic results.

I was never a frequent user of Paint other than for cropping1 or resizing screenshots. However, what has stood out over the last few years is the artwork from Jim’ll Paint It. It continually cropped up on my Facebook feed and, in my opinion, gave Paint a hilarious new lease of life (for a short while).2

Update (2017-07-24): Paint will not be retired. It’ll just be moved to the Windows Store.

  1. Before the Snipping Tool arrived. ↩︎

  2. Check out: Roger Moore Bond Villain Reunion and Kebabba the Hutt ↩︎

Subscription Pricing

Subscription pricing is a contentious issue when it comes to software. Two great articles caught my attention over the last few days.

Michael Tsai:

It’s certainly true that people are wary of subscriptions. But I wonder how much of the recent backlash is due to the subscription model itself and how much is due to the fact that, in practice, transitions to subscriptions have effectively been large price increases.

Nick Heer:

While Tsai points out that subscriptions have increased the price of software for their typical lifespan, let’s not forget that some people are comfortable using an older version of software for longer.

I agree with both of these points of view. However, I also believe that people are wary of subscriptions because they don’t know what will happen at the end of their subscription period. Based on my subscriptions, if I stop paying at the end of the subscription period or otherwise cancel:

  • Creative Cloud: I’d lose access to Photoshop and Lightroom, making the apps useless
  • Office 365: I’d lose access to the Office Suite, making the apps useless
  • TextExpander: Snippets would stop expanding, making the app useless
  • 1Password: My account would be frozen but existing items would be usable
  • WebStorm: I’d lose access to future updates, but I’d have a perpetual license for the latest version of the software as at the end of my subscription

Of all those, I think WebStorm provides a reasonable middle ground in a subscription model: when you cancel you’ll have a perpetual license to use the latest version of the software as at the end of your subscription. It’s the most equitable solution for consumer and developer, and, to Nick’s point, lets people use the software version that they are happy with, while not paying for future releases that mean nothing to them.