My name is Mihai and all I do is web development,
be it server-side (PHP, mySQL and others) or client-side. I am
mainly interested of Web standards and related technologies. I have
good experience with Flash as well, but I no longer like it much.
I have contributed to various web standards-related mailing lists,
with reviews and comments to web specifications like HTML5.
Additionally, I also worked on several projects of my own.
Mozilla has made the
final release of Firefox 10. The developer tools team has
worked for over 18 months for what you get to play with - this new
release brings a lot of the hard work each team member has put into
these tools. I am happy to be one of the people who contributed to
this really big release. We always strive for quality and
performance. While these tools are now undergoing a lot of work in
terms of features and polish, they are already at a point where we
can be proud of them.
The Eclipse Orion code
editor has gone through great improvements since Firefox 8 and it
is now enabled by default. Collaboration with the Orion team has
been very successful and we are making great progress. I really
enjoy working with them!
Firefox 11 beta features a new Style Editor developer tool that
also uses the Orion editor for syntax highlighting. We are also
working on a JavaScript debugger for a later Firefox release which
is going to use the same editor, with additional features.
Keep your Firefox updated and have fun using our developer tools!
Just a quick note: today we have landed the Orion editor in Firefox. If all
things go well, users will play with Orion in the new Scratchpad
developer tool in Firefox 8.
Implementation and integration notes: only the Orion TextView is
used and for now this feature is disabled by default due to some
bugs with bidirectional text support and accessibility issues. We
are looking into improving the code so we can later enable Orion by
default. This will happen after Firefox 8.
To enable Orion you need to go to about:config and change
devtools.editor.component to "orion".
An obligatory screen shot and screen cast:
I did the screen cast one month ago. The only changes since then
are code quality improvements, bug fixes and minor UI improvements.
Big thanks go to the awesome Orion team for their great project and
fruitful collaboration, and to the Mozilla colleagues who had the
patience to review all the code I wrote: Robert Campbell, Gavin Sharp and Ehsan Akhgari.
Have fun! Play with tomorrow's Firefox nightly builds or... wait
for the Firefox 8 alpha/beta/stable release (whichever you prefer).
If you want gory technical details, just check out the bug
reports where all the work was done: bug
636727 and bug
660784.
It is a long time since I last wrote anything in this blog, but
today I have a great occasion to write about! Today I am really
glad to be part of a great open source project release: the new Firefox 4 from Mozilla is out!
Go ahead, download the browser, play with it and use it!
Since July 2010 I have started to work with the new developer tools team. This
is the awesome team that brings you the new Web
Console tool into Firefox 4. :)
There's a special feeling to making contributions to such big
projects that reach hundreds of millions of people. These months I
learned a lot of cool technical stuff from the fellow software
enthusiasts at Mozilla. I also learned that open source at Mozilla
goes beyond putting the Firefox source code on a Mercurial
repository, out in the open for everyone. Open source is the way to
drive development, manage a project and a company.
Congratulations to the whole Mozilla community for this awesome
release!
Update: Yesterday, on the Firefox 4 release day, I found a blog post from a fellow Mozillian titled Proud. I really liked the video he linked. Here it is:
In the latest article I
wrote about SVG and
Canvas I included a small HTML5 demo which renders a color histogram using
Canvas, analyzing any image element. Knowing that the Canvas
API allows
developers to also read video frames, I wanted to test how fast can
JavaScript and Canvas render a color histogram while the video
plays.
I changed the initial script so that now it works with HTML5
videos. Here is the
result:
In this demo I include a small video and a big HD trailer - just
out of curiosity I wanted to see something that barely runs within
the browser. The demo works with Opera 10.5 and Firefox 3.6 -
tested on Linux and Windows. Currently, Chromium 5 on Linux crashes
when I try to load the page.
I did spend quite some time testing various improvements to the
performance of the script. I would note that changing the script to
not access the DOM elements and properties directly, does not bring
any important improvements in execution speed. However, the change
to use bitwise operations did make a difference. Further
improvements would come if I would inline functions and remove some
of the options. Still, any ideas on how to further improve the
performance of the demo would be welcome.
Working on this HTML5 demo I also explored a new API available in
Firefox 3.5: Web
Workers. As I expected, the
result of adding a web worker to this use-case is not something
I am happy with. In a web worker I cannot access the video, nor can
I access any of the canvas elements. I could move only a really
small part of the code into a worker, and the performance penalty
of sending the pixels in a message from the main thread to the
worker thread is too significant. In the end, it runs quite slower
than the script which does not use any web worker.
26th of June update:
Opera 10.6 beta 1 was released a few days ago. This release
brings support for Web Workers and it is really great to see that
my Web
Workers demo works in Opera as well.
Yesterday I had to install Windows 98 on a really slow computer by
"today's standards", a Pentium I, with only 32 MB.
The computer is a bit unstable. During system installation had some
BSODs (probably corrupted RAM and/or damaged mother board).
This guy will have a broadband Internet connection.
As a browser, I, of course, excluded Internet Explorer as an
option.
I got Opera 8.5 with all settings to the minimum (no skin, no
smooth zoom, no smooth scrolling, no special effects, nothing).
Booted and worked really fast, loved it ;). I wasn't expecting
that. Yet, it causes BSODs on Opera's own site and some other sites
(told you the computer is unstable!).
Now, I had to give Firefox 1.0 a try, hoping it's not slower and
won't cause as many BSODs
as Opera.
Yet, yesterday I finally saw for the first time the true speed
difference in start-up times between Opera and Firefox. Starting
Opera takes less than 3 seconds ... yet with Firefox ... you wait
and wait more :), from double to triple more time. Page rendering,
scrolling and overall browser usage is also slower (menus,
preferences, etc).
Sadly, there's nothing to configure in Firefox to really make it
faster. Also, Firefox crashed on few starts and on some sites (like
mine).
Conclusions:
Firefox is not more stable than Opera (nor vice-versa). The
stability issues have been caused by the hardware.
Opera is a lot faster. Really usable on such a slow computer.
The only problem of Opera is PNG rendering. On my site Firefox was
a tad faster :).
I actually managed to browse my site with Opera ... but Firefox
crashed :).
P.S. This is not an "Opera fan rant". It's clear to me now which
browser is faster: Opera. Those who really want to know which
browser is faster got to try them with a really slow computer.