Join me on Google+

A few months ago I stumbled upon what came to be one of the most interesting Swing blogs I’ve ever read. Actually, it is the most interesting Swing blog I know of. Exploding Pixels, by Ken Orr, shows how to create beautiful looking Swing applications for Mac OS X.

Ken has a great sense of design, pays great attention to details and his examples are really well written. Even if you do not work with Mac OS X, you’ll find a lot of valuable information on his blog, in particular how a UI developer should deal with details and pixel-perfect designs. I highly recommend you read all of Ken’s posts right now :)

Sexy Swing Apps on Mac OS X

David Watanabe just decided to release NewsFire free of charge for Mac OS X. NewsFire is my favorite RSS client: simple, clean and good looking.

NewsFire for Free

Chet Haase, a good friend and fellow co-author, just opened his new blog. I won’t spoil you the surprise but you might be interested to know what Chet is up to nowadays :)

A New Blog

I would like to apologize to the loyal readers of this blog for the lack of updates since last december. Android is a fascinating project which keeps me very busy at work and I would probably need to clone myself a few times to implement all the features I would like to see in it. I’ve also spent quite some time settling in my new life in California and this blog was the unfortunate victim of those time-consuming tasks. I do not despair coming back to my writings very soon. I can at least tell you that Filthy Rich Clients will be back this year at JavaOne, maybe with a surprise :)


Following today’s event, Apple just published the announcement of an update to .Mac, their web-based storage and sharing solution. Previously limited to 1 GB of data, including email and WebDAV, .Mac now offers 10 GB of storage.

I am very excited about this announcement as it will make .Mac even more useful to me. I use it to store all my email (IMAP), address book, bookmarks, calendars, some public files (WebDAV) and backup the most important files from my computer. 1 GB was more enough for my email but my files felt a bit cramped.

I always liked .Mac for the IMAP account and the great webmail interface, and it has just gotten better.

.Mac Now With 10GB

Joshua Marinacci, whom I worked with when I was at Sun, is in the Bay area this week and we had dinner together tonight. He told me more about Flying Saucer, a project he’s been working on for a few years now.

Flying Saucer is an XHTML/CSS renderer written in pure Java that can be easily embedded in Swing applications. The latest version, R7, is quite impressive. The support for XHTML and CSS 2.1 is great and the rendering very fast. I was particularly surprised by the quality of the rendering of filthyrichclients.org, which caused many troubles to IE, Firefox and Safari:

Filthy Rich Clients in Flying Saucer

Flying Saucer can do much more, like PDF and SVG rendering. While it would be foolish to write a full-fledged web browser upon this library, this project is extremely interesting and useful for regular desktop applications. Writing help screens or even complicated layouts becomes so much easier with Flying Saucer. The ability to embed any Swing component within a web page leads to countless wonderful user interfaces.

XHTML/CSS Rendering In Swing

Chet just uploaded www.filthyrichclients.org, the web site I designed for our upcoming book, Filthy Rich Clients.

Filthy Rich Clients Web Site

We will try to make the demos and their source code available on this web site as zip archives. For the time being, the web site offers a link to the project page where you can find the CVS repository. This web site is still very much a work in progress and has been tested only with a few web browsers so please forgive me would you encounter any problem.

Update: The web site has now been tested, fixed and tested again with Internet Explorer 6. You should now be able to view the web site in good conditions.

New Web Site

I showed in a previous post that Safari is better than Firefox, on Windows, at handling pictures. Besides managing color profiles, Safari also offers a much better resizing algorithm. The pictures below show one of my photographs resized by Firefox 2 and Safari 3 on Windows. The original picture is 3620 x 2440 pixels large and I created a simple page that resizes this picture to 500 x 337 and 240 x 162 pixels. Move your mouse over each picture to see the difference between the two browsers.

You also look at a side by side comparison. Besides the jaggy edges, you can see banding in the sky, in the top right corner.

P.S: Telling me that the width and height attributes of an img tag are not the best way to resize an image would be pointless and would not make Firefox better on this particular case. I have to admit that I never use them though :)

Why Safari 3 is Great, Part 2

By now you have probably read a lot about Safari 3 for Windows and why various bloggers dislike it. Some hate its instability (what a surprise for a beta), some cannot stand its anti-aliasing, and so on. I love Safari 3 for one and only one reason, color management. Unlike Firefox, Safari respects images embedded color profiles.

If you wonder why this feature is so important to me, consider the following screenshot. It shows the same photo (a JPG of mine available on Flickr) rendered in Safari 3, on the left, and Firefox 2, on the right, both running on Windows XP.

Safari vs Firefox

Look at the colors, in particular at the jelly fish itself. While Safari displays the image as I intended it to be, Firefox throws away my color profile and renders something that is totally off. As a result, the photo you see with Firefox is not the photo I shot and developed.

