My Work

Also see my publications.

2018-present: I co-founded Croquet. As its Chief Architect I designed and implemented our global client-server architecture. Croquet is unique in that it is based on replicated computation as the foundation of multi-user applications. Application code is never executed server-side, it runs fully in the client and all data is end-to-end encrypted. In 2022 we built a live-coded multiuser immersive 3D platform on top of Croquet called "Microverse".

2006-2018: I was freelancing. My main client was Alan Kay via his Viewpoints Research Institute. One of the most impactful projects was porting Squeak/Etoys to Sugar, the GUI used by the One Laptop Per Child Project (OLPC). Etoys shipped on millions of machines.

2004-2006: I worked at impara ("Playful Learning") on various Squeak-based games. We shipped Plopp, a 3D painting program for kids implemented in Croquet and Tweak. It won several awards.

1999-2003: I was working on my doctoral thesis at the Institut für Simulation und Graphik. The topic was the realtime rendering of non-photorealistic graphics.
  • started in mid 1999
  • 2000/2001 worked on a different project (archaelogical visualization, aka "Kaiserpfalz")
  • In 2001, I gave my first SIGGRAPH talk on it.
  • In 2002, I presented at the EuroGraphics Workshop on Rendering.
  • Submitted thesis "Real-Time Stroke-Based Halftoning" in 2003.
  • Defended with magna cum laude in 2004.

1997-98: During the last eight months, I was a research scholar at the Virtual Reality Laboratory, University of Michigan. Our projects included, among others, the modeling of a new airport terminal in VRML (which also involved writing some Inventor tools) and doing Augmented Reality for a Civil Engineering application, using Performer.

1997: I finished my diploma thesis Generating Characteristic Lines from 3D Models. These are drawn using Lars' Line Styles. The thesis was supervised by Stefan and it is part of the Adaptive Graphical Zoom project. Completely implemented in Smalltalk.

1996: I wrote an analytic renderer (Sechrest/Greenberg Algorithm) in Smalltalk. We need an analytic description of visible lines and surfaces to generate line drawings. It is used in daLi! for example. The models are created with 3D Studio, and my parser class reads 3DS files directly (including animation data).

In 1995 I wrote APE, an editor for skeletal models. These skeletons were drawn with some linestyles from our SketchRenderer. The little figures can be used in architectural sketches, for example.

Home Work Family Software Smalltalk