Ubuntu Touch Q&A 68

FOSDEM 2020 coming
13 februari 2020

 
 

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

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

News and Update

Presenting this week were Marius, Dalton and Florian.

Our thanks to Sergey

The Q&A began by noting the sad passing of a well known member of our community. Sergey was well known for his work with Marcos Costales on the uNav app and he assisted with the organization of Ubucon Europe 2018. Those who were lucky enough to meet him found him gentle and generous with his knowledge. Dalton expressed his regrets that he never met Sergey in person but wished that he had. Our thanks for a much valued life.

In a similar vein, our sincere best wishes go out to a community member who is struggling with illness currently. He has done a huge amount for the community and those of us who know him hold that friendship dear. See you when you are back but take all the time you need to get well.

FOSDEM 2020

Will see five of us attend (that we so far know of). It takes places on 1 and 2 February at the ULB Solbosch Campus in Brussels. There will not be a booth because we did not realize until it was too late that we would actually have the numbers. Hopefully we will get that right in future years! KDE have been kind enough to offer us some time to hang out at their booth. We will also be around the Pine64 booth, though that will only be there on the Sunday. Other than the presenter team, Notkit and Alfred will be wandering around. Maarten is doing a talk on Postmarket OS and other things. It is on the main stage so the room will likely be packed but hopefully some of us at least will be able to get in.

With the Pinephone launch, all of the software communities around it are getting really excited and there is a lot of bonding and support between the different projects. Anyone who has their Pinephone or a receipt for Braveheart should make sure to bring it along to the Pine64 booth, to receive something rather special! Shipping is underway but be patient because in some zones there will be extra checks and some delays (be extra patient in Germany…)

Plasma Mobile is doing a ‘sprint’ after FOSDEM, in Berlin. Marius and Dalton will be headed to that too. The work done there will benefit Halium for all of the related projects and is another step in building co-operation and sharing knowledge between our different communities. By sharing some of the same base components, each of us can go faster together than we would be able to do alone. That is an important feature of the open source community. What we are going to do in Berlin is just an extension of what we do every day. KDE especially have been a great resource for us but we in turn give back to them with our elaborations and fixes. The work on telepathy and ofono has been a cooperative effort and is central to all of the mobile systems. Halium is a framework project which from the start involved all of us. We share with Plasma mobile the fact that we both rely a lot on the Qt programming language. With PinePhone, we all now use uboot, to load the kernel in one second, rather than ten seconds. The list goes on…

Google accounts

There is something important going on with Google accounts and online accounts in OTA-12. We may have to disappoint anyone who is currently using Google sync by deprecating (removing) that feature. That is unfortunate because it does both contact and calendar sync. We have a good alternative of our own for calendar but nothing as effective for contacts. Google have said that for security reasons you are not allowed to use embedded browser frameworks. They insist on another method which we do not currently support. Part of the process involves sharing browser history and then sending a confirmation back to an originating app, so there are in principle issues here, not just technical ones. The processes involved are a bit obscure so if anyone has more knowledge about it than we do, they are encouraged to share it with us, to help our assessment of the situation.  At the moment we don’t have these problems with any company other than Google. Online-accounts and its Qt front-end are the relevant components. In docs.ubports.com you can find the documentation on these, in the system development section. 

OTA 12

On OTA-12 generally, Marius reported that it is finally moving into rc channel. This is possible because there are no longer any critical bugs. The move to rc is the period during which it will be subject to testing by many more people and remaining bugs should be identified and corrected before the release into stable channel. As rc goes live again, users will notice the new colour gradients feature, the app drawer, improved visual contrast and lots of other goodies. What users will not see is all the stuff under the hood but take it from us that there is a huge amount of that. Part of that will be the preparations made for the OS to run for the first time on non-Android devices.

Samsung S3 NEo port

It is pretty well known that Florian has been playing around with a port to the Samsung S3 Neo. This is the fourth attempt but it is very near to a working version now. Only the camera remains to be sorted. It is a very small and very cheap device. In Europe they can be had for around €25 and Florian now needs a group of testers with the device to identify any remaining issues. It doesn’t just have to be mainstream members of our community. You can maybe give one to a friend or a family member to see how they get on with it.

PinePhone

PinePhone has a repository and issue tracker on Gitlab.  There is a lot of interesting information there. Although it will not be directly equivalent to a desktop experience of Linux, it is much nearer to that than are our Android derived devices, so if you have experience with desktop drivers, for example, you will find stuff here which is much more familiar. Anyone who is familiar with mesa will find it particularly interesting. The same applies to the lima kernel driver. Great progress with both is being made all the time and we encourage those with a special interest in these to study closely. API trace for OpenGL is an area where there are some problems and expertise is especially welcome!

QML creator update

Alfred reported during the broadcast that the QMLcreator app has just been updated. This has the ability to run QML directly on your phone, which can be used as an app development tool, directly on the phone! You can find it in OpenStore today.

Sponsors were thanked.

Questions

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

The first question this time was from Kuji. 

The devel channel is coming along nicely with Unity8 and new Mir he said. There is some additional exciting work on multi-display support. Aside from these, are there any more projects which were started but not finished by Canonical, which we can take up and deliver? If there is nothing like that left, it seems like we are entirely on our own now so where will we head for big features in future?  Marius pointed out that multi-display support will not be in OTA-12. It still needs some work. It is primarily a desktop tool, to complement Unity8 there. In a different implementation,  our Ubuntu Touch phones will start to behave better when plugged into an external screen.

The general answer to the second question is actually that for the future, the major new developments of the OS will come from within the community. In live chat, Simon expressed his wish to get a high quality voice implemented for Ubuntu Touch.

On the subject of design, Dalton mentioned that Cibersheep has been doing a lot of work updating old documentation originally provided by Canonical, setting out the human interface guidelines which we should follow.

There are all kinds of things we could do with new location services, new sensor implementations, Bluetooth, networking and a mass of other things. We are not short of potential projects!

Marius observation

Marius observed that fixing code left by someone else is often much harder than starting from scratch with you own because you don’t fully understand the thought processes that were at work. What Canonical provided was immensely valuable but at the same time ‘interpreting’ it has been a very slow process. Being  a bit ‘on our own’ makes this a very exciting time.

Canonical Anbox project

Gizmochicken said he is not at all clear what Canonical is planning with their ‘cloud Android’ initiative – can you explain? The director of that project is the main mover behind Anbox, which is interesting. The plan is to use LXD containers and Anbox together in a public or private cloud and stream them to a device. One of the stated goals is to facilitate games streaming. That is slated only for 5G networks. Their Anbox seems not to be the one we have been experimenting with and seems much more directed towards streaming apps. There are lots of unanswered questions. We don’t know whether we would be able to create a compatible streaming app for Ubuntu Touch or whether the service could be easily hosted privately on a home server, for example. Is the service even intended for individuals or will it be enterprise only? At this stage, we simply don’t know.

Marius commented that this project is interesting because it means continued development of a version of Anbox. Aside from the streaming possibilities, new refinements may make Anbox more useful for us as a native mobile tool. Previously it had seemed that Anbox itself had almost been abandoned, so this is potentially very good news.

Domubpkm asked whether the UBports installer might allow alternative operating systems, at a later date? 

Way back, the project was Ubuntu Phone or Ubuntu Tablet and a Canonical project. At that time, a clever installer called Magic Device Tool was created by a small group headed by Marius Quabeck. [He is on nerdzoom.de  - free plug…] The tool also provided CyanogenMod and for some devices. Without his device, the only thing we had was ubuntu-device-flash which worked but was not especially friendly for ‘ordinary users’. Marius Quabeck had his own interests to pursue, so there came a time when he no longer had the time to maintain his installer tool.

At that point ‘our’ Marius created the first version of the UBports installer, using the electron language, with the intention of opening up development of it to a wider group. Jan took over the installer project and has become the driving force behind it. In its latest form, the installer accepts configuration file plugins, with the installer just a shell around them. So the script for the Xperia X for example is more complicated than for the others. It has already been tested with Lineage OS and it works with Asteroid OS, the little system for smartwatches. It will also be able to handle Samsung devices, using Heimdal – hence Florian’s experiments.

One of the exceptions at the moment is PinePhone, which needs an entirely different treatment. We hope to support that with the installer in the future, as the install process is a bit tricky and a UI will help to remove accidental errors.

If anyone is interested in firming up the Lineage reltionship and has contacts in that community, they are welcome to speak to Jan (NeoTheThird) about it. Obviously we would not want to get into hosting for other communities but we can discuss any compatibility issues.

VOIP on Ubuntu Touch

LionelB asked what the technical obstacles are to providing an app with VOIP on Ubuntu Touch (not the resource issues…) ? WebRTC is the usual mechanism used. It is how the Q&A is broadcast. QtWebengine – which we use – has that but only with audio capability. QtMultimediaLayer does not yet allow access to the camera. However, if an app was written using QtMultimedia (which is the live camera stack) that app would have video and audio access. While that is a technical issue, it is an extra complication and it is understandable that people are waiting instead for a system-wide implementation that they can use. The old uMatriks that Marius modified did use WebRTC but that was when we used Oxide, so it worked.

On the subject, Florian spoke about Teleports and the many questions about (voice only) calls. The technical issues around that are not major and we have the benefit of the Telegram library. It would need some new codecs and a few other things. So, that is solvable. The more difficult issue is that we have no way to run those functions in the background. You would not be able to ‘call’ someone unless they had Teleports in focus on their device. Of course we do have the push service and push notifications, so with a few changes in Unity8 there might be a way forward to issue an alert to the other party to open Teleports for an incoming call. Running a constant background service is still a major concern though. Short answer – if both parties are online and in touch by text, starting up a voice communication would be relatively straightforward. Using Teleports as a phone alternative would be much more messy and complicated. 

Marius pointed out that at one time Canonical had a plan for a fully integrated messaging system. Florian cringed at this :) Dalton reminded Marius that we have already removed some of the code that would have enabled that, so it unlikely that we will go back…

Voice over LTE

A separate question was asked about voice over LTE. Florian explains that he found that all of the extensions to the daemon for that are vendor specific and totally closed source.  In addition there are some obscure certification requirements. We absolutely understand that this is very bad news for our community members in India, where the carriers are switching to VoLTE for all calls. Regrettably, it is not clear how we would be able to provide that. Dalton said that upstream ofono does appear to have support and that PinePhone is expected to support it natively. Florian commented that you still need to be able to send commands to the modem, so even with the PinePhone it remains to be seen how we might handle that.

Pine64 $10 per device

Okkie asked about a post by Pine64, in which they offered $10 per device to any OS community, where a batch of phones are ordered with that OS pre-installed. Yes, we do know about that and it will be a big thing, we hope!

He also asked for comment on the competition between Ubuntu Touch and the other distributions that will run on the PinePhone? To be honest, competition is not the right word. We are all working together with the same aim – to get our operating systems running on the PinePhone. Each of us wants to take users from Android and iOS. There is nothing gained by taking users away from each other’s communities. Linux on desktop should similarly be about attracting users from MacOS and Windows, not poaching between Mint and Elementary.

During this, Marius showed the Q&A video feed on the PinePhone working in the Q&A video feed…

All of the communities are very helpful to each other but of course the presence of the others encourages us to do even better, so it is a positive in both ways. 

When the public release of the PinePhone happens, there will inevitable be a lot of distro hopping as users figure out what is best for them. That will generate masses of feedback which we can then use to improve. So having alternatives is very exciting. Users will make their own choices, based on what suits them.

Okkie’s last question was what the default OS will be on the PinePhone? 

The plan at present is that there will be a batch of retail phones offered, from as soon as March, with whichever OS is available ready for use as a daily driver. Each will be taken in turn, in the order they are ready. There is a possibility of custom branding such as a different colour for each but that is not settled yet. Just to be clear, even if you buy a branded device, it will not be locked in anyway and you can easily change to one of the other available operating systems. 

Dalton added a note that the PinePhone tablet doesn’t have the margins available to support a donation system, as planned for the phone.

Jor1196 asked whether Meizu Pro 5 and Nexus 4 be able to use Halium in the future?

Both of those devices use Canonical ports with libhybris for the Android container. The Nexus 4 work was open and we have access to it but doing anything practical to build on it would be a major piece of work. What was done with the Meizu was almost entirely closed source. The reality is that it is highly unlikely that we will be able to upgrade either device to a new Halium port. That means we will have to drop them at some point. We don’t know exactly when but we will let you know nearer that time. Meanwhile, they will of course be supported for as long as we are still basing Ubuntu Touch on Ubuntu 16.04 and that is going to be the case for quite a while yet. Certainly at least a year. 

The news is better on Nexus 5, OnePlusOne and Fairphone 2 because we are making good progress on stepping them up to version 7.1 of Halium, to give them a new lease of life. Nexus 5 is a little behind the other two in progress. Rajanathan in particular is doing a lot of work on Fairphone 2 for this.

See you next time :-)