<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META NAME="Generator" CONTENT="MS Exchange Server version rmj.rmm.rup.rpr">
<TITLE>AW: AW: [Devel] Preferences and Persistence design 0.3.0</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Hi Philip,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">please find my comments</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial"> enclosed</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial"></FONT></SPAN><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">in green</FONT></SPAN></B><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Rgds</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Andre</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="de-de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">-----Ursprüngliche Nachricht-----<BR>
Von: Philip Withnall [<A HREF="mailto:philip.withnall@collabora.co.uk">mailto:philip.withnall@collabora.co.uk</A>]<BR>
Gesendet: Freitag, 8. Januar 2016 11:04<BR>
An: Barkowski Andre (CM-CI1/PRM1) <Andre.Barkowski@de.bosch.com>; devel@lists.apertis.org<BR>
Betreff: Re: AW: [Devel] Preferences and Persistence design 0.3.0</FONT></SPAN><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Hi Andre,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Sorry for my delayed response. Instead of diving straight into updating</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">the document, I feel this topic (§5.1.5, user interfaces) needs a</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">little more discussion. I think we are broadly on the same page,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">although your e-mail has introduced a couple more use cases which the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">design currently doesn’t cover. I will try to explain below.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">In various places below I have said that the design covers a particular</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">point. On re-reading the design when writing this e-mail, I realise</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">there are places where it could be restructured to be clearer. I will</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">try to do that.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">On Mon, 2015-11-30 at 16:18 +0000, Barkowski Andre (CM-CI1/PRM1) wrote:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Enclosed my feedback. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - secrets & passwords ==> move to security paper</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Its ok for me to move this scope to the security paper, with that we</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> can also add more context to it like discussed in another thread.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> (see enclosed email).</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> But please do not forget a reflection of rollback and its impact the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> "user secrets and password" approach and where to add this reflection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> (this paper - e.g in chapter 5 approach - or the security paper -</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> which I feel would may fit better). </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">OK, I will expand the section on this in the Security design. I will</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">leave the current section in the Preferences and Persistence design as</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">a pointer to the Security design.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre: ok.</FONT></SPAN></B><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> I have the feeling we are not on the same page so far. To make it</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> easier to understand, let's call it "an iOS like" solution. There is</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> a settings App, bundled with the system like an App-Launcher</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Application - providing the preferences to the User. An App carries</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> stuff to be configured in some way, e.g. a manifest, this gets</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> interpreted by some "Settings App" and shown to the User in a</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> consistent way. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This is actually quite similar to what we have so far in the design: a</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">GSettings schema (‘manifest file’) which specifies all the preferences</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">for a given application. The design assumes some central preferences</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">application, like iOS, which has sub-pages for each application.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre: ok.</FONT></SPAN></B><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">The design currently gives a couple of options for how those sub-pages</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">are implemented, but the differences are technical rather than user-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">facing. In all cases, the intention is that the preferences application</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">lists applications, the user selects one, and all the preferences for</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">that application are displayed.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">the difference is responsibility & deployment. The settings App belongs </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">to the system chrome, gets defined by the OEM and we expect to write (by us) one</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">new implementation per product. But we keep the Apps</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">out of that scope. They </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">are not</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">ruling</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">how it looks like</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> (by providing the UI implementation aka look & feel)</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">they are only</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">defining the data. In a model/view/control pattern, their focus is limited</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">to the model. </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">However, no general rule w/o exception, we would like to keep the flexibility for </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">special</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">topics/</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">data, which may need some more complex interaction to gets defined. But this</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">doesn't change the overall approach, it only extends it. This would mean for very special </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">entities (a very small quantity and with that an exception and not the rule of thumb), Apps</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">can provide a UI which gets used to modify a value (e.g. like a wizard)</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">. For this part </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">we again think about how to customize it to the maximum degree, but we</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">accept limits.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Where the design currently differs from this is that it advises</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">//against// automatically generating the preferen</FONT></SPAN><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">ces UI from the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">GSettings schema file. This is advice borne out of the experiences of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">various of us, who have seen and worked with auto-generated preferences</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">UIs. They are almost universally not a pleasure to use, unless they</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">list a very small number of very simple preferences (on the order of a</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">couple of checkboxes, for example). You can think of this as a</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">model–view–controller split: in all such patterns, it is rarely</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">possible to satisfactorily generate the view from the model.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">: yes, I see, but</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">I</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">don't share this recommendation against it.</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Its</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">not black or white,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">the majority is very simple and on top </FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">w</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">e provide flexibility for the exceptions and last but not least we have the </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">need for OEM customization.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Instead, it advises creating preferences UIs using code. This allows</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">for ultimate flexibility in how the UI works, which can ma</FONT></SPAN><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">ke for a much</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">more pleasant user experience.</FONT></SPAN><SPAN LANG="de"></SPAN><SPAN LANG="en-us"> </SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> again,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">I see but don't share</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">it</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">because it does not fit to our business model.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Which user experience is pleasant decide</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">s</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> t</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">he OEM, even if we find it very disappointing.</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">With that we</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">are talking about different kind of "flexibility".</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">Since the majority of</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">preferences</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">is</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> quite easy,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">the</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">"flexibility</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">for Apps" is only important for some special entities,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">but since we adopt the look&feel of each and every product accordant to the OEM</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">interest</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">we do need</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">"flexibility</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">for OEM".</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">And therefore we restrict flexibility for Apps.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">H</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">owever, for parts with very good reasons,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">we will provide it, but not as a rule of thumb.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">And implementing it using code is not the issue</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> what I am talking about</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">, the</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">responsibility is the topic.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">The</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">system chrome application</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">providing the UI for the</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">App</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">setting</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">s</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> (</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">which has been created based on code</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">)</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">will be done by</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">the product team, not the App Develop</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">e</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">r.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">With that we keep the maximum level of flexibility for </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">the</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">settings app (belonging to the system chrome) in our own hands (i.e. the product team, out of the App Developer hands</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">)</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">And like said a new implementation will be done for each</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">new product.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Its the same for the App-Launcher, the status bar / Home screen, etc..</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">But its not based on code to provide flexibility for the configuration, its based on code to provide flexibility for </FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">t</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">he OEM, even for the standard / easy stuff. The complex, very App specific</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">stuff can not realized outside the scope of </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">the App responsibility, so we keep this in their hands with limitations in customization</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">(even</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">though we push also the limits as much as possible</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">to enable customization for that part to a maximum degree)</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">However,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">the approach which I explain is</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">not going for one</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">way without enabling the other one.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">So we have to enable both, minimize the part which is in the hands of the App</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">Dev</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">and maximize the </FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">part which is out of their scope.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">The amount of code needed does not need</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">to be large at all: there are various GSettings convenience APIs which</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">mean binding a particular setting to a particular widget is typically 1</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">line of code.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">: great.</FONT></SPAN></B><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">I think the main attraction of creating preference UIs using code,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">rather than auto-generating them is that it provides a simple</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">progression path: if version 1 of an application has a couple of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">boolean preferences, it makes sense to auto-generate the preferences UI</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">for them. However, if version 2 adds some more complex preferences</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">which cannot have their UI auto-generated, the application developer</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">has to reimplement the entire preferences UI in code, including the old</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">preferences.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">see above,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">its not black or white as also the flexibility for App </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Developers is not the first/only priority in our business environment.</FONT></SPAN></B><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">So instead I propose a new solution (which is not in the current</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">version of the design): write preference UIs in code, but Apertis</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">should provide a widget which can auto-generate the UI for a specific</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">set of preferences from the GSettings schema for the application. Let’s</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">call the widget ApertisSettingsList.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This means that version 1 of the application above would implement its</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">preferences UI in a small amount of code to instantiate</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">the ApertisSettingsList widget for its two boolean preferences. Version</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">2 would keep this widget, and add additional widgets to the UI for the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">new, complex, preferences.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Wizards could be implemented as a similar progression.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">: like said, I do not have an issue with realizing the settings based on code,</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">the topic is the</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">responsibility</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> of code</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">as also the differnent kind of flexibility.</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">I would like to go for a solution, where the majority of flexibility / code is in the hands</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">of the product team, which adopts it accordant to OEM interest, and the minority is in the </FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">hand of the App developer.</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">In your sample above, its still too much responsibility in the scope of the App-developer.</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">The "ApertisSettingsList" is not able to cover enough customization from my point of view,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> </SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">we would need more like a a setings applications, complety in the</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">responsibility of the product </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">team, providing an implementation of all the easy / standard stuff accordant to the OEM interest, and</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">hook to Apps for special entities, which then gets limited customization capabilities based on </FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">widget customization.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">> - A user do not has to step into an app and to search for it to</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> configure it, it’s at a central place. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This is already handled in the design.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">: ok</FONT></SPAN></B><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - We also do not have to coordinate all the different kinds of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> possibilities to incorporate it within Apps (at different places and</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> in different way) </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">The design already covers this by specifying a standard way for an</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">application to be launched so that it shows its preferences immediately</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">(§5.1.5¶2; ActivateAction).</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - An OEM can decide to remove configurable parts in his product, so</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> that only a subset gets published to the user for a specific device. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This is already handled by the vendor lockdown system supported by</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">GSettings. Applications can check whether a preference is locked down</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">by calling the g_settings_is_writable() method. I will mention that in</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">the document.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">"can" check is not sufficient. We need to deliver the product w/o </FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">contacting the App-developer to adopt this part. Again, it’s a matter of </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">responsibilities. So the code</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">is in responsibility of the product team to the maximum</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">degree. For the remaining stuff we try to push the limits as much as possible, so "can"</FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">would be ok for that.</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">> - An OEM can also change the look and feel of the Settings-App and it</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> keeps consistent, no need to change the App</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This can be handled by applying CSS classes to the preferences windows</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">in applications, which allows the OEM to override the CSS for that</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">class and have the changes be applied to all preferences windows</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">without needing to modify applications. This is something covered by</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">the UI Customisation design. I will mention that in this document too.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">: like said above, this</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">is sufficient for the special cases but not enough </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">flexibility for</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">the general one.</FONT></SPAN></B><SPAN LANG="de"></SPAN><SPAN LANG="en-us"> </SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - One can optionally re-organize / combine  configurations of same</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> kind over all Apps into one view (e.g. similar like "privacy"</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> settings)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This should be possible for the simple preferences supported by</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">ApertisSettingsList by creating a new view which instructs that widget</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">to display the desired preferences from //several// GSettings schemas.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Note that it would not be possible for preferences whose UIs cannot be</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">auto-generated.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> see above</FONT></SPAN></B><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - We can easily add Search capabilities (over all Apps), to help</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Users to find the topic of interest independent of their</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> organization </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This can be implemented by searching the summaries and descriptions of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">installed GSettings schemas.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">yes, GSettings is not an issue.</FONT></SPAN></B><SPAN LANG="de"></SPAN><SPAN LANG="en-us"> </SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">> Often there are "configurations" which modifies the App behavior but</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> used by the system-integrator at point in time of product creation.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> By intention, they are not transported to the Used for configuration.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> It limits the capability of the User, but also reduces complexity.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Its maybe used for variant handling. However, it is highly OEM</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> specific, since another OEM my decide differently which configuration</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> capabilities to provide to the User.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">This is already handled by the combination of vendor lockdown and</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">vendor overrides, as provided by GSettings.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"></FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">I am not talking about the GSettings capabilities, I am talking about </FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">the code responsibility for the presentation, and who will change what in case</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">an OEM adoption is running into issues. The Settings App / UI shall be in the </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">responsibility of the product team to the maximum degree and interact with the</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">OEM for adoption, but not with each and every App developer to check if its </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Code has issues with the new presentation</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">solution</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">.</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">> But to be honest, settings configured by the central Settings App are</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> not covering all App internals. There are settings changed</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> dynamically during usage, e.g. Sat-View/Hybrid-View/Standard-View in</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> a Map, routing parameter like fast/short/eco etc or even stored</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Favorites. This will be done App-internally, and typically spread</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> over the App-UI to be at the place where it is needed (instead of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> collected and presented all together at a single place). These App</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> internals are managed by the App itself. Also for this the prepared</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> (preferences & setting) services can be used by the App-developer,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> and we provide prepared basic widgets, to keep the UI consistent and</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> to customize it easily (and we should have some words about it in the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> document) but when I say we have to have a central App for the App</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> settings, then I am talking about the "static" ones. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Indeed, the design recommends that preferences are integrated into the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">application UI where appropriate. This is definitely a use case we want</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">to support.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> For that we use some basic data structures like "bool", "int",</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> "string" etc and provide widgets as visual representation of it. Lets</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> compare it with the iOS way.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Since I haven’t mentioned it so far, both the iOS approach and the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Android approach are relevant here (and I will include them in the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">document as background research):</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">iOS uses settings bundles, which are lists of preferences from which a</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">UI is auto-generated. They support very simple data types, and can be</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">loaded by the application or by a central preferences application.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Android uses preferences fragments, which are implemented in code as</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">part of the application, and are launched by the preferences UI when</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">needed, using a special launch argument to get the application to</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">display that fragment (or present it as a separate Settings Activity).</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Both approaches result in roughly the same user experience.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">So as it stands, our design is aligned more with the Android approach</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">than the iOS approach.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">: yip,</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">but</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">it looks like</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">the iOS approach</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> is fitting better to</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">our</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">business</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"> <FONT COLOR="#538135" SIZE=2 FACE="Arial">needs</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">.</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">> In addition, there could be a sequence needed to ease the input of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> values, e.g. a wizard  (e.g. to configure an email account). This</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> should be provided by the App-Developer. An isolated executable</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> (Agent), using some PopUp-Sequence and finally set the key-value</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> pairs shown in the settings App. With that, the Wizard gets shipped</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> with the App, but launched by the Settings Apps. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">The wizard, as you describe it, is effectively what we have in mind for</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">all preferences UIs — you could think of them as similar to one-page</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">wizards.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">: yes, but only for very special cases, not as the general approach.</FONT></SPAN></B><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Once we do have both mechanisms - the wizard together with the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> standard key/value types - , we have a great tradeoff between the 80%</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> of easy to use Standard stuff and the 20% complex parts not fitting</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> well into the standard patterns. And being well prepared to handle it</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> in a central App, we can easily cover a look & feel where it behaves</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> like bundled to each App (for example a dedicated "Settings Hard</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Key", which shall show only the Settings of the App (in Foreground at</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> the point in time of key press), by initiating a flip Animation and</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> showing the App-Settings at the Back-Side of the current App Screen.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> That said, from a solution for central handling we can derive a</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> decentralized setup, but not as easy vice versa. So lets go for the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> one covering the wider scope.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">I will add the settings hard key to the document as a requirement and</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">figure out how to integrate it into the design.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> However, even if we support the central solution, an App developer</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> may decide not to use it. In this case, App settings - which still</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> exists but not exposed centrally - are somehow internally handled, in</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> an app-specific way. Its not consistent, etc, but its possible. And</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> we shall support this too. Its like different levels of integration,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> similar like with the different level of prepared UI elements (from</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> basic widgets via container to complete views/templates) - we</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> recommend the deepest integration but if the App developer decides</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> not to use it he can go for it but then he has to take the burden for</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> build in functionality. So for "settings", we may expose a "settings</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> key pressed" signal to the App for the case it does not participate</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> on the central handling. Or the OEM customization in look&feel but</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> also in scope. Or the "search settings" functionality. An App</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Developer can even decide not to use our low level services to handle</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> key-value pairs and uses its own. In this case, he has to take care</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> about under voltage etc, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">OK.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> With that in mind, I do have the feeling that the explanations on</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> page 26, like </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - disadvantages</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - ways to embed UI from an application (A) into the system</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> preferences app (B)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> are not perfectly fitting.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Hopefully this e-mail has managed to clarify my reasoning behind page</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">26 a little more. At the moment I am leaning towards recommending</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">‘alternative model 2’ as the default recommendation. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">Andre</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">:</FONT></SPAN></B><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial"> yes, thx for that. However, it doesn't convince me and I hope</FONT></SPAN></B></P>

