Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Sheets in Java and the best looking Java App - Apple Did it!

Sheets in Java and the best looking Java App - Apple Did it!
Thread Tools
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Jan 10, 2004, 11:45 PM
 
I just hacked an install for the RAID Admin utility from Apple to make it run on my PowerBook, since I heard it was in Java, and the having seen a screen shot of it. I had to have a look.

For those interest in developing attractive Java applications on OSX have a look at this app.

1- The toolbar is really an OS X toolbar, it is not fully functional. It however it looks the part.

2- However the most impressive is the use of sheets, it is not a cocoa-java sheet as it is allot slower then a cocoa sheet. And the CPU usage shoots up high 40% of the CPU.

Any guess how it was done?

Is this sheet cross platform can any one conform for me?

I just bring it up because I thought it was interesting.

To hack the install file you need to Mount the .img and copy it to your Desktop and cd to RAIDAdmin 1.2/RAID_Admin.pkg/Contents/Resources and edit InstallationCheck by commenting out line 27 to line 31 of that file, and it will install.
     
Mac Enthusiast
Join Date: Apr 2001
Location: 127.0.0.1
Status: Offline
Reply With Quote
Jan 12, 2004, 12:18 AM
 
It is very interesting... but Apple's not the only one who's written a pure Java "Sheets" implementation. Check out this app called "TaskEdit":

http://www.versiontracker.com/dyn/moreinfo/macosx/21540

It's a pure Java app sporting sheets (although they are slower than native), Aqua-style toolbar, iTunes-style lists (blue-white-blue), Mail-style search bar. The author really went to great lengths to make it seem like a native app. Very slick programming.
     
Fresh-Faced Recruit
Join Date: Jul 2002
Location: San Jose, CA, USA
Status: Offline
Reply With Quote
Jan 12, 2004, 12:52 AM
 
Originally posted by depolitic:
Any guess how it was done?
If it's pure Java then most likely it was written on top of Swing or AWT as custom controls and just spending time laying out stuff like MacOS X.

Is this sheet cross platform can any one conform for me?
If it's written on top of Swing or AWT then theoretically anyone could use it on any platform. That's if Apple wants to invest time and effort exposing it, or you want to invest time trying to extrude stuff from their jar files. Though I personally doubt Apple is going to make it a public Java API.

However, there are subtle differences between how Swing and AWT components display on MacOS X as opposed to their native counterparts. If you play around in TaskEdit you'll notice minor differences in the toolbar, lits, find control, etc and their native MacOS X versions. Which has to do with how certain things get displayed in Swing and AWT. So you can only mimic MacOS X native so far in Swing or AWT.

Still, it's all interesting stuff. Cool find, and thanks for the TaskEdit link.
     
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Jan 12, 2004, 08:32 AM
 
mimicry is the greatest form of flattery, I think what these apps prove is that near native looking java applications are possible.

Not withstanding the subtle differences and the general get down on an app because the app is written in Java crowed.

Another application of interest in this subject is NewsMac -- Versatile RSS news reader with Palm & iPod sync

http://www.versiontracker.com/dyn/moreinfo/macosx/13793

I honestly think that a source-forge project should be founded were java classes that mimic the OS X user experience as much as possible should be set up for developers so to easily allow developers to develop native looking java application. Things like a toolbar, and sheets would be a great start.
     
Dedicated MacNNer
Join Date: Oct 2003
Status: Offline
Reply With Quote
Jan 12, 2004, 12:08 PM
 
I hope people don't get down on java apps too much. I wouldn't own an iBook if it wasn't for java. Java reduces the fear of buying a minority platform by giving the promise that software will always be available for it.
     
Mac Elite
Join Date: Sep 2000
Location: in front of the keyboard
Status: Offline
Reply With Quote
Jan 12, 2004, 02:12 PM
 
Originally posted by TampaDeveloper:
I hope people don't get down on java apps too much. I wouldn't own an iBook if it wasn't for java. Java reduces the fear of buying a minority platform by giving the promise that software will always be available for it.
Here here!

I am a Java programmer who went from Windows to Linux to ...thank God...OS X!
signatures are a waste of bandwidth
especially ones with political tripe in them.
     
Fresh-Faced Recruit
Join Date: Jul 2002
Location: San Jose, CA, USA
Status: Offline
Reply With Quote
Jan 12, 2004, 02:46 PM
 
Originally posted by depolitic:
mimicry is the greatest form of flattery, I think what these apps prove is that near native looking java applications are possible.

Not withstanding the subtle differences and the general get down on an app because the app is written in Java crowed.
I think what the TaskEdit developer did is interesting and impressive. However, the app simply feels off because it tries to look like a native MacOS X app but isn't fully there. It's like having your husband or wife replaced with an alien replicant. And if a Windows or Linux user ran it on their platform, it certainly would violate their UI guidelines and feel out of place.

