Electron, the popular framework for building desktop apps, has much to recommend it: It allows developers to quickly build feature-rich desktop apps and deploy them directly to end-users. No wonder industry leaders like WordPress, Slack, and Discord use it to create the desktop versions of their browser-based apps. But while Electron is based on web technologies, when it comes to debugging, the drawbacks of desktop software apply.
For desktop applications, whether Windows, MacOS or Linux, every machine is a unique production environment. More often than not, bug reports (when users bother to send them) and exception reports do not provide all the data developers need to reproduce, on a local machine, the issues that led to a crash, especially when interactions with microphones, webcams and other devices are involved. Without complete and accurate information about the user environment, developers have only partial visibility, at best, into the cause. When an environment is particularly tough to recreate or an issue is rare, debugging may be hardly more focused than a shot in the dark. It’s not rare to hear an Electron user treating a hard-to-solve bug as ‘fate’ and learns to live with the consequences of lesser performance or else.
But now, Rookout has good news for Electron developers -- a new service for a remote live debugging solution that provides full visibility and code context from the live Electron app. Rather than relying on local testing and simulation, developers can now debug apps in situ, as they run on the end-user machine.
When an exception manager such as Sentry issues an alert, Electron developers can use the Rookout IDE-like interface to remotely set non-breaking breakpoints in the troublesome install of a live Electron app, without installing any additional software on the end-user’s computer. With full visibility into live app performance, they can trace issues as they occur, then rapidly develop a fix to push out.
Guy Reiner, VP R&D at Aidoc who uses an Electron-based app for an AI solution analyzing medical images explains that their app runs on a hospitals' local network and doesn't constantly send data back to their servers, so tracing a bug for a client on a different continent isn’t easy.
"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".
Sign up for a free account to test the power of live-debugging of your Electron app.