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 Sun, 23 Feb 2014 00:25:53 GMT
https://developer.apple.com/library/ios/documentation/userexperience/conceptual/MobileHIG/IconMatrix.html
 App icon (required for all apps)       120 x 120       120 x 120       152
x 152       76 x 76




Right?

I updated my pull request to implement the no-namespace-magic for Android.
https://github.com/AxelNennker/cordova-cli/commit/890d6a64cdf459a389ba7104097f97603338b4e1


2014-02-21 22:43 GMT+01:00 Axel Nennker <ignisvulpis@gmail.com>:

> 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