41
Redesigning desktop applications for the web Wittaker Mathot Wittaker Mathot Greg Pleiss

Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Redesigning desktop applications for the webg g

Wittaker MathotWittaker MathotGreg Pleiss

Page 2: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Presentation GoalsPresentation GoalsPresentation GoalsPresentation Goals

•• Learn why and when you should consider the web as a Learn why and when you should consider the web as a platform for your applicationplatform for your application

•• See a real world example of a redesign from desktop to See a real world example of a redesign from desktop to web in a case study fashionweb in a case study fashion

•• Walk away with a more general design process and set of Walk away with a more general design process and set of considerations that you can apply to your applicationconsiderations that you can apply to your applicationy pp y y ppy pp y y pp

Page 3: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

AgendaAgendaAgendaAgenda

•• The Web, GIS, and the The Web, GIS, and the ArcGISArcGIS PlatformPlatform

•• Case StudyCase Study•• Case StudyCase Study–– BackgroundBackground–– Why the web?Why the web?–– Technology StackTechnology Stack–– Design & ArchitectureDesign & Architecture–– Lessons LearnedLessons LearnedLessons LearnedLessons Learned

•• General Design Process & ConsiderationsGeneral Design Process & Considerations

•• Q & AQ & A

Page 4: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Why the Web?Why the Web?Why the Web?Why the Web?

•• Broader accessibilityBroader accessibility•• Simpler deploymentSimpler deployment

** Technology and industry are moving this wayTechnology and industry are moving this wayYou were told toYou were told toEverybody’s doing itEverybody’s doing it

Page 5: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Why the WebWhy the Web NowNow??Why the Web Why the Web NowNow??

•• Infrastructure is Infrastructure is fasterfaster and and cheapercheaper•• Content is Content is moremore accessibleaccessible•• Application development isApplication development is easiereasier•• Application development is Application development is easiereasier•• User experience is User experience is richerricher•• User experience is User experience is moremore collaborativecollaborative

** It’s become a great platform for integrating, sharing, It’s become a great platform for integrating, sharing, and using informationand using information

Page 6: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

GIS and the WebGIS and the WebGIS and the WebGIS and the WebA Proven Platform for Web MappingA Proven Platform for Web Mapping

•• Web maps are everywhereWeb maps are everywhere•• Web maps are now familiar to everyoneWeb maps are now familiar to everyone•• Web maps integrate geospatial information forWeb maps integrate geospatial information for•• Web maps integrate geospatial information for Web maps integrate geospatial information for

visualizationvisualization

Page 7: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

GIS and the Web are Evolving TogetherGIS and the Web are Evolving TogetherGIS and the Web are Evolving TogetherGIS and the Web are Evolving TogetherMore Than Just Points on a MapMore Than Just Points on a Map

•• VisualizeVisualize•• CreateCreate•• ShareShare•• CollaborateCollaborate•• DiscoverDiscover•• ManageManage•• AnalyzeAnalyze

Page 8: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ArcGISArcGIS 1010ArcGISArcGIS 1010Leverages Advances in Web Technology …Leverages Advances in Web Technology …

Cloud

WebWeb •• VisualizeVisualize•• CreateCreate•• ShareShare

Enterprise

MobileMobile

•• CollaborateCollaborate•• DiscoverDiscover•• ManageManage

Local

•• AnalyzeAnalyze

DesktopDesktop

ToTo MakeMake GIS Available to EveryoneGIS Available to Everyone. . . To . . . To Make Make GIS Available to EveryoneGIS Available to Everyone

Page 9: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ArcGISArcGIS Server 10Server 10ArcGISArcGIS Server 10Server 10Serves Multiple Clients Using StandardsServes Multiple Clients Using Standards--based Web Servicesbased Web Services

Web ClientsWeb Clients

Rich ClientsRich Clients

