UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    How to extend the system UI and UX?

    Scheduled Pinned Locked Moved Lomiri (was Unity8)
    31 Posts 10 Posters 5.3k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • P Offline
        potet @dobey
        last edited by

        @dobey said in How to extend the system UI and UX?:

        [...] use UT as merely a base to provide a different UX.

        I think this is an interesting point - is the idea to offer the springboard as an alternative UI altogether (similar to what Volla is doing with Android), or rather to provide it as an add-on/app that works on top of an otherwise normal Lomiri session?

        As for the greater concern:
        I think it could be fruitful to think about how extensions could allow users to change their UX without forking the entire project. A springboard could be more similar to adding a dock or Gnome Do to Gnome 2 than to change DE entirely. Of course this shouldn't distract from the aim and vision of UT/UBports, but some users will always want things differently. Allowing them to achieve this by installing or creating an extension would be great.

        That being said, I'm ignorant to the technical details. If allowing for UX extensions would make developing UT significantly more difficult, of course it shouldn't be prioritized. And I doubt anyone would consider forking right now to be a good idea.

        That being said, it Ubuntu Touch ends up being a popular daily driver in the Linux community, people will modify their user experience. I do believe there would be some benefit to allowing them to do so while remaining within the framework provided by UBports, rather than forking the system and coming up with creative hacks. Thinking about what this should look like sooner rather than later might be a good idea, and the possibility of a springboard is a good example.

        1 Reply Last reply Reply Quote 1
        • M Offline
          marc_aurel
          last edited by

          Thanks for your comments, concerns and recommendations.

          I think about UT as a platform, because we think about further Volla devices including wearables like a UT watch of glasses. A similar approach has Sailfish OS with a proof of concept for a smart watch and feature phone by modifying Lipstick.

          Back to the mid term plans:

          @potet We want to introduce the Springboard to Volla devices and can confirm, that thy have a fingerprint sensor. I community members would install the Volla app on their they could open and use it the conventional way.

          The idea came from someone at our Volla Community Days last week. I sounds very convenient and would avoid conflicts with system updates form UBports. We could focus on the development and maintenance of the Volla UX. So my question is: How could an app receive a fingerprint event? Is someone interested to work on a proof of concept? If you know someone, who could be interested, give me a note?

          @AppLee How can a custom app become a default app in the sidebar if it is not running? I think, this was your recommendation, wasn't it?

          Modifying Lomiri could be another option for sure, but I want to avoid conflicts with the default UT releases. I would prefer a kind of modularization for customization or plugin logic as a standard. Something like Super Apps and Partner Space (Sailfish OS) or Launcher or Kiosk Mode (Android). This could help to make UT attractive for OEMs and startups to make UT popular.

          If someone is interested in a proof of concept. Let me know.

          AppLeeA dobeyD K 3 Replies Last reply Reply Quote 0
          • AppLeeA Offline
            AppLee @marc_aurel
            last edited by

            @marc_aurel
            Any app can be launched with the app drawer.
            Once running, the app appears in the launcher (left bar).
            Now a long press on the app icon opens a contextual menu allowing the user to "pin" the app to the launcher.

            This way any user can customize the launcher and set its favorite/most used apps ready to start.

            I guess reading your message that it's the easiest way. Springboard can be an app available in the open store and might probably be unconfined to have the necessary rights.

            M 1 Reply Last reply Reply Quote 0
            • M Offline
              marc_aurel @AppLee
              last edited by marc_aurel

              @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.

              1 Reply Last reply Reply Quote 1
              • dobeyD Offline
                dobey @marc_aurel
                last edited by

                @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.

                1 Reply Last reply Reply Quote 0
                • K Offline
                  kazord @marc_aurel
                  last edited by

                  @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.

                  1 Reply Last reply Reply Quote 1
                  • M Offline
                    marc_aurel
                    last edited by

                    @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.

                    AppLeeA dobeyD 2 Replies Last reply Reply Quote 1
                    • AppLeeA Offline
                      AppLee @marc_aurel
                      last edited by

                      @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.

                      M 1 Reply Last reply Reply Quote 0
                      • M Offline
                        marc_aurel @AppLee
                        last edited by

                        @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.

                        K 1 Reply Last reply Reply Quote 1
                        • K Offline
                          kugiigi @marc_aurel
                          last edited by

                          @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.

                          M 1 Reply Last reply Reply Quote 1
                          • dobeyD Offline
                            dobey @marc_aurel
                            last edited by

                            @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.

                            M 1 Reply Last reply Reply Quote 0
                            • M Offline
                              marc_aurel @dobey
                              last edited by

                              @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

                              dobeyD 1 Reply Last reply Reply Quote 0
                              • M Offline
                                marc_aurel @kugiigi
                                last edited by

                                @kugiigi Thanks. Community developers are invited to help us.

                                1 Reply Last reply Reply Quote 0
                                • dobeyD Offline
                                  dobey @marc_aurel
                                  last edited by dobey

                                  @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.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M Offline
                                    marc_aurel @dobey
                                    last edited by

                                    @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.

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post