2009 ESRI Developer Summit Plenary Session

The wireless connection here is less that ideal, but I’m going to try and live blog the DevSummit Plenary.  Just refresh the page for updates (but keep in mind I’m not the fastest typer in the world).  You can also follow some discussion at my twitter account:  http://twitter.com/cageyjames

8:32 AM: Video starts showing the languages ESRI supports.  Keeping my eye out for Avenue.  Nope looks like Avenue gets no love.

8:33 AM: Jack opens the DevSummit with a welcome.

8:37 AM: Jim McKinney takes over and explains the purpose of the Developer Summit and why everyone is here.  There are over 1,100 developers at the DevSummit this year from 41 countries (much larger than the BPC).  Tech Sessions will be recorded and placed on the ESRI Resource Centers.

8:43 AM: Jim talks about the road from 9.3 to 9.4.  9.3.1 ships “May”.  9.4 will go beta around the 2009 UC.

8:45 AM: Scott Morehouse takes the stage and talks about the philosophy behind ArcGIS.  Very high level stuff.

9:05 AM: Jim gets back on stage and the demos are about to begin.

9:07 AM: Demo on how 9.3.1 adds functionality to tune map services automatically.  No longer do you have to figure out what layers are slowing down your maps.  Run the analyze tool and get errors and warnings to show what is slowing your services down.  The results lists tells you what you have to do to fix the service, some as easy as right clicking and saying fixing.  After you fix the errors, you get can preview the service inside ArcMap and get see the speed of the service after fixing.  Thus you no longer have to author in ArcMap and publish in ArcCatalog.  You can do this directly in ArcMap.  In fact the tool can be used in just desktop applications to improve map display performance.  All very slick and will be well received.

9:14 AM: Next demo is for the Flex API.  Amazing that 1 year ago it was barely featured at the DevSummit and now it is probably the default API for ESRI.  We drop into some Flex Developer IDE demo and code.  Seems all simple, but I’m no Flex developer.  Demo shows importing data (xls file) directly into the client side application.  I think this gets into unhooking these APIs from ArcGIS Server.  Adobe is here at the DevSummit and is having a get together.  Quite a change from the past.

9:20 AM: Oh my, an actual Java demo.  Talk about Java and excitement at ESRI.  I used to understand how Java Devs worked, but this demo is just way over my head.  Lets just say that ESRI continues to support Java and leave it at that.

9:33 AM: ArcGIS Online is next up.  ESRI seems to refer to this as the cloud so if you here that mentioned here, think ArcGIS Online.  Sud and Jeremy are showing the ArcGIS Online 9.3.1 demo.  Remember now you can upload those Layer Package files (zipped layer files and data).  It seems that ESRI wants you to package your data using the layer package format and then upload it to their system.  I can’t but help think of the Geography Network when I see this, but maybe users are willing to use this much simpler interface.  One thing that it does do is you can limit your content to certain users, rather than the whole cloud Internet.  These users are members of groups so collaboration can occur on ArcGIS Online.  I can’t figure out the business model here for ESRI, but I suppose it ties back into Desktop and Explorer.  Not only can you add data to ArcGIS Online, but you can create hosted maps from your uploaded data.  Reading between the lines here, we see ESRI uncoupling ArcGIS Server from workflows.  You can share data and maps with the world without having to purchase an ArcGIS Server license.  The demo showed the JavaScript API, but I’m sure any ESRI REST API SDKs can be used with ArcGIS Online and without an ESRI ArcGIS Server license.  ArcGIS Online goes public beta after ArcGIS 9.3.1 arrives in May.

9:47 AM: Break

10:17 AM: Back and video showing ESRI mapping implementations

10:18 AM: Jim starts off with the ESRI Resource Centers.  Jim Barry takes the stage to talk about ESRI’s community efforts.  The Resource Centers were updated a couple months ago so most of this stuff on stage is old hat.  The story is that unlike the old EDN pages is ESRI is investing time and effort into the website.  Still no mention of a true Wiki, but maybe one day.  The new template galleries are interesting and hopefully they’ll do much better than the Geoprocessing and Data Model pages on the support site.

