Tag Archives: twitter

Twitter streaming API and Micro.blog

The writing has been on the wall for years. Now that Twitter plans to move ahead with deprecating APIs that apps like Twitterrific and Tweetbot use, it’s even more clear that there’s no overlap between Twitter’s priorities for the API and what traditional clients need.

When I wrote about Icro, the first third-party app for Micro.blog, I said that I always want to encourage other developers building for Micro.blog. It’s worth exploring how these Twitter API changes compare to Micro.blog and how we can improve.

The streaming API is a big part of this. Twitter apps currently use the streaming API to deliver tweets in real-time without polling, or to notice when someone is @-mentioned so that a push notification can be delivered. Losing this API is especially frustrating because it means developers need to rewrite a bunch of code only to make their apps a little worse instead of better.

Micro.blog doesn’t actually have a streaming API yet. Micro.blog supports multiple APIs, but no persistent connection. The new app Icro doesn’t have push notifications, although the official Micro.blog app does. For a brand new app like Icro, it would be a lot for the developer to also run a server just to do push notifications.

As I think about how we solve this, I remember a discussion in the Twitter developer community when the iPhone first got push notifications. It was an open question: should Twitter third-party developers run their own servers for push notifications, or should Twitter itself deliver push notifications on behalf of third-party apps? Obviously third-party developers have had to run their own servers.

I think a goal for us with Micro.blog should be that third-party developers get access to the same basic tools that we use to build our own apps. Rate-limits should be the same for an app like Icro as they are for the official Micro.blog app, for example.

With that in mind, I’ve mentioned before that I’d like to offer a push notification service for developers. iOS and Android developers could upload their push notification credentials from Apple and Google. Micro.blog would store them and deliver push notifications directly to third-party apps.

This has a few pretty big advantages:

  • Third-party developers won’t need to run their own servers. This levels the playing field so that any Micro.blog app, no matter how small, can offer basic features like notifications.
  • Push notifications are more capable now than at their introduction in 2009. They can be used not just for an alert message but for silently sending data to an app in the background, such as when new posts have been added to someone’s timeline.
  • It’s more efficient. Instead of keeping persistent connections open to Micro.blog servers, Apple and Google handle the persistent connections between devices and the cloud. Micro.blog can simply forward @-mentions to the clients that have requested them via Apple and Google infrastructure.

This is a little bit of extra work for Micro.blog, but Micro.blog is already doing similar processing when a reply comes through. For every reply to a blog post, Micro.blog checks if there is a Webmention endpoint so that it can forward that reply to an external site, such as one hosted on WordPress. Opening up push notifications feels like a natural extension to that.

Some developers might not be comfortable outsourcing this to Micro.blog. That’s fine. In particular I’d like to hear any concerns over security or features where this approach would be too limited. (To be clear, we’d offer this for free. Our business is blog hosting.)

Back to the Twitter news. John Gruber summed it up this way:

Twitter isn’t explicitly saying that they’re shutting down third-party clients, but I don’t know that it’s feasible for them to exist if they don’t have access to these APIs. It’s like breaking up with someone by being a jerk to them rather than telling them you’re breaking up.

That’s a great analogy. Micro.blog is barely a year old, so there is plenty still to do, and there are parts of the API that aren’t as mature yet as they will be. But I think we’re transparent about what we’re trying to do and how we can support developers. We’re not going to be jerks about it.

I’m really excited by what I’m seeing from the community. Icro is in the App Store. Slate is another iPhone app currently in beta. Dialog for Android is in the Google Play Store as a public beta. And then there are all the apps following IndieWeb standards that are compatible with Micro.blog.

WWDC is only a couple weeks away. We’ll have a Micro.blog meetup on Tuesday (June 5th) at lunch. I’d love to talk to developers at the meetup or anytime that week in San Jose to get feedback on how we should handle streaming and notifications.

Twitter executing on 2012 vision

I’ll have more to say tomorrow specifically about the technical side of Twitter’s streaming API, but for now I want to highlight where this all started. In August 2012, Twitter posted to their blog about upcoming changes to their API. This was the post with the infamous 4-quadrant chart showing which third-party apps Twitter wanted to encourage, and which apps (in the upper-right quadrant) they didn’t want third-party developers to work on anymore.

From the post:

