The roads I take...

KaiRo's weBlog

April 2007
1
2345678
9101112131415
16171819202122
23242526272829
30

Zeige Beiträge veröffentlicht im April 2007 an. Zurück zu allen aktuellen Beiträgen

Populäre Tags: Mozilla, SeaMonkey, L10n, Status, Firefox

Verwendete Sprachen: Deutsch, Englisch

Archiv:

Juli 2023

Februar 2022

März 2021

weitere...

30. April 2007

Weekly Status Report, W17/2007

As SeaMonkey continues to be my primary source of income, I feel I should give the community some feedback about what I'm doing for the project in return for the money German users are channeling to me through their Google ad clicks.

This was one of the reasons why I created this blog and started posting various news about SeaMonkey here - but reading the weekly MoFo status reports of F. Hecker, Gerv and Zak, I realized it's interesting to see what's going on in those organizational areas, and doing most SeaMonkey organizational work, it might be interesting to community members to get a glance on that as well (comment if you think otherwise or you want to know more about some specific SeaMonkey behind-the-scenes topics).

So, here's what I've been doing in week 17, 2007 (April 23 - 29):
  • Upcoming branch releases:
    Triaging approval/blocking flags for the upcoming 1.0.9 and 1.1.2 releases, pinging people about remaining blockers, bumping version numbers on branches in preparation of the releases, blogging about 1.0 EOL
  • Tinderbox/FTP work:
    Cleaned up old builds from tinderbox/build systems, made hoshi tinderbox build again (basically with a reboot) after a strange compiler failure, cleaned up old builds from ftp.m.o tinderbox-builds and nightly/latest-* directories
  • Investigated 1.1/1.1.1 AMO dictionary URL issue (see bug 367500, talking about a possible redirect with AMO people, fixed our side of this, which required breaking the branch L10n freeze to some extent, notified m.d.l10n newsgroup about this.
  • suiterunner:
    Continued poking of people about the missing links we still need for switching to suiterunner - Mark ("Standard8") is still working on finishing profile migrator (creating the list of prefs to migrate is tedious work) and thinking about download manager (can we borrow code from somewhere else?); Frank ("mcsmurf") is waiting on Rob Strong re-reviewing the NSIS installer patch.
  • SeaMonkey Marketing Shop:
    I finally created a shop at cafepress, created some designs for stuff to sell there and did order some items myself for a test run. Expect this to hit the public soon!
  • Mozilla Planning/Governance:
    I'm trying to take a very active role in Mozilla planning and governance newsgroup discussions to figure out the best ways to deal with various issues for the whole Mozilla community and in particular for the SeaMonkey project. This week, it's pretty silent there, but some Mozilla2 repository discussions are ongoing, as well as some bugzilla organization discussions.
  • L20n:
    In a small circle of people, we started talking about a possible PHP implementation of L20n so that we get really working code on top of the current spec proposal and see how it acts in practice. This is in a very early stage, we're currently discussion license issues - I'll tell you more once we have some actual code in place.
  • Various discussions:
    As always, lots of my time spent on SeaMonkey gets investigated in lots of discussions on IRC, in newsgroups and in bugs - topics this week included various issues affecting suiterunner, e.g. mac theming issues, the possibility of toolbar customization, mcsmurf's new CVS account (congrats!) and policy issues we encountered on the way there (what does an area of a super-reviewer mean?), wording of junk prefs, file locations of tab/sidebar close buttons, the suiterunner switch, page info, and others.

Tasks without progress I want to work on next week:
  • SeaMonkey slogan(s):
    Need to filter out well-recieved proposals from the newsgroup thread and get some clue how to decide on which one(s) we will be using for marketing material in the immediate future. For the first round of stuff in our new shop, I'm using the www.seamonkey-project.org URL instead of a slogan though, which redirects to our main project site.
  • Trademark policy:
    For posting marketing material, we need to have a useful trademark policy. A proposal is in review with MoFo, need to poke Gerv once again about that.

Von KaiRo, um 12:35 | Tags: L10n, Mozilla, SeaMonkey, Status | 2 Kommentare | TrackBack: 1

29. April 2007

The roads I take...

When I started this blog almost two months ago, I realized I need a good title for it, and decided to go with "The roads I take..." as a play on one of my favorite quotes.

I've been a fan of American Country Music for a long time now, as well as writing songs myself, so when I purchased the album "the hits" of Garth Brooks a few years ago, I was happy to read some comments of how he came to write or pick up those popular songs in the CD booklet. For example some of those "the idea came to me and the song was done in a few hours" stories feel pretty familiar to me and it's great to see that big hits of great stars come to be the same way as I've done some of my favorite songs.

And then, there was this comment on "We Shall Be Free", a song he co-wrote with Stephanie Davis:

"We Shall Be Free" is definitely and easily the most controversial song I ever have done. A song of love, a song of tolerance from someone who claims not to be a prophet but just an ordinary man. I never thought there would be any problems with this song. Sometimes the roads we take do not turn out to be the roads we envisioned them to be. All I can say about "We Shall Be Free" is that I will stand by every line of this song as long as I live. I am very proud of it. And I am very proud of Stephanie Davis, the writer. I hope you enjoy it and see it for what it was meant to be.

And I felt I knew what he was talking about once again. Writing lyrics you clearly want to say something with, being proud of what it tells and what feelings the song transports to the listener as well as keeps alive in yourself. And, of course, that some thing you never thought of would happen.

Yes, it's true:
Sometimes the roads we take do not turn out to be the roads we envisioned them to be.
Feels a bit like how I came to be a member of the Mozilla community. And this blog, after all, is about the roads I take...

Von KaiRo, um 16:15 | Tags: blog, Country Music, history | keine Kommentare | TrackBack: 0

27. April 2007

Earning money in surprising ways

Some people might wonder what I'm working to earn my money - esp. as I'm available on IRC most of the day (unless I'm asleep) and usually always have time to discuss SeaMonkey topics, esp. when it comes down to project coordination issues.
OK, a few people might know me as a student, and theoretically I still am, but I haven't seen university (from the inside) for quite some time (though I probably should take my 4 missing exams some time soon and finally actually write up my diploma thesis). But I always feel I need to give some work back for the money I'm earning, and studying is actually not the most attractive distraction from that work...

But, what is this work then, which I earn my money with, if I have time for SeaMonkey most of the time? Well, most surprisingly, SeaMonkey actually is that work. How, you might ask? Well, I stumbled into that the same way I stumbled into the whole Mozilla project...

When I had done the first German Mozilla localization in early 2000, I realized I needed a web page for it and set that up as a sub-page on my personal website www.kairo.at, later transferring it to its own site of mozilla.kairo.at (or, nowadays, www.seamonkey.at). I had to pay for the kairo.at domain from the beginning, but hosting it on the dedicated web server of a friend of mine was cheap, and so the Mozilla localization website did not actually cause additional costs. Traffic on those pages exploded as more and more German users became aware of it, and as time passed, I had to redefine my agreement with that friend to make me co-owner of the server and be paying half of its hostings costs. I still was reluctant to throwing some random web banners to people just to pay for hosting, especially as I felt that what banner ad services displayed to people at that time was not what I wanted to put up on an open source software page.

In summer 2002, with traffic still exploding (the default start page of German Mozilla was this website after all) and a new hosting option for our server needed, I decided to do a poll about sponsoring solutions among site visitors, and as a result, created a donation system that allowed people to specifically sponsor my Mozilla German website with non-intrusive ads (this is still running there today). It was accepted well enough that I could at least pay my web hosting costs as intended - at least when evening out good and bad months. Still, all the time I was investing in Mozilla work was not paid for, though it started competing with the time I had to spend studying.

In 2004, I realized not only that a more modern redesign of the German website was needed (based on the new CBSM website system I had written), but also that with Google AdSense, there was finally a solution to display mostly non-intrusive banners for and by decent businesses and be sure they pay well enough - and my new design, based on mozilla.org's "cavendish" design, happened to have space in its top bar for a standard banner. Because of that, I decided to try an AdSense banner on the site and see how it works out.

And there, something astonishing happened: In the first month, AdSense earned me a few hundred dollars - introduction of a special suite start page with a Google search field in March 2005 made that even jump into the four-digit range! Suddenly, I started to earn money with Mozilla! Not that this made me feel completely comfortable though, as it put some personal pressure on me to give back this value to the community by dedicating even more time to the project and the community.
After a continuing rise of AdSense income, I finally founded my own one-man-business around that and my CBSM webhosting system in January 2006. Even though income declined since April 2006 (no, never saw 5 digits there, but it's still a few thousand dollars) I'm still able to live off what the community channels to me through clicks on AdSense ads on the SeaMonkey German web page and on search results from that Google field on the default start page.

And that's one additional reason why I'm donating as much time as possible to the project - it's where my primary income stream is originated. Thanks to Google for their great AdSense system and thanks to all German SeaMonkey users as well as the SeaMonkey community, who make it possible to have SeaMonkey as a part of my business! And, I guess it's not really bad if someone like me is having commercial interest in addition to personal liking to spread SeaMonkey as well as possible. You can be sure I'm trying to pay back every cent with the time I'm investing in the project. Unfortunately, giving money away to others is not easy to do legally (there's always the problem that it might mean that legally that person is considered as "working for you", which means you need contracts and pay taxes), but for example, I could pay biesi's recent FOSDEM visits from my business as I can state need him for technical advice there. :)
I may still find other possible ways to contribute, but mainly I will contribute my time, as time is money after all ;-)

It's always nice to hear someone's found a way to make a living from open source development, it's really nice though to be one of those people - esp. if you're not working on one of the really big products. As long as that income is flowing, be sure to hear a lot about me in this project. Oh, and don't forget to spread SeaMonkey! :D

Von KaiRo, um 15:46 | Tags: business, history, L10n, Mozilla, SeaMonkey | keine Kommentare | TrackBack: 0

Stumblin' in: My Mozilla career

A few people in the Mozilla community have known the project for many years already, newer "family members" might not have experienced the pre-Firefox days at all, others are just entering or visiting this steadily growing crowd of people as testers or bug reporters - or "just" interested users.
Some of those might read my name as a "SeaMonkey Council member", i.e. one of the five people steering the SeaMonkey project, working on keeping the integrated suite alive (that has its own long history, reaching back to when Netscape still dominated the Web market).

So, how does one grow from a student and web user to one of the SeaMonkey project leaders? For me, it was mostly a matter of stumblin' in - or actually seeing that "something needs to be done" - and trying to help make it happen.

Just for some background, my father entered the computer sales business early on, bought a PC quite early on, back in the 80s (a then quite modern 8086 with 12 MHz, 640K RAM, CGA monochrome display and a 20 MB harddisk) and so I learned working with PCs quite early while going to school (ah, those DOS days... and programming with GWBASIC ;-) ). Following that, we probably were among the first people who had Internet in a private household around here - and, of course, Web and Netscape were almost synonyms in those days.

So, as an always-proud Netscape user, hating how Microsoft used their Monopoly to drive the market leader off the browser market, I started wondering in 1999 if my favorite browser producer is working anything new and stumbled over mozilla.org, trying their Mozilla M5 milestone build (made available for download under something called "the Seamonkey project"). Somehow even that early stage felt promising and cleaner in design (esp. when it came down to website rendering) than Communicator 4 to me, but clearly it was very experimental. My first post to a Mozilla newsgroup already clearly tells what I felt about the Gecko-based product: "I am convinced the final release will be the best existing browser software by far." - along with some bugs I encountered ;-) Following the advice of some Netscape employee, I filed my first bugs in Bugzilla for those issues.

