7.1.04 Map Tool Flowchart
The Map Tool code is big and extensive, so we thought it would be helpful to make a flowchart of the code. After spending a whole day checking out UML plug-ins for Netbeans and Eclipse, I realized that all the best visualization tools cost upwards of a thousand dollars and don't always work right.
ArgoUML is a good open-source one but I couldn't get it to automate the dependencies (which I think they call 'reverse engineering'). So Lu and I ended up just making a flowchart in Powerpoint by hand. The flowchart is mostly for me, so that I have an easier time seeing what extends and implements what else.
Map Tool Structure Flowchart.ppt
7.23.04 Group Meeting on GeoCollaboration
Lu and I met with Craig, the lab's main Software Architect, my mentor, Mary Beth, and Prof. Jack Carroll, head of our Lab, to discuss all of our geocollaboration-related projects. Topics covered:
1. GeoTools 2.0 in BRIDGE - Lu and I will work with Craig next week on coding the latest GeoTools shapefile renderer in BRIDGE.
2. Geo-referencing image maps(like .tiff's or .jpg's) to digital GIS formats is a very complicated and indefinite process according to all the experts (GeoTools users list, Imaging expert Prof. James Wang, Sanborn Maps Co.) we've asked, so we're considering just using the whiteboard tool for the Penn. Underground Railroad Project. That way they can start to use the already implemented tool in BRIDGE with their 1880's Sanborn maps as image files.
3. Geocollaborative Crisis Management - We're going to set up a meeting with Prof. Guoray Cai next week so that he can demo his speech/gesture-recognition collaborative map interface tool and we can discuss possible collaborative efforts with his group. They're working on some cool remote stuff like tracking the spread of the West Nile Virus.
4. Lu presented her thesis idea for the first time to everyone. She would like to do research on Group Memory in Geocollaboration: how visual representations in spatial collaboration can affect group memory enhancement. She's still in the early stages of exploring the idea so I'll write more about it later on.
5. My paper on synchronous CSCW Architectures that support collaborative map editing tools - This is my baby for the summer. I'm currently plowing my way through a big stack of papers. Interestingly, Mary Beth said that the genre of CSCW Architecture papers had it's peak in the mid-90's but lately it's tapered off because people nowadays just use what applications exist for this. However there's a bi-annual CSCW conference that is a great resource for this stuff. Since this paper merges Networking, Operating Systems and Software Architectures, this is a really educational CS topic for me, as well as a relevant HCI topic.
7.7.04 Conference Call with Infopatterns
Prof. Jack Carroll set up a conference call with one of the founders of Information Patterns who have created Toucan Navigate, a synchronous, collaborative map tool built for the Groove platform. Groove is a commercial, Windows-only, .NET-based collaborative environment for which many satellite companies build plug-in tools. Groove is one of the best CSCW systems I've ever tried out.
Although Groove is architecturally different from Bridge, Toucan Navigate looks like a spectacular collaborative map tool and we are very interested in doing some research with it. We are currently looking into an emergency response crew usability study as well as a formal software architecture comparison of current collaborative, synchronous map tools.
This includes Toucan Navigate, our map tool in Bridge, Jin's mouse-events demo (see my 6.16.04 entry ) and whatever related prototypes we can find.
Here is a screenshot of Infopattern's Toucan Navigate:
© Information Patterns LLC
7.29.04 How to write a paper on an emergent and complex topic as a lowly undergrad with little background
Since geocollaboration architecture papers don't exist, much of what I end up writing is going to be very um, inductive. There are synchronous CSCW architecture papers and GIS application research papers, but no GIS for CSCW papers. Never mind that this would ideally be written by a GIS expert.
I had a long discussion this morning with my mentor, Mary Beth, and Lauren to get some much-needed help on figuring out how to write on this murky topic and what the scope should be. Yesterday I also had a long discussion with my graduate mentor, Lu, on incisive approaches to take.
Lu suggested picking a few synchronous GIS requirements and analyzing what kinds of architectures could support them. Mary Beth suggested something very similar, which is to make up a sample scenario (she's written a whole textbook on scenario-based design, Scenario-based Usability Engineering), consider what CSCW tools would be required to support my scenario, and then consider which architectures could best support those tools. The choice of using a guiding but completely hypothetical scenario presents the paper from the get-go as an exploratory exercise, which is all I probably am capable of at this point.
Also, since Lu strongly emphasized that I should write a paper on what I'm really, really interested in, I also got the ok from Mary Beth to make a mock-up user interface for some synchronous, collaborative GIS tools. Doing a mock-up UI is going to be so much fun and I'm very relieved that after a few discussions this paper went from a confusing and daunting task to something exploratory, design-centered and playful, as well as a great capstone on what I've learned this summer, rather than an exercise in learning just how much I don't know.
Meeting Notes.doc
(My notes after the meeting.)
Intial Issues & Literature Review.doc
(My notes before the meeting.)
7.27.04 Facing what I've been totally avoiding
So Lu confronted me today about the fact that I've managed to completely sidestep having to work on the map tool code in Bridge. I've been hiding behind my architecture paper instead. I admit that she's totally right, and that my justifications for doing it: 'but I don't know Java well enough,' 'since the code isn't commented I'd be programming blind in the middle of a dark and scary forest,' 'debugging it would be such a nightmare' (but debugging usually is anyway), and 'my strengths lie elsewhere,' were all lame-duck statements she would not buy.
So after some guilty deliberation we've worked out a plan that I will spend 2.5 days per week for the rest of my internship working on a simple line drawing tool in the map tool in Bridge. Back to checking out the Java 2D AWT. Lu is so great for making me admit to and face my big fear.
7.8.04 Lunch with our HCI gurus
Lauren had the great idea of inviting our mentor, Prof. Mary Beth Rosson and her husband, Prof. John Carroll (who is head of the CSCL Lab we work in), out to lunch at Zola, the best restaurant we know of in State College. We wanted to talk to them about HCI, careers, grad schools, academia, and what the major computer science problem spaces in HCI are, since HCI seems like such a cabbage patch of subfields.
Mary Beth highlighted three main areas: 1) Software Architectures that support HCI subfields like Computer-Supported Collaborative Work 2) User Interface design 3) Intelligent Agents that aid in subfields like Knowledge Management. It was really important for us to hear this since we've been struggling to figure out how CS and HCI intersect for the past few weeks.
They also told us about their interesting careers: they were both instrumental in helping to forge the relatively young field of HCI and it was great to get a first-hand account, including what it was like to work for IBM Research.
7.15.04 Meeting with James MacGill from GeoVISTA
We met with James MacGill, one of the original developers of the GeoTools GIS Java toolkit. One of the major projects Lu and I have been working on this past week is building the GeoTools source on our local machines and trying to find ways to use their renderer in the Bridge code. We were hoping to get some ideas for how to integrate Bridge and GeoTools.
A huge component that Lu is currently working on is rendering real-time Bridge maps in web browsers. James recommended using GeoServer, which is an open-source tool built using GeoTools for GIS web services. The map data is actually sent as GML/SLD data through an http request using the Simple Object Access Protocol (SOAP), which is a really compact transmission, but often a special client browser for viewing this kind of data is needed.
7.20.04 Old Maps to New Maps
We're trying to figure out how to help Karen James from Pennsylania's Underground Railroad Project (see article about the URR project) convert all of the 1880's Sanborn Maps they use to digital formats, so we can display them in Bridge. Converting image maps to digital format is complicated, especially given that the older hand-drawn maps do not share current GIS standards and many have a lot of tiny writing all over them:
There is however, a process called geo-referencing in which we can convert an image map to a digital GIS one by finding two geographic coordinates on an image and figuring out the scale. Then hopefully we can convert the geo-referenced image map to some GIS format like a shapefile. Lu and I are going to try this out at Penn State's Maps Library, which has ArcGIS.
7.14.04 Gabriel's Toucan Navigate Demo
This afternoon Gabriel Coch from Infopatterns gave us a demo of Toucan Navigate. Their goal is to integrate the tool with advanced collaboration techniques, and it shows, because the tool is really user-friendly and easy to dive into, outlining simple rules of engagement for group end-users.
Currently it is being used by the UN for some crisis management mapping work, so there are several features that support making maps with disaster, refugee, bomb threat and civil disturbance markers. Also key is that the system uses 192-bit encryption, which is a big feature of the Groove system, since it is intended for sensitive business use. Since Groove supports outside companies who are interested in developing plug-in tools (like Toucan Navigate) to their platform, the Groove API is publicly available.
Lu and I are working on a proposal for doing research with Toucan Navigate. We are considering an emergency-response management usability study and an architecture overview of collaborative map tools in synchronous CSCWs. Aside from Toucan Navigate and the early tool we have in Bridge, there simply aren't that many in existence right now. I'm interested in the architecture overview since it has a more computer science bent.
7.22.04 Project change
Today I met with Mary Beth after our weekly Informal Learning Software Development meeting to discuss the user study we had proposed of Toucan Navigate. Yesterday Prof. Guoray Cai got back to us about the possibility of using Toucan Navigate along with some of his GeoCollaborative Crisis Management project, so Lu and I have decided to hold off on the study until something longer-term and much more informative (such as involving more complicated spatial problem solving) can be implemented. Map editing isn't the kind of thing that can be easily finished in one sitting. We will meet with everyone on Friday and Prof. Cai next week to talk about the possibilities for collaborative research.
So for now, my main goal is to focus on the CSCW map tool architecture paper, for which I am currently at the gathering and reading references phase, along with the GeoTools/Bridge stuff and image-to-shapefile issue. Now I can learn more about networking and distributed OS types.
7.13.04 Mary Beth explains CSCWs and HCI
Mary Beth met with Lauren and me to personally give us an overview of HCI and Computer-Supported Collaborative Work theory. One of her grad students gave us all the lectures notes from her Information Sciences course in CSCW theory, so we had a bunch of questions based on everything we've been reading about.
Human-Computer Interaction is an interesting field because it originated in cognitive psychology but has grown to include a lot of fields such as organization theory, work studies, participatory design, cognitive modeling, group systems, sociology, anthropology, etc. CSCWs and synchronous groupware are also a major subfield in HCI and a huge part of what the CSCL lab does, especially how learners make meaning from the tools and representation schemas that are used in these systems.
It was helpful to see CSCW & HCI stuff in terms of a big spectrum of research, ranging all the way from cognitive psych perceptual motor modeling to visualization and language metaphors, to community and organization groupware studies, with each subfield having its own specialized terminology and models.
One really interesting subfield is Distribted Cognition which looks at how a large system enacts a task, rather than individuals. This area focuses on the artifacts that are 'offloaded' from a distributed group cognitive task, these artifacts becoming the memes which a system enacts memory, analysis, design, etc.
7.19.04 Alistair Sutcliffe Visits from the UK
Alistair Sutcliffe , director of the Centre for HCI Design at the University of Manchester Institute of Science and Technology (UMIST), visited the IST School today to give a talk on Bayesian network-based software his group has developed to do automated scenario-based systems and requirements testing: the Online System Reliability Analyser Tool. It's being used by the British Navy to simulate possible scenarios using different inputs, such as how different socio-technical factors such as human stress level or equipment age would affect strategic outcomes in a hypothetical confrontation.
Although I could only vaguely grasp what he was talking about, his discussion of Bayesian nets sparked my interest because it's a useful tool for optimizing high-level designs of expensive systems. This tool shows the trade-offs between using certain people or different equipment, which is important task analysis data for engineers who are designing complicated systems for say, a submarine. He also noted that tools such as his that do environmental task analysis using Bayesian modeling are rare.
7.28.04 HELLOOOOO SIGGRAPH 2004!
Lauren and I were jumping for joy this morning because the generous DMP has approved our travel request to go to SIGGRAPH in L.A. August 8th-12th. I've been told that the conference totally takes over downtown L.A. for those days, and there will be like over 30,000 people there. Wow!
We're both going to attend all the intensive overview courses we can on the latest in Graphics Display Technologies, Unconventional Human-Computer Interfaces, OpenGL Programming, Bayesian Learning, Image-Based Modeling...the list is huge and there will also be tons of panels and presentations. I'm especially psyched for the mini-course on Visualizing Geospatial Data , which will apply directly to what I'm doing with my internship. Aside from all that, there will be a humungo exhibition with a multi-verse of wonderful jazzy computer graphics, gaming, animation, virtual environments, the latest in emerging graphics and interactive technologies, a guerilla studio in digital art, all of which is the stuff that really makes me excited about computer science. It will be the best cross-section of the computer graphics and interactive design industry and academy there is.
Other than computer flea markets where I used to shop for cheap computer parts, I've never been to a huge computer conference like this before. This'll be the perfect place to see a lot of different ways to be crazy and creative with technology. Lauren says it will also be a great place to look into graduate research labs to apply to.
(Someone's past SIGGRAPH exhibition photo)