Talk

A Geospatial Developer's Agenda for the 2014 Esri UC

gis-developer

The UC is just around the corner and will be here before we know it. With the plethora of sessions available to attend it can be very difficult to make the ideal use of your time. Because this will be the first UC I have attended I wanted to ensure that I didn’t miss any session relevant to my interests.

In the spirit of Open Source Software (OSS) I have created a simple pseudo-script to create a list of sessions best matching my goals.

 
/*
  The MIT License (MIT)
 
  Copyright (c) 2014 James Gibson

 
  Disclaimer: I'm not sure what lauguage pseudo-code falls under.
*/
import esri.*;
import weather.warmth;
import antigravity;
 
public class UC_Attendee impements IConferenceAttendee
{
    private var _developer:IDeveloper;
    private var _personalExpectations = new Array();
    private var _uc:ESRI.UC;
 
    public function UC_Attendee(developer:IDeveloper, event:IEvent)
    {
        _developer = developer;
        _uc = ESRI.UC(event);
       
        //lets prepare the attendees expectations
        developExpectations();
       
    }
 
    public function getExpectations():IList
    {
        return _personalExpectations;
    }
 
    private function developExpectations():void
    {
        //Retrieve the list of UC sessions
        var sessions:Array = _uc.sessions;
 
        var rankSessionByInterest = function(session:ISession)
        {
            //My personal interests
            var interests:Array = ["js","javascript","node","real time","open source","git","API"];
            var title:String = session.title;
            var sessionScore:int = 0;
 
            for (interest in interests)
            {
                if (title.contains(interest))
                {
                    //Every session that matches an interest is awarded an additional point
                    sessionScore += 1;
                }
            }
 
            return sessionScore;
        }
 
        //lets rank every session against my interests
        for (session in sessions)
        {
            var sessionRank:int = rankSessionByInterest(session);
   
            //For sessions that interest me, add them to the list of "to attend" sessions
            if (sessionRank >= 3)
            {
                _personalExpectations.addItem(session)
            }
        }
 
        //Ensure that any listeners are updated with the finalized list of interests/expectations
        dispatchEvent("sessions_ranked_by_interests", true);
    }
}

After executing my pseudo-code mentally, I will be planning on attending “Accessing and Visualizing Esri GeoServices with ArcGIS API for JavaScript, D3, and Node.js”. I believe there is near unlimited potential to instantly utilize a person’s location and enable the environment react, and being able to visualize this interaction will be the first step in this process.

And who knows, I might be able reuse this script for the next UC!

Start the conversation