April 20, 2007

New Modules Installed and more

I finished up a first cut at a magic bus module today, and then wrote a framework that lets you time-split modules. For example, it is now possible to build a list of modules, assign weights to these modules, and then have the prospero system rotate through this list of modules where each module is displayed for a time relative to it's weight. In this case I added this module to the main prospero display, so it now rotates between user contributed pictures from flickr and the bus schedule. Hopefully, this will increase the number of people looking at the display.

The next step would be figuring out how to dynamically assign these module weights based on who has identified themselves to the machine.

In other news, I lowered the image cache for the flickr module, so now when it prioritizes people who are in the room, there will be less lag between identifying yourself and seeing the pictures you have selected.

Posted by bcx at 01:10 AM | Comments (0)

April 09, 2007

Some Tech Updates

Over the weekend I re-wrote the basic prospero server to use ruby mongrel instead of ruby webrick. I haven't quite learned how to use benchmark in ruby yet, so I can't tell you the actual speed increase, but it definitely feels a lot faster. (And is more stable as well).

In other news (if I can embed images you can see the graph of work done on prospero this semester below:

Posted by bcx at 10:25 PM | Comments (0)

April 06, 2007

My First Post - some updates

I spent some time tonight adding some of the recommendations from the design review.

1. Design Lab 1 members can now announce themselves to prospero when they log in to the prospero.netherweb.com site and are physically in the lab. [We know the IP addresses assigned to both wired and wireless machines in the lab so this works for both people using the machines in the lab, and their own laptops]

2. I fixed that incredibly annoying flickering image issue with the list of recent users.

The next step is to really dig into the flickr slideshow module and fix a few of the memory issues. [And adding some of the recommendations from the design review, such as prioritizing images of people in the room who are using the system, and incorporating some advertising for prospero]

I believe Paul is working on documentation how to make your own module, and Sayan is working on documenting the system at a high level, so there should be some interesting stuff to read soon.

Posted by bcx at 12:35 AM | Comments (1)

March 09, 2007

The Ease of Modularity

This week, Ben and Paul coded up some modules for the PROSPERO framework.

So far, our development process is totally open such that new developers out there in the world should be able to make new modules with ease.

To test this, Paul made a module after Ben did, noted information gaps, and will be writing up a developers guide for coding new modules.

Posted by phartzog at 03:45 PM | Comments (0)

January 28, 2007

First Technology Update

I've been putting off blogging about the technology aspect of our project for some time, but I made a breakthrough today worthy of sharing with the world.

Today I finally linked up enough modules so that people who swipe in with a card can have their facebook profile picture appear on screen. (not an amazing accomplishment if that was the entire goal, but it demonstrates that the pieces of the architecture are falling into place.) This is how the system currently works:

Announce (handles CardSwipes) --> DB(Store session start, expiration, and last update)

Updater --> DB (Poll all active users) --> Updater (Run Collectors to collect information about each user (including facebook profile, LDAP information ,etc)) --> Updater (Store this information in the DB)

And here is where it gets fun.

Controller (XML-RPC web server that listens for RPCs)

Client --> Calls Controller (get_active_users) --> Controller returns active users

Client --> Calls Controller (get_user_info(user) )

So essentially, right now anyone can query user_info and active_users using simple XML-RPC calls. I have written example clients in Python, Javascript (AJAX), RUBY, and PERL. This will make it easy for user created modules to interface with the information stored in the database in the future.

My example application uses Javascript XML-RPC to interface with the XML-RPC server (Ruby's WeBrick), and display the facebook pictures of active users.

Posted by bcx at 01:24 AM | Comments (0)

January 11, 2007

Prospero First Meeting and Architecture

The Prospero team met twice this week (Jan 7-13, 2007), and we hashed out various duties as well as got a start on the program architecture. On Friday, we will present these initial steps at the first GROCS meeting of the semester.

Here is a Visio jpg of our basic architecture.

Posted by phartzog at 02:15 PM | Comments (1)

January 10, 2007

Prospero "Visual Commons" Grant Proposal

Prospero – A "Visual Commons" Framework for Community-Aware Public Displays

Prospero is an infrastructure to enable public displays to reflect evolving public participation.

The objectives of the Prospero project arise from two primary motivations: one descriptive, the other normative. First, technologies that foster cooperation enhance our relationship to our surroundings. Many of these technologies incorporate user feedback in real-time.

Second, our team members believe that a society in which collective decision-making is based on participatory democracy and public resources should be allocated not by top-down or centrally-controlled mechanisms, but on the basis of the expressed desires and needs of participants. As cooperation increases, we have seen a resurgence of "the commons," i.e. that public sphere in which community values are

In our project, we shall explore this theme through its instantiation in the specific domain area of public displays. In much of modern life, public spaces, public media and public art are designed to send us messages that we passively receive, process and absorb. However, we believe that in a democracy, citizens must actively shape the public sphere. This necessitates "talking back" to the elements that constitute the public sphere. Public displays, that is, displays located in public spaces and accessible to a public, constitute an increasingly important element of the public sphere. We will develop an infrastructure for community-aware public displays that are controlled by users' expressed needs and preferences; we see our endeavor as part of an ongoing, democratic reclaiming, by citizens, of control over an increasing number of aspects of the public sphere in general.

Thus, by making a public display that is attentive to its community of users, a Visual Commons, it becomes possible for the community to escape the present hegemony of one-way communication, or "broadcast," of generic information (such as the time, or stock prices) or the barrage of mass-media advertising (such as occurs in New York City's Times Square). In effect, dynamic processing of community feedback regarding the contents of the display enables it to become more than just a billboard.

Here is the final grant proposal for which we received the grant:


(NOTE: It is shorter than the original one we wrote, which we may post later...)

Posted by phartzog at 03:45 PM | Comments (0)