Alan Walendowski

About me
An experienced general-purpose programmer, currently working on an innovative medical device at an early stage startup called PyrAmes Health.

I'm a fast learner, like to dive into projects quickly, and can usually explain what I'm doing. A favorite comment about me came from the founder of a startup where I worked: "I'm not sure what he does, all I know is he makes problems go away."

I am also co-author of the book "Designing From Both Sides of the Screen: How Designers and Engineers Can Collaborate to Build Cooperative Technology."

2/2017 - Present PyrAmes Health, Cupertino, CA
Software Guy
  App development, data manipulation, general software stuff. All the varied sorts of software things a startup needs.
[Android, Java, Python, AWS, Azure]
1/2017 - 5/2017 Scimodo, Bay Area, CA
Co-founder, Advisor
  Scimodo is about bringing fun, connected, IoT projects to schools everywhere for enhanced STEM education. I designed and built initial IoT prototypes, based on various Arduino,, and ESP8266 platforms.
[Arduino, C,, Django, Python]
6/2014 - 2/2017 Palo Alto Research Center, Palo Alto, CA
Principal Network Software Engineer
  I was on the CCNx team at PARC, developing new networking technology. CCN is PARC's 'Context-Centric Networking', now generally called ICN or 'Information Centric Networking'. I was one of the engineers building out the second release of PARC's base CCNx implementation, which was subsequently acquired by Cisco and renamed 'CICN'. Check out the Cicn project for more info and the current status of the project.
[C, XCode]
5/2012 - 5/2014 Samsung UX Innovations Lab, San Jose, CA
Senior Staff Engineer
  Prototyped new and innovative user experiences for Samsung. Can't really talk about it. Mostly Android stuff, with some server-side coding, too.
