Ben Congleton

SSAPP: Simple Sensor Architecture for Pervasive Prototyping

Fall 2007 - Present

SSAPP is a simple distributed sensor architecture written in python. It was written to enable developers familiar with web programming to prototype simple ubicomp applications using familiar technologies. SSAPP users can communicate with sensors using XMLRPC and JSON, making it possible to write applications that use and intereact with sensor feeds entirely in javascript. Currently SSAPP has interfaces for detecting and maintaining lists of nearby bluetooth devices, streaming and taking still pictures using a standard webcam, detecting attention using Jackie Lee's Attention toolkit, and accessing datafeeds from motes using a crossbow netbridge.

SSAPP is portable and will run in most linux environments, it has been successfully deployed on embeded linux distributions such as crossbow netbridge, and maemo on a Nokia n800, however, it is relatively CPU intensive for some sensing operations so would probably require some modification if the embedded device was not strictly a sensor. SSAPP is used as the sensing platform for the ProD framework. Students have written software integrating SSAPP as a datafeed for processing visualizations, and using SSAPP as an interface for a network enabled photo gallery application.

Shadow Display Interaction

Fall 2006 - Present

Working with David Lee, Tom Ferris, and Shameem Hameed I built a system for collaborating using overlayed shadows on large shared displays. The image processing was implemented in Quartz Composer and Javascript. The whole project was made possible by Tom Finholt and Gary Olson's support, and help from the Duderstadt center's tech staff. So far, we have evaluated the quantitative difference between collaborating on a shared visual identification task using standard video conferencing technology and our shadow technique. We plan on continuing this line of research.

ProD Framework and Proactive Displays

Summer 2007 - Present

After completing the first prototype of the Prospero system I interned with Joe McCarthy at Nokia Research Palo Alto. During this internship Max Harper, Jiang Bian, and I built the C4 (Context, Content, and Community Collage) which was deployed a Nokia Research for about 9 months. The C4 system detected nearby users by detecting nearby Bluetooth devices, and then displaying photos from a user specified information feed (i.e. RSS, Flickr, Picasa) on nearby public display, augmenting the physical work with social media.

The ProD framework builds upon the lessons learned from Prospero and C4 providing an opensource public display framework designed to simplify the task of building audience-aware public display applications. Prospero provides abstractions for both the social and technical concerns for public display development, including extendable user profiles, context, privacy, and governance. The ProD framework uses SSAPP to maintain awareness of users in it's environment.

This research has resulted in a paper about our experiences deploying C4 at Nokia research, which was nominated for best of CSCW 2008, and a paper on the ProD framework to be presented at UIST 2008. I continue to be interested in both the design and development of proactive displays, there are currently two displays running a rewritten version of the C4 application using the ProD framework.

This project has been funded by STIET, GROCS, and Nokia. And would not have been possible without the help from Joe McCarthy, Mark Ackerman, Mark W. Newman, Michael Butler, David Hutchful, Hung Troung, Mouly Kumaraswamy, Perry Wong, Max Harper, and Jiang Bian.


Nethernet Consulting

Fall 1997 - Present

I founded Nethernet with Roland Osborne in late 1997 to provide web development solutions. Later Kevin Ferguson joined the team, and we built out Netherweb, our web hosting company. We have build clustered solutions using LinuxVirtualServer, HaProxy, Cisco Local Directors, and F5 BigIPs. We have developed full web solutions for many clients, included the University of William and Marry, RGBTech, Dulles Research, Clonlara School, and Running this company also provided invaluable experience building websolutions using PERL, Ruby, Python, ErLang, Mysql, and memcached.

HCIC Webmaster

Summer 2008 - Present

I am currently the webmaster for the Human Computer Interaction Consortium (HCIC). I work with the program committee to keep the website up to date. The website was primarily created by Matthew J. Bietz, and so my primary role is to keep his machine, well oiled ;-).

Spring 2007 - Present

I founded with Roland Osborne and Kevin Ferguson my partners in Nethernet in March of 2007. Together we have built a platform enabling web site owners to chat with visitors to their websites using their existing instant messenging clients. Roland did all of the amazing design. Kevin wrote early versions of the whole system, and most of the plugins for the ejabberd server that handles message routing, as well as Gtalk support. I wrote a large portion of the Javascript widget, rewrote Kevin's RPC server, implemented support for AOL and MSN. We current serve our chat box to over 27,000 visitors a day, and have over 1000 active users.

