Wednesday Apr 02, 2008

Mar. 31st 2008 is a special day for the open source world. It's the 10th anniversary for Mozilla.

Ten years before, I was studying hard back to high school, trying to pass the college entrance exam to come to Beijing, without any idea about Open Source. And now, I'm enjoying all the power and freedom brought by Open Source: Solaris Nevada(GNOME 2.20/Firefox 3.0b4/Thunderbird 2.0.0.x/Songbird 0.5/StarOffice 8/DTrace/ZFS...).

Mozilla changes our life with 10 years' time. I really look forward to the next ten years.

Tuesday Oct 23, 2007

I found Brendan Gregg's blog post about Javascript probes occasionally Sep. last year. 2007-10-19 15:24 is the exact time that Johnny Stenback checked in the patch into Mozilla source tree. And the RFE bug was marked as FIXED and closed finally:)

Thanks very much for Johnny's work, also the Mozilla DTrace framework. And everyone get involved. DTrace can really help Javascript, and Mozilla as well.

If you're curious what Mozilla DTrace can help, please get the bug list here. Robert Sayre has done a wonderful job in using DTrace to dig performance bugs.

If you're interested in this project, please come to our project website.

Friday Sep 21, 2007

Tinderbox is Mozilla's automated build system. With so many Mozilla developers across the world, it helps make sure the source code in a good shape. Some related introduction documents: 1 2 3

Firefox is the default browser for SXDE. Sun Beijing Browser team provides two Solaris Tinderboxes(x86/SPARC) on the Firefox-Ports page to track the Firefox trunk status on Solaris, with accessibility enabled and the automated tests deployed. Sometimes, the patch that works well for the other three platforms(Windows/Mac OS/Linux) will break the trees on Solaris. With Mozilla community's help, a small view has been created on the left column of Firefox Tinderbox main page for Firefox-Ports page which includes the Solaris Tinderboxes. Hopefully these two trees can get some attentions from the Mozilla community.

Thanks for this great help, Mozilla community!

Tuesday Sep 18, 2007


It has been about two months since Mitchell Baker's Email Call to Action. There are lots of discussion about this in the Mozilla community, and the change for Thunderbird also gives some impact for the Solaris future delivery plan.

From the very beginning, people have got used to the situation that Firefox and Thunderbird belong to one organization(Mozilla Cooperation), share the same amount of resources/development platform and have the same security updates/release schedule. But the difference release date between Firefox 2.0 and Thunderbird 2.0 has reflected that the MoCo focuses more on Firefox. As Thunderbird/Lightning have been delivered into Solaris Nevada and they are part of the SXDE product, we also have some concerns for the future of Thunderbird:
1. Support model. Currently, Mozilla cooperation promises 6 months' security support for Firefox 2.0.0.x after Firefox 3.0 is released. How is the support model for Thunderbird?
2. Release schedule. If Firefox releases some security advisories in the future, will the Thunderbird organization(MailCo) also do some security update at the same time?

The talk with Scott MacGregor early this month was great. That gave me lots of confidence on the future of Thunderbird. Currently, only two full time developers from MoCo are working on Thunderbird: Scott MacGregor and David Bienvenu. It's hard to advance the users' Internet Mail and Communications experience with the limited resources. That's why the Thunderbird guys want to have some change, to find their own way to make TB better, to stimulate innovation. However, change always brings uncertainty. It takes time for people to accept the change.

The latest official post from MoCo answers the questions as well: Mozilla Launches Internet Mail and Communications Initiative. It's a good news that "Nothing will change for current Thunderbird users. Mozilla will continue to provide Thunderbird users with regular security and stability updates as it establishes its new initiative, and remains committed to the needs of Thunderbird users", and "Thunderbird will be able to evolve faster to user needs" in the long term.

See also David Ascher's blog for future plan of Thunderbird.

Although there are some differences between Firefox and Thunderbird: "The products are different, the userbase is different, the international aspects are different", one thing I believe is that they both stimulate openness and innovation and make the online life easier for the public users.

GoGoGo, Thunderbird!

Monday Sep 03, 2007