In the upper right-hand quadrant are services that enable users to interact with Tweets, like the Tweet curation service Storify or the Tweet discovery site Favstar.fm.

Although it wasn’t clear in the blog post, Twitter later clarified that Storify and Favstar were fine. Nevertheless, Storify announced last year that the service would be shutting down… tomorrow, actually. Favstar is shutting down next month.

The post from Twitter continues:

That upper-right quadrant also includes, of course, “traditional” Twitter clients like Tweetbot and Echofon. Nearly eighteen months ago, we gave developers guidance that they should not build client apps that mimic or reproduce the mainstream Twitter consumer client experience.” And to reiterate what I wrote in my last post, that guidance continues to apply today.

It has taken nearly 6 years, but it feels like today’s API changes finally wrap up the work that started in 2012. The apps that are possible with the new Account Activity API are exactly the apps that were encouraged in those other quadrants. The pricing makes no sense because it wasn’t designed for traditional Twitter apps like Twitterrific and Tweetbot.

Two months after that post from Twitter, I quit the platform and stopped posting to @manton in protest. I only wish I had started working on Micro.blog immediately in 2012.

Apps of a Feather

I posted a link to this last week, but it’s worth some additional comments. Apps of a Feather is a new site to spread awareness about upcoming Twitter API changes:

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.

I have a long history with Twitter. I was user #897. I built multiple apps for the platform. I invested so much of my time and code into the Twitter ecosystem.

Then Twitter leadership showed us the future, and it was clear that third-party developers had little or no place in it. It was just a matter of time. And now, maybe time has run out.

If you still love Twitter, absolutely tell them to reverse course and rebuild their relationship with third-party developers. These are great apps and great developers, and I don’t want to see their business cut down because of a developer-hostile platform outside their control.

Meanwhile, we’re working to make Micro.blog better every day. It’s the most ambitious thing I’ve ever worked on. Building for the open web needs to be done in parallel to hoping the other social networks improve, whether you’re still waiting for those sites to do the right thing, or already know it’s time to move on. I only wish we had started sooner.

Twitter’s weeds

Mike Monteiro wrote on Medium this week about the daunting, insurmountable problems facing Twitter’s leadership team. He talked about meeting in person with Jack Dorsey:

We discussed Twitter’s role in the world stage. And I admired his vision, but feared his approach. Jack, and to an extent Twitter’s pet porg Biz Stone, have always believed that absolute free speech is the answer. They’re blind to the voices silenced by hate and intimidation. The voices that need to be protected. But anyone who’s ever tended a garden knows that for the good stuff to grow, you have to deal with the bad stuff. You can’t let the weeds choke the vegetables.

I love the metaphor of a garden. In fact, I wrote a whole chapter of my upcoming book Indie Microblogging about gardens. The chapter is a longer version of what Mike says above, but with a twist.

The issue isn’t that Twitter doesn’t care. It’s instead a fundamental design flaw in the platform. Because tweets don’t exist outside of Twitter, when you’re banned, you’re done. For this reason, and because their business depends on a large user base, Twitter is hesitant to throw anyone off their service. They’re unwilling to tend the garden for fear of pulling too many weeds.

Imagine instead a service based on blogs, where the internal posts on the platform were the same format as the external posts. The curators of the platform would have more freedom to block harassing posts and ban nazis because those problematic users could always retreat to their own web site and leave everyone else in the community alone.

That’s how the web is supposed to work. It’s a core principle of Micro.blog.

Twitter will continue to improve. I believe they’re trying. But the root issue can’t be fixed without starting over.

Twitter threads

Twitter announced today they will make it easier to chain tweets together in the official app. John Gruber summarizes the pro-tweetstorm argument on Daring Fireball:

This is a good idea. People are creating threads without official support, so true support can only make it better.

The problem is that Twitter threads take the place of blog posts. Most people won’t think to switch to their blog instead of firing off a series of tweets, but some will. Promoting Twitter threads to such a prominent place in the UI will encourage more people to create Twitter threads. It will lead to more content in Twitter and less on the open web.

Micro.blog takes a different approach. When you type over 280 characters, instead of offering to split it into multiple posts in a thread, it reveals a title field and lets you turn it into a full blog post. I feel really good about this solution because the UI actively tries to make the web a little better instead of worse.

