cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Grebnov (Akvelon)" <v-seg...@microsoft.com>
Subject RE: cordova launcher icon support https://github.com/apache/cordova-cli/pull/126
Date Wed, 02 Apr 2014 20:09:13 GMT
Hi,

Have we agreed to proceed with explicit icons definition via config.xml similar to PG Build[1]?
-  If so I'm going to add iOS support and update our docs. So we will have support of iOS,
Android,  FxOS, WP8 and Windows8. Adding icons to a new platform will be easy, similar to
[2]

Some my thoughts: Adding explicit icon references to config.xml looks redundant since in most
cases developers will still use default icon names following platform guides so we can just
proceed with predefined folder ('res' as an example) and documenting folder structure and
icon names for different platforms. - Sort of 'merges' where we replace app resources using
some special logic. But it could be useful if we share same image between platforms or reference
the same image for different needs inside single platform.

[1] http://docs.build.phonegap.com/en_US/3.3.0/configuring_icons_and_splash.md.html#Icons%20and%20Splash%20Screens
[2] https://github.com/apache/cordova-cli/pull/126/files#diff-45a2a0f22289a5eb91348499a5053cd8R170

Thx!
Sergey
-----Original Message-----
From: Axel Nennker [mailto:ignisvulpis@gmail.com] 
Sent: Thursday, March 13, 2014 5:05 PM
To: dev
Subject: RE: cordova launcher icon support https://github.com/apache/cordova-cli/pull/126

Please fork https://github.com/AxelNennker/cordova-cli and send a PR for wp.
Thanks
Axel
 Am 13.03.2014 13:18 schrieb "Sergey Grebnov (Akvelon)" <
v-segreb@microsoft.com>:

> Hi
> 1.  It seems pull request does not contain related changes for 
> windows8 and wp8. I may help here if nobody has already started 
> working in this direction.
> 2. I also can't replace default splash screen image following 
> instructions below. It seems to be PhoneGap Build specific, isn't it? 
> Do we support changing splash screen as part of cordova-cli?
>
> http://cordova.apache.org/docs/en/3.4.0/config_ref_images.md.html#Icon
> s%20and%20Splash%20Screens
>
> Thx!
> Sergey
> -----Original Message-----
> From: Axel Nennker [mailto:ignisvulpis@gmail.com]
> Sent: Saturday, February 22, 2014 1:44 AM
> To: dev
> Subject: Re: cordova launcher icon support
> https://github.com/apache/cordova-cli/pull/126
>
> there is a pull request that implements this gap: prefix and phonegap 
> namespace stuff but this is Cordova and we have cdv: as prefix and 
> another
> namespace: xmlns:cdv="http://cordova.apache.org/ns/1.0"
> Looks like config.json adapted by both projects is a way out.
>
>
> 2014-02-21 21:36 GMT+01:00 Don Coleman <don.coleman@gmail.com>:
>
> > Icons are a drag. Explicit configuration sucks, but is the way to go.
> >
> > It would be nice if the Cordova solution was compatible with 
> > PhoneGap Build icons< 
> > http://docs.build.phonegap.com/en_US/3.1.0/configuring_icons_and_spl
> > as h.md.html#Icons%20and%20Splash%20Screens
> > >
> > .
> >
> >
> >
> >
> > On Fri, Feb 21, 2014 at 11:24 AM, Axel Nennker 
> > <ignisvulpis@gmail.com
> > >wrote:
> >
> > > What is your favorite explicit configuration?
> > > Am 21.02.2014 16:49 schrieb "Brian LeRoux" <b@brian.io>:
> > >
> > > > As much as I'd like a single icon source I do not think it is 
> > > > the right path. To do this right I think we need to audit all 
> > > > possible icons for
> > > each
> > > > platform and create a map to analyze what could be distilled 
> > > > across platforms.
> > > >
> > > > Ideally we'd accept a vector format (SVG) and generate all these
> > > ridiculous
> > > > sizes but designers will not like this. Pixel perfection, 
> > > > especially
> > for
> > > a
> > > > springboard icon, is paramount. The only way we're getting there 
> > > > safely
> > > is
> > > > zero magic and explicit configuration.
> > > >
> > > > Lame, I know.
> > > >
> > > >
> > > > On Thu, Feb 20, 2014 at 1:07 AM, Axel Nennker 
> > > > <ignisvulpis@gmail.com>
> > > > wrote:
> > > >
> > > > > How about this strategy:
> > > > >
> > > > > project_dir/config.xml
> > > > > - no new elements in config.xml like cdv:icon
> > > > > - no new attributes in icon element in config.xml like 
> > > > > cdv:platform
> > or
> > > > > gap:platform
> > > > > - do not invent stuff we have to support for the rest of our life.
> > > > >
> > > > > On all platforms:
> > > > > - if config.xml contains a <icon src="whatever.png"/> without

> > > > > any attributes like width and heigth, then copy that src to to 
> > > > > all
> > platform
> > > > > specific  locations where that platform expects launcher icons 
> > > > > and
> > > update
> > > > > config files like manifest.webapp on FirefoxOS if there isn't 
> > > > > a
> > > specific
> > > > > icon element for that location (see later).
> > > > > - no downscaling of icons to lower sizes
> > > > > - no upscaling of icons to higher sizes
> > > > > - do not add dependencies to new node modules (e.g. to parse 
> > > > > icon
> > > files)
> > > > >
> > > > > On Android:
> > > > > I) if there is a specific  <icon src="icon.png" width="48" />

> > > > > then
> > copy
> > > > > that icon.png to res/drawable-mdpi (height is ignored if width 
> > > > > is
> > > > present,
> > > > > no check for non-sqare icons)
> > > > > II) Other sizes are handled according to this list from:
> > > > > http://developer.android.com/guide/practices/screens_support.h
> > > > > tm
> > > > > l
> > > > >
> > > > >    - 36x36 for low-density
> > > > >    - 48x48 for medium-density
> > > > >    - 72x72 for high-density
> > > > >    - 96x96 for extra high-density
> > > > >
> > > > > Directories not matching this algorithm that have names 
> > > > > starting with res/drawable get the biggest icon if no default 
> > > > > icon is available
> > (I).
> > > > > III) icons with width or height other than the ones mentioned 
> > > > > here
> > are
> > > > > ignored.
> > > > >
> > > > > On FirefoxOS:
> > > > > See
> > https://developer.mozilla.org/en-US/Apps/Developing/Manifest#icons
> > > > >
> > > > > For Firefox OS, icons should follow the app icon guidelines< 
> > > > > https://www.mozilla.org/en-US/styleguide/products/firefox-os/i
> > > > > co
> > > > > ns/
> > >,
> > > > > they should not have a drop shadow, and they should be in the
> > following
> > > > > sizes:
> > > > >  128 x 128 For display on the Firefox Marketplace 60 x 60 For 
> > > > > the
> > > actual
> > > > > on-device icon; only the 128px icon is mandatory, but it is
> > recommended
> > > > to
> > > > > include this size as well for optimal device icon display 
> > > > > https://www.mozilla.org/en-US/styleguide/products/firefox-os/i
> > > > > co
> > > > > ns/
> > > > >
> > > > > I) ignore icon elements in config.xml without width or height
> > > attributes
> > > > > II) copy all icons mentioned in config.xml with width  or 
> > > > > height
> > equal
> > > to
> > > > > 60 or 128 to the app's root and create an icon section in
> > > manifest.webapp
> > > > > that matches these icons.
> > > > > III) if no icon is specified for width/height 60 or 128 then 
> > > > > copy
> > each
> > > > icon
> > > > > mentioned in config.xml that has width or height specified.
> > > > >
> > > > > On other platforms:
> > > > > some strategy matching the ones for Android and FirefoxOS. If 
> > > > > a size
> > is
> > > > > there that is typical for that platform (72,144 for ios) then 
> > > > > us only
> > > > those
> > > > > matching icons. Try to help developers.
> > > > >
> > > > > -Axel
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > 2014-02-13 9:56 GMT+01:00 Axel Nennker <ignisvulpis@gmail.com>:
> > > > >
> > > > > > The topic is reaching politics status...
> > > > > >
> > > > > > I think it is worth some effort to keep phonegap and cordova
> > aligned.
> > > > > > What is "Adobe"'s position on W3C widget and xml vs json?
> > > > > >
> > > > > > -Axel
> > > > > >
> > > > > > Regarding which PR to accept: I want support for launcher 
> > > > > > icons
> > and I
> > > > do
> > > > > > not care whether my PR is accepted or the other one.
> > > > > > Actually I do not understand why CB-2606 is open for so long.
> > > > > > https://issues.apache.org/jira/browse/CB-2606
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > 2014-02-12 23:33 GMT+01:00 Jesse <purplecabbage@gmail.com>:
> > > > > >
> > > > > > Part of what you are seeing is the phonegap namespace 
> > > > > > extensions
> > that
> > > > are
> > > > > >> added for build.phonegap.com and the online tools. [1] [2]
> > > > > >>
> > > > > >>
> > > > > >> [1]
> > > > > >>
> > > > > >>
> > > > >
> > > >
> > >
> > http://docs.build.phonegap.com/en_US/3.1.0/configuring_basics.md.htm
> > l#
> > The%20Basics
> > > > > >> [2]
> > > > >
> > https://github.com/phonegap/phonegap-start/blob/master/www/config.xm
> > l
> > > > > >>
> > > > > >>
> > > > > >> @purplecabbage
> > > > > >> risingj.com
> > > > > >>
> > > > > >>
> > > > > >> On Wed, Feb 12, 2014 at 2:03 PM, Andrew Grieve <
> > > agrieve@chromium.org>
> > > > > >> wrote:
> > > > > >>
> > > > > >> > Just started a new thread to propose removing the namespace.
> > > > > >> >
> > > > > >> > Don't the we should use "gap:density", since that's

