Meta's Smart Glasses Demos at Meta Connect: Technical Insights on Failures and Lessons

Meta's Smart Glasses Demos at Meta Connect: Technical Insights on Failures and Lessons
source: gettyimages
September 19, 2025

Meta CTO Andrew Bosworth recently shared a detailed explanation on Instagram about the technical issues that caused multiple demo failures during Meta Connect, the company’s annual developer conference. These demonstrations showcased three new smart glasses models: an upgraded Ray-Ban Meta, the Meta Ray-Ban Display with a wristband controller, and the Oakley Meta Vanguard, tailored for sports enthusiasts.

Demo Failures During the Show

Throughout the event, live technology demos faced unexpected problems, notably with AI responses and connectivity. Notably:

In-Depth Explanation from Andrew Bosworth

Following the event, Bosworth addressed these issues in an Instagram Q&A, clarifying the underlying causes:

Resource Management Mishap

The first problem with the chef’s glasses stemmed from a resource misallocation. When the command “Hey, Meta, start Live AI” was issued, it inadvertently triggered all Ray-Ban Meta devices in the building simultaneously. This was not anticipated during rehearsals, which involved fewer devices.

Bosworth explained:

> “When the chef said, ‘Hey, Meta, start Live AI,’ it started every single Ray-Ban Meta’s Live AI in the building. And there were a lot of people in that building.”

This unexpected surge overwhelmed the system, but the main issue was how the traffic was routed.

Routing and Server Overload

Meta had configured the routing of Live AI traffic to its development server to isolate the demo environment. However, this configuration caused all devices connected via the access points to send traffic to a single server. This effectively amounted to a self-inflicted DDoS attack, overwhelming the server with an unanticipated volume of requests:

> “So we DDoS’d ourselves, basically, with that demo.”

A DDoS (Distributed Denial of Service) attack occurs when a flood of data overloads a system, rendering it unresponsive. In this case, the server was not built to handle such an influx from multiple devices simultaneously.

The WhatsApp Call Bug

The second failure involved an unforeseen bug unrelated to network issues. The display on the glasses went to sleep exactly when an incoming WhatsApp call was received. When Zuckerberg attempted to wake the display, it failed to show the call notification. Bosworth described it as a race condition, where two processes compete for the same resource, leading to unpredictable outcomes.

He noted:

> “It’s a terrible, terrible place for that bug to show up.”

Bosworth emphasized that this bug was the first of its kind encountered in their testing, and it has since been fixed.

Key Takeaways and Future Outlook

Bosworth reassured that despite these technical setbacks, the core products remain robust. He clarified that these were demo-specific failures rather than indications of larger product issues:

> “It really was just a demo fail and not, like, a product failure.”

While acknowledging the frustration, he expressed confidence that the technology itself is sound and that such issues are part of the iterative development and testing process.

About the Author

Sarah has been a TechCrunch reporter since 2011, bringing expertise from her previous roles across IT, banking, retail, and software industries. You can reach her at sarahp@techcrunch.com or via Signal.

---

Images:

Related links

By submitting, I confirm I have the right to share this link and I agree to link back to this article from the submitted page. Duplicate URLs are rejected. Up to 5 links per page.

GraphQL · 147 ms
query Q($id: Int!, $domain: Int!, $srcId: Int!, $hasSrc: Boolean!, $hasSelf: Boolean!) {
  self: qa_ai(where: {id: {_eq: $id}}, limit: 1) @include(if: $hasSelf) { id title text date }
  linksarticle: qa_ai(where: {domain: {_eq: $domain}, id: {_neq: $id}}, order_by: {id: desc}, limit: 8) { id title }
  linksbottom: qa_ai(where: {domain: {_neq: $domain}, id: {_lt: $id}}, order_by: {id: desc}, limit: 3) { id title domain }
  source: qa_ai(where: {id: {_eq: $srcId}}, limit: 1) @include(if: $hasSrc) { id title }
}
{
  "id": 6644079,
  "domain": 7,
  "srcId": 0,
  "hasSrc": false,
  "hasSelf": true
}