Remember the User
Continued from page 27
some distance from the affected roadway. The geodeveloper has a couple of viable options to address this issue. Code can be written with complex logic to apply scale-dependent buffers and tell the user that an invalid point has been clicked. She must then click again…and again…and again until she gets it right. The developer can take any user-specified point and simply snap it to the closest point on the affected roadway. From a usability perspective, the second option is clearly preferable. For the user, any mouse click becomes valid, eliminating the need for repetitive actions. The click operation is simply snapped to the roadway, and the begin point coordinate is displayed to the user in the appropriate text box. If the user is dissatisfied with the result, she can elect to do it again. However, in this scenario, the user is never forced to click over and over again because the input point does not pass muster with a bunch of buffer and intersect logic she should never have to know about in the first place. Validate user inputs as soon as possible, prevalidate whenever possible, and never let users do something they're going to regret later. But I Need a Full-Featured GIS There are few situations that actually call for a Web-based GIS. When these Web applications are built, they are so complex that only GIS professionals understand how to use them. Perversely, the performance and technical limitations of Web development make these applications too limited to be useful for GIS professionals! Give GIS professionals access to professional GIS tools—desktop GIS applications. Citrix or Terminal Services technologies provide an excellent means to do this in a distributed environment. This allows all the GIS applications and data to be colocated in a single data center while providing a desktop experience at remote locations. Having designed, architected, and developed several large implementations, the authors have seen how it can deliver powerful desktop GIS functionality across an enterprise very cost effectively. However, if your goal is to serve the public or users in a specific line of business, then you would do well to create focused applications that help users solve specific problems easily. This is exactly what GeoWeb-style applications do. The next generation of spatial applications, now arriving, are starting to leverage real GIS analytic capabilities behind the scenes. The tendency to mimic the indeterminate workflows of desktop GIS packages in a Web browser is
Figure 3: Always handle the null case and provide interface cues that reassure the user in the event of an empty result set or other unexpected system event.
Figure 4: Eliminate complex exception scenarios and the potential for bad data through extensive prevalidation logic and novel approaches to seemingly invalid inputs.
28 ArcUser Fall 2009
www.esri.com