Questions for Google (on the challenge wrt location based services)

13 views
Skip to first unread message

Ram

unread,
Apr 7, 2008, 7:56:16 PM4/7/08
to Android Challenge
Hi, can someone from Google please answer the question below.

Is it reasonable to expect that all judges will know how to run adb
push to install content files (e.g. geodb for geocoding, kml and
properties file for locationProvider etc.) ?

I just started learning/writing the geocoding code yesterday and hope
to complete a small app this week.
So an early response will be greatly appreciated.
---
I don't yet have an answer on my GmmGeocoder question ( in
http://groups.google.com/group/android-challenge/browse_thread/thread/f03952c10bc8a2ad/2c19ae10ffe5158f#2c19ae10ffe5158f
)

However, I don't mind using the mock Geocoder functionality *if*
judges will be required to adb-push the geodb file that I provide (and
if this extra adb-push work won't be considered as a negative for the
app)

Thanks Ram

Ram

unread,
Apr 8, 2008, 1:32:48 PM4/8/08
to Android Challenge
Hi, can you please address the adb-push question.

adb-pushing the content files will be a prerequisite for my app and
I'd like to confirm that judges will be able to do this step.

On Apr 7, 4:56 pm, Ram <Ram....@gmail.com> wrote:
> Hi, can someone from Google please answer the question below.
>
> Is it reasonable to expect that all judges will know how to run adb
> push to install content files (e.g. geodb for geocoding, kml and
> properties file for locationProvider etc.) ?
>
> I just started learning/writing the geocoding code yesterday and hope
> to complete a small app this week.
> So an early response will be greatly appreciated.
> ---
> I don't yet have an answer on my GmmGeocoder question ( inhttp://groups.google.com/group/android-challenge/browse_thread/thread...

Kornelius Tuggerson

unread,
Apr 8, 2008, 1:57:10 PM4/8/08
to Android Challenge
I was worried about adb-pushing locations to the emulator too, but
then I decided that it would be better to hard-code a couple of them
and then document that in the read me file.

Dan Morrill

unread,
Apr 8, 2008, 4:28:23 PM4/8/08
to android-...@googlegroups.com
This is definitely the way to go.  Judges will not be able to use 'adb push' to install content files.

One technique that may be helpful is to store the content file as a raw resource, and then access it and write it to the sdcard upon first run.

- Dan

Philip

unread,
Apr 8, 2008, 4:49:43 PM4/8/08
to Android Challenge
Dan,

Can we expect the default gps kml to be present on the emulators that
judges will use?

Philip

On Apr 8, 11:28 pm, "Dan Morrill" <morri...@google.com> wrote:
> This is definitely the way to go. Judges will not be able to use 'adb push'
> to install content files.
> One technique that may be helpful is to store the content file as a raw
> resource, and then access it and write it to the sdcard upon first run.
>
> - Dan
>
> On Tue, Apr 8, 2008 at 10:57 AM, Kornelius Tuggerson <
>

Dan Morrill

unread,
Apr 8, 2008, 5:50:47 PM4/8/08
to android-...@googlegroups.com
The emulators will be the exact same emulators you guys can download and have been using for your submissions.  Whatever resources are available in those by default will be available to the judges.

- Dan

Ram

unread,
Apr 8, 2008, 8:56:58 PM4/8/08
to Android Challenge
Considering that Android just provides a mock provider (and relies on
mock kml, geodb files etc), it is disappointing that challenge entries
cannot create their own kml and geodb files.

However, thanks for letting me know that judges will not adb-push kml
or geodb files (and that SD cards are an alternative).

For now, I'll continue writing the app with the mock provider (and my
own geodb file...) ....and then try to figure out how to write geodb
files to SD cards and then figure out how to make the mock location
provider rely on this kml file.
> > > > Thanks Ram- Hide quoted text -
>
> - Show quoted text -

Peli

unread,
Apr 9, 2008, 4:56:48 AM4/9/08
to Android Challenge
Wait a moment... Judges will not be able to use 'adb push', but they
are expected to use 'adb install'?

Or will you provide some kind of batch file or graphical installation
program for the judges that will wipe the emulator and install the apk
file automatically? Does this mean that all applications submitted as
zip-files containing several apk files will break?

Peli

On Apr 8, 10:28 pm, "Dan Morrill" <morri...@google.com> wrote:
> This is definitely the way to go. Judges will not be able to use 'adb push'
> to install content files.
> One technique that may be helpful is to store the content file as a raw
> resource, and then access it and write it to the sdcard upon first run.
>
> - Dan
>
> On Tue, Apr 8, 2008 at 10:57 AM, Kornelius Tuggerson <
>

AkaZn

unread,
Apr 12, 2008, 12:55:17 AM4/12/08
to Android Challenge
Are you sure that there will be an SD card when the judge run the
application. What if there is no SD Card? Can anyone of Google answer
this question?