I decided to remember that project and check back later for newer milestones - as a beginner physics/chemistry student, long-time DOS/Windows user and (Visual)Basic developer I didn't feel I could help in any other way than testing that new technology. Starting with M7, I tried to use this product for browsing more and more and after some time I got interested what this XUL technology is that is said to build up Mozilla's user interface. Back then, all chrome files were unpacked plain files in the app directory and I quickly discovered that that was just something like the HTML I knew from creating web pages (I still had to learn what XML really was), being styled with CSS (which I really did know) and with strings in some simple-looking plain text format (not knowing XML, I didn't know those DTD entity definitions either). Intrigued but not yet convinced by all that stuff being simple text files, I decided to try out if they really make up what I'm seeing, replacing some colors in CSS with some Star -Trek-style colors, and replacing a few English strings with German variants - and then I was really impressed: It just did work!
While I decided that Star Trek styling was nice for playing around personally (later my LCARStrek theme based on that), the translated strings could potentially be useful to others, and so I posted a message to n.p.m.l10n in December, telling that I'd like to help with the German localization of Mozilla. As Tao Cheng from Netscape, the L10n head at that time, replied "If you have no objection, I'll put you as the German translation contributor." (note him saying "the" contributor), I realized I had just more or less taken over the responsibility of creating a full localization. I tried to live up to that and on December 31 I managed to release M12 as the first "fully" (as in: as far as possible) localized German Mozilla version.
In late January of 2000, I opened up a website (The SeaMonkey German website still has old news and downloads that I ported to the new site to archive them) and since then, practically every release of the suite has been made available in German language by me. Ah, and in September I got to know some people of our community personally for the first time when we had the first Mozilla Europe Developer Meeting near Frankfurt, Germany (organized by someone by the name of Axel Hecht, BTW).

For a some time, I contributed to the project as the main German localizer, and reported bugs here and there. In April 2002, I got a mozilla.org CVS account, originally for getting German L10n into CVS (it should take years to actually have a working model for locales in CVS and then even a different repository - seaMonkey is even still on the road to that currently). This was some kind of milestone for me personally, as I began to do some small fixes for problems in the L10n area, like some locale switching fixes, followed by the per-release localeVersion updates until I finally automated that. And suddenly I had become a code contributor (still proud it was me who made about:plugins localizable and themeable back then, which is code that can even be seen in Firefox), and I started using that CVS account for those few, mostly minor, code fixes.

In the summer of 2004, after the demise of Netscape in 2003 and the only contributor who had write access to the FTP staging server and the mozilla.org web pages being AWOL, the L10n community realized more than before that a new lead is needed: For one thing, localized builds had to go up onto mozilla.org servers again, and we needed someone to improve communications of localizers with Mozilla Foundation. As I saw someone had to make that happen, I brought forward a proposal for a new Mozilla Localization Project (MLP) staff team and tried to collect people who wanted to help there. When we got such a new team together, those people asked me to take the position as official MLP project lead - and in this I ended up as being the main L10n contact in talks and teleconferences about Firefox 1.0 release planning, even though I didn't localize Firefox myself (a different German localizer was working on that while I continued to do the suite part). The current MoCo L10n lead, Axel Hecht, also did care a lot about L10n issues there - even though he was no active Mozilla localizer himself. When Axel rose into that position, my being the MLP lead got less important, but other challenges were already waiting for me (BTW, despite trying to step down as MLP lead later on, nobody volunteered to take over, so I'm more or less still in this position).