•• Author Knowledge OnceAuthor Knowledge Once•• Publish to Publish to ArcGISArcGIS ServerServer•• Serve as REST, SOAP, KML, OGCServe as REST, SOAP, KML, OGC

Easily DiscoveredEasily Discovered

ExplorerExplorer

Rich ClientsRich Clients

MobileMobile

•• Easily DiscoveredEasily Discovered•• Use from MultipleUse from Multiple ClientsClients•• Customizable (API’s)Customizable (API’s)

EnterpriseEnterpriseIntegrationIntegrationDesktopDesktop

USEUSE•• Supports:Supports:•• VisualizationVisualization•• AnalysisAnalysis

IntegrationIntegration

SERVESERVE•• QueryingQuerying•• ExtractingExtracting•• EditingEditing

AUTHORAUTHOR

Page 10: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ArcGISArcGIS Server 10Server 10ArcGISArcGIS Server 10Server 10Rich Web Applications and APIs Available OutRich Web Applications and APIs Available Out--ofof--thethe--BoxBox

•• Web ApplicationsWeb Applications–– ArcGISArcGIS Explorer OnlineExplorer Online–– Configurable Flex, JavaScript, and Silverlight applicationsConfigurable Flex, JavaScript, and Silverlight applicationsC g , J S p , S g ppC g , J S p , S g pp

•• Web APIsWeb APIsSS–– JavaScriptJavaScript

–– FlexFlex–– SilverlightSilverlightgg–– .NET, SharePoint.NET, SharePoint–– JavaJava

•• Online Samples and TemplatesOnline Samples and Templates

Page 11: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ArcGISArcGIS Server 10Server 10ArcGISArcGIS Server 10Server 10Provides Flexible Deployment OptionsProvides Flexible Deployment Options

ExplorerExplorer W b Cli tW b Cli tExplorerExplorerRich ClientsRich Clients Web ClientsWeb Clients

•• OnOn--PremisePremise•• Hosted in the CloudHosted in the Cloud•• Both (Hybrid)Both (Hybrid)

USEUSE MobileMobile

DesktopDesktop EnterpriseEnterpriseIntegrationIntegration

Support for Support for Amazon CloudAmazon Cloud

SERVESERVE

OnOn--PremisePremise HostedHosted

Page 12: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ArcGIS comArcGIS comArcGIS.comArcGIS.comEnables Users to Share and Collaborate on Geospatial InformationEnables Users to Share and Collaborate on Geospatial Information

ApplicationsApplications

MultipleMultipleClientsClients

pppp

CommunitiesCommunities

SharingSharing

MashupsMashups

DiscoveryDiscovery

SharingSharingMaps, DataMaps, Data

and Analysisand Analysis

Users Can Create, Share, Find and Use . . . Users Can Create, Share, Find and Use . . . . . . Data, Maps and Applications . . . Data, Maps and Applications

Page 13: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ArcGISArcGIS Desktop 10Desktop 10ArcGISArcGIS Desktop 10Desktop 10Making Desktop GIS Easier and More ProductiveMaking Desktop GIS Easier and More Productive

Page 14: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ArcGISArcGIS 10 Is Here10 Is HereArcGISArcGIS 10 Is Here10 Is HereSimple and PervasiveSimple and Pervasive

•• Extends full GIS capabilities to the webExtends full GIS capabilities to the web•• Continues to improve desktop GISContinues to improve desktop GIS

So then …So then …

** When should you redesign for the web?When should you redesign for the web?y gy g

** How should you redesign for the web?How should you redesign for the web?

Page 15: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Case StudyCase StudyCase StudyCase StudyRedistrictingRedistrictingRedistrictingRedistricting

Page 16: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

BackgroundBackgroundBackgroundBackgroundA political process relying on GIS data and workflowsA political process relying on GIS data and workflows

•• Redistricting is the process of redrawing electoral (or other Redistricting is the process of redrawing electoral (or other political) boundariespolitical) boundaries