The trip to San Francisco comes to an end. I'll take off tomorrow afternoon. It's nice to be here again and meet with many Mozilla guys and friends. Just like John said, San Francisco is the paradise in the world, especially Palo Alto. Maybe that's why I feel like staying in the dream these days:-) Or maybe also because the time difference problem beat me a lot this time.

Many thanks for Johnny's hospitality. He helped us connect with different people so we could get things progress or even resolved. Our main purpose is the DTrace workshop in Mozilla office. It's great to get Mozilla guys in touch with this cool stuff in Solaris(It'll be also available on Mac OS 10.5). It's lucky to get Solaris VM images set up before the workshop and people are interested to have a try. To get real problems in Firefox resolved depends on the cooperation between DTrace and Mozilla guys. To connect people is one of the features of open source community, so it can make the cooperation happen.

Some other blog about the DTrace workshop:John Rice .

Friday Aug 31, 2007


There will be a DTrace workshop in Mozilla HQ Aug. 30th -- Aug. 31st. Brendan Gregg(one of the DTrace gurus, the author of the DTraceToolkit), John Rice, Padraig Obriain, myself from Solaris Desktop team will give this workshop. The main purpose is to introduce DTrace to Mozilla community and help resolve some performance and memory issues in Firefox. We've already got some patches for DTrace framework, layout probes and Javascript probes, detail is in bugzilla bug 370906 and 388564. Hope them can be merged into Firefox trunk code soon.

Following is the ageda for the workshop:

    August 30th - Thursday afternoon after the lunch, presentation to wider audience on DTrace.
    * DTrace Intro. Look at general Firefox issues such as startup time, what I/O is it doing, what files, what read access patterns and so on.
    * DTrace Javascript. Introduce the probes, show how we can combine these probes with other PID probes to narrow the focus on specific areas.
    * DTrace framework. Discuss general issues around the probe framework. Concerns raised already on cross-platform issues, maintainability and support on Mac.

    August 31st - in depth 1 day work shop with Mozilla developers to look at specific performance concerns and get answers using the probes.

If you're interested in the topics above and close to the Mozilla office, welcome to join us. If you're interested in using DTrace on Solaris, you could try the vmware images here.

BTW, the video will be put online. Please stay tune.

Tuesday Aug 21, 2007

I'm quite astonished by a short message from my friend this morning. The main point is that Bank of Beijing announces the drop of Firefox support for the online bank system. Following is the Chinese version of that message. I don't get all the ideas about the reasons:-( The reasons why they do this is mostly about the compatibility of IE and Firefox. And they don't care about web standard so much actually.

I'll try to translate it into English below.

您好,感谢您一直使用并支持北京银行个人网银系统,个人网银新版上线后,我们将不再支持Firefox浏览器,原因如下:1、Firefox作为一种开源的浏览器,要求开发的语言必须具有通用性,虽然firefox可以添加许多安全插件,但由于一些插件是第三方开发的,所以语言的差异性就更加的显著,很有可能造成浏览时出现问题。
2、 Firefox为了兼容windows,linux,unix和max os,必须制作一种统一的浏览器内核,而实际上,这些操作系统的网页浏览方式是不一样的,所以在css,javascript,vbscript等网页脚本语言的调用方式上也是不同的,因此,在用非IE的浏览器上使用网上银行会出现样式错乱或者使用出错的情况。
3、原来的网银系统使用的框架主要是静态jsp实现方式,仅仅应用了很少的样式结构,所以,对于浏览器的兼容性基本没有影响。但是新的网银系统使用了较多的css和较高版本的js,所以会出现对于firefox不兼容的问题。
鉴于上述原因,我们建议你使用系统自带的IE浏览器,由此给您带来的不便,敬请谅解,在中国传统的春节到来之际,北京银行祝您工作顺利,节日快乐,希望您能一如既往的支持北京银行。谢谢!

The English version:

Hi there,

Thanks for your adoption and support to the Bank of Beijing personal online bank system all along. Please be informed that the newer version of the online bank won't support Firefox browser any more. The reasons are as below:
1. Firefox is an open source browser. The programming language needs to have the universal property. Although Firefox could add many security extensions(plugins?), some extensions are provided by the third parties which makes the language otherness even worse(?). This will bring some browsing problems.
2. To provide the cross-platform functionality for Firefox(Windows/Linux/Unix/Mac OS), it's necessary to develop a unified browser engine. However, different OSes have different browsing techniques, also different call method with the script languages such as CSS/Javascript/vbscript. So the online bank system will have style error or usage error with non-IE browsers.
3. The old version of the online bank are mostly static jsp pages, only a small set of style(CSS). And there are no big impacts if you use non-IE browsers. The situation is different with the newer version. It uses a lot CSS and higher version js syntax. So comes the compatibility issues for Firefox.

Based on the reasons mentioned above, we suggest that you could use IE bundled with the OS(Windows). Please understand the inconvenience. Hope that you can support us as always. Thanks.

Monday Aug 20, 2007


When I talked with some guys here in China about open source, most of the time the first question raised will be how open source can make money. Here is a good example on how open source browsers make money from Google. And the interview with Mitchell Baker shows that the profit comes from different search engine companies, also from some companies like IBM, Sun etc.

That's a little bit off the topic. Let's roll back. Actually the main point I read about is that Google takes partial ownership of Maxthon(an old news though). It seems that Maxthon isn't so popular in some other western countries. But it's really hot in China. It has the same browser engine as IE, so no web compatibility issue for the online banks and some non-standard websites. It has some similar features with Firefox: tab browsing, Advertisement + Popup blocker, Mouse gestures etc. I know it's a small set of Firefox extensions. However, to install the extensions and use them aren't an easy task for the users here even without the language barrier.

Then could we provide a Firefox download version with extensions bundled? Could we customize Firefox to be a browser that can align with the Chinese users' habit?

China is a big market for computer industry. About ten years ago, I didn't have my own computer and didn't know about internet. And now, it's necessary to have a laptop and network connection for me. The internet moves fast here. It'll go even faster in the future.

Wednesday Jun 27, 2007

The Solaris VMware images with Firefox DTrace bundled have been uploaded to the Mozilla community. For more information, you can check the Mozilla wiki page: http://wiki.mozilla.org/SolarisVM. Many thanks to Mozilla community on hosting the VMware images. That helps us a lot.

As the development of Mozilla DTrace, we found that it's really important to provide a pre-configured Solaris system for the Mozilla guys to have a try. By that way, we hope to get more feedback from the Mozilla community. For example, where should the user defined DTrace probes be inserted? What's the use cases from the community's point of view?

Some possible candidates:

1. Break down Tp times by modules. The probes can be inserted in some phases of the page load, such as:
* loadURLStart/loadURLEnd
* dataStreamStart/dataStreamEnd
* parseHTMLStart/parseHTMLEnd
* domConstructionStart/domConstructionEnd
* rendertreeConstructionStart/rendertreeConstructionEnd

2. The statistics of Javascript usage in Web 2.0, specifically, in some Google applications.

Please feel free to give a shot. Any feedback or suggestions are welcome :-)

Tuesday Jun 26, 2007

For those of you who are interested in the current status of the Mozilla China Office, I took some pictures for it. The office is still under decoration and everything will be ready early next month.

Tuesday Jun 05, 2007


The Mozilla visit to Sun Beijing office is really a nice event. The schedule is in the previous post. Following are some writeup about the wonderful day, with part of John Rice's summary included.

Thanks Sin-Yaw Wang(VP, Sun ERI site leader) for providing the Welcome session. Sin-Yaw gave an introduction of Sun ERI, especially the Sun Beijing Browser team.

Mike followed with a very interesting overview of Firefox, the current status and where it's going. Firefox adoption is at over 100 million users! And it keeps climbing higher and higher everyday. Tab browsing changed the life for users to surf the web. Then how about Firefox 3.0? Lots of interesting things happening in Firefox 3, such as Reflow Refactoring, Places, Offline application support, cairo, APNG... Mozilla 2 is underway to completely revamp the platform and will act as the basis for future releases of Firefox. It'll include a new version of JavaScript engine--Tamarin, based on the flash VM from Adobe--with many of the language features familiar to Java users to help support production of large scale Web 2.0 apps. The VM overview is available here. It's a browser war towards more open sourcing in the future. BTW, the Firefox flicks are really interesting:-)

Emily, Dave and I gave an overview of the Sun Browser team (developers, QE and RE) covering all of the work we are doing in developing to head with Firefox, porting of Flash 9/Breakpad onto Solaris, A11Y support, Bugday/Testday, test automation based on LDTP/Dogtail/Orca and Tinderbox support for Solaris. The Flash 9 for Solaris is in the beta release phase and will be finally released in the next several month. Breakpad is an ongoing project in the Mozilla community. It's an open source crash reporting tool to replace the current one--talkback.

Li Gong described to us what exactly Mozilla China is all about. The Chinese name for Mozilla China is "Mou Zhi"谋智(Seeking wisdom). It's clear that to be successful in China, there needs a local presence and an understanding of what unique features the product must provide to be successful in China. This is born out in both the Search engine and IM market in China where the world leaders, Google and Microsoft are only poor seconds in to local Chinese firms, Baidu.com and QQ. There are a lot of opportunities for Sun ERI and Mozilla China to work together to really help Firefox shine in the Chinese market.

After lunch, we went to visit the Mozilla China office. It's still under decoration and Johnny took some pictures there. If the weather is good, you can see the Summer Palace from the office. It's wonderful, isn't it? The Google's office is just in the next building across the street. And, Sun and MS's office are also nearby.

John gave a presentation on the Mozilla Dtrace framework and some of the sample probes we have integrated, both in the layout engine and the Javascript engine. To compare with the last time when John Lilly/Chris Beard/Gen were here, the DTrace demo was added to the session and it's absolutely much more interesting. Lots of feedback, with some clear directions on next steps and areas that we could help both in Firefox performance, testing and beyond into Web 2.0 development with DTrace. You can go to the Mozilla DTrace community to get more information. And several guys from Sun will visit Mountain View to give the demo to a broader audience. Please stay tune.

Johnny gave us a very useful overview of the Mozilla platform. Especially, the description of what happens during a load URI could be a use case for Mozilla DTrace. There are some useful videos that we should chase up on Mozilla Developer center. Johnny also described the new CycleCollector which will be used to help GC stale references across Javascript and XPCOM.

The dinner was at Peking Duck Restaurant(全聚德), built in 1864. The Duck serviced to us was about the no. 115 million. Hrmm, almost the same as Firefox users:-)

