Snap’s New Specs Are Chunky, Pricey and I Really Need to Try Them


Earlier this year, I went to a play in New York where all the actors were prerecorded volumetric 3D ghosts. The experience — called An Ark — ran on years-old Magic Leap 2 glasses tethered to my seat, and didn’t work with my eye prescription. 

It doesn’t have to be that difficult. A new generation of smart glasses is on the way that might help.

Case in point: Snap Specs, arriving this fall for $2,195. They’re big, chunky glasses that promise to blend virtual content into the real world without needing a phone, with decent battery life and a design that may work better with prescription fits. 

Odds are you won’t be buying a pair of $2,000-plus AR glasses for everyday life. However, I have a funny feeling that Snap’s Specs could end up in art museums, theme parks and pop-up experiences where people can try them out. And Snap could end up with a head start on companies including Meta, Samsung and even Apple, all of which have ambitions in this area, too.

“For the first time in a wearable pair of glasses, computing’s leaving these little rectangles [phones], and it’s going to be in the world with you,” Snap’s CEO Evan Spiegel told me in a conversation about Snap’s announcement Tuesday at the Augmented World Expo in Long Beach, California. 

A lot of big tech companies are selling smart glasses, including Meta and, starting this year, Samsung and Google. But most either have simple heads-up displays for phone notifications or no displays at all. I haven’t tried Snap’s latest Specs yet — according to Spiegel, demos will be available later this year. 

But I’ve tried the company’s developer-focused AR Spectacles several times over the last few years, and they float 3D experiences into a room much like Magic Leap and Microsoft Hololens headsets did in years past, with hand tracking to control experiences like with the Apple Vision Pro, Samsung Galaxy XR or Meta Quest headsets.

A pair of thick black Snap Specs AR glasses seen from the side

While these look big, they also don’t look as bizarre as the Snap developer Spectacles I’ve worn before.

Snap

How big are Snap’s Specs?

You might think $2,000 is an absurd price for glasses, which tend to cost anywhere from $300 to $800. But it’s right in the range of high-end mixed reality headsets such as the Samsung Galaxy XR ($1,900) and Apple Vision Pro ($3,500). Unlike those headsets — or smart glasses from Google and Meta — Spiegel thinks Snap’s Specs can go it on their own, with a bespoke OS and no need for a phone.

Snap’s been working toward this goal for years, but Spiegel sees recent advances as helping make it possible now: battery life, for one. And size. The new Specs are still big and relatively heavy. They come in 47mm and 52mm sizes and weigh 132 grams and 136 grams (4.6 and 4.7 ounces), respectively — nearly twice the weight of Meta’s already chunky 70 gram Ray-Ban Displays. But they weigh a lot less than the 2024 developer version, a hefty 226 grams (nearly half a pound). Plus, they’re designed to be worn outdoors, with electrochromic lenses that dim to adjust for bright sunlight.

“I thought it would take longer to get to this form factor,” Spiegel told me. “I actually did not think it was possible in 2026.”

Snap Specs in sunglass mode in their charging case

The Specs in their included charging case, which gives them an additional 16 hours of battery life.

Snap

Snap Specs battery life

Spiegel credits advances in waveguides and the LCOS projector. The new Specs are back down to the weight of a 2021 developer version I tried briefly during the pandemic in my backyard, which only had a battery life of 30 minutes.

Snap says the new specs will last four hours on a charge. That’s a lot less than something like a smartwatch, but it’s also — on paper — about twice what the Apple Vision Pro, Samsung Galaxy XR or Meta Quest can do. It’s also far longer than Snap’s developer Spectacles, which only last about 45 minutes on a charge.

Spiegel says he’s confident that battery life will hold up, but it’ll vary depending on whether you’re playing audio, using graphics or getting notifications. The included carrying case can recharge the glasses four times for an extra 16 hours on the go.

For those with eyeglass prescriptions, the Specs fit a range of lens inserts that snap in. I’m hoping they’ll work for my high-myopic vision — something Snap hasn’t confirmed yet.

Snap Specs glasses with an exploded look at the lens components inside

