Re: Integrating ICU into Mozilla build

2012-12-05 Thread Gervase Markham
This thread has got off-topic (reasonably; the new issues are important) 
but back on the original point, if we do add ICU then:


On 03/12/12 11:32, Norbert Lindenberg wrote:

- Add the required set of ICU source files as separate files to the
Mozilla repository. The current version of ICU (50.1, C/C++ version)
has about 5350 source files; stripping out files that aren't needed
for the internationalization API (but might be needed later) brings
this to about 3250 files. The complete Mozilla tree before this
addition has about 70,000 files.


This,


- Add the source bundles (zip/tar) to the Mozilla repository, and
then extract the source files as part of the build.


Not this. Having source bundled up like this makes code search and 
license compliance, to name but two things, much harder.


Gerv
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Synchronous loading of data: URLs

2012-12-05 Thread Karl Tomlinson
Neil  writes:

> Ah, so that explains the fallback flash I experience on a site I
> frequent that makes heavy use of a downloaded symbol font. It is
> irksome because the fallback content is ASCII text ;-)

Just in case others read and want to copy this behaviour, sites
should not be encoding symbols at Unicode points preassigned with
another meaning.  Imagine what screen readers think of this, for
example.  The Private Use Area range of code points exists
for this purpose.

Having said that, the existing behaviour is probably to show
hexboxes until the font is downloaded, which is not an obvious
visual improvement.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Integrating ICU into Mozilla build

2012-12-05 Thread Robert Strong

On 12/5/2012 8:07 AM, Benjamin Smedberg wrote:

On 12/3/2012 5:39 PM, Norbert Lindenberg wrote:
OK, just as an introduction, why we're doing this: The ECMAScript 
Internationalization API (which has been approved by Ecma TC 39 and 
is on track to become an Ecma standard next week) provides web 
applications with the ability to format numbers, dates, and times and 
sort strings according to the rules of the language that the 
application is using, not the one that browser and OS default to. 
Many users are multilingual and go to web sites in different 
languages, and even users who aren't sometimes have to use browsers 
that don't support their language. The API in addition lets 
applications tailor the results to their specific needs, e.g., 
specify the currency with which numbers are displayed, select the 
date-time components used in a date format, or ignore punctuation in 
sorting.


To implement that, we need good library support, and ICU fits the bill.

If I may be a skeptic:

Is this feature really worth the costs? Right now xul.dll is about 
18MB on Windows, and the entire install size of Firefox on disk is 91MB.
Just an FYI: I suspect that you have a staged update since the size on 
Windows is actually around 45 MB.


Robert

Assuming that the weight is roughly similar to mac, we'd be talking a 
15% increase in on-disk size for a feature which seems on the surface 
to be relatively obscure. Maybe it would be better to just not 
implement this EMCA specification? What does this feature really buy 
us in terms of strategic importance?


How well do the data files compress? Even more important than the 
installed size, a 15% increase in download size could have a 
noticeable impact on our install conversion rates.


--BDS

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Integrating ICU into Mozilla build

2012-12-05 Thread Axel Hecht

On 05.12.12 17:07, Benjamin Smedberg wrote:

On 12/3/2012 5:39 PM, Norbert Lindenberg wrote:

OK, just as an introduction, why we're doing this: The ECMAScript
Internationalization API (which has been approved by Ecma TC 39 and is
on track to become an Ecma standard next week) provides web
applications with the ability to format numbers, dates, and times and
sort strings according to the rules of the language that the
application is using, not the one that browser and OS default to. Many
users are multilingual and go to web sites in different languages, and
even users who aren't sometimes have to use browsers that don't
support their language. The API in addition lets applications tailor
the results to their specific needs, e.g., specify the currency with
which numbers are displayed, select the date-time components used in a
date format, or ignore punctuation in sorting.

To implement that, we need good library support, and ICU fits the bill.

If I may be a skeptic:

Is this feature really worth the costs? Right now xul.dll is about 18MB
on Windows, and the entire install size of Firefox on disk is 91MB.
Assuming that the weight is roughly similar to mac, we'd be talking a
15% increase in on-disk size for a feature which seems on the surface to
be relatively obscure. Maybe it would be better to just not implement
this EMCA specification? What does this feature really buy us in terms
of strategic importance?