10:29 AM: Art Haddad introduces ArcGIS Silverlight API for Microsoft Silverlight/WPF.  Art turns the stage sliver (get it Silverlight?).  He demos the ArcGIS Resource Center Silverlight page.  The demos really show off the power of Silverlight.  We can argue about Silverlight’s install base vs Flash, but it really is compelling.  The getting started demo of Art’s shows how quickly you can get started with Silverlight.  Art’s demo is by far the smoothest we’ve seen today and really highlights where ESRI is going (Microsoft Integration).  The cluster feature method works well and you get some really great maps without much code.  Also slick is the ability to use the same code with WPF.  Silverlight API is not coupled to the ArcGIS release schedule (like the other APIs) so get involved with the beta.

10:43 AM: ArcGIS Explorer 900 is next up.  The new Office ribbon interface makes the application fit in very well with other windows applications.  Bern shows the reading of layer packages being loaded into AGX.  So now you get the fancy cartography generated in ArcMap, inside AGX.  2D Maps are now part of AGX.  3D globes are great for some mapping, but nothing beats 2D for getting the message across.  Microsoft Virtual Earth is now part of AGX so you get much better looking base maps than before.  Yet another new feature, there is a new presentation mode to allow you to use AGX for presentations.  This is hard to describe, but think about using AGX for your presentations rather than PowerPoint.  You can navigate back and forth through the “slides” and then interact with the maps.  Larry Young went into some customization of AGX with an application configuration file.  This means you can streamline AGX to meet the needs of your users, dropping out the tools that users might not need.  This is done with an Application Configure tool that is included with the AGX 900 download.

10:55 AM:  Bill Moreland talks about Python and ArcGIS.    The Python demo uses pulp-or with ESRI’s Geoprocessing model.  In the past, Python hasn’t been getting as much love as it should at the DevSummit so seeing this on the Plenary stage is really a change.  It is good to see the Geoprocessing Resource Center is getting some traction with shareing scripts.

11:05 AM: ArcGIS Desktop at 9.4 is next up.  Some key goals were to simplify common tasks, streamline workflows and improve ability to share work.    Catalog is now integrated into ArcMap (like Toolbox), much faster map drawing, search from ArcMap, better cartography (isn’t that always there?), charting and reporting, 3D GIS (3D editing) and Asynchronous Geoprocessing (no longer locking up Desktop why your analysis runs).  New ADFs at 9.4, extensions can now be developed with .NET and Java (drop in extensions).  Side by side deployments at 9.4, thus you can run 9.3.1 and 9.4 at the same time on the same machine.  Map automation can now be performed with Python in ArcGIS Desktop.  Say goodbye to DS Map Book because now you can create PDF export using Python scripts, much like we did in the old days with ArcPlot.  With a few lines of code you can replicate all the functionality of DS Map Book.  You can now add geoprocessing tools to any of the toolbars (including your Python scripts).  Python is also now integrated into Python.  Yep and interactive Python window right inside ArcMap.  So intellisense GIS analysis with Python.  Brilliant!

11:17 AM:  Editing Demo – Sorry I can’t bring my self to blog about editing.  If you do lots of editing with ArcGIS Desktop, you’ll want to learn more because the editing tools are really leaping over where they are at 9.3.x.

11:30 AM: Jim is back with the news that you can now edit in all ArcGIS Server ADFs and APIs (including the RESTful ones).  Now on to ArcGIS Mobile, the story here is that it doesn’t seem to integrate with what Art Haddad is doing with WPF and Silverlight.  It is a shame that ArcGIS Mobile is still treated as a different product than the ArcGIS API for Microsoft Silverlight/WPF.  I don’t like the idea that the ArcGIS Mobile team is doing WPF work and the ArcGIS Server team is doing it as well.  I want to write code once and deploy on Server or Mobile, not maintain two different apps.

11:45 AM:  Break for lunch.

ArcGIS 9.2 Service Pack 5 is available

For all those who can’t resist installing the latest service pack for ArcGIS, here it is:

ArcGIS 9.2 Service Pack 5
ArcSDE 9.2 Service Pack 5
ArcIMS 9.2 Service Pack 5
ArcGIS Image Server Service Pack 5

In case you can’t remember if you care or not, check out the Service Pack 5 announcement.


Freakin’ sweet!

Reflection on the 2008 ESRI Developer Summit

Well I think most would agree, the 2008 DevSummit was one of the best.  There was tons of new stuff to learn about, much more attendees, more ESRI staff, better layout of the conference (the Community Center was particularly good) and better session (and more of them).  So what did I take away from the conference?

ArcGIS Platform

So underneath it all, what has changed.  Well first ESRI has really focused on bug fixes.  I know we’ve all heard this before, but I think the new crash reporting dialog will give better feedback to ESRI and internally they’ve caught many bugs that might not have been caught without the crash reporter.  In addition ESRI is using Coverity to help uncover hidden bugs in the code (read some of these case studies, very interesting stuff).  I was told that they found stuff that has been hidden for years in the code that would have caused problems, but for one reason or another never was discovered.  I think it is safe to say the 9.3 code base will be as bug free as anything they’ve ever released (hold for joke) and given how short this beta period is I think they are confident that they’ve delivered on this.

The focus at 9.3 is stability, performance and security.  Those are 3 areas I know have been a great concern for most ESRI users/developers and the examples that we were given between 9.2 and 9.3 showed great performance increases (I can’t comment on stability until I’ve worked with 9.3 for a while).  The new security improvements aren’t revolutionary, but address the specific concerns users have had with the product (specifically check out the security presentation on EDN from the DevSummit for the details).

ArcGIS Server

Well there are tons of new "exciting" features with 9.3 as we’ve all heard.  First of the REST API is the real deal.  The REST API can server up tiles to Google Maps and Virtual Earth (assuming you use the "web Mercator" projection) and the ability to use ArcGIS Server with Yahoo! pipes really opens the possibilities of taking ArcGIS Server and moving it into areas that we’ve not been working in.  Providing results from Geoprocessing is as easy as appending f=kmz to the URL (don’t you just love RESTful services?).  The JavaScript API is based on Dojo so you’ve got some power in there to make some really interesting JavaScript applications.  The Google Maps and Virtual Earth (2D and 3D support) extenders allow you to bring your ArcGIS Server services right into consumer mapping products.  The JavaScript API is hosted by ESRI and in the Akamai cloud so it should be very stable anywhere in the world.  We’ll be seeing a ton of new applications out there based on the JavaScript API in the next year, that I’m sure of. 

Now don’t forget about the .NET Web ADF (didn’t hit any Java sessions this year).  It is now what ESRI is calling a "hybrid" model meaning that there is both server and client side stuff going on (rather than the total server side stuff at 9.2).  The key new feature is ASP.NET AJAX, but it is still very compatible with 9.2 projects (usually just change a line or two of code and your old projects should still work).  The core controls are now scriptable with the ASP.NET AJAX libraries so you can do a ton more on the client than you did before.  The JavaScript API in the Web ADF is totally different than the other one (the Server JavaScript API for use with RESTful) so your code may have to be customized between the two versions if you jump between the REST API and the Web ADF.  The Task Framework is much improved and you can now build them using User Contols.  In addition they are releasing tasks into the code gallery on the ESRI Resource Center for Server (I’ll talk more about the Resource Centers later) so you’ll be able to see what ESRI has done and create your own modifications.  The documentation in the Resource Center is so much better than what was available in 9.3.  The examples are great and the explanations are detailed and well written.  The performance of the Web ADF at 9.3 has increased at least 100% if not more.  If you ever blended two data sources (one tiled, one dynamic) you know that it takes the dynamic one time to match the tile scheme that the tile scheme already existing.  Now each resource has its own tiling scheme and the layers load much faster.  The Web ADF (and obviously the JavaScript API above) will be "uncoupled" from the ArcGIS Server release schedule.  This means that you won’t have to wait years for new features to be implemented.  Silverlight 2.0 support will probably happen way before 9.4 arrives which would have us all complaining down the road I’m sure.  Dave Bouwman has a great write-up on the details of the .NET session so head over to his blog to read up on his thoughts.

ArcGIS Explorer

I’ve already posted on the new features in the 480 release due in May and the 600/700 release due by the end of the year in my Plenary session post, but I’ll list some of the new features in Explorer that caught my eye.  First off 480 will increase performance (multi-threaded), direct connect to SDE, GPX support, GeoRSS support and improved task frameworks and popups (the bubbles).  Build 600 has the new Microsoft "ribbon" interface and looks great.  From a usability standpoint, the information you are working with gets presented right to you and not hidden by interfaces.  You will also be able to finally view the maps in 2D mode.  I think this will be a boon to organizations who are using AGX as a decision making tool.  Ease of use goes a long way.  The "enhanced" ArcGIS Explorer SDK will allow you to embed AGX inside your applications.  I asked how ESRI would charge for this SDK and they are still thinking about it (will the SDK be free and the deployments cost, will the SDK cost and deployments be free, or will everything be free).

ESRI Resource Centers

New at 9.3 is the ESRI Resource Centers.  You’ve already been looking at the first one for quite some time (the ArcGIS Explorer Resource Center) and the ones for ArcGIS Server, Desktop, Engine, Image Server, Mobile, IMS and Geodatabase are currently available for those in the 9.3 beta program.  These are help centers where you can get support, online help, code samples, interactive SDKs and other resources that you can use with developing (or even using) the ArcGIS Platform.  The forums are due to be re-launched based on the Beta forums (which means you’ll be able to subscribe to a forum topic via RSS).  There will be many new blogs available from teams that haven’t blogged yet and there *might* be community aspects introduced as well.  How this all interacts with the EDN site I have no idea. 

Issues?

The one thing that scares me and Dave Bouwman did bring it up at the closing session is overselling what you can do with the new REST API and JavaScript API.  Have sales staff running around that you can create "rich" JavaScript applications "consuming" ArcGIS Server services using only 12 lines of code is going to put many of us in a bind.  JavaScript is easy to pick up, but that doesn’t mean you’ll be adding complex geoprocessing to your Google Maps mashup with one line.  The speed that you can develop has increased, but the complexity will still be there.   The JavaScript API will increase your productivity, no doubt.  But telling everyone all you need is 12 lines of code will result in disappointment. 

What now?

Well I’ve got both ArcGIS Server and ArcGIS Desktop installed on my laptop and they seem very stable.  Moving forward I think we’ll jump with both feet into the RESTful API and the JavaScript APIs.  I think users will want to get their services published via the REST API as soon as possible so Google can start indexing them.  What a great way for organizations who want to share their data with the community, just publish and let Google index your services.  The ArcGIS Services Explorer is going to be a great tool to learn what is available out there.  I had quite a few ArcIMS developers say that they can finally feel comfortable working with ArcGIS Server.  The .NET and Java Web ADFs were too much for them and they were usually used to working with simple HTML pages.  Compare the speed of JSON vs the speed of sending XML (AXL) requests to the server and see how fast you get a response.  It really does highlight why the community at large has really moved to JSON.

So go get on the 9.3 beta, but you’ve got to hurry as 9.3 RTM could happen as early as "June".

ArcGIS 9.3 Beta

I don’t think there is anything wrong swinging by the office on the way home from the Developer Summit to pick up the 9.3 Beta disks to install tonight while I watch UCLA destroy Mississippi Valley State. My wife just doesn’t understand me but I’m happy with who I am.


Lets see, I have my .NET Sombrero beer hat and cigar. I’m ready to install the ArcGIS Beta

