Sunday Dec 14, 2008

Set up OpenSolaris 08.11 for a develop environment

I've recently got a new laptop, Lenovo Thinkpad X200. With some effort, I've set up OpenSolaris 08.11 for a develop environment.

It took a trick to install OpenSolaris 08.11. I intended to leave a unreserved disk space to install it. But the installer just had some problem to create a Solaris partition using the unreserved disk space. I had to create a partition first, then let the installer convert the partition to Solaris partition. After that, the installation goes pretty smoothly.

I see OpenSolaris has improved a lot in hardware compatibility. Almost all the devices of my laptop have been recognized and installed correctly, except the wireless card. My wireless card is an integrated Intel PRO/1000 card. Actually the driver (iwk) is already there, but just miss the device id. Manually adding the device id make it work.

As installed from a live CD, a bunch of stuffs are not there. To use it as a develop environment, you need to install some other packages. Fortunately we have IPS. The desktop GUI for IPS, Package Manager, has also improved a lot since I first tried it on OpenSolaris 08.05. BTW, because of a bug, you'll have to work around it if you want to set proxy for Package Manager.

The first thing I want is Mercurial. Just install SUNWmercurial through IPS, pretty easy. Then I tried to build cscope. Several packages installed to make the build success, including SUNWhea, SUNWgmake, SUNWgm4, SUNWautoconf. (Of course you'll also need to install a compiler if you don't have one).

More packages will be needed depending on what development you'll be doing. To build Mozilla applications, I installed SUNWgnome-common-devel, SUNWxorg-headers, SUNWcurl. IPS is your friend.

Unlike Linux's package management, OpenSolaris doesn't separate the devel part of a package into a standalone one. We don't need to install a bunch of devel packages. But I think the devel part really should be seperated, so that we can have more spaces in the CD to have other stuffs in.

Tuesday Mar 18, 2008

CSUN 2008

CSUN is an annual conference, whose full name is Technology and Persons with Disabilities Conference. It's a conference facing to disabled users and accessibility solution providers, rather than a technical discussion for developers. I joined this year's CSUN conference and had a great time.

There are a lot of booths on the conference hall. A lot of different manufacturers bring various access device or solutions, including both of hardware and software, to help different kinds of disabled people.

I worked on Sun booth for half of my time, presenting people the accessibility feature of GNOME desktop running on SXDE. People are impressed with Orca, GOK, and Dasher working with GNOME applications, such as Firefox, OpenOffice, etc. Open source and free are big attractions to the visitors of our booth. Many people showed big interests on magnifier function of Orca. I guess it's because screen reading is more helpful for experienced users, while magnifier can give vision impaired users more direct help. The integration of Compiz would improve magnifier a lot.

I regard this conference as a good opportunity to learn what other companies/parties are doing in accessibility field. So I tried to attend sessions presented by different companies/parties showing their access technologies/solutions.

IBM gave speeches on Web 2.0 accessibility. They introduced the accessibility issues of Web 2.0 mashup. Mashup is a web application combining data or capability from more than one source into an integrated experience. Mashups are catching on in the enterprise. The accessibility solution of mashup would need efforts from both of browser side and constructor side. The guys from IBM also introduced Fluid project, a collaborative project to improve the user experience of community source software. The Fluid User Experience Toolkit provides resources, tools, and documentation to help make user interface design and implementation easier. The toolkit includes personae and scenarios for common use cases within higher education, user interface design patterns, testing protocols, and accessibility guidelines intended to simplify the design process.

Apple showed their accessibility solution as well. I had an impression that Mac OS is not as accessible as Unix/Linux and Windows. But this time, Apple showed their screen reader solution - VoiceOver in Mac OS X Leopard. They provided every attendee a big screen mac box to let people try their product on the session. Basic functions of screen reader is demonstrated, such as reading navigated menus and dialogs, working with word processing tools, braille support, etc.. That's not surprising. VoiceOver has fancy GUI of braille display, as Mac applications usually do. What's cool is its magnifier function. It can just magnify a focused window or even a focused widget, instead of magnify the whole screen. Another advantage of Apple's solution is, vision impaired users can have VoiceOver support since they extract Mac OS on a brand new box bought from store. We don't have screen reader support on login interface on SXDE.