How well do the data files compress? Even more important than the
installed size, a 15% increase in download size could have a noticeable
impact on our install conversion rates.


I think we're having a more general issue with intl data right now. 
Hyphenation dicts are in a similar bucket as collation data, I think.


Like, if chinese isn't hyphenated great, or sorted perfectly, I wouldn't 
be able to tell. I can't read the script.


I'd love if we had a way to be sub-optimal the first time someone hits 
the problem and then on-demand, download language-specific data later.


Which raises the question, how large would ICU be with mostly-no data? 
Or, say, just the data for Chinese, assuming we could actually build 
just the UI locale, and chinese was said to be big earlier in this thread.


Axel

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Integrating ICU into Mozilla build

2012-12-05 Thread Benjamin Smedberg

On 12/3/2012 5:39 PM, Norbert Lindenberg wrote:

OK, just as an introduction, why we're doing this: The ECMAScript 
Internationalization API (which has been approved by Ecma TC 39 and is on track 
to become an Ecma standard next week) provides web applications with the 
ability to format numbers, dates, and times and sort strings according to the 
rules of the language that the application is using, not the one that browser 
and OS default to. Many users are multilingual and go to web sites in different 
languages, and even users who aren't sometimes have to use browsers that don't 
support their language. The API in addition lets applications tailor the 
results to their specific needs, e.g., specify the currency with which numbers 
are displayed, select the date-time components used in a date format, or ignore 
punctuation in sorting.

To implement that, we need good library support, and ICU fits the bill.

If I may be a skeptic:

Is this feature really worth the costs? Right now xul.dll is about 18MB 
on Windows, and the entire install size of Firefox on disk is 91MB. 
Assuming that the weight is roughly similar to mac, we'd be talking a 
15% increase in on-disk size for a feature which seems on the surface to 
be relatively obscure. Maybe it would be better to just not implement 
this EMCA specification? What does this feature really buy us in terms 
of strategic importance?


How well do the data files compress? Even more important than the 
installed size, a 15% increase in download size could have a noticeable 
impact on our install conversion rates.


--BDS

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Integrating ICU into Mozilla build

2012-12-05 Thread Justin Wood (Callek)
Mike Hommey wrote:
> On Tue, Dec 04, 2012 at 07:51:21AM -0500, Justin Wood (Callek) wrote:
>> Rafael Ávila de Espíndola wrote:

 Actually, ICU has several options for how its data is packaged. One option 
 is libraries (which are not sharable between architectures, AFAIK), but 
 another possibility is to use data package (.dat) files, which I believe 
 *could* be shared between the 32- and 64-bit builds.
>>>
>>> getting a bit off topic, but since we don't support 10.5 anymore, can't we 
>>> build just a 32 bit plugin container instead of the full browser as a 
>>> universal binary? Would the plugin container need to link with ICU too?
>>>
>>
>> Not yet, there are supported Hardware models using 10.6 that *do not*
>> have 64 bit avaiable. Granted they are on the older end of stuff, but it
>> does exist.
> 
> Note that apparently, this is even worse than that. 10.6 didn't enable
> 64 bits by default on 64 bits capable hardware. (I just figured while
> looking at something unrelated on my wife's mac running 10.6.8)

Yes, I meant that as well, since some of these older machines are by
default set like that, and no UI way to change it.

I noticed this as well on the x64 mini's SeaMonkey has that are 10.6 but
my research showed that x64 was unstable on that version of mini we have
so I didn't turn it on :-)

-- 
~Justin Wood (Callek)

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Integrating ICU into Mozilla build

2012-12-05 Thread Mike Hommey
On Tue, Dec 04, 2012 at 07:51:21AM -0500, Justin Wood (Callek) wrote:
> Rafael Ávila de Espíndola wrote:
> >>
> >> Actually, ICU has several options for how its data is packaged. One option 
> >> is libraries (which are not sharable between architectures, AFAIK), but 
> >> another possibility is to use data package (.dat) files, which I believe 
> >> *could* be shared between the 32- and 64-bit builds.
> > 
> > getting a bit off topic, but since we don't support 10.5 anymore, can't we 
> > build just a 32 bit plugin container instead of the full browser as a 
> > universal binary? Would the plugin container need to link with ICU too?
> > 
> 
> Not yet, there are supported Hardware models using 10.6 that *do not*
> have 64 bit avaiable. Granted they are on the older end of stuff, but it
> does exist.

Note that apparently, this is even worse than that. 10.6 didn't enable
64 bits by default on 64 bits capable hardware. (I just figured while
looking at something unrelated on my wife's mac running 10.6.8)

Mike
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Proposal: Not shipping prefixed APIs on the release channel

2012-12-05 Thread Henri Sivonen
On Tue, Nov 27, 2012 at 10:49 AM, Henri Sivonen  wrote:
> Therefore, I propose that we adopt the following policy:
>  1) APIs that are shipped on the release channel shall be shipped
> without a prefix.
>  2) If we ship APIs that don't have specs already, we'll write specs.

