Chen, Congwu wrote:
Ohly, Patrick wrote:
> On Tue, 2010-03-23 at 01:30 +0000, Chen, Congwu wrote:
>> Ohly, Patrick wrote:
>>> For example, suppose we have "fingerPrint = Nokia 7120c, Nokia
N85".
>>> I would find it confusing to have a "Nokia N85" and then being told
by
>>> the GUI tells me that "we think you have a Nokia 7120c".
>> I think the GUI can still tell you "we think you have a Nokia N85, because
it
>> is a perfect match and we know the device name is Nokia N85, though the
>> template name is Nokia 7210c.
> Does the GUI get enough information for this already? If yes, can you
> describe how Jussi can implement this? If no, what needs to be changed
> by whom?
Yes, I think so. The temporary template has 'deviceName' and
'fingerPrint' property
for this two.
Congwu, the problem is this: my phones deviceName is 'jku'. If the UI
does what you suggest we end up with:
"We think your device is a 'jku'. If this is not correct, please
take a look at the list and select your device if you see it."
I don't think that's acceptable. If we support the phone model I have,
it would be nice if the UI told me that, but I won't do it if it lead to
UIs like that. Don't get me wrong, the current info is quite usable: I'm
fine with just showing the template name for now if the model name seems
difficult with the schedule.
That said, here's my thoughts on this -- something I should probably
have written a while ago. I think this would go a long way: All
templates would have:
- template name (always)
- user identifiable device name (always, this is currently
"deviceName")
- score (always, this changes depending on the device this
template is for)
- list of all model names for this template (always)
- current model name (when available, syncevolution sets this when it
has an idea what the model is, either from BT-name or from other
future datasources, like the Bluetooth profile we discussed)
What this means is that a Nokia S40 phone would not get templates for
each model (like "Nokia 1234" and "Nokia 5678"), but a single S40
template with possibly a model name set and all supported models listed.
From a UI perspective it's important that all these names are
something
that can be shown to a user.
UI workflow:
if one template has a better score than others {
if model name is set {
Show "We think this is a '<modelname>'..."
} else {
Show "We're not sure what this device is exactly, but
it looks like a '<templatename>'..."
}
} else {
Show "We're not sure what this device is..."
}
for each template {
if template score > 1 {
# there are many possibilities here, see below
for each model in templates model-list {
Add '<modelname>' into a list where user can select
}
}
}
UI possibilities:
Showing every model we support might be hard to support longer term (at
least I hope the list will grow) and in many ways showing "S40" is
relevant info for many people so it may make more sense to show the
template names in the list I mention above... But as long as the list of
model names the template supports is available, the UI would have the
choice. This is doubly important as we get different UIs. Some options:
* list every template we support, let user choose
* list every model we support, let user choose
* have a search interface with autocomplete for model names
* combination of the above
Jussi