OSCON 2014: HTML5 JavaScript Storage for Structured Data

Yay, I’ll be at OSCON again this year! My presentation is on July 23, 2014 at 5pm in Portland Room 252. For those of you who aren’t familiar with OSCON, it’s one of the largest [if not ‘the’ largest] Open Source conventions in the U.S. Just take a look at the program schedule and you’ll see topics covering just about every open source project or initiative in existence.

I’ve learned a ton every time I’ve attended OSCON and I’m always happy to give back to the community in the form of presenting on lessons learned over the previous year.  In the past I’ve talked about HTML5 Geolocation and Android GPS. This time I’m presenting on best practices for IndexedDB.

If you’ve ever wanted to store large amounts of data in the browser then you’ve most likely read about IndexedDB. It’s a transactional database whereby you retrieve items via a key.  It’s an especially useful tool for taking data offline. While I will spend some time discussing what it is, I’ll spend most of my time on how to best use it. I’ll also examine the fastest way to retrieve data from the database, and look at considerations for pre- and post-processing which is something that is rarely discussed but can dramatically affect application performance.

I hope to see you there!

Esri Developer Summit – Washington D.C.

This year, for the first time, Esri has added a day of fun for our fellow geo-developers that work for the Federal government or who live and work in the Washington D.C area.  Tacked onto the end of the regular Federal GIS (Geographic Information System) conference, the Esri [Geo] Developer Summit will take place on Wednesday February 12, 2014. Consider it to be a full day of geo-geek coding goodness. If you are in the D.C. area and have requirements to do anything spatial or geo-related then you should definitely attend.

If you are already planning going to be there stop by and say “hi.” I’ll be presenting these three sessions:

–       ArcGIS API for JavaScript – Advanced Topics
–       ArcGIS API for JavaScript – Building Mobile Web Apps
–       ArcGIS Runtime SDK for Android – Building Applications

Last but definitely not least, if you can’t make that, our full-blown geo-developer conference is called the Esri International DevSummit and it takes place in Palm Springs, March 10 – 13. Over 1500 developers converge on this desert oasis to deep dive into all things geo.

4 most important tips for doing tech presentations

In my job I not only give many technical presentations per year but I also get to watch many technical presentations. At some point, if you do enough presentations requiring live demos you come up with a battle plan to try and thwart technical glitches that can turn an awesome presentation into spoiled milk. Unfortunately not all of us have a dedicated army of technicians like Steve Jobs did, so we have to fend for ourselves.

Here are my top four survival notes to help you stay in the game.

Internet connection. Conference internet is almost universally bad. It shouldn’t surprise you that if you are presenting to a room full of geeks that almost everyone in the room will be consuming cellular and WiFi bandwidth to some extent.

If you present enough times, I can practically guarantee that you will experience intermittent connections or complete failure at some point. This can be very frustrating if your demos require an internet connection.

So, there are several ways to keep plowing ahead when this problem occurs:

  • Take screen shots of any page in your application that requires a round-trip request to a webserver.
  • While you are at home or the office and have a relatively stable internet connection, make a video your demos. You can play this back on your laptop without an internet connection and simply talk through your demo as if it were live.
  • Pre-cache web pages before you go up on stage.
  • Have a portable cellular hot spot with you. So if the conference WiFi goes down, you can switch to the hotspot. Check the hotspot bandwidth ahead of time! In really big conferences even the cell signal can degrade as thousands of people compete for bandwidth.

True story. I was at a conference of approximately 4000 people in San Francisco.  In a workshop I was attending you had to download a very large file in order to properly set up the development environment. Instead of passing around thumb drives, most of the 75 people in the workshop tried to simultaneously download an executable that was approximately 750 MBs. It crashed the internet for the entire conference and most all of the technical presentations in the building came to a screeching halt.

Lesson learned: following these tips means you can keep presenting and be a hero even if the internet totally fails. The bonus is that the facebook/twitter/gamer addicted audience will have to pay attention to you because “they” won’t have any internet access.

Projector resolution. I use a Macbook Pro with a Retina display so I was totally hosed at a recent presentation because the projector forced my laptop into 800×600 presentation mode. Who uses 800×600 projectors anymore?? At a minimum I prepare for 1024×768 and I consider 1024×768 as the absolute bare minimum needed for technical demos. At 800×600 my screen real estate was so small I struggled to alternate between showing a web app in Chrome and demoing something in the developer tools. The Chrome user agent tools window, which is not resizable, took up more than half of the screen.

Lesson learned: when presenting at a new venue or a new room that you’ve never presenting in, always contact the conference coordinator ahead of time to verify the projector resolution .

Font size. It’s hard to see the code in most technical presentations. What looks normal to you on your 2880×1800 Retina Display looks like mitochondria under a microscope to the audience. If the audience can’t see your code you risk turning your great presentation instantly into a mediocre one that much less enjoyable to sit and watch.