Finally, in early 2005, the future of my beloved Mozilla suite became more and more uncertain and when bz asked MoFo for clarity on that, I also undersigned his open letter to staff and experienced the suite "Big Bang" first hand. When the transition plan laid out a way for the future of the suite as a volunteer project, I once again figured a project leading group is needed, and tried to figure out people willing to help in that team. After extensive discussions, mostly on IRC, Neil, biesi, IanN, CTho and me agreed to form that steering committee, which we later named the "SeaMonkey Council".
Once again, in a repeating pattern, my strong will to make something happen and putting my contribution where my mouth is made me stumble into being a leading contributor in the respective area.

In this role as a SeaMonkey Council member, I'm mainly concentrating on the organizational matters of the project, while the other members are more focused on doing actual development, along with our broader community of SeaMonkey contributors. Next to that, I'm trying to contribute some code myself, still work with the L10n community and, of course, keep the German localization of the suite alive and kicking.

It's been a great ride so far, I'm still eager to get stuff done, and I hope to continue the story of how I got here with some great future success stories of the SeaMonkey project!

Von KaiRo, um 02:02 | Tags: history, L10n, Mozilla, SeaMonkey | keine Kommentare | TrackBack: 1

23. April 2007

End of life for SeaMonkey 1.0 coming soon

The SeaMonkey project isn't as young any more as one might think, we're also counting years already rather than months. And there are some moments when one starts to realize that even more - for example, when the first stable release series is nearing its end of life.

