Bringing Screenly's Browser Extension Back to Life

Engineering |
Bringing Screenly's Browser Extension Back to Life

The Past: A look back

Digital signage management became significantly easier for Screenly users about five years ago with the introduction of our Chrome extension. This tool streamlined the content adding process, allowing users to add web assets to their digital signage displays with just a few clicks and eliminating the need to copy URLs and navigate through the dashboard manually.

The challenge

While the Chrome extension has served its purpose reliably for years, we recently encountered a critical issue where users could no longer log in. The root cause was our deprecated v3 REST API endpoint, which the extension relied on for authentication via username and password credentials and returned an access token. This created an urgent need to fix the extension and align it with our current API infrastructure.

The solution

In addressing this challenge, we transitioned to our v4 API implementation. However, this migration required a fundamental change in our authentication approach since v4 doesn’t support token generation from a username and password. We simplified the user experience by modifying the sign-in form to accept API tokens directly, though we acknowledge this is just the first step in a larger modernization effort.

Code quality and open source

At Screenly, we maintain high standards for code quality across all our projects. As part of our commitment to transparency and community involvement, we’ve open-sourced the extension’s repository. You can find it here on GitHub. This decision allows users to access and install specific versions from our releases while enabling community contributions. We’ve also implemented GitHub Actions workflows to automate our build processes for new changes.

Technical modernization

The extension’s source code initially relied heavily on vanilla JavaScript for DOM manipulation. As our feature requirements grew, this approach became increasingly difficult to maintain. To address this, we’re transitioning to React, embracing its component-based architecture and reactive programming model. While this introduces a learning curve, the long-term benefits in maintainability and scalability make it a worthwhile investment. This React blog post, which is more than 10 years old, provides a good overview of why Facebook (now Meta) built React.

Browser compatibility

Recognizing our diverse user base, we have expanded browser compatibility to include Firefox. You can find the Firefox Add-On at the link here. Users can now utilize the extension regardless of their preferred browser, eliminating the need to switch to Chrome specifically for Screenly operations.

Looking forward

Looking ahead, while the extension is now functional and open-source, we see numerous opportunities for improvement. We welcome community involvement through issue reporting and pull requests, believing that collaborative development will help us create a more robust and feature-rich tool for all users.

Looking to get started with Screenly? Sign up for a free trial today!

Picture of Nico Miguelino
Nico Miguelino View Profile
Nico maintains open source projects at Screenly.

Recent Posts

Display your best content with Screenly digital signs.

Screenly is loaded with features to make digital signage management easy.

footer screen image
manage cookies