Friday
Jan092009
Five Reasons to Use Adobe FLEX for Your Next Web Mapping Application
Friday, January 9, 2009 at 5:30PM
I am often asked why we use Adobe FLEX so often for the presentation tier of the web mapping applications we develop at PenBay. There are a lot of good reasons and I will outline my top five reasons in this post.
Health Care Status Mapping Application
We try very hard to be technology agnostic as we begin a relationship with a new customer. In my experience, the choice of a technology platform for a customer be it .NET, vs. .JSP, or Oracle vs. MS SQL Server has a lot more to do with the capabilities of the IT staff at the customer site than anything else. So we start out our discussions on new projects with discussions about requirements. Requirements discussions will touch issues of authentication and entitlement, performance, reliability, scalability, work flow support, look & feel, and interactivity. We then try to reconcile each of these types of requirements with a technical architecture that we have confidence will be able to deliver a killer application for this client opportunity. Nine times out of ten, we end up choosing Adobe FLEX for the presentation tier. Why?
Because of the reasons I have mentioned above (and many others) there is tremendous interest in FLASH/FLEX from the ESRI developer community. At last year's ESRI Developer Summit in Palm Springs, the (unplanned) session on the FLEX ADF was the best attended of any session I saw. If you are planning a new web mapping application for your organization, I encourage you to consider FLASH/FLEX. I think you will be impressed.
Health Care Status Mapping ApplicationWe try very hard to be technology agnostic as we begin a relationship with a new customer. In my experience, the choice of a technology platform for a customer be it .NET, vs. .JSP, or Oracle vs. MS SQL Server has a lot more to do with the capabilities of the IT staff at the customer site than anything else. So we start out our discussions on new projects with discussions about requirements. Requirements discussions will touch issues of authentication and entitlement, performance, reliability, scalability, work flow support, look & feel, and interactivity. We then try to reconcile each of these types of requirements with a technical architecture that we have confidence will be able to deliver a killer application for this client opportunity. Nine times out of ten, we end up choosing Adobe FLEX for the presentation tier. Why?
- Interactivity in the interface. The whole history of FLASH/FLEX of course is in the area of creating motion, interactivity, and overall coolness in the presentation tier of web applications. The ability to quickly create highly interactive, highly intuitive interfaces with FLASH/FLEX is unlike any other technology we have tried over the years. It is impossible to overstate the importance of DESIGN when creating web applications. FLASH/FLEX gives us tremendous design power and flexibility.
- Client-side Vector Rendering. Being able to render vector features in the client is an incredibly powerful tool when developing web mapping applications. It means that you can implement features like query, identify, measure, and dynamic symbology all within the client with no requests back to the server. The responsiveness, performance, and interactivity implications of this are huge.
- Cross-browser stability. Anyone who has developed in JavaScript for any period of time and has been frustrated in how different browsers on different platforms variably interpret (or don’t) JavaScript will immediately understand how important this is. If you have the right version of the FLASH player, these applications just work regardless of browser or platform. This fact dramatically reduces the amount of testing and debugging that needs to be done before production roll out.
- Performance. To quote my friend Steve Segarra, CTO of Archibus, "Nothing is as important in systems architecture design as elegance…. Except PERFORMANCE". By combining the capabilities of client-side vector rendering with intelligent base map design and tile cacheing, you can create web mapping applications that just plain smoke. Very important.
- ESRI FLEX ADF. If you are using ESRI ArcGIS Server, you should know about the FLEX ADF that is one of three Application Development Frameworks (ADF) developed and supported by ESRI. Mansour (see his blog here) and his team have done an outstanding job in creating an ADF for FLEX that is powerful, flexible, stable, and performs extremely well. By leveraging the ESRI FLEX ADF you can get very elegant web applications up and running very quickly.
Because of the reasons I have mentioned above (and many others) there is tremendous interest in FLASH/FLEX from the ESRI developer community. At last year's ESRI Developer Summit in Palm Springs, the (unplanned) session on the FLEX ADF was the best attended of any session I saw. If you are planning a new web mapping application for your organization, I encourage you to consider FLASH/FLEX. I think you will be impressed.
Stu |
7 Comments | 
Reader Comments (7)
Nice Site layout for your blog. I am looking forward to reading more from you.
Tom Humes
Stu,
Below are some reasons that we are so keen on Flex. These may only affect a certain user community, but, in these unique cases, they may be just as compelling as they reasons you describe.
1. Fewer downloads – by delivering most of the content via a unified SWF file, most of the viewer content can be downloaded via one request. This can have a large impact in complex, high latency networks. For example, 1MB of content as single SWF download can often be completed faster than 500KB of content that is accessed via 130DL events. We have seen this in high-latency, multi-hop environments. Having TCP repair packet losses (re-transmits, etc) and resets, etc. is a time consuming process, especially when you experience high network noise. In addition, we find that many of our firewalls are over-tasked and, because of firewall saturation, we see delays in parsing requests; these delays become additive during many DLs ultimately leading to slow render times.
2. Cleaner caching management - since most of the content is bundled up in a SWF, setting up and managing caching rules via a content delivery networks (CDN: Akamai, Limelight, etc.) is simpler. In addition, caching the entire viewer on a CDN becomes very easy. This allows for rapid and assured delivery and loading up of the viewer, which is often the slowest part of the online mapping experience.
3. UI - the user experience is king. Nothing on the web looks and feels like Flash/Flex (when done right). GIS is, at its core, a visual toolset; Flash and Flex excel at the graphical web medium and provide a naturally complementary fit with GIS. Plus, those really compelling sites on the web are usually done in Flex. It is time that our industry catches and stay caught up to how the rest of IT is best doing its business
Plus, as a user, it is nice to have the ability to block flash, unless explicitly desired....this tends to keep browsing a bit more under control -
https://addons.mozilla.org/en-US/firefox/addon/433
Stu,
great points you're bringing up. I very much agree.
We've been into the JavaScript API fist and have delivered two customer projects in 2008, however cross broswer compatibility issues just killed us.
Also Internet Explorer 6 and 7 turned out to render vector data on the maps 8-9 times slower than using Firefox 2 or 3.
At the develoer summit it was interesting to see how many were still interested in the JavaScript API
http://www.flickr.com/photos/oleseidel/3400846998/
compared to those interested in Silverlight:
http://www.flickr.com/photos/oleseidel/3400847458/in/photostream/
It would be interesting to hear more opinions on FLEX vs. Silverlight.
Ole
I would be very interested to see real live examples. Could you provide some URL's ?
Thanks for this nice blog !
Hi Cedric,
Sorry for the late reply. Here is one http://testportal.msl.mt.gov:84/StimulusReporting/default_LargeMap.html?mapSize=large#" rel="nofollow">FLEX map that I discovered today. I will post more as I find them.
Greg Knight at the Boston Redevelopment Authority has built a great FLEX app on the http://gis.cityofboston.gov/SolarBoston/" rel="nofollow">Solar Boston site.
Stu
Hi Cedric,
Below are live user sites that use the ESRI's web ampping API's. Most of them are Flex based applications.
http://www.esri.com/software/mapping_for_everyone/api/live_user_sites.html
http://www.esri.com/apps/showcase/
Antony
I think there is still much interest