[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Simple] Presence data model: devices
hisham.khartabil at nokia.com wrote:
But the question is, do watchers care? they might. It is a little
misleading to represent the above service to be email on a mobile
phone. So in actual fact, I need a 3rd "device" that represents the
combination of a mobile phone and a PC. Does that need a tuple of its
own? I don't know, and I guess this is what Henning is arguing
against.
I'm arguing that the watcher does not, in general, care how the service
is provided. The watcher does not get a choice in the matter and is as
likely to draw wrong conclusions, based on his mental model of what a
device looks like, than right conclusions.
Currently, many services are indeed tied to a single device in a fairly
transparent manner. But single-service devices don't benefit from
dividing service and device description. It's only if multiple services
share a device (or multiple devices contribute to a service) that there
is anything of interest.
In the current design, the device model cannot be used to reliably reach
one device ("call my blue Nokia cell phone") unless each service has
only one device or there is a service that only reaches that one device.
If that's the case, the service description itself can describe the
device. (I doubt that this is useful in practice, but just in case.)
I believe it is useful for watchers to know the device the service is
available on. For example, I will only make voice calls to you if you
have voice on you PC since calling to you on your mobile phone will
cost me extra.
The device does not matter here - it's the knowledge of the cost of the
*service* that matters. After all, it's not the device that charges you
money, it's the service that does. It just happens that you are running
the service on a specific device today. If I run my cell phone PCMCIA
card on my PC, your assumption is suddenly wrong - calling my PC will
indeed cost extra. Thus, simply assuming that "PC=free" is exactly the
kind of implicit assumption that is probably mostly right, but will
increasingly be dangerously wrong as the traditional device boundaries
disappear.
I'm not sure yet if a tuple is needed, or if a device-id is
sufficient enough. In either case, something (characteristics) is
needed to identify that device as a PC, mobile, or a combination and
therefore will enable better GUI representation of that device (like
an icon rendered locally).
Again, I don't see how the knowledge of the device helps the *watcher*.
I care what kind of service I'll be getting, in terms of quality and
cost, but that depends on the service definition. Indeed, as noted,
unless you map services to devices one-to-one, you can only guess that
you'll get one of the N devices making up the service.
I might agree that if a device state changes, then the presence state
of those services affected should change, and therefore no presence
state of a device is ever published, but rather those states of the
services are. I see this as local to the publisher though, and not
the compositor.
If we agree that a tuple represents the presence state of something,
then I can buy that a device tuple is not needed. But again, a device
ID and characteristics mapped to a service is needed.
I don't see how a device ID helps at all. There are two cases, depending
on the mapping:
- A particular service maps to exactly one device. In that case, the
properties of the device (speed, display size, media capabilities, etc.)
are part of the service - for that service at that time, you only get
those characteristics. Since many of the characteristics are indeed
determined by the capabilities of the service provider and the service
plan chosen by the user, not the piece of plastic in the user's pocket,
the service-device distinction seems arbitrary.
- A particular service maps to multiple devices, forking-style. In that
case, the only advantage of having device tuples is that it allows you
to enumerate the possible end points where your call might end up. You
don't get a choice (although caller preferences might give you input),
but you might get a hint. This, I believe, is however, much better coded
as an enumeration of service capabilities as they are as likely to be
constrained by the service offering as by the piece of plastic.
Any other service constraints ("can't do X and Y at the same time
because they share one device") rely on dubious assumptions about
particular instances of plastic.
I do agree that specifying the source and nature of data is a really
good idea. For example, it might be valuable to provide indications of
the type of idleness ("no communications", "no user input"), rather than
having the watcher try to deduce this based on guesses what kind of cell
phone a cell phone is.
As mobile devices become basically multi-tasking pocket PCs with a
screen that is as large as PC screens were about five years ago, it
seems increasingly dubious to rely on classifications that might have
been vaguely helpful in a single-line, single-purpose world of the
Motorola StarTAC.
Regards, Hisham
Henning
_______________________________________________
Simple mailing list
Simple at ietf.org
https://www1.ietf.org/mailman/listinfo/simple