So Esri kicked off Wednesday announcing the winners of the Developer Challenges. Frank Roberts won the Developer Challenge with what looks to be something like the Tri-View Tool that we have been deploying for a couple of years. Not sure about the details, but it would be worth looking at to see if we can leverage each other’s work. Some of you may know Frank; we have interviewed him a couple of times trying to figure out how to make a fit within GISi. Congratulations to Frank.
Next was the Keynote. Apparently a last minute substitution by the Gartner Group sent a solid number 2. Michael King, Research Director, Gartner, spoke on The Future direction of Mobile Application Development. He had many different stats and charts talking about how the mobile industry is incredibly dynamic now and how that impacts us as developers and solution providers. A couple of the interesting stats:
- In the next few years 70% of all interaction will be through our cell phones
- Mobile is a Trillion dollar business.
- Industry is VERY fragmented and don’t see a consolidation for a least of couple of years if it ever happens, largely driven by how personal the use and experience of mobile devices are.
Above and beyond the statistics and observations, Michael presented that he believes that the successful solutions will be the ones that most effectively harness the ability to be context aware and have the most elegant interfaces. Specifically around context aware, not only is he referring to where you are (GPS), what you are doing (calendar), what you are supposed to be doing (reminding you that your anniversary is tomorrow while you drive by the florist that you bought flowers from last year), but tying this all to business and personal data systems to the point where the mobile device is keeping track of more information about you than you possibly can remember at any one time. Couple that with an interface that adjusts to how you use the phone and learns what your preferences are over time. For instance, for me that might mean that when I travel I always look for a CrossFit gym local to where I am staying. Well instead of me going to Google on my phone and stumbling through entering in “CrossFIt XXXXXX” for wherever I am, it would recognize that I am about to travel and just performs the search and gives me a list of results in the format that I typically look for: contact information, directions, and schedule. Within this theme of contextual awareness he talked a little about Augmented Reality and how the industry is still trying to figure out what we can do with this, how we implement it, and that we have to wait a bit for the hardware technology to progress to make this really work well. An example he gave was a crew in a manhole looking at a 100 year old valve. The only guy in the city that knows how to maintain that valve is back in the office but can share the camera screen from the guy in the field and do live annotation to walk the crew through what to do and not to do. This did tee up the presentation that Pat did later in the day well, and packed the room.
I am still somewhat surprised that the Mobile sessions, and there are a bunch of them, aren’t the ones that are packed. Seems like the server sessions are still the most popular.
Check out the recorded plenary sessions here: http://www.esri.com/events/devsummit/videos-and-photos/index.html
Great keynote speaker form Gartner; He discussed the many facets of mobile computing and the trends and predictions for the future. One thing that stood out was the amount of mobile devices projected to be used in the future will by far outnumber the laptops. So planning accordingly with respects to UI/Application development is a key to succeeding in this market space. The speaker noted that mobile development should not be a sideline event but imbedded in application development strategies and procedures. We keep hearing the same ole adage about making it simple and easy to use. But we GIS geeks need to think outside the laptop when it comes to mobile development. That’s where you the designers come in.
I sat through several sessions dealing with performance, scalability testing and architecture scaling. The common theme always lead back to making sure your map document is optimized and ready for web deployment. Here are some tools that help this process:
- Mxdperfstat – http://arcscripts.esri.com/details.asp?dbid=15570. This tool along with the out-of-box map analyzer gives you a clear picture of the rendering time for ArcGIS Server.
- PerfHeat – http://arcscripts.esri.com/details.asp?dbid=16880. This tool produces a grid showing color coded rendering time ranges across the map extent. Display rendering times are generated for each map scale, presenting a spatial overview of display processing loads.
- Fiddler with the neXpert plugin – http://www.fiddlertool.com/fiddler2/addons/nexpert.asp. neXpert aids in performance testing web applications through workflow management tasks.
All these tools along with additional capacity planning and performance benchmarking can be found in the report. http://resources.arcgis.com/gallery/file/enterprise-gis/details?entryID=6367F821-1422-2418-886F-FCC43C8C8E22
Esri unveiled a new GIS Testing Tool that incorporates the above tools and methodologies in an all-in-one tool. Currently this tool is only available through professional services, but it was suggested that once final it may be made available for download.
The two biggest things that happened today, at least from my point of view, were successfully surviving my presentation on Augmented Reality and having the GISi dodgeball team (named Gone in 30 Seconds in honor of last year) exceed expectations. The presentation went well; if you’d like to see the on-screen part of it, check out http://prezi.com/iy3lglcdn6xi/augmented-reality-using-arcgis-and-layar/. Prezi saved the day on this one; it made things a lot more fun to prepare and present than if I had to do it using standard slides. Gone in 30 Seconds got a bye in the first round, emerged triumphant in the second and then were defeated by the team that went on to win.
To make a really sweet phone app with a native look and feel without redoing the code using a separate API for each device, you need to use a framework for the front end. Something like JQuery Touch, DojoX Mobile or Sencha Touch provides the user with nice big buttons and the fat-finger pans and zooms that everyone is used to. I do a lot of ExtJS development so it would have been nice to see Sencha in action, but JQuery Touch is cool too and that’s what most of the demos were. These apps won’t work for the desktop but that was pie-in-the-sky anyway; the platforms are just too different to use the same interface.
- iOS (iPhones and iPads) – this was described as the best browser of the mobile devices with support for SVG overlays, geolocation, html 5, creating and editing vector graphics, etc.
- Blackberry Torch – this one’s a little more limited in that zooming in/out using a pinch, isn’t supported and it’s a little slower, but it does handle most of the other capabilities.
- Android – the Droid phones are more limited in certain things, especially since it doesn’t support SVG overlays. Vector graphics are rendered as part of the canvas so you can’t select an individual feature and manipulate it, although you can create features and add them. You also have to set a meta tag to disable gestures on the entire page so you can zoom in/out on a map object, but not the overall view.
The session also went into some pretty cool examples of using HTML 5 and CSS3, but I’m not getting caught up in that until it’s actually here. Quick note: there’s a site called CanIUse.com that tells you which devices support the really cutting edge stuff.
And there was a bonus! At the very end of the presentation they mentioned something called the Print REST API, which apparently takes the pain out of printing maps with vector overlays, external wms layers, text, etc. Exactly the stuff I’ve been doing in the open source world for the last couple of months. It doesn’t help with my current project, but I’m sure I’ll get a shot at it sooner or later.
In a separate session on Python, I also got a glimpse of using ArcPy to support template driven printing to PDFs, which is another of my current tasks (also using open source technology). So again, I can’t really use it yet, but I foresee great possibilities and hope to learn more about Python tomorrow.
Day 3 kicked off with an intriguing discussion with Michael King from Gartner Research concerning the pervasiveness and trends in mobile computing over the next few years. Although nobody has the magic 8-ball (especially in the ebb and flow of the mobile tech industry), he threw out some interesting stats:
- 214,000,000 tablet devices in the next few years
- 80% market penetration for smart phones in developed countries in the next few years
- 2013 – Mobile phones will overtake PCs for internet access.
- 2014 – 30% of users will use augmented reality with their mobile experience
Some other interesting sessions came from the Esri Prototype Labs and Esri Production Teams (i.e. those responsible for making sure they hit the deadlines). While I could write a book on cool stuff, I was particularly interested in an unconventional dynamic physics symbol, in which the bigger symbols would “bully” the smaller symbols and take their place on the map. The prototype team also demonstrated an interesting augmented reality app that used a sheet of paper with a specific “marker” that was replaced with an interactive map while video conferencing… think green screen.
The development teams/managers talked about the Esri internal development process. I was interested to see their strategies, which closely follows the Agile (Scrum) development process. ESRI loves Scrum and was evangelizing that development process. I’ll be honest, I was bored to tears as the discussion turned to their extensive… extensive QA processes, but be happy to know they’re thorough. Some interesting stats out of that session:
- 200 unique developers checking in code daily
- 95,000 source code files for ArcGIS Desktop, which takes 5 hours to compile (daily)
- AGS Desktop 9.0 = 6.9 million lines of code; AGS Desktop 10.0 = 15.97 million lines of code
Since I am all about mobile I am going to write this up on my iPhone! Of course it will be shorter because I did have to go to walk-in clinic for a sinus infection. Everyone here is super nice.
Anyway- back to business. Tuesday night at the meet the teams night, I ran into two of the developers for the 10.1 mobile SDK. So, of course, I drilled them about the problem I am having with the WPF map control ‘flickering’. People want it to behave like TomTom or Garmin. They told me that the 10.1 SDK for mobile will be significantly different. All the API will be pulling from a new core SDK. And they claim it will be WAY better than TomTom in that regard. I said ‘Great but I need that NOW’. I did leave my contact info with them so I can be in on the holistic testing for this. Wednesday I ‘tackled’ Martin and Jay- the head guys for the mobile SDK dev team. Again same answer. After I show them the best work-around I have come up with and I start to see some hope (breaking down) from them. They plan to take my code back and look into if that is something they can do sooner. Fingers crossed!
Other conference related info picked up is that if you have developed for Silverlight web app and/or WPF apps, then you are all ready to build a Windows 7 phone app. Same xaml and C# or VB.NET in back end. Good news for all you Silverlight and WPF developers.
Day 3 started with the conference Keynote Speaker, Michael King, from Gartner Research. He talked about the past and future trends in mobile technology and how our lives will be impacted as the technology evolves. Context-aware computing will become the norm where our smart devices, and the services that power them, will know more about us then we do our self. The smart devices will become even more powerful and ‘aware’ through sensor driven data capture like facial recognition, better speech recognition, enhanced audio and video sensors, and other advanced sensors that require less direct user input to interact with the device. Mr. King also covered some do’s and do not’s of mobile application development and commented on how augmented reality will become a much more powerful tool as it evolves. We can expect to start seeing more ‘real world’ applications where augmented reality apps will assist people with work and other things in life instead of just being the ‘cool’ toy.
Next up was the ‘Building Secure Applications’ session. This session focused on securing your ArcGIS Server services and the web applications that consume them. The presenters first reviewed the correct procedures for securing the AGS services using users and roles, and then reviewed how to use the admin security tokens to get access to the secure services. The session also covered using proxies with your secure services and then taking the security to the next level by securing your application front-end (client). The out-of-the-box ASP.NET membership provider was used as the examples for creating the AGS server user and roles and for the application security, although a custom membership provider can be used in its place.
I sat in on the ‘Intro to ArcGIS API for Windows Phone’ next. This topic area was completely new to me, but I was able to walk away for this session with the basic principles of the Windows Phone development. A point the presenters emphasized repeatedly was that developing for the windows phone was no different than developing Silverlight applications. Most all the same tools and class libraries for building Silverlight apps are used for Windows Phone, with the exception of a few class libraries specific to the Windows Phone environment. The presenters also demoed some of their existing Windows Phone applications, like ArcGIS for Windows Phone and the AtoB Navigation application. The presenters also gave away a Windows Phone 7 at the end of the session to the person in the audience who could stump the crowd with a Silverlight/Windows Phone development question.
Next up was the most anticipated part of the day, the Dev Summit Party. Esri had a nice setup of games and entertainment as usual with the highlight of the event being the Dodgeball Tournament. GISi formed the team ‘Gone in 30 Seconds’. Luckily, we did not live up to that name and actually won our first match-up in the second round (after a first round bye), but sadly were knocked out of the tournament in the third round. I also took a shot at table tennis, but finished the night with a disappointing record of 1-4 in my match-ups. After my last competitor destroyed me by a score of 21-8, with a few of my coworkers watching, I decided to retire from table tennis and call it a night. All and all another great day at the conference.
I also attended an advanced Flex session. This being my first dev summit, it turned out to be quite a treat to hear Mansour Raad present. He gave a lively presentation on how to best utilize the MVC pattern to develop Flex applications, so that they can easily be adjusted to fit web and mobile platforms.