A Vine mess: The choice between rebooting and reviving old software
A Vine mess: The choice between rebooting and reviving old software
In October 2022, after completing the acquisition of Twitter, Elon Musk asked his team to work toward bringing Vine back to market. The team is likely now asking themselves if they should try to revive the old codebase or start from scratch.
Are the problems Vine is facing even technical in nature, or does it have to do with the core business model?
I have no actual knowledge of the Vine tech stack, but these questions (as we’ll see) have been a constant in the industry for well over 20 years. This article uses my own experience working on high-throughput B2B and B2C stacks during a similar time period that Vine was around, and I’m making some assumptions.
Whether I’m correct or not, the broader considerations will apply to anyone facing such a decision right now.
The trouble with Vine
The trouble facing Vine has nothing to do with its tech. It’s likely that the team at Twitter could define and ship a perfectly designed app and not even make a dent in TikTok’s market share.
The conversation they should be having is more about business than technology. When Vine launched in 2012, TikTok was still five years away, and Vine never figured out how to monetize its platform successfully in a way that took care of the top creators and influencers. It might be ambitious to think that you can go from zero to a world-class social media site in a matter of months.
Reviving parts of a codebase is like changing a plane’s engine while it’s mid-flight.
Whether the team chooses to reboot or revive Vine, they must answer questions about sustaining a business in the world the app abandoned in 2016.
For Vine, this is a business decision, but it’s being treated like it’s a technical decision. By choosing to reboot from scratch, you’re letting software developers decide your business strategy, and that approach risks losing the market.
With that in mind, let’s simplify this a bit: Companies face such questions pretty frequently, so what are the non-business considerations that should be factored in?
Revive or reboot?
Let’s pretend that Musk and his team have solved the business problems, or at least become comfortable enough with their ideas that they’ve tasked you with the choice: revive or reboot? How do you proceed?
I’m indebted to Joel Spolsky for his April 2000 article on the subject. A lot has changed since the time that blog was written: the world was pre-agile, pre-cloud, and pre-continuous-integration. Vine itself is probably showing its age as well. It launched in 2012, which means it was likely using REST APIs, which means it was pre-container, pre-gRPC and pre-Kafka. If they did data streaming at all, it was likely built in-house. Some former Vine engineers have already said it needs to be rewritten.
But Spolsky’s points remain as salient today as when Bill Clinton was President:
- The market will not pause and wait for you to get it right.
- It’s bold to think you’ll do everything perfectly (or even better) this time around.