You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@devicemap.apache.org by Werner Keil <we...@gmail.com> on 2014/09/04 20:13:08 UTC

Where do we need genericWebBot?

Reza/all,

I've been going through 1.0.1 data and tested it via the DDR API.
Two major problems so far, "inventing" new device builders on the fly must
not be done, as they have to match concrete Builder implementations in the
implementation of W3C DDR API.

As for "DesktopOSDeviceBuilder" that is somewhat similar to e.g.
"IOSDeviceBuilder", so it seems sound.

However there is also a need for a "BotBuilder".
First and foremost it should be "BotDeviceBuilder" as there are also other
Builders, e.g. various OSBuilders, that deal with the OS aspect, not the
device.

I see there are a couple of bot examples like Google, etc. but where do
they manifest a User Agent string or something "device like" to justify
calling them "device"?

I noticed, there's a new DesktopDevice section, but the same id
"desktopDevice" also occurs for
SimpleDevice:
 <device id="desktopDevice">
                <list>
                    <value>Mozilla/4.0</value>
                    <value>Mozilla/5.0 .compatible</value>
                    <value>Mozilla/5.0 .Windows</value>
                    <value>Mozilla/5.0 .Macintosh</value>
                    <value>Mozilla/5.0 .X11</value>
                    <value>Mozilla/5.0 .Ubuntu</value>
                    <value>Opera</value>
                    <!--<value>Safari</value>-->
                    <value>Chrome</value>
                    <value>Konqueror</value>
                </list>
            </device>

So if this works across multiple builders, the question why the "bot" even
required its own class should be discussed. If you just need to declare a
"genericWebBot" section, it could technically work fine under
SimpleDeviceBuilder. Unless you forsee a specific analysis of things like
UA details, etc. that's what the particular builder classes do, it should
not be put under a non-existing class.

Thanks,
Werner

Re: Where do we need genericWebBot?

Posted by Reza <re...@yahoo.com.INVALID>.
ok, I can rename BotBuilder to BotDeviceBuilder. A bot is technically a type of device. So it needs to be classified as such. Every user-agent out there needs to have some kind of device or device class associated to it. Ex: desktops, phones, bots, wearables, toasters, etc.

What builder should be used for detecting desktops?

The new classifying clients do not use distinct builders, rather, they use a generic classifier and the builder is simply referenced as a ranking function. I would like to avoid using SimpleDeviceBuilder for desktops because SimpleDeviceBuilder is the lowest ranking function.


________________________________
 From: Werner Keil <we...@gmail.com>
To: "devicemap-dev@incubator.apache.org" <de...@incubator.apache.org>; Reza <re...@yahoo.com> 
Sent: Thursday, September 4, 2014 3:04 PM
Subject: Re: Where do we need genericWebBot?
 


The W3C DDR implementation, yes, that's not legacy and the data must remain compatible with it.
Otherwise if you need to creaate something new, try use existing classes and note "org.apache.devicemap.simpleddr.builder.device.BotDeviceBuilder" is part of the W3C impl see the package namespace



On Thu, Sep 4, 2014 at 8:57 PM, Reza <re...@yahoo.com.invalid> wrote:

Before we dive into this, you need to explain this statement in more detail:
>
>
>"as they have to match concrete Builder implementations in the implementation of W3C DDR API"
>
>
>Are you talking about the legacy ODDR client here?
>
>
>________________________________
> From: Werner Keil <we...@gmail.com>
>To: "devicemap-dev@incubator.apache.org" <de...@incubator.apache.org>
>Sent: Thursday, September 4, 2014 2:13 PM
>Subject: Where do we need genericWebBot?
>
>
>
>Reza/all,
>
>I've been going through 1.0.1 data and tested it via the DDR API.
>Two major problems so far, "inventing" new device builders on the fly must
>not be done, as they have to match concrete Builder implementations in the
>implementation of W3C DDR API.
>
>As for "DesktopOSDeviceBuilder" that is somewhat similar to e.g.
>"IOSDeviceBuilder", so it seems sound.
>
>However there is also a need for a "BotBuilder".
>First and foremost it should be "BotDeviceBuilder" as there are also other
>Builders, e.g. various OSBuilders, that deal with the OS aspect, not the
>device.
>
>I see there are a couple of bot examples like Google, etc. but where do
>they manifest a User Agent string or something "device like" to justify
>calling them "device"?
>
>I noticed, there's a new DesktopDevice section, but the same id
>"desktopDevice" also occurs for
>SimpleDevice:
><device id="desktopDevice">
>                <list>
>                    <value>Mozilla/4.0</value>
>                    <value>Mozilla/5.0 .compatible</value>
>                    <value>Mozilla/5.0 .Windows</value>
>                    <value>Mozilla/5.0 .Macintosh</value>
>                    <value>Mozilla/5.0 .X11</value>
>                    <value>Mozilla/5.0 .Ubuntu</value>
>                    <value>Opera</value>
>                    <!--<value>Safari</value>-->
>                    <value>Chrome</value>
>                    <value>Konqueror</value>
>                </list>
>            </device>
>
>So if this works across multiple builders, the question why the "bot" even
>required its own class should be discussed. If you just need to declare a
>"genericWebBot" section, it could technically work fine under
>SimpleDeviceBuilder. Unless you forsee a specific analysis of things like
>UA details, etc. that's what the particular builder classes do, it should
>not be put under a non-existing class.
>
>Thanks,
>Werner

