Sea Glass look and feel

October 1, 2009

I’ve teamed up with Kathryn Huxtable on a new look and feel for Java we’re calling “Sea Glass”. The look was inspired by the following image:
I’ve been working on the artwork, while Kathryn has been doing the hard part of converting the art into an actual Java look and feel. We’ve only just begun the project, so there is much yet to be done, but I’d like to share the following glimpses of the artwork with you:
The colors will likely be tweaked as we go, but the images above give you a feel for what we’re going for. I’ll provide a link for the project shortly, which will be open source.

[…] Sea Glass look and feel « Exploding Pixels explodingpixels.wordpress.com/2009/10/01/sea-glass-look-and-feel – view page – cached I’ve teamed up with Kathryn Huxtable on a new look and feel for Java we’re calling “Sea Glass”. The look was inspired by the following image: I’ve been working on the artwork, while Kathryn… (Read more)I’ve teamed up with Kathryn Huxtable on a new look and feel for Java we’re calling “Sea Glass”. The look was inspired by the following image: I’ve been working on the artwork, while Kathryn has been doing the hard part of converting the art into an actual Java look and feel. We’ve only just begun the project, so there is much yet to be done, but I’d like to share the following glimpses of the artwork with you: The colors will likely be tweaked as we go, but the images above give you a feel for what we’re going for. I’ll provide a link for the project shortly, which will be open source. (Read less) — From the page […]

Wouhouuuu! That’s a great effort! I’m really looking forward to play with the first release!

From your slides, it looks like it could blend in well with Windows and Mac OS X, but I fear that depending on the used desktop and/or theme, it could look a bit too shiny when using Linux. I know, for now it’s just a concept, but I wonder whether you’re planning to provide some kind of color tweaking facility or a theme feature to allow for some minor adjustments.

Anyway, best wishes for your project. I will definitely track its progress. Thanks.

I’m not much of a Linux user, so I don’t have a good sense of what would look good on that platform — I’ll definitely spend some time looking at it though.

We will provide minor tweaks on each platforms for things like window chrome. In general, I try to avoid the ability to tweak things as I feel like it can be a cop-out for *really* thinking about the design. But your absolutely right that sometimes this is unavoidable.

Thanks, Ken. I absolutely second your opinion. If you can come up with something that blends in well across platforms out-of-the-box, this would be ideal! And I agree that it’s more important that the application looks and feels great, than to match the platform look. And that should be your focus, of course.

It’s just that there is sometimes a huge gap between platform appearance, and while Mac OS X and recent Windows versions both look “modern”, your typical Gnome desktop does not. Incidentally, I’m currently using a blueish Clearlooks theme on Ubuntu, but I can see me changing to a more dark appearance. A shiny blue app would contradict the overall theme here. Tolerable of course, but not ideal.

You might want to provide the option to honor the desktop colors in order to provide some kind of automatic adjustment. Just an idea.

Katryn, great to hear that you are already testing on Gnome. I don’t know how many users can stand the default appearance when using Ubuntu, your theme is obviously customized and might therefore not be representative. Not that I know which theme is most widely used. The diversity in the Linux world should be way higher than on other platform. That’s why I think a color adaption could be beneficial.

I’m using Human, which is the default look for Ubuntu, with the desktop and title set to green tones.

I’ve used Clearlooks. In fact, I’ve tried just about everything before Gnome finally made Human have customizable colors instead of Elephant Dung Orange.

At the moment, we’re using actual PNG images to get us up and running more quickly and to do quick prototyping. We could, I suppose, dynamically change the color balance of the images, but I’m not sure that’s the way we’d want to go.

In the long run, I expect us to use Graphics2D operations to create the controls.

I don’t like the colored window control buttons, that’s one reason why I prefer the toned down Graphite theme on Mac OS X. Theming here we are again ;)

BTW, currently the L&F seems to be image based. Is it already decided to stick with that? I already mentioned Substance on your blog as a possible basis for a custom implementation. What about that? Thanks.

Marco, we probably won’t stick with images. They’re just a way of getting up and running quickly.

I haven’t ever tried to do anything with Substance, but I don’t like any of its existing skins in the demo. So there’s a visceral thing going on here. Maybe it’s the strong borders on controls, but it looks a bit clunky to me.

Kathryn, regarding Substance, I don’t like its appearance either. Obviously the developer is not so much a designer than a programmer, plus he only uses Windows (no offense, Kirill, I really like your outstanding work!), but it’s a complete and technically sound, Graphics2D based implementation that might really save you a lot of work or at least give you inspiration. I don’t have a link at hand, but I remember some blog posts outlining insane care to get the painting details right.

Maybe you could even team up and bring Substance to a whole new level. I know, sounds less thrilling than a new project, but I believe the developer knows an awful lot about implementing Look&Feels and all things Java graphics, that this could really be beneficial to all parties interested ;)