Because you’re passionate about it

“People will want to go to it because you’re passionate about it, and people love what other people are passionate about. You remind people of what they’ve forgotten.” — Mia in La La Land

Business without direction is hollow. Your company can be full of users or money but if it’s empty of purpose, no one will truly care about what you’re building.

This is one of several problems with Twitter today. It’s not just that the leadership team is overwhelmed and paralyzed. They can no longer articulate to users what Twitter the company is passionate about.

Supporting #WomenBoycottTwitter

I’m glad to see #WomenBoycottTwitter getting some traction. Complaints come and go, but a real break sends a stronger message and gives us perspective. I would never have started Micro.blog unless I had spent enough time away from Twitter to see a better way. It’s not enough to just complain.

Very little has changed since I wrote my 10-year Twitter post last year. If you wait for Twitter to solve all the platform’s problems, you’ll be waiting a long time.

Twitter public opinion may flip

Nick Heer writes at Pixel Envy about Twitter’s half-hearted attempt at transparency on fake news and the election:

As tech companies play an increasing role in democratic processes worldwide, a regular theme has been their reluctance to admit to their own influence in a legal context. They’re perfectly happy to trot out the old Silicon Valley trope of changing the world and brag to candidates about the effectiveness of advertising on their platforms when it suits them. But when it’s time for them to be introspective about their own responsibilities, they suddenly clam up and claim that they can’t possibly have influence.

It’s time for a reckoning. I don’t know if it’s government regulation. But we are on the edge of pushback against ad-supported, ginormous platforms. Once it flips, as it did against Uber, there will be an opening for real change.

More on 280 characters

For this week’s Core Intuition, Daniel and I spend the whole show talking about Twitter’s 280-character change and related fallout. It makes a good complement to my initial blog post, as well as yesterday’s episode of Timetable.

And of course I liked this part of Colin Walker’s blog post:

Having gotten used to a 280 character limit on micro.blog I can honestly say it makes a world of difference.

Dave Winer wrote about the need for Twitter to take risks:

So if you think the 140-char limit is so great, why isn’t Twitter making money for its shareholders? If you were management at Twitter would you be conservative or would you take risks? As a shareholder, I want them to take risks. Big ones. Why not? They don’t really have anything to lose.

My daughter’s Twitter account has access to the new 280-character limit, so I’ve had a chance to see the new UI. Instead of counting down, it uses a circular progress bar until you get near the end of the limit. The UI is further proof that Twitter didn’t make this change on a whim. They plan to ship it.

Twitter experiments with 280 characters

I had first suggested a 280-character guideline for microblog posts back in 2014. As I’ve said many times since then, and through launching Micro.blog, I believe expanding the limit will make for better conversations, less mangled punctation, yet still remain short enough that it encourages quick posting.

Twitter announced today that they are also experimenting with a 280-character limit! From their blog post:

We understand since many of you have been Tweeting for years, there may be an emotional attachment to 140 characters – we felt it, too. But we tried this, saw the power of what it will do, and fell in love with this new, still brief, constraint.

They focus most of the announcement on explaining how the current constraints are different for some languages, like Japanese, which can fit far more words into 140 characters. That’s true, but it glosses over the most important point.

Longer text allows for more thoughtful posts, fewer misinterpreted shouting matches, and Twitter desperately needs to improve the tone of conversations on their platform. I’m a fan of this change.

Timetable 54

I posted a new episode of my Timetable microcast. Here’s a bit from today’s episode about blogging and tweeting:

My “blog first” strategy is actually really simple. I just follow the rule that I never post directly to Twitter unless I’m replying to a question. If I want to post something to Twitter, I fire up MarsEdit on my Mac, or I open the Micro.blog iOS app, and I post it there. Then of course Micro.blog sees that and sends it to Twitter for me.

I’m getting back into the groove of publishing these episodes. This was the third episode of Timetable this week.

Tomorrow matters

As I plan for the iPhone X pre-order, I wanted to write a blog post about all the iPhones I’ve bought, and when. I’ve skipped a few generations, and even made some seemingly oddball choices like getting the iPhone 5C when all my friends got the 5S. In the process of searching old blog posts to confirm whether I even bought the 3G or waited for the 3GS, I found this old blog post about WWDC 2008.

In the post I had collected 95 tweets from myself and others during WWDC. This was 9 years ago, so it’s a bit of a blur. But reading them again brings back memories. These old tweets are gold.

If I hadn’t collected the tweets, I would never find them again. And if anything changes at Twitter, they could just as easily be lost. Remember, it wasn’t that long ago that you couldn’t go back more than 3200 tweets in your timeline. Searching old tweets is still impossible in third-party Twitter clients.

Obviously I’m all-in on indie microblogging. I post to my own blog and let Micro.blog sort out cross-posting a copy to Twitter. But looking at these old tweets, I’m just struck with how foolish it was to ever post content exclusively to Twitter. It was an assumption that today mattered more than tomorrow, when the opposite is often true.

A photo is the most clear expression of this truth. Taking a photo doesn’t improve the moment. It’s for later.

Twitter in 2008 was a mix of microblogging and conversations. It was writing without pretense, with no expectation of likes and follower counts. It felt ephemeral, and maybe it still does to many Twitter users today. But you never know when you want that fleeting comment to actually last, and if you don’t control the post, there are few guarantees that it will.

Gizmodo on RSS

David Nield of Gizmodo has a sort of re-introduction to RSS, with an overview on why it’s more useful than ever:

One of the main reasons RSS is so beloved of news gatherers is that it catches everything a site publishes—not just the articles that have proved popular with other users, not just the articles from today, not just the articles that happened to be tweeted out while you were actually staring at Twitter. Everything.

Obviously I’m a fan of RSS. Micro.blog has great support for it throughout the platform. But even though I subscribe to hundreds of feeds, I even caught myself recently loading a few favorite news sites manually instead of using the feeds. Doesn’t hurt to be reminded that there’s a better way.

Flip the iceberg

Many people are initially confused by Micro.blog because they are expecting a strict clone of Twitter. They are expecting another App.net. But as I said in the Kickstarter video, clones of Twitter and Facebook have come and gone. They’ve all failed. A different approach won’t guarantee success, but it is required to have a chance.

I plan to stay the course. I’m inspired by the work of the IndieWeb, which was founded 6 years ago and is still gaining momentum today. I hope that the solar eclipse photos posted to indie microblogs today will last through the next North American eclipse 7 years from now, and longer.

There was a great article on AltPlatform about how compatibility between new blog-focused platforms could eventually become bigger than any one social network:

Open source tools like WordPress, 1999.io and Mastodon.social are creating many small networks of publishers, and popular tools like Twitter and Micro.blog could peer with them. If all of the social networks outside of Facebook interoperated at some level, they might eventually “flip the iceberg” and become the dominant form of social networking.

It’s going to take a while, but I have no doubt that this “flip” is exactly what will happen. The entire web should be the social network. It’s too big of an idea to be contained on a single web site.

What’s happening

Because I don’t follow anyone on Twitter, about once a week I’ll randomly click through a few Twitter user profiles to see if I missed anything interesting. Usually the answer is no. If something important is happening, it’s also being discussed in more detail on blogs, and I’ll see it.

Yesterday I checked on the last tweets of a few developer friends who stopped posting either after the election or on inauguration day. I have a lot of respect for anyone who makes a quiet, peaceful stand on principle. It’s not easy to go against the flow.

The 2016 election was a disaster. It still hurts to think about it. I keep telling myself and others: heads down, keep working. I have to believe we can get through this.

Today another story exploded on Twitter: a shooting at a congressional baseball practice. If you had clicked through from the trending links on Twitter this morning you’d have seen the worst speculation, misinformed partisan tweets, and unhelpful “facts” before we knew what really happened. When we should all be striking a solemn tone for the injured, the tweets instead quickly turn dark.

For a service that prides itself on breaking news, Twitter is an absolute dumpster fire in times like this. The best of Twitter is the thoughtful tweets and discussion, connecting new friends and diverse opinions. When real news breaks, the service runs uncontrolled, in fits of nervous energy and hate. It’s a terrible place.

Micro.blog will never have trends, search, or even retweets until we can elegantly solve this. The world doesn’t need another platform with so much manipulative power.

More on Twitter’s 10 years

Stephen Hackett marked his 10th anniversary of using Twitter by writing about how great Twitter has been for connecting people. Of course, the company’s problems are also well known:

The company itself seems to struggle in getting even basic decisions right. I often joke that Twitter may be doomed, but I don’t say it in pure jest.

He made a similar joke on Connected 133 that Twitter will be gone in 5 years. I think it’s a toss-up. But one thing I’m pretty sure about: the hate tweets and harassment problems can’t be fixed by waving a magic wand. They are fundamental and must be planned for at the beginning.

App.net archive

App.net officially shut down last night. As I wrote about earlier this year, App.net was an important milestone in the move to more open social networks. I’m glad the platform existed and I enjoyed participating there as a user and developer.

Linkrot and the lack of permanence on the web is a recurring theme for this blog. In the final days as App.net was winding down, I wanted to put my money where my mouth was. I spun up a couple new servers and wrote a set of scripts to essentially download every post on App.net. It feels like a fragile archive, put together hastily, but I believe it’s mostly complete. I’ve also downloaded thumbnail versions of some of the public photos hosted on App.net.

I’ll be making the posts available somewhere, although I don’t know exactly what form the archive should take yet. I’ll also be considering whether to integrate it with Micro.blog, for anyone who wants to migrate to a new microblog and didn’t have time to manually export their posts. (I’ve already built a similar feature to import from Twitter’s .zip archives.)

To my Kickstarter backers, thanks for your patience as I took an unexpected detour this week. Major work on Micro.blog continues. I have a big announcement for next week and invites should be ready the following week. I’ll post an update to Kickstarter soon.

More on algorithms and UI

Ben Thompson’s daily update email today covers fake news and algorithms. It’s a great post, although a little disheartening in the way that most coverage of filter bubbles and the election tend to be. One line in the closing paragraph:

Algorithms have consequences, particularly when giving answers to those actually searching for the truth.

It mirrors something I wrote in January about algorithms and curation:

Software has consequences. How it’s designed informs what behavior it encourages. If it’s built without thought to these consequences, it will succeed only by accident.

Quick posting via retweets on Twitter and re-sharing on Facebook contributes to the spread of fake news. As the New York Times article Ben links to says, fake news is “designed to attract social shares and web traffic”. Bad news stories with dramatic headlines can spread more quickly than they would if everyone posted an original comment with their link.

It’s too easy to click a retweet button without thinking. Fake news is as much a user experience and design problem as it is an algorithmic problem.

Safe search on Twitter

Twitter made an announcement today about stopping abusive accounts and hiding low-quality tweets. I think filtering search results in particular is a very good step in the right direction:

We’re also working on ‘safe search’ which removes Tweets that contain potentially sensitive content and Tweets from blocked and muted accounts from search results. While this type of content will be discoverable if you want to find it, it won’t clutter search results any longer.

As I work on Micro.blog, I’ve tried to be mindful of where users can stumble upon posts that they don’t want to see. Replies is a big one, and I’ll be focusing most of my attention on that. But search, trends, and hashtags are also a problem, because they let anyone’s posts bubble up to a much wider audience. I’m launching Micro.blog without them.

Owning your content matters right now

Twitter and Facebook are both powerful tools to help people organize. We’ve seen some of that over the last few weeks of protests. While these social networks are also broken in significant ways, they’re not all bad. They bring people together and expand the reach of posts from our own web sites. That’s why many people embrace cross-posting.

Even more important is the free press. Not just big sites like the New York Times and Washington Post, but also small sites like yours and mine. Trump will continue to attack and undermine the mainstream press. Everyone who publishes on the internet should consider where that leads.

It’s not a good foundation to concentrate so much writing into one place like Twitter or Medium. Distributing writing across more web sites protects us if one massive site shuts down. It gives us flexibility to move to the next popular network if one emerges.

Sometime in the next 2 years, a reporter or blogger is going to break a story about the Trump administration. It’s going to be too important to ignore. But to be taken seriously, it can’t be an anonymous Twitter account that’s easy to cast doubt on. It has to come from someone accountable who has built a reputation by publishing good work and owning it.

Owning your content by having a microblog at your own domain is empowering. Maybe you’re writing about what you had for lunch. Maybe you’re photo-blogging an important trip. Maybe you’re posting from your iPhone at a protest outside the White House.

It doesn’t matter what it is. If it’s happening and worth writing about, it’s worth owning. Now more than ever.