That's the day. Thanks for your coming! Hope that more and more Mozilla developers can visit Beijing, and China can host some Firefox developer conference in the future.

UPDATE: Related blog post from Mike Schroepfer and Li Gong

Monday May 28, 2007

It's a great honor to have three Mozilla guys coming to visit our Sun Beijing office this Wednesday(May 30th). They are:

Mike Schroepfer: vice president of engineering of Mozilla Cooperation, has been declared 40th most important person on the web by PC World last year.
Johnny Stenback: the super-reviewer of the Mozilla community and the core developer for the following components: docshell, DOM(document object model), htmlparser, plugins, Privilege Manager, XML and also Javascript. He is now responsible for setting up the new Mozilla 2 source repository on mercurial.
Li Gong: head of Mozilla China.

The schedule for their visit is as below:

09:30 - 09:40 Welcome session
09:40 - 10:35 Mike Schroepfer(Firefox/Thunderbird future Roadmap/Focus/New features)
10:35 - 10:40 Break
10:40 - 11:10 Emily Chen/Dave Lin/Alfred Peng(The introduction of the Sun China Browser team -- developers, QE and RE)
11:10 - 11:15 Break
11:15 - 12:05 Li Gong(Mozilla China development)

12:05 - 13:00 Lunch

13:00 - 14:20 John Rice(Use DTrace in Firefox development)
14:20 - 14:25 Break
14:25 - 16:35 Johnny Stenback(Technical TOI: Javascript/Layout/Dom/XPConnect/plugins)
16:35 - 16:40 Break
16:40 - 18:00 Discussion Session

