Testimonial:
“Brad is one of the best Ajax developers in the world.”
Objective
Helping organizations surpass the competition through breakthrough invention and implementation.
Biography
Brad Neuberg is an internationally recognized software inventor, engineer, and open source consultant. His mission in life is creating ground-breaking software that expands the envelope of what is possible. He helps his clients bring their ideas to fruition through facilitated brainstorming, rapid prototyping, software architecture, implementation, community relations, evangelizing, and public speaking.
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
Brad is a leader in pushing web browsers in new directions, and has repeatedly delivered capabilities for web browsers that were thought impossible. Many of the Ajax techniques he pioneered are now part of the toolchain of working software engineers. He has consulted with Google on offline web applications, and was the keynote at Yahoo's internal conference, speaking on invention and leadership. Brad's Really Simple History library was one of the first Ajax frameworks that reliably provided back button and bookmark support for DHTML applications and is embedded into a tremendous number of websites and businesses. Brad is a core member of the Dojo project, one of the world's most popular JavaScript frameworks. His Dojo Storage project delivered megabytes of client-side storage for the web years before others, and his Dojo Offline library is used by corporations and startups to bring their web applications offline. Brad works with Douglas Engelbart, inventor of the computer mouse, to deliver powerful new hypertext functionality through the HyperScope and Purple Include projects.
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 over ten years. As Senior Software Engineer at Rojo Networks, he focused on weblog aggregators and consumer web software.
He has also explored next-generation collaborative systems, including new browsers, novel online word processors and Wikis, and new delivery mechanisms for digital books. Brad worked with the Internet Archive to produce a web-based book reader for an open, digital library. His Paper Airplane project offers a vision of a two way web with deep collaboration and editing support, while his P2P Sockets project delivered a web service stack and Domain Name System ported to run on a peer-to-peer network.
In addition, Brad Neuberg created coworking, an international grassroots movement to found a new kind of workspace for the self-employed. Coworking spaces are now across the globe, including Paris, New York City, and San Francisco, and have been covered by Business Week, The New York Post, and more.
Brad completed his undergraduate studies in Computer Science at Columbia University. He has presented at Yahoo, JavaOne, eBay, Google Developer Day, EuroOSCON, and The Ajax Experience, among others. He is a contributor to the O'Reilly book Ajax Hacks.
Testimonial: “Good attitude... good communicator... solid technical
abilities — need I say more?”
Education
B.A. in Computer Science, Columbia
University, May 2000
Work Experience
Various Consulting Engagements, Consultant, June 2007 - Present
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
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 - Present
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
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.
An open source library making it easy for Ajax applications to
incorporate bookmarking and back button support
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
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.
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
Books
Keynotes
Articles & Papers
Presentations
- Creating Offline Web Applications With Dojo Offline, The Ajax Experience, 8/2007
- Dojo Offline & Google Gears, Google Developer Day 2007
- Beyond Cookies: Persistent Storage (and Offline Access) for Ajax/DHTML Applications
Using Dojo.Storage, eBay,
2006
- Beyond Cookies: Persistent Storage (and Offline Access) for Ajax/DHTML Applications
Using Dojo.Storage, The Ajax Experience,
5/2006
-
The P2P Sockets Project: Easily Create JXTA P2P Applications Using
Your J2EE Technology Skills, JavaOne,
6/2004
-
Introduction to the Paper Airplane Project [screencast], Coding in Paradise, 4/2005
-
Paper Airplane, JXTA Town Hall (Sun Microsystems)
- Creating
an API for Peer-to-Peer Networks, University of California at
Berkeley
- Introduction
to P2P Sockets, JXTA Town Hall (Sun Microsystems)
- Creating Dynamic Thin-Client
User-Interfaces with Flash and Java, Random Walk Computing
- Chameleon:
Rapid GUI Development with Java and SVG, Random Walk Computing
- Fusion:
A Unified Application for Communication and Knowledge Sharing, Columbia
University
- OpenPortal:
Where Web Sites Become Discussions and Discussions
Become Web Site, Columbia University
Tutorials
- Creating a Personal Research Agenda, Coding in Paradise, 8/21/2007
- Creating Offline Web Applications With Dojo Offline, Dojo Website, 7/2006
- How to Profile and Optimize Ajax Applications, Coding in Paradise, 8/15/2006
- Now in a Browser Near You: Offline Access and Permanent, Client-Side Storage, Thanks to Dojo.Storage,
Coding in Paradise,
4/25/2006
-
Should I Render My DHTML UI On The Server or the Client?,
Coding in Paradise,
1/14/2006
-
Easy Mashups With Parameterized Script Tags, Coding in Paradise,
1/13/2006
-
Saving DHTML Session Across Page Loads Without Cookies, On The
Client Side, Coding in
Paradise, 8/26/2005
-
A Tale of Two IFrames (or, How To Control Your Browsers
History), Coding in
Paradise, 8/24/2005
-
Creating Huge Bookmarklets, Coding in Paradise,
8/24/2005
-
DHTML Templates Tutorial, Coding in Paradise,
8/11/2005
References Available on Request