This project has provided invaluable experience building high performance web2.0 applications. I have written code in ErLang, Python, Javascript, and Ruby On Rails for this project. Our performance is optimized using a combination of memcacheD, in memory caching in python, and mysql optimizations.

Netherweb Webhosting

Spring 1998 - December 2008

I founded Netherweb with Kevin Ferguson and Roland Osborne at the begining of 1998. We built one of the first control panels for automating hosting companies, and developed a scaleable clustered hosting architecture which provides 99.999% uptime to this day.

We sold Netherweb to the Candian company Zenutech at the end of 2008.

Ubicomp 2008 Webmaster

Fall 2007 - Fall 2008

I built the Ubicomp 2008 website, and worked with the program committee to keep it up to date. Everyone should get a chance to be a conference webmaster at least once :-).

Enjoy Your Flight

Fall 2007 - Spring 2008

I served as an advisor to Aaron Johnson-Ortiz, Amadeaus Scott, Sayan Bhattarcharyya, and Katy Ralko on a GROCS Grant. They created and performed "Enjoy Your Flight, encounter surveillance and suspicion in an interactive airport environment". I also wrote software to read identification information from the magnetic strips of cards (i.e. credit cards, student IDs), query the UM LDAP server for information on each visitor, and then read the returned information outloud as each audience member passed through the security checkpoint. It was performed on April 4th and 5th at the Duderstadt Center's video studio with rave reviews.

Prospero: A Visual Commons Framework

Fall 2006 - Spring 2007

Paul Hartzog, Sayan Bhattarcharyya, Charles Kaylor, and I won a GROCS grant to develop Prospero. I ended up developing most of the code for this project. They key idea was to build displays and environments that were aware of their audience and reacted to their audience's preferences. In our prototype deployment a variety of information widgets were developed, widgets were were projected on the ceiling and displayed on LCD screens based on the preferences of users in the environment. For example, if visitors to the room had preferences for the bus times it would be prioritized over the default view of a flickr slideshow. Visitors in the room swiped their cards on a magnetic card reader in order to announce their presence to the display. Prospero was the first in a series of my projects focusing on building proactive display environments. However, it's focus on the allocation of display resources to people in the environment based on individual preferences, is no longer central to the rest of my work in this area, and I hope to return to it in the future.

PPCAST - Minimal Capture and Distribution of Classroom Lectures

Summer 2006 - Winter 2006

PPCAST was my followup to Jason Brotherton's dissertation work on classroom 2000. I built and deployed a system to automatically capture and distribute lectures using a powerpoint plugin and companion website. The system captured audio and slide transitions from powerpoint, and automatically uploaded these audio files and slides to a webserver. The webserver built searchable webpages from the lectures, and created itunes podcasts that sychonized the slides with the audio, and annotated with text from each slide. The application was deployed in 2 classes over the summer, and 2 classes in the fall. Additional plugins were written to enabled professors to capture slide transition from moodle, and synchronized the audio from a seperate recording.

This project was suppose to be my master's thesis. Unfortunately I left Virginia Tech to start a PhD program at the University of Michigan's school of information before my studies had been completed. I learned the hard way that it is pretty much impossible to run field studies without being physically present. Luckily I had a backup plan and was able to graduate with a Masters in Computer Science from Virginia Tech by transfering credits from the University of Michigan.

There is a lot of interesting material in my writeup including a detailed literature review of capture and access in classrooms and other environments, as well as, a good discussion of the pros and cons of a variety of capture/access solutions. Maybe I will revisit this material sometime.

CA3: Collaborative Annotation of Audio in Academica

Winter 2006 - Spring 2006

Codename: AudioAwesome. I build a web-based system for real-time tagging of audio feeds on mobile devices. John Booker built a flash application for viewing these tags and playing back the audio. We built and evaluated this tool, AudioAwesome, in two classroom situations to explore its use as a system for collaboratively creating meta-data on classroom audio recordings. Dr. Manuel Perez advised us on this project. This work was published at ACMSE 2007. Laurian Vega and Meg Kurdziolek evaluated this system as a tool to aid students with learning disabilities which is published in CIKM 2007.


CyberArt: Flat Earth

Fall 2005 - Spring 2006

