Can the Plug-in compete?
Why hasn't Java become the dominant technology in RIA development?
I have been developing software for over 25 years now with the majority of my experience in C++ development and object-oriented analysis and design. Wanting to move into the web market, I started doing RIA development a few years ago. I was horrified by the development options available to me and the seemingly infinite amount of hoops I had to jump through to get even the simplest application functionality implemented and working correctly. I had been using Java to do backend work and had really come to like it. To me, the ideal situation would be to use Java to do the client-side work as well as the server-side work. Not only would I be using a real OO programming language, I'd also be using a single technology across the board. The problem was that there really was no nice client-side Java solution available. Swing was just too cumbersome and inflexible and other products had similar drawbacks. What I really wanted was a client-side solution that was as easy to use and just as flexible as HTML/CSS for building a UI, but provided the dynamic and robust programming features of Java. So I quit my full-time job about 18 months ago and started designing a Java-based RIA product called the Galileo RIA Framework.
I recently released Galileo as a Beta and while many developers who have looked at the product have admitted that it is an impressive product and that they'd like it to gain much success, they are reluctant to use it because it depends on the Java Plug-in. This has been a major disappointment to say the least. I knew that applets had developed a stigma over the years, but I didn't realize how pronounced the distaste for the plug-in had become. The negativity and skepticism within the Java community itself is so overwhelming that any hope for wide acceptance of the plug-in seems impossible. The funny thing is that all the developers I have talked with would like the plug-in to become widely accepted, but in order for it to become widely accepted, it would have to be used, however, most website developers are hesitant to use it, because, well, it's not widely accepted.
I want to change this. Not only because the success of my product depends on it, but because I would like more job opportunities to be available to me as a Java programmer as the RIA market continues to grow.
Why did the Java Plug-in fail in the first place?
My guess is that there were several major reasons for the failure of the Java Plug-in. One, applets and the plug-in were introduced at a time when most users were limited to dial-up access to the internet. Downloading the plug-in and the applets that used it took too long for a normal user's patience. Two, a Swing UI compared to an HTML website designed by a graphics artist looked terrible. Three, platform and browser compatibility may have been an issue also, but not being involved in Java development back then, I don't know if that was an issue or not. Four, it has been said that installation of the Plug-in was not straightforward and could have been difficult for non-developers. Five, the web was still pretty new itself. The concept of the RIA didn't exist; therefore, there wasn't any pressure for websites to be anymore than straight HTML. Adding technology that complicated implementation, limited potential visitors, and looked bad, just didn't make any sense.
Can the Java Plug-in compete now?
I was discussing this issue with Marty Hall of www.coreservlets.com this week and here's what he had to say:
I really hope your framework catches on. It would be a good thing. You could build apps that were so much better if you had a real programming language and a single underlying technology.
The more compelling apps out there that get people to install Java in their browsers the better. And the more powerful but simplified GUI frameworks like yours, the better.
I believe a window of opportunity has opened to give the Java Plug-in a rare second chance. It appears that Sun believes this too, since they have taken the initiative to redesign the plug-in and to create JavaFx. However, with no disrespect to Sun, if Java developers expect the plug-in to succeed due to Sun's efforts alone, I think they are sadly mistaken. In order for the plug-in to succeed, a concerted effort by the Java community will be necessary. For this reason I have created JavaRiaDev.org. The main initiative of this effort will be to pool developer resources to create RIAs that utilize the Java plug-in and appeal to a broad audience by coming up with new ideas for websites, copying successful website ideas and making them better, and/or trying to forge strategic partnerships with existing websites that already have a substantial user base who are looking to upgrade to RIA technology. The second initiative will be to provide the appropriate resources to help other developers interested in Java RIA development. I, of course, will be pushing Galileo, but will welcome the use of any product that promotes the use of the Java plug-in.
There will no doubt be skeptics in the Java community who say this is a fool's errand. But for those like me who are not content sitting on the sidelines waiting for others to decide their fate, I say join me and help me in my effort to make Java, if not the dominating, at least a viable option for RIA development. Personally I'd like to have an impact that creates the general opinion that any machine connected to the internet that isn't equipped with the Java plug-in is an inconvenience to the user. If a machine has a modern browser there's no reason for it not to have the plug-in.
If you are interested in becoming a part of this effort, please email me.