How to extend the system UI and UX?
-
@AppLee Ok. Thanks. Is it possible to do this programmatically?
The app wouldn't be available in the app store but exclusively available on our devices. Is it possible to add further repositories to the Store like F-Droid?
To implement a convenient UX we would need a one touch call of the springboard. Therefore I like the fingerprint idea.
Otherwise we would need to modify Lomiri but I would prefer standard customization optons.
-
@marc_aurel said in How to extend the system UI and UX?:
How could an app receive a fingerprint event? Is someone interested to work on a proof of concept?
Apps cannot use biometrics themselves, as Qt currently doesn't provide a Biometrics API in QML (even on Android).
@marc_aurel said in How to extend the system UI and UX?:
This could help to make UT attractive for OEMs and startups to make UT popular.
UT is not Android, and isn't trying to be like Android in this respect. Custom shell (ie, launchers as they are called on Android) is not doable without significant and very complex changes to the system. UT is about providing a whole OS with a specific design for convergence, not about providing a base platform for phone vendors to modify to their will like they might currently do with Android.
@marc_aurel said in How to extend the system UI and UX?:
Is it possible to add further repositories to the Store like F-Droid?
It is not.
-
@marc_aurel a think a good way to do it may be working on lomiri idle background and transform it to display a 'launcher' app content instead of a simple image.
As it's not a priority of ubports team, you should do the work and make a pull request. I already made some test and it's look like to be the more convenient way to extend the launcher. -
@dobey The app wouldn't need the biometrics information itself, just an event, that the sensor was touched. So the critical information would be protected.
For other use cases biometric confirmation, encapsuled in the middleware, could be an interesting feature, for example to unlock a protected data source or to confirm any transaction.
Where is the component to get this event? The middleware needs this event either?
@kazord Last year a developer has shown in our hackathon, that is s quite simple to exchange the system UI by modifying some QML files. He presented the nice grid style ofr open apps like Nemo Mobile and Sailfish OS instead of the current fan style in Ubuntu Touch.
My hope was, just to modify a QML for the sidebar with a Loader, that loads the launcher app instead of the current sidebar logic. To avoid conflicts with the default system this part could be dynamically controlled as a standard - with any setting or an installed app with specific privileges.
My idea in general is to provide customization of the system in a standard way. Sailfish OS could be a good example for this approach. OEMs like Intex and Jala have used the Standard Sailfish OS with some customization for their market. The idea of a Super App is quite smart. It is a app, that can be called with one swipe gesture. It can be controlled by a setting.
Anyway. If someone is interested to help us with a proof of concept. Let me know.
-
@marc_aurel
That's a big topic because in people's mind (and mine first) it seems easy to just replace a GUI for another.But Ubuntu Touch is build for both privacy and convergence.
For privacy reasons apps are confined and for convergence, all the system UI has to be thought for phones, tablets and desktop size screen.In addition to that, Ubuntu Touch is made as a daily driver and is updated via an image.
The locked rootfs is there to warn people that updates will wipe out any modification made on the rootfs.Hacking the system to replace a QML is easy, but providing updates and keeping this hack is a security breach.
About the fingerprint sensor, if I understood correctly what @dobey explained, I guess that depending on how the sensor is "seen" by the OS you might not be able to access the data coming from it.
If seen as a physical button maybe it could work, but seen as what is really is (a biometric sensor) it won't be usable. -
@AppLee Exactly. Modifying QMLs is fine for a proof of concept of the UX and to show it to a focus group, but not for a product release.
Therefore my question for a modularization of the system UI to allow customization as a standard.
-
@marc_aurel I suggest you try to experiment with a spare device with a RW rootfs. Then use SSH to modify QML files directly and restart unity8 to try your changes. I think this is a quick way of experimenting with stuffs.
-
@marc_aurel said in How to extend the system UI and UX?:
The app wouldn't need the biometrics information itself, just an event, that the sensor was touched. So the critical information would be protected.
It's not about exposing biometric data to apps. It's about the fact that biometric sensors do not work in the way you imagine them to.
-
@dobey It works on Android devices. The idea doesn't come from myself but from the community. I like the convenience.
See the Android documentation and some articles like this
-
@kugiigi Thanks. Community developers are invited to help us.
-
@marc_aurel Ubuntu Touch is not Android. It isn't about the devices. It's about the operating system. They have very different goals and designs which are meant for those goals.
And no, it doesn't work like that on all Android devices. And again, not all devices have fingerprint sensors, regardless of the OS.
-
@dobey Sure, not all devices has a fingerprint sensor. But using a fingerprint sensor in an app would be a benefit for the devices, that have this hardware feature. NFC and Dual SIM are also features, that not all devices have. But the operating system should support it. Anyway, the feature was only requested for Volla devices, which will have a finger print sensor.
Ubuntu Touch is not Android, but it should support requirements of a platform for mobile devices not limited by Smartphones. This includes customization if OEMs. Ubuntu Touch could alternatively use the approach of Jolla for Sailfish OS.
Anyway, this is out of scope of this thread. If someone know, how we could access the fingerprint event, let me know. Because the system needs this event, there must be somewhere on some level an API.