• Home
  • About the Author

GIS and .NET Development

Rants on GIS, .NET, and life in general

Feeds:
Posts
Comments

Usability and the GeoWeb: Part 1 of ?

July 3, 2009 by homebrutrout

Myself and my partner in crime, Dave Bouwman, have talked incessantly in trade publications and at conferences of late about the Geospatial Web or “GeoWeb” and what it means to GIS professionals and software developers.  This post is the first in a several part series on usability issues and concerns when designing and building applications for the GeoWeb.  How many parts will the series have?  Well that all depends upon how worked up I get and how often and long I want to rant.

It is my sincere hope that we, as a community, are finally moving on from the era of exposing buckets of complex GIS functionalities in the browser.  As noted in a previous post, the GeoWeb is, in essence, all things Web 2.0 writ large on a map. For ESRI customers it is REST, JavaScript, Flex, and Silverlight APIs for ArcGIS Server.  Beyond the ESRI realm it is Microsoft Bing Maps, Google Maps, Google Earth, or myriad FOSS offerings.

GeoWeb

Since internet users now have a myriad of choices in where they go for information, we as professionals should be designing highly usable systems that give users relevant information…and give it to them right now. If we don’t, they’ll simply go somewhere else. What this means for all of us as architects, and developers, and project managers in the mapping industry, is that usability trumps features. Since our customers are foresters, real estate agents, state troopers, and roadway managers, not GIS professionals, we need to hide GIS complexity, provide determinate, task oriented interfaces, and answer the user’s question with a minimum of friction and interaction.

While quick performance and a killer site skin with an open, uncluttered layout are certainly important in the age of the GeoWeb, they are only part of the equation. Based on my unscientific observations, geodevelopers are still challenged on the usability front in that the typical application with buckets of data and loads of tools with an unconstrained workflow is still making it out the door and into the market in many cases. Creating great apps for public facing or line of business sites serving non-GIS professionals requires a lesson plan that focuses on the user and on the mental model of how the user interacts with functionality that the geodeveloper exposes.

But I need a full featured GIS in my browser

Oh no you don’t.  We at DTSAgile maintain that there are very 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 co-located in a single data-center, while still having a “desktop” experience at remote locations. Having designed, architected and developed several large implementations, we’ve seen how it can deliver powerful desktop GIS functionality across an enterprise very cost effectively.

GISInBrowser

If however your goal is to service the public or users in a specific line of business, then you would do well in creating focused applications which help a user solve a specific problem easily – which is exactly what GeoWeb style applications do. The next generation of spatial applications is now arriving on the scene and starting to leverage real GIS analytical capabilities behind the scenes. While the tendency to mimic the indeterminate workflows of desktop GIS packages in a browser has noble goals, implementation, performance, and usability issues usually run rampant and completely swamp any cool-factor. Instead, focus on solving specific business problems by building tools that are tailored to the actual end user.

With that introduction…here’s lesson 1.

Lesson 1: Stash complexity away

Foresters know trees, state troopers know law enforcement, the County Auditor knows real estate assessment, the public knows a whole variety of things, but likely none of these user groups knows specifically what a buffer, intersect, union, or thiessen polygon is. When a roadway project manager asks for all structures near her project, without knowing it she really means,

“Locate point features in the Structures layer that fall within 1 mile of the section of Route 6A between mile posts 12 and 25.”

A GIS professional would know that getting this information requires an initial point selection, followed by a buffer, an intersection with a second layer (roads), followed by a buffer of the resulting road segment, followed by an intersection of the second buffer with the structures layer. The roadway project manager does not know this, nor should she.  Furthermore, why in name of Pete would we give her 5 or 6 separate tools and ask her to figure out that process in the correct order?

FewerLayers

Consider the application shown in the figure above.  For those keeping track, the app is an ASP.NET MVC implementation consuming data via the WMS capabilities of ArcGIS Server 9.2 within the OpenLayers client interface.

Fewer Layers

Note how few layers are in the map.  I’m sorry to say so, but if you think your users need or want to see all 150 layers in your Geodatabase, you are dead wrong.  Unless your application operates on or depends on that really detailed point layer of GPS’d mailbox locations for correct function, leave it at home and let’s keep it simple okay?

Consider using a base tile cache with some sexy cartography, and then roll in 3-5 operational layers that contain only the information that the user needs to accomplish their goal.  The example above contains roadways, separated into scale appropriate layers for display purposes, and counties to provide locational context.  To our roadway manager, everything else is noise in the system and doesn’t contribute substantially to her ability to do her job so it is left out.  Using fewer layers also has the side effect of dramatically increasing map rendering performance…which is topic for a separate post in this series dealing with real and perceived performance.

