Startups

A Vine mess: The choice between rebooting and reviving old software

Comment

A funny picture of an old mini TV which was fixed with duct tape and still working. A kind of Messthetics styled photo. The tv is very old but it was still working when I was making this photo.
Image Credits: Koron (opens in a new window) / Getty Images

Marcus Merrell

Contributor

Marcus Merrell is vice president of technology strategy at Sauce Labs.

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.

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.
  • The architectural problems with any codebase can be fixed slowly, over time, in a careful and mindful way.
  • Migrating a product from monolith to microservices is a great way to modernize a tech stack.
  • Microservices are well suited to iterative improvements while minimizing disruption.

A common analogy

Reviving parts of a codebase is like changing a plane’s engine while it’s mid-flight. But the key is that the plane is in flight — it’s moving forward along its path. If you start from scratch, the plane is in the hangar while your competitors continue sailing across the ocean, picking up market share in the space you vacated.

Vine has already spent six years in the hangar. Rebooting will only guarantee that it stays there longer.

When you reboot, you either have a separate team keeping your old product alive and supported — doubling (or tripling) the cost of development — or you put everyone on the reboot, only fixing critical bugs in the old product as needed.

In both cases, you’re wasting time and resources. Musk doesn’t have to worry about keeping the old stack “in flight,” but that’s a rare exception, and he is still losing market share every day.

My own experience with rebooting

I’ve been involved in two “reboot” projects and three “revive” projects.

The reboots were both B2B, at boutique software firms that took an infusion of cash to rewrite the products. The “revive” projects were both B2B and B2C, and kept their cash flow high throughout.

Reboots

The reboot projects were great for learning the fundamentals of programming: how to build scalable software, how to incorporate testing practices and how to manage teams for growth.

They also tanked both companies I worked for. One was acquired for the approximate value of their patent portfolio (pennies on the dollar), and the other continues to languish in a purgatorial game of table tennis between rival private equity firms.

In both cases, the engineering team wasn’t stuck with the consequences of a dying customer base or of being lapped by all competitors. Soon after the product shipped, we all went on to get shiny new jobs based on the sterling work we’d just done.

Revivals

The “revive” projects I’ve been on have been far more difficult, but I wouldn’t say I learned any less. What you learn and how you learn it will be radically different from a reboot project, but it will help you better understand how to troubleshoot, do root-cause analysis and make a system robust. If you’re keen, you’ll also learn a lot about internal politics, consensus building and diplomacy.

Refactoring a critical system to use microservices and cloud architecture while minimizing downtime and keeping customers happy will look dynamite on any résumé. It will show your future employers that you’re versatile, resourceful and patient. I’d argue that those are more important traits for a long-term career than the ability to create a new project from a blank slate.

The inevitable difficulties of reviving

Of course, it will be difficult to take out the old code, dust it off and make it scalable for 2023. It’s going to be easier to write new code than to understand and fix old code.

But the stuff you hate about that old code is exactly what makes it work. The parts that are ugly represent bug fixes not incompetencies. If there’s something in the codebase you don’t like, write a few unit tests, make sure they pass, then make the code look how you want it to before you run the unit tests again. Then add some comments.

This preserves the functionality of the feature and gives you confidence and understanding that it’ll be easier to deal with in the future. It also gives you a feeling of ownership.

However, people like to assume that if there’s something they don’t understand, it’s useless. In reality, it may indicate a fix for an esoteric edge case that was important enough to address (even if it could have been documented better).

Here’s how to face these challenges:

  • Write some unit tests, making sure you turn the questionable lines green.
  • Write some comments indicating your questions about the code.
  • Leave all that there until you (or someone else) need to revisit it.
  • If that day never comes, then the code is doing its job superbly.

But what if you just can’t see a way to revive in any reasonable timeline?

Not invented here

There are some advantages to rebooting if you decide that all the previous considerations don’t apply:

  • It’s cloud native, scalable and purpose-built for fleet management.
  • A reboot utilizes all the best modern software development practices from the beginning: unit testing, accessibility, security and performance can all be locked up.
  • There’s a brand new SDLC pipeline, where developers can deploy to production per-commit, using feature flagging and canary builds to limit the blast radius of any issues.
  • A/B experimentation and new-user analytics can be utilized from day one, giving you guaranteed signals for conversion lift, engagement and more.

Surely you won’t make any mistakes this time, right?

Everything listed here is months’ worth of work, and nothing listed here has anything to do with your core business. Like it or not, the challenges of the core business will continue to be the hardest piece of the puzzle.

In Vine’s case, its core business code has already been written once. Even if you have to abandon everything else, at least keep those bits of operable code that represent the real engine behind the platform.

Conclusion

Of course, I could be wrong. I’m sure rebooting has been viable in some cases (though none come to mind). I can imagine it working if they take the finest architects from their social, content and infrastructure management divisions and let them draw up the plans, which would then be implemented by a new team.

If it were that easy, though, nothing would stop another company from doing the same thing. That’s how dependent they are on the brand memory of Vine — they assume that throwing together something brand new with the right logo will fix their problems.

I’d wager that the tech is the least of their problems.

More TechCrunch

It ran 110 minutes, but Google managed to reference AI a whopping 121 times during its I/O 2024 by its own count. CEO Sundar Pichai referenced the figure to wrap…

Google mentioned ‘AI’ 120+ times during its I/O keynote

Here are quick hits of the biggest news from the keynote as they are announced.

Google I/O 2024: Everything announced so far

Google Play has a new discovery feature for apps, new ways to acquire users, updates to Play Points, and other enhancements to developer-facing tools.

Google Play preps a new full-screen app discovery feature and adds more developer tools

Soon, Android users will be able to drag and drop AI-generated images directly into their Gmail, Google Messages and other apps.

Gemini on Android becomes more capable and works with Gmail, Messages, YouTube and more

Veo can capture different visual and cinematic styles, including shots of landscapes and timelapses, and make edits and adjustments to already-generated footage.

Google gets serious about AI-generated video at Google I/O 2024

In addition to the body of the emails themselves, the feature will also be able to analyze attachments, like PDFs.

Gemini comes to Gmail to summarize, draft emails, and more

The summaries are created based on Gemini’s analysis of insights from Google Maps’ community of more than 300 million contributors.

Google is bringing Gemini capabilities to Google Maps Platform

Google says that over 100,000 developers already tried the service.

Project IDX, Google’s next-gen IDE, is now in open beta

The system effectively listens for “conversation patterns commonly associated with scams” in-real time. 

Google will use Gemini to detect scams during calls

The standard Gemma models were only available in 2 billion and 7 billion parameter versions, making this quite a step up.

Google announces Gemma 2, a 27B-parameter version of its open model, launching in June

This is a great example of a company using generative AI to open its software to more users.

Google TalkBack will use Gemini to describe images for blind people

Firebase Genkit is an open source framework that enables developers to quickly build AI into new and existing applications.

Google launches Firebase Genkit, a new open source framework for building AI-powered apps

This will enable developers to use the on-device model to power their own AI features.

Google is building its Gemini Nano AI model into Chrome on the desktop

Google’s Circle to Search feature will now be able to solve more complex problems across psychics and math word problems. 

Circle to Search is now a better homework helper

People can now search using a video they upload combined with a text query to get an AI overview of the answers they need.

Google experiments with using video to search, thanks to Gemini AI

A search results page based on generative AI as its ranking mechanism will have wide-reaching consequences for online publishers.

Google will soon start using GenAI to organize some search results pages

Google has built a custom Gemini model for search to combine real-time information, Google’s ranking, long context and multimodal features.

Google is adding more AI to its search results

At its Google I/O developer conference, Google on Tuesday announced the next generation of its Tensor Processing Units (TPU) AI chips.

Google’s next-gen TPUs promise a 4.7x performance boost

Google is upgrading Gemini, its AI-powered chatbot, with features aimed at making the experience more ambient and contextually useful.

Google reveals plans for upgrading AI in the real world through Gemini Live at Google I/O 2024

Veo can generate few-seconds-long 1080p video clips given a text prompt.

Google’s image-generating AI gets an upgrade

At Google I/O, Google announced upgrades to Gemini 1.5 Pro, including a bigger context window. .

Google’s generative AI can now analyze hours of video

The AI upgrade will make finding the right content more intuitive and less of a manual search process.

Google Photos introduces an AI search feature, Ask Photos

Apple released new data about anti-fraud measures related to its operation of the iOS App Store on Tuesday morning, trumpeting a claim that it stopped over $7 billion in “potentially…

Apple touts stopping $1.8B in App Store fraud last year in latest pitch to developers

Online travel agency Expedia is testing an AI assistant that bolsters features like search, itinerary building, trip planning, and real-time travel updates.

Expedia starts testing AI-powered features for search and travel planning

Welcome to TechCrunch Fintech! This week, we look at the drama around TabaPay deciding to not buy Synapse’s assets, as well as stocks dropping for a couple of fintechs, Monzo raising…

Inside TabaPay’s drama-filled decision to abandon its plans to buy Synapse’s assets

The person who claimed to have stolen the physical addresses of 49 million Dell customers appears to have taken more data from a different Dell portal, TechCrunch has learned. The…

Threat actor scraped Dell support tickets, including customer phone numbers

If you write the words “cis” or “cisgender” on X, you might be served this full-screen message: “This post contains language that may be considered a slur by X and…

On Elon’s whim, X now treats ‘cisgender’ as a slur

The keynote kicks off at 10 a.m. PT on Tuesday and will offer glimpses into the latest versions of Android, Wear OS and Android TV.

Google I/O 2024: Watch the AI reveals live

Facebook once had big ambitions to be a major player in enterprise communication and productivity, but today the social network’s parent company Meta will be closing a very significant chapter…

Meta is shutting down Workplace, its enterprise communications business

The Oversight Board has overturned Meta’s decision to take down a documentary revealing the identities of child abuse victims in Pakistan.

Meta’s Oversight Board overturns takedown decision for Pakistan child abuse documentary