“The premise was simple: the time is right for a JSON-based approach to feeds,” Reece said. “We hope that JSON Feed is straightforward enough to be implemented quickly, and capable enough to push the next decade of blogging software forward. We love RSS too and tried to learn from its success.”
Version 1 of the spec was published last week and the intro includes a very simple example. Publishers can further extend their feeds by creating custom objects.
JSON Feed Creators Want to Inspire More Developers to Create Apps for the Open Web
Reece and Simmons decided the time was right to build an updated syndication format, as more and more developers are refusing to work with XML.
“I believe that developers (particularly Mac and iOS developers, the group I know best) are so loath to work with XML that they won’t even consider building software that needs an XML parser,” Simmons said. “Which says to me that JSON Feed is needed for the survival of syndication.”
In an interview on the The Run Loop podcast, Simmons attributed the decline in open web development to developers’ growing aversion for working with XML, which always has problems with character encoding. Many developers find JSON to be easier to use and less buggy.
“It has kind of made me sad these past five or ten years where it seems like development for the open web has slowed down a lot, particularly when we talk about the intersection of the Mac desktop and the open web,” Simmons said. “There just isn’t that much going on. I realized that one of the reasons is that people really hate XML and will go out of their way to avoid it. If they see XML APIs or XML stuff they’re not interested. That’s yucky, old, weird, hard stuff. But everyone likes JSON, all the cool APIs are JSON, even the not cool APIs are JSON. Everyone uses JSON.”
Simmons said he is hopeful that the existence of JSON Feed will inspire developers to build new things for the open web.
“What I’m hoping to see is that particularly Mac and iOS developers will consider doing new and innovative stuff on the open web, rather than writing yet another Twitter client or something that does something with Facebook. I want to see apps that do something with data that is not stored in somebody’s silos. I’m sick of corporate ownership of our data and of what I look at.”
It’s not surprising that Simmons decided to partner with Reece, who built micro.blog out of similar convictions regarding the open web. They worked together on the project since February and recruited a dozen different peers to review the specification before launching last week. Now that version 1 is published, its creators hope JSON Feed will make its way into other parts of the web and applications.
“What I’m hoping is that this is part of a bigger thing,” Simmons said. “The idea is to revitalize interest in the open web, in blogging, in syndication, and all of that kind of stuff.”
Feed Readers are Beginning to Add Support for JSON Feed
Initial reactions to JSON Feed have been mixed. Many proponents wonder why it has taken so long for something like this to emerge, but critics ask why the web needs yet another syndication format. A few common criticisms on Hacker News that echo the sentiments of many who oppose the idea:
“We don’t really need another syndication format that no reader is going to support or support well for years.” – @oefrha
“If you’re going to make a new feed format in 2017, I’m sorry but copying what came before it and throwing it into JSON just isn’t enough.” – @russellbeattie
“One has to wonder whether Simmons is just trying to revive the old RSS ecosystem. “What do developers like these days, JSON? Let’s do RSS in JSON!” … This does not help. The real challenge these days is to replicate the solutions Facebook and Twitter brought to feeds (bi-directionality and data-retention in particular) in a decentralized manner that could actually become popular. Simply replicating RSS in the data-format du jour is not going to achieve that.” – @toyg
Despite critics, feed readers are already starting to add support for JSON Feed. The good news for publishers is that they don’t have to abandon their RSS feeds. Publishers can add support for JSON Feed alongside their existing feeds.
Ben Ubois, founder of Feedbin, addressed one of the most common criticisms that feed readers aren’t likely to add support for the new JSON Feed spec because of the prevalence of RSS:
“One of the criticisms I’ve seen of JSON Feed is that there’s no incentive for feed readers to support JSON Feed,” Ubois said. “This is not true. One of the largest-by-volume support questions I get is along the lines of ‘Why does this random feed not work?’ And, 95% of the time, it’s because the feed is broken in some subtle way. JSON Feed will help alleviate these problems, because it’s easier to get right.”
JSON Feed also has a few additional features that existing formats don’t offer as easily. Simmons highlighted a few graphics-related features in his interview with The Run Loop podcast:
For instance, when you define an author, you can provide a URL of an avatar image. You can imagine someone doing kind of a Twitter-like view of a feed with avatars for different posts. It also has support for things like the URL of the featured image or banner image that you can specify for an article and your RSS reader can format it somewhat like it would look like if you had actually gone to the web page with the banner image in the background. It has a way to specify fav icons and a larger icon for your feed, which right now news readers have to guess what your favicon is or scrape the homepage looking for the metadata tag that says where it is. They have to make all these additional requests to find out some of the basic graphics about your feed or about the article and that stuff is all specified inside the JSON feed. People who actually use those get a much nicer interface on the reading side.
Dave Winer experimented with the idea of JSONified RSS in 2012, but it didn’t catch on. His reaction to the new JSON Feed spec is “pretty neutral, kind of a shoulder shrug.”
“If developers have a hard time using XML in their apps, if that’s the problem, why not attack it right there?” Winer said. “Work to make it easier. I work in Node and the browser, and in both places XML and JSON are equally easy to use. The same could be done for any environment. In fact in the browser, XML is integrated deeply into the programming model, because the web is made out of XML.”
In contrast, John Gruber thinks it’s the right time for the project and didn’t hesitate to add a JSON feed for Daring Fireball. He is eagerly supporting the JSON Feed project and is closely monitoring its adoption, publishing links to all the apps and feed readers that have already added support.
“I think this is a great idea, and a good spec,” Gruber said. “I even like the style in which the spec is written: for real humans (much like the RSS spec). If you want to see a real-life example, Daring Fireball has a JSON Feed. I’ve got a good feeling about this project — the same sort of feeling I had about Markdown back in the day.”
With the momentum from quick adoption by smaller news readers, JSON Feed has the potential to revive news syndication if some of the larger ones add support. Developers may even be more inspired to create new feed readers, given the ease of implementing the new spec.
Manton Reece said that if JSON Feed had come along when blogging was at its peak, when there were fewer problems, he thinks there would have been less of a pressing feeling that the web needs a new syndication format.
“I’m amazed with the traction it’s gotten,” Manton Reece said in a recent interview on the Core Intuition podcast. “Of course some people will be negative about it and some people won’t like it. We certainly expected a lot of pushback on it. Everybody knows we need this, but it’s daunting. Who is going to try to push something like this when there are millions of RSS feeds? It feels like why even bother, it’s impossible. But things change over time and I think this is important enough and blogging is important enough that it’s worth making the investment now. Tomorrow the web is not going to be any different, but over time it might be a little different. Everybody knows that we need something like this but there hasn’t been something everybody could get behind until now.”