Tel Aviv – July 17, 2018 – Rookout, the rapid production debugging company, announced today its remote live debugging solution for Electron. The baked-in tool lets software engineers get full visibility into the data and code context from a live Electron app on the end-user’s machine, instead of relying on local testing.
Electron is one of the most popular frameworks for building desktop apps for Windows, MacOS, and Linux. Originally created by GitHub, it’s also used by leading vendors such as Slack, Discord and WordPress to make more feature-rich desktop versions of their browser-based webapps. Electron apps are quick to build and typically go through many rapid deployments directly to end-users’ computers.
Electron, despite being based on web technologies, has to face the challenges of desktop software; every user’s computer is its own unique ‘production environment’, making troubleshooting tricky, especially at a distance. Electron apps often interact with devices on the user’s system like webcams, microphones or more exotic inputs, increasing the possibility of unusual bugs.
Traditionally, debugging Electron apps means relying on users’ bug reports and exception management tools to report problems, and then trying to recreate the production environment on the developers’ local computers. Often, though, an unusual issue won’t be reproduced, making it very challenging to identify the cause.
Using Rookout, a software team can get debugger-level visibility from an Electron desktop app running live on an end-user’s computer. With Rookout’s IDE, a developer can remotely set non-breaking ‘breakpoints’ to see the full state of the live app or any variable state at any point in the code’s execution, while the app runs as normal.
Rookout’s solution means software companies can debug their Electron apps live and remotely. They can be alerted to a problem by an exception manager like Sentry (Rookout can also send alerts to Sentry itself), trace the issue in the live software using Rookout in record time, and then develop and push a fix as usual, with no need to install any extra software to the end-user’s computer or send anyone on-site.
“End-user software like Electron has to run in literally millions of distinct production environments,” said Or Weis, CEO and co-founder of Rookout. “Combined with a very rapid deployment cycle, it’s challenging to see exactly what’s going on inside a single install or reproduce an exotic bug. Rookout brings instant visibility to Electron, giving developers an unprecedented deep access to the full state of an app on an end-user’s computer, with just a few clicks of a mouse.”
Aidoc, which makes a healthcare AI solution for analyzing medical images, uses an Electron-based app to deliver their solution to doctors.
“Aidoc’s app runs on a hospitals’ local network and doesn’t constantly send data back to our servers, so it’s not always easy to trace a bug for a client on a different continent,” said Guy Reiner, VP R&D at Aidoc.
“Rookout makes it possible to find bugs without spending hours on log-collection and trying to simulate the unique real-world environment of a particular hospital network”.
“Desktop software was the classic example of something that couldn’t really be debugged in production because every install was different,” said Liran Haimovitch, Rookout CTO, and co-founder. “Being able to remotely debug live Electron apps means developers can find and fix bugs quickly, freeing up R&D resources to work on creating new features instead.”
Rookout is the Rapid production debugging solution which collects data on-demand from live code and pipelines it immediately to any destination, such as alerting and monitoring tools.
With Rookout’s real-time instrumentation technology, a company can tackle bugs and issues without any need for coding, re-deploying or restarting the application. Rookout currently supports Python, JVM, and NodeJS on all cloud environments, including serverless applications.