Sailfish Community News, 9th March, Help Articles

Sailfish OS update from Jolla

It has been a while since we last covered our documentation platform in the newsletter. It was actually in Sailfish Community News, 5th May, Documenting Sailfish - at that time it was mentioned that our target is to make the platform “more useful and attractive for general users”. Since that time we have seen dozens of help articles appearing on the site. This has been the result of a massive effort, mostly done by two sailors, jovirkku and jpwalden.

I discussed this with jovirkku, who kindly provided me with some background information about what has been happening:

Jolla customer support has had the so-called help articles in the Zendesk tool. There must be hundreds of articles from the past years of Jolla, many of which have been archived already. The articles contain practical tips and help with problem-solving. Some of them are tutorials on complex functions like installing the OS on an Xperia phone. Previously, we used to translate the articles into Finnish and Chinese, too, but this turned out to consume resources too much.

What are you doing now?

We are moving the help articles to docs.sailfishos.org, i.e., to the same website containing technical information on Sailfish OS. In their new location, the help articles are located in Sailfish OS · GitHub along with other Sailfish OS git repositories.

What are the benefits of moving to this git-based documentation platform?

This enforces version control and peer reviews which should result in better quality. The style of the documents remains consistent thanks to documentation platform requiring the minimalistic markdown notation. Bringing the end-user documents to the same website with the developer documentation makes it easier to find all relevant information on Sailfish OS. Lastly, this makes it easier to more people to contribute to writing the documents.

How much work is there still left?

We have reviewed more than one hundred articles and updated them to Sailfish 4.5.0, resulting in about 70 new documents. There are a dozen candidates remaining, many of which imply working on the command line. Not all of them will qualify to become updated and published. There may be some areas or functions that need writing new documents from scratch.

If community members have improvement ideas about the articles, what’s the best way to act on those?

At the bottom of each page on the documentation site, there is the link which allows you to edit the page. The changes don’t go directly to the site, but instead the system allows you to create a PR (pull request) for the changes. PRs are always welcome.

What if a community member isn’t comfortable in writing articles? Is there some other way to provide ideas or feedback?

There are some ways to provide feedback. On the documentation repository, we have enabled the issues tab. You can describe your ideas in an issue there. Or you can write about your idea in the forum.

Repository roundup

There is a new repository, mysteriously called sailfish-labs that appeared last week but is currently empty. One can try to guess what it could be used for. I’m starting the game, guessing that it may store some QML components, like the Qt labs platform ? Besides, there were less visible pull requests this fortnight, but it’s worth mentioning the huge work on IPv6 stack to allow access with IPv4 networks.

The network stack

Sound stack

  • amber-mpris, QML bindings for remote control of music players, pvuorela hid the MprisClient object since it’s an internal implementation detail that should not be exposed in QML.

Calendar stack

Synchronisation framework

System control

Low level libraries

SDK and developer tools

Sailfish OS website

App roundup

An important part of the appeal of using Sailfish OS is its beautiful Silica user interface. For many that’s a good enough reason to use it in its own right, but for others having access to a genuine Linux terminal straight from the phone’s screen is also an important part of the appeal. Sailfish OS brings you the benefits of both.

In practice, only developers are expected to need access to the terminal, which is why Jolla’s default terminal emulator application, Fingerterm is installed automatically only once you’ve activated developer mode on your device.

In this app roundup we’ll take a look at various console emulator applications, including Fingerterm, but also some of the alternatives. Perhaps you have a favourite Sailfish OS terminal emulator? If so, let us know in the comments.

So is it worth replacing Fingerterm with one of its competitors? Let’s find out.

Fingerterm

Fingerterm is the default terminal emulator for Sailfish OS, and as such it’s the app that all other terminal emulators must be compared against.

Originally developed by Heikki Holstila for the N9, the app has since been adopted by Jolla, and if you activate developer mode you’ll find it’s the default terminal application that gets installed on your device.

Of the official Jolla applications its slightly unusual, in that it doesn’t use Silica or conform to the Sailfish OS style guidelines. There have been various attempts to address this over the years, but none that has made it out onto devices.

The app has quite a utilitarian look and feel, with the majority of the display available for terminal output, as it should be. There’s a flat black background — there’s no contribution from the ambience here — and a burger menu at the top right of the screen that hides the settings. Depending on how you have the app configured, you may also see the virtual keyboard taking up the bottom third of the display (at least on the Xperia 10 variants’ 21:9 ratio screens).

Even the keyboard is unusual: rather than use the standard Sailfish keyboard it has its own in-built version. This offers some advantages: keys that are useful — arguably essential — in a terminal, but which don’t find wide application elsewhere, can be surfaces more easily. Things like pipe, tab, alt and the arrow keys.

Opening the menu allows for some useful capabilities: copying portions of the terminal output, scrolling back through the buffer, changing the keyboard behaviour. There’s even a URL grabber for easy capture of links shown in the terminal output.

In use, the app has been improved in recent years with input from the likes of Damien Caliste, so that terminal emulation and use of colour are now better than they were in the past. As the default terminal emulator app, it’s a solid contender, and for most people, especially if you find you only need to visit the terminal occasionally, this will be all you’ll ever need.

ToeTerm

ToeTerm from Matti Viljanen (direc85) is one of several forks of the Fingerterm codebase. Amongst those that are out there, this was the one I found to be the best, with changes going well-beyond just improved terminal emulation.

In fact, calling ToeTerm a fork of Fingerterm is rather understating it’s life journey. Prior to direc85 picking it up it was being developed by r033, who forked ThumbTerm (hopefully you’re getting the naming pattern by now) from Olli Vanhoja (hbp) who forked it from Fingerterm. It feels like it’s just one more fork away from becoming NoseTerm.