The first major and stable version of our new incarnation of the internet suite, SeaMonkey 1.0, based on the stable Gecko 1.8.0 series, has been released on January 30th, 2006, and was followed by eight 1.0.x versions with important security and stability fixes to it in the almost 15 months that have passed since then, with up to almost 200,000 downloads of the main three builds (not counting localized, direct-from-FTP or similar downloads) per release.

SeaMonkey 1.0.9, which is scheduled to be released in sync with it "brother" Firefox 1.5.0.12, will be the last binary release that keeps security of the 1.0.x current, later security fixes will only be available as source from the SeaMonkey project, some Linux distributors may still ship binary updates from that source, but we won't offer any such updated binaries on mozilla.org any more. We have been maintaining 1.0.x for more than a year and think to have produced enough overlap with 1.1.x to retire the Gecko-1.8.0-based series in favor of the new stable series.

That said, also this SeaMonkey 1.1 series will be updated with current security and stability fixes in sync with SeaMonkey 1.0.9 and Firefox 2.0.0.4 (see the Firefox release schedule for exact planned dates). This SeaMonkey 1.1.2 release will fix all currently known security issues as well as some other small improvements (see this rough buglist for a list that should contain most of the fixed bugs).

We'll encourage all our users to upgrade to this new SeaMonkey 1.1.2 version once it officially will be released.

Candidate builds for testing both releases will appear soon and will be announced in our Newsgroups - as always, we badly need testers to do our basic release QA on those, please stop by on IRC and contact ajschult, our QA head, if you can help with this.

Von KaiRo, um 17:08 | Tags: Mozilla, release, SeaMonkey | keine Kommentare | TrackBack: 0

22. April 2007

ÖVP 2.0?

Die ÖVP hat gestern am Bundesparteitag mit Willi Molterer aus meiner Heimatstadt Steyr einen neuen Obmann gewählt. Willi war mir immer schon sympathisch, und er war bei allen Wahlwerbe-Aktionen wie auch sonst immer einer, der auf Aktivität gedrängt und sie auch selbst vorgelebt hat: Keiner, der sich im Standl versteckt, sondern einer, der zu den Leuten rausgeht. Ich hoffe, er kann sich trotz vieler anderer Verpflichtungen das auch als Obmann behalten.

Eine neue Generation ist allerdings nicht nur an die Spitze unserer Partei getreten, auch der Auftritt des Parteitags war an eine neue Generation angepasst und die Partei bindet die div. "Web 2.0"-Mittel voll ein: Blogger wurden zum Parteitag akkreditiert (konnten fast alle Vorzüge genießen, die normal der Presse vorbehalten sind) und auf MySpace, YouTube, FlickR sowie SecondLife ist/war man mit dem Parteitag präsent. Ich war leider am Samstag selbst zu beschäftigt, auf SL hätt ich auch gern vorbeigeschaut :)
Naja, es gibt ja auch genügend "Fotos" aus SL auf FlickR...
So konservativ im Sinne von "zurückgeblieben" wirkt das ja gar nicht, wie man die ÖVP gern darstellt - es geht eher darum, auf der Basis von bewährten Werten mutig neue Wege zu beschreiten. Und der Parteitag hat hier eine positive Richtung aufgezeigt. Bleibt abzuwarten, was wir aus dem Perspektivenprozess als Ergebnis eines Programmkonvents im Herbst vorweisen können. Und es bleibt zu hoffen, dass die Perspektiven-Initiative auch nach einem solchen erneuerten Parteiprogramm offen mit Input von allen Seiten weitergeführt wird, denn eine moderne Partei wie unsere muss ständig leben, Linien überdenken und sich verbessern.
Wieder mal gilt "wer Gutes erhalten will, muss manches verändern" (wie schon vor einige Jahren auf Schüssel-Wahlplakaten). In diesem Sinn wird der Sinn von "konservativer" Politik auch viel begreifbarer und meine persönliche Einordnung als "progressiver Konservativer" wird eindrucksvoll bestätigt.
Präsentiert wird eine integrierende Partei, die auf soziale und ökologische Themen setzt, wo sie für breite Gruppen spürbar werden. Die ÖVP stellt sich sehr geschickt als aufgeschlossene Mainstream-Partei dar." (Blog Lost and Found)

Bei solchen Aussagen, Beiträgen und Darstellungen kann unsereins richtig stolz drauf sein, ÖVPler zu sein - bleibt nur zu hoffen, dass dieser Stil zur Dauereinrichtung wird und nicht nach dem Parteitag wieder verpufft :)

Von KaiRo, um 16:39 | Tags: ÖVP, Politik, Web 2.0 | keine Kommentare | TrackBack: 0

My Easter Photo Map

Looking at Google Maps today, I realized they have a new "My Maps" feature, so I decided to try it out, and improve the map I linked in my earlier German entry of my Easter photo tour. I added a few additional destination points so it matches my actual route a bit a better (as good as a car route can match a bike/walking route), and added placemarks with selected photos out of my photo gallery from this tour.
The result is quite nice - but see for yourself: Easter Photo Tour Map

Looks like Google Maps is becoming an even more interesting tool to link to with this feature :)

I just realized that sometimes you need to click the "Search Results" tab first to get the route drawn as well as the placemarks - they seem to have a small glitch in there, so that it doesn't always draw that route right away...

Von KaiRo, um 15:56 | Tags: Fotos, Google, photos | keine Kommentare | TrackBack: 0

17. April 2007

suiterunner and "source L10n"