Snap’s breakdown of the waveguide construction in the new Specs. The glasses also need separate lens inserts if you want to use them with a prescription.

Snap

Snap Specs vs. Xreal Aura

While plenty of companies, including Meta and Apple, have aspirations of making AR glasses, few full room-tracking, 3D augmented reality glasses actually exist. Meta showed a prototype pair of AR glasses, Orion, in late 2024. Google and Xreal’s Project Aura, also coming later this year, is a set of AR glasses that plugs into a processor puck and runs Android apps.

Aura and Specs couldn’t be more different. Aura is a tethered pair of glasses that can run a full Android app ecosystem optimized for mixed reality, and it’s not meant to be worn all the time like everyday glasses. It’s more like a shrunken-down mixed reality computer.

Specs have hand tracking to control the interface, just like Aura, but have fully transparent lenses that use waveguides to float a 51-degree field of view display projected in from its LCOS projectors. (Aura’s 70-degree field of view is bigger, but isn’t a fully clear lens system: it uses a birdbath projector with micro OLED displays). Snap hasn’t done any demos of the new glasses hardware yet, but the virtual display should be wider and larger than the very vertical, phone-like aspect ratio of Spec’s last version.

Imogen Heap wearing Snap's thick black Specs glasses

Snap model Imogen Heap looks good in these Specs. Can I pull them off?

Snap

AI elements in the Specs

In addition, Specs run a custom OS, much like earlier developer-focused versions, with all processing handled inside the thicker glasses design. Spiegel plans to take advantage of AI platforms both to power experiences in the glasses and to help code apps in Snap’s PC-based Studio tools.

Right now, those AI hooked-in parts of Specs will need cloud connection, and the glasses have Bluetooth and Wi-Fi to connect to phones or hotspots. 

“I think the slightly longer vision will be running that process in the glasses themselves,” said Spiegel, who sees similar opportunities for on-glasses, experience-making using AI.

AI is speeding development of augmented reality “lens” apps for the glasses, Spiegel noted. “One of the most profound changes is the way [AI] is helping people write software for Specs way faster and way more easily than ever before.” 

Snap’s agentic AI dev tools can now work with Claude Code or OpenAI Codex and handle all the creation, testing and publishing. “Even things as simple as building 3D assets, just a year or two ago, that was a lot of very difficult, manual work. And now that can happen on the fly essentially,” Spiegel said.

screenshot-2026-06-16-at-8-42-26am.png

A cooking lens in Snap’s Specs can overlay instructions. Snap’s apps can use AI to recognize what’s in a space and project 3D interfaces on top of them.

Snap

I’m curious how much better the processors on these new Specs are versus the developer versions I’ve tried before. They have dual Snapdragon processors in the arms, but Snap wouldn’t confirm the specs or chip type. Previous Snap AR demos I’ve tried have included some ambitious ideas, such as Niantic’s virtual pet Peridot, which roamed the space around me and could identify landmarks and real art exhibits. 

At SXSW in Austin, I tried a Snap glasses-powered art exhibit by Jonathan Yeo that originally debuted in Paris. I’m curious whether these new Specs will feel more reliable, comfortable and seamless, and whether they’ll be used in even more exhibit spaces and theme parks and events.

screenshot-2026-06-16-at-8-41-33am.png

A musical instructional lens, showing how AR can connect with an actual drum kit and instructional game.

Snap

Spiegel also says the types of on-glasses experiences these Specs enable could be longer because of their improved comfort and battery life. Specs experiences I’ve tried in the past with earlier designs have been shorter by necessity. Could these last for an entire concert, immersive play or outdoor AR game? Specs can co-locate with other wearers outdoors, and that type of collaborative AR experience could be a perfect fit for art exhibits, location-based immersive theater or games.

I don’t know if I’d want to buy Specs, but I’d love to visit a theme park or theater experience that used them. And if Snap can make that happen faster than anyone else, it could be a compelling demonstration of what’s possible — and a glimpse of where Meta, Apple and others may eventually follow. At this point, I just want to finally try the new Specs for myself.

Editors’ note: Scott Stein’s travel costs for the AWE conference were covered by Snap. The judgments and opinions of CNET are our own.