[…] It that mocks Mac-kind look inspired by different colored stones. You can checkout the details here. Info Look And Feel This one is based on the Metal look and feel. This is the one that you will […]

Well, at the moment, we’re going with 6.0, because we’re extending Nimbus. I don’t think we’ll continue with Nimbus, though, because it has too many default scoped packages and it’s actually more difficult to extend than I think Jasper and Richard thought it would be.

Thanks, that’s what I feared. Substance requires Java 6.0 as well. Totally understandable for a FOSS project without any revenue, but it limits the usefulness in certain areas. I have customers who are still on 1.4…

Wow, looks awesome! Does it have to be LGPL though? Unfortunately many companies can’t use LGPL libraries due to the “reverse engineering” clause. If the license has not yet been finalized, it would be great if you considering dual licensing it under MPL as well. It’s basically the same as LGPL, but keeps the lawyers happier :)

How would you feel about the Apache 2.0 license? That tends to be my default license, but since Ken already had MacWidgets licensed under LGPL and I figured we’d use some of the code, and we are, I figured I’d stick with LGPL.

I should also add that most of those companies’ lawyers are not correct. LGPL’s reverse engineering clause generally isn’t an issue for a library such as a Look and Feel.

We’ll eventually have mechanisms to allow you to add it to your custom controls without reverse engineering it. It’ll either be a derived class, which need not be LGPL’d according to the LGPL or an API call.

Not even close. We have buttons, checkboxes, radio buttons, and scroll bars done. Ken says he’ll get spinner designs to me shortly.

I’m engaged in refactoring my original code, which was too closely based on Nimbus to be extended, especially if we want to support client properties, and we do.

I’ve made some good progress on the first step of three towards where we want to be. Once that’s done, my work will be simpler. Ken’s won’t, though.

Once the refactoring is done I won’t be embarrassed to show the code, and we’ll release our Laffy test, even if it still uses Nimbus controls for the stuff we haven’t yet done. Which is which will be obvious, because the colors and styles are different.

this looks very promising and I have the feeling that this L&F might come in very handy for my own project, which relies heavily on MacWidgets. Problem there is, that you end up having a great looking app on Mac but making it look equally nice on Windows become a very difficult task. I started using Nimbus for this and made good progress on it, but had to struggle with these things, which I hope your L&F will cover for me:

– A unified titlebar and toolbar
– Window decorations (Nimbus does not have them for JFrame and JDialog, only for internal frames and dialogs) … this of course overlaps with the first item on this list
– Segmented buttons (ideally using the same client properties that Apple is using)
– A search field (once again … like Apple)
– A table with optional alternating row colors that actually fills the viewport all the way to the bottom (I know Ken knows how to do that)
– A table header that fills the god-damn upper right corner
– A table header that knows how to render icons out of the box (come on Apple, come on Sun/Nimbus)
– Rounded window corners using transparency

This is it, my wishlist for Christmas …. speaking of timeframes …. :-)

One more thing: please make sure that the components can be laid out consistently. Meaning, don’t make the mistake Apple made where some text components have the blurry blue focus border and others don’t. Block aligning a textarea and a textfield on a Mac is almost impossible.

We’re working on non-Mac title panes. Because of the Mac programmatic resizing bug, we’ll use Mac title bars on a Mac. Otherwise the window shudders when you resize.

For everything else, we’ll look a bit like iTunes in that we’ll put the menu bar in the title pane.

Ken has designed some nice Chrome-ish iconify/maximize/close buttons.

I’m wondering if we want to use the close button a la Mac to indicate that the document has changed. On a Mac, the close button gets a dark dot in the middle which shows even when you mouse over instead of the “x”.

I had also thought of putting something in the title itself, but since applications frequently have structure in the title, that’s problematic.

I suppose (this just occurred to me) that we could put an indicator to the left of the iconify button…

So looks nice enough but what is the point of this new LAF. Every single Mac user I’ve come across has wanted Java apps to act as a native app and I try to keep quiet about my app being Java – so I hope work is still continuing on MacWidgets,

This new LAF isn’t going to help on Macs, and I’m not sure Windows users would want their application to look less Windows like.

Maybe , but your example is NOT a Java application. As soon as your average Mac user finds out an application is written in Java they are looking to find differences with the way it works to ‘Native’ Apps.

[…] had a whole lot of time recently, but I’ve updated the color palette (see the original colors back here) and drawn some new artwork for the Sea Glass look and feel. Kathryn has been plugging away on the […]

[…] Sea Glass This is relatively anew theme under development. This one is among the best I’ve seen around. It that mocks Mac-kind look inspired by different colored stones. You can checkout the details here. […]