I worked with George Luc, Alpha Chen, Caleb, Hosannah, Ira, and Kumni on this art piece. I wrote software that let visitors to our website contribute photos to be streamed in realtime accross 7 iMACs representing each continent of the world. I also helped build the structure that held the monitors, and designed the powerpoint presentation explaining our system. This piece was to be exhibited at the Blacksburg Arts Fusion Fair in 2006, but the gallery housing all of the CyberArt was deamed unfit for public access the day of the show.

CLEW - Criminal Logic Evaluation Web

Fall 2005 - Fall 2005

I build CLEW while taking Chris North's class in Information Visualization. It was developed with Laurian Vega and Meg Kurdziolek, and demonstrates how social networks can be built using both people and objects as nodes in order to explore interesting relationships. It was written in JAVA using Jeff Heer's PREFUSE toolkit.

My old Portfolio Page

Fall 2005 - Fall 2005

I created an old portolio page in 2005 for a class at Virginia Tech. Unfortunately the architecture made it a pain to update, and thus, I didn't. However, I really liked the design, and the content on the page was up to date at one point.

LINKUP Claims Reuse Repository

Fall 2003 - Winter 2005

I worked with Dr. Scott McCrickard, Shatab Wahid, and Jason Chong-Lee on the LINKUP claims repository. Justin Belcher did an amazing job on the design and layout. I helped develop modules to help designers capture design decisions for reuse, and also helped system administrate the servers. I worked as a GSRA on this project in the Fall of 2005. Publication lists to follow.



Winter 2004 - Spring 2004

I worked with Justin Belcher, Raheel Aidrus, Doug Hall, Shahzad Hussain, Matthew Jablonski, Theresa Klunk, and Dr. Scott McCrickard to help build an application to chart and notify users of flight prices on expedia. We studied how personas could be use to craft varying levels of notifications for different users. This work resulted in a publication at ACMSE 2005 and multiple awards at the annual VT Undergraduate Research Fair including the Deans Choice Award.


Nethernet Control Panel (CP)

Fall 1999 - Fall 2003

I lead development on the Nethernet Control panel, one of the first web-based control panels that allowed hosting clients to administer their sites using a simple web-based interface. Roland Osborne contributed the look and feel for this project. It was originally written using flat text files, and rather converted to mysql. Current Netherweb clients continue to use it to this day.

RSS Screen Saver VB.NET

Fall 2003 - Fall 2003

For BIT we were required to build relatively brainless applications. However, I managed to get my professor (Tabitha James) to let me build a relatively complex RSS screensaver as my term project. In 2003 RSS was pretty far from mainstream, so this was a nice way to explore parsing XML, network programming, and rendering graphics using I also learned a lot about screensavers, on windows, did you know a .SCR was just a renamed .EXE? with a few special command line arguments :-) ? redirection

Fall 2000 - Fall 2003 was my first project written in PHP. It was a simple script that allowed visitors to the site to create a domain alias for themselves. I.e. a user could register to redirect to The neat innovation was that Netherweb Webhosting clients could allow their domains to be listed on perfecturl so that other people could add subdomains on their site as well. I.e. one of their friends could have This site is still live, but I haven't looked at it in years.

Analysis of Microsoft SCOPE

Fall 2003 - Fall 2003

Working with a team of HCI students at Virginia tech we studied how different operating systems displayed notifications to users, and developed and tested a prototype system for providing awareness in a desktop environment.

Our work was largely based on:

Czerwinski, Mary, Eric Horvitz, Daniel Robbins, and Maarten van Dantzich. "Scope: Providing Awareness of Multiple Notification at a Glance." Microsoft Research. September 22, 2003.


Winter 2003 - Spring 2003

BenMail was my first java application. It was a simple, yet elegant email client written in Java using Swing, with all of the UI code written by hand. I was very impressed when it still ran to take these screenshots, 5 years after being written.

Winter 2000 - Summer 2001