ArcGIS Server for ArcIMS Developers

I like that ESRI has started to focus on getting ArcIMS developers ready for their eventual move to ArcGIS Server. There is a podcast up describing the “ArcGIS Server for ArcIMS Developers” session at the Developer Summit.

ESRI has no ArcIMS technical sessions planned for the 2008 Dev Summit so everyone should take that as a sign as the future of ArcIMS. Time to migrate folks.


MechaArcGIS consoling ArcIMS on its fate

Multi-cores and 64-bit GIS

We’ve hit on this discussion before and with the Developer Summit coming up maybe it is a good time to think about the direction processors and their movement to multi-cores and 64-bit processors.

At 9.3, ArcGIS Server Enterprise (or whatever ArcSDE is called these days) will move to 64-bit. This is a huge improvement as I would guess most new database deployments are built on 64-bit servers. But clearly ArcGIS Server itself is not going to be 64-bit at 9.3. When spec’ing out new servers, it is impossible not to go down the 64-bit route and servers going multi-core only in the next year ArcGIS Server will only get slower because it cannot take advantage of new technology. With the focus moving from clock speeds to cores, ArcGIS Server users run the risk of being stuck at a level of performance that is going to be unacceptable in the future.

I’ve been told that ArcGIS 10 will support multi-core/64-bit, but given that it probably won’t go final until at least late 2009/early 2010 that means we’ll be running into trouble way before we can even deploy beta version of ArcGIS 10. But is this really a concern for users? Generally speaking, most folks I’ve talked to don’t seem to really be bothered by this and maybe that is why ESRI is waiting until v10 to ship multi-core support.

Is the lack of 64-bit ArcGIS Server going to impact your business moving forward?


Moony only runs 64-bit servers, do you?

ArcGIS 9.2 Service Pack 5

ArcGIS 9.2 Service Pack 5 will be available by the end of March. This appears to be a “true” service pack release and not a feature release. I’m not sure I’ll bother installing it on our ArcGIS Server implementations, but we’ll deploy on all our ArcGIS Desktop seats. One change did catch my eye.

Launching maps and globes from web pages (new in SP5)

  • Service Pack 5 includes a fix that enables you to launch maps (MXDs), globes (3DDs) and scenes (SXDs) by clicking on them in web pages. Previously you had to right-click the files and save them to a folder, and then launch them from the folder. With this fix, it is much easier to launch maps and globes containing internet content, such as those on the ArcGIS Online beta website: http://arcgisonline.esri.com/index.cfm?fa=access.desktop
    This enhancement provides a useful way to make map services that you are serving with ArcIMS or ArcGIS Server easily accessible to other ArcGIS Desktop users, because you can simply include a map or globe referencing your service(s) on a web page.
    Layer files can also be added to web pages for download, but ArcGIS Desktop 9.2 users have to right-click on a layer file on a web page and save it to a folder in order to access it. In the ArcGIS Desktop 9.3 release we are adding full support for adding layer files from web pages to your maps and globes simply by clicking on them.

U.S. Navy to require “open GIS”

A reader forwarded me this article from Federal Computer Week about the Navy looking at only accepting “systems based on open technologies and standards”.

Vice Adm. Mark Edwards, deputy chief of naval operations for communications, broke the news March 5 to a Navy IT Day audience in Vienna, Va., sponsored by AFCEA International. “The days of proprietary technology must come to an end,” he said. “We will no longer accept systems that couple hardware, software and data.”

By using an open network architecture, the Navy could rapidly upgrade its capabilities and handle increases for demand, Edwards said. “Above all, we must break the stovepipes of data so that we can share information across domains,” he said.

Now he is talking in general (no pun intended) here, but the point is clear. If you want to do business with the Navy, including GIS, you’ll need to support open standards. I’m guessing this means using WMS with your ArcIMS and ArcGIS Server implementations and not using Personal Geodatabases anymore. I’m pretty sure loading the data into SQL Server 2008 Spatial and then connecting to it from ArcMap is acceptable, but we are going to start having to change the way we implement GIS for our Navy clients.

