Not to mention the baseline (slowest browser) JavaScript performance. This allows Google to use more complex JavaScript. It also allows other sites to do the same.
This is what you get when you have competition and not a monopoly. Competition is a good thing and ultimately the users benefit.
It is interesting to see the resurgence of the "browser wars" with Chrome, Firefox, Opera and Safari all racing each other -- each with their own advantages and disadvantages. Competition has had an effect on IE -- making it support tabbed browsing, CSS 2.1 and a host of HTML5 / CSS3 functionality as well as improving JavaScript performance. Even Firefox has taken many steps forward in light of the competition, where it is likely that it would have stagnated (it would have still improved over time, but I suspect not as quickly as with the competition).
The result is more choice, and better quality in those choices (JavaScript performance, web standard support, etc.), for the user -- i.e. the user wins:).
The new Firefox UI is not polished for this beta -- it is mainly getting the core underlying logic in place (see http://limi.net/articles/firefox-ux-team-update-14). It will get more refined as it evolves to next beta and beyond toward release.
Slowest JS: there are two aspects at play here -- (1) things slow down when the garbage collector is run to free up memory used by JavaScript; and (2) when JS tracing does not work, the interpreter used is slower than other engines. Work is being undertaken to address these issues, not sure what the status of them is (you can check in the platform meeting notes on wiki.mozilla.org).
The worst type of bug reports are along the lines of:
1/ it does not work (what does not work? what steps did you do? what are you expecting to happen? what operating system are you running on?...)
2/ it crashes
3/ it is leaking memory (what usage pattern? what were you doing? what site(s)/image/document/... were you viewing/printing/...? what is your system like (graphics card, amount of memory,...)?)
The more details people can provide to the developers of any application, the better they can investigate and track down the issue(s).
The worst types of bug are the ones where:
1/ they only happen when the planets are aligned correctly (i.e. very infrequently)
2/ they happen due to interaction between two threads
3/ they don't/do happen when you turn on diagnostics/tracing
4/ they don't happen when you debug the application
Having a clear, repeatable test case (doing X then Y then Z will always trigger the issue) makes it easier to track down. The bugs that are hard to reproduce and track down take the longest to fix and may require very specific domain knowledge of the operating system, APIs being used, programming language and the actual codebase.
So vorbis takes up less space for an equivalent bitrate than mp3 and the encoder is significantly faster. Plus, vorbis has some decent portable media player support through manufacturers like Cowon (e.g. the S9 with around a 45hr battery life playing vorbis files).
IANAL, but note that the linked article also says things like "VP8 supports 8x8, 8x4 but not 4x8 frames" (or something like that) in several cases (it even uses these to say why VP8 is inferior to H.264).
It is likely that the H.264 patent (if it exists) enumerates 8x8, 8x4 *and* 4x8 frames, which means that VP8 does not violate that patent because it does not support 4x8 frames.
You see this all through the analysis of VP8 in the linked article.
Just because the two codecs are similar does not necessarily mean that VP8 is infringing (it might or might not).
Yep. And look at artists like Helen Austin, Poko Lambro, Lizzie Hibbert and Kina Grannis promoting their material (through free content, usually live recordings). Plus hundreds of artists trying to get known.
For new artists, things like Creative Commons and YouTube are like playing in bars and other areas -- it is another avenue to gain fans and make extra music sales.
I see you are trying to do a SQL injection attack. Do you want to:
1/ find out what a SQL injection is?
2/ find out how to stop SQL injections?
3/ let me show you how to do the SQL injection properly?
Do you want to:
* mess around with the boot options to make it non-functional?
* reformat your drive containing critical key data?
* boot into the all new ClippyOS 3.1?
Things I am wondering about:
1/ can it be used without a mouse? (touch screen based computers? usb mouse,...)
2/ can it be used without a keyboard?
3/ can it be used with a braille input device?
4/ is it usable for poor visibility users (easy to read text, good contrast, no red/green-only differentiation)
5/ can it be used by blind users?
Yes, patents were about *entire* devices or concepts. That is, there should only be 1 patent for MPEG-2, 1 for H.264, etc. Instead, software patents are taken for fragments of things that can be combined together so that a program can constitute several patents.
In this way, VP-8, Dirac and others do not violate the patents of MPEG-2, H.264, etc. (in the above scheme that is true to the intent of patents) because they do something slightly differently.
FTFA, Nero got a license from MPEG-LA saying that they didn't have to pay license fees for trial software. Now, MPEG-LA has changed their minds and has demanded payment retroactively for all the free trials Nero has provided before the change.
FWIW, the majority of the major UI toolkits now support loading/generating UI from an XML representation of the control graph -- GTK+/Glade, Qt/UI and WPF/XAML -- so that is not surprising.
You get this (and related) with any garbage collected language (including C#/.NET). They make memory handling easier (although greedier), but resource management harder (you cannot).
How do you know that some of the differences (lacking certain block sizes, for example) are precisely to avoid certain patents?
Just because it is similar does not mean that it infringes patents. Look at inventions in the past (like the first steam engine, avoiding a patent by Watt).
The point was not that examples exist, but that a technology (HTML5 canvas tag or SVG) do not supply them inherently and the concept being applied already exists. It's like TV concepts where you say "this is XYZ... in SPACE!"
Lets say you create a new programming language (like Google's Go) and don't provide in-built support for certain data structures. Is implementing a linked list or queue in that programming language innovative (given that no-one has written one in that language yet (not Go, but the new programming language you have created))? Sure, the different paradigms (procedural, object-orientated, functional) allow you to implement them in different ways, but the concepts are already there.
Now, you could say that template meta-programming in C++ is innovative because it was not known that templates created their own turing-complete language that you could use to compute complex static results at compile time. That was something that was non-obvious in the facilities provided by the language.
The ribbon is essentially a tabbed multi-sectioned set of wrappable toolbars.
Borland have had tabbed toolbars for a long time in their IDE and tabbed UIs are not new.
Microsoft have allowed you to create dialogs as components that can be docked to any side of the main window, so complex dockable/docked UIs are not new.
Java and other UI toolkits have had the concept of arbitrary wrappable content for a long time (since at least when Java Swing was created), and a toolbar is just a container of icon-based buttons (and possibly other controls), so this is not new.
Yes, it has some complex reflow logic where pane content is size-dependant. This is probably new and innovative (I can't think of examples). NOTE: This is different to toolbar items hiding when there is not enough room, the items change size/shape and position.
Other than that, though, it is not really that innovative.
I am not a Firefox developer, but am a UI developer and I follow the Firefox development from their wiki meeting notes, as well as filing a few bug reports.
Not to mention the baseline (slowest browser) JavaScript performance. This allows Google to use more complex JavaScript. It also allows other sites to do the same.
This is what you get when you have competition and not a monopoly. Competition is a good thing and ultimately the users benefit.
It is interesting to see the resurgence of the "browser wars" with Chrome, Firefox, Opera and Safari all racing each other -- each with their own advantages and disadvantages. Competition has had an effect on IE -- making it support tabbed browsing, CSS 2.1 and a host of HTML5 / CSS3 functionality as well as improving JavaScript performance. Even Firefox has taken many steps forward in light of the competition, where it is likely that it would have stagnated (it would have still improved over time, but I suspect not as quickly as with the competition).
The result is more choice, and better quality in those choices (JavaScript performance, web standard support, etc.), for the user -- i.e. the user wins :).
Don't get yourself in a spin.
SVG in img tags and background images is going to be in for FF4, but will land in a later beta.
The new Firefox UI is not polished for this beta -- it is mainly getting the core underlying logic in place (see http://limi.net/articles/firefox-ux-team-update-14). It will get more refined as it evolves to next beta and beyond toward release.
Slowest JS: there are two aspects at play here -- (1) things slow down when the garbage collector is run to free up memory used by JavaScript; and (2) when JS tracing does not work, the interpreter used is slower than other engines. Work is being undertaken to address these issues, not sure what the status of them is (you can check in the platform meeting notes on wiki.mozilla.org).
The worst type of bug reports are along the lines of: ...) ...)?)
1/ it does not work (what does not work? what steps did you do? what are you expecting to happen? what operating system are you running on?
2/ it crashes
3/ it is leaking memory (what usage pattern? what were you doing? what site(s)/image/document/... were you viewing/printing/...? what is your system like (graphics card, amount of memory,
The more details people can provide to the developers of any application, the better they can investigate and track down the issue(s).
The worst types of bug are the ones where:
1/ they only happen when the planets are aligned correctly (i.e. very infrequently)
2/ they happen due to interaction between two threads
3/ they don't/do happen when you turn on diagnostics/tracing
4/ they don't happen when you debug the application
Having a clear, repeatable test case (doing X then Y then Z will always trigger the issue) makes it easier to track down. The bugs that are hard to reproduce and track down take the longest to fix and may require very specific domain knowledge of the operating system, APIs being used, programming language and the actual codebase.
Some data (using the text version of http://www.gutenberg.org/etext/32985):
wav -- espeak -f ~/story.txt --stdout > story.wav
time: 59.790s
size: 1597698914 = 1.5G
ogg -- espeak -f ~/story.txt --stdout | oggenc - -o story.ogg
time: 3m 51.7s = 231.7s
size: 205256352 = 196M
mp3 -- espeak -f ~/story.txt --stdout | lame -b 112 - story.mp3
time: 6m 11.291s = 371.291s
size: 507207679 = 484M
Relative Speed: wav = 1 ; ogg = 3.875 ; mp3 = 6.210
Relative Size: wav = 1 ; ogg = 0.12847 ; mp3 = 0.31746
So vorbis takes up less space for an equivalent bitrate than mp3 and the encoder is significantly faster. Plus, vorbis has some decent portable media player support through manufacturers like Cowon (e.g. the S9 with around a 45hr battery life playing vorbis files).
IANAL, but note that the linked article also says things like "VP8 supports 8x8, 8x4 but not 4x8 frames" (or something like that) in several cases (it even uses these to say why VP8 is inferior to H.264).
It is likely that the H.264 patent (if it exists) enumerates 8x8, 8x4 *and* 4x8 frames, which means that VP8 does not violate that patent because it does not support 4x8 frames.
You see this all through the analysis of VP8 in the linked article.
Just because the two codecs are similar does not necessarily mean that VP8 is infringing (it might or might not).
Rob Zombie?
Yep. And look at artists like Helen Austin, Poko Lambro, Lizzie Hibbert and Kina Grannis promoting their material (through free content, usually live recordings). Plus hundreds of artists trying to get known.
For new artists, things like Creative Commons and YouTube are like playing in bars and other areas -- it is another avenue to gain fans and make extra music sales.
$ cat iphone_application_policy
start:
if random(100) > 80 then reject_application() else accept_application();
wait random(14) days;
goto start
Clippy meme?
I see you are trying to do a SQL injection attack. Do you want to:
1/ find out what a SQL injection is?
2/ find out how to stop SQL injections?
3/ let me show you how to do the SQL injection properly?
O_O
I see you are trying to boot your computer.
Do you want to:
* mess around with the boot options to make it non-functional?
* reformat your drive containing critical key data?
* boot into the all new ClippyOS 3.1?
Things I am wondering about: ...)
1/ can it be used without a mouse? (touch screen based computers? usb mouse,
2/ can it be used without a keyboard?
3/ can it be used with a braille input device?
4/ is it usable for poor visibility users (easy to read text, good contrast, no red/green-only differentiation)
5/ can it be used by blind users?
If that happens, they will likely release a patch to disable that part of the installation/activation process.
They did a similar thing with older titles so they no longer require the CD to be in the machine to run the game.
Yes, patents were about *entire* devices or concepts. That is, there should only be 1 patent for MPEG-2, 1 for H.264, etc. Instead, software patents are taken for fragments of things that can be combined together so that a program can constitute several patents.
In this way, VP-8, Dirac and others do not violate the patents of MPEG-2, H.264, etc. (in the above scheme that is true to the intent of patents) because they do something slightly differently.
This was the way someone worked around the http://en.wikipedia.org/wiki/James_Watt patent on steam devices and advanced technology.
FTFA, Nero got a license from MPEG-LA saying that they didn't have to pay license fees for trial software. Now, MPEG-LA has changed their minds and has demanded payment retroactively for all the free trials Nero has provided before the change.
FWIW, the majority of the major UI toolkits now support loading/generating UI from an XML representation of the control graph -- GTK+/Glade, Qt/UI and WPF/XAML -- so that is not surprising.
You get this (and related) with any garbage collected language (including C#/.NET). They make memory handling easier (although greedier), but resource management harder (you cannot).
Widescreen? Standard screen? High definition? CRT? LCD? Plasma? TV?
How do you know that some of the differences (lacking certain block sizes, for example) are precisely to avoid certain patents?
Just because it is similar does not mean that it infringes patents. Look at inventions in the past (like the first steam engine, avoiding a patent by Watt).
The point was not that examples exist, but that a technology (HTML5 canvas tag or SVG) do not supply them inherently and the concept being applied already exists. It's like TV concepts where you say "this is XYZ... in SPACE!"
Lets say you create a new programming language (like Google's Go) and don't provide in-built support for certain data structures. Is implementing a linked list or queue in that programming language innovative (given that no-one has written one in that language yet (not Go, but the new programming language you have created))? Sure, the different paradigms (procedural, object-orientated, functional) allow you to implement them in different ways, but the concepts are already there.
Now, you could say that template meta-programming in C++ is innovative because it was not known that templates created their own turing-complete language that you could use to compute complex static results at compile time. That was something that was non-obvious in the facilities provided by the language.
The ribbon is essentially a tabbed multi-sectioned set of wrappable toolbars.
Borland have had tabbed toolbars for a long time in their IDE and tabbed UIs are not new.
Microsoft have allowed you to create dialogs as components that can be docked to any side of the main window, so complex dockable/docked UIs are not new.
Java and other UI toolkits have had the concept of arbitrary wrappable content for a long time (since at least when Java Swing was created), and a toolbar is just a container of icon-based buttons (and possibly other controls), so this is not new.
Yes, it has some complex reflow logic where pane content is size-dependant. This is probably new and innovative (I can't think of examples). NOTE: This is different to toolbar items hiding when there is not enough room, the items change size/shape and position.
Other than that, though, it is not really that innovative.
I am not a Firefox developer, but am a UI developer and I follow the Firefox development from their wiki meeting notes, as well as filing a few bug reports.