If you're in Java and want to have a UI designed specifically for MacOS X users, go Cocoa Java. That's what I do. It's wonderful, and saves me hours of time from trying to mutate Swing or AWT into something that looks like MacOS X native. And gives MacOS X users what they deserve and expect, fully native UI and app integration.
     
Senior User
Join Date: Oct 2000
Location: Lawrence, KS
Status: Offline
Reply With Quote
Jan 12, 2004, 06:44 PM
 
Originally posted by TampaDeveloper:
I hope people don't get down on java apps too much. I wouldn't own an iBook if it wasn't for java. Java reduces the fear of buying a minority platform by giving the promise that software will always be available for it.
If they do it's not by choice... I'm also a Java developer (J2EE) and the server stuff is awesome; on the other hand the client side apps need a lot of help. If you been on the mac for a long time (spoiled) then you won't take to client Java that easily. I blame it on Sun but that's a topic that's been seriously beaten to death. Alas, this thing with sheets is encouraging, so there's hope.
iMac 17" G4 800MHZ & 768 SDRAM
     
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Jan 13, 2004, 04:40 AM
 
I think sheets are a steep in the right direction also, and as for the short comings of J2SE that is what we as developers have to overcome in cooperation with SUN.

I think these apps we seeing being developed in Java on Mac OS X show us that promise.

As for Java apps not being able to perfectly mimic a native LAF that I consider a minor quibble. These apps perform admirable, and as we as developers get better then we can see Java become more excepted as a native desktop solution.
     
Fresh-Faced Recruit
Join Date: Jul 2002
Location: San Jose, CA, USA
Status: Offline
Reply With Quote
Jan 13, 2004, 03:21 PM
 
Originally posted by depolitic:
As for Java apps not being able to perfectly mimic a native LAF that I consider a minor quibble. These apps perform admirable, and as we as developers get better then we can see Java become more excepted as a native desktop solution.
I don't think it's a minor quibble. TaskEdit does a nice job, but while using it there are certainly glaring things in its sheets, toolbars, lists, menus, etc which are not MacOS X. And that in my mind can be even more confusing to a user since you're leading them to believe it's native when it clearly is not.

Look, there is a native Java API for MacOS X. It's Cocoa Java. If you went through the effort to mimic it in Swing you still end up with a different set of APIs that a developer needs to learn and code against which is only applicable for MacOS X. In addition that API will not be developed or supported by Apple. And since it would only add MacOS X specific things, it's useless to Windows or Linux users. So by trying to replace Cocoa Java in pure Java you require and developers to do the same things as if they used Cocoa Java, but now must build the entire UI framework by hand as well.

The shortcomings of J2SE go well beyond having sheets and toolbars. And I don't think this is a step at all to solving it. Abstracting a UI to one particular model as J2SE does excludes OSes that do not have those features, or additional features not in the J2SE APIs. That is the major problem with J2SE in my mind. As it is with all cross platform UI frameworks. No single abstraction can give you tight integration with every platform. However, If you structure your code well -- your model should not depend upon the UI or controller -- you can get the tightest platform integration by going native.

In the end, what do you want? A MacOS X specific Java API for building MacOS X native applications with the tightest integration with MacOS X. Your problem is already solved and exists today: Cocoa Java.
     
Registered User
Join Date: Feb 2003
Status: Offline
Reply With Quote
Jan 19, 2004, 03:04 AM
 
For those who are ADC members have a look at the ADC TV -- "Deliver a Complete Mac OS X User Experience" movie.

The end section talks about cross platform development. Apple clearly states that developers should not adopt the lowest dominator in the application design. If they wish to meet user expectations on all Platforms developers must rise to the challenge. By developing panels, windows, menu, and applications to meet user expectations.

The other point to remember is that the Apple platform is about the only OS with a strong interface guidelines, have a look at windows or linux, its a miss match of themes concepts and gui design.

So really being a developer that loves the Mac and loves Java, then I will design for Mac OSX to my best ability by following the Aqua guidelines, and for the rest of the other OS users will get the pleasure of how a real application should run and work.
     
Mac Elite
Join Date: May 2001
Location: Up north
Status: Offline
Reply With Quote
Jan 21, 2004, 11:59 PM
 
And what sort of programs would you suggest for automating the creation of a nice Java interface? I am in a computer science class faced with the relatively daunting task of creating a pure java app that will be using lots of interface elements, so hand coding doesn't seem like a very attractive option especially when we have to worry about other things, like managing a database and such.
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 12:50 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2