Apeer
I’ve been busy lately, because I’ve been working on a new project in my spare time. Chad had a great idea for his Master’s thesis project at CMU, called Apeer, but it was in .NET, and he asked me if I could help it work on more platforms. I started moving it to Java for a few hours, but I realized that if people were really going to use it, like for sharing design mockups, that it needed to be easier to use than running a Java application at your desk all day, every day.

And so, I rewrote the client as a web page. You can see a sample image above. Three people are logged in, and each column represents a conversation about something. The initial message is the big bubble, and subsequent comments are the small bubbles. Messages that you haven’t read yet get a white highlight.
It’s the coolest thing I’ve ever done with PHP, since it auto-refreshes in the background using javascript to load data from the server. It uses XmlRPC for communication with the server, and the page itself never reloads.
It’s also about the coolest thing I’ve ever done in CSS, because I can do all the bubbles and comments with extremely minimal html. The markup for the bubbles looks like this (topics, the bubbles, are called “fads”, and the u’s are the colors for different users):
<div class="fadcontainer">
<div class="fad u1" style="top: 100px">
<div class="view u3"></div>
<div class="comment even u2"></div>
<div class="comment u12"></div>
</div>
</div>
It’s not quite done yet, but it’s basically usable. More detailed information about Apeer is on the site of Chad’s partner on the project, Neema Moraveji, here and here.