As bug 286110 states, we're working on getting the so-called "source L10n" approach working for SeaMonkey. This means that in the future, we want to be able to build localized SeaMonkey builds directly with localized strings taken from a mozilla.org repository, just with checking out the right l10n/ dir (usually via MOZ_CO_LOCALES) and adding the --enable-ui-locale configure switch.

We're planning to support that on the new, toolkit-based SeaMonkey configuration dubbed "suiterunner", and I have had "my" German suite localization in the tree for testing purposes for quite some time now. As MailNews locale files are in suite/ now and mozldap is as well, I tried building a German suiterunner test build this way recently, and the results look pretty good: A de.jar is placed in the chrome directory, containing almost all needed locale files that previously were in en-US.jar. That latter JAR file is mostly deserted in such a build now. We still need to sort out the few files that are left there though: P3P, for one, will be removed soon (I hope), wallet should get replaced by satchel, so those two are no big issues (and just turn up in the wrong language anyways). Files that lead to XML errors and breakage in the UI because they're not available consistetly in the selected language are the bookmarks UI files, for which I filed bug 377799 now, as well as global-platform/win/nsWindowsHooks.properties and global/typeaheadfind.properties are still there, we should get those out of global and somewhere into suite/, for which I filed bug 377801 due to this round of testing.
The built-in extensions like Reporter, DOM Inspector, ChatZilla and venkman stay untranslated for now, they can be cared about once the main suite works.

The good thing is that apart from those small issues, source L10n is about to start working for the toolkit-based "suiterunner" SeaMonkey builds on trunk.
Finally, an easier solution for localizers gets in sight also for the reborn suite application :)

Von KaiRo, um 21:38 | Tags: L10n, Mozilla, SeaMonkey | keine Kommentare | TrackBack: 1

Improving SeaMonkey with funding from Google

As you probably have heard already, Google is repeating its Summer of Code ("GSoC") program the third time this year, funding 600 projects in the open-source area with up to $ 5000 (up to $ 4500 for the student and $ 500 for the project they are doing their work for).
This year that program includes 10 Mozilla projects, among which even one project aimed specifically at SeaMonkey con be found!

The title of this project is "Make SeaMonkey Not Suck As A News Reader", done by Markus Hossner, and mentored by our SeaMonkey Mail & Newsgroups owner Karsten Düsterloh (also known as Mnyromyr). I asked both Markus and Karsten 3 questions, read what they have to say about this GSoC project:

First, some questions to Karsten Düsterloh, GSoC project mentor and SeaMonkey MailNews owner:

[KaiRo] 1. You created the idea of this project. What exactly "sucks" in SeaMonkey's news reader currently (many people tell us it's pretty usable, actually) - and what improvements do you expect we get from this GSoC project?

[Karsten] First of all, the project idea's title is stolen from a bug report in Bugzilla: "Bug 176238 – Make Mozilla not suck as a newsreader", a very old meta bug referencing several other bugs which make using (Mozilla back then and SeaMonkey and Thunderbird even now) as a newsreader not the experience folks are accustomed to from the Mozilla browsers or other newsreaders.
While most of the "major suckage" is gone by now, there are still some advanced features missing, even when compared to our Netscape 4.x ancestors. Clickable references or reordering the folder pane are requested very frequently.
Markus has a very good Mozilla background to get things running in this area, since he's the author of the MessageID Finder extension (almost a must for serious newsreading with Mozilla applications), so I think we will see quite some progress.


[KaiRo] 2. How much do you think Mozilla projects profit from each other's GSoC projects? That is, how can/will Thunderbird and Firefox projects help SeaMonkey, and the other way round?

[Karsten] The ties between the SeaMonkey MailNews and Thunderbird backends are rather strong, so here's a very good chance that any SoC project for one will help the other, too. (Roaming support for TB may be an exception, since we already have that in SeaMonkey.) In general, projects touching the common codebase are usually good for any project, eg. JPEG2000 support. Some of the Mozilla projects are rather application-specific and thus non-sharable, like the Firefox micosummary stuff.

[KaiRo] 3. What other improvements of the Mail and Newsgroups component of SeaMonkey are planned for the next few months or would badly need help, perhaps from new contributors?

[Karsten] Lots. ;-)
We still have lots of "parity bugs" asking for features known in Netscape 4.x or other mail and news clients, like score files or "real" message templates. Thunderbird has some features we would like see in SM as well, like back/forward in the mail reading history or folder views. There are some structural backend fixes pending, like unified header usage in view/forwarding/printing or blackboxing the mail storage.
Sometimes I feel its just a gift that everything is running so well even without that...


And then, let's see what Markus Hossner, the student working on this project, has to tell us:


[KaiRo] 1. Please introduce yourself: Who is this guy who wants to improve SeaMonkey's news client, what involvement did you previously have with the Mozilla and SeaMonkey projects/communities?

[Markus] I'm a German Student of Computer Science at the University of Karlsruhe (TH). For 3 years now I'm maintaining an addon for the Mail/News client of SeaMonkey and Thunderbird: The MessageID-Finder. An addon to deal with messageids and references.

[KaiRo] 2. What are your concrete goals you would like to achieve with this GSoC project?

[Markus] The project's slogan is: "Make SeaMonkey Not Suck As A News Reader". The project aims to make SeaMonkey a much more useful news reader by adding needed features. Features like clickable references, clickable headers in general, a more usable subscribe dialog, the ability to reorder newsgroups in the folder pane, the ability to quote only selected text, to offer a better offline support for news reading and a correct implementation of the nntp/news protocols.

[KaiRo] 3. Could you imagine to continue to work on improvements for SeaMonkey after this summer project?

[Markus] For sure ;-)

We all hope that SeaMonkey will "suck less" through this project, as will probably even Thunderbird. On the other hand, I hope SeaMonkey can gain from other projects as well, maybe even last year's Firefox GSoC project for a better Page Info window.
It's always good to see that a company like Google is giving back something to the open source communities, which provide a collection of good software which is probably also used intensely inside Google itself.

Von KaiRo, um 02:31 | Tags: Google, GSoC, Mozilla, SeaMonkey | keine Kommentare | TrackBack: 0

12. April 2007

UME-Blogs gestartet

Das heir verwendete Weblog-System wurde ja nicht nur für mein persönliches Blog hier verwendet, sondern, um im CBSM-System sowie im damit verwandten Community-System (fynf.at und andere) überall verwendbar zu sein.
Dabei können nicht nur "offizielle" Blogs diverser Websites eingerichtet werden, sondern auch persönliche Blogs der registrierten Benutzer auf diesen Websites bzw. Communities.

Auf der Homepage der UME ("Unsere Macht Europa", eine virtuelle Partei im Online-Spiel "Power of Politics) ist jetzt der Anfang mit diesen persönlichen Blogs gemacht, auf http://ume.waehlt.at/blogs/ gibt's eine Übersicht der aktuellesten Beiträge in den dortigen Blogs.
Ich hoffe, dieses Feature wird noch kräftig genutzt und die Community der UME wird dadurch gut gefördert!

Von KaiRo, um 17:19 | Tags: blog, CBSM, PoP | keine Kommentare | TrackBack: 0

9. April 2007

Anstrengende Entspannungsreise durch Wien

Manchmal tut es gut, die übliche Routine zu durchbrechen und mal was ganz anderes zu machen. Und ein Ostersonntag mit strahlend schönem Wetter ist dazu wohl sehr gut geeignet ;-)

Daher habe ich heute meinen Computer hinter mir gelassen und eine Tour durch Wien gemacht. Mit dem Fotoapparat bewaffnet habe ich mir ein "Vienna Citybike" geschnappt und bin von der Schottenfeldgasse aufgebrochen. Über die Neubaugasse und den Spittelberg ging es zur "Zweierlinie" (die dort ja gar nicht mehr fährt), von der Landesgerichtsstraße durch das alte AKH, vorbei and den Physik- und Chemie-Instituten im Dreicksgebäude Währinger Straße / Strudlhofgasse / Boltzmanngasse zur Strudlhofstiege. Über die trug ich das Fahrrad hinab, um am Franz-Josefs-Bahnhof vorbeizufahren, den Donaukanal zu überqueren und schließlich (nach einem kurzen, fotolosen Abstecher in den Augarten) bei der U6-Station Jägerstraße das Fahrrad abzugeben. Von dort ging's zu Fuß zur Millennium-City, rüber auf die Donauinsel und diese schlenderte ich bis zur Reichsbrücke hinunter. Dort angekommen, musste ich den Fußweg bis zum Praterstern verlängern, um wieder einen Citybike-Ständer zu finden, von wo ich mit dem Rad bis zum Parkring unterwegs war. Hier, nach ca. 4 Stunden auf den Füßen und am Rande des Sonnenuntergangs, gab ich schließlich dem Hunger nach und kehrte im wohlbekannten Champions ein, einer American Sports Bar, die gerade hochinteressante NBA-Spiele zeigte. Nach einem guten Champions-Burger und etwas Bier kam ich dann per Citybike wieder zurück ins Hirschenheim.
Ich habe versucht, die Route auf Google Maps nachzustellen, aber dieses Tool nimmt nur Auto-Routen an, also zeigt es nicht, wo ich Radwege nutzen konnte, das Rad über die Stiege getragen hab, über die Donauinsel ging, usw. Aber einen groben Überblick bekommt man damit.
Alles in allem war die Tour körperlich sicher etwas anstrenged für mich, aber genau die geistige Entspannung und seelische Ablenkung bzw. der Ausgleich, den ich heute gebraucht habe. Meine eigene Art der "Auferstehung", denke ich. :)

Warum ich das hier so genau beschreibe? Ich bin gerade dabei, die interessantesten Fotos von dieser Tour hochzuladen und sowohl ich als auch andere, die sich die Fotogalerie ansehen, können mit diesem Blog-Eintrag etwas Orientierung bekommen, wo diese Ansichten her sind ;-)

Ein gesegnetes Osterfest!

Von KaiRo, um 02:16 | Tags: Fotos, Wien | keine Kommentare | TrackBack: 1

7. April 2007

A Localizer's Nightmare: Security Backend Error Messages

Today I decided to do some work on the German L10n of nsserrors.properties, which hit the trunk 3 weeks ago and nobody in the German team has dared to localize so far (we have a version in l10n/de trunk that only carries the original English strings).
And there are good reasons why it hasn't been touched for a longer time, as the hardest strings to localize correctly probably fall into three categories: backend messages, technical error messages and security strings. And this files consists of 262 new security backend error messages. Yay! :(
This means that highly technical terms, often from security areas, like "Certificate Request handshake message" get mixed with hard-to-localize phrases like "experience an error" and untranslatable names like "PKCS#11 token" and/or cryptic (pun intended) abbreviations like OCSP,ASN.1,CA,CKL,SSL,MAC-SHA1,MD5, etc.
Even messages that look innocent like "SSL received a record with bad block padding." can be very challenging for localizers. You might not want to translate that as "SSL hat einen Rekord mit schlechter Klotz-Polsterung empfangen." (thanks to Martin for that suggestion ;-) ) or not even someone who actually knows the technology would understand it. Even my current try of "SSL hat einen Eintrag mit falscher Block-Auffüllung erhalten." may not be understood by novices (just like the original) but I hope it will give a clue to most people who read it.
"Unable to digitally sign data required to verify your certificate." is almost a welcome and easy to translate message within a pile of such strings. I hope to find more of those while continuing to dig through that file...