Source link

Leave a Reply

Subscribe to Our Newsletter

Get our latest articles delivered straight to your inbox. No spam, we promise.

Recent Reviews


Elasticsearch Aggregations – Table of Content

Characteristics

  • It can be formed together to manufacture complex sum up of information. 
  • It tends to be considered as a single unit-of-work that makes analytic data over a bunch of archives which are accessible in elasticsearch. 
  • It is fundamentally based on the building blocks. 
  • Aggregation functions are the same as GROUP BY COUNT and SQL AVERAGE functions.
  • Utilizing aggregation in elasticsearch, can perform GROUP BY aggregation on any numeric field, yet we should type keywords or there must be fielddata = valid for text fields.

Four categories of Aggregations 

Bucket aggregations

Bucketing is a group of aggregations, which is liable for building buckets. It doesn’t figure metrics over the fields like metric collection. Each pail is related with a key and a report. It is utilized to gather or make information buckets. These information buckets can be made dependent on the current fields, ranges, and altered filters, and so on.

Metric aggregations

These aggregations help in processing matrices from the field’s estimations of the collected reports and at some point a few values can be produced from contents. Numeric matrices can either be single-valued like average aggregation or multi-valued like stats.

Pipeline aggregations

It takes contributions from the yield of different aggregations. Pipeline aggregations are liable for assembling the yield of different aggregations.

Matrix aggregations

Matrix collection is an aggregation that works on different fields. It deals with more than one field and creates a matrix result out of the values, that is extricated from the solicitation record fields. It doesn’t uphold scripting. 

      Want to get  ElasticSearch Training From Experts? Enroll Now to get free demo on Elasticsearch Training.

Types of Aggregations

1. Filter Aggregation

The filter aggregation assists with separating the archives in a solitary bucket. Its fundamental reason for existing is to give the best outcomes to its clients by sifting the archive. We should take a guide to channel the reports dependent on “fees” and “Admission year”. It will restore archives that coordinate with the conditions determined in the query. You can filter the report utilizing any field you need.

POST student/ _search/  

{  

       "query": {    

            "bool": {  

                "filter": [  

                     { "term": { "fees": "22900" } },  

                     { "term": { "Admission year": "2019" } },  

                 ]  

           }  

    }  

}  

Response

{   

"took": 5,  

"timed_out": false,  

"_shards": {  

"total": 1,  

"successful": 1,  

"skipped": 0,  

"failed": 0  

},  

"hits": {  

                   "total": {  

  "value": 1,  

  "relation": "eq"  

           },  

"max_score": 0,  

"hits": [ ]  

{  

         "index": "student",  

          "type": "_doc",  

         "id": "02",  

         "score": 1,  

         "_source": {  

  "name ": "Jose Fernandez",  

 "dob": "07/Aug/1996",  

 "course": "Bcom (H)",  

 "Admission year": "2019",  

  "email": "jassf@gmail.com",  

 "street": "4225 Ersel Street",   

  "state": "Texas",   

 "country": "United States",   

  "zip": "76011",  

  "fees": "22900"  

                   }  

             }  

         ]  

      }  

}  

2. Terms Aggregation

The terms aggregation is liable for producing buckets by the field esteems. By choosing a field (like name, admission year, and so forth), it creates the buckets. Determine the aggregation name in query while making an inquiry. Execute the accompanying code to look through the values assembled by admission year field:

POST student/ _search/  

{  

   "size": 0,    

    "aggs": {    

       "group_by_Admission year": {  

               "terms" : {   

                    "field": "Admission year.keyword"  

                }  

          }  

    }  

}  

By executing the above code, it  will be returned as a group by admission year. The output is as follows.

Output