•• Redistricting is tightly tied to the decennial censusRedistricting is tightly tied to the decennial census–– Updated population counts determine reapportionmentUpdated population counts determine reapportionment–– Updated demographics reveal gerrymandersUpdated demographics reveal gerrymanders

•• Redistricting occurs at many levels (Federal, State, Local)Redistricting occurs at many levels (Federal, State, Local)Redistricting occurs at many levels (Federal, State, Local)Redistricting occurs at many levels (Federal, State, Local)–– Congress & LegislatureCongress & Legislature–– Police, Schools, City CouncilsPolice, Schools, City Councils

•• Redistricting is an iterative processRedistricting is an iterative process–– Requires collaboration, review, and revisionRequires collaboration, review, and revisionq , ,q , ,

Page 17: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

User BaseUser BaseProfilesProfiles

•• Legal review of district plansLegal review of district plans

Federal GovernmentFederal Government State & Local GovernmentState & Local Government

C t d bli h i tC t d bli h i t•• Legal review of district plans Legal review of district plans submitted by specific, large submitted by specific, large statesstates

•• Collaborate securelyCollaborate securely

•• Create and publish variety Create and publish variety of district plans (Congress, of district plans (Congress, Police, Schools, etc.)Police, Schools, etc.)

•• Collaborate securelyCollaborate securelyCollaborate securelyCollaborate securely •• Collaborate securelyCollaborate securely

Advocacy GroupsAdvocacy GroupsGeneral PublicGeneral Public

A l i dA l i d•• Analyze, review, and Analyze, review, and comment on proposed district comment on proposed district plansplans

C t d h lt tiC t d h lt ti

•• Analyze, review, and Analyze, review, and comment on proposed district comment on proposed district plansplans

•• Create and share alternativeCreate and share alternative•• Create and share alternative Create and share alternative district plansdistrict plans

Create and share alternative Create and share alternative district plansdistrict plans

••Collaborate securelyCollaborate securely

Page 18: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

User BaseUser BaseUser BaseUser BaseRelative sizingRelative sizing

Federal GovernmentFederal Government State & Local GovernmentState & Local Governmento oo o

Advocacy GroupsAdvocacy GroupsGeneral PublicGeneral Public

Page 19: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Business ProblemBusiness ProblemBusiness ProblemBusiness ProblemMeeting the needs of a broad spectrum of usersMeeting the needs of a broad spectrum of users

•• There is a large, and growing, public interest in the There is a large, and growing, public interest in the upcoming process of redefining electoral districts upcoming process of redefining electoral districts following the 2010 censusfollowing the 2010 census

•• Need to provide a solution that will empower both GIS and Need to provide a solution that will empower both GIS and nonnon GIS stakeholdersGIS stakeholdersnonnon--GIS stakeholdersGIS stakeholders

•• Need to provide a solution that will support all aspects of Need to provide a solution that will support all aspects of p pp pp pp pthe political processthe political process

–– Creating & PublishingCreating & PublishingSharing & CollaborationSharing & Collaboration–– Sharing & CollaborationSharing & Collaboration

–– Discovery & ReviewDiscovery & Review

Page 20: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

ChallengesChallengesChallengesChallengesExtending the reach of Redistricting applicationsExtending the reach of Redistricting applications

•• Large pool of potential users, but they have a shortLarge pool of potential users, but they have a shortLarge pool of potential users, but they have a short Large pool of potential users, but they have a short attention span (minimize costs)attention span (minimize costs)

Wid f ‘ ti l lit ’Wid f ‘ ti l lit ’•• Wide range of ‘geospatial literacy’Wide range of ‘geospatial literacy’–– GIS ProfessionalsGIS Professionals–– General PublicGeneral Public

•• Largest potential user base is nonLargest potential user base is non--GIS community, but GIS community, but i ti ff i d kti ti ff i d kt b d li ti f GISb d li ti f GISexisting offerings are desktopexisting offerings are desktop--based applications for GIS based applications for GIS

