HTML5 and ArcGIS Server
Another look at the Geocortex Viewer for HTML5
There were many great questions asked by participants at the end of our webinar: Another look at the Geocortex Viewer for HTML5 Oct. 17, 2012). Here are detailed responses to all the questions submitted by attendees that day:
Q1: When can we share this presentation with our colleagues?
The video recording is now available on our website: http://www.geocortex.com/html5/
In the next few weeks, we intend to also create a new, short-format introductory video to showcase similar ideas. We'll let you know when it's available.
Q2: Do I need to have HTML5 programming experience to use your viewer?
No, you don't need to be a programmer to configure the Geocortex Viewer for HTML5. Everything you saw during the demonstration was done via configuration and not through coding.
The Geocortex Viewer for HTML5 is included as part of our Geocortex Essentials product. Geocortex Essentials contains web-based management features that allow administrators to configure applications without using text editors to manipulate configuration files.
Beyond configuration, Geocortex Essentials also includes developer tools that allow you to efficiently extend and build advanced custom applications.
Q3: Will Phone Gap be (optionally) available in the App Store from Latitude? We may find deploying this on our own a hurdle.
Is there a cost for PhoneGap?
There is no cost to using PhoneGap. It is an Open Source technology that has been widely adopted in the software industry and is backed by the Apache Software Foundation (which will ensure open stewardship of the project). More information can be found here: http://phonegap.com/
Latitude Geographics will be building an app (initially for the Apple App Store) which will allow users to install PhoneGap and related Geocortex configuration files on to their device. Then, the app can launch any Geocortex Viewer for HTML5 applications that you have configured. We expect this to be available in early 2013. In the meantime, organizations can deploy PhoneGap-based applications using enterprise application deployment.
Q4: Are the workflows used in this demonstration available for us to download?
Does the Springfield demo come as a template when purchasing Geocortex?
Where can I download the workflow for this app?
Where is the Service Request Planner available for download?
Where is the Service Request Responder available for download?
Are these applications available for us to check out (code wise etc...)?
We created the workflows and applications you saw in the demonstration to illustrate what's possible with our platform and showcase our rapid progress with the Geocortex Viewer for HTML5.
Everything you saw in the demonstration can be built using Geocortex technology today and could be deployed to production (this is what our technology is all about), but these demonstration sites are not a product offering per se. In fact, they were developed over a few days prior to the Esri International User Conference to support a live demo.
Based on interest we've received, we're looking at organizing and making these demonstration workflows and apps freely available to all users on the Geocortex Code Gallery. Even if not directly transferable without some tailoring for specific workflows, they represent a great sample resource for people to learn and experiment with.
Q5: Is there documentation in the support section of the Geocortex website that will assist with recreating the demo?
Alongside the Geocortex Code Gallery provisioning mentioned in the previous question, we will provide relevant documentation for configuration and installation.
Q6: Can you use this application with Amazon's Web Server instance or do you have to have ESRI enterprise in-house?
Yes, Geocortex Essentials can absolutely be deployed via Amazon Web Services. This is just the tip of the iceberg with our cloud deployment strategy to complement ArcGIS Online.
Q7: Please explain database synchronization i.e. what RDBMS, SDE being used, etc...?
When we demonstrated "editing" in the Reporter, Planner, and Responder demo applications we took advantage of an editable Feature Layer.
As of ArcGIS Server 10.0, users of Esri's ArcGIS Server can use the REST API to perform edits against any map service that has been exposed as a "Feature Service", and whose data is stored in a geodatabase within an RDBMS. ArcGIS Server supports a variety of databases including SQL Server and Oracle. In the specific case of the demonstration we presented, we are storing the "service requests" in SQL Server 2008 Enterprise Edition.
Q8: Where do we find out how to load base maps to devices for non-connected use?
In our upcoming 1.2 release of the Geocortex Viewer for HTML5, we will be shipping documentation that describes this process. Stay tuned for the 1.2 release in a November/December 2012 timeframe.
Q9: Is provisioning a basemap on a cell phone recommended for offline data collection?
Basemaps often provide critical context. When required, you must take into account the amount of storage users have available on their devices and make smart choices about providing the contextual data they actually require (and don't).
Q10: Does the editable layer need to be in SDE?
In this scenario we used an ArcGIS Server feature service to perform all of our edits. The data that backs that service must be in a geodatabase within a relational database like SQL Server or Oracle to read and write data. This doesn't mean that you need the ArcSDE application server per-se; ArcGIS Server can be configured to use a direct connection to the geodatabase.
Q11: What are the options we have if we want the responder to show service requests assigned to me?
The entire demonstration application presented in the webinar was simply a configuration of out-of-the-box features in Geocortex Essentials and the Geocortex Viewer for Silverlight. Specifically, we used Geocortex Workflow technology to engineer a configured business process that simulates responding to service requests in a particular service area. If we wanted to manipulate the business logic to represent service requests that are assigned to a particular field worker, we could modify the workflow to allow the administrator to choose which field worker to assign service request to.
Similarly, any aspect of this demonstration could be configured or customized differently to accommodate entirely different business use cases.
Q12: If the map services being consumed in the mobile application are secured internally in the company's network what are the workarounds? VPN app? Etc...?
Q13: Is the image being stored natively with ArcGIS/ArcSDE? Are the images stored as a blob in the GeoDatabase?
We presume the question is referring to the photo taken during the demonstration. If so, yes. ArcGIS 10 introduced the ability to attach any kind of document to a particular feature. We used a feature layer that has attachments enabled.
Q14: What is being used to generate the routes?
We are using a network service from Esri's ArcGIS Server platform. Behind the scenes, our Workflow technology has a route activity built into it. At a minimum the Route task requires a number of location points, and we send those off the Esri's network service and it returns the geometry that represents the route.
Q15: Will future releases of Workflow Designer indicate which workflow activities are supported by the HTML viewer? For example, Display Capture Geometry does not work in the Geocortex Viewer for HTML5.
A correction: Display Capture Geometry does indeed now work in our HTML5 Viewer. However, you raise a good point.
In the current absence of explicit documentation for each activity, here are some guidelines:
Q16: Is there the ability to connect to a devices GPS, and "Add point as current location"?
With HTML5 we can use Geolocation services that allow us to capture the location of the current device. So with an iPad for example, you can use the built in GPS services over Wi-Fi or a 3G network. Adding a point on a map can certainly be done by building a Workflow that includes a built-in activity to capture the current location, and a built-in activity for applying edits to a feature layer.
Q17: Does this application automatically provision the offline basemap or is that another task?
It is another (administrative) task. So you have to choose the scale and extents you need to create that tile package, and then get it on the device. There are a number of ways to get it on the device. In this scenario, we did it via iTunes.
Q18: What is the size of the provisioned basemap on the iPad?
In this case, the map used in the demonstration was about 500MB and it contains very general data for the whole world, and more specific data for San Diego, the location for this demo scenario.
Keep in mind that Administrators can decide on the size of the basemap which is needed for each type of scenario. You can choose the data, scale levels and extents of the tile package when provisioning for an iPad.
Q19: What is the limitation to working offline? Data Limitation/Threshold?
If you are using PhoneGap (please also refer to Question 3) there is no limitation other than available space on the device itself. Now if you are not using PhoneGap, such that you are relying entirely as to what you can do with a web browser, then you are bound by the limitations imposed by the browser and operating system. For example, if you using iOS5 and Safari, Apple currently imposes as a 5MB limit, in iOS6 there is a 30MB limit. These can be pretty limiting given what you may want or need with a basemap. So PhoneGap offers a very compelling option.
There are some other limitations worth mentioning when working offline. Not all of the features that you typically see working online can be expected to work exactly the same way when offline. For example, when offline, you cannot issue a geocode request, or perform a search or query against a layer since these operations currently require an HTTP request to a web-based resource.
Q20: What happens if two employees work on the same feature at the same time? What collision detection is used when syncing?
Right now, our synchronization employs a "last edit wins" policy. If two or more users have edited the same feature, the last person to synchronize will overwrite the changes made by anyone prior.
Another approach is "editor tracking" - keeping track of who edited what. You can also require all changes are made to a versioned layer, whereby consolidating edits to master version becomes a back-office administrative task. Of course there are numerous other approaches to overcoming this if our current "last edit wins" approach doesn't fit for your organization.
Q21: Is this process tied into an Asset Management system? Most municipalities employ some sort of Work Management/Asset Management system. An application like this would need to be linked into such a system to really benefit such a municipality.
Undoubtedly, nearly every municipality uses an Asset Management system of some kind. There are many products out there, and we're impartial when it comes to integration.
Through our professional services team, we often are asked to integrate Geocortex with a specified third-party Asset Management system. Geocortex Essentials is an independent platform, and we haven't yet taken on out-of-the-box, extension-based integration with any particular Asset Management system. We do provide software "hooks" so that the integration can be easily established. Workflow is an excellent example of where that integration can be performed, but scenarios vary in terms of what organizations ultimately require for integration/functionality with their Work or Asset Management systems.
Q22: The Springfield HTML 5 viewer was "too large" for my BlackBerry Bold 9700, however I did see the map before it closed. Will this work on a Blackberry?
We opted not to target (or test) this demonstration on a current generation Blackberry device. We focused on an iOS, Android and Windows mobile device audience.
We anticipate BB10, which is due to out sometime early next year, being much better suited to running HTML5 applications than the current lineup of RIM phones.
Q23: I saw a sample of your application for a Cemetery. To view it online it also advised you have a backend to update the interment data, which Geocortex product would I need to implement this?
We're not aware of or familiar with the application you're referring to. Feel free to contact us with more information, and we'll either provide a quick analysis or refer you to the right person. Whatever the case, it's a fairly safe assumption that everything you'd need would be provided through Geocortex Essentials.
Q24: Is there a tutorial on how to build a sample app like this (using all components including the workflows)?
Though not specific in describing how to build the application that was demonstrated today, we provide documentation and related resources on how to install, administer and use Geocortex software.
Some aspects are self-documenting. For example, if you were to download the workflow used in this demonstration, in Workflow Designer you would be able to view and explore all the steps and activities that drive that application.
In conjunction with posting constituent components of this application on the Geocortex Code Gallery, we will likely provide some supporting documentation to help people get started.
And of course, we offer regularly scheduled online training to provide instructor-led structured learning. The upcoming course calendar is here: www.geocortex.com/training
Q25: When will the technology for the solution demonstrated be available, not with coding but more out of box with a small amount of configuration (workflows, etc...)?
Though we're constantly working to further streamline the development process, the applications showcased in the webinar represent a relatively straightforward configuration of capabilities delivered as part of Geocortex Essentials. These specific workflows are not shipped pre-built as part of the product, but as mentioned, we intend to provide the workflows through the Code Gallery in the Geocortex Support Center.
Though we'll be starting to make available pre-built, targeted applications in the months ahead, the capabilities that were leveraged in this demonstration (including editing, working offline and workflow) are all out-of-the-box features. So interestingly, there was no custom code needed to produce any part of the demonstration today; it was entirely configuration.
Q26: You mention HTML5 and a Silverlight viewer. Silverlight technology has been discontinued, are you still using it?
While Microsoft has indicated that it has no further plans to evolve the core Silverlight platform, they have clearly stated they will continue to support Silverlight until at least 2021. We do not consider Silverlight dead or discontinued.
Technology advances, and the world will eventually move beyond Flex and Silverlight. These plugins will eventually fade into history because, all things being equal, not requiring a plugin is preferable to requiring a plugin.
However, it will take years for HTML5 to render Silverlight and Flex irrelevant. Although we're extremely bullish about HTML5, there remain limits on what can be accomplished with it right now. Our clients (thus, we) are still actively investing in advanced new capabilities via Silverlight.
For the foreseeable future (think the next few years) we anticipate our Silverlight and HTML5 viewers will be highly complementary to one another. We expect people will continue using Silverlight for certain types of apps (e.g. feature rich, internal) and HTML5 for others (e.g. simple, mobile). As time passes, HTML5 will become more and more developed/mature, and we'll start to see apps that used to be Flex and Silverlight replaced with HTML5. And at some point in the future, we expect approaches that don't require a plug-in will largely replace plug-in based viewers.
A key focus of our engineering with Geocortex Essentials is to render platform selection a relatively minor consideration. For example, the vast majority of the application configuration and business logic that comprised our demonstration "lives" on the server and is independent of any client technology. By developing using our platform agnostic technology, you can take workflows and sites developed and delivered today via Silverlight, and simply redeploy them via HTML5 when it everything that needs to be in place is in place.
Q27: Where to next with HTML5?
We are really excited about pushing the envelope with the HTML5 standard and our R&D group is working on lots of cutting-edge stuff. As the ability for browsers to support the HTML5 specification increases, we'll be able to push the envelope more and more.
Through mid-2013, we'll continue to focus oar efforts leveraging HTML5 in the mobile space and to deliver targeted, public-facing web-mapping applications. There are some powerful capabilities coming too, from offline package provisioning to expanded editing tools and a simple (in a good way) toolbar.
If you're a Geocortex customer, be sure to check out our monthly Geocortex Solutions for ArcGIS Server: Current Status and the Road Ahead webinar for the very latest on what's upcoming. You can link to the registration page from the landing page in the Support Center. http://support.geocortex.com