1. Best Talks at PyCon US 2013

    Sun 2013-03-24 16:00

    I didn't make it to PyCon this year but I'm really enjoying the talk videos posted at PyVideo. If you're interested in Python, these are very worth watching. The production quality is good and they are under 30 minutes each. Here are some of my favorites.

    [Alex Martelli: "Good enough" is good enough!] For me, watching this talk is like going to a revival meeting, getting fired up all over again, then having this uncomfortable realization that you have a lot to live up to.

    [Daniel Lindsley: How (Not) To Build An OSS Community.] This is another talk I find humbling. Our research group at NASA builds a lot of open source software that works well for the needs of our clients, but we have never had a lot of success engaging a wider user base or outside developers. Daniel does a great job of laying out what we need to do, but are not doing.

    [Hynek Schlawack: Solid Python Application Deployments For Everybody.] Watch if you deploy web apps. Hugely entertaining. You may agree or disagree but you will never be left wondering what Hynek thinks! His speaker slides have the links.

  2. NASA Exploration Ground Data System (xGDS) at Google Tech Talk

    Fri 2013-03-15 16:53

    Matt Deans gave a Google Tech Talk about our NASA Exploration Ground Data Systems (xGDS) project on Tuesday. Matt is the xGDS project lead and I think this is the best overview presentation I've seen yet.

    To support the talk I finally got around to making an xGDS project web page. We've done so many interesting interfaces and supported so many cool science teams that the page really doesn't do the project justice, but it's a start...

  3. TrailScribe tablet for field science

    Tue 2013-02-26 16:44

    TrailScribe is a concept design for how scientists could use tablet computers as enhanced field notebooks to improve their workflow.

    TrailScribe is one piece of the "Digital Field Assistant" concept I first started talking about in 2011. The idea is to organize field science data collection and sharing with a combination of phones, tablets, sensors, laptop servers, and the software to make them work together.

    Youngwook Jung, a very talented Ph.D. design student from KAIST, worked with me in Fall 2012 to develop interface wireframes and artwork and produce this video.

    TrailScribe tablets have three main uses:

    • Data collection. A scientist collecting a data set in the field can define the format of the data records they want to collect, including timestamps, GPS position, photos, bar codes identifying sample bags, and voice or touch data entry. TrailScribe can fill some of these fields automatically and simplifies others. The objective is to reduce data collection effort and produce a richer and better organized data set.
    • Situation awareness. With overnight synchronization through a laptop server in the field, all members of the science team get up-to-date access to all the data collected so far, even while they are offline in the field.
    • Field safety. By daily sharing of digital traverse plans and tracking check-ins with an automated roster, the team can keep better tabs on each other, improving field safety.

    Young and I had so many ideas for TrailScribe that it was a real challenge to focus on just a few so we could produce a short video. One guiding principle was to look for low-hanging fruit: it's easier to change workflow than develop software, and it's easier to develop software than to develop hardware. All of the functionalities illustrated in the concept video can be implemented with off-the-shelf hardware components.

    Another way of looking at TrailScribe is that it merges the field test support features we developed on the Exploration Ground Data Systems Project with our experience supporting field operations using mobile apps on the NASA GeoCam Project. This background puts us in a great position to implement the TrailScribe system.

    Going forward, we're looking for a field science operation to collaborate with on a funding proposal, so we can take this past the concept design stage.

  4. MapFasten map alignment web app

    Mon 2013-02-25 19:59

    MapFasten (web app, source on GitHub) is a tool for aligning an image or PDF with other map layers so you can use it more effectively.

    The basic idea is that you find matching landmarks in your overlay and in the underlying map, add tie points to those landmarks, then the MapFasten solver will find the best alignment that makes the matching tie points line up. From there you can share the aligned overlay with your team and view it in other maps.

    Our NASA GeoCam Project team built MapFasten and our main clients were the Google Crisis Response Team.

    After a major disaster, the Crisis Response Team generates a Crisis Map, which is a set of many map layers that provide different kinds of information to aid responders and citizens in the affected area. Local organizations often have data that's important to share through a Crisis Map, but sometimes it comes in the form of a PDF or a scan of a printed document, so it's hard to combine with other map layers.

    The goal of MapFasten is to make it easier for those organizations to import their images, align them, and publish them in the Google Maps tiles format, which makes it easy to import the data into a Crisis Map. Although MapFasten's initial purpose is to support crisis response, it can be used to align any kind of map image and the result can be easily added to any map built on the Google Maps API.

    Map of New Orleans levee system aligned by MapFasten

    After Hurricane Isaac 2012, MapFasten was used to align this map of the New Orleans levee system

    We deployed MapFasten on Google App Engine in late 2012 but it will remain in closed beta testing until we can devote some time to making it more scalable and adding simple access controls so each user has their own sandbox to work in.

    Lots of interesting design decisions went into building the app and I might go into some of them in future posts. In the meantime, if you're interested in our take on the process of manually aligning maps, you can check out how our interface works in the tutorial video.