Objective
Software engineering applying cutting edge web technologies like HTML5, CSS3, SVG, and advanced JavaScript to build next generation web applications.
Biography
Brad Neuberg is an independent engineer and consultant focused on emerging web technologies (HTML5, CSS3, etc). Most recently he was a Software Engineer at Google on the Google Docs and Buzz teams. Previously he was a Developer Advocate at Google for HTML5 and the Open Web. Brad is an acknowledged expert in pushing web browsers in new directions, and is the creator of a number of JavaScript libraries and frameworks for expanding the capabilities of web applications, including Dojo Storage, Dojo Offline, Really Simple History, and SVG Web. Brad worked with Douglas Engelbart, the inventor of the computer mouse and hypertext, on the HyperScope project; explored deeply collaborative web browsers with Paper Airplane; worked on one of the first web-based RSS aggregators; and was a Developer Advocate for the Gears project at Google where he helped both sell Gears and implement solutions for such partners as MySpace, WordPress, and more. Brad has extensive experience in the open source community, contributing code to Mozilla, JXTA, Apache Jakarta, and more. His experience includes developing distributed systems on Wall Street, building electronic option exchanges, and working with Java for more than a decade. Brad also created Coworking, an international grassroots movement to establish a new kind of workspace for the self-employed. Brad has presented talks and keynotes around the world and blogs at codinginparadise.org, ajaxian.com, and twitter.com/bradneuberg.
Testimonial: “I enjoy working with Brad; bright, responsive, very knowledgeable... I feel very trusting toward him.”
—
Douglas Engelbart, Inventor of the computer mouse and hypertext
Education
B.A. in Computer Science, Columbia
University, May 2000
Work Experience
Various Consulting Engagements, Consultant, September 2010 - Present
- Created 3D slide system (video and details) that allows presenter to zoom into slides and unfold topics; system uses
HTML5, CSS3, and SVG. Content in slide deck teaches HTML5, CSS3, SVG, and more.
- Extensive blogging on Ajaxian
Google, December 2007 - August 2010
Google Docs and Buzz, Software Engineer, January 2010 - August 2010
Google Docs is an online suite of office productivity tools, while Google Buzz is a tool to share updates, photos, videos, and more with peers.
- Java, JavaScript, and back-end work integrating undisclosed projects.
Open Web Advocacy (Google), Developer Advocate, June 2008 - January 2010
The Open Web Advocacy team at Google is focused on evangelizing and increasing the adoption of such open web technologies as HTML5, SVG, and CSS3. We do this through engineering, high-profile partnerships, blogging, public speaking, outreach, and more.
- Created and executed strategy for Open Web advocacy group.
- One goal was to increase adoption and use of SVG (Scalable Vector Graphics), an open graphics standard that can be used with HTML5. In order to achieve this I identified major barriers to adoption. The chief barrier was lack of support in Internet Explorer, so I created a drop-in JavaScript library, named SVG Web, that 'magically' gives the illusion of native SVG support in IE. This takes the installed base of SVG support from ~30% of web browsers to close to 100% of the installed web base, making SVG usable today. In conjunction, I helped organize a major conference on SVG (SVG Open) at Google to raise the profile of the technology and managed to get industry support, including IBM and Microsoft as Gold Sponsors. This was coupled with getting high-profile adoption of SVG and the SVG Web toolkit, which I did with Wikipedia, one of the largest sites on the web, as well as having coordinated PR and blogging.
- Created SVG Web library - JavaScript library requiring no downloads that takes open SVG standard from ~30% of web browsers to close to 100% of installed web base to help solve chicken and egg problem common with new web technologies. Due to presence of library SVG is finally usable by developers. Delivered not only SVG 1.1 support but SVG Animation (SMIL), fonts, video, audio, JavaScript interactivity, and more. Creating SVG Web required extremely difficult browser engineering, requiring solving many long standing unsolved engineering problems with certain JavaScript techniques in Internet Explorer. Behind the scenes Flash, Microsoft Behaviors, and other JavaScript 'tricks' are used to give the illusion of native SVG support. Helped run and grow open source community around SVG Web, including helping to manage project participants. Created promotional and educational videos on SVG Web library. The library was well received by community with articles on Slashdot, CNet, etc.
- Evangelizing HTML5, SVG, and the Open Web - Gave keynotes and talks around the world on open web technologies, including Milan, Prague, Moscow, and more at Google Developer Days, Ajax Experience, and more, reaching thousands. Created educational videos on HTML5 and SVG reaching hundreds of thousands. Wrote hundreds of blog posts across range of blogs. Wrote in-depth tutorials. Spoke with the press and did press interviews.
- Wikipedia - One of ten largest sites on the web, pitched their CTO on using SVG Web library for IE support and to come on stage during SVG Open keynote to present work. I built the actual tool for Wikipedia, a zoom and pan tool built with JavaScript, SVG, and SVG Web to be used with the quarter of a million SVG images on Wikipedia. I am currently evolving the prototype to a deployable tool.
- Open Web Advocacy Google Group - Created and stewarding open Google Group for coordinating everyone focused on open web advocacy and engineering. Has key people from Yahoo, Microsoft, Mozilla, and more, including major open source projects, currently with hundreds of influential members. Has become a solid community focused on solving real issues with the Open Web coupled with the actual people who can get things done. Ran several real world meetups of group to solidify community.
Testimonial: “Good attitude... good communicator... solid technical
abilities — need I say more?”
Google Gears (Google), Developer Advocate, December 2007 - December 2008
Google Gears is a cross-browser plugin that brings cutting edge features to the contemporary web, including being able to create offline web applications; create JavaScript code that can run without blocking the browser; and using geolocation for location aware web applications. Much of the work and experience pioneered in Gears has been refactored into the HTML5 standard itself.
- Worked with partners to sell them on Gears, then followed up by managing the relationship and doing architectural and implementation work:
- MySpace - Worked closely with MySpace to develop Gears-enabled client-side search of a user's social networking messages. Did architectural work, development, and managed the relationship to ensure they shipped and went public. Helped write portion of keynote for Google I/O where a senior MySpace executive came on stage to announce work. The feature was received well by MySpace's users and the press, and helped to increase the adoption and credibility of Gears by such a large company.
- WordPress - Educated Wordpress executive team on Gears and sold them on both vision of Gears and using it in their product. Helped adapt Gears to their situation to provide faster loading of the WordPress admin user-interface. Wrote much of the code they ended up using and met with them regularly to ensure they shipped. Feature shipped on both WordPress.com as well as WordPress 2.6 to a strong reception by both users and the press, helping to increase Gears adoption as well as third-party credibility.
- Astadia - Worked with Astadia, a premier consulting firm, to create strong line-of-business use case for Gears in an Enterprise environment; helped them finish prototype; convinced them to expand their use of Gears into their other business relationships; and provided direction on creating a Gears case study and white paper.
- Other Partners - Did ongoing work, education, presentations, and support with many other partners, including LiveJournal, LinkedIn, SixApart, and more.
- Open Source and Demos - Created several open source libraries focused on helping 'long tail' adoption and shipped compelling demos:
- PubTools Search - Created open source library named PubTools Search, a framework that makes it very easy to drop a client-side search engine into your page. Provided unique demo that differentiates Gears features, as well as acts as educational vehicle with source code. Wrote in-depth article explaining how to use library, as well as deep diving into internals on how to use Gears features in developers' other projects.
- PubTools Offline - Released open source library that makes taking static content offline very easy. Release coupled with blog posts, educational videos, outreach, etc.
- Upload Movie Tool - Coded mashup that allows you to select multiple movies, and then upload them in a resumable way with feedback using the Gears Blob and File System API. It also uses the Geolocation API to figure out what your location is for tagging the video, and Google App Engine to store everything on the back-end using Python. Code was open source and reusable by developers for their own applications.
Various Consulting Engagements, Consultant, June 2007 - December 2007
Mix of short-term consulting engagements, including software architecture, expert consulting,
speeches, strategy, and paid open source work.
- Executive-level business and enterprise strategy consulting for CCA Global Partners,
a very large retail cooperative (3,600 stores) producing $8.7 billion in aggregate annual sales. (Work done as consultant
with Hinchcliffe & Co.)
- Enterprise RSS and syndication strategy for T. Rowe Price,
an independent global investment management firm and mutual fund manager. (Work done as
consultant with Hinchcliffe & Co.)
- Ajax and system architecture, training, and expert consulting for
PharmaSURVEYOR, a unique early-stage pharmaceutical
startup creating a web-based system that allows consumers to better manage their drug regimens.
- Paid speech for the Ajax Experience conference concerning offline web applications.
- Architecture, design, and implementation for Dojo Data/Google Gears integration, funded by Atomic Labs.
Dojo Offline, Creator/Consultant (Partner with
SitePen, Partial Funding from Google), January 2007 - June 2007
Dojo Offline is an open-source toolkit that makes it easy to create offline web applications. It extends Google Gears and is a component of the Dojo framework.
- Negotiated sales process and secured partnership and significant funding from SitePen, a premier Ajax consulting company
- Led R&D to discover offline mechanisms that can work in contemporary browsers
- Designed easy to use offline API
- Created architecture for offline solution that includes a small JavaScript layer and a browser plugin
- Implemented JavaScript layer and C-based browser extension for Mac OS X and Windows
- Performed developer productivity studies to optimize usability of offline API
- Distributing a browser plugin is difficult for a small player, therefore crafted a strategy to network with Yahoo, Google, IBM, and others to gain their partnership and distribution advantages:
- For Google, kicked off project with series of UI mockups that were sure to get their attention (offline Gmail, offline Blogger, etc.) -- an entire secret Google team focused on offline, which became Google Gears, showed up and we began to connect with them over many months.
- For Yahoo, networked with various members of company and was invited to give keynote address at internal conference. Designed speech to set the sales frame that technology leaders are first movers that define the future themselves, offline being a perfect example.
- For other companies, such as IBM, solicited requirements on offline needs. Employees at IBM, for example, told me they need offline encryption.
- Evangelized community with speeches, screencasts, interviews with the press, blog posts, articles, and more
- Successfully managed sales cycle with Google to gain financial support to port Dojo Offline to their Google Gears product
- Refactored Dojo Offline to use Google Gears
- Programmed in 6 different languages and systems (C, Java, JavaScript, Perl, Bash Shell Scripts, Nullsoft Scriptable Install System) to create and ship Dojo Offline plugin, server-side examples, and installers; many of the technologies I had to immediately learn and apply with little prior experience (Perl, Bash Shell Scripts, Nullsoft Scriptable Install System, including C to a certain degree)
- Created Moxie for robust advanced example, a web-based word processor that can work offline and which can sync with a Java-based server
- Researched offline syncing; rapidly iterated and prototyped several
solutions; and finally delivered Dojo Sync, a simple yet powerful syncing framework for offline applications
- Developed Dojo SQL, an easy to use JavaScript SQL layer
- Designed and delivered innovative transparent cryptography layer for Dojo SQL using AES 256-bit encryption, protecting stolen laptops from having their offline data compromised
- Iterated many cycles to perfect offline UIs; did guerilla usability testing on them with users; and factored UI commonalities into an easy-to-use JavaScript widget that developers can drop into their web pages for offline applications
- Wrote high quality tutorial and reference work suitable for both beginners and advanced developers
Douglas
Engelbart/Bootstrap Foundation, Consultant, March 2006 - November 2006
Testimonial: “Brad is an innovator, an inventor, an implementer, and a
heck of a nice guy. He not only has good ideas but he has the
smarts and skills to get them done... Brad asks the really big
questions (and has a history of coming up with really good
answers!) about how systems can work better...”
—Mark Graham, iVillage, Whole
Earth Networks, The WELL
The HyperScope project is an NSF-funded, open source project to
implement portions of Douglas Engelbart's groundbreaking Augment
system on the web, including advanced hyperlinks and addressing,
jump capabilities, and more using Ajax and DHTML
- Architected advanced client-side Ajax/DHTML application that
uses Dojo, XSLT, XPath, OPML, JavaScript OOP, and more and which works cross-browser and cross-platform (Firefox and Internet Explorer)
- Layered expanded hypertext system on to the existing web using advanced client-side technologies, shipping actual software that realizes over 35 years of advanced hypertext research that has not been functional on the web before. New hypertext abilities include:
- transclusions - the ability to fetch pieces of remote web pages into another web page right when it is rendered
- granular addressability - allows a user to target any portion of a remote web page independent of whether anchors are present
- viewspecs - makes it possible for a hyperlink to control how a remote web page displays itself so that you can selectively reveal or hide layers of information
- indirect links - a powerful way to treat a hyperlink as an abstract concept that can be 'followed' to its true source
- content filters - regular expressions that can be included in hyperlinks to 'filter down' remote documents to just the desired needed values
- and many more
- Created interactive 'command-line' for the web that allows user to jump around local and remote documents like you would jump around a kind of information spreadsheet. Designed innovative XML-based command-encoding scheme to parse commands, providing easy extensibility.
- Created Java-based server-side XHTML transformer that can dynamically pull remote web pages in (Apache HTTP Client), convert them from HTML to XHTML (JTidy), transform them into OPML using XSLT (Saxon), and return them to clients through a servlet. This makes it possible to bring arbitrary web pages into the HyperScope system and use advanced hypertext on them. Optimized first release for the W3C site and technical specification documents.
- Deeply researched and became an expert in the
first computer system that invented and implemented hyperlinks, interactive
editing, groupware, email, and more
- Extensively studied Engelbart's
philosophy and ideas, including interviewing key members
of Engelbart's team, Engelbart himself, and plumbing the historical record
- Did intense performance profiling and optimization to get operations that used to take minutes down to milliseconds
- Evangelized community through podcasts, screencasts, interviews, presentations, blogging,
and more
- Solicited and gathered requirements and reached consensus
with stakeholders on deliverable
The Open Library is an initiative to scan all of the world's
books, make them freely available, and allow them to be easily
read, bookmarked, and searched using a web-based DHTML/Ajax viewer
Testimonial: “Brad's Ajax hacks are creative work done with discipline
and a deep knowledge of his field. I really admire what he's been
doing.”
— Lucas
Gonze, Founder of Webjay (Purchased by Yahoo)
- Dropped into high pressure project with existing, broken code base
only three weeks until deliverable. Deliverable was a
hard deadline, major product launch with the
world's media and philanthropic organizations
on site. Triaged features, managed dependencies and team members,
did continual integration and QA, and performed constant
"reality-checking" to make sure we were on target to deliver.
- Created Ajax book viewer with animated page turns
and remotely fetched pages. Live DHTML search is achieved using XMLHttpRequest,
a PHP backend, and an XML dataset produced by Optical Character
Recognition.
- Delivered Open Library system on time to a strong reception
and positive reviews in the world press
Purple Include, Team Member/Bootstrap Foundation, May 2007 - May 2008
A set of small JavaScript libraries that can be easily dropped into any web page to gain expanded hypertext abilities
- Based on results from HyperScope project, realized that we have to modularize and simplify HyperScope's advanced hypertext abilities in a radical way
- Designed and implemented Purple Include, a small JavaScript library that can fetch remote portions of web pages and insert them right into a web page as it is being rendered; these are known as transclusions.
The portion to fetch is specified either as an anchor, such as http://example.com#foobar, or as a full XPath expression, such as http://example.com#xpath(//p).
- First iteration was primarily client-side; Purple Include would scan the web page for each inclusion; use a hidden iframe to talk to a small PHP script running on the same host as the web page to get around the same-domain security policy; parse the returned HTML; apply the given address or XPath expression using DOM Level 3 on to the rendered iframe to fetch just the fragment desired; and then inline the results into the page. Worked well, but only functioned on Mozilla and had server-side requirements.
- Second iteration radically refactored the code base using a unique design that sidesteps the traditional fat client vs. fat server issues. Purple Include now has no server-side requirements from the end-user; instead, we have a hosted web service that runs on a third-party web site. All of the client-side logic is now on the hosted server-side, including fetching remote web pages and applying XPath expressions using a Java servlet, Apache HTTP-Client, and Saxon. The client-side code simply becomes a small shim that grabs all the inclusions on the page, and for each one creates a SCRIPT tag that dynamically calls the hosted web service using JSONP; the results are returned as JSON, and are then inlined into the page. Using this approach, the client-side script is drastically smaller (9K), and compatibility shoots through the roof (Purple Include now works on Firefox, Safari, Internet Explorer, even the iPhone). The end-user doesn't even need to upload the JavaScript to their web server; this is hosted on the third-party web server as well. Users can get started instantly with just one line of JavaScript and no server-side requirements.
Dojo
Storage, Creator, October 2005 - October 2009
Testimonial: “Brad is inspired, creative and thinks out-of-the-box about
the bigger picture without being distracted from the work at hand.
He is a great collaborator.”
— Ronna Tannenbaum, Internet Archive
An easy to use solution for storing megabytes of data on the client-side, breaking the 4K limit of cookies
- Designed and delivered Dojo Storage,
a framework for Ajax applications to store large
amounts of persistent data on the client
- Implemented Moxie,
a web-based word processor with rich text editing,
persistent client-side storage of documents, and offline access
- Created Dojo Flash, a high-performance, reliable layer for
JavaScript and Flash communication
- Did hard core performance optimizations to have Dojo Storage's Flash-based layer have tremendous performance and scalability in terms of the size of data being saved and loaded; turned operations that were O(n^2) when talking across Flash's JavaScript/Flash boundry into ones that appear to be closer to O(n). Ported Flash 8's ExternalInterface API to Flash 6 to have Safari be able to use Dojo Storage. Techniques discovered were regarded in technical community as a breakthrough in terms of tying Flash and JavaScript together in a robust, fast, cross-browser way.
- Created both Mozilla-based storage system using WhatWG storage API as well as Flash-based one
- Helped influence HTML5's Local Storage API based on real-world experience with Dojo Storage
Rojo,
Senior Software Engineer, April 2004 - June 2005; Consultant, Nov 2005 - Feb 2006
A web-based, next-generation RSS, social, and tag aggregator
- Working with team, designed and implemented advanced RSS
aggregator and social networking system that consists of two portions:
a robot which crawls millions of blogs
an hour, fetches RSS feeds, determines reputation and relevancy,
and builds an index for full text searching;
and a web interface
for subscribing to feeds, reading news, tagging items, and managing social contacts. The system is built with Java, MySQL, JSP, Lucene,
Torque, the Jakarta Feed Parser, and web technologies (JavaScript, Ajax, HTML, etc.)
Testimonial: “Great ability to work with groups and teams, in
high-pressure timetables and environments... Impressively excellent
knowledge of cross-client and browser compatibility and
workarounds... Brad is the best contractor that I've ever worked
with, period 8-)”
— Tracey Jaquith, Internet Archive
- Worked as generalist on all areas of system: rolling and
optimizing SQL queries; scaling out full-text searching
with Lucene; creating advanced Ajax UIs for autocompletion and
managing feeds; working on product development; and more
- Designed mock ups of a Google News style UI that could pull
relevancy information from both the mainstream media as well as the blogosphere, and
present these in a way that can be drilled down into and
customized like a traditional RSS aggregator using Ajax and DHTML
- Led brainstorming sessions to do breakthrough product
design, such as identifying product sacred cows
- Spearheaded DHTML performance improvements, using Venkman, Drip, etc.
Really Simple History (RSH), Founder, June
2005 - June 2007
An open source library making it easy for Ajax applications to
incorporate bookmarking and back button support
- Finished and delivered framework that brings robust browser
history support to DHTML applications. Spent months researching and doing QA to deliver then-highest quality DHTML history library currently in market.
- Evangelized framework through articles, tutorials, and community out-reach
- Library and techniques discovered in RSH adopted by range of
companies and DHTML toolkits, including used internally by Google and adapted into Yahoo's YUI library
Coworking is alternative office space for self-employed developers and writers,
a forum for structure, community, and innovation
- Developed and evangelized need for new kind of work environment through blog posts, wikis, articles, speeches, and more.
- Disseminated coworking idea as a kind of Johnny Appleseed by encouraging others to take ownership of the idea and run with it in any direction they wanted -- coworking spaces are now around the world and United States, and is a real grassroots movement thanks to this unorthodox policy
- Personally ran two coworking spaces over two years
A uniform, open source API for working with blogging technologies,
including RSS, Atom, OPML, the Blogger API, and more.
Testimonial:
“Brad has a keen sense of the convergence of technology and
the human experience... I've had the pleasure of working with Brad,
seeing his creative brainstorming and R&D methods, and his
desire to share knowledge... His solid programming background,
together with his acute interest in emerging technologies and
social interactions, I believe, will be a potent
combination...”
—
Hoang
Dinh, Paper Airplane Volunteer, Interaction Designer
A research project to explore how the World Wide Web and browsers
will be radically different when they deeply embed collaboration, community,
and decentralization
- Employed unusual brainstorming technique of focusing on the what rather than the how to stimulate breakthrough ideas that are outside the box of what we consider technically feasible
- Published
in-depth final research report that describes a deep new vision for the web, composed of a new browser named Paper Airplane and a new version of the web called The Two Way Web. The vision includes the following components:
- Instant Site Creation - browser has all tools necessary to create and host web sites -- there is no separation between browser and server
- The Editor - full-featured, next-generation word processor built right into the browser, focused on Internet tasks rather than printing pretty documents like traditional editors
- Instant Messaging - integrated into every web site, with support for access controls -- browser can shift into synchronous editing during messaging as well to support full range of collaboration modalities
- The Smart Browser - redefines a browser's relationship with remote site -- the browser now embeds and standardizes many activities that were disparate before, such as site membership, signing in, automatic indexing technologies, and more
- The Two Way Web Directory - innovative new model for decentralized search and directories that 'feels' as easy-to-use as centralized solutions such as Yahoo
- P2P Mesh - a P2P network created from all browser instances running to 'host' the network services necessary to drive the Two Way Web
- Performed massive guerrilla
usability testing for research paper and above functionality by designing over 100 paper and
screen prototypes
- Created
Mozilla prototype using XUL, CSS, XBL, DHTML, and JavaScript
Testimonial: “Brad has the ability to envision new technologies years before their time.
Then, he takes his revolutionary ideas and works to make them real and mainstream.”
—
Michael
Eakes, Former Senior
Architect, Rojo
- Created P2P servlets using the P2P Sockets project; used
JNI to integrate into Windows task bar; and scripted Mozilla XPInstall
- Recruited and managed volunteers,
and stewarded open source community using CVS, issues databases, and mailing lists
- Original name for project was Web 2.0.... in 2001, before common use of the term; changed when name testing found that end-users did not understand what Web 2.0 was supposed to mean
- Was researching next-generation word processors and web-based editors, delivering real studies and code, years before the current fad of exploring this issue
P2P
Sockets, Founder, July 2003-April 2005
An open source web service stack and socket abstraction ported to run
on a P2P network
- Ported the following software to work on a P2P overlay network:
Apache XML-RPC client and server libraries,
the Jetty HTTP web server and servlet engine,
Apache Commons HTTP/1.1 client,
the Apache Jasper JSP library and the SmartCache Proxy
- Designed and built distributed domain name system that replaces DNS with a
full, P2P based mechanism
- Built abstraction layer that hides P2P network (JXTA) beneath the
standard Java socket libraries
- Created a gateway to proxy HTTP requests and responses from
ordinary web browsers into and out of the P2P network
- Evangelized and marketed open source community through
presentations, articles, and networking
Testimonial:
“Brad is a significant strategic asset; he has a great
ability to embrace technologies and realize their use to directly
impact customers' lives. He combines his skills with design and
programming to quickly prototype new and compelling
applications.”
Fusion, Founder, Jan 2000 - May 2000
An open source unified application for communication and knowledge
sharing
- Used Mozilla as a run-time engine to create prototype UI
based on XML, XUL, JavaScript, CSS, and the DOM.
Random Walk, Technology Consultant, Dec 1999-May 2001
A Wall Street technology consulting firm
- Worked with teams to create, architect, and build range of large-scale, distributed,
enterprise systems for clients in the securities industry and on
Wall Street, including
Optionable,
MarketXT,
etc., using Java, object-oriented analysis and
design, CORBA, object-oriented databases, JDBC, Swing, servlets,
JSPs, and more
Open source, next-generation WikiWiki and portal software
- Designed new kind of WikiWiki that makes it easy for end users
to drop components into their pages, called weblets, which act
as little databases of semi-structured information and which
have advanced editing interfaces, including
in-place
DHTML editing, in 1999, years before others were focusing on Wikis or DHTML.
- Created server-side component model for weblets,
based on JavaBeans, that expose
advanced user-interfaces using client-side DHTML.
- Extended open source JSP engine to create Weblet Server Pages (WSP)
that allows new scriptable properties above and beyond JSP, and created
an XML dialect named Weblet Markup Language for easy creation of
weblets.
Further Work, CONSULTING, AND OPEN SOURCE Experience Available on Request
Publications
References Available on Request