And, as much as it drives presenters crazy, you will always have people sit in the farthest reaches of a room…and I mean way at the back. This can be especially true in very large conference rooms. To them your 12-point font settings in IntelliJ, XCode, Eclipse or Visual Studio make your code look like tiny, slightly blurry stars in the Milky Way Galaxy.

Lesson learned: There’s no such thing as making your font-size too large in a presentation. Seriously, crank up the font-size and then walk to the back of the presentation room and see if you can read it (without the aid of binoculars).  Also make use of your operating systems built-in zoom capabilities. Zoom into the hard-to-see parts of your demo. Another trick is to simply cut-and-paste your code directly into your presentation template and then crank it up to 28 point or greater font size. Wrap your text if it runs off the edge of the slide. Black text color on a white background works the best.

Screen Zoom on Mac

Screen Saver. I’ve seen it happen many times where the presenter is standing in front of the screen talking to the audience and their screen saver kicks in. Then they continue to talk about stuff we can supposedly see  while remaining unaware of what’s going on behind them. It’s even more embarrassing for the presenter if they have baby pandas or their family dogs as a screen saver image.  Or, when trying to log back in they mess up their password a time or two.

Lesson learned: make sure your screen saver is disabled before you present. Thanks to @geeknixta, he told me about an awesome little app on Mac that takes care of this problem with one click…it’s called Caffeine.

OSCON 2013 – Presentation on Android SDK Geolocation

If you are headed to OSCON, swing by my session on Mastering Android Geolocation. It’s a deep dive into the Android SDKs android.location package. If you’ve ever wanted to learn about the fundamental’s of the SDKs Geolocation capabilities then this is a must attend session. It will also give you a strong foundation to understand the underlying capabilities of the new Google Play Services SDK that includes Fused Location, Activity Recognition, and Geofencing APIs.

The presentation includes digging into the capabilities of my open source GPS Testing tool that lets you easily test different aspects of the Geolocation capabilities.

Here’s the details and I hope to see you there:

 Location, Location, Location: Mastering Android Geolocation
07/25/2013  5:00pm –  5:40pm PDT (40 minutes)
Room: Portland 251 (capacity: 200)

Hack4Colorado 2013 – Civic Hackathon

Do you live in Colorado and want to have fun playing with code, learn new APIs and datasets, and generally testing your coding “skillz” while under pressure and competing with other hotshot developers for prizes? If you answered “yes”, then I strongly recommend you check out the opportunities at the Hack4Colorado event which takes place on the weekend of May 31st. This event is part of a national civic hacking day where other States, Counties and Cities around the country are doing exactly the same thing.

The concept is simple. These events help promote open government data that can be used within applications that you build to solve everyday problems. So, these organizations provide you with cool data sets to choose from and you have fun building an application around it. Ideas include find the nearest rent-a-bike location, explore local hiking trails and so much more.

Full disclosure, Esri has also graciously offered to provide bountiful cash (yes, cash!) prizes. Other sponsors are offering Rokus, Kinects, and even Big Wheels (yes you also heard that right!). I even have an application in mind that I might try to build when I’m not helping other folks out.

What do you think? Hopefully I’ll see you there.

Esri DevSummit 2013 – Worlds Largest Geo Developer Conference

I will be presenting in Palm Springs, California in a few weeks and I hope to chat with some of you there. For those of you who are interesting in Geospatial, the Esri Developer Summit is the largest gathering of geo-spatial developers that I know of. I don’t know the exact numbers, but it’s going to be over 1,500 geo-geeks. If you want to learn about the technical aspects of geo-spatial this is “the” conference.

I’m going to be talking a lot about mobile this year and how to transition from the desktop environment to mobile. Sure there are lots of experts out there building awesome mobile apps, but there are also many, may developers, organizations and companies that are just starting to get their feet wet.

I have four topics this year, so swing on by and say “hi”. Oh, and be sure to bring sun block and hot weather clothes. I hear the temperatures my reach 100F! Here are my sessions:

  • Best Practices for HTML5 Geolocation – This will be an A-to-Z overview of the HTML5 Geocation API including the good and the not-so-good. (Tue. 2:30p, Demo Theater 2 and Thur., 1:15pm Mesquite G/H)
  • Getting Started with the ArcGIS Runtime SDK for Android – Great session if you are getting ready to start doing native geo-spatial development on Android (Mon. 1pm, Pasadena Rm.)
  • Building Mobile Applications with the ArcGIS API for Flex – Apache Flex is an incredibly easy-to-use platform where you can take one code base and compile for native iOS and Android. (Tue. 5:30pm Primrose C/D)
  • iOS and Android: Let’s have a hug – this is a fun session where @geeknixta and I get to make fun of each other as well as show off the similarities of our Runtime SDKs on iOS and Android. I’m the Android fanboy, of course. (Wed. 5:30pm, Catalina/Madera)