Last week, Adobe announced that they would stop supporting Flash by 2020. In some ways this is surprising: I still sometimes run into pages that require Flash, and you can still find a few defenders of the platform in the software development community. But in other ways it was a long time coming. You can often see the decline of a technology in advance, by examining data on its usage in the software development community. One notable source of such data is in our Stack Overflow Trends tool, which shows questions about Flash have been declining in frequency since 2010.
This sudden shift in Flash's fortune suggests there's truth to the conventional wisdom that Apple "killed" Flash by not supporting it on the iPad in 2010. If we would have been able to see Flash's decline in advance, what other technologies might be past their peak? Here we'll use Stack Overflow data to dive into this question.
What technology might be next to die?
Flash has had its defenders over the last decade (here's some historical context), even though its decline in developer activity was apparent since about 2011. Might there be other technologies that appear reasonably healthy, but have also been declining in the last few years? To answer this question, we looked at Stack Overflow questions posted over time, the same data behind the Trends tool. We considered the trend in the last five years (to include tags that were once growing, hit a peak, then started shrinking), and estimated the rate of decrease over time for each technology. This is public data (you can use this query to download it yourself), so I'd be interested in what others find. We considered a technology to be shrinking if questions about it declined by at least 10% per year, on average. By that standard, what were the fastest-shrinking technologies?
Since 2010, the two fastest-shrinking tags on Stack Overflow were Flex (a Flash-based web application framework) and Microsoft's Silverlight. Both shrunk over time even faster than Flash did, with Flex showing a particularly sharp decline since its peak in 2010. Each of these technologies has dropped by about two orders of magnitude in terms of their presence on the site.
One of these is already deprecated: in 2015, Microsoft announced that they would stop supporting Silverlight by 2021. Flex is technically still officially supported (since 2011, by the Apache Foundation rather than by Adobe), but considering the deprecation of Flash, along with its diminished presence in developer questions, it's hard to say that it's a technology with a future.
Among major technologies (those with at least 100,000 questions asked since 2010), there are a few that are shrinking to a noticeable extent. Microsoft's ASP.NET web framework has been decreasing as a share of Stack Overflow questions since the founding of the site; this may be skewed because the site started with a disproportionate number of C# developers, but it also may reflect a diminishing relevance of Microsoft in the web developer space. Questions about Ruby on Rails grew more frequent until about 2011, then they started a slow decline. Objective-C has been declining as well, since it's being replaced by Swift as the language of choice for iOS development. Similarly, the "iphone" and "ipad" tags have been replaced by the general ios tags for questions about Apple's mobile platform (see our blog post on mobile development for more exploration of those trends or see iOS listings to explore job opportunities).
There are other languages and technologies that have been shrinking rapidly in this time period. Perl has seen its relevance decline for a long time (though it's worth noting that it still gets more questions month-to-month than truly dead tags like Flash or Flex). Questions about development on Facebook's application platform peaked in 2012 but has been shrinking steadily since. Questions about the Eclipse IDE started declining around 2014. JQuery Mobile was a popular library for reactive web development, but judging by the number of questions asked about it the interest seems to have declined in the last few years.
Do question visits tell a different story?
Of course, the number of questions asked about a technology isn't necessarily representative of its health. Developers often search for existing solutions to their problems before asking their own question, and it could be that once a large foundation of questions exist, users get their answers from those questions rather than asking new ones. Is it possible that for some of these tags, the questions that have already been asked are being visited more? Instead of looking at questions asked, we could therefore consider the number of visits to questions over time. We have this kind of traffic data back to late 2011. Can we see similar declines in traffic to these tags?
For the selected shrinking tags that we examined in this post, we generally see that the traffic tells a similar story to the number of questions asked. Traffic to questions about Flash, Flex, and Silverlight has dropped to almost nothing since 2012. ASP.NET and Ruby on Rails, while still making up a substantial portion of traffic, have undoubtedly been declining over time. Eclipse stays steady until 2014, then begins declining. From most of the tags we've analyzed, we usually find question traffic is a slightly lagging indicator relative to questions. Once the share of new questions to a technology starts decreasing, question traffic starts declining shortly afterward. Note that this isn't simply because new questions get viewed by people trying to answer them; about 98% of Stack Overflow traffic is to questions asked not on that day. Rather, this may suggest a shift where developers stop needing to ask new questions, and subsequently stop needing to visit existing solutions.
Conclusion: do questions really represent the health of a technology?
Bjarne Stroustrup, inventor of C++, said that "There are two types of programming languages: the ones people complain about, and the ones nobody uses." I'd argue that for the most part, the same is true of asking questions. We on the data team often examine the number of Stack Overflow questions (or visits) to get a sense of the health of a technology. I've heard counter-arguments that this isn't a good measure, since what questions or traffic really represent is how many people are confused about a technology, and that more comfortable users may not need to ask questions. It's absolutely true that we should examine the biases and shortcomings of any metric, and the comfort of users with a technology is one confounding factor to consider. However, I think the Trends data still gives us important insights. First, I don't think it's possible to run out of questions that can be asked, any more than it's possible to run out of books that can be written. There have been 1.4 million JavaScript questions asked in the site's history, yet its pace has grown steadily. Surely if it were possible to run out of questions about JavaScript, we would have done so already. Secondly, if everyone using your technology knows everything about it, that means your community isn't growing. A healthy technology environment includes a stream of newcomers that are learning the basics, as well as experts testing the platform's limits. Both of these types of users will often ask questions as part of their workflow. In 2011, a Flash developer could have argued "Yes, the number of Flash questions has been declining recently, but that's simply because the documentation is so helpful and we already know how to use it." Only time would tell the real story. In a future blog post, I'll be exploring what technologies are fastest growing as a share of Stack Overflow questions, and considering what that implies about the technology ecosystem.