professionalsprofessionals

•• Collaboration and sharing of data must be secureCollaboration and sharing of data must be secure

Page 21: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Why Redistricting for the web?Why Redistricting for the web?Why Redistricting for the web?Why Redistricting for the web?

•• CostCost

•• AccessibilityAccessibility•• AccessibilityAccessibility

•• Sharing & CollaborationSharing & Collaboration

…because we were told to, right? No.

Page 22: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Why Redistricting for the webWhy Redistricting for the web NOWNOW??Why Redistricting for the web Why Redistricting for the web NOWNOW??

•• The platform is readyThe platform is ready

•• The next major push is 10 years awayThe next major push is 10 years away•• The next major push is 10 years awayThe next major push is 10 years away

…so what did we do? And how did we do it?

Page 23: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Technology StackTechnology StackL i th d kt d th bL i th d kt d th bLeveraging the desktop and the webLeveraging the desktop and the web

•• ArcGIS Server 10ArcGIS Server 10M S iM S i–– Map ServicesMap Services

–– Feature ServicesFeature Services–– Geometry ServicesGeometry Services

GIS UGIS U

ArcGIS DesktopArcGIS DesktopAuthorsAuthors

•• ArcGIS.comArcGIS.com–– Online Base MapsOnline Base Maps–– GeocodingGeocoding ServicesServices

Web UsersWeb UsersGIS UsersGIS Users

–– Sharing & DiscoverySharing & Discovery•• ArcGIS Desktop 10ArcGIS Desktop 10

–– Layer PackagesLayer Packagesy gy g–– Map PackagesMap Packages

•• Other TechnologiesOther Technologiesgg–– Adobe FlexAdobe Flex–– Amazon CloudAmazon Cloud–– Oracle RDBMSOracle RDBMS GeodatabasesGeodatabases

ArcGIS OnlineArcGIS Online

ArcGIS ArcGIS ServersServers

Oracle RDBMSOracle RDBMS

Page 24: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Solution ArchitectureSolution Architecture

•Create & Publish Plans•Review & Comment on Plans•Discover & Consume Services•Standard Compactness Analysis

Rich Web ClientsRich Web ClientsFlash-capable Browser

ArcGIS ServerFlex API

RedistrictingFlex App•Standard Compactness Analysis

ArcGIS ServerArcGIS Server ArcGIS ServerArcGIS Server

Flex APIFlex App

OperationalLayers

Services

GroupManagement

Services

Base MapServices

UserMap

Services

GeometryService

FeatureData

Services

•Cached Maps•Communities•User Data

•Census Data•Tracts•Block Groups

•Layer Packages•Map Packages•Mash-ups

p•Blocks

•User Data•District Plans

ArcGIS comArcGIS com Managed ServicesManaged ServicesArcGIS.comArcGIS.com Managed ServicesManaged Services

•Access Local Data•Advanced Compactness Analysis

ArcGIS Desktop

ArcObjectsRedistricting

DesktopDesktop

y•Author & Publish Content•Discover & Consume Services

j.NET SDK

gAdd-in

Page 25: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Key Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedApplication DevelopmentApplication Development

•• User Experience: User Experience: Flex API provides sufficiently rich user Flex API provides sufficiently rich user experience for basic redistricting workflowsexperience for basic redistricting workflows

–– Polygon aggregationPolygon aggregationyg gg gyg gg g–– Polygon splittingPolygon splitting–– Visualization, analysis, & reportsVisualization, analysis, & reports

•• Performance: Performance: Use of Feature Service allowed geometries Use of Feature Service allowed geometries to be delivered once to client applicationto be delivered once to client application

•• Scalability: Scalability: ServerServer--side vs. Clientside vs. Client--side tradeside trade--offsoffsCustom Flex code = lower cost for scalabilityCustom Flex code = lower cost for scalability–– Custom Flex code = lower cost for scalabilityCustom Flex code = lower cost for scalability

