cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Axel Nennker <ignisvul...@gmail.com>
Subject Re: cordova launcher icon support https://github.com/apache/cordova-cli/pull/126
Date Fri, 21 Feb 2014 21:43:40 GMT
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_splash.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.html
> > > >
> > > >    - 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/icons/
> >,
> > > > 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/icons/
> > > >
> > > > 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.html#The%20Basics
> > > > >> [2]
> > > >
> https://github.com/phonegap/phonegap-start/blob/master/www/config.xml
> > > > >>
> > > > >>
> > > > >> @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_splash.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/126
> > > > >> > > > > > > >>
> > > > >> > > > > > > >> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message