can_suspend_to_{x}

Holger Macht hmacht at suse.de
Sun May 7 11:00:45 PDT 2006


On So 07. Mai - 17:19:52, Richard Hughes wrote:
> 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.

Agreed. You pointed me to the documentation, and I replied only in regard
to the documentation.

> 
> 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.

Yes, I never said anything else, but that's nothing I wanted to discuss in
this thread.

> 
> > > >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?

On the desktop, these names will be translated into all the different
languages anyway, and you won't find the exact translation for hibernate
in all languages because in some of them the exact translation just
wouldn't fit.

I think hibernate is just a circumscription of the technical notion,
plainly done for the comfort of the user. And in my opinion, we should use
technical notions as long as possible. And when I say as long as possible,
I mean until the desktop user will read and use it. A user who uses a
terminal will know the meaning of suspend to disk/ram because it simply
better describes what it actually does. There's no need to paraphrase this
in HAL IMO.

> 
> > > >> 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.

I also agree with this concept, but I think it should be limited to the
desktop where I also could force myself to the decision to use these
names. For anything else then the desktop, I think we should use technical
notions which describe as best as possible what the action behind does.

That's my personal opinion, and now it's up to the HAL developers/
maintainers to decide. And I fear I will lose in this regard ;-)


	Holger


More information about the hal mailing list