can_suspend_to_{x}

Richard Hughes hughsient at gmail.com
Sun May 7 09:19:52 PDT 2006


On Sun, 2006-05-07 at 12:30 +0200, Holger Macht wrote:
> On Sa 06. Mai - 14:01:58, Richard Hughes wrote:
> > On 06/05/06, Holger Macht <hmacht at suse.de> wrote:
> > >I don't think that they should be called Hibernate() and Suspend() in Hal
> > >at all. The first time I looked at gpm and hal, I was completely impartial
> > >in respect to any other OS, and thus, I had absolutely no idea what
> > >Hibernate or Suspend does. I had to look up the code to get what
> > >hibernating does.
> > 
> > It's in the yelp file in the introduction.
> 
> If I need to look at the help, I could also explain suspend to disk/ram
> there.

That's my whole point. A user shouldn't have to look in the
documentation. If they have to look things up, then we've lost.

This is *exactly* the reason why we should be using consistent names
between different projects and developers.

I see it like this:

* A user wants to check the oil in the car
* A user opens the bonnet and does not see any cap marked with "oil"
* A user opens the car service manual and reads explanations about
viscosity and what SAE is applicable, and how to open the petroleum
dispenser but cannot work out how to check the oil.
* The user gives up.

When it could be:

* A user opens the bonnet and looks for the yellow oil cap (which is the
same in all the cars he has previously used).
* User fills car with oil. Happy user....

And if the user has a problem, he can ring the garage and say about the
problem with the yellow oil cap, rather than the garage having to ask
about what make, model and year of the car before it can tell him what
to look for.

Okay, maybe a naff analogy, but you get the idea.

> > >I really don't care about what the GUI shows to the user
> > >in the end, that's up to the project/desktop to decide, it's a plain
> > >useability issue. The Hal methods should exactly describe what they
> > >actually do in a technical manner. So for me, it would also be ok to call
> > >the HAL methods ACPISleep_S3/S4 or the like. But not Hibernate/Suspend. A
> > >developer which writes a application which uses these methods knows the
> > >technical meaning of suspend to disk, but he may not know what hibernating
> > >does. The frontend can show whatever it likes.
> > 
> > No, as HAL has to provide an architecture neutral interface that can
> > be used by users and developers.
> 
> But HAL should only be used by more experienced users which know how to
> deal with a shell, and those users also know waht RAM is.

But what's the point having the different names? Why should we have
different names for the same thing?

> > >> I figure getting the same names so it all makes sense when we document
> > >> it, is worth the short term pain of breaking (undocumented?) API.
> > >>
> > >> What do you think?
> > >
> > >In a technical discussion, I don't like Hibernate/Suspend for suspend to
> > >disk/ram at all, because these are suitable inventions for the desktop
> > >user, but not for a developer.
> > 
> > But I don't see why we should use different names just because one
> > project is "for developers" and one is "for users".
> 
> Ok, so you now what your next job is? Posting to lkml and linux-pm.

I have not posted to lkml, although a few of the suspend/hibernate
projects have given me good responses and most agree with the concept of
what I'm trying to achieve.

Richard.



More information about the hal mailing list