views:

151

answers:

2

My friend and I are planning to build a simple chat client to let people in a (physical, real world) room chat with each other (people chatting over the same wifi network, possibly pinging some external server to organize things by the external IP address of the wifi network). Partly we planned this as a chance to play around with Groovy, which we haven't done much with. But then I thought - damn, how many people have the Java 1.5 runtime? Maybe this is kind of thing where Flash would be better (when I say "Flash" I mean "Flex")? I hate ActionScript and I have very little experience with it, and I've no real interest in using it, but I'm thinking, if we want 9 out of 10 of our friends to be able to use our software, Java is possibly not the way to go?

My concern is in particular with the demographic we have in mind, which will tend to be freelancers and artists and individuals, rather than people at work. I'm aware that Java still has a decent overall market share, but I'm under the impression that its use is heavily concentrated in the computers that people use at work. Folks who don't work at corporations may not have a modern runtime?

I then decided to look up Java market share. It is surprisingly hard to track down info about specific JREs.

There was this on stackOverflow, but its focus is on RIAs, which isn't what I'm talking about:

h ttp://stackoverflow.com/questions/400340/whats-all-this-business-about-flash-flex-adobe-air-java-fx-and-silverlight

And then conversations like this make it sound like Flash is the only reasonable choice to make if you want people to be able to use your software without jumping through a lot of hoops:

h ttp://forums.java.net/jive/thread.jspa?messageID=317749&tstart=0

This seemed like a reasonable summary of Java versus Flash issues:

h ttp://stackoverflow.com/questions/292361/client-java-vs-adobe-flash-for-web-applications-what-to-choose-and-when

I found it surprisingly hard to track down actual market share data on particular JREs. And I found no easy way to find out if folks who with modern JREs installed are mostly using their computers at work.

So I'm open to hearing some anecdotal information here. If we built our simple chat client in Groovy/Swing, would our target demographic be able to use it? Is Flash the only reliable way to go here?

A: 

If portability is your goal, why not go for a JS only approach, perhaps using one of the COMET styles of push? Here's an article to learn more:

http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications

spender
I've built an Ajax/PHP/MySql chat application in the past, but it feels just a little clumsy and slow. I suppose I could try to streamline it, though I was assuming things would feel more responsive if used something faster than Ajax/PHP.
cerhovice
A: 

If a JS RIA isn't what your after. Then Flash/Flex are your next best bet. I'm usually biased towards Java as a technology, but based on your target app and audience I think you'll get more joy using a Flash-based technology.

Adobe understand RIAs better than Sun, which was kinda demonstrated by some high profile Java 2D devs moving to Adobe in 2008/09. Plus with recent Flash Player developments you'll get your app onto more mobile devices.

Obviously server-side in Java ;-)

alexr