Developer’s Corner
Figure 1: Flex Starter Kit remix on paper
The Architecture The technology stack for our remix came together as shown in Figure 2. Our ASP.NET MVC application has the primary job of returning our Flex widget (*.swf) for rendering in the browser when a user lands at our site. In addition, a variety of other resources have been written into one or more MVC Controller classes to access backside services and return information needed by the Flex application as JSON. For example, as the user zooms and pans around the map, the application will request updated pest statistics and additional data for the current area of interest. The Final Result Figures 3 and 4 show the results of our remix and skinning efforts using the Flex Starter Kit as the starting point for our application. Note that the UI includes the full-width banner, the address search, zoom-to drop-down, an “always open” widget, two basemap icons, and a
Our Conclusions In an environment where getting up and running in the RIA space quickly is easier than ever, differentiating your application from the cookie-cutter sites on the Internet is critical in distinguishing your organization or client’s site from all the others. As developers, we can dramatically improve the impact of sites based on the ArcGIS Server Web API starter kits by spending a little time identifying where the user experience can be improved by undertaking a modest development cycle, dedicating resources to UI mockups, and making efforts to skin and brand sites. Esri has done the bulk of the heavy lifting to make development against ArcGIS Server easy, efficient, and reusable. What’s left is for the development community to spend some time remixing the current starter kit offerings and elevating the content and quality of the sites produced. Once the developer has gotten used to working with an Esri starter kit, a more conFigure 3: Nationwide view of Pest Data Viewer Flex Application shows regionalscale data.
for which data is being viewed. When a user is viewing the entire United States, clicking on a region polygon generates a dynamic vertical bar chart of total acres and total counties affected by major forest pests. As the user zooms in on the map, more granular detail is shown. Region and county selection can be done via the map or via pick lists in the search pane located at left pane. Data summaries and links to external information are also shown in the left pane. Included in the tabular data summaries in the left pane is a function to generate a chart showing pest damage trends for all years in the system and view information on pests of interest. What’s nice about the application now is that the user does not need to go digging around in a menu system to access the functions to efficiently explore data. The template we’ve come up with will likely be the starting point for many other focused applications. “Do one thing and do it well” is the mantra. Keeping critical functionality up front and conveniently located is of paramount importance. For more information, contact Brian Noyle, Senior Software Architect E-mail: bnoyle@dtsagile.com Or David Bouwman, CTO and Lead Software Architect E-mail: dbouwman@dtsagile.com About the Authors Brian Noyle, originally trained as a global change biologist and tundra botanist, has nearly 10 years of experience as a GIS software developer and architect. His professional and technical interests are primarily focused on moving clients toward more standard architecture and development practices and patterns to facilitate a closer integration of GIS with the standard IT enterprise. Noyle has extensive experience in full software lifecycle management with a focus on delivering through Agile project management methods.
Figure 4: State-level view of forest pest data for Colorado is based on OpenStreetMap tile cache. top-level print widget. The tiles in Figure 3 are from the CloudMade Midnight Commander cache. Figure 4 is a map of Colorado based on OpenStreetMap tiles. Note the Pest Conditions Explorer widget including options for changing the year of the data being displayed as well as selecting an individual pest map to display. certed effort can be made to do a fully custom implementation. After releasing the publicly accessible site described above, we went back and built a customized site that fully leveraged the richness of the data available. Key data exploration features include a dynamic vertical bar chart showing both total acres affected and the total number of counties affected by major forest pests. Up to five pests can be shown at any given time. The bar chart includes a slider control allowing the user to change the year
Dave Bouwman has been designing and developing GIS software for the last 12 years with projects ranging from small Web sites to statewide enterprise forest management systems. Over the last few years he has been leading a team of developers in the pursuit of great software built in a sane manner. The combination of an Agile process with pragmatic development practices taken from extreme programming has led to a highly optimized methodology of creating solid software.
ArcUser Summer 2010 43
www.esri.com