Self-containing dependencies leads LogMeIn to publish their first Snap
by Sarah Dickinson on 15 October 2018
LogMeIn is one of the world’s top 10 public SaaS companies, and a market leader in communication & conferencing, identity & access, and customer engagement & support solutions, making well-known products such as GoToMeeting, GoToWebinar, LogMeIn Central, LastPass, and Bold360. The company is headquartered in Boston, US, with additional locations in North and South America, Europe, Asia and Australia. In September, LogMeIn released their first Snap for their host software in beta which allows users to access their own computers from any device. We spoke to Janos Kasza, Senior Software Engineer, at LogMeIn on the journey taken from discovering Snaps to publishing and what advice they would give to others looking to adopt Snaps.
The journey with their Snap started with a recommendation from a friend after hearing about the issues Janos was encountering with other packaging formats. As Janos elaborates: “We were working on releasing a LogMeIn host for Linux and started to create a Debian package. The package for the most recent flavours of Debian and Ubuntu were easily created, but we had a hard time when trying to support older releases. Because the application is developed in Python, our aim was to create a single package for all distros. After that, we planned to create a rpm package as well. When I mentioned our recent issues with the Debian package to a friend, he recommended we try the Snap packages as it solves most of our issues and, what’s great is we can target more than the Debian-based distros. So, we decided to look at it.”
Janos, personally, had previously only used Debian as a packaging format and when comparing to building a Snap, he concluded that the latter was ‘pretty easy’. The resources available on Snapcraft.io and elsewhere proved valuable in making the LogMeIn host Snap a reality. “After reading the Snapcraft documentation, I looked for examples to use as a guide. To see simple examples, I would recommend others look at the Snapcrafter’s GitHub page,” Janos explains. For those who have more complex applications, Janos recommends looking at the Snapfile of LXD.
The appeal of Snaps to LogMeIn and Janos centred particularly around the distro/flavour independence and the self-containing dependencies which they believe simplify both the packaging and testing. With the Snap published and now available in the Snap Store, Janos explains the benefits to users from multiple perspectives; “Having a central store is a huge advantage because the user does not have to visit the product website in order to look for the packages or its repositories. On the other hand, it’s helpful for people who prefer GUI applications rather than command line apps. Searching and installing is really simple and everything is just one click away.”
As with many other Snap publishers, now that their tool is available to users, LogMeIn expect to see fewer user reported issues and simpler maintenance compared to the Debian/rpm package, in part thanks to Snaps’ auto-update functionality.
As for their use of the different channels available, Janos notes: “We’re still in the early stages of the product. Upon initial release, we uploaded to the edge channel where we can do the final tests. When it passes, we will release as stable but this process may change in the future.”
So what advice does Janos have for those looking at Snaps? “Snaps are a re-think of software packaging on Linux. One package for all distros, more secure due to deployment in Linux containers, auto-updating and no more dependency issues. In addition, the Snap community is extremely helpful.”
And recommendations for the Snapcraft team? Janos says there is just one. To support Markdown in the Snap page description.