Re: Where do we need genericWebBot?

Posted by Werner Keil <we...@gmail.com>.
The W3C DDR implementation, yes, that's not legacy and the data must remain
compatible with it.
Otherwise if you need to creaate something new, try use existing classes
and note "org.apache.devicemap.simpleddr.builder.device.BotDeviceBuilder"
is part of the W3C impl see the package namespace[?]



On Thu, Sep 4, 2014 at 8:57 PM, Reza <re...@yahoo.com.invalid> wrote:

> Before we dive into this, you need to explain this statement in more
> detail:
>
> "as they have to match concrete Builder implementations in the
> implementation of W3C DDR API"
>
>
> Are you talking about the legacy ODDR client here?
>
>
> ________________________________
>  From: Werner Keil <we...@gmail.com>
> To: "devicemap-dev@incubator.apache.org" <
> devicemap-dev@incubator.apache.org>
> Sent: Thursday, September 4, 2014 2:13 PM
> Subject: Where do we need genericWebBot?
>
>
> Reza/all,
>
> I've been going through 1.0.1 data and tested it via the DDR API.
> Two major problems so far, "inventing" new device builders on the fly must
> not be done, as they have to match concrete Builder implementations in the
> implementation of W3C DDR API.
>
> As for "DesktopOSDeviceBuilder" that is somewhat similar to e.g.
> "IOSDeviceBuilder", so it seems sound.
>
> However there is also a need for a "BotBuilder".
> First and foremost it should be "BotDeviceBuilder" as there are also other
> Builders, e.g. various OSBuilders, that deal with the OS aspect, not the
> device.
>
> I see there are a couple of bot examples like Google, etc. but where do
> they manifest a User Agent string or something "device like" to justify
> calling them "device"?
>
> I noticed, there's a new DesktopDevice section, but the same id
> "desktopDevice" also occurs for
> SimpleDevice:
> <device id="desktopDevice">
>                 <list>
>                     <value>Mozilla/4.0</value>
>                     <value>Mozilla/5.0 .compatible</value>
>                     <value>Mozilla/5.0 .Windows</value>
>                     <value>Mozilla/5.0 .Macintosh</value>
>                     <value>Mozilla/5.0 .X11</value>
>                     <value>Mozilla/5.0 .Ubuntu</value>
>                     <value>Opera</value>
>                     <!--<value>Safari</value>-->
>                     <value>Chrome</value>
>                     <value>Konqueror</value>
>                 </list>
>             </device>
>
> So if this works across multiple builders, the question why the "bot" even
> required its own class should be discussed. If you just need to declare a
> "genericWebBot" section, it could technically work fine under
> SimpleDeviceBuilder. Unless you forsee a specific analysis of things like
> UA details, etc. that's what the particular builder classes do, it should
> not be put under a non-existing class.
>
> Thanks,
> Werner
>

Re: Where do we need genericWebBot?

Posted by Reza <re...@yahoo.com.INVALID>.
Before we dive into this, you need to explain this statement in more detail:

"as they have to match concrete Builder implementations in the implementation of W3C DDR API"


Are you talking about the legacy ODDR client here?


________________________________
 From: Werner Keil <we...@gmail.com>
To: "devicemap-dev@incubator.apache.org" <de...@incubator.apache.org> 
Sent: Thursday, September 4, 2014 2:13 PM
Subject: Where do we need genericWebBot?
 

Reza/all,

I've been going through 1.0.1 data and tested it via the DDR API.
Two major problems so far, "inventing" new device builders on the fly must
not be done, as they have to match concrete Builder implementations in the
implementation of W3C DDR API.

As for "DesktopOSDeviceBuilder" that is somewhat similar to e.g.
"IOSDeviceBuilder", so it seems sound.

However there is also a need for a "BotBuilder".
First and foremost it should be "BotDeviceBuilder" as there are also other
Builders, e.g. various OSBuilders, that deal with the OS aspect, not the
device.

I see there are a couple of bot examples like Google, etc. but where do
they manifest a User Agent string or something "device like" to justify
calling them "device"?

I noticed, there's a new DesktopDevice section, but the same id
"desktopDevice" also occurs for
SimpleDevice:
<device id="desktopDevice">
                <list>
                    <value>Mozilla/4.0</value>
                    <value>Mozilla/5.0 .compatible</value>
                    <value>Mozilla/5.0 .Windows</value>
                    <value>Mozilla/5.0 .Macintosh</value>
                    <value>Mozilla/5.0 .X11</value>
                    <value>Mozilla/5.0 .Ubuntu</value>
                    <value>Opera</value>
                    <!--<value>Safari</value>-->
                    <value>Chrome</value>
                    <value>Konqueror</value>
                </list>
            </device>

So if this works across multiple builders, the question why the "bot" even
required its own class should be discussed. If you just need to declare a
"genericWebBot" section, it could technically work fine under
SimpleDeviceBuilder. Unless you forsee a specific analysis of things like
UA details, etc. that's what the particular builder classes do, it should
not be put under a non-existing class.

Thanks,
Werner