Johnny's TOI session will include the following topics:

1. The architecture of Mozilla platform. It will explain the connections among different components, such as DOM/Layout/XPCOM/JS engine/XUL.
2. The development of Mozilla 2 and the effect of Mozilla 2 to the whole Mozilla platform.
3. The architecture of DOM and how the DOM module interacts with the other modules, there could be some discussion about the interaction between dom and the accessibility module.
4. The architecture of plugin. Some background of the plugin API evolution and possible change in the future.
5. The introduction of the tools for finding memory leak and performance tuning.


Wednesday May 09, 2007

Until yesterday, I found that to click the middle button of the mouse on the Firefox tab could result in a "close tab" operation. And I'm getting used to it now:)

I can still remember the time that I searched for an easier way to "close tab", because to move the mouse to the small red "close" button and click the left button isn't so convenient sometimes. The first way I used was to right click the tab and input "C" on the keyboard. One of my friends told me that there was an good extension for that. With the extension, the tab could be closed by double-click the left mouse button. But it can't support the Firefox version later than 1.0...

Then I switch to use the shortcut "ctrl+w" to close the current tab. And my surfing habit also changed. With my left hand on the keyboard, the little finger on "Ctrl" and middle finger on "W", I can browse the web pages with mouse in right hand quickly. BTW, there is an argument about this shortcut.

And now, I start to use the mouse middle button to close the tab. It's a good complement for the "ctrl+w" shortcut which can make the online life better for me.

It's an "evolution", isn't it?:)

The Firefox tab function changed my online experiences totally. And it's really nice. I can't imagine to open 50+ browser window instead of tabs at the same time. After tab came out, some requests were raised accordingly, such as cache the tabs, switch among the tabs, close the tabs, reorder the tabs or even duplicate the tab. When people get used to it, it's hard to get back to the "one window per page" age.

Saturday Mar 03, 2007

Solaris users now are having BETTER Firefox/Thunderbird download experience on mozilla.com!

What does that mean? For the past days, Solaris users had to know about the exact places/links to download the Firefox/Thunderbird Solaris builds from Mozilla.com. When the builds were available on the site, the notification email with the links would be sent to some internal and external mail aliases.

As for now, the Solaris users can go to www.mozilla.com or getfirefox.com or Thunderbird download to have a try. Just click "Free Download" and it will bring you to the corresponding Solaris binary builds directly. Enjoy it, guys:-)

Another feature request is the automatic update for the builds. Let's take a look at the Linux situation first.

There are two different types of Linux binaries for Firefox and Thunderbird. One is supported by the Mozilla community, in the tar format, another is the bundled one with the Linux distros(Red Hat/Ubuntu...), and supported by different distros. The former has the automatic update functionality. That means if you get the tarball from the community, it will notify you about the latest update when it's available. If you're using the system bundled one on Linux, the distros will provide their own way to update, something like the system update manager.

We also have two different binaries(the bundled one and the contributed one) for FF/TB on Solaris(The blastwave isn't included here). They are both provided by the desktop browser team, no Mozilla community involved. Currently, the automatic update doesn't work with the Mozilla community update server. The update of the bundled one can be achieved by the Solaris update mechanism itself(Solaris patch or Solaris system upgrade). As for the contributed one, the users can only update it manually.

Then the question is can we get some help from the Mozilla community. And the Solaris contributed builds can enable the "Check for updates" mechanism to update automatically. Do we have other ways to update it?

Thursday Dec 21, 2006

The current version control system for Mozilla codebase is CVS. But it can't fulfill the development of the Mozilla community. In the Firefox summit this year, there is a session on this topic. Lots of VCSes are brought into consideration. At last, only two of them are survived -- Mercurial and Bazaar. Here is the detail. It's glad to see that Sun's VCS investigation also gives some help:-)

So what's the requirement of the new VCS?

It can provide the following access control:
* restrict people to specific areas;
* restrict areas/branches to specific people;
* group membership;
* being able to query where people have access;
* audited ACL changes;
* versioned ACLs.

It can also work well with the following tools integration: blame(like current bonsai); revision history; source browsing; source indexing; tree closure/override; reports/metrics; commits, committers, etc.

It should have some more features. Check out this link to get more information.

Performance issue is also an important factor for the choice. Here is the investigation from Johnny.

No matter which VCS is finally chosen, it's a new start for Mozilla2.

This blog copyright 2008 by pengyang