On 27 October 2013 08:10, Mikko Hurskainen <mikko.hurskai...@nomovok.com> wrote:
> Hi,
>
>
>> You're right to some degree that lipstick does have too many
>> responsibilities at present, and that some splitting would be a good idea.
>>
>> <jolla hat on>
>> We have not been working on any of this at the present time as we are
>> focusing on stabilization and performance in order to launch our first
>> device (and initial software) this year.
>> <jolla hat off>
>
>
> Main reason for these changes is to achieve better stability. I understand
> that time is now precious for Jolla and this kind of architectural change is
> adding lots of effort, but we try to improve the stability in longer
> timespan. Also, making this kind of changes takes always a bit time and I
> think it won't be ready before first Jolla device ships. Without knowing
> your future plans, I think it could also benefit you later.
>
>
>> After some thought and talking to some of the other guys on our side (Vesa
>> Halttunen, Mikko Harju) I think your proposal for splitting is a little too
>> vigorous, as speaking from experience, splitting the compositor and the home
>> screen interaction leads to some very difficult design issues, even to the
>> point of making some things impossible. If you were familiar with the N9
>> architecture (mcompositor, meegotouch-home, and meegotouch-systemui), it had
>> splitting done similarly to how you describe (compositor separate from home
>> screen, dialogs/lockscreen/etc split away from those in systemui) and we
>> wasted considerable development effort for minimal gain to satisfy what were
>> some quite tame design requirements.
>
> I am aware of design challenges with N9 architecture, but the split we are
> proposing has three main differences compared to that one.
> * Status bar (meegotouch-systemui) is not separate process as in N9 so there
> is need to do constantly composition from multiple sources
> * Wayland architecture as such also promotes independent rendering of
> applications. This will remove bunch of problems that were present with the
> X architecture
> * We are still able to modify both compositor and home screen because the
> architecture on both sides is clean and designed for modern devices with
> legacy in mind
>
> I think the split we are proposing is a step back, but it covers the
> features that were lacking in X-based architecture.
>
> This kind of change will limit the general purpose usability of the
> architecture, but we are targeting embedded devices. The embedded devices,
> as we know them now, are all following this same logic for the split. If we
> want to support some totally new approach to UI or prototype things, we can
> always take a step back and implement everything in one application. The
> lipstick split that we are proposing is usable for both approaches.
>
>
>> That having been said: it is our opinion that lipstick as-is does too
>> much. My personal proposal would be to introduce a new component with
>> similar design to lipstick, let's call it mascara. This would be responsible
>> for parts of the system UI that do not comprise of anything directly home
>> related, like most dialogs (SIM pin code entry, bluetooth pairing, mobile
>> data connection, etc, etc, etc).
>>
>> The architecture there would be fairly simple: it would offer up a library
>> consisting of a dbus service with the capability to invoke all these
>> different dialogs and functionality, an implementation would then take this
>> library, write a simple C++ application surrounding it, and insert QML to
>> offer up all the necessary functionality. Quite like the existing lipstick
>> design.
>
> I think this split would also add value. The compositor / home screen
> combination will become more clean and all these important, but small
> components would be put into one basket.
>
>> This then results in significantly less baggage being put into one basket,
>> and should at least be a good initial step towards your desired result of
>> stability, while retaining the ease of customisation/prototyping that we're
>> very happy about with the current approach.
>
> I agree that it would be a good step into same direction.

Thanks to Robin it has now come to its first fruition:
https://github.com/nemomobile/mascara


Cheers,
Simonas

>
> However, I think both home screen and 'mascara' are components that need to
> be customized. Our thinking is that compositor is something that does not
> need to be customized for every device, and hence platform should provide
> support for separating it and solid baseline version of it. If the
> compositor will be customized, then it will be some totally new device class
> or new UI concept, that would then need to a new version of compositor for
> that device class / UI concept. Also, current architecture would be possible
> with this change.
>
> Regards,
>  -- Mikko Hurskainen
>
>
> On 24.10.2013 21:37, Robin Burchell wrote:
>>
>> Hello,
>>
>> You're right to some degree that lipstick does have too many
>> responsibilities at present, and that some splitting would be a good idea.
>>
>> <jolla hat on>
>> We have not been working on any of this at the present time as we are
>> focusing on stabilization and performance in order to launch our first
>> device (and initial software) this year.
>> <jolla hat off>
>>
>> After some thought and talking to some of the other guys on our side (Vesa
>> Halttunen, Mikko Harju) I think your proposal for splitting is a little too
>> vigorous, as speaking from experience, splitting the compositor and the home
>> screen interaction leads to some very difficult design issues, even to the
>> point of making some things impossible. If you were familiar with the N9
>> architecture (mcompositor, meegotouch-home, and meegotouch-systemui), it had
>> splitting done similarly to how you describe (compositor separate from home
>> screen, dialogs/lockscreen/etc split away from those in systemui) and we
>> wasted considerable development effort for minimal gain to satisfy what were
>> some quite tame design requirements.
>>
>> That having been said: it is our opinion that lipstick as-is does too
>> much. My personal proposal would be to introduce a new component with
>> similar design to lipstick, let's call it mascara. This would be responsible
>> for parts of the system UI that do not comprise of anything directly home
>> related, like most dialogs (SIM pin code entry, bluetooth pairing, mobile
>> data connection, etc, etc, etc).
>>
>> The architecture there would be fairly simple: it would offer up a library
>> consisting of a dbus service with the capability to invoke all these
>> different dialogs and functionality, an implementation would then take this
>> library, write a simple C++ application surrounding it, and insert QML to
>> offer up all the necessary functionality. Quite like the existing lipstick
>> design.
>>
>> This then results in significantly less baggage being put into one basket,
>> and should at least be a good initial step towards your desired result of
>> stability, while retaining the ease of customisation/prototyping that we're
>> very happy about with the current approach.
>>
>> BR,
>> Robin (on behalf of the Jolla home screen/compositor guys)
>>
>>
>> On 24. okt. 2013, at 14:07, Mikko Hurskainen
>> <mikko.hurskai...@nomovok.com> wrote:
>> Dear all,
>>>
>>> We have been thinking to split up the lipstick based home screen into
>>> separate processes. Currently a crash in one of the components will bring
>>> the whole stack down. Also currently QPA Wayland plugin does not seem to be
>>> able to reconnect to compositor after a crash and thus applications and home
>>> application need to be restarted.
>>>
>>> The components would be:
>>> - Compositor process: Wayland compositor tasks and interacting with other
>>> system components
>>> - Home process: Desktop and the applications menu
>>> - Task switcher: separate application that can switch between tasks
>>> - Lock screen: handles the lock screen
>>>
>>> The home process, task switcher and lock screen are handled as special
>>> applications by the compositor. The special applications have a different
>>> rules what comes to window ordering etc compared to normal applications.
>>>
>>> The lipstick library would be also be splitted into two parts. One that
>>> handles the home screen related functionality and one that handles
>>> compositor related functionality. The base lipstick would look same as it
>>> did before wayland transition. It can be then used to implement home screen
>>> related functionality in any application in the system.
>>>
>>> We are currently evaluating this and hoping to get comments on design. It
>>> would be interesting to know whether this kind of design would be beneficial
>>> also for someone else and whether there are some cases it would fit or not
>>> fit.
>>>
>>> With Best Regards,
>>> -- Mikko Hurskainen
>>>
>>>
>>>
>>
>>
>
>
>


Reply via email to