> > > > > >> > pretty
> > > > PhoneGap-y
> > > > > as
> > > > > >> > opposed to Cordova-y.
> > > > > >> >
> > > > > >> > How about we have "size" and "density" attributes that

> > > > > >> > are just
> > > > > >> synonyms?
> > > > > >> >
> > > > > >> > Off for the day.
> > > > > >> >
> > > > > >> >
> > > > > >> >
> > > > > >> > On Wed, Feb 12, 2014 at 4:57 PM, Axel Nennker <
> > > > ignisvulpis@gmail.com>
> > > > > >> > wrote:
> > > > > >> >
> > > > > >> > > Hm. I guess the id test is historical stuff. It
is 
> > > > > >> > > legal XML
> > and
> > > > the
> > > > > >> > parser
> > > > > >> > > ignores it.
> > > > > >> > >
> > > > > >> > > Regarding the NS prefix: cdv vs gap I am quite
sure I 
> > > > > >> > > did not invent cdv myself.
> > > > > >> > >
> > > > > >> > > Regarding the w3c widget standard: I am OK with
ditching it.
> > > > Should
> > > > > >> there
> > > > > >> > > be a poll or how do you handle such things?
> > > > > >> > > All app templates should remove namespaces then,
right?
> > > > > >> > >
> > > > > >> > > Isn't there another thread around namespaces breaking

> > > > > >> > > the wp
> > > > > platform?
> > > > > >> > >
> > > > > >> > > Anyway, I think we should follow the phonegap
 way with 
> > > > > >> > > e.g
> > > > > >> gap:density
> > > > > >> > for
> > > > > >> > > now. And ditch namespaces later.
> > > > > >> > >
> > > > > >> > > Axel
> > > > > >> > > Am 12.02.2014 22:38 schrieb "Andrew Grieve" <
> > > agrieve@chromium.org
> > > > >:
> > > > > >> > >
> > > > > >> > > > On Tue, Feb 11, 2014 at 3:43 PM, Brian LeRoux

> > > > > >> > > > <b@brian.io>
> > > > wrote:
> > > > > >> > > >
> > > > > >> > > > > Given we are the only 'widget spec'
impl in use 
> > > > > >> > > > > today I'm
> > ok
> > > > > with
> > > > > >> > > > diverging
> > > > > >> > > > > and not adding namespace confusion.
Def want config 
> > > > > >> > > > > to be
> > > > > explicit
> > > > > >> > and
> > > > > >> > > > not
> > > > > >> > > > > have magical implicit mappings.
> > > > > >> > > > >
> > > > > >> > > > >
> > > > > >> > > > > On Tue, Feb 11, 2014 at 12:24 PM, Axel
Nennker <
> > > > > >> > ignisvulpis@gmail.com
> > > > > >> > > > > >wrote:
> > > > > >> > > > >
> > > > > >> > > > > > - My implementation does not use
"id". Don't know 
> > > > > >> > > > > > what
> > > this
> > > > or
> > > > > >> > might
> > > > > >> > > > > mean.
> > > > > >> > > > >
> > > > > >> > > > Found it from your test in spec/test-config.xml
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > >  > - I do not want to discuss the
sense of xml 
> > > > > >> > > > > namespaces
> > in
> > > > > this
> > > > > >> > issue
> > > > > >> > > > if
> > > > > >> > > > > we
> > > > > >> > > > > > can avoid it. The current template
config.xml 
> > > > > >> > > > > > defines
> > two
> > > > > >> > namespaces
> > > > > >> > > > and
> > > > > >> > > > > > for this issue's implementation
I do not want to 
> > > > > >> > > > > > change
> > > > that.
> > > > > >> So I
> > > > > >> > > > would
> > > > > >> > > > > > not drop the widget namespace and
would not 
> > > > > >> > > > > > support "platform"-without-prefix.
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > > > Having gap:platform there makes the property
seem 
> > > > > >> > > > like an
> > > > > >> second-class
> > > > > >> > > > maybe-not-supposed-to-be-there kind of attribute
to me.
> > > > > >> > > > I'd be happy to change the default template
to not 
> > > > > >> > > > reference
> > > the
> > > > > >> widget
> > > > > >> > > > spec and to make cordova's the default namespace
if 
> > > > > >> > > > that
> > will
> > > > make
> > > > > >> your
> > > > > >> > > > inner XML validator rest at-ease, but I really
feel 
> > > > > >> > > > strongly
> > > > > against
> > > > > >> > > having
> > > > > >> > > > XML namespaces creep in. I don't think that
most devs 
> > > > > >> > > > know
> > > what
> > > > > they
> > > > > >> > do,
> > > > > >> > > > and our tools wouldn't support you changing
the gap:
> > namespace
> > > > > >> prefix.
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > > > - I would follow the phonegap example
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > >
> > > >
> > >
> > http://docs.build.phonegap.com/en_US/3.1.0/configuring_icons_and_spl
> > as h.md.html#Icons%20and%20Splash%20Screens
> > > > > >> > > > > > that defines e.g. "
> > > > > >> > > > > >
> > > > > >> > > > > > <icon src="icons/android/ldpi.png"
> > gap:platform="android"
> > > > > >> > > > > > gap:density="ldpi" />
> > > > > >> > > > > >
> > > > > >> > > > > > " and I would like to don't parse
the icon file 
> > > > > >> > > > > > to infer
> > > > > >> > parameters.
> > > > > >> > > > > > Developers want need icons for
their app on all
> > platforms
> > > > they
> > > > > >> > > support.
> > > > > >> > > > > So
> > > > > >> > > > > > they will create all of them in
all polished 
> > > > > >> > > > > > sizes and
> > > > > >> densities.
> > > > > >> > > > > > My Android implementation puts
icons without 
> > > > > >> > > > > > cdv:density
> > > > into
> > > > > >> > > > > > "drawable/icon.png" regardless
of width/height.
> > > > > >> > > > > > What behaviour would you suggest
when both lines 
> > > > > >> > > > > > are
> > > present
> > > > > in
> > > > > >> one
> > > > > >> > > > > > config.xml
> > > > > >> > > > > > <icon src="icon48.png" width="48"
> cdv:platform="android"
> > > />
> > > > //
> > > > > >> > would
> > > > > >> > > > end
> > > > > >> > > > > up
> > > > > >> > > > > > in drawable-mdpi by your suggestion
<icon 
> > > > > >> > > > > > src="icon-mdpi.png" cdv:density="mdpi"
> > > > > >> cdv:platform="android"
> > > > > >> > > />
> > > > > >> > > > //
> > > > > >> > > > > > would end up in drawable-mdpi too
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > > > My thinking here was that density says the
same thing 
> > > > > >> > > > as
> > size,
> > > > so
> > > > > I
> > > > > >> > would
> > > > > >> > > > just not support density (or make size="mdpi"
an 
> > > > > >> > > > alias for
> > > > > >> size="48").
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > >
> > > > > >> > > > > >
> > > > > >> > > > > > I think that developers know what
is the
> "platform-way"
> > > for
> > > > > each
> > > > > >> > > > > platform.
> > > > > >> > > > > > On Android the usual way is to
specify densities.
> > > > > >> > > > > >
> > > > > >> > > > > > - I would not use "size" because
that is not w3c 
> > > > > >> > > > > > widget
> > > > style.
> > > > > >> > > > > >
> > > > > >> > > > > > -- Axel
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > >
> > > > > >> > > > > > 2014-02-11 20:22 GMT+01:00 Andrew
Grieve <
> > > > > agrieve@chromium.org
> > > > > >> >:
> > > > > >> > > > > >
> > > > > >> > > > > > > Would love to move this along.
Would like to 
> > > > > >> > > > > > > get
> > buy-in
> > > > from
> > > > > >> > others
> > > > > >> > > > > > > first though.
> > > > > >> > > > > > >
> > > > > >> > > > > > > The proposal in this PR is
to add tags like:
> > > > > >> > > > > > >
> > > > > >> > > > > > >     <icon id="icon" src="icon.png"
/>
> > > > > >> > > > > > >     <icon id="logo" src="logo.png"
width="255"
> > > > height="255"
> > > > > />
> > > > > >> > > > > > >     <icon src="logo-android.png"
width="255"
> > > height="255"
> > > > > >> > > > > > > cdv:platform="android" cdv:density="mdpi"
/>
> > > > > >> > > > > > >
> > > > > >> > > > > > > My feedback:
> > > > > >> > > > > > > - What is "id" for?
> > > > > >> > > > > > > - Supporting "cdv:platform"
is fine, but we 
> > > > > >> > > > > > > should
> > also
> > > > > >> support
> > > > > >> > > just
> > > > > >> > > > > > > "platform=". I'd be fine to
drop xmlns="
> > > > > >> > > http://www.w3.org/ns/widgets
> > > > > >> > > > "
> > > > > >> > > > > > > from the file.
> > > > > >> > > > > > > - I don't think there are
any platforms that 
> > > > > >> > > > > > > support
> > > > > >> non-square
> > > > > >> > > > icons.
> > > > > >> > > > > > > I think size="###" would be
better than width= 
> > > > > >> > > > > > > &&
> > > height=
> > > > > >> > > > > > > - What happens if you don't
specify a size? Do 
> > > > > >> > > > > > > we
> > sniff
> > > it
> > > > > >> from
> > > > > >> > the
> > > > > >> > > > > > > png header? This might be
nice as a follow-up, 
> > > > > >> > > > > > > but I'd
> > > > lean
> > > > > >> > towards
> > > > > >> > > > > > > making it required for the
first cut.
> > > > > >> > > > > > > - cdv:density seems redundant
with respect to size.
> > > Icons
> > > > on
> > > > > >> > > android
> > > > > >> > > > > > > are 46px at mdpi, so the size
can be used to 
> > > > > >> > > > > > > derive
> > the
> > > > > >> density.
> > > > > >> > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > > > On Mon, Feb 10, 2014 at 10:55
AM, Andrew Grieve 
> > > > > >> > > > > > > <
> > > > > >> > > > agrieve@chromium.org>
> > > > > >> > > > > > > wrote:
> > > > > >> > > > > > > > He Axel, thanks for spearheading
this. Will 
> > > > > >> > > > > > > > have a
> > > look
> > > > > >> > shortly.
> > > > > >> > > > > > > >
> > > > > >> > > > > > > >
> > > > > >> > > > > > > > On Mon, Feb 10, 2014
at 9:07 AM, Axel Nennker 
> > > > > >> > > > > > > > <
> > > > > >> > > > ignisvulpis@gmail.com
> > > > > >> > > > > >
> > > > > >> > > > > > > wrote:
> > > > > >> > > > > > > >>
> > > > > >> > > > > > > >> Andrew,
> > > > > >> > > > > > > >>
> > > > > >> > > > > > > >> any comments to the
current implementation?
> > > > > >> > > > > > > >> https://github.com/apache/cordova-cli/pull/1
> > > > > >> > > > > > > >> 26
> > > > > >> > > > > > > >>
> > > > > >> > > > > > > >> Joe commented that
the new class in
> > config_parser.js
> > > > > named
> > > > > >> > > "icon"
> > > > > >> > > > > > should
> > > > > >> > > > > > > >> be named "Icon" but
I left it as is because 
> > > > > >> > > > > > > >> the
> > other
> > > > > >> classes
> > > > > >> > > are
> > > > > >> > > > > > > lowercase
> > > > > >> > > > > > > >> too.
> > > > > >> > > > > > > >> There was another
comment that namespaces in
> > > config.xml
> > > > > >> > > attributes
> > > > > >> > > > > are
> > > > > >> > > > > > > >> SchnickSchnack/chatter.
> > > > > >> > > > > > > >> I think that we should
use the cordava 
> > > > > >> > > > > > > >> namespace if
> > > > > >> config.xml
> > > > > >> > > > > > deviates
> > > > > >> > > > > > > >> from the W3C widget
definition.
> > > > > >> > > > > > > >> These two are the
only comments I got.
> > > > > >> > > > > > > >>
> > > > > >> > > > > > > >> I tested this on
Android and FirefoxOS.
> > > > > >> > > > > > > >>
> > > > > >> > > > > > > >> Any chance to accept
the request (at least 
> > > > > >> > > > > > > >> the
> > > Android
> > > > > >> part)?
> > > > > >> > > > > > > >>
> > > > > >> > > > > > > >> -Axel
> > > > > >> > > > > > > >>
> > > > > >> > > > > > > >
> > > > > >> > > > > > >
> > > > > >> > > > > >
> > > > > >> > > > >
> > > > > >> > > >
> > > > > >> > >
> > > > > >> >
> > > > > >>
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
View raw message