Ubuntu Touch Q&A 77
Clickable huge updates

 
 

Looking for the Audio-only version of the Q&A?

You're just one big orange button away -->

News and Update

Florian, Jonny and Dalton presented this week

Volla phone

Volla held one of their community days as an online hackathon, the day after the Q&A. The discussion and work was around using the Volla phone either with their own OS or with UT. Also discussed were future developments and the system tweaks that will need to be made, to facilitate those. Jan was there for UBports. You can follow @hello_volla on Telegram for progress or follow on browser at: www.wurzer.org/volla/vcd2020

PinePhone "Community Edition"

The UBports ‘Community Edition’ PinePhone is now sold out and shipping is under way. Purchasers who chose DHL have mostly already got their shipping emails. Those with standard shipping will only be a few days behind.

The Pine64 forum provides general shipping updates for this and for the Pinebook Pro.

Pine64 and Volla have needed some specific actions from us over the past year and their friendly pressure has not only helped us to satisfy their requirements but it has hastened improvements which benefit users on all UT devices.

Remember that the PineTime watch is also coming along nicely. App development for that device, enabling it to ‘talk’ to UT is something we would love to see. This is something completely new and may interest developers who have not worked with us before. If you are interested, do please get in touch!

Clickable

Jonny is an active member of the app development team and he came along to speak about some major improvements in development infrastructure. Clickable is the name of the package used when building apps for UT. In a huge step forward, debugging functions have now been built into the Clickable package itself. GB shell works and you can analyze memory leaks etc. This really is a fundamental change if you work on apps. Many of the new functions can be run either on the desktop or on the device. Some, such as the memory leak tests are limited to the desktop side for now.

There have been lots of comments from people who would like an IDE along the lines of the old SDK. So what can be done? There is some work going on to address this. Jonny showed a screen-share of a template running in Clickable. In that mode you can run comments. It automatically sets up everything you need for your app, including CMake and parts etc in the Docker image, assisted by auto-completion and debugging.

To find out more detail about this, it is worth watching the video segment. As if all these goodies were not enough, there is even a new Designer mode where graphics can be edited. Doing that has been very complicated up until now, involving use of a VM and working with Qtcreator.

All of this is still a work in progress but it has great potential. Lionel Duboeuf has provided a huge amount of the build and massive thanks go to him. The package has all the QML, including the symbols. QML profiler is therefore directly available. All of this means that app development for UT will be easier, more certain and more efficient.

It is now available as a PIP, in a clickable-ut package. [clickable-ut domain]

You can also use versioning in CI now. GitLab versioning is also built in.

The wording ‘app templates’ and ‘build templates’ caused a lot of confusion in the past. To resolve that, the latter is now called ‘builders’ and the word template has been removed from that.

There is a bug when applying Apparmor permissions without hiking the version number. There was a workaround for this but thankfully Clickable now applies the workaround automatically. There are better libraries and better repositories. In addition, no paths need to be configured. Taken as a whole, these changes represent a huge streamlining of app development.

docs.ubports.com has detailed documentation on all of this and Dalton said the documentation is a model of its kind – so we can take it that it is pretty good!
One of the outstanding issues is that if there are a lot of arguments, things can get very messy. If someone out there knows Python they could help us a lot with the tidying process. It would be painstaking work but not particularly advanced. It would be an ideal place to start if you are new to our community and want to help.

Automatic detection of the device type has been thought about and is something we hope to provide eventually. Bash completion is another idea that could be worked on.

Dalton reported that there is now a forked atom-clickable-plugin available, which will also assist many developers.

If you want more detail on the workings of any of this stuff, the OpenStore group on Telegram would be a great place to head.

Hallium 9.0 build

Florian announced that the Halium 9.0 build is seeing some great progress. Mobile data use is supported now. Erfan is the creator of both ‘fake’ data support and GPS modules which are seen by the Android core as being native. There are still function gaps but what this promises overall is an era of shiny, (almost) new devices for UT and quite a large selection of them. Nikita has been building the base rootfs for Android 9 devices in the system image, to create a working UT system.  That will benefit the Volla phone of course, which is such a device.

Gandi are now sponsoring UBports and providing us with email support and (importantly) Nextcloud support. They didn’t require that we make a fanfare about it but our special thanks goes out to them.

Sponsors were thanked. 

Questions

The News section of our Forum is the best place to post questions for the Q&A. YouTube live chat, Telegram and Matrix are other places to post a question.

If you didn’t know, the Forum questions get priority.

Porting new phones effort

Aribk wanted to know how important we think the effort to port to new phones is for the UBports community, bearing in mind that half finished ports may generate some disappointment among users. Not all devices can be installed directly with the installer at the moment either and that can be frustrating. Well, Halium 9 now has a lot of its own documentation and the GSI is getting much more mature. Features not previously supported are constantly being added. Porting is a process and you have to move step by step. Until it is finished it is by definition incomplete. That doesn’t mean we shouldn’t start. The new builds of Halium 9 should provide a wider range of solutions in one go, so progress should be much quicker and easier than in the past.

Remember that some of the devices which stalled when porters tried to use the 7.1 build may be able to use the 9 build instead, with a greater chance of success. At the end of the day though, porting is complicated and a solution which works for one device might not help with another.
Installer support will of course increase over time.

To a follow on question about what would make a good candidate, Florian suggested that the limited standardisation brought about by Project Treble may actually be making things easier for us.

Development for the Volla phone will certainly have some spin-offs that will assist with many other devices. It ships in November, whether we are ready or not.

If you go back just two weeks to the last Q&A, you will see that GPS and network data were not working then. Now they are. Progress is pretty fast.

502 security keys implementation

A question was asked about the implementation of 502 security keys, for two factor authentication etc. in UT. Fingerprint recognition can be a 502 protocol but there are many protocols under the umbrella term 502. They are often used for workplace and enterprise level authorisations. Since there are many different functions under the one heading, there will be some that we could perhaps implement and others which would be quite unlikely. The fingerprint check needs a keystore stage and then an online assert. That makes it very complicated, as there are two interlocking systems involved. A plain security key may be easier to implement because it just needs a USB reader and a browser. The 4.4. version of the standard ought to work okay for that but it would need kernel support – fine for the PinePhone but no use for devices like the Nexus 5 or OPO, which have an older kernel and standard.

Foundation membership applications

Hummlbach asked about progress on applications for membership of the UBports Foundation. In April, the membership committee met to discuss the application process and current status of applications. We have not yet implemented the messaging needed when responding to applicants. Dalton will pursue that. 

Wayland and old phones

Zubozrout asked about the fact that Pinephone is able to run Wayland  and asked which old phones will get left behind by not being able to get that. Potentially, newer games could be made available on Pinephone but not on the others? Wayland does need to be brought to (some) Android devices because we have to get off mirclient. It certainly isn’t because of games support though. Wayland buffers will have to be implemented but we are pretty confident that they can be because Sailfish seems to manage that okay. 

PINE Store financial donation

Stefwe noted that the PinePhone ‘Community Edition’ will soon bring a substantial influx of money to UBports, in the form of the $10 per device levy. How much and how will it be used? There is no exact figure yet but we can expect at least $40,000 . It could be received as a direct donation and used for coding, infrastructure etc. If coding, it would probably be in the form of a project payment for freelancers. Another part of the money might become part of the base capital of the Foundation, invested securely but providing a small income for everyday spend. Anbox development, the move to 20.4 and upgrading Qt are each examples of discrete areas of work which need to be done and maybe could take the form of paid projects. If you have ideas, let us hear them. Although the amount will be substantial and very welcome, it is nothing like on the scale needed to take on ‘employees’. Revamping NetworkManager is a smaller task than the others listed but it does need some improvement and doing that might also fit into a ‘project’ category.

Screen brightness settings

Ubuntoutou wants to find a way to lower the minimum system screen brightness. There is in fact an interpolation option and there are some issues open. The strangest is that the auto brightness scale can actually go lower than the normal system minimum, which clearly doesn’t make any sense. We would need a re-powered config mechanism. 

Morph full screen mode and notifications

Also, could we have a view in full screen function for Morph, equivalent to F11 on desktop, in order to remove the title bar? As with all suggestions for features, the way to address it is to open an issue on GitLab. Portrait mode has a disappearing bar in some circumstances already but the same is not true of landscape mode.

PoVoq asked whether Morph browser could get notifications, courtesy of an updated version of qtwebengine?  Because of the way UT operates, if it could be done it would only happen when the browser is in focus and then quite honestly the benefit would be minimal. It would only really be useful if the notifications were in the background but to do that for the browser would be against the ethos of the operating system.

A reminder though that Morph browser is a vital part of UT and we know that there is a lot of room for improvement. Volunteers are needed!

Warning "apt" path notice

Alan Griffiths noted that using apt in UT is a very bad idea if done outside a Libertine container. Could we maybe insert a warning in the path, to deter people? It could be a default, with the persistent able to edit it out if they want?

Read Only design

Zach asked whether the the PinePhone too will be read only?  The simple answer is yes. That is a design decision taken by UBports and it will not change. 

QT apps in combined app Store?

potet noted that some Qt apps are a default feature of both UT and Plasma mobile. Could those be merged into a combined Store? Aside from Purism’s desire to remain distinct, there is the fact that we use Clickable. We have invested a lot into it and are very happy with it so we are not going to give it up any time soon.  Others in the mobile world are using Flatpak. We might be able to do the same but that raises a host of questions. We would want it to integrate with Clickable and that would be no easy task. 

GnomeMaps with the potential of Gnome libhandy

Will GnomeMaps be developed for UT, as it has been for Postmarket OS? Our build is too old to use the new Gnome GTK designed for use with Wayland. That would not be an obstacle for the Pinephone but it would be for other devices.The developer of

PureMaps for Lineage OS has very generously done a lot of work towards the fork for UT, despite not himself being a UT user. A big shout out to Rinigus!!


See you next time :-)

Introduction to Clickable
Miguel Menéndez Carrion