James O'Brien
jaimzo@gmail.com    www.jaimz.org    +44-7720-055-871    49 Warren Close, Cambridge, CB2 1LB, England
Profile
A self-reliant software designer and engineer with eight years experience creating, researching and applying cutting-edge technology. Now seeking a challenging role in a positive environment where I can continue to develop new ideas.
Professional History
BNP Paribas, London, England
Designer/Developer
The multi-asset derivatives group of this international bank want to create a suite of web-based support tools. My role is to design and implement the new tools.
Designed system-monitoring tool
The group runs a batch-processing system that evaluates deals. The application for monitoring batch results suffered from extremely poor usability, performance and stability: I was required to improve all three. I produced an interaction design for a new monitoring tool and, derived from this, an architectural design for implementing the tool.
Implemented system-monitoring tool
The implementation of the design above: this consisted of an ASP.NET back-end communicating with an Ajax/DHTML front-end (technologies previously unused within the group). The product was very well received and is currently being evaluated for expansion to different groups within the bank.
Re-designed batch definition tool
The tool for creating batches suffered from problems similar to the monitoring tool. However, the interaction and architectural design in this instance was complicated by concurrent use of the tool in London, New York and Tokyo; with occasionally conflicting requirements.
Implemented batch definition tool
A complex web-based project: an extensive feature set and competition with existing desktop tools meant ease of use and performance were essential and required extremely efficient client and server-side techniques.
Skills: Interaction design, architectural design, Ajax (JQuery, Firefox/IE6, Firebug, YSlow), ASP.NET
XenSource Inc., Cambridge, England
User Experience Designer/Developer
XenSource was a startup company commercializing the Xen hyper-visor project from Cambridge University. I was in charge of producing the graphical management tool
Designed and developed the user-interface for XenEnterprise 1.4 (not yet released)
This involved encapsulating a complicated research technology in an easy to use interface. I did all the interaction and graphic design and the majority of the programming on the project. Some design notes for the project can be found at www.jaimz.org/design/xensource.pdf
Interaction Design and story-boarding
Introduced a design phase into the development cycle at XenSource. Encouraged the use of design tools such as personas and context scenarios to engender a more disciplined approach to designing the management software.
Concept exploration for web interface
Produced a prototype of a web interface for the XenEnterprise product. The project uses RIA technologies such as Ajax and the OpenLaszlo framework.
Oversaw redesign of existing interface
When I joined the company, the existing interface was receiving a very bad response from beta-testers. I redesigned the interface and guided the developers who were implementing it. The redesign received a nine-out-of-ten average score in our beta program.
Skills: Java (Swing), DHTML, OpenLaszlo, Fireworks, Illustrator
Microsoft Research, Cambridge, England
Consultant Research Software Design Engineer
I conducted research with a focus on creating prototypes and tech-transfer. I worked with the distributed systems group on P2P and mobile, collaborative applications.
Worked on multi-synchronous collaborative applications
How do we make applications for collaborative groups characterized by rapid changes in connectivity, group membership, and synchrony? I created several prototype applications that explored questions of mobility, communication, consistency, and user-interface.
Created Joyce: an application programming framework for highly dynamic mobile, collaborative applications
The framework promotes P2P collaboration and selective undo/redo as first class concepts. Applications made with the framework can run seamlessly across changing combinations of devices, users and synchrony. (.NET/C# - see publications - www.jaimz.org/joyce.html)
Created Activity Service: a daemon that keeps a semantically rich record of interaction within a system
The service tracks multi-application tasks using a persistent graph structure that reflects application commands and their invariant semantics. The record is used to provide automatic persistence and snapshots, and system-wide selective undo/redo (.NET/C# - Microsoft patent - see publications)
Created Babble: a collaborative document editor
Enables unconstrained, multi-synchronous concurrent editing. See design notes at www.jaimz.org/design/babble.pdf (.NET/C#, GDI+ - www.jaimz.org/babble.html)
Worked on project RUFiS: a prototype replicated, undoable file system
RUFiS supports reconciliation within and between files. (.NET/Java - Microsoft patent - see publications).
Worked on project IceCube: a constraint oriented reconciliation engine.
Ported existing research prototype from Java to .NET. Advised MS product groups using the new code-base. (.NET/Java/C#)
Communicated research results to specialized and non-specialized audiences.
Produced external academic papers, internal white-papers, and made presentations to lab staff and senior MS executives
Skills: C# .NET, UI design, research (writing and delivering papers and presentations)
Tarantella Ltd. (now Sun Microsystems Inc.), Cambridge, England
Software Design Engineer
Makers of remote desktop software that enables access to centralized UNIX and Windows applications from a globally available "webtop".
Worked full product life-cycle for "Tarantella Enterprise 2"
Created bespoke webtop installations for large customers such as Oracle Corp
Integrated RSA's SecurID technology
Designed, developed, tested and rolled-out company-wide QA software.
Trained Sales and Escalation engineers on new releases
Performed scalability testing for Compaq at their Houston facility.
Skills: UNIX systems programming, Java, QA
Publications
An Application Framework for Collaborative, Nomadic Applications
James O'Brien, Marc Shapiro. In Proc. Conf. On Distributed Applications and Interoperable Systems (DAIS 2006) (www.jaimz.org/papers/JoyceINRIA.pdf)
Undo for Anyone, Anywhere, Anytime
James O'Brien, Marc Shapiro. In Proc. SIGOPS European Workshop, Leuven, Belgium. (www.jaimz.org/papers/Joyce-EW-2004.pdf)
Rufis: Mobile Data Sharing using a Generic, Constraint-oriented Reconciler
Marc Shapiro, Nuno Preguçia, James O'Brien. In Proc. Conf. On Mobile Data Management (MDM 2004), Berkeley, CA (USA), Jan. 2004 (www.jaimz.org/papers/mdm-2004-final.pdf)
Technical Skills
Languages C# (4 years), Java (9 years), C/C++ (4 years), JavaScript (6 years), Objective-C (1-year)
Platforms Windows, MacOS X, UNIX, Linux
UI design Illustrator; Fireworks; Hi-def. prototyping in DHTML, Java and Laszlo; lo-def. prototyping, story-boarding
Technologies .NET (WinForms, GDI+, ASP.NET) - Java (Swing, Networking, Security) - MacOS X (XCode, Cocoa, Core Graphics)
Personal Projects
Metro: Multi-synchronous web applications - www.jaimz.org/metro.html
Education
B.S. Computer Information Systems (1st Class), University of Liverpool, 1998
Honors Thesis: Design and Implementation of a Web Browser enforcing Java Security through Name Space Management.
  • Winner of Addison Wesley prize for Computer Science
  • Winner of Leys Prize for Numerical Computing