Martin Pittenauer - Portfolio

Assorted works

Applications

These projects are fully developed, mature applications.

SubEthaEdit

SubEthaEdit is the first usable completely non-locking collaborative text editor. Combined with Rendezvous it makes collaboration accessible to the masses and succeeds at making complex things seem easy. SubEthaEdit won an Apple Design Award and an O'Reilly Innovators Award and has a sizable base of devoted users.

Status: Alive and kicking. Actively under development. Download here

Non-disclosable Project

A digital photography related client software for a Fortune 500 company co-developed with Martin Ott and Dominik Wagner. Mainly worked on the low-level implementation of a http-based client-server protocol and a billing workflow using XML and XSLT, fully integrated with Cocoa's NSLocalizableString to maintain international usability.

Status: Golden Master. Abandoned for non-technical reasons.

Contract work

Development and consulting for different companies mainly focusing on Cocoa and Quartz Composer.

Status: Various. Ask for details.

University projects

These are applications developed for university projects. Compared to the applications above they lack polish and therefore have their own category. They are a little rough around the edges and probably not marketable, but fine applications nevertheless.

Xrave

Xrave is a software engineering tool, that uses video to gather, store and manage requirements. It allows an analyst to arrange video clips to form scenarios, augment them with video- and software engineering related metadata and finally to create software models. Video is handled by QuickTime, knowledge is represented in RDF. XRave is the product of five joint diploma theses, mine focusing on knowledge management and RDF. Written together with Martin Ott, Dominik Wagner, Tobias Klüpfel and Christoph Angerer.

Status: Finished project.

Medusa

Medusa is a medical application, that tries to support the senior physician with multimedial communication facilities enabling him to make a better assessment of the case at hand, even while not being on site. It features AES/RSA based cryptography, presence management with XMPP (Jabber) and a distributed file storage architecure. It uses a Topic Map based ontology to manage and link patient data. The application makes extensive use of drag and drop to provide physicians with an easy-to-use and intuitive tool. Written by Martin Ott and me.

Status: Beta. Finished project. Documentation available

ABX — Awareness Builder

Awareness Builder aims to improve group cohesion and thus communication in spite of physical separation in distributed software development projects by supporting group awareness. It combines development related event sources like repository checkins and discussion board posts, evaluates them with group and source structures and provides an aggregated and weighted overview over the projects activity. I worked on cvs, source parsing and communication (SOAP) subsystems and wrote an application that simulated project events with data gathered from former university courses.

Status: Beta. Finished project.

RobotCommander

RobotCommander controlled a small robot for a course called "FixIt". Its aim was to develop a prototypical software that used augmented reality to guide a technician repairing a defect robot. RobotCommander interfaces with DWARF, a locally developed CORBA based framework that allows the rapid prototyping of distributed Augmented Reality applications. The application itself is written in Cocoa and Objective-C, while the DWARF interface code is written in C++. When instructed via RobotCommander, the little robot moves to a new positions and switches a LED on or off. The FixIt visualization window updates the VRML model of the robot while this happens. I was also responsible for interfacing the visualization with DWARF.

Status: Finished project.

Tools, Samplecode, Hacks

This section shows a selection of recreational hack projects and smaller pieces of code that I released.

Plazes MenuExtra

An alternative client for a web service called Plazes, that provides a global location-aware interaction and geo-information system. Binary and Source available upon request.

My initial voluntary work on an alternative to the official RealBasic client led to contract work on the official 2.0 version of the client based on my implementation. Due to time constraints I'm not involved in the current development of the Plazes client anymore.

SubEthaFari

An InputManager that allows using external HTML editors, like SubEthaEdit, with Safari's "View source" and "View frame" commands. Written out of personal need, bascially an ugly hack featuring the worst pun ever conceived by mankind. Binary and Source available.

AddressBook Birthday Plugin

Sample code that shows how to use the Address Book Plugin API with Cocoa and Objective-C and how to integrate a plugin UI deeply with AddressBook using e.g. a sheet. The sample adds a contextual field to an AddressBook's birthday field that allows to export the birthday to an iCal event. Binary and Source available.

OpenGL_TS

Sample code that shows how to use OpenGL transparent surfaces and transparent borderless windows to create three dimensional objects on the Desktop. Written directly after WWDC 2002. Dominik Wagner added texture mapping to my original example and we reused the application as a Apple Design Award floating on your Desktop, after winning one. :) Binary available, Source available upon request.

FUSe

FastUserSwitchingExtension is a BSD-licensed sample code for a MenuExtra that provides a way to use less screen real estate on Mac OS X 10.3 while switching users. Binary and Source available. Wincent Colaiuta took the code, added features and eye candy and released a much more complete MenuExtra called WinSwitch. By now, Apple has added a more compact menu item for fast user switching.

WuffWuff

WuffWuff is a watchdog that is supposed to prevent and track mouse theft in a public computer lab. It monitors a specific type of USB mouse, namely a Apple Pro Mouse. If someone disconnects a mouse, it takes a picture from a webcam and sends it via email to the labs administrators. While it did not prevent a theft yet, its deployment has been great fun for both students and administrators.

HTMLEntities.service

A Mac OS X service that converts unicode characters to their HTML entity representation. Binary and Source available

svnxslt

A XSL transformation and shellscripts to generate RSS feeds of a subversion repository's checkins. Source available

IGOR

IGOR is short for IGOR is no acronym. It's an collection of scripts and transformations to publish static websites in a modern fashion, separating content, presentation, style and dependencies. It's based on subversion, XML, XSLT and make. A basic overview is provided here, this is the system powers the SubEthaEdit homepage.