{   

"took": 179,  

"timed_out": false,  

"_shards": {  

"total": 1,  

"successful": 1,  

"skipped": 0,  

"failed": 0  

},  

"hits": {  

                   "total": {  

 "value": 3,  

 "relation": "eq"  

          },  

"max_score": null,  

"hits": [ ]  

},  

  "aggregations":  {  

         "group_by_Addmission year": {  

             "student1",  

             "doc_count_error_upper_bound": 0,  

             "sum_other_doc_count": 0,  

              "buckets": [  

              {  

      "key ": "2019",  

      "doc_count": 2   

 },  

 {  

      "key": "2018",  

      "doc_count": 1  

}  

                  ]  

          }  

     }  

ElasticSearch Training

  • Master Your Craft
  • Lifetime LMS & Faculty Access
  • 24/7 online expert support
  • Real-world & Project Based Learning

3. Nested Aggregation

A nested aggregation permits you to assemble a field with nested reports, a field that has numerous sub-fields.A unique single bucket aggregation that empowers accumulating nested archives. For instance, let’s state we have a list of products, and every item holds the list of resellers, each having its own cost for the item.  Resellers is an array that holds nested documents. The mapping could resemble:

PUT /products

{

  "mappings": {

    "properties": {

      "resellers": { 

        "type": "nested",

        "properties": {

          "reseller": { "type": "text" },

          "price": { "type": "double" }

        }

      }

    }

  }

}

The following request adds a product with two resellers:

PUT /products/_doc/0

{

  "name": "LED TV", 

  "resellers": [

    {

      "reseller": "companyA",

      "price": 350

    },

    {

      "reseller": "companyB",

      "price": 500

    }

  ]

}

The following request returns the minimum price a product can be purchased for:

GET /products/_search

{

  "query": {

    "match": { "name": "led tv" }

  },

  "aggs": {

    "resellers": {

      "nested": {

        "path": "resellers"

      },

      "aggs": {

        "min_price": { "min": { "field": "resellers.price" } }

      }

    }

  }

}

Output

{

  ...

  "aggregations": {

    "resellers": {

      "doc_count": 2,

      "min_price": {

        "value": 350

      }

    }

  }

 }

4. Cardinality Aggregation

This aggregation gives the tally of distinct values in a specific field. It helps to find a unique value for a field. 

POST /schools/_search?size=0

{

   "aggs":{

      "distinct_name_count":{"cardinality":{"field":"fees"}}

   }

}

On running the above code, we get the following result,

Output

{

   "took" : 2,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

   "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : null,

      "hits" : [ ]

   },

   "aggregations" : {

      "distinct_name_count" : {

         "value" : 2

      }

   }

}

The value of cardinality is 2 because there are two distinct values in fees.

Big Data Analytics, elasticsearch-aggregations-description-0, Big Data Analytics, elasticsearch-aggregations-description-1

Subscribe to our YouTube channel to get new updates..!

5. Extended Stats Aggregation

This aggregation produces all the statistics about a particular mathematical field in collected documents. 

POST /schools/_search?size=0

{

   "aggs" : {

      "fees_stats" : { "extended_stats" : { "field" : "fees" } }

   }

}

On running the above code, we get the following result,

Output

{

   "took" : 8,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

   "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : null,

      "hits" : [ ]

   },

   "aggregations" : {

      "fees_stats" : {

         "count" : 2,

         "min" : 2200.0,

         "max" : 3500.0,

         "avg" : 2850.0,

         "sum" : 5700.0,

         "sum_of_squares" : 1.709E7,

         "variance" : 422500.0,

         "std_deviation" : 650.0,

         "std_deviation_bounds" : {

            "upper" : 4150.0,

            "lower" : 1550.0

         }

      }

   }

}

6. Stats Aggregation

A multi-value metrics aggregation that figures statistics over numeric values removed from the aggregated reports. It is a multi-value numeric matrix aggregation that helps to create sum, avg, max, min, and count in a single shot. The query structure is the same as the other aggregation

POST /schools/_search?size=0

{

   "aggs" : {

      "grades_stats" : { "stats" : { "field" : "fees" } }

   }

}

On running the above code, we get the following result,

Output

{

   "took" : 2,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

   "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : null,

      "hits" : [ ]

   },

   "aggregations" : {

      "grades_stats" : {

         "count" : 2,

         "min" : 2200.0,

         "max" : 3500.0,

         "avg" : 2850.0,

         "sum" : 5700.0

      }

   }

}