On Apr 8, 4:28 pm, "Dan Morrill" <morri...@google.com> wrote:
> This is definitely the way to go.  Judges will not be able to use 'adb push'
> to install content files.
> One technique that may be helpful is to store the content file as a raw
> resource, and then access it and write it to the sdcard upon first run.
>
> - Dan
>
> On Tue, Apr 8, 2008 at 10:57 AM, Kornelius Tuggerson <
>

androider

unread,
Apr 13, 2008, 6:23:25 AM4/13/08
to Android Challenge

Dan, I really think you need to go back and revise this - talk it over
with the Judges or something.

I mean, keeping the emulator 'pure' by preventing adb push makes some
sense, but the existing gps mock track data and geodb file for mock
geocoding are very limited.

What's more, the Android official documentation makes it quite clear
that we are _supposed_ to replace or modify the geodb and track/kml
files to properly emulate LBS when working on LBS applications. Why
else does it clearly document the use of "adb push", the geodb file
format (http://code.google.com/android/migrating/m3-to-m5/m5-api-
changes.html#geo-mock) , and how to create kml files with Google Earth
(http://code.google.com/android/toolbox/apis/lbs.html)

To provide all of this functionality and documentation to allow
developers to build a worthwhile and demonstrable application in a
100% emulated environment, then hamstring us by saying (1 week before
the submission date, no less) that none of this support and
functionality can be used in the competition entry makes no sense at
all. I suspect there's a misunderstanding here - and I, for one, am
going to submit with some files to be pushed, as I suspect are many
others. It makes no sense to do it any other way.

Harsh Jain

unread,
Apr 13, 2008, 6:36:22 AM4/13/08
to android-...@googlegroups.com
Please dont change this now. I have, for instance, created sample data around this route.

regards,
harsh

androider

unread,
Apr 13, 2008, 10:54:49 AM4/13/08
to Android Challenge
Change what? The fact that you can or cannot use adb push?

As far as I know, there's nothing in the regulations about this, only
this comment in the forum by Dan. So I'm not convinced that we can't
use adb push. In fact, I'm convinced otherwise.

If we can't provide a geodb or kml file - as the Android documentation
recommends, then the easiest way to do gecoding and navigation would
be to put all of our mock data as literals in Java code and totally
ignore the built-in mock geocoder and providers.
This would hide the data in our apk, since we don't have to provide
source.

But that's insane isnt it. It would basically mean that the Android
Developer Challenge would disqualify contestants who try to follow the
"android way" and stick as close as possible to the published API for
LBS, while hacky do-it-your-own-way workarounds would be given the
advantage.

Please, say it ain't so, Dan.



On Apr 13, 11:36 am, "Harsh Jain" <har...@gmail.com> wrote:
> Please dont change this now. I have, for instance, created sample data
> around this route.
>
> regards,
> harsh
>
> On Sun, Apr 13, 2008 at 3:53 PM, androider <androidentr...@gmail.com> wrote:
>
> > Dan, I really think you need to go back and revise this - talk it over
> > with the Judges or something.
>
> > I mean, keeping the emulator 'pure' by preventing adb push makes some
> > sense, but the existing gps mock track data and geodb file for mock
> > geocoding are very limited.
>
> > What's more, the Android official documentation makes it quite clear
> > that we are _supposed_ to replace or modify the geodb and track/kml
> > files to properly emulate LBS when working on LBS applications. Why
> > else does it clearly document the use of "adb push", the geodb file
> > format (http://code.google.com/android/migrating/m3-to-m5/m5-api-
> > changes.html#geo-mock<http://code.google.com/android/migrating/m3-to-m5/m5-api-changes.html...>)

Kornelius Tuggerson

unread,
Apr 13, 2008, 11:28:19 AM4/13/08
to Android Challenge
I am, of course, not Dan, but I disagree with you about hard coded
locations going against the "android way". The hardest part of ADC is
figuring out how to use what's available to make your idea come to
life. I've spent many nights finding ways to work around the parts of
the SDK that are not available yet. You should make your application
flexible enough to use either the list of locations that the Mock
Location Provider spits out, or the list of locations you hard coded
into your app. If you follow the DAO pattern for data access, that
should be very easy to do.

androider

unread,
Apr 13, 2008, 1:16:31 PM4/13/08
to Android Challenge
Okay, I think we're splitting hairs here, but I also think that we're
mostly in agreement.
I agree about flexibility.

I particularly agree with the importance of using the built-in API
first, such as for the Geocoder.
This way, if the next SDK replaces the hidden implementation of the
Geocoder with the real deal instead of a mock, our apps should just
work as they were originally intended.

If we can't get anything out of the built-in Geocoder, and we fall
back to hard-coded support, that's all good too.

So in order of preference:
1: Ideally the Geocoder and LBS providers just work.
2: If not, we fall back on our hard coded solutions for the demo

But... between those two, I submit this

1.5: In order to make our demos interesting we add information to the
geodb and a kml track for gps locations, allowing us to use the built-
in mechanism but with more interesting data until the real deal is
there.

Maybe I went to far in suggesting that hard-coding was not the
'android way', but given the lengths that the android documentation
goes to in explaining the file format for creating your own geodb and
kml tracks - heck they even suggest you use Google Earth to create
your own kml tracks - it is abundantly clear that 1.5 is the way we
were intended to test, develop and demo applications.

If we have to fall back to hard-coded java mocks to get our
applications working, I think that's fine.

What is NOT fine is that we should HAVE TO fall back to hard-coded
mocks simply because the judges won't support the DOCUMENTED mechanism
for creating mocks, due to some arbitrary rule about using adb push
(which is also well-documented)

What's more, I'm not sure any such arbitrary rule actually exists. I
didn't see it in the official rules, only in a forum post one week
before the deadline.
Google has the right to apply whatever arbitrary rules they want,
whenever they want, of course, but this one would be, in my opinion,
outside the spirit of the challenge.




On Apr 13, 4:28 pm, Kornelius Tuggerson <victor.seme...@gmail.com>

Ram

unread,
Apr 13, 2008, 3:34:02 PM4/13/08
to Android Challenge
Hi androider, I agree with you and ....made a similar request in
http://groups.google.com/group/android-developers/browse_thread/thread/4283bb3c25966105/3372b4f137820b3b?lnk=st&q=#3372b4f137820b3b

Android documentation explictly suggests creating new mock geodb and
kml/properties files .....and it obviously makes little sense for any
demo app to use the standard geodb file (which only includes one non-
business location (the white house) and one business (Zachary's
Pizza).

Using Android's geocoder class, location provider (with custom mock
kml/properties and geodb files) is definitely a more "android way" of
doing things than writing and using a new UserGeoCoder class and
UserLocation class (with hardcoded data)

>I, for one, am going to submit with some files to be pushed

I think this is unnecessarily risky.
While the refusal to use "adb push" for kml/properties and geodb files
makes little sense, it is also true that we don't get to make the
rules. So I myself plan to go with the hardcoded route approach
because that is the official Google recommendation in this thread

If the judges don't run adb push .. and if your application counts on
the new geodb or properties/kml files, your entire effort will be
wasted. So you may want to consider taking the time to change your
app.

androider

unread,
Apr 14, 2008, 4:22:45 AM4/14/08
to Android Challenge
Well put Ram. But god, I hope you're wrong.
Of all the last minute fixes I could put in before the deadline in a
few hours, this is the one that would pain me the most. Not because
it's complicated, but because it makes no sense.

Also, think of all the contestants that read the documentation but
aren't following this forum. Heck, think of the contestants that were
following the forum, but submitted their apps a month ago and have
moved on. This late-breaking demo-killing rule is not fair for them.

I really want to hear from Google on this again. Come on Dan - the
clock is ticking.


On Apr 13, 8:34 pm, Ram <Ram....@gmail.com> wrote:
> Hi androider, I agree with you and ....made a similar request inhttp://groups.google.com/group/android-developers/browse_thread/threa...

Dan Morrill

unread,
Apr 14, 2008, 9:29:41 AM4/14/08
to android-...@googlegroups.com
Hi everyone!

I wanted to make a quick clarification here.  Judges will not be able to use 'adb push' to install arbitrary content files of your own.  Anything that's explicitly supported by the emulator is allowed, but other kinds of files are not supported.

To be more specific, these are supported and allowed:
  • geodb files for /misc/data/location/geodb
  • sdcard images
For sdcard images, you can assume that one will exist on the emulator so it's safe to rely on its presence.  You can also include your own sdcard image, as long as you can get the file submitted.  Note that the size limit is 10MB, which makes it difficult to attach a useful sdcard image and is why we suggest that you work out another solution (such as download on demand.)

To include one, just put your apk file along with a geodb or sdcard image in a ZIP file and attach it as your application in the submission form.

Custom file types (such as if you want to install a large text file or similar) are not permitted.

- Dan

Ram

unread,
Apr 14, 2008, 3:18:04 PM4/14/08
to Android Challenge
This is a bit confusing.

Are you now saying that we can submit geodb files along with our
challenge entries ?
Will judges then run "adb push" on the geodb file ...before they run
the application ?

You didn't mention kml and properties files in your "supported and
allowed" list above.
Does the answer for geodb files apply for kml and properties files as
well ?

On Apr 14, 6:29 am, "Dan Morrill" <morri...@google.com> wrote:
> Hi everyone!
>
> I wanted to make a quick clarification here.  Judges will not be able to use
> 'adb push' to install arbitrary content files of your own.  Anything that's
> explicitly supported by the emulator is allowed, but other kinds of files
> are not supported.
> To be more specific, these are supported and allowed:
>
>    - geodb files for /misc/data/location/geodb
>    - sdcard images
> > > - Show quoted text -- Hide quoted text -
Reply all
Reply to author
Forward
0 new messages