Google introduced their work in enhancing the accessibility of web content in various Google's products. Their efforts include providing both of plain HTML interface and interactive AJAX interface for their web applications, adding accelerator keys to commonly used actions, providing text presentation for some visual interface, etc. They have also been working on making AJAX application usable by access-enabling them via ARIA. ARIA-enabling core AJAX libraries have been under development to help build in accessibility into AJAX applications.

AOL gave a presentation named "Making Web Applications Work Like Desktop Applications Through Keyboard Shortcuts". They introduced Axs library, a small JavaScript library which provides methods which make it easier for web developers to implement web 2.0 sites with accessible features. The primary functions of Axs library include managing focus for DOM objects, providing shortcuts, and making them discoverable by generating a hidden but accessible table of related information. It seems to me that the library is mainly used for AOL's websuite package but not widely used by other developers.

A speaker from Opera introduced the accessibility status in Opera browser. Opera browser's screen reader compatibility was broken when developing some features such as small screen rendering, voice output/control. They're fixing this issue, and have improved it on Mac and Windows. The speaker also addressed the challenges of accessibility in web 2.0 new formats, such as MathML and SVG.

We, Sun, also gave speeches on our accessibility solution on Gnome desktop - Orca, GOK, Dasher working with Firefox, OpenOffice and other gnome applications. The demos are very well received.

There are other vendors presenting their access technologies as well, including Microsoft, Adobe, etc. But due to schedule conflict, I didn't manage to attend all the sessions. Here are some other interesting sessions I've attended and would like to share them with you.

o Enable Interactive Access to Map Images for People Who are Visually-Impaired

The speaker managed to make map images accessible for both of scanned and on-line map. A map image is firstly processed for graphic simplification to extract street information, and text of street name is detected. Then the processed map image is converted to a printable format, and print into braille-like sheet, so that visually-impaired user can learn the map by touch the sheet. And the sheet is put on a touch panel. When user click on a street, the relative street name will be read.

o Accessible Mobile Technology

A company, named CodeFactory, introduced their software products which make mobile phones and PDAs accessible to blind and visual impaired. They provide different version of the software to work on both of Symbian and Windows Mobile platform. The speech didn't address technical aspect, like what accessibility infrastructure they're using, but it's still good to know that people have been making mobile device accessible as well.

o Broadcasting Disability: An Exploratory Study of a Video-Sharing Website

A small research is done on describing and categorizing the disability videos on YouTube. The speaker searched all disability videos on YouTube between 7 days, and 147 videos are found. Then the videos are analyzed to tell the rate of different kind of disability the videos are presenting (70 videos about Deaf, 58 videos about Autism), and the content types of the videos (42 videos about personal story, 39 videos about video blog). I think it somewhat discovered a social phenomenon

o Dueling Operating Systems

It's a interesting competition between screen readers, including Orca running on Solaris, JAWS running on Windows and VoiceOver running on Mac. Three blind people use these three screen readers (Mike Pedersen from Orca team is one of them and armed with Orca of course) to accomplish several tasks given by the judge. The tasks include to login to the desktop, to visit a website and get the RSS feed, to operate word processor. Basically all the players accomplished all the three task, but all had some flaw. Orca user and JAWS user had to use some trick to login (listen to the sound played when login window show up, and remember the login steps), due to the screen readers don't work before desktop started. JAWS failed to get RSS feed. VoiceOver run into an abnormal status once, so that the user had to reboot OS to get back.

Saturday Jul 28, 2007

Impression about GUADEC

This is the first time I attended GUADEC

It's more like a GNOME community's big party rather than just some speeches. There are talks, group discussions, parties in bar, etc. It's great to know and talk with the community guys you've been working together with.

Eitan Isaacson and Willie Walker are the two people I met in this GUADEC who are also working on accessibility. We talked about Accerciser, Orca and Gecko accessibility.

Some of our colleagues from Dublin site also attended this GUADEC. We had a great dinner together and happy talks.

Another important person we met in this GUADEC is Quim Gil, the chair of GNOME Foundation. Quim expressed his great interesting on promoting GNOME in Asia, especially in China. We had lunch together, and talked about GNOME in China and the possibility of hosting a GNOME event in China.

There are many interesting speeches in this GUADEC. Developing on mobile devices and online applications/desktop are two big topics. Speakers from, which is sponsored by Nokia, delivered several speeches ralated to developing on Maemo platform. Havoc Pennington gave a talk about online desktop, which then raised hot discussions.

There are also two accessibility speeches. One is Accerciser talk delivered by Eitan. Eitan has a grant from Mozilla Foundation for working on Accerciser. It's great that Eitan can still work on Accerciser after IBM dropped the project. He gave an introduction of how to use Accerciser to help make your application accessible. He also called for people to pay more attention to accessibility. On the q/a session, Willie Walker also pointed out that for gtk application developers, Gail has done the most things, and what people needs to do is almost just pay attention to labelfor/labelby relations, which can be done easily in Glade, and customized widgets.

The other accessibility speech is "GNOME accessibility for blind people". A blind speaker showed how he uses computer with AT tools in his daily life. The projector didn't work with the presentation computer, which just made this session better I think. Audiences had to get what the speaker was doing on his computer only by listening. It put people on the same situation as the blind speaker, and help them learn the speaker's experience with computer.

Both of the two accessibility sessions attracted less people attended, which just reflected people's less attention to accessibility, I think.

Sun could have bigger voice in this GUADEC, I think. When the first day we registered, we got some stuff from the organizer. Besides GUADEC stuff, it also includes many advertising things, like Maemo and ACCESS's t-shirts, Google Code's notebook, Ubuntu's pen, Ubuntu and Fedora's CD, Mandriva's sticker. But no Sun stuffs, until the fourth day we saw Solaris Express dvd and NetBeans cd were available. We also could give more speeches. GUADEC is a good opportunity for us to increase our visibility, to communicate with community.

I'm looking forward to the next GUADEC and GNOME events in China, and also our more participation in these events.

Tuesday Jul 10, 2007

Put your patch upstream

Today is a Sun patch day for us engineers working on Java Desktop System. We invited gnome hackers to join us, review our patches, and push the less controversial ones upstream.

We keep trying to put our patches upstream, i.e. put them back to the community code base. Putting patches upstream not only contributes to community, but also helps us lower our maintenance cost.

Take Mozilla for example, when we worked on Mozilla 1.7, because of the tight schedule and some other reason, we held many patches ourselves, especially on accessibility module. The good thing was, we made Sun Mozilla 1.7 much more accessible. While the bad thing is when community code base move forward, we had to spend much time to update our own patches to make them comply with the latest code. Sometimes it was painful, because there could be conflicts and regressions, since our patches were held locally and weren't tested with new code. And since those patches were not reviewed by community hackers, some of them also had potential problems. When Firefox comes out, we had to abandon many of the former patches.

Fortunately, we're working on HEAD now, all of our patches to Mozilla are put upstream (except some branding ones). When a new version of Firefox comes out, we can deliver our Solaris packages at the first time without wasting time on maintaining old patches.

Wish today a successful Sun Patch Day.

Thursday Jun 28, 2007

Mozilla CVS account

I have been granted with Mozilla CVS account. That means I have the check-in permission to Mozilla CVS repository now. And it's also a recognition for my work, I think.

It has been quite some time for me to get the account. I have been working on Mozilla, mainly on accessibility module, for more than one year. For some reason, patch for accessibility module do not need super-review before it can be checked in. That makes super-reviewers do not know much about our work. While to get a CVS account, super-reviewer's vouch is a compulsory requirement. So it is not easy. Thanks a lot to Robert, Aaron and Ginn for vouching me.

Accessibility is interesting, and it touches many other places in Mozilla code base, especially layout module. Learn more, have more fun.

Tuesday Dec 12, 2006

How to build l10n builds for mozilla applications

From mozilla web page, you can easily find out how to build a mozilla application(like Firefox and Thunderbird) with the default locale en-US. But it's not so easy to get how to build a l10n version. Here it is.

1. you have to check out  mozilla/tools/l10n/ besides mozilla/

$ cvs -d:pserver:anonymous-AT-cvs-mirror.mozilla-DOT-org:/cvsroot co mozilla/ mozilla/tools/l10n/

2. do l10n-checkout before checking out the real code.

$ make -f l10n-checkout MOZ_CO_PROJECT=browser

3. create l10n files, replacing ab-CD with your locale, like zh-CN.

$ make -f tools/l10n/ create-ab-CD MOZ_CO_PROJECT=browser

4. add this line into your .mozconfig file.

mk_add_options MOZ_CO_LOCALES=ab-CD


Then, do what you like as normal building.

$ make -f checkout
$ make -f build

 More detail information available here.


I'm a developer working on Solaris I/O framework. Formerly, I worked on Mozilla and GNOME projects.


« August 2016