Archive for April 6, 2018

Friday, April 6, 2018

Twitter Shutting Down APIs

Twitter (MacRumors, Hacker News):

As we outlined in April, User Streams and Site Streams, along with the legacy Direct Message endpoints, will be replaced by improved products such as Account Activity API. We are providing notice to all Twitter developers that on Tuesday June 19, 2018 we are retiring the following services and endpoints[…]

Apps of a Feather:

If you use an app like Talon, Tweetbot, Tweetings, or Twitterrific, there is no way for its developer to fix these issues.

We are incredibly eager to update our apps. However, despite many requests for clarification and guidance, Twitter has not provided a way for us to recreate the lost functionality. We’ve been waiting for more than a year.


This change affects people who use third-party Twitter apps. All software platforms are affected, but it’s worse on iOS and Android where users rely on push notifications to know when something happens on Twitter.

Jason Snell:

I’d have a lot more sympathy for @TwitterDev taking control of its platform if it had ever showed any ability to create great user experiences itself. Instead it’s been @Twitterrific & @tweetbot that have done the work to make the platform better. #BreakingMyTwitter

There are lots of problems with this, but the biggest for me is that there’s no first-party Mac client, either. I would like to use Tweetbot, but I would use an official app if I had to. If the only choice is the Web site, I don’t see myself checking Twitter from my Mac at all.

Previously: Twitter Abolishes Native Mac Client.

Update (2018-04-06): Josh Centers:

The main reason Twitter hates third-party clients is because of the linear timeline. Why do FB and Twitter like jumbled timelines? It confuses you and they can slip in whatever they want. It’s power.

Zac Cichy:

I think Twitter’s ability to move quickly and control the subtleties of the user experience — including abuse — get easier when they aren’t having to consider third party client experiences.


Twitter says it is delaying the planned June 19th deprecation date for its streaming services. Developers will also be provided with ample time to migrate to the new Account Activity API.

Update (2018-04-07): Janak Parekh (via Dave Mark):

I can tell you exactly what Twitter is thinking, but you won’t like it.

They no longer see themselves as a simple publish-subscribe service—they’ve been long trying to become a algorithmically-curated, ad-driven social network (because, you know, Facebook does it, so it must work). In order to push a single product vision, they must correspondingly control the client experience.

Unfortunately for them, they left the barn door open (back when they were a simple service) and so now a chunk of their userbase uses the product in a way that is no longer their focus. They don’t want this anymore. At the same time, their API is useful for certain business applications (linking to other products, for instance).

So, they’re slowly supporting the use case that lets you have custom Twitter clients just to read feeds less and less.

Mac mini Turning 3.5 Years Old

Joe Rossignol:

It’s an opportune time for a reminder that the Mac mini hasn’t been refreshed in three-and-a-half years as of April 16. 1,267 days ago as of today, according to our MacRumors Buyer’s Guide. We asked Apple for a comment, but it’s unlikely they’ll break silence.

Nick Heer:

Last year, the Mac Mini was upgraded from “a product in [Apple’s] lineup” to “an important part of [Apple’s] product line going forward”; Panzarino made no mention of any status change indicated during his Mac Pro briefing.

And that’s weird. Half of the Mac models Apple ships are stale. It isn’t just me who finds that strange, right?

Meanwhile, it’s been 2 years since Apple released a new 4-inch phone, almost 3 years since it updated the iPad mini, 5 years since it updated the AirPort Extreme Base Station, and 8 years since it raised the MacBook Pro’s RAM ceiling.

Previously: Apple Comments on AirPort’s Future, New MacBook Pros and the State of the Mac, An Important Part of Our Product Line Going Forward.

Reading This Site With NetNewsWire 3

NetNewsWire 3 still has its fans, but unfortunately starting around January 29 it’s not been able to fetch the RSS feed for this site (or for C-Command). My Web server has dropped support for TLS 1.0, and for reasons I don’t understand, it seems that this is what NetNewsWire’s RSS feed downloader wants to use. (Other parts of NetNewsWire, such as its feed auto-detection and its browser seem to be able to use a newer version of TLS.)

However, there’s a workaround. NetNewsWire 3 has a great feature that lets you to subscribe to a script rather than a URL. So you can just create a text file named that looks like this:


or like this:


Then choose File ‣ New Special Subscription ‣ Script… and select the file. When NetNewsWire refreshes the subscription, it will run the script, which uses curl to download the feed.

Design Patterns Failed. Why? Should We Care?

Brian Marick (via Ole Begemann):

Now, I was in Ralph Johnson’s reading group. So when they were writing this book, I was reading early drafts of this, and I was talking to Ralph Johnson. And so I can say with, I think, a certain amount of authority that they thought of this as a first step in the direction of A Pattern Language. They were trying-- This was the first step on a path that would replicate the experience of using a pattern language, and that all fell apart.

And the question is why. I think you can have several reasons, but I’m going to focus on this one, which is that design patterns started out with not enough building blocks, that were at too low of a level. So if you look at all the design patterns, they’re basically composed of two things. There’s functions, or methods, which are just functions, and polymorphism, based on inheritance. Those are the two things in your bag of tricks, and that’s what you create these design patterns from.

Now, the building blocks from Alexander’s book are much richer. There are many, many more of them. These are just a sample of the building blocks used in patterns, where each one of those appears in the title of at least two patterns. So there are lots of building blocks, and they’re interconnected in various ways.

Previously: John Vlissides, Design Patterns of 1972.

The Stack Overflow Age

Joel Spolsky (tweet):

And, also: Stack Overflow will be ten years old soon! Wow! So I thought it would be cool to get the old band back together for a little reunion tour over the next few weeks. I want to catch you all up on some stuff but mostly I want to tell the story of Stack Overflow in a not-completely-disorganized way. With some perspective, it’s clearer now what we did right and what we messed up, so I’ll try to cover the good and the bad over a series of blog posts.


Of course, it turned out a lot bigger than we thought it would. The company today has 250 employees, is profitable, and has made it possible for millions of people to learn how to code and to deal with the new, super-complicated world of APIs and frameworks that we live in. But we just wanted to fix the internet.

Google Maps Adds Restaurant Wait Times and More

Juli Clover:

When searching for a restaurant using Google Maps, you can now see wait times at more than a million restaurants around the world that will let you know just how long you can expect to wait before being seated.

Apple Watch Adoption

David Smith (Hacker News):

The Series 3 is being adopted incredibly quickly and just last week became the most popular Apple Watch overall amongst my users with 33% of the overall user-base. The Series 0 is steadily falling, currently at around 24%.


I don’t know how low Apple would feel comfortable cutting off support for the Series 0, but it certainly seems like it is a possibility.

Manton Reece:

The big difference between the Apple Watch and the original iPhone or iPad is that many people (perhaps most) do not run third-party apps on the watch. Those people are not even counted in David Smith’s numbers.

See also: Under the Radar.