Welcome!

Adobe Flex Authors: Matthew Lobas, PR.com Newswire, Shelly Palmer, Kevin Benedict

Related Topics: Adobe Flex, Java IoT

Adobe Flex: Article

Watching Java presentations with AJAX, Flex, AIR and JavaFX

An interview with Stephan Janssen, creator of Parleys.com

Y. I assume that the back end of Parleys is written in Java. Why did you decide to create Flex version of Parleys? Have you considered other technologies?

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  :)  

The AIR application allows our viewers to download the talks on their desktop and view them offline, you can even add tags and comments to the timeline and once back online the application will synchronize the content !  As a result people can now watch the presentations during their train commute  or when internet is not fast enough.   

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!

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @ThingsExpo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. The IoT Global Network is a platform where you can connect with industry experts and network across the IoT community to build the successful IoT business of the future.
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Disruption, Innovation, Artificial Intelligence and Machine Learning, Leadership and Management hear these words all day every day... lofty goals but how do we make it real? Add to that, that simply put, people don't like change. But what if we could implement and utilize these enterprise tools in a fast and "Non-Disruptive" way, enabling us to glean insights about our business, identify and reduce exposure, risk and liability, and secure business continuity?
DXWorldEXPO LLC announced today that Telecom Reseller has been named "Media Sponsor" of CloudEXPO | DXWorldEXPO 2018 New York, which will take place on November 11-13, 2018 in New York City, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...