Von KaiRo, um 16:07 | Tags: L10n, Mozilla | 7 Kommentare | TrackBack: 0

5. April 2007

suiterunner getting (mostly) usable

With bug 350221 resolved on the mozilla.org "trunk", i.e. the main at-the-edge-of-development source copy of the source code, a major step has been achieved in getting suiterunner into a usable state: back/forward history now work, tabs on the browser look how they are supposed to look, new and close tab buttons are what they are supposed to be (minus some problems on Mac which we are investigating).
This means we are getting much nearer to actually switch trunk nightlies over to this toolkit-based SeaMonkey variant which will replace the old xpfe-based version for our Gecko-1.9-based SeaMonkey release. This will be a really major step forward for the suite, bringing it from its dusty old heritage to a more modern system, enabling decent extension management and a lot of other things.
But we are not there yet: The download manager doesn't work (bug 348386) and File > New does not launch a new (second) navigator window (bug 338461) at the moment. Those issues are probably still blocking day-to-day use of this experimental configuration (which can only be tested if you build it yourself or through some very experimental Windows and Mac tinderbox builds). And then, before we really want to switch to using that toolkit-based suite as our default, we want to finish up the profile migrator (bug 329744) far enough that profiles from current SeaMonkey and Mozilla suite can be imported to a "suiterunner" SeaMonkey version. The old installer is broken as well, we are working on a new, NSIS-based installer (bug 351917) as a replacement on Windows and hope to finish it at around the time we're switching to suiterunner on trunk.
Those are the main issues we have for getting that new version in place, lots of smaller ones are known as well (see the dependency list of the main suiterunner bug report). If you want to test those builds, feel free to do so, but read suiterunner wiki page first.

With the current state, we're significantly nearing that new generation of the SeaMonkey suite - and we're continuing our work to really reach the goal of a suite based on the "new toolkit", eventually even XULRunner.
As always, we can use any development help we can get, stop by in our dev newsgroup or in IRC (as noted on the SeaMonkey Community page) if you want to help us.

Von KaiRo, um 18:54 | Tags: Mozilla, SeaMonkey | keine Kommentare | TrackBack: 0

1. April 2007

SeaMonkey and the Kitchen Sink

Today's a special day, as you might know. Once again it's time for April Fools. In recent weeks, the suggestion that the SeaMonkey project should take part in that once again and fool people with "the kitchen sink" has come up - so I feel I should take the chance and blog about my point of view on that topic today. ;-)

If you're a native English speaker, you probably know the idiom "everything but the kitchen sink" well enough. For all others: This seems to be derived from the habit of some people (intentionally leaving out alleged gender connections) to seemingly take the whole house with them when leaving for vacation or even only a picnic. It often looks like they pack everything into the suitcases they can find and what they are able to carry. Everything but the kitchen sink, that is. Even if a kitchen sink might be useful in some cases on vacation or at a picnic, it seems to be a too intricate task to unmount it and pack it up.
I guess we all know that habit from someone we know. As a consequence, many people have bad connotations with that phrase, giving it a meaning of "more than anyone will ever realistically need", others seem to understand it as "just all you need".