[Android, Java, Python, Django]
11/2006 - 5/2012 Palo Alto Research Center, Palo Alto, CA
Senior Member of Technical Staff
  I was a programmer in the Context Aware Systems Area (previously the Ubiquitous Computing Area) at PARC, with a focus on context-aware computing and mobile interaction. A nice thing about PARC is that you get to work on many types of projects. Here are some that I've been involved in:
  • AECIS/TRAQ - an Android-based project for the military (under DARPA's Transformative Apps project).

    AECIS/TRAQ encompasses data gathering, inferencing, and a set of end user apps. I worked on the AECIS infrastructure, including our pub/sub sensor module system and persistent graph store layer, as well as the component apps that make up TRAQ (Camera, Audio Recorder, GPS Controller, Map).
    [Java, Android, Linux, SQLite, MySQL]

  • Meshin - a plugin for Outlook that extracts information from email messages and enables the user to quickly find details and relationships without explicit searching.

    Meshin builds a semantic graph of the information it extracts, and persists that in an RDF store built on top of a SQLite relational database. I worked on the query layer, which was responsible for building the SQL queries used to reassemble the RDF triples from the tables that represented them.
    [C#, .NET, SQLite, Windows]

  • Magitti - a mobile location-based leisure activity recommender.

    Magitti's goal was to learn a user's behavior and preferences, and recommend things that would be of interest to them given their location, the time, their preferences, the weather, their history, and other inputs. In a nutshell, the system consisted of a mobile client, a content database, and a server that ran the complicated user models and recommendation engine. This was in 2006-7, pre-iPhone, and early in the Location-Based Services revolution.

    I built the client (Windows Mobile) and the server interface (Apache/Tomcat servlets to deal with our JSON protocol). Because a customer requirement was that the system be easy to use with one hand, we developed a custom UI that made heavy use of finger sweeps and pie menus. The native Windows Mobile widgets were very traditional, so there were some hoops to jump through to get Windows Mobile to behave the way we wanted.

    Here is a short video of Magitti from 2007.
    [Java, C#, Windows Mobile, MySQL]

2002 - 2006 Bitsmith, Bay Area, CA
Programmer, Founder
  Bitsmith was my consulting company. I've worked on a variety of projects through it, including:
10/99 - 03/02 AT&T Labs, Menlo Park, CA
  At AT&T, I was part of a small team that developed Hubbub, a sound-enhanced, mobile instant messenger that provided background awareness cues and supported lightweight, informal communication among distributed groups. I designed and implemented the server, the proxy servers, the Palm wireless client and contributed to the Win32 client.

Also while at AT&T, I co-authored the book " Designing From Both Sides of the Screen: How Designers and Engineers Can Collaborate to Build Cooperative Technology" with Ellen Isaacs. In this book, we describe our strategy for user-centered design and use Hubbub's development as the primary example.
[C/PalmOS, Java/Solaris/Linux, C/Win32/MFC, Perl, PostgreSQL]
05/99 - 08/99 / The Palace, Cupertino, CA
Programmer, Contractor
  One of Electric Communities' products was The Palace, a graphical chat application. The Palace server handles message fanout and permission enforcement, among other things. I worked on extending the server so that it could better handle large scale moderated events. This code eventually became the Palace Arena.
[C, Linux]
07/98 - 05/99 3Dfx Interactive, San Jose, CA
Programmer, Contractor
  I designed and implemented a conformance test suite for 3Dfx's Glide graphics library. The test suite was intended to help verify that new revisions of either hardware or software behaved within tolerance of previous versions, and that the Glide API performed according to its documentation. It was used successfully during the development of Glide 3.x to find bugs and deviations in the new software.
[C, Win32, Glide3]
01/97 - 06/98 Electric Communities, Cupertino, CA
  EC was developing a Java-based secure, distributed virtual world application/platform. I wrote the text subsystem (first in Java, then in Java-wrapped native code for better performance), integrated our application with web browsers and the Win95/NT Explorer, and examined and fixed various performance problems (memory usage, speed, and networking) throughout the code base.
[Java/JNI, C, Win32]
10/96 - 01/97 Dimension X, San Francisco, CA
  I was a developer on the Liquid Reality team. Liquid Reality was Dimension X's Java-based implementation of a VRML2.0 browser, plus a set of API extensions. I implemented 3D text, added DirectSound support, and handled the integration of Liquid Reality with web browsers.
[Java, C, Win32]
12/89 - 09/96 Anyware Fast, San Jose, CA
Founder / Partner / Programmer
  I co-founded Anyware Fast as a consulting firm in 1989. We specialized in graphics-related projects, from device drivers to high level APIs. Most of our work was done for Sun Microsystems, although other customers included SCO, Ameritech, Any Channel, and Rendition. Anyware Fast was acquired by Dimension X in October of 1996.
[C/C++, Solaris, Win32]
1987 - 1989 Computervision, Bedford, MA
  I was a member of the graphics group for CADDS, a very large CAD/CAM application. I was also one of a three-person team responsible for bringing SunView to the Raster Technologies GX4000, a graphics accelerator with a firmware PHIGS implementation.
[C, SunOS]
B.A. Computer Science, Boston University, Boston, MA.
US Patent #9271117 (2016)
Computing system with configuration update mechanism and method of operation thereof

US Patent #7996527 (2011)
System, Method and Apparatus for Playing a Sound Identifier Based on Connection Status

US Patent #7043530 (2006)
System, Method and Apparatus for Communicating Via Instant Messaging

US Patent #6760754 (2004)
System, Method, and Apparatus for Communicating Via Sound Messages and Personal Sound Identifiers

Selected Publications
Isaacs, E. ; Konrad, A. ; Walendowski, A. ; Lennig, T. ; Hollis, V. ; Whittaker, S. (2013)
Echoes From the Past: How Technology Mediated Reflection Improves Well-Being

Roberts, M. ; Ducheneaut, N. ; Begole, J. ; Partridge, K .; Price, R. , Bellotti, V. , Walendowski, A. , Rasmussen, P. (2008)
Scalable architecture for context-aware activity-detecting mobile recommendation systems, The IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks (WOWMOM 2008)

Bellotti, V. ; Begole, J. ; Chi, E. H. ; Ducheneaut, N. ; Fang, J. ; Isaacs, E. ; King, T. H. ; Newman, M. ; Partridge, K .; Price, R. ; Rasmussen, P. ; Roberts, M. ; Schiano, D. J. ; Walendowski, A. (2008)
Activity-based serendipitous recommendations with the Magitti mobile leisure guide, Proceedings of the Conference on Computer-Human Interaction (CHI) '08, ACM Press

Isaacs, E., Walendowski, A., and Ranganathan, D., (2002)
Hubbub: A sound-enhanced mobile instant messenger that supports awareness and opportunistic interactions, Proceedings of the Conference on Computer-Human Interaction (CHI) '02, ACM Press, pp. 179-186.

Isaacs, E. & Walendowski, A. (2001)
Designing From Both Sides of The Screen: How Designers and Engineers Can Collaborate to Build Cooperative Technology. New Riders.

Home automation. Woodworking. Kinetic sculptures.

-walendo, 2016