The Source for Java Technology Collaboration
User: Password:



Philip Brittan

Philip Brittan's Blog

The Rich Client Strikes Back

Posted by pbrittan on January 15, 2004 at 11:49 AM | Comments (16)

Microsoft is redefining the application interface around rich clients, and if Java does not have an answer, it faces being cut off from end users. The answer lies in matching Microsoft's richness while trumping it on security.

FYI, I just published an article in Java Developers Journal: The Rich Client Strikes Back.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Mmm... Why post articles to JDJ? Their website is atrocious and wholly unreadable. And you've got a perfectly good blog right here ;)

    Posted by: ocean on January 15, 2004 at 01:20 PM

  • Mmm... People have to make a living and AFAIK JDJ still pays its authors for contributions.

    Posted by: jwenting on January 16, 2004 at 05:31 AM

  • What IS the problem w/Swing? In your article, you dismiss Swing as unworkable (if I read you correctly), but I'd like to know what the problem really is w/Swing? Is it performance? Swing just isn't as snappy as a native Win32 client (or SWT, which is largely native)? Or is it firewall issues and getting customer sysadmins to open up RMI or any other port besides 80? ..... If performance, it seems to me that a Swing app is substantially more "performant" then a web app. If firewall, how does Microsoft handle that issue? Either they transmit RPC calls to port 80, meaning the receiving server has to differentiate somehow between HTTP and RPC-type requests (using XML-RPC?) or the MS client transmits RPC-type requests to a different host, allowing differentiation by host address. That would be a security violation for an applet, with good reason. I'm not sure security should be Java's main selling point (although it's a good point now, and maybe for the forseeable future, so long as MS values convenience/functionality over correctness/good design). I think it's more of a political decision for customers: should we hitch our wagon to MS's star, once and forevermore, or should we try to stay independent at the cost of a little more effort? I think Java can make the political decision easier by maintaining rough parity w/MS in terms of UI performance and API feature sets. MS will always have the edge in terms of turnkey solutions. (Meta: You know what? This is a JAVA site. Would it be so bad to provide a decent text-editing Java applet for composing posts? [What is that? "composting"?] I can't think of a more hospitable audience.)

    Posted by: johnl4 on January 16, 2004 at 06:03 AM

  • Non-Swing based Java Web Start??? Are you basically proposing Java Web Start without Swing? Your article declares that Swing has been generally discredited with end-users, and I sadly have to agree due to my personal experiences, although I think the immaturity of the applications might be more at fault then Swing itself. That said, I don't think most end-users have a clue what GUI toolkit was used by the developer, they just know whether or not the UI "feels good". Should we squander resources on developing new GUI toolkits (sort of like the Linux crowd wasting time on KDE and Gnome rather then perfecting one or the other), or should we learn how to use the existing GUI tookit (Swing) properly?

    Posted by: johnreynolds on January 16, 2004 at 07:21 AM

  • Rich Client - Why Not Try Laszlo - http://www.laszlosystems.com/ They have a nice XML based setup that works with your app server i.e. Tomcat, Resin, WebLogic, etc... Macromedia is playing catchup w Flex It would be *nice* is I could do Swing GUI this way..

    Posted by: dkingradford on January 16, 2004 at 07:50 AM

  • Swing isn't that slow I agree with your points on security and it's a pretty easy sell these days. But I disagree that swing is so slow that it's useless and I question if it really even matters for business applications. Does anyone remember Visual Basic? Until version 5 applications weren't even compiled and the forms system was very slow. Yet because of the productivity gains you could achieve with the tool, it became the standard for creating business applications until 3tier, the web and Java came along and killed client server apps. I think that productivity not speed will drive desktop applications as it once did. Speed is a plus but not a must.! Personally I feel swing is fast enough to produce commercial desktop applications as well as custom business solutions. We just completed 2 thick client applications where we used swing on the front end. The endusers can't tell the difference between our application and a native app. Rob Abbe

    Posted by: rabbe on January 16, 2004 at 08:08 AM

  • Ease of Experience matters most The three major issues Java must overcome to have a shot at the rich client market are: 1 -- Ease of deployment -- Java WebStart must be MORE reliable and EASIER to deploy than what Microsoft will roll out. 2 -- Easy to have best practices implemented -- Biggest problem with SWIING is that it fails considerably on the old Perl metric -- make the hard things easy and the impossible things hard. It actually makes easy things very hard and much of anything else darn near impossible. 3 -- On the client side, need to have an easier way to interact with Native objects. Perhaps the best thing that SWT has is really two things and neither has to do with it's look & feel. Instead it's the ease at which you can interoperate with OLE on Windows and now the new browser component (uses IE on Windows, Mozilla on all other platforms). We can pretend that MS doesn't exist but in the corporate, in-house market where most of the rich client market probably really exists -- they have lots and lots of Office generated content. And C#/.NET makes it stupid easy to interoperate with these apps, it's probably possible in Java - -but at double the work for half the functionality. I've been doing Java since 1995 and I wouldn't give it up for server side development, but for 'rich client', I'm feeling more and more the siren song of .NET.

    Posted by: mwilcox on January 16, 2004 at 09:47 AM

  • A pretty UI I just had a discussion with someone else on this. It doesn't matter a hoot if SWING "is fast enough". The problem is that most of the UI designs out there are just darn atrocious. And I mean ATROCIOUS.

    Posted by: robertx on January 16, 2004 at 09:56 AM

  • A pretty UI Maybe take a look at : http://columba.sourceforge.net/

    Posted by: keeskuip on January 16, 2004 at 10:40 AM

  • Rich Client - Why Not Try try http://www.thinlet.com or look up the Swixml project right here at java.net. Both are very light-wieght alternative to Swing, ifr that's what you want.

    Posted by: johnnycannuk on January 16, 2004 at 11:24 AM

  • Swing Delivers! I don't understand all this negative hype. It must be based on the author's desire to sell his droplets product. Ok, if you don't have a modern computer it may not work so well. If your system is less than 3 years old, Swing works great! Cross platform deployment is very important. Do you want your bank teller using Windows? I don't, go virus yourself. Certainly some people need the extra features of Windows apps. Many people (in business) do not. I feel sorry for those .Net people. Ask them, "what oses does your app run on", they answer "Windows", ask me and I say, " every modern OS, including Windows, JDS, MAC and many other flavors of linux/unix. You can maintain a serious competitive cost advantage while offering a modern consistent OO based UI experience for the users. Swing delivers TODAY! I’ve done the Visual Studio thing and created apps used by thousands of people with it. I must admit that Swing was very intimidating at first. Today, I hope to never create another piece of software that only runs on the most unstable OS known to mankind.

    Posted by: geberhart on January 20, 2004 at 01:48 PM

  • surprised Although I agree with the assessment that MS is trying to use .Net to first get a stronger hold on the desktop and then go after the server market, I'm suprised the article does not mention any of Java's advantages in the area. Java Webstart is a couple of years old and works nicely. The fact not many people have made use of this is an issue but it seems it is gaining ground as of late. The company I work for is rolling out its first Webstart application and I see more and more Webstart products and product demos on the web every day. I have not personally worked with .Net but from what I've read and seen in demo's MS has worked hard on the security aspects so I would not think of this as a major weakness. If Java is currently stronger in this area I believe MS will work hard on correcting this. I would rather think (as another response mentions) that its biggest weakness is the fact that it is tied to the MS operating system. Whether MS likes this or not the alternatives for the desktop are getting better and with this being the case there is no telling what desktop systems people will be running 5 years from now. MS will no doubt retain a good percentage but I would not be surprised if Linux will see significant gains here. Using Java is a simple way to protect your investment in development of desktop software. It's easy to deploy using Webstart and will run well on several platforms. With the promising development of 'Creator' (Rave) and the strides that Eclipse is making in this area the argument of reduced productivity with Java will also diminish if not completely disappear. My 2 cents, Joris Melchior

    Posted by: jmelchio on January 26, 2004 at 10:54 AM

  • Open source has the solution (as allways) I think the solution to this woul be something like http://www.xwt.org/ They provide rich client features on a thin client setup, true cross-plataform; yet they provide native performance and look-and-feel. I just wished the JCP paid more attention to open source viable projects instead of reinventing the weel (like the log API x log4j, JSTL x Struts, ...) If good open source produts got sancionted by the JCP and were delivered as standard components with Java2SD/EE distributions, Microsoft would not have gained its "easy of development / easy of installation" advantage

    Posted by: flozano on January 27, 2004 at 06:19 AM

  • I want Flash with Java I think Swing is a huge win over MFC and other C++ toolkits. It is a lot easier to do things in Swing than MFC. (I know the QT kids are banging to get in here, and I think QT does a better job at providing good defaults where Swing is really bad), but Swing is still easier. But, when you compare how easy it is to do things in Swing vs. VB or Flash then Swing looks archiac. In fact while Swing was being developed I think the world moved past these types of toolkits and found better alternatives. HTML, Flash, etc. What I really want as a developer is meshing Java with something like Flash. The really slick UIs are Flash based, but it's ActionScript is just a poormans Java/Javascript. And Macromedia's toolkit for J2EE integration is not viaable from a price point. Flex is $12,000 per processor. I've used SVG toolkits like Batik and it's just too slow. The speed is not there. Plus I don't want to use Javascript as my behavior. I want the richness of Java. XAML looks promising and I assume what JNDC Sun's answer to that, but it still uses Swing as it's underpinnings. That means when you get down in the guts of it, it's still going to be just as hard as Swing. The big differentiator between Swing and Flash is how easy it is to animation in Flash. In Swing it is very hard to do that. So much of Swing is written against 1.1 Java. I mean look how many places they use Vector. Why can't I take List and hook it to a JList in one line of code?? Vector please! I never use Vector anymore. What Java needs is a vector based UI that uses XML for it's layout. Using markup languages for layout makes it easier to read and parse. (The later being very important for building visual designers another reason Swing suffers from poor layout). Base it on OpenGL for performance, and write it in Java.

    Posted by: charliehubbard on June 08, 2004 at 11:03 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds