| By Yakov Fain | Article Rating: |
|
| February 18, 2008 07:00 PM EST | Reads: |
10,385 |
S. The back end is completely Java but our viewers were requesting more and more features that were very hard to accomplish using Ajax.
For example a full screen experience of the presentation, or off line viewing, changing the presentation templates (video only, slide/video, etc.), proper back button support, bookmarking of slides within a talk and much more. In June 2007 I evaluated my RIA options and I made the following short list : continue with Ajax, JavaFX (in June 2007 this was not yet a production ready option), Silverlight (no thanks ;) which made me decide to look at Flex 3 and AIR.
Y. I can understand why not AJAX. I also know the technical reasons why even .Net developers prefer using Flex to Silverlight. But why just “No thanks”? Have you even consider Silverlight? Indeed, Silverlight was NOT a consideration because of religious reasons ;)
S. We’ll release a full functional JavaFX version of Parleys.com @ JavaOne, which really looks very promising!
Y. I'd love to see a real world application written in JavaFX! The Flex interface looks great. But can you briefly describe the architecture of the application? What communication protocols are being used to connect to the back end?
S. Both the AJAX and Flex/AIR version of Parleys.com use the same WebWork actions on the server and return JSON as the data format over (of course) HTTP. The Flex application uses an MVC framework named Cairngorm and a small library to parse the JSON data. The interface had to feel natural and intuitive and after several iterations my partner in crime Ben Dobler, came with a very nice result.
Y. Why did you use Cairngorm? In my opinion it introduces unnecessary complexity to the projects, especially to the relatively small applications like Parleys.com.
S. The main reason to use Cairngorm was to introduce an MVC design within the Flex application. An alternative was PureMVC but at the time of the development this framework was unknown to us.
Y. I do not agree that just introducing MVC to an application is a good reason for introducing an overly complicated framework, but I guess it’s a matter of preferences. What features the AIR version of Parleys has that Flex one does not?
S. The AIR version of Parleys allows us to break out of the browser, however if the Flex version is running in your browser it will allow you to start the AIR application and even trigger downloads of presentations through the Flex application, very cool feature :)
Y. Have you hit some roadblocks while developing this Flex/AIR application? Having extensive Java background, you can compare the tooling, ease of programming, available component libraries, community support... This is a loaded question, but I'm not really interested in getting the answer like "Flex is cool". I know this much :). I'd rather wanted you to identify some problems there, and what would you like to improve in Flex.
The actual Flex/AIR development was done by Ben who had been doing Flash development for over 6 a 7 years. However I did follow the Flex development from nearby and noticed that Flex/AIR does have some short comings when it comes to testing. Functional testing is still a very young story for this kind of environment and not that easy to accomplish. The first products are appearing in Q1 but they are all early versions.
Another Flex opportunity is the (AST based) static analysis tools we so love in the Java world, like Findbugs, PMD, Checkstyle etc. For the moment this does not exist and as a result a decent continuous QA control is not really possible...
I think the biggest issue I have today with Flex is the hard time Google has to index your content, for the moment the only decent way to do this is to have a static HTML version next to your existing Flex application... hopefully Adobe and Google will figure this one out ASAP !
Online Flex and AIR documentation is super and the forums and support we got from Adobe has been highly appreciated.
Y. I’d say that continuous QA control is not possible for free. Mercury offers the QA software for Flex, but it’s gonna cost you…
S. Indeed, there are 3 functional testing solutions out there, one is from Mercury another from Borland and an early Ruby implementation called FunFX.
Y. Parleys was created for making videos of conference presentations available online. But I can see it as a useful tool for educators too. In particular, I'm planning to record a series of video lessons on Flex programming for Java programmers. Parleys looks like a great tool for this purpose. Are you planning to license Parley software and make it available for purchase?
S. For the moment I'm rewriting the server so it can support our publication client (in early alpha). This publication client will allow people to assemble their talks and once finished, submit it on to our server in a very user friendly way. Anybody that has great content and audio (and maybe even video) can just publish his/her talk on our dedicated servers... should be ready in a few months for testing :) So looking at the future business model for Parleys.com, I would prefer to offer this software as a service instead of a licensed product.
Y. Offering this software as a service would require you to build an infrastructure that would guarantee that you subscribers will have enough of a bandwidth and an ability to stream video. I'm sure you had to deal with such issues as connection bandwidth. How do you host and push these videos to the clients? Are you using commercial media servers or an open source Red5? For the moment version one is using a progressive HTTP streaming server and the Flex/AIR version is using Red5. Have you done some stress tests to see how many concurrent users can watch the presentations on Parleys?
S. No, but the current beta test phase has not killed the red5 server for a single second!
Y. Thank you, Stephan! I think your experience of re-creating the same application using different competing technologies is very valuable, and hope that one day you'll share your findings in a more technical article. Looking forward to watching new great presentations at Parleys!
Published February 18, 2008 Reads 10,385
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Yakov Fain
Yakov Fain is a Managing Director of Farata Systems, consulting, training and product company. He has authored several Java books, dozens of technical articles. SYS-CON Books released his latest co-authored book , Rich Internet Applications with Adobe Flex and Java: Secrets of the Masters in Spring 2007. Sun Microsystems has nominated and awarded Yakov with the title Java Champion. He leads the Princeton Java Users Group. He is an Adobe Certified Flex Instructor. Currently Yakov works on the book for O'Reilly "Enterprise Application Development with Flex". He twits at twitter.com/yfain.
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?






