Avg Aggregation

This collection is utilized to get the avg of any numeric field present in the collected records. 

POST /schools/_search

{

   "aggs":{

      "avg_fees":{"avg":{"field":"fees"}}

   }

}

On running the above code, we get the following result −

Output

{

   "took" : 41,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

   "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : 1.0,

      "hits" : [

         {

            "_index" : "schools",

            "_type" : "school",

            "_id" : "5",

            "_score" : 1.0,

            "_source" : {

               "name" : "Central School",

               "description" : "CBSE Affiliation",

               "street" : "Nagan",

               "city" : "paprola",

               "state" : "HP",

               "zip" : "176115",

               "location" : [

                  31.8955385,

                  76.8380405

               ],

            "fees" : 2200,

            "tags" : [

               "Senior Secondary",

               "beautiful campus"

            ],

            "rating" : "3.3"

         }

      },

      {

         "_index" : "schools",

         "_type" : "school",

         "_id" : "4",

         "_score" : 1.0,

         "_source" : {

            "name" : "City Best School",

            "description" : "ICSE",

            "street" : "West End",

            "city" : "Meerut",

            "state" : "UP",

            "zip" : "250002",

            "location" : [

               28.9926174,

               77.692485

            ],

            "fees" : 3500,

            "tags" : [

               "fully computerized"

            ],

            "rating" : "4.5"

         }

      }

   ]

 },

   "aggregations" : {

      "avg_fees" : {

         "value" : 2850.0

      }

   }

}

Max Aggregation

This aggregation finds the maximum value of a particular numeric field in collected archives. 

POST /schools/_search?size=0

{

   "aggs" : {

   "max_fees" : { "max" : { "field" : "fees" } }

   }

}

On running the above code, we get the following result −

Output

{

   "took" : 16,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

  "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : null,

      "hits" : [ ]

   },

   "aggregations" : {

      "max_fees" : {

         "value" : 3500.0

      }

   }

}

Min Aggregation

This aggregation finds the maximum value of a particular numeric field in collected archives. 

POST /schools/_search?size=0

{

   "aggs" : {

      "min_fees" : { "min" : { "field" : "fees" } }

   }

}

On running the above code, we get the following result −

Output

{

   "took" : 2,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

   "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : null,

      "hits" : [ ]

   },

  "aggregations" : {

      "min_fees" : {

         "value" : 2200.0

      }

   }

}

ElasticSearch Training

Weekday / Weekend Batches

Sum Aggregation

This aggregation finds the maximum value of a particular numeric field in collected archives.

POST /schools/_search?size=0

{

   "aggs" : {

      "total_fees" : { "sum" : { "field" : "fees" } }

   }

}

On running the above code, we get the following result −

Output

{

   "took" : 8,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

   "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : null,

      "hits" : [ ]

   },

   "aggregations" : {

      "total_fees" : {

         "value" : 5700.0

      }

   }

}

7. Aggregation Metadata

You can add some information about the aggregation at the hour of solicitation by utilizing meta tag and can get that accordingly.

POST /schools/_search?size=0

{

   "aggs" : {

      "min_fees" : { "avg" : { "field" : "fees" } ,

         "meta" :{

            "dsc" :"Lowest Fees This Year"

         }

      }

   }

}

On running the above code, we get the following result −

Output

{

   "took" : 0,

   "timed_out" : false,

   "_shards" : {

      "total" : 1,

      "successful" : 1,

      "skipped" : 0,

      "failed" : 0

   },

   "hits" : {

      "total" : {

         "value" : 2,

         "relation" : "eq"

      },

      "max_score" : null,

      "hits" : [ ]

   },

   "aggregations" : {

      "min_fees" : {

         "meta" : {

            "dsc" : "Lowest Fees This Year"

         },

         "value" : 2850.0

      }

   }

}

Conclusion

The different types of aggregations have their own purpose and functions. We have discussed it in detail about it using the coding examples. There exists metrics aggregations that are used in particular cases such as geo bounds aggregation and geo centroid aggregation to get the understanding of geo location. You could understand the concept of aggregation through the examples provided.

Related Articles:



Source link