incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Brooks <mich...@michaelbrooks.ca>
Subject Re: Playbook code merge discussion
Date Tue, 06 Dec 2011 17:56:24 GMT
Hi Drew,

Thanks for the summary and details on what's changed.

All of the Playbook support was added by RIM quite a while ago, but the
pull request was only merged in recently. During the merge, I didn't want
to make unnecessary changes, so I held off of cleaning up parts of the
codebase. Now that we've got Playbook support into the BlackBerry
repository, we can start discussing and cleaning the codebase.

A very important note is that we now need to support both BlackBerry and
Playbook. RIM will be handling most of the AIR code, but we need to ensure
that JavaScript changes for one platform will not break the other. So, all
callback-blackberry developers are responsible for compiling, running, and
testing both BlackBerry (handheld) and Playbook (tablet).

framework/ext/src/library.xml:
>    - PhoneGap feature is now "com.phonegap" instead of "phonegap".


I'd also like a justification for this change. No other WebWorks extension
uses namespaces, so I'm confused why "phonegap" was changed to
"com.phonegap". If there is no reason, then I would like to see it changed
back to "phonegap".

javascript/capture.js:
>    - This is a proper renaming of media.js.
>        * Problem is media.js was not deleted so both capture.js and
> media.js are included and are identical.


Good eye. If media.js is redundant, then we should remove it.

javascript/console.js:
>    - console.log is now only defined if console is undefined.
> Previously console.log was always defined.
>        * I've been testing on OS 6 and console.log never gets defined
> since console is defined.  This results in console.log not working.
> I've had to use phonegap.Logger.log instead.


Perhaps clobbering console.log was conflicting the the built-in Web
Inspector for Playbook debugging? We should be holding a reference to the
original console.log, overriding it, and then still calling the original
reference.

template/project/project.properties:
>    - Properties previously defined in the file are now prefixed with
> "blackberry".  New properties added for "playbook".
>        * I'm confused by "blackberry.sim.password".  Description says
> "If you leave this field blank, then you cannot deploy to simulator".
> I believe this is misleading since the only usage I see for it in
> blackberry.xml is to load the device (not simulator).


Agreed. propject.properties has become more complicated and I'd like to see
it simplified. I think it's doable.

javascript/webWorksPluginManager.js:
>    - Camera and Capture functionality is now handled by blackberry
> javascript API instead of native plugins.
>        * This is a step backwards as the blackberry javascript API
> lacks some features implemented by the native plugins.  Just to name a
> few: specifying image size for the Camera, and audio recording for
> Capture.


My guess is that Playbook uses the WebWorks API, but BlackBerry should not
be forced to do the same if it provides additional functionality.

template/project/build.xml:
>    - Build has been split up into blackberry.xml and playbook.xml.
>    - Building a phone app now requires "ant blackberry build" where
> before it was "ant build".


I helped the RIM guys decided on this solution. It was the cleanest
approach that we could come up with at the same.

template/project/www/config.xml:
>    - PhoneGap feature is now "com.phonegap" instead of "phonegap".
>    - New permissions blackberry.media.camera, blackberry.identity,
> blackberry.ui.dialog, blackberry.system.
>        * I'm confused why blackberry.identity and blackberry.system
> were added since they already exist in the file.  I'm also not sure
> what is requiring blackberry.ui.dialog.


I'm also confused on the duplication and where blackberry.ui.dialog is used.

template/project/www/plugins.xml:
>    - "Device" is a new required plugin.


Yep

There are now issues being logged on the missing Playbook APIs. Until
Playbook supports every PhoneGap API, we should ensure that it can
gracefully fail on the JavaScript side.

Thanks again for posting this thread Drew!
Michael

On Tue, Dec 6, 2011 at 7:49 AM, Drew Walters <purdrew@gmail.com> wrote:

> I've been playing around with the latest callback-blackberry code
> which has been merged to include playback support and I have run into
> some things which are worth noting/discussing/fixing.  For reference
> the code change is here:
>
>
> https://github.com/callback/callback-blackberry/commit/19c0e686067e36a563815435f6ed69ee562dbf9d#template/project/www/config.xml
>
> I've listed below some things which existing BlackBerry developers
> will need to be made aware of in order to update their existing
> projects to 1.3. I've also added notes prefixed with '*' which I feel
> are defects or at least require further discussion.
>
> framework/ext/src/library.xml:
>    - PhoneGap feature is now "com.phonegap" instead of "phonegap".
>
> javascript/capture.js:
>    - This is a proper renaming of media.js.
>        * Problem is media.js was not deleted so both capture.js and
> media.js are included and are identical.
>
> javascript/console.js:
>    - console.log is now only defined if console is undefined.
> Previously console.log was always defined.
>        * I've been testing on OS 6 and console.log never gets defined
> since console is defined.  This results in console.log not working.
> I've had to use phonegap.Logger.log instead.
>
> template/project/project.properties:
>    - Properties previously defined in the file are now prefixed with
> "blackberry".  New properties added for "playbook".
>        * I'm confused by "blackberry.sim.password".  Description says
> "If you leave this field blank, then you cannot deploy to simulator".
> I believe this is misleading since the only usage I see for it in
> blackberry.xml is to load the device (not simulator).
>
> javascript/webWorksPluginManager.js:
>    - Camera and Capture functionality is now handled by blackberry
> javascript API instead of native plugins.
>        * This is a step backwards as the blackberry javascript API
> lacks some features implemented by the native plugins.  Just to name a
> few: specifying image size for the Camera, and audio recording for
> Capture.
>
> template/project/build.xml:
>    - Build has been split up into blackberry.xml and playbook.xml.
>    - Building a phone app now requires "ant blackberry build" where
> before it was "ant build".
>
> template/project/www/config.xml:
>    - PhoneGap feature is now "com.phonegap" instead of "phonegap".
>    - New permissions blackberry.media.camera, blackberry.identity,
> blackberry.ui.dialog, blackberry.system.
>        * I'm confused why blackberry.identity and blackberry.system
> were added since they already exist in the file.  I'm also not sure
> what is requiring blackberry.ui.dialog.
>
> template/project/www/plugins.xml:
>    - "Device" is a new required plugin.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message