It takes a lot of time and effort to take good pictures and I am always frustrated when I see my work butchered by web browsers that do not respect the color profile I created for my monitor. No matter what you think of Safari 3, think about using it the next time you look at someone’s pictures. You’ll do yourself and the author a big favor by enjoying the pictures as they are supposed to be seen.

You can look at the original photograph on Flickr.

Why Safari 3 is Great

You may have noticed that a badge recently appeared on top of this page, over the SwingLabs banner. I already received a couple of requests regarding this offer and I want to make clear that everyone knows about the details. I want to promote projects, preferrably Swing related, that I like by offering a few pixels on the front page of this site, which receives between 1,500 and 3,000 hits a day. I am not trying to make money out of this so I won’t charge you for anything. The only requirements are to create a good-looking banner of the same size (728×90) as the current one. That means the banner must integrate well with the rest of the page. All the banners I pick will be randomly shown at the top of the page.

Your Banner Here?

Jasper Potts put online a small tutorial on how to run Iris, the demo that Richard Bair, Ken Russell and he wrote for a keynote for JavaOne 2007. It’s a great mixup of Swing, applets, HTML and AJAX, a must see! Go check it out!

Richard, Ken and Jasper on stage

JavaOne Swing Keynote Demo

Dion Almaer, Richard Bair, Joshua Marinacci, Carl Quinn, Tor Norby, Joe Nuxoll and Dick Wall met at Joe’s place this week to record Java Posse episode #118 (MP3). We had a really great time and I took the opportunity to take a few shots of everybody. Unfortunately, I was distracted by the conversation because only a few shots turned out to be good.

From top to bottom, Dick Wall and Richard Bair, Dick Wall, Joshua Marinacci, Tor Norbye and Dion Almaer. I wish I had good pictures of Carl and Joe but they were blurry (damn you shallow depth of field!) Click the picture to get high-resolution versions (3000×2000.)

You can also visit my Flickr Java set which should receive more pictures after JavaOne.

Richard Bair and Dick Wall

Dick Wall

Joshua Marinacci

Tor Norbye

Dion Almaer

Meet the JavaPosse

You have probably read about it by now, but Coda is a wonderful new web development environment for Mac OS X. While it is not revolutionary, Coda is a simple yet powerful tool encased in a beautiful user interface. Because it relies on http://Transmit for FTP and SubEthaEdit for code editing (with collaborative support), this editor is a bit more friendly than TextMate or BBEdit.

Coda Project Manager

Coda is not as versatile and extensive as TextMate or BBEdit when it comes to basic text editing, but it offers other features that are real time savers. FTP support is obvious, but the fantastic CSS editor or the web page layout inspector are equally useful. I also really enjoy the inclusion of several books about HTML and CSS, as well as the PHP documentation. I hate web development and anything that can ease the pain is more than welcome.

Coda CSS Editor

Go at least take a look at the screenshot on the official web site. This is a great proof that even boring applications like developer tools can look good and offer nice visual effects. Heck, the web site alone is worth the visit; it’s clean, beautiful and nicely animated.

Panic, the company behind Coda, already conquered me a long time ago with Transmit, their FTP client. I’m happy to say they have found a new customer. TextMate still remains my favorite editor on Mac OS X but I doubt I will ever use it again for PHP/XHTML/CSS development.

This, Is Why I Love Mac OS X

The Apple Developer Connection just published my article about using Quartz Composer compositions in Dashboard widgets.

The example widget displays Flickr’s most interesting photos of the past 7 days one by one, playing a nice animated transition between each.


Quartz Composer and Dashboard Widgets

Google recently updated Google Images and I wonder why they did what they did. The new version is indeed very trendy, with a brand new rollover effect on each displayed image. I have nothing against eye-candy but this one is very frustrating. Google Images used to show the name and the resolution under the picture. It still does. If you move the mouse over the picture.

The resolution was the single most important piece of information I use when I visit Google Images, because I am usually looking for the largest images I can find. This new “feature” just made my searches a tad more annoying. At least Yahoo! still has it right. I guess I will start using Yahoo! more unless I can find a GreaseMonkey equivalent for Safari or a way to disable JavaScript on Google Images only.

What do you think of this change? Do you like it?

P.S: Yes, the page does look cleaner without this extra information. But still :)

Google Images

It just rocks! Thanks Apple for finally improving .Mac. Here is a screenshot of the new webmail:

.Mac Webmail

You can do pretty much everything you can do with Mail.app. Moving mails around is a breeze and the look has definitely improved a lot. I have one big issue though: I can't use it from my cell phone, with Opera Mini, anymore! And that sucks. Big time.

New .Mac Webmail [Updated]

Wow, I just noticed Google homepage has changed. It now displays a bunch of personnalized boxes, like news from the New York Times, a GMail notifier, etc. And it’s customizable. I don’t like it :( So much for the simplicity of the good ol’ Google homepage. Anyway, there’s a link to revert back to the classic page.

That said, I like the Personalized Search feature.

Google Home Page Has Changed?!