A few friends and I created (the .com version of our school's website) to provide satire and parody. Just as we were getting off the ground, we found ourselves challenging the school board for our first amendment rights, let's just say, the ACLU is quite effective, unfortunately, the 'legal' issues caused us to lose interest in the site, and it never became what it could have been.


Spring 2001 - Spring 2001

I helped Alex Belgard and Alex Gershaft on TJDIR, the unofficial TJ directory, primarily by contributing the webhosting, and the site redesign.


Spring 2001 - Spring 2001

I developed the Nethernick Helpdesk system for Netherweb Webhosting. The system essentially provided a method for searching FAQs, and an administrative backend for answering and editing FAQs. Some derivitive of this work is still being used to generate the FAQ pages for Netherweb today. Roland Osborne did the amazing design.


Fall 1999 - Fall 2000

Nether-Log was one of my most popular simple scripts. Users could add detailed logging to their site just by adding one CGI script to their site, and adding one line of code to each page they wanted logged. It was written in perl, and was in the days before I knew mySQL. (i.e. flat file databases)

Website for AP Pyschology

Fall 1999 - Spring 2000

In 2000, I hadn't learned how to study, so my grades in AP Psychology were not wonderful. However, I did know how to make websites. I build two websites for extra credit in Mrs. Hannah's AP Psych class. They features online quizes, links, and were generally pretty good web resources

BWS Topsites

Winter 1998 - Spring 2000

I cofounded BWS, a site that provided an innovative way to rate websites. At our peak we were receiving over 100,000 hits a day, and earning over $1000 a month in ad revenue. I focused on the programming (done in PERL and originally with flat files and FLOCK, later converted to mysql). This was a great experience, but ultimately didn't work out due to issues with my partner at the time.

SuperComp: Ben's Image Viewer

Winter 2000 - Spring 2000

In Highschool, I built Ben's imageviewer using openGL and GLUT. It could open, perform filters on, and then save PPM files. It was my first foray into image processing and even featured a rough attempt at an edge detection algorithm.

SuperComp: Space Simulator

Winter 2000 - Spring 2000

Space Simulator is a bit strong, but this application generated a universe using openGL, by creating stars and planets. Once the universe was created you could fly the camera around using the keyboard. It was written in openGL in C++.

Nethernet Topsites

Fall 1999 - Spring 2000

The experience I gained building BWS, encouraged me to develop tools to help website owners build topsites. Nethernet Topsites was my foray into this area. Like most of my scripts at the time it was written without mySQL, and in PERL.


Fall 1999 - Fall 1999

Ilia Mirkin and I developed an easy to install mailing list management tool in PERL. This product was one of many products distributed by Nethernet Consulting.


Fall 1999 - Fall 1999

Ilia Mirkin and I developed a really simple shopping cart called nshop. It might have been used on one website. I can't really remember. What I do know, is that at the time shopping carts were still relatively new and it was a nice accomplishment especially considering it was developed before we knew anything about mySQL.

Fall 1999 - Fall 1999

A few friends and I from High School started as a place to review bands. The webserver the project was on crashed, and without good backups we never managed to bring the project back to life. This was also about the same time Netherweb Webhosting was taking off.


Fall 1999 - Fall 1999

Ilia Mirkin and I developed an incredibly easy to install guestbook. It was in the family of free scripts developed by Nethernet that were easy to install.


Fall 1999 - Fall 1999

Ilia Mirkin and I developed an incredibly easy to install form mailer. It was heavily used, and even mentioned in PC Magazine. The source code has been translated to German, and it is still used today.


Fall 1999 - Fall 1999

I developed NethernetTGP to help web site owners post photos online. It was developed back before the days of flickr, and picasa. It was written in PERL and mysql, and like most Nethernet scripts had nice HTML templates, that were seperated from the body of the code which surprizingly was quite an innovation at the time.


Fall 1999 - Fall 1999

NethernetWhois was developed back when the only place to buy domains was NetworkSolutions, and all domain registry actions were done via email. At the time Web hosting companies needed tools to help their clients register domains. I wrote Nethernet whois to help web hosting companies let their clients search the domain registry, and purchase domains. Like all of our Nethernet scripts, it was focused on being incredibly easy to install.

OmniSearch Metacrawler

Winter 1998 - Spring 1999

Ilia Mirkin and I developed omnisearch, one of the first meta-crawling search engines. It searched many of the popular search engines at the time concurrently including Infoseek, Hotbot, and Altavista. These were the pre-Google days. Later after Ilia and I had parted ways Nethernet sold copies of omnisearch to a few other companies, and partnered with Splitinfinity communications to develop omnisearch under the Whyseek label. The sale of this early meta crawler helped provide the seed capital for launching Netherweb Hosting.


Fall 1995 - Fall 1996

I ran an organization for computer security enthusists.