The need for repairability data in the move to greener electronics 🛠️.

tldr;

I have begun compiling a list of repairability scores here from the French Indice de Repairabilité, and documented my process in this video.

My plan going forward is to try and add the iFixIt scores, make the process of obtaining and keeping this database current more seamless, and working closer with other interested organizations to make this data more accessible.

Let me know if this is useful or if you find other sources of data!

The greenest device you can own is the one you already have

I previously wrote about disclosing the carbon footprint of electronics in Mozilla’s Privacy Not Included Product Review. The response I got, in part, was a criticism of the limitations and accuracy of calculating these products’ life cycle carbon metrics. A more important priority, many said, is to keep the devices we have in use as long as possible and out of the waste stream.

A key to that is manufacturers building products that are easy to repair, and consumers choosing products with better repairability instead of chasing the new new. But how do we know which products are repairable? And how do we know if that repairability is improving over time?

Searching for Repairability Data

Finding repairability data isn’t easy. I heard a podcast episode with the founder of iFixIt on the Right to Repair Movement (How to Save a Planet), in which they score each device they test on its repairability. The repairability for certain devices is available by category (here are the scores for smartphones, for example), and while their process is extremely thorough and beautifully documented, these scores aren’t easily extracted without a bit of searching, and are less comprehensive than I would’ve hoped due to the thorough nature of each teardown and iFixIt’s limited staff.

I got in touch with iFixIt as to whether they have an API through which I could access these scores, and was put in touch with their Director of Sustainability, Elizabeth Chamberlain, who said that indeed they do. Upon further examination though, the API hasn’t been touched in about a decade, and in an attempt to use it I encountered many technical hurdles.

In trying to get past those hurdles, I found one ray of hope, a project by Manuel Hausserman, who was able to utilize iFixIt’s full site search API to piece together a database of scores, and documented his findings and trends nicely here.

When all else fails, scrape it

Meanwhile, an email to iFixIt pointed me in the direction of the only other comprehensive resource I could find, the French Repairability Index. In France, manufacturers selling electronics are required to post their scores at the point of sale. The repair advocacy startup Spareka has made a site collecting the scores. According to Elizabeth, “We’re also partial to our scores because in France, manufacturers self-report, and the oversight is not particularly robust. Still, our team of a dozen technical writers can’t possibly take things apart and score them as fast as they come out, so the French score wins handily in breadth.”

While I certainly was looking for transparency and impartiality, I was also looking for a dataset that was as comprehensive as possible, and at the moment I was still hitting technical roadblocks with the iFixIt API, so I turned to Spareka and the French Repairability Index.

This site also does not have an API, and to complicate matters, the scores for each product are embedded as images rather than readable text, and do not even include the score as alt text or an HTML data attribute - a real issue both for my project and for general accessibility reasons. At this point I might’ve turned back to iFixIt, but my curiosity was piqued by the idea of using a computer vision API to extract the scores from the images, so I decided to press on.

Where I might normally turn to a code-based headless browser implementation to scrape the data, I’d recently seen a no-code scraper called Bardeen nominated as a “best-of” app on Product Hunt, and thought I’d give it a try in obtaining repairability scores.

Bardeen was remarkably easy to set up (I’ve documented the process here) - it was a simple matter of clicking the score image within a list of items that I wanted to extract, clicking the comparable image in the subsequent list item, and telling Bardeen how to advance to subsequent pages of list items to be able to parse all the items. Bardeen has a number of options you can choose from as far as what to do with the data - I decided to log it to a Google Sheet so that it might be easier to append to, make visible to others, and export in a variety of formats.

Bardeen didn’t achieve perfect success - a fact I’m not sure whether to attribute to the scraper itself, or the index’s sometimes unpredictable DOM structure, but eventually I had a list of just under 1000 devices with logged with their images. The problem now, however, was how to turn those score images into numerical data. For this I turned to the Google Cloud Vision API.

I was anticipating quite a bit of headache in setting up the API, and to some extent navigating the overwhelming interface and access of controls in GCP proved challenging, but once I had enabled access and billing, actually using the API was a breeze.

The Cloud Vision API analyzes an image, searching for text, and returns an array of all of the different textual components it finds. In my case, this was very predictably the first element the array, and there were only a handful of misinterpreted scores. I came up with a quick and dirty method of getting those scores back into the spreadsheet (with more time I’d have loved to make the whole thing one seamless process). The result is the start of a data set that anyone can access for repairability data.

Next Steps

There are a few key things I’d like to accomplish going forward:

  • Add the iFixIt scores
  • Create a more seamless approach toward obtaining all of this data and keeping it up to date as new devices are added
  • Working with groups like the Repair Association, Spareka, and iFixIt to make this data more accessible and useful.

During the time I was constructing the list of repairability scores from Spareka, I reached out to Manuel Hausserman and asked him to share his code and he generously made it available here.

I plan to revisit iFixIt using Manuel’s code, and cross reference the scores with my current database, adding unreported devices where possible and listing from which source the scores are derived. Should I hit any roadblocks there, I may use the scraping approach here as well.

I also plan to get back in touch with iFixIt on the status of their API, to see if they might be willing to make any headway in updating things, and how I might help.

One last avenue of exploration is The Repair Association, the heart of the right to repair movement in the US. The Repair Association works in Policy Advocacy and provides news about the movement as well as resources for where to repair. Their Executive Director, Gabriel Gordon-Byrne, said that “It’s been hard to get data from OEMS so information is based on physical tear-downs,” but indicated that “a directory of repairability scores would be tremendous.” It could be interesting to see how the Repair Association or its members could contribute to these efforts.