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.

Newsletter Signup

Related posts

We wish you RISC-V holidays!

There are three types of computer users: the end user, the system administrator, and the involuntary system administrator. As it happens, everyone has found themselves in the last group at some point or another; you sit down to perform a task relevant to your needs or duties, but suddenly the machine does not work as […]

Snapcraft 8.0 and the respectable end of core18

‘E’s not pinin’! ‘E’s passed on! This base is no more! He has ceased to be! ‘E’s expired and gone to meet ‘is maker! ‘E’s a stiff! Bereft of life, ‘e rests in peace! If you hadn’t nailed ‘im to the perch ‘e’d be pushing up the daisies! ‘Is software processes are now ‘istory! ‘E’s […]

Craft team welcomes you to another episode of its adventures

Welcome to the second article in the Craft team saga. Previously, on Craft Team, we gave you a brief introduction into the team’s function, we announced our desire to share the ins and outs of our day-to-day work with the community, and gave you an overview of roughly two weeks of coding and fun. Today, […]