Work

Alp Toker is a prolific software developer who has founded and managed several products, Open Source and community software projects since 1994.

This page documents some of the notable projects that Alp has initiated, both past and present.

WebKit Meta

A modular and embeddable web browser engine for connected devices (2008 – present).

Meta is a specialised variant of the WebKit content engine used for embedding in video games and consumer electronics hardware devices.

Meta is a commercial product driven and developed by Nuanti under Alp’s supervision.

Nuanti clang-based compiler frontend

C++/CLI Next Generation Compiler.

Based on LLVM and Clang, components of Apple’s nascent compiler toolchain, the compiler embraces Microsoft’s C++/CLI specification and extends it with dynamic language capabilities inspired by C# 4.0.

This is a commercial product managed by Alp at Nuanti, with the work having been presented at the LLVM Europe 2012 conference.

Highgate HTML5 for Internet Explorer

Highgate Media Suite, an HTML5 Theora video suite for Internet Explorer.

HMS is a zero-installation fully managed codec suite, built with the express goal of consolidating the HTML5 specification towards a single de-facto video codec.

This project was motivated by software politics and the desire to keep the web open and implementable without royalty fees or proprietary modules.

HMS has received widespread media coverage in print publications and online tech news sites like Slashdot.

OLPC Web Browser

Powerful web browsing on low-powered computers for Africa.

The One Laptop Per Child foundation supported this work to replace their Mozilla-based browser, yielding a faster and more capable WebKit-based alternative.

Nokia 770 Web Browser

A replacement for the legacy Opera engine.

The N770 WebKit-based web browser developed for Nokia was one of the first to support the full web on an internet tablet, as opposed to watered-down “mobile web” or WAP sites.

WebKit AT-SPI Accessibility System

Helping vision and motion-impaired users to access the web.

The ATK accessibility system for WebKit connects the core of the browser engine with screen readers, Braille and assistive devices. Furthermore, ARIA capabilities are included to to enable accessible rich internet applications.

WebKit GTK+

A modern web browser engine for embedded web content.

At a time when innovation on the Linux desktop was limited to traditional user interfaces, WebKit GTK+ introduced a fast and modern web content engine that would ultimately lead to a revolution in desktop application design.

WebKit GTK+ introduced the concept of Hybrid Web Applications, a form of RIA that combines desktop programming practices with integrated HTML and JavaScript web content.

The software has been used by organisations including Novell, Canonical and the Raspberry Pi Foundation to build music stores and app stores as well as countless community projects.

Working within the framework of WebKit.org, WebKit GTK+ was strategically instrumental in opening up the Apple WebKit project to a wider audience and today bridges the boundary between the web and the desktop.

Alp has presented WebKit GTK+ internationally at several conferences and events.

NDesk Project

The Networked Desktop Environment.

NDesk, the Networked Desktop is an experimental desktop environment for Linux and UNIX operating systems written entirely in the C# programming language.

Developed as a sister project to the Mono project, NDesk offers a set of tools for desktop and mobile application programmers.

As of 2013, the NDesk suite has been largely integrated into the Mono project where it continues to be maintained and provides the backbone for hundreds of Open Source and commercial applications.

Managed D-Bus

A lightweight IPC system for UNIX.

Managed D-Bus, or NDesk.DBus is a ground-up implementation of the D-Bus protocol.

D-Bus, an Interprocedure Communication framework, allows applications to talk to one another, sharing content, notifications and dynamic updates.

Managed D-Bus is noted for its innovative use of lightweight code generation and enforcement of Design By Contract, encouraging developers to specify transparent interfaces through IDL and C# interfaces that are exported between processes without the need for hand-written networking code.

The work has been presented at two international conferences.

Xnb

A ground-up re-implementation of the X11 display protocol.

This research project, undertaken in collaboration with the FreeDesktop.org XCB group and NDesk, was part of a coordinated effort by the Xorg team to re-discover the X11 protocol.

X11 is the underlying protocol of the Xorg and XFree86 display system prevalent on UNIX desktops.

The XCB project was part of work that ultimately led to the foundations of Wayland, the next generation display system for UNIX.

XDG-Net

An implementation of the X Deskop Group specification.

XDG-Net is a complete implementation of the X Desktop Group specification from FreeDesktop.org.

These libraries provide a set of facilities to build new desktop environments, including window management, menus, icon themes, base directory and shared MIME database support.

NXps

World’s first open XML Paper Specification viewer.

NDesk.Xps was that first independent implementation of XPS, the Microsoft XML Paper Specification.

Within two weeks of the release of the XPS specification, NDesk.Xps achieved the ability to render all 600 pages of the XPS specification document, itself published in the XPS format.

Capabilities include conversion of XPS to PDF and interactive display using a GTK+ graphical frontend.

XPS is an XML based competitor to the PDF format.

Evolver

Mail notification system (2003).

Evolver is a tray mail notification system for the Linux desktop.

Acacia IM

Instant messaging app

Acacia, formerly gsirc, is an IRC client for the Linux desktop.

Acacia introduced a number of novel features such as colorisation (using the colirc algorithm) and fullscreen multiwindow support.

Platano

An easy-to-use video player and TV tuner client (2003).

Platano harnessed the GStreamer system to support playback of multiple video formats through a simple GTK+ user interface inspired by Windows Media Player.

Phonic

A distributed music player (2001).

Phonic was the first graphical application for the Linux desktop to be written in C# running with Mono.

Phonic included GStreamer and fully-managed playback backends for portability.

The developers of today’s leading Linux media players Rhythmbox and Banshee have cited Phonic as one of their inspirations.

cilc

A binding interop system for .NET and C++ (2001)

The CIL-to-C bridge provides bi-directional interoperability between unmanaged C / C++ code and .NET / CLR libraries and applications.

cilc was developed and distributed as part of the Mono project.

GPal

A micropayment interface for PayPal (1999).

GPal was a widely distributed system for bridging applications to PayPal.

WebWorks

A web browser for Windows 3.1 (1994).

WebWorks, one of the worlds first web browsers, featured complete support for contemporary web standards as well as several proprietary Netscape 1.0a extensions.

Its test suite comprised render and layout comparisons against the Netscape rendering engine.

Of particular note, WebWorks included a complete dynamic node and render tree, a kind of proto-DOM, facilitating fast re-layouting and incremental display.

It was also perhaps the world’s first tabbed web browser, using a variation of the Windows 3.1 MDI (Multiple Document Interface) system.

Several of the techniques used in WebWorks were adopted more than a decade later by the Mozilla project, Opera, and subsequently WebKit and every other modern web browser in use today.

This work was made available online, submitted as an academic project in 1995 and today forms part of the Nuanti browser technology IP portfolio.