–– Geometry Service = lower cost for developmentGeometry Service = lower cost for development

Page 26: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Key Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedMaps and DataMaps and Data

•• Data Management: Data Management: Work with minimally sized data setsWork with minimally sized data sets–– Counties, block group, and block polygonsCounties, block group, and block polygons–– Many operations performed at county or block group levelMany operations performed at county or block group levely p p y g py p p y g p–– Per state operationPer state operation

D t S itD t S it H t d OH t d O ii•• Data Security: Data Security: Hosted vs. OnHosted vs. On--premisepremise–– ‘Private’ groups provide security for hosted/managed services‘Private’ groups provide security for hosted/managed services–– OnOn--premise deployment allows for physical isolation and data premise deployment allows for physical isolation and data p p y p yp p y p y

security when requiredsecurity when required

•• Data Content:Data Content: Leverage existing content where possibleLeverage existing content where possible•• Data Content: Data Content: Leverage existing content where possibleLeverage existing content where possible–– Identify gap fill needs early in design processIdentify gap fill needs early in design process––Data processing and caching takes timeData processing and caching takes timep g gp g g

Page 27: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

SummarySummarySummarySummary

•• Sometimes web AND desktop is the right answerSometimes web AND desktop is the right answerSometimes web AND desktop is the right answerSometimes web AND desktop is the right answer–– Introduction of web allows for extending the reach of solution Introduction of web allows for extending the reach of solution –– Inclusion of desktop allows for delivery of rich GIS contentInclusion of desktop allows for delivery of rich GIS content

•• Web architecture provides reusable foundation for delivery Web architecture provides reusable foundation for delivery of more comprehensive Elections market solutionof more comprehensive Elections market solutionpp

•• Election Day ReportingElection Day Reporting•• Campaign ManagementCampaign Management•• Precinct ManagementPrecinct ManagementPrecinct ManagementPrecinct Management•• Outreach (e.g. Get Out the Vote)Outreach (e.g. Get Out the Vote)

N d l t ti b i d lN d l t ti b i d l•• New deployment options = new business modelsNew deployment options = new business models–– Managed services (Managed services (SaaSSaaS, , IaaSIaaS))–– OnOn--premise deployment premise deployment p p yp p y

Page 28: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Design ProcessDesign ProcessDesign Process Design Process &&& &

ConsiderationsConsiderationsConsiderationsConsiderations

Page 29: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebPrerequisitesPrerequisites

•• Learn about web technology optionsLearn about web technology options•• Understand the potential user baseUnderstand the potential user base•• Establish vision & business driversEstablish vision & business drivers•• Establish vision & business driversEstablish vision & business drivers•• Compile use casesCompile use cases•• Map functional (business) requirements to use casesMap functional (business) requirements to use cases•• Map nonMap non--functional (IT) requirements to use casesfunctional (IT) requirements to use cases

Look Beyond Current UsersLook Beyond Current Users & Application …& Application …… Consider … Consider Who Could Be Using Application, and HowWho Could Be Using Application, and How

Page 30: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebDesign ProcessDesign Process

1.1. Review and evaluate use casesReview and evaluate use cases–– Map appropriate technologies to each use caseMap appropriate technologies to each use case

•• Can the technology support functional requirements?Can the technology support functional requirements?gy pp qgy pp q•• Can the technology support nonCan the technology support non--functional requirements?functional requirements?

–– PerformancePerformance–– Scalability (number of users)Scalability (number of users)–– Interactivity (richness)Interactivity (richness)

–– Determine what level of customization is requiredDetermine what level of customization is required

Page 31: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebDesign ProcessDesign Process

2.2. Design SolutionDesign Solution•• Identify …Identify …

–– Application(s) to support use casesApplication(s) to support use cases–– Data stores Data stores (features, related attributes, imagery, etc.)(features, related attributes, imagery, etc.)

–– Web services Web services (maps, models, mosaics, etc)(maps, models, mosaics, etc)

•• Develop a solution architectureDevelop a solution architectureD i k t f th tD i k t f th t•• Design key components of the systemDesign key components of the system

–– Access to content via web servicesAccess to content via web services–– Geospatial business logicGeospatial business logic–– The user experienceThe user experience–– The user experienceThe user experience

•• Prototype early to mitigate riskPrototype early to mitigate risk•• Plan for the development and deploymentPlan for the development and deployment

Taking Taking Into Consideration ….Into Consideration ….

Page 32: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Designing Access to ContentDesigning Access to ContentDesigning Access to ContentDesigning Access to ContentUsing Web Services Instead of Direct Data AccessUsing Web Services Instead of Direct Data Access

•• Web applications access data through web servicesWeb applications access data through web services–– No longer have direct access databaseNo longer have direct access database–– Authoring of web content must be deliberate and thoughtfulAuthoring of web content must be deliberate and thoughtfulg gg g–– Different security modelDifferent security model

•• Web services providing data access:Web services providing data access:–– Map servicesMap services–– Feature servicesFeature services

Web Services

Feature servicesFeature services–– GeodataGeodata servicesservices–– Image servicesImage services

G iG i ii

Authored Resources

–– GeoprocessingGeoprocessing servicesservices Data & Imagery

Page 33: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Designing Access to ContentDesigning Access to ContentDesigning Access to ContentDesigning Access to ContentUsing Web Services Instead of Direct Data AccessUsing Web Services Instead of Direct Data Access

•• Map ServicesMap Services–– Don’t just move desktop maps onto serverDon’t just move desktop maps onto server–– Organize into …Organize into …O gO g

•• BasemapsBasemaps–– Consider full or partial cachingConsider full or partial caching–– Requires time to buildRequires time to build

•• Operational LayersOperational Layers–– Use optimized maps (MSD) where possibleUse optimized maps (MSD) where possible

–– Use best practices for web authoringUse best practices for web authoringp gp g–– Use map service publishing toolbarUse map service publishing toolbar

For feature data that must be highlyFor feature data that must be highlyFor feature data that must be highlyFor feature data that must be highlyinteractive or edited, consider interactive or edited, consider Feature Services…Feature Services…

Page 34: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Designing Access to ContentDesigning Access to ContentDesigning Access to ContentDesigning Access to ContentUsing Web Services Instead of Direct Data AccessUsing Web Services Instead of Direct Data Access

•• Feature ServicesFeature Services–– New Feature at New Feature at ArcGISArcGIS 1010–– Returns features instead of map imagesReturns features instead of map imagesp gp g–– Especially useful when:Especially useful when:

•• Content must be highly interactive (hover tips, etc)Content must be highly interactive (hover tips, etc)•• Data must be editable through web interfaceData must be editable through web interface•• Data must be editable through web interfaceData must be editable through web interface•• Application has small operational datasets (performance)Application has small operational datasets (performance)

•• Image ServicesImage Services–– Available at 9.3.1, but improved at 10Available at 9.3.1, but improved at 10

•• New mosaic dataset used by both Desktop and ServerNew mosaic dataset used by both Desktop and Servery py p•• Simplifies and streamlines publishing processSimplifies and streamlines publishing process

–– Consider when managing your own image libraryConsider when managing your own image library

Page 35: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Designing Geospatial Business LogicDesigning Geospatial Business LogicDesigning Geospatial Business LogicDesigning Geospatial Business LogicConsider TradeConsider Trade--offs Between Optionsoffs Between Options

•• Consider where your business logic should live to Consider where your business logic should live to maximize:maximize:

–– Ease of developmentEase of developmentpp–– Reusability by other applicationsReusability by other applications–– Portability to other technologiesPortability to other technologies