And somehow, there are people who connect this phrase with Netscape Communicator, the Mozilla suite and now SeaMonkey. This actually goes as far as thinking that "everything but the kitchen sink" is not enough and filing a "Mozilla does not have a kitchen sink" bug on Bugzilla, which led to an XHML+JavaScript kitchen sink implementation (the flow can even be turned off and on by clicking the handle area), which was proposed to be shipped as an "about:kichensink" easter egg (and is available as a Firefox extension in AMO's sandbox [not publicly at the moment]). Since we founded the SeaMonkey project, the request to including this comes up every once in a while. When the idea came up about doing an April Fools joke that "SeaMonkey is now including the kitchen sink", I immediately feared that those requests will come up once again.

Now why am I opposed to including this "about:kitchensink" easter egg in SeaMonkey, you might wonder.
Granted, this is a very good joke, actually. It's even a nice example of simple, ASCII-art-based "DHTML" - despite its high demand of CPU power. It would probably show out humor and geekiness. But then, we already show that with long-lived easter eggs we inherited from our ancestors - as every decent browser with a Mozilla heritage, we feature the current "Book of Mozilla" verse in "about:mozilla" (yes, the 7:15 one about the "reborn beast"), and we even just recently fixed the fishcam easter egg to point to a somewhat working URL (no live images working there though, those can only be found in an AOL blog). So, what I'm saying is: Don't waste time on new easter eggs, rather help on interesting new features, beautification, fixing nasty issues, or enabling the future.

But it adding nothing of real worth to our software isn't even the real reason against this easter egg. My real reason is more that about:kitchensink would prove humor, geekiness, and that "everything but the kitchen sink" is our motto/guideline. So, while humor is good, it's not the argument to use our software over other alternatives. And geekiness, like humor, is nothing we lack as is, but it's a reason for potential users to be scared away - esp. those in business environments. They want a professional tool for internet access and communication, not a geeky joke. And then, I don't even think that SeaMonkey is or should offer "everything but the kitchen sink". For one thing, I don't want the connotation "more than anyone will ever realistically need", a.k.a. "a pile of useless junk on top of some nice, useful stuff". And then, I don't even think our software is "just all you need". Every user of SeaMonkey uses a pile of other software next to it, probably including a file manager, an image viewer, office programs, instant messaging apps, perhaps peer-to-peer, FTP, remote shell/desktop software, and whatever else. I think it would be neither useful nor reasonable for SeaMonkey to include all that functionality. Sure, our product is a suite. An Internet suite, to be exact. It includes and integrates the main apps advanced users, web developers, and maybe business users need in their Internet life, and it should not try to be even more than that. This mission is already enough, we actually have enough room for improvement even in that area: We currently lack calendaring, we lack good FTP support (or SFTP, for that matter), we lack RSS/Atom feed support, to name some areas. And we even need to improve in what we already include: We should finally start to not suck as a newsreader, we should get decent extension management, and even better rendering and default icons.

Lots of work is out there to be done, our suitcases are probably a bit bigger than other projects', we need to repack a bit and pack some not yet included items, but we don't nearly have the space for the metaphorical kitchen sink.

(And no, it won't even have a place in our to-be-selected new slogan(s).)

Von KaiRo, um 09:00 | Tags: April, easter egg, Mozilla, SeaMonkey | keine Kommentare | TrackBack: 0

Why I'm eager for L20n

Mozilla 2 is to be started soon, and as you might have read, there are thoughts of creating a new localization infrastructure for that future generation of Mozilla software. Currently this is named L20n, driven by MoCo's L10n lead Axel Hecht, and though it's in a draft stage, I can't await to use this technology.

When Axel talked about L20n at FOSDEM, I was hoping people would tell us how they love it - unfortunately time for the talk was over before he could get to the interesting part - examples. Discussions there in Brussels were pretty interesting though, as I can't remember objections to the need of this or the general approach, only some criticism of the lol file format semantics. Oh, yes, it looks like localizing will be much fun in the future, having L10n info in ".lol" (Localizable Object List) files :)
I actually think that the proposed syntax of those file is good, as it feel familiar to most developers but is different enough from other languages to realize you're not in JS, XML but in a lol file.

The good thing is that L20n is a format that is growing out of knowledge about problems in current L10n approaches, both of the Mozilla approach(es) and the gettext/PO approach. People who have worked with both on a developer and localizer side know they all have their problems. While Mozilla lacks language fallbacks and plural handling, gettext/PO lacks good VCS compatibility and needs long original strings in the source code, while both lack flexible support for declension and other grammatical specialities. L20n is an effort to learn from the strengths and weaknesses of those, and esp. from the problem of their users, to create an L10n toolkit that satisfies developers, localizers and users the same - also across programming language boundaries. Axel has contacted other L10n communities than the Mozilla one to get feedback and, from what I heard, has received positive feedback and wishes for collaboration.

As an active SeaMonkey localizer, I heard about this new approach soon, bing in the Mozilla L10n newsgroup, I was more or less there when it was born (or the ideas for it were gathered) and actively took part in those discussions.
I'm more eager to working with L20n from a developer's perspective than from a localizer's perspective though: While "my" language (German) doesn't differ from English that much that I regularly run into the big problem of current approaches, L20n could simplify the code I write as a developer a lot:

Let's take this "simple" snippet of PHP code and German .po file to print out a number of comments (simplified source of this blog):

blog.php:
if ($postCount < 1) { print(gettext('no comments')); }
elseif ($postCount == 1) { print(sprintf(gettext('%s comment'), $postCount)); }
else { print(sprintf(gettext('%s comments'), $postCount)); }

blog.po:
msgid "no comments"
msgstr "keine Kommentare"

#, php-format
msgid "%s comment"
msgstr "%s Kommentar"

#, php-format
msgid "%s comments"
msgstr "%s Kommentare"

Now let's look at how it might look (in principle, I could be using wrong function names here) with L20n:

blog.php:
print($l20n_context->getValue('comm_cnt', array('num'=>$postCount)));

blog.lol:
<plural0: (n) -> {n == 0 ? 0 : (n == 1 ? 1 : 2 ) }>
<comm_cnt[plural0(num)]: ["keine Kommentare", "${num}i Kommentar", "${num}i Kommentare"]>

Note that I'm not sure that $postCount would be passed as an array like this, but it would probably be similar to that - and I hope I got the "plural0" macro right.
There are multiple good things about that approach: First, the actual code is much shorter and easier to read (even more so if I don't have short strings but long sentences there). Second, there is no "original string" in the source, just an ID ("comm_cnt"), it actually doesn't matter which language I'm doing first, while writing the code, as L20n doesn't care. Third, while writing the code, I could just define the string as <comm_cnt[num]: "${n}i Kommentare"> to make things simple, and I could refine it to better values later (when the code is stable). Fourth, if some localizer comes along and tells me he need 5 different plural forms depending on the numbers, he can just do that in the lol file, I as a developer don't need to know or care. Fifth, the localization file is shorter. Sixth, I as a developer am actually writing a first localization along with the code, which a localizer can use as an example for his work. And there are probably more.
(And yes, I know, gettext probably knows plurals in some way, so those might be a bad example. It's one if the easiest to grasp for a developer who doesn't speak Finnish, Polish or other grammatically more complicated languages though.)

It would be so nice to simplify code and get all those long strings out of the source (which often require horizontal scrolling here) - and that's only speaking as a PHP dev doing two languages that don't need declensions or other specialties. It must be even more compelling for a localizer of some language like that who can finally give his users a linguistically correct user experience.

Von KaiRo, um 00:58 | Tags: L10n, L20n, Mozilla | 6 Kommentare | TrackBack: 0

Feeds: RSS/Atom