Abe Fettig
Hi, I'm Abe Fettig, and I build web applications. This is
my professional resume.
What I do
I design and build apps that run in web browsers, with interfaces built in
HTML, CSS, and Javascript. I've been doing this
since 1999, more than ten years. Along the way
I've acquired an extensive collection of
real-world bugs, workarounds, and performance tricks that help
me push the limits of what a cross-browser web app can do.
For my own projects I generally use the Python
programming language. I have a strong working knowledge of the
Django web development framework, and the
Twisted framework for building networked applications.
I'm also experienced in implementing and debugging the standard formats
and protocols used for internet communications, including
I like working with technology, but I care more about people.
I look at my technical knowledge as just a
means to build products that people will enjoy using. My goal is
to make applications that delight users instead of
frustrate them. And when I'm working on a project with other
people, I try to treat them with kindness and respect.
Experience
From 2006 to 2010 I was employed as a software engineer for
.
At Google I worked on, a product
that lets any person or team create and publish a good-looking,
organized website using only a web browser. Much of my work was
on the Sites WYSIWYG HTML editor, which is implemented in
Javascript. I also made some contributions to shared Javascript
libraries used inside Google, including
an interesting piece of
code (now open sourced) which can be used to generate
a set of CSS rules that make an iframe appear to inherit
the styles of its containing element.
From 2004 to 2006 I worked at, a startup that built and sold the JotSpot wiki product (JotSpot was acquired by Google in November 2006).
At JotSpot I worked on a number of projects, including rewriting
our templates to be based on structural markup and CSS layouts,
improving our suite of Wiki-based applications, and developing a
plugin system for extending the wiki.
While at JotSpot I developed a new product,, a web
application that allowed multiple users to take notes collaboratively
in real time. JotSpot Live used the JotSpot wiki server to store page
data and a Twisted web server to push changes to the browser using
XMLHttpRequest long-polling. (Soon after the release of
JotSpot Live, JotSpot's Alex Russell
""
to describe this kind of technique.)
During the year before JotSpot was acquired,
I took over development of the JotSpot WYSIWYG editor, which included
contributing speed and usability improvements to the
open source Dojo RichText widget. I was able to greatly improve
the JotSpot editing experience, making in-page Ajax editing
fast, stable, and seamless. At the 2006 Ajax Experience Boston
conference I gave a talk entitled
"", in which I
shared some of what I'd learned about browser-based editing.
Between 2002 and 2006 I developed Hep Message Server, which I released
as open source software. Hep was a communications
server that offered storage transfer of email and RSS messages while
also proxying between RSS, POP3, IMAP, SMTP, NNTP, and weblog APIs.
This allowed users to do things like read their RSS feeds using
their email client over IMAP. Hep was implemented using Python and the
Twisted framework. Along with Hep I also released a library called Yarn,
which provided a standard Python API for reading and writing messages
using many different formats and protocols. I gave
at PyCon 2005 in Washington, DC.
In 2005 my book on working with network protocols in Twisted,, was published by O'Reilly.
From 2002 to 2005 I worked as a programmer at Diversified
Business Communications in Portland, Maine. During that
time I was responsible for designing and building several major new
pieces of software, including a system for syncing data between
internal databases and the web, a company intranet, and a data
warehouse that merged customer data from several different sources
and made it available for reporting and analysis.
From 1999 to 2002 I worked as a contractor doing custom software
development, including a number of web-based applications backed
by SQL databases.
In 1999, while attending Southern Maine Technical College, a friend
and I developed Happymail, a prototype web-based email system.
Unlike other web email products at the time, Happymail used
Javascript and hidden
frames to send data between the client and server, so it didn't
require a full page refresh every time you wanted to check your mail
or open a message. (Since then, of course, Ajax techniques have
become widely adopted, but at the time
we'd never seen anything like this done before.)
Hire me
I'm available for hire on a contract, hourly basis (depending on
my current projects and schedule).
If you have an interesting project that you'd like to hire me to
work on,
I'd love to talk about it. You can reach
me by email at ***@******.***.