[Utopia] Roadmap to Utopia


Second Post! No, seriously, now that we got a mailing list, I was
thinking that it may be useful to have some kind of discussion on the
road to Utopia. I, for one, is not quite certain what it looks like!

First, from a 50000 feet perspective, it would be useful to somewhat
characterize the feeling we want the user to experience; I'm saying this
because two other, let's call them Operating Systems, that handle
hardware in an, uhmm, acceptable way, act in fairly different ways.

Now, by user experience, I mean the whole deal, i.e.

 1. How is installed hardware discovered by users? How is it used?
    And how does the user tweak settings on hardware, if at all
    deemed a good thing?

    For an example of tweaking hardware settings, consider storage
    devices; one popular OS allows the user to specify whether
    the OS should use write-caching or not - this is a trade off 
    between performance (faster writes) or usability/convenience (user
    can yank out the device without clicking a button on the desktop)

 2. What happens during insertion of new hardware? Does it 'just work'?
    If it needs to be configured, how does this happen? What if the user
    inserts the hardware when GNOME is not running and it needs to be
    configured? How is the user notified, if at all?

 3. What happens when hardware is removed? How is the user notified?
    (Both questions probably needs to be answered both when the system
    and/or GNOME is running and when it's not)

    Does the user have to do something before unplugging a device when
    the system is running?

 4. How does the presence of hardware notification and configuration
    affect the ecosystem of applications at the GNOME level? 

    To be more concrete, look at gnome-volume-manager - currently it
    can start applications like totem and gthumb. Is there a need for
    a richer model? Should applications be able to register themselves
    with g-v-m on installation? For instance, if I install Rhythmbox
    should it register itself as handler for music players (e.g. ipod)?

 5. How does auto configuration play with different distributions and
    operating systems? 

    I mean, presently we use HAL to abstract all the hardware
    which is all good, because we believe that it can run
    on other OS'es than those based on a Linux 2.6 kernel. But HAL is
    deliberately designed to avoid policy decisions and e.g. rely on
    the OS/distro to load kernel modules and so forth.

    In other words: How does software at the GNOME level apply
    configuration parameters that is OS/distribution specific?

 6. Corner cases; what happens when there is no driver for a device?
                  etc etc etc.

Phew, these are all pretty difficult questions. I realize that. I also
realize that most of them got pretty fundamental answers, while some
don't. I really don't pretend to have the answers - maybe it's not even
the right questions?

I'm hoping that at some point we can identify a) existing apps/
components that can be enhanced as part of the Utopia process; b) new
apps/components that needs to be developed; and c) end at some kind of
roadmap. For this identification process, maybe it's useful to look at
one device type at a time, e.g. networking devices, storage devices,
input devices, music players (e.g. ipod), cameras and so forth. 

However, I think it might be best to have a discussion on the generic
level first, e.g. how does the user relate to hardware, cf. points 1-6

Oh, and there's probably a bunch of technical issues, we'll get to them
at some point :-)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]