Web Application

Client-side Module

•• Consider:Consider:–– GeoprocessingGeoprocessing Models / ServicesModels / Services

AGS Customp gp g

–– Server Object Extensions (SOE) Server Object Extensions (SOE) –– Custom Web Services w/ Custom Web Services w/ ArcObjectsArcObjects

ClientClient side Modulesside Modules

ArcGIS Server

GP

AGSWeb Services

Custom Web Services

SOE–– ClientClient--side Modulesside Modules Models SOE

Page 36: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Designing the User ExperienceDesigning the User ExperienceDesigning the User ExperienceDesigning the User ExperienceThink Simple, Think FastThink Simple, Think Fast

•• Today’s web user has high expectationsToday’s web user has high expectations–– Easy to use, simple, intuitiveEasy to use, simple, intuitive–– Fast, interactiveFast, interactive,,

•• Don’t overcomplicate the interfaceDon’t overcomplicate the interface–– Design with use cases in mind, not just feature functionDesign with use cases in mind, not just feature function–– Don’t make the user think too muchDon’t make the user think too much

•• May influence technology choicesMay influence technology choices–– Flex and Silverlight vs. JavaScriptFlex and Silverlight vs. JavaScript–– Map services vs. feature servicesMap services vs. feature services–– Cached maps vs. optimized mapsCached maps vs. optimized maps

Page 37: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Planning the DevelopmentPlanning the DevelopmentPlanning the DevelopmentPlanning the DevelopmentConsider Skills Required for Modern Web DevelopmentConsider Skills Required for Modern Web Development

•• Today’s web APIs are easier to useToday’s web APIs are easier to use–– Less experience requiredLess experience required–– Barrier of entry is lowerBarrier of entry is loweryy–– More available outMore available out--ofof--thethe--boxbox

•• Requires new skills to be successfulRequires new skills to be successful–– User experienceUser experience–– Information integrationInformation integrationInformation integrationInformation integration–– Creative thinkingCreative thinking

Page 38: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Planning the DeploymentPlanning the DeploymentPlanning the DeploymentPlanning the DeploymentConsider TradeConsider Trade--offs Between Onoffs Between On--Premise and Hosted OptionsPremise and Hosted Options

•• OnOn--Premise vs. HostedPremise vs. Hosted

•• Considerations:Considerations:•• Considerations:Considerations:–– Your IT operations (maintainability)Your IT operations (maintainability)–– Scalability requirementsScalability requirements–– Availability requirementsAvailability requirements–– Security requirementsSecurity requirements–– Operational costsOperational costsOperational costsOperational costs

•• Infrastructure Infrastructure •• StaffingStaffing

–– License costsLicense costs–– License costs License costs OnOn--PremisePremise HostedHosted

Page 39: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

SSSummarySummary

Page 40: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebCarefully Consider the Options and TradeCarefully Consider the Options and Trade--offs …offs …

•• Evaluate whether the web makes sense as a platform for Evaluate whether the web makes sense as a platform for meeting some or all of your needsmeeting some or all of your needs

–– Consider the potential user baseConsider the potential user basepp–– Consider functional and nonConsider functional and non--functional requirementsfunctional requirements–– Don’t wing itDon’t wing it

•• Design a solution that takes into consideration …Design a solution that takes into consideration …–– Your needs and skillsYour needs and skills–– Today’s web environmentToday’s web environment–– Today’s web userToday’s web user

ArcGISArcGIS best practices and patternsbest practices and patterns–– ArcGISArcGIS best practices and patternsbest practices and patterns

… and Design… and Design Deliberately for the WebDeliberately for the Web

Page 41: Wittaker MathotWittaker Mathot Greg Pleiss...Presentation GoalsPresentation Goals • Learn why and when you should consider the web as a platform for your application • See a real

Q & AQ & AQ & AQ & A