RFC Playground

Cemil Azizoglu cemil.azizoglu at canonical.com
Thu Apr 2 16:51:34 UTC 2015


Definitely not suggesting it's not useful, or that we should remove it. But
"playground" (I am not a big fan of the name either) has one specific
purpose stated previously but now includes code that doesn't contribute to
that purpose (again, it does contribute to other just as useful purposes).

What I'm suggesting is we should migrate to public whatever we think should
be public, so you got solid support for that code. The rest should move
elsewhere (perhaps "internal examples" as opposed to "examples" which I'd
consider external)  and even perhaps off the tree.

Regards,
Cemil



On Thu, Apr 2, 2015 at 2:50 AM, Thomas Voß <thomas.voss at canonical.com>
wrote:

>
>
> On Thu, Apr 2, 2015 at 4:36 AM, Daniel van Vugt <
> daniel.van.vugt at canonical.com> wrote:
>
>> All the features are useful. And use of the word "playground" was not my
>> choice (I was outvoted). They have all been used to develop other features
>> or to diagnose bugs in Mir, or soon will be used when I find the time. By
>> function you can see them documented here:
>> http://bazaar.launchpad.net/~mir-team/mir/development-
>> branch/view/head:/doc/demo_shell_controls.md
>>
>> The "cosmetic" stuff is also very useful. Shadows for example make the
>> stacking order obvious. Title bars show you that you have the correct title
>> string and that the new API for that works. Which I needed just recently.
>> The zoom feature I've used repeatedly to see fine pixel details and even
>> yesterday as an aid in measuring latency.
>>
>> I use mir_proving_server every day. It helps me to find bugs that no one
>> else on the team is noticing (but should). Management has asked me on a
>> couple of occasions "what is your trick to finding bugs that nobody else
>> does?". The answer is daily manual testing with mir_proving_server.
>>
>> It's also worth noting that one of Cemil's first contributions (seamless
>> rotation) would not have been possible without mir_proving_server. And
>> Gerry uses mir_proving_server regularly to compare features. Including
>> yesterday, he used it to test resizing, which is more feature complete in
>> mir_proving_server than elsewhere.
>>
>> Most importantly however, something slightly pretty motivates people to
>> get involved. Either directly in Mir or downstream, it allows them to see
>> potential for Mir which is impossible for most people to see in flat
>> rectangles. Sparking peoples' imagination is invaluable.
>>
>> Something like this that people use every day should not be deleted. That
>> would be most unhelpful. But mold it into some slightly different form,
>> sure.
>>
>>
> ​I'm not sure where your reservation arises from, but no one proposes to
> delete useful code. On the contrary, people appreciate the usefulness of
> the code and propose to graduate it to the production base such that it is
> under test and guaranteed to be working.​
>
> Thanks,
>
>   Thomas
>
>
>
>>
>> On 02/04/15 00:03, Alberto Aguirre wrote:
>>
>>> Once we release mir 0.13 we can tell our colleagues to use
>>> mir_demo_server instead.
>>>
>>>  From what I can see, features missing from the demo server in
>>> comparison to proving server are mostly cosmetic. If they are not, can
>>> Daniel list the features that are missing?
>>>
>>>
>>>
>>> On Tue, Mar 31, 2015 at 8:40 PM, Daniel van Vugt
>>> <daniel.van.vugt at canonical.com <mailto:daniel.van.vugt at canonical.com>>
>>>
>>> wrote:
>>>
>>>     Last I checked mir_proving_server was more functional and less buggy
>>>     than our other example servers. That and our colleagues tend to use
>>>     it as their primary development platform when testing toolkit/app
>>>     ports. So mir_proving_server is important and should be reworked to
>>>     use any newer APIs you would prefer it to use.
>>>
>>>     I know it's frustrating the number of regressions we've had this
>>>     past week or so. But to blame the functionality that regressed more
>>>     than the person who regressed it I think is disproportionate.
>>>
>>>     Yeah that "god" function is annoying. It needs to be teased apart. I
>>>     can help with that but it's not a major priority right now.
>>>
>>>     Please try to avoid belittling the project by using words like
>>>     "playground" and "dark corner". It's important and useful example
>>>     code that myself and others use every day to do our jobs. So if you
>>>     want it modernised, let's do it.
>>>
>>>
>>>
>>>     On 31/03/15 21:12, Alan Griffiths wrote:
>>>
>>>         There's a bunch of code in the mir project that isn't needed for
>>>         supporting the public interfaces (neither by implementing them,
>>>         testing
>>>         them nor demonstrating their use). This code lies in
>>>         "playground" and
>>>         shares that location with the following README:
>>>
>>>              The Playground
>>>
>>>              These are mir demos that excercise private in-flux mir
>>>         functionality.
>>>              As such functionality matures, related headers become
>>>         public and the
>>>              playground
>>>              code may become an example of how to use such feature.
>>>
>>>         It has now been some time since any functionality has "matured"
>>> from
>>>         playground and become public (either as APIs or examples). I
>>>         don't see
>>>         any evidence that the code there is being developed toward such
>>>         an event
>>>         in the foreseeable future.
>>>
>>>         The requirement to support this code is becoming a burden as it
>>>         makes
>>>         use of internal APIs in a way that limits the evolution of Mir
>>>         internals. Updating the code is also costly as it has grown in an
>>>         uncontrolled manner (most of the logic seems to be in one 223
>>>         line "god"
>>>         function). Because it not under test to the same extent as Mir
>>>         production code we've had a number of breakages to this code
>>> land on
>>>         trunk recently (often to features I wasn't previously aware of).
>>>
>>>         So the questions:
>>>
>>>         1. Does "playground" still provide a proving ground for new code
>>> to
>>>         germinate? Or is it dark corner for legacy code to go and die?
>>>         2. Do we still need a proving ground like this? Or do our public
>>>         APIs
>>>         now support enough functionality to drive feature development?
>>>         3. If we still need a proving ground is it desirable to rework
>>>         this code
>>>         to be better aligned with the rest of the project?
>>>         4. If we don't need "playground" is there anything we need to
>>>         provide
>>>         before dropping it from the project.
>>>
>>>
>>>
>>>     --
>>>     Mircosmonauts mailing list
>>>     Mircosmonauts at lists.canonical.__com
>>>     <mailto:Mircosmonauts at lists.canonical.com>
>>>     Modify settings or unsubscribe at:
>>>     https://lists.canonical.com/__mailman/listinfo/mircosmonauts
>>>     <https://lists.canonical.com/mailman/listinfo/mircosmonauts>
>>>
>>>
>>>
>> --
>> Mircosmonauts mailing list
>> Mircosmonauts at lists.canonical.com
>> Modify settings or unsubscribe at: https://lists.canonical.com/
>> mailman/listinfo/mircosmonauts
>>
>
>
> --
> Mircosmonauts mailing list
> Mircosmonauts at lists.canonical.com
> Modify settings or unsubscribe at:
> https://lists.canonical.com/mailman/listinfo/mircosmonauts
>
>


-- 
Cemil Azizoglu
Mir Display Server - Team Lead
Canonical USA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/mir-devel/attachments/20150402/c5f86c24/attachment.html>


More information about the Mir-devel mailing list