Should be interesting to see how quickly this gets implemented.


Navy personnel excited about leaving “stovepipe GIS”

ESRI’s Web ADF is one horrific development platform

Doron Yaacoby writes that he’s absolutely frustrated with ESRI’s Web ADF.

As I’ve said before, this is one horrific development platform. I’ve started to seriously think about coding a replacement that will work against ArcObjects (at least something that will satisfy my team’s needs), but it would take a lot of time which we currently do not posses. One day, though, one day.

I think most of us have felt this way. He had earlier said this about the ADF:

…the API is riddled with bad design choices and bugs. Weird exceptions get thrown. You find out that there are 5 different classes that are called Converter in this API, in 5 different namespaces, which in some situations can definitely be used together. Documentation for most methods is something like: Map.GetFunctionalities – “Returns the functionalities of the map.” Oh really? Now I couldn’t guess that on my own. I should mention that since the initial release the documentation has improved a lot, but it is still no paradise. Recent documentation for this method (added since Service Pack 2, if I am not mistaken), explains that it returns a collection of IMapFunctionality. So why, why oh why, does this method has a return value of IEnumerable? This is a .net 2.0 only library, for pit’s sake, they can use generics. And they do, in many other places. Here, they don’t. This kind of API inconsistency can drive a man insane, I tell you.

The WebADF which was supposed to help ArcGIS Server developers ends up being more of a hindrance to them. We looked at the ADF early on for our products but my lead developer threw up his hands and said no more and I spent a whole week trying to write a WebTask and it was virtually impossible to figure out. Sure it works great for ESRI’s example but when you try and extend beyond what they’ve documented you might as well be coding with your eyes closed.


I haven’t tried coding with the WebADF with a bucket on my head yet

This brings up a bigger issue with ESRI products lately. With long lead times between versions, we get so much more added functionality in each release. So rather than small jumps where feedback can help grow the product we are left with frameworks being dumped on us and we have to figure it out because of poor documentation. Sure 9.3 is supposed to fix all this, but 9.2 has been out since November 2006 and if 9.3 is released to beta right before the Dev Summit how much do you want to bet that the final comes out near November 2008, almost 2 years later. So in the mean time, developers such as me get so damn frustrated working with ArcGIS Server WebADF that we toss it aside. And don’t get me started on ArcGIS Server 64bit.

As Doron says:

For the amount of money an ArcGIS Server license costs, a .NET developer like me could very well expect a decent .NET API to work with. The Web ADF is a .NET API, but it is hardly as powerful as ArcObjects are, nor is it any kind of decent.

Could all this be why so many ArcGIS Server developers I know are looking at SharpMap?

TileCache 2.0 Released with ArcIMS Support

TileCache 2.0 has been released with support for ArcIMS AXL requests. This should be of great interest to users of ArcIMS who want to create a tile cache. If you have a server that can run Python CGI and has write access to the hard drive and an ArcIMS Web Service, you can create tiles. Now your ArcIMS site will have the performance of the tile cache and you can even use the cache with the OpenLayers client. I’m really anxious to give this a try when I get back from vacation on some of our older ArcIMS sites.

In addition Christopher Schmidt says there is also limited support for KML Super-Overlays in Google Earth. We’ve had great luck with Arc2Earth and using super-overlays created directly from ArcMap and using TileCache in Google Earth just as interesting to me. Definitely have to look more into that (just think, ArcIMS in Google Earth using super-overlay). Christopher also mentions that Amazon S3 is available. I’ve really taken to leveraging Amazon S3 with sharing our datasets. The costs are just so inexpensive that I cannot think of hosting data any other way. TileCache just became much more valuable to our workflows with S3 support.

So as Agent J might say from MIB II; you can take your old “old and busted” ArcIMS web service and turn it into new hotness with TileCache.