<P DIR=LTR><SPAN LANG="de"><B></B></SPAN><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">you see why in our OEM business flexibility for App Developers is </FONT></SPAN></B></P>

<P DIR=LTR><B><SPAN LANG="en-us"><FONT COLOR="#538135" SIZE=2 FACE="Arial">not the only driving goal.</FONT></SPAN></B><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Could you please reflect the things said above</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - different kind of App settings (which ones are in-app handled,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> which ones are central)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - going for the widest scope solution (central handling,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> incorporation of wizards)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - flexibility in tailoring for a specific product (customization, de-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> centralized setup)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">I will ensure those are covered in the next iteration of the document,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">but would appreciate your thoughts on my explanations above first, to</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">make sure we’re on the same page.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> And also </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> - reflect the iOS User Interface approach for presenting the App</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> settings</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Will do (and the Android one).</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">Philip</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> -----Ursprüngliche Nachricht-----</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Von: Devel [</FONT></SPAN><SPAN LANG="de"></SPAN><A HREF="mailto:devel-bounces@lists.apertis.org"><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">mailto:devel-bounces@lists.apertis.org</FONT></SPAN><SPAN LANG="de"></SPAN></A><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">] Im Auftrag von</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Philip Withnall</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Gesendet: Freitag, 27. November 2015 13:05</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> An:</FONT></SPAN><SPAN LANG="de"> </SPAN><A HREF="mailto:devel@lists.apertis.org"><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">devel@lists.apertis.org</FONT></SPAN><SPAN LANG="de"></SPAN></A><SPAN LANG="de"></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Betreff: [Devel] Preferences and Persistence design 0.3.0</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Hi all,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Please find attached version 0.3.0 of the Preferences and Persistence</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> design, plus a document showing the changes between version 0.2.3 and</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> 0.3.0.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> This version includes more background research, some alternative</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> designs for the system preferences application (§5.1.5) and</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> clarifications of recommendations for storing secrets and passwords.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Is this one OK to upload to the wiki?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="de"><FONT SIZE=2 FACE="Arial">> Philip</FONT></SPAN><SPAN LANG="de"></SPAN></P>

</BODY>
</HTML>