But all this forking has resulted in some nice improvements. The most obvious being how much better the app conforms to the Sailfish styling. The background picks up the ambience, and while the keyboard is still bespoke it nevertheless feels much closer to the standard Sailfish OS keyboard, without losing access to those extra terminal-required keys.

There are some really nice touches as well. While the keyboard drops to the background when not in use, several of the keys (enter, backspace, cursors) remain highlighted, making it easier to immediately perform common tasks even when the keyboard is hidden.

The menu, which still slides in from the right, is now full screen. It contains similar options to Fingerterm, with the addition of some theming options and a better collection of keyboard layouts.

When I started using ToeTerm I was impressed by how considerate and relevant the improvements were for a Sailfish device. Of those available, this would be my preferred terminal on Sailfish OS.

The latest ToeTerm, version 1.9.14, is available from OpenRepos.

Literm

Literm from Kabouik is another fork of Fingerterm, but remains much closer to the original design, focusing on improvements to terminal emulation itself. Many of the changes were made by Robin Burchell (w00t), and most recently some of these have been focused on its use in a desktop environment, and which are therefore less relevant for Sailfish OS use.

Amongst the relevant changes are a rewritten rendering engine to improve performance and better colour and text style support.

It’s latest release wasn’t so long ago, but sadly there’s only a 32-bit ARM version available from OpenRepos. Happily Kabouik has expressed interest in making 64-bit builds available via Chum. It would be great to see this happen alongside all of the great console apps (lynx, 6cord, gnuplot, SC-IM,…) that Kabouik has packaged up to run on it as well.

Besides the rendering improvements, the look and feel are almost identical to Fingerterm, so if you’re looking for something familiar, then this might be the way to go. However, it’s worth mentioning that Fingerterm itself has received some updates since Literm was forked from it, so the improvements are not as dramatic as they were when Literm was first released.

My own feeling is that while Literm provides some genuine and nice improvements, the benefits of these over Fingerterm are not enough to justify an install, given its uncertain development future.

Literm is available in 32-bit binary format from OpenRepos.

ShellEx

ShellEx from Asser Lähdemäki (Acce) isn’t really a terminal emulator, but it shares many similar characteristics. It allows you to run terminal commands after all, and to view the results. But instead of have you type in each command individually, ShellEx allows you to pre-configure a set of fixed commands that you can then run by hitting a button.

Given the breadth of command-line utilities available, it’s a surprisingly flexible tool. In essence, anything you can achieve with a shell script, you can configure to trigger with a finger press in ShellEx.

A particularly nice touch is the fact you can add dynamic parameters into commands, provided through user selection via a Combobox, slider or text field. This means you can build up a skeleton command with placeholders for extra values, and just select the values when you want to run the command. Super-flexible!

There are a few improvements I’d love to see. For example, currently only pure text output is supported in the app, so no colours or formatting (although you can also trigger commands to run externally in Fingerterm). And while I can understand why the pulley menu has been hidden behind a “Show options” button, this approach doesn’t feel very Sailfishy.

Unfortunately the biggest problem for potential ShellEx users is that it’s currently only available on OpenRepos in a 32-bit ARM variant. Building it for 64-bit ARM was straightforward, so I’ll put a copy up on Chum so others can install it too.

ShellEx is available in 32-bit binary format from OpenRepos.

Please feed us your news

Thanks for reading, please don’t forget that we need your support in providing you with this newsletter. All feedback, be it updates, corrections or ideas about what to write about in future newsletter are welcome. Please use the comment section below.

You are also more than welcome to write articles yourself, if that’s what you are interested in - don’t hesitate to contact us! Writing these newsletters is teamwork. We already have some recurring parts of the newsletter coming from different writers: dcaliste provides us with the repository roundup and our former editor-in-chief flypig writes the app roundup. But it would be lovely to see the viewpoint of a community member also in the articles sometimes.

12 Likes

WRT the migration of articles from Jolla’s Zendesk instance to docs.sailfishos.org:

How are these articles planned to be handled? Is some archive page planned at docs.sailfishos.org, where there are dumped, or will they be silently discarded?

I strongly suggest the former, i.e. to copy them unchanged and link them to an archive page which clearly denotes that these articles are either outdated and/or do not meet the current quality standards. Mind that even historic, outdated information or write-ups so bad, that they cannot be easily repaired, might provide valuable information for a few.

TL;DR: Please do not erase information, regardless how old or badly written it is.

4 Likes

Thanks for that nice writeup about terminal emulators, I finally might try a few of those :slight_smile:

It’s a very good idea to have a central place for documentation.

It wold be useful to tag the articles of howtos an help with the Sailfish version numbers, like in patchmanager web catalog.

Then the users can see / filter if the articles are vailid for their Sailfish version.

And I’m missing a clean documentaition for usability and design rules from Jolla.
To have those rules would be good for creating a good user experience.

2 Likes

Installing ToeTerm and ShellEx now.

Thanks for covering ToeTerm! It’s a product of many developers, and every one of them have made it better along the way! I still have a few ideas how to make it a bit better, so unfortunately we won’t be getting NoseTerm anytime soon :wink:

There’s one nice thing about third-party terminals, that wasn’t mentioned in the newsletter: they can be installed without ever enabling Developer Mode! This makes it possible to have a terminal app installed with minimal permissions for those who need only user-level terminal access.

6 Likes

Regarding design and user experience please check this one SailfishOS - User Experience

The image beside “Home”, on UX Framework page, shows app drawer instead of Home. My guess is that this is a mistake?
ksnip_20230313-174746

2 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.