Mac Widgets for Java – source available

September 10, 2008

The source code for Mac Widgets for Java is now available here. Also, check out this article that builder au (an Australian developer site) just did on the release of the project. Below are my full responses to their questions, which don’t appear in the article.

1. Why did you start the project? I started Mac Widgets for Java because I wanted to see higher fidelity, higher quality Java applications on the Mac. It can be quite time consuming to recreate what Apple offers via Interface Builder. What really made me cringe, though, was seeing poorly designed Mac style components that didn’t quite match what OS X offers – user’s pick up on the tiniest details like incorrect font sizes or minor differences in color and gradient. I wanted to help the reputation of Java user interfaces on the Mac while giving Mac Java developers a set of straight forward, easy to use widgets that their end users would see as native OS X components.

2. How hard was it once you had the idea to create this? Mac Widgets for Java was born out of a demo application for my June 2008 talk at Java One (slides available here, and audio here ). I wanted a really slick, “Mac looking” demo application – I ended up writing what would be the beginning of Mac Widgets for Java. The most difficult component to write (thus far) has been the Source List, which I explored on my blog over the couple of months it took to develop. It’s the subtle details, like the feint drop shadow under a Source List categories label text, that consume the majority of development time.

3. Where do you see the project going? Right now, the only officially supported component is the Source List, but in the coming weeks, I plan to add full support for the following (note that the components below are actually in the current code base, but aren’t fully documented yet):

  • Unified toolbar (see the Window Elements section in the Apple Human Interface guidelines for details)
  • Bottom bar (see the Window Elements section in the Apple Human Interface guidelines for details)
  • Preference tab bar

4. Are you looking for external contributions to help you? I’m not actively looking for external contributors right now, but I’d certainly be willing to consider it. I’m really focused on the quality and simplicity of the API and underlying code as well as the visual integrity of components, so I may be somewhat ruthless when accepting contributors!

5. Additional comments? The API was developed with a component based architecture in mind. Thus my focus was on providing small independent units. I wanted to avoid huge inheritance hierarchies that are all to prevalent in Swing, in an effort to keep the API surface area as small as possible. Using the library may feel awkward for some developers that are used to extension, but I think most will come to find the API refreshingly simple.


4 Responses to “Mac Widgets for Java – source available”

  1. jaydfwtx Says:

    Thanks for sharing all the interesting work you’ve been doing in this area!

  2. […] Orr provides some background behind the Mac Widgets for Java project, also announcing the availability of the source code and […]

  3. Christian Says:

    Hi Ken,

    sorry for my misplaced other post. I found your comment about the design decision here ;)

    I seem to have to live with it.

    With kind Regards,


  4. Ken Says:

    No problem. See my response to your comment here.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: