Watson developer Dan Wood has posted an update on Sun’s Java version of his popular Mac OS X application. “I am sad to say that it looks like Sun doesn’t seem to be focusing on getting the port of Watson released any time soon,” writes Wood on his blog.Watson is one of the most innovative apps for Mac OS X. Sun bought the company a few months ago. Watson was given a few months of life with support, but that’s ending soon (Watson needs to be updated regularly because it leaches its info via websites, so when a site changes its HTML or layout, the Watson engine breaks and needs updating — that’s except the Amazon module, where Karelia has an agreement for Web Services with Amazon and so they receive XML files instead).
Too bad that Sun isn’t moving faster on this front. It looks like yet another company purchase where Sun had big plans, and then just got bored to realize them fully. At least they could open source the modules themselves (keep the core closed and maybe have the core updated by an ex-Karelia engineer in his free time IF needed), so OSX third party developers could update the modules every now and then as needed.
the whole sherlock/watson metaphor/way of doing things was bad from beginning.
This kind of app is not necessary and is currently utilised with safari/google. I hope Apple drops Sherlock from next Mac OS X.
I agree, I tried out watson and sherlock, but I just didn’t use it much. Ok, there is a lack of international content in both programs, but even so I just didn’t use it. Sherlock/Watson remind me of that hype a few years back about “content-push-model” instead of “content-pull-model”. Allot of hype, but not really usefull.
why doesn’t sherlock have package tracking?
that’s the only useful tool I found from Watson.
you’re talking about versiontracker right?
Seeing as it’s no longer going to be supported by the company, why not just open source it and allow some keen programmer to take over the reins? If it was a bad project no one would step up but if it’s a good project, someone is bound to volunteer.
I though they aquired watson to show the world how versitile a language Java can be. Not much room for error on this one Sun!
I though they aquired watson to show the world how versitile a language Java can be. Not much room for error on this one Sun!
Java/Swing is crap for end user applications (I should know, I am a Java programmer myself).
Limewire is the sole claim to fame, and compared to a native app its crap. At least it is portable crap.
Anyway, SUN could not do anything with a Java Watson that wasn’t going to be a) slow, b) horrible, c) bad from a UI/HCI perspective.
Every single Swing UI SUN ever churned out, from simple demo apps to their commercial offerings has been crap.
P.S Please don’t respond with “Swing is faster/not so broken / now”. Faster != Fast. With training even a snail can get faster than it was.
Have you tried Swing on OS X? That’s plenty fast.
Have you tried Swing on OS X? That’s plenty fast.
I must admit that I have not, since I am primarily a PC user (XP + Debian). But I have an iBook on order, so I will in a couple of weeks time.
However, there is a difference, IIRC. Swing on OS X is built directly on top of the Cocoa framework, i.e utilizes direct access to the platform widgets. This is not the case with the other implementations of Swing (Windows, Linux, etc), which use thin widgets created in Java using only points, etc from the underlying system.
That is also why Swing in Mac OS X also looks that much more integrated with the look of the platform that any other half-assed “platform look and feel” that Sun pulls.
In this regard, Swing/OS X is really like Eclipse’s SWT (i.e use underlying platform UI framework), the difference being that it conforms to the Swing API, whereas of course SWT does not.
It doesn’t look particularly horrible:
http://blogs.sun.com/roller/page/KitchenSink/20040625
In fact, it looks like the old native Waston. It would be doing it a terrible disservice to compare it to LimeWire (“we have x programmers working full time on this app”).
I still think a talented UI designer with enough time can make a good Java interface if they treat each platform seperately. JBuilder on Windows is a huge app but it looks and acts like it’s native.
Yeah, I’ve seen that screenie too.
But keep in mind the screen is from the Mac OS X version of the App. Keep in mind what I’ve said in my second posting (“Swing on OS X is built directly on top of the Cocoa framework, i.e utilizes direct access to the platform widgets”).
So looking OK in Mac OS X is easy! It’s like the UI of a netive App. In fact, it IS a native GUI.
It’s a totally different issue on other platforms! It’s the pathetic thin widgets of Swing in Linux/Windows that are fugly. Also, if a Swing app in Windows uses some clever L&F and manages to look barely smart, the “feel” part always eludes.
There are many many differences from actual Windows (or GTK on Linux) feel to make it feel awful. The Swing File Selector is a simple example. A horrible piece of UI nightmare compared to the Windows one that it “supposedly” mimics in the Swing XP L&F.
There is even an open source project devoted to correct SUN Java’s XP look and feel so that it behaves more like *actual* Windows XP. Small chance.
Obviously you have been stuck on the server side of Java for too long. Netbeans 4.0 looks great and runs great and is the best free java IDE around. Intellij looks great and runs great and is simply the best java IDE period (except for UI development).
Most people that complain about how ‘slow’ Swing is just don’t understand how to use it correctly. Obviously Sun screwed up with the 1.4.x implementation of the XP look and feel, but they have fixed the most egregious errors in 5.0. Either way there are plenty of visually pleasing Look and Feels that can be used, some are even free.
I don’t know what Swing experience you have, but creating good UI in Netbeans (or JBuilder) where there is an actual GUI layout tool makes all the difference in the world. While there are the hard core hand coders out there (and I respect their patience), doing UI in a RAD environment simplifies Swing development to the point where someone coming from VB could do it. That and using tools like Foxtrot and SwingWorker makes Swing rich client creation a snap.
Swing is the only way to go when you want customized components that have cool visual effects. It is just that flexible, which can make it just that difficult to get right without the right knowledge and tools. Swing has come a long way since it first came out.
Unfortunatly Swing is slow and a resource hog. e.g. I am using NetBeans 3.6/4 on 3 x86 pc a dual PIII 800 and a PIII 800-both w2k and a P M 1300 NetBSD/Linux emulation and it is slow. Dot. When I wrote a swing based statistics tool I learned that it was slow there too. Why has MacOS a swing which is bound to the os gui and w2k not. argh. I need to get a G5 with MacOS X on top I guess
Maybe u just sit on faster computers these days. What is not a bad thing. But a gui should not be that slow on those older boxes I thing.
Obviously you have been stuck on the server side of Java for too long.
This is correct. So does the rest of the world, though. Java never caugh on the desktop, and my guestimation is that it will never catch.
Netbeans 4.0 looks great and runs great and is the best free java IDE around. Intellij looks great and runs great and is simply the best java IDE period (except for UI development).
Netbeans has been utterly crap for so long I can not even remember. Netbeans 4 is better (still in beta IIRC). IDEA is cool from a functionality perspective.
However, both are big and ugly from the “feel” perspective. They are also slow and memory hogs. This holds true even for Eclipse (which I use and like). It uses to freeze from time to time as Java does its GC routine (even with the best GC scheme selected). In any way they are nowhere near native apps.
Most people that complain about how ‘slow’ Swing is just don’t understand how to use it correctly. Obviously Sun screwed up with the 1.4.x implementation of the XP look and feel, but they have fixed the most egregious errors in 5.0. Either way there are plenty of visually pleasing Look and Feels that can be used, some are even free.
The “correctly” bit is probably true. But a framework should be accesible! It’s not rocket science. You don’t have to learn something special than generic UI code design guidelines to write MFC, Cocoa, GTK, QT etc apps that are fast and responsive. I know, cause I have (in QT and GTK+ that is. Hope to do some Cocoa when my iBook arrives). Why should you have to “learn to use Swing properly” in order to use it effectively?
All over the internet, you will never hear that “QT is slow for GUI work, or MFC is slow for GUIs”, or whatever. For the same reason nowhere will you find proponents of said frameworks arguing that you have to learn them “properly” to make fast applications. Knowing how to program fast applications (i.e choose best algorithms, avoid duplication etc) suffices. So why is Swing different?
(Only GTK has a speed issue. But this is because the underlying library needs some fixing and optimized. It is not because people don’t “use it properly” and nobody proposes that).
Go to the Swing Connections website (at SUN) and check the “Web Start” demoes where available. While Swing can be made to look nice with custom L&F, as these apps showcase, the feel always is different enought than the platform’s one to be irritating. And speed is not good. Better than it used to be, but native apps are better that they used to be to. CPU speed increases make sure for that.
Swing is the only way to go when you want customized components that have cool visual effects.
This is true. It is also sad, wrt: Java, isn’t it?
The funny thing about the whole Swing ‘slow’ problem is that C# and MS decided on an almost identical mechanism for their Windows.Forms. In Swing the big issue is doing anything on the event thread other than updating fields and what not. In C# you have to make an explicit call to tell the event thread to process some of its events if you are executing a sizeable amount of code.
Since Swing and not Windows.Forms are using the same threading model (as I understand it) it should be interesting to see how well C# apps perform.
As to the ‘feel’ of Swing apps I would agree that they don’t have the exact same ‘feel’, drag and drop being an obvious example. But I also know that the Swing team and Java2D team (maybe the same team not sure) are aware of Swings faults and listen to feedback. They are working hard to improve Swing and I feel that Java will have a place on the rich client side (cause a rich client is so much better than a html client, except for deployment).
Memory and speed get cheeper and cheeper, maybe that is why MS is going down the same path.
Actually, I find Swing to be absolutely ATROCIOUS on OS X. The interface uses Aqua widgets, but doesn’t obey the Aqua HIG, which makes it look even worse than just having a foreign interface. At least with a foreign interface people don’t expect it to obey the Aqua HIG.
Additionally, it’s not significantly fast. Cocoa controls may be native, but they’re also much more complicated/computationally intensive than the cross-platform UI, so there’s really very little gain involved.
Basically, in every Java UI program I use, I always switch it to the cross-platform UI instead of the OS X one. It’s slightly faster, and the HIG non-conformance is less eye-gauging.
I can count on one had how many times I’ve used Watson in the past 4.5 years. Will spotlight do a better job? I’m not that familier with Tiger.
Swing on OS X is built directly on top of the Cocoa framework, i.e utilizes direct access to the platform widgets.
This is absolutely 100% completely wrong.
Mac OS X does provide a thin Java API for accessing cocoa, but it is completely separate from Swing. Mac OS X provides two Java GUI apis, Swing and their Java/Cocoa wrappers.
Their Swing impl is good because they spent a lot of time on it and did things right. Sun was always hoping that other companies would do Swing like apple has done. Sun doesn’t have access to MS gui APIs like Apple does for os x.
Windows.Forms is incredibly snappy, but its no suprise, since its just a wrapper for the Windows API; the only native features Swing knows how to do is create a new window and get a handle to the painting mechanism. It does everything else by itself. Can you hear the wheels re-inventing themselves?!
“They are working hard to improve Swing and I feel that Java will have a place on the rich client side (cause a rich client is so much better than a html client, except for deployment).”
Oh, snap – excuse me, but I have to call bullshit on that, man.
How long has Metal been the default look and feel for Java Swing applications? Foreign and ugly. What the hell?
Any ObjC/Cocoa developer worth his salt should remember what SUN did with the LightHouse apps from the NeXT platform. This is par for the course with them.
An anonymous source at Sun tells me they are going to be open sourcing the project. I have no timetable though.
I don’t care what kind of theming that Swing has, until they get some AA fonts then its always going to look like dog crap. I think IDEA is a great IDE, but even the fake AA fonts look like something out of an Amiga screenshot circa ’88.
Yep, yep…not doing something like SWT is probably Sun’s biggest blunder with Java..there’s others. Heck, even Portable.NET’s Windows.Forms fonts on linux look better than Swing fonts.
Oh well, Sun had a chance as java being something decent on the desktop and blew it.
…I love Watson and use it regularly (or did until it recently broke because it is no longer being updated) for package tracking, television scheduling for EyeTV, sports scores and other things. I think it is one of the most useful applications available for OS X. :/ But one person commented “I can count how many times I’ve used Watson over the last 4.5 years”… why did you buy it?!!
It’s a shame it is going away… Large software companies suck when the buy good products then ditch them or ruin them.
Spotlight is meant to be a localized primarily, I should think, since it relies on metadata in the file system? Or is it meant to also reach out into the internet?
Mike
I didn’t comment on how snappy Windows.Forms are, my comment was that if you decide to do anything in Windows.Forms on the event thread, you know the thread that paints, then you have to call special code to let the event handler have control back for a little while to do its thing. Sorry, but both Java and Windows.Forms appear to have the same threading model – 1 thread for all the UI – and if anyone screws with or takes over that thread the performance of both UI systems sucks.
As far as metal is concerned, it does get an update in 5.0, although it is just some gradients and new colors. The Swing team didn’t want to break any current software by overhauling metal, so they just made it look a little better. Personally I think this was the wrong decision and that they should have started from scratch.
And despite what you might think the Swing/Java2D team is doing great things.
Since you are familiar with Windows.Forms I have to ask why in the world MS didn’t implement something on the level of a Swing JTable, and yes I know about the DataGrid, but its interface is cumbersome and not at all intuitive. This might be a reason I never hear anything too amazing about Windows.Forms. Oh well maybe MS will get it right next time.
It appears that Sun may be considering open sourcing Alameda. At least then we could access it and keep working on it! Maybe if a number of us email them it will be released as open source. [email protected]
“And despite what you might think the Swing/Java2D team is doing great things.”
Swing looks like ass, Swing runs like ass. A little bit faster is not necessarily fast, and just because its better than it was doesn’t make it better than the competition.
“Since you are familiar with Windows.Forms I have to ask why in the world MS didn’t implement something on the level of a Swing JTable, and yes I know about the DataGrid, but its interface is cumbersome and not at all intuitive.”
Dunno why you compared a container object to an object whose main purpose was meant for programmatic displaying of database resourcing. Windows.Forms offers a panel object, too, you know; its called panel. Its a container!
“…and if anyone screws with or takes over that thread the performance of both UI systems sucks.”
AKA, bad programming? Oooooh suggah suggah, snap, boi! Did you just blame the language for mistakes a programmar makes!
MVC patterns all the WAI-EI!
Brother, brother, even if it were truly so-O! it would be little less than a crime against humanity if I were able to get better performance out of a Windows.Forms application that did all its logic in an event delegate than a Swing application that I did the same in! A tragedy the like s of which few have ever seen, bai-bee!
I gotta tell you cats and kittens, man, some stuff is just poorly designed; don’t give people pats on the head when they do what they’re supposed to, cuz they’re supposed to! Give’em the kudos when they rock out, man, when they deliever UNTO YOU THE MOST DESTRUCTIVE PROGRAMMING FORCE EVER INTO THE CRADLE OF MANKIND, not some crazy fo’ shizzy “lawl, Swing performance is almost as good as every other toolkit that draws its own widgets111, that’s wun wun wun, can you hear me?”
I want to say thanks to the developer of this app.
We apreciate it.