Hide the Details

Check out the minimalist map navigation at the top left of the map and the conspicuous lack of multiple tool buttons, menus, legends, layer lists, etc. in our example above. This application is used by State DOT roadway project managers and all these folks need to do their job is to:

  • Specify what road segment a project is on
  • List structures along the road (culverts, mast arms, etc.) impacted by a project

Highly useable systems hide complex GIS operations from the user and get the desired answer quickly. The selection, buffers, and intersections that get the roadway manager the information she needs to do her job are hidden inconspicuously behind the “Search for Structures” button highlighted below.

Figure1

Once the project road segment is selected, this search button becomes enabled, and a single click returns a list of affected structures to the user in approximately 0.3 seconds in this application allowing her to get back to what’s really important…spending that stimulus check.

Future Zen

Keep checking back here for additional posts on usability, performance, etc. for building the next generation of web mapping applications.  Future posts will deal with feedback to the user, user reassurance, protecting users from negative outcomes in your app, real and perceived performance, and anything else I can think of that irks me when I look at some of the “Web GIS” sites I see rolling out onto the internet.

Posted in General GIS, GeoWeb, Usability | Tagged complexity, GeoWeb, Usability, Web 2.0 | 5 Comments

5 Responses

  1. on July 10, 2009 at 12:51 pm Chad Burt

    This is a great post. I’ve always thought about my work as building a website that incorporates geospatial data, not about bringing a GIS to the web. The main reason I use GeoDjango is that it’s an extension to an already mature web framework.


  2. on July 10, 2009 at 1:32 pm Usability and the GeoWeb Part 2: Provide Feedback « GIS and .NET Development

    [...] putting fingers to keyboard on the issues we’ve been harping on for some months now.  The first post in the series asserted that we, as developers and architects of these systems have a tendency to make things too [...]


  3. on July 16, 2009 at 6:22 am Eric Blasenheim

    Generally a very good post but I had to smile because your GIS background betrayed you when you said that a user might be asking the following question:

    “Locate point features in the Structures layer that fall within 1 mile of the section of Route 6A between mile posts 12 and 25.”

    There are two GIS words that the mass of users don’t know and don’t need to know.
    1) Features
    2) Layers

    So my rephrasing of the question would be simpler.

    “Find the structures that fall within 1 mile of the section of Route 6A between mile posts 12 and 25.”
    I am not trying to be picky but just pointing out that all of us who have worked with GIS concepts for so many years use them without even thinking about it. Myself included.

    Good post.


    • on July 16, 2009 at 7:50 am homebrutrout

      Eric,
      Good points. Actually tho’, the real question the user is asking as noted in the post is “locate all structures near my project.” The quoted text is intended to represent what the user is asking without actually knowing it. Thanks for the comments tho’. I’ll attempt to clarify stuff of this sort in future posts.


  4. on July 29, 2009 at 2:23 pm Usability and the GeoWeb Part 3: Protect Your Users From Themselves « GIS and .NET Development

    [...] This is then a pretty appropriate time to drop part 3 in the Usability and the GeoWeb series.  Part 1 in the series discussed the importance of hiding unnecessary complexity from the user, while Part 2 [...]



Comments are closed.

  • Categories

    • .NET (16)
    • Agile (10)
    • ArcGIS Server (2)
    • ArcSDE (1)
    • Code Gen (2)
    • CodeGen (2)
    • Design Patterns (12)
    • ESRI (13)
    • General GIS (23)
    • GeoWeb (5)
    • Interoperability (2)
    • life (8)
    • MVC (9)
    • Offshore (3)
    • REST (1)
    • SubSonic (2)
    • Tech Talk (4)
    • Uncategorized (11)
    • Usability (4)
    • Utilities (5)
    • VE (1)
  • Archives

    • October 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • September 2008
    • July 2008
    • June 2008
    • May 2008
    • March 2008
    • February 2008
    • January 2008
  • Disclaimer

    The posts on this site represent my personal thoughts and opinions at the time of original posting. These views should in no way be construed to be those of my employer. All original work on this site is distributed under the Creative Commons License . Work or concepts attributed to others are licensed separately by the original author.
  • Pages

    • About the Author
  •  

    July 2009
    M T W T F S S
    « Jun   Oct »
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • Admin

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.com

Blog at WordPress.com.

Theme: Mistylook by Sadish.