In yesterday’s platform meeting, it turned out that I had
misunderstood Randell’s position on prefixing WebRTC.

Even though in general, it might be bad for a policy to have seemingly
ad hoc exceptions, I think making an exception for WebRTC is
reasonable, because:
 * WebRTC is already in the implementation pipeline and the policy was
meant for new features and not for abruptly removing existing
prefixes, so it seems reasonable to stretch the notion of “existing
feature” to an in-the-pipeline feature in the case of a huge feature
like WebRTC where making changes right now might be too disruptive.
 * It appears that there’s some kind of commitment made in the WG
involved as in the case of WebGL.
 * WebRTC is a uniquely huge feature (or set of features) and it needs
special rollout (unusual iteration after release).
 * Even if WebRTC and WebGL were excluded, I think it would be a big
win to stop prefixing other APIs that are introduced.

Also, a clarification was asked about whether the policy was proposed
to apply to new features only or also to existing features. (I
intended it to apply to new features.)

Therefore, I propose that we adopt the following policy:
 1) Excluding WebGL and WebRTC APIs, new APIs that are shipped on the
release channel shall be shipped without a prefix.
 2) If APIs that don’t already have specs are shipped, we’ll get specs written.

(For clarity, the above formulation does not require WebGL or WebRTC
to have prefixes.)

-- 
Henri Sivonen
hsivo...@iki.fi
http://hsivonen.iki.fi/
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Synchronous loading of data: URLs

2012-12-05 Thread Jonathan Kew

On 5/12/12 10:54, Neil wrote:

John Daggett wrote:


Last time I looked, Webkit caches activated fonts, so the second time
the UA loads the same font (e.g. in a different document) it will be
shown immediately without fallback content first.


Ah, so that explains the fallback flash I experience on a site I
frequent that makes heavy use of a downloaded symbol font. It is irksome
because the fallback content is ASCII text ;-) It's not so bad for other
downloaded fonts as usually the only problem is that the aspect ratio is
wrong so the line wrapping changes once the font loads.


You shouldn't normally see a flash of fallback text unless the font is 
particularly slow to load; the text should be invisible until the font 
is available. We aim to hide the text until the font is ready, unless it 
takes more than a few seconds to load. (The timeout is configurable - 
see gfx.downloadable_fonts.fallback_delay - so if you've set it lower 
than the default of 3000ms, you'll see visible fallback more frequently.)


Could you point us to the irksome site? If you're often seeing ASCII 
fallback, I wonder if there's something unusual about how it's 
specifying/loading the symbol font.


BTW, in bug 816483 I'm proposing to cache/share the activated fonts 
across pages, so that when you visit successive pages that use the same 
fonts, they'll be available immediately.


JK

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Synchronous loading of data: URLs

2012-12-05 Thread Neil

John Daggett wrote:


Last time I looked, Webkit caches activated fonts, so the second time the UA 
loads the same font (e.g. in a different document) it will be shown immediately 
without fallback content first.

Ah, so that explains the fallback flash I experience on a site I 
frequent that makes heavy use of a downloaded symbol font. It is irksome 
because the fallback content is ASCII text ;-) It's not so bad for other 
downloaded fonts as usually the only problem is that the aspect ratio is 
wrong so the line wrapping changes once the font loads.


--
Warning: May contain traces of nuts.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform