2812 COZUMEL CIRCLE • SANTA CLARA, CA 95051
PHONE 650-200-5044 • E-MAIL WEBDOOD@TECHNOLOGIST.COM
SHANNON NORRELL
OBJECTIVE
To work in a Senior Software Engineering capacity where my Presentation Layer skills
in HTML5/JavaScript/CSS3, GUI Design and experience building richly-interactive,
complex, web-based applications may be used to their full extent. I bring considerable
technical expertise to the table.
I am an expert in Javascript/DHTML, CSS, and XHTML and have been at the Senior
Software Engineer/Team Lead level for many years and have worked on some of the
most complex web-based applications ever created including those in the Product
Lifecycle Automation space, SalesForce Automation and e-commerce.
I have worked for various companies like Apple, Microsoft, AOL, McAfee, MS2,
UpShot, eStamp, Webvan and Macromedia.
SKILLSET SUMMARY
I have been a programmer for over 25 years. For the past thirteen years I have
focused on the “Presentation Layer” of internet-related application development. I
am a skilled “coder”, proficient in Javascript, CSS, (X)HTML, ASP, ASP.NET, C#,
DHTML, XML/XSL, SQL, etc. as well as a skilled User Interface Designer.
Most recently, I was brought in by Apple Computer as a “Javascript Ninja” to
perform some exceedingly complex Javascript work related to an internal, Cocoa-
inspired, JS Library. I also became somewhat of an expert in HTML5 and CSS3
during my tenure here, developing an HTML Showcase feature for Apple.com. I also
wrote a slider control and a progress indicator that will be used throughout the
company.
I was recognized as one of the top Javascript developers in the world when I was
asked my Microsoft to come on board as one of four developers writing Windows
Vista Sidebar Gadgets (I wrote Stocks and Weather). Before that, I was hired by
AOL as their Mac OSX Dashboard widget developer (where I wrote a Moviefone and
an AOL Search widget), again in DHTML.
Formerly Senior Internet Engineer for Webvan Group, Inc., a high-profile home
delivery startup. This website was a large scale, load-balanced, Windows NT/IIS-
based, using Active Server Pages and ISAPI. DLL's with an Oracle back-end.
I was with this operation essentially from its inception (joining as employee
#25), and developed the very first webvan.com prototype as used in the "road show"
and continued to play a significant part in its technology decisions, architecture and
deployment. Certain parts of my work at Webvan, particularly those having to do
with a unique Javascript compression algorithm (very similar to what is now known as
JSON), were patented and I was listed as “inventor" of these technologies
Before that, I was Senior Internet Engineer for Macromedia, Inc., best known for
"Director" and "Shockwave" where I was lead engineer on an extension to their
product, "Dreamweaver". While there, I developed the first Drag-and-Drop DHTML
code as well as a number of complex DHTML objects like a slider control, progress
bars and decision trees. I also developed a predictive downloading algorithm based on
Markov chains that was ultimately patented.
Before that, I was webmaster for the award-winning Trilobyte, Inc., site -
a leading edge computer game developer - best known for "The Seventh Guest" and
"The Eleventh Hour".
SKILLSET HIGHLIGHTS
ASP I am quite conversant with Active Server Pages (ASP) and know Server-side VBScript
and/or JavaScript backwards and forwards. I am also a Windows NT "expert" and am
proficient in configuring and administering Windows NT 4.0 Server, NT2000 Advanced
Server and all versions of Internet Information Server (IIS). Recently, I’ve switched over to
ASP.NET and love it so far!
ACTIVEX I have authored nearly 100 commercial ActiveX controls including
"RenderConnect" and "RenderInetInfo", and many smaller "utility-class" ActiveX controls.
Most were written in Visual Basic.
ADSI ADSI provides a scriptable object wrapper to many common elements of Windows
NT (and is in fact intrinsic to NT 5.0). I have been using ADSI since the early days and have
written many scripts/code blocks that utilize this technology. An example of a script I wrote
that is now being passed around the internet may be found at:
http://www.planet-source-
code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=3448
AJAX My work with AOL required extensive use of AJAX technologies. For the AOL
Search Widget, I wrote several XML parsers to process data from disparate sources with
varying structures, including some with SOAP Envelopes. I also wrote code leveraging
AJAX to dynamically include “up-to-the-minute” versions of support code for the various
widgets.
C# I am experienced writing .NET web applications using C#. Due to my extensive
expertise in Javascript, Object-oriented programming approaches and various other
programming languages, C# was a snap for me to pick up and quickly become proficient in.
I use Visual Studio 2005, coding in C# on a daily basis.
CDO Collaborative Data Objects is a way of programmatically accessing/interfacing with
Microsoft Exchange and Outlook. I have worked quite a bit with CDO, having developed
and managed an automated Beta application/feedback system for the Webvan.com beta
program, in which we had nearly 1,500 participants.
CRYSTAL REPORTS I was charged with the developed of a large-scale, distributed
reporting module for Webvan.com. If you ever used the service, the invoice/receipt you
received with your shipment was printed using the code I wrote to drive Crystal Reports.
This reporting module had an API along the lines of PleasePrint(OrderNumber, Location)
and, when called, would query the Oracle database, generate a report using the Crystal
Reports API for that order number and then cause the report to print at any one of our
dozens of cross-dock locations around the nation.
CSS Expert in Cascading Style Sheets, having produced many hundreds of pages that use
CSS libraries of my design. I have also created a DHTML/CSS Client-side Spreadsheet that
makes extensive use of CSS.
CSS3 My work at Apple gave me “the inside scoop” on developing WebKit/CSS3
technologies like webkit-animations, transitions, effects and web fonts.
DASHBOARD WIDGETS I was under contract with AOL for several months, charged
with developing several Mac OSX Dashboard Widgets. Dashboard Widgets, are highly
complex, single purpose, quasi-standalone objects that use DHTML, CSS and (in my case)
AJAX.
Here is an example of one:
Notice the custom scrollbars, the custom resize handle, the custom search box, rounded
corner look, etc. All stuff I wrote.
DHTML I am expert in DHTML, having written (to my knowledge) the very first drag
and drop code blocks that you now see all over the internet as well as having several patents
in my name for several complex DHTML UI Objects and mechanisms.
EXCHANGE I am quite conversant in running and installing Exchange Server. I have
been running my own instance of Exchange at home for several years and set up/installed
the Exchange 5.5 server for Webvan, Inc. I am also quite familiar with LDAP and
programming using CDO.
FLEX I took a two courses on Flex development in 2008 (Flex 3: Developing Rich Client
Applications” and “Lifecycel Data Services – Integrating with Data and Messaging” covered .
I have created several prototypes using Flex. I have deployed both .SWF files and Adobe Air
projects. As an expert in Javascript/DHTML, MXML and Actionscript 3.0 come very easily.
HTML I am an expert in (X)HTML. Every line I write is hand coded, exceedingly clean
and as semantic as possible.
HTML5 Recently I was involved in a project at Apple designed to showcase the new
HTML5 features like the and tag, , the tag
and CSS3 transitions and keyframe animations.
INSTALLSHIELD I have written many production-level installers using InstallShield,
Wise Installer, DameWare Web Transport and even the Windows Installer (.MSI Files). I
wrote the installer for Macromedia’s Authorware 4.1 and Macromedia’s Pathware 3.0. the
latter of which involved quite a bit of complex installation maneuvers like modifying the IIS
MetaBase, installing new mime-type handlers and registering custom .DLL’s with MTS.
ISAPI I have written many ISAPI. DLL's / COM Objects for Internet Information Server
(IIS) in Visual Basic
JAVASCRIPT I am expert in JavaScript. Code samples available on request, having been
the Lead Engineer on Dreamweaver Attain (a JavaScript/DHTML code-generating tool by
Macromedia). Some of my JavaScript code has even been patented!
JSON As one might expect with my emphasis on all things JavaScript, I am a big fan of
JSON structures vs. XML structures when propagating data to the presentation layer. Turns
out that the JSON semantics are very similar to those that are on my patent.
LOCALIZATION I developed a unique technology for e-Stamp Corporation that
effectively "compiled" an entire website into a language of choice on a nightly basis and fired
off "To Translate" Task Lists to linguists in countries around the world.
MAC Though by no means a Mac Expert, I was on the AOL MacStaff for six months and
am conversant with Interface Builder, Mac OSX styles, Safari, have read the HIG (Human
Interface Guidelines) in its entirety, and have developed UI’s according to it.
.NET I am a big fan of the .NET platform and have developed a number of .NET Web
Services on my own using C# and VB.NET under ASP.NET. I look forward to writing
more production code using these technologies. Code samples on request.
OFFICE AUTOMATION I have done many, many projects that involved “Office
Automation” using VBA or CDO. I have generated Office Documents like Excel
Spreadsheets programmatically based upon web-form submission(s) and have
programmatically piped form submission information directly into Exchange Server’s Public
Folders using LDAP. I have also used VBA to script Microsoft Access and Outlook.
ORACLE Very familiar with Oracle 7.X, having written many ASP pages that use
ADO/OLE-DB to talk to Oracle on the backend. I have also written a coded generator that
generates Visual Basic COM Object wrappers to Oracle Stored Procedures, using a simple
text file of a "describe" of the stored procedure as the source.
PERL I am quite conversant with Perl and was frequently tapped by the web team at
Macromedia to produce scripts for use at www.macromedia.com. Examples of this code
available on request.
PHOTOSHOP Having had the opportunity to work with some of the best artists in the
business, I have become quite proficient in Photoshop and many other graphics tools - with,
of course, a particular bent towards creating web-friendly images.
RUBY ON RAILS In 2008, I was on a Ruby on Rails project for six months. Although
I primarily coded thousands of lines of Javascript and did the GUI design, I did become
familiar with the MVC framework, how to use fixtures and RAKE and some of the
conventions of Ruby coding.
SIDEBAR GADGETS As one of only four developers hired by Microsoft to write the
Sidebar Gadgets that shipped with Windows Vista, I am certainly an expert in this regard. I
also wrote a 67 page article for MSDN magazine detailing how to develop Sidebar Gadgets.
SOAP Simple Object Access Protocol is probably the most powerful manifestation of
XML-based computing to date. The artificial intelligence program trading modules I have
been developing use SOAP for platform independent, remote-procedure calls to objects.
Update: I no longer use SOAP, unless it happens behind the scenes in Visual Studio auto-
generated code. I believe REST is much more efficient.
SOLARIS When I was a WebMaster at Trilobyte, I had a Sun Netra loaded with Solaris
v2.5 running Apache and Netscape Server Software that I ran on a day-to-day basis.
SQL Server I have worked extensively with SQL Server over the past 8 years. I have
authored many stored procedures and developed schemas of varying complexity over the
years. Lately, I have developed wrappers using C# for the stored procedures I wrote for SQL
Server 2000. In my current position, I use SQL Server 20000 on a daily basis. I am familiar
with the creation of SQL Views and Stored Procedures using Transact SQL. As an example
of my work, I wrote an ActiveX control (in Visual Basic 5) that, when embedded in a client
application or web page and instantiated a) makes the appropriate entries in the system
registry to establish an ODBC DSN database connection to the remote SQL Server database,
b) requests recordsets, etc. from the database via SQL Statements, c) serves the data up to the
client app. and, finally, on termination of the app. or connection, d) removes the registry
entries created to establish the ODBC connection from the system registry.
VBA Expert in Visual Basic for Applications. I have written many large-scale applications
in VBA for both Outlook and Excel. I wrote a "Dashboard" application on top of the
Outlook/Exchange database architecture that was used by many thousands of employees at
Webvan as well as several many-thousand-line VBA programs in Excel/Excel2000.
I have also written two "off-line" clients that essentially generated and populated an Excel
.XLS file from web-based form submission, results of which were able to be used and
modified in an off-line fashion (ie not connected to the internet) by users. Embedded in
these .XLS files was thousands of lines of VBA code representing the company's business
logic.
VISUAL BASIC I am expert in Visual Basic, having developed many-thousands of lines
applications and ActiveX controls over the years. I am quite conversant with some of the
more esoteric aspects of VB such as making Win32 API calls and utilizing the Registry. Code
samples available on request. For example, I developed an ActiveX control as a side-E-
Commerce job while working at Macromedia that ubiquitously connects to a remote HTTP
server from within a client application and transmits order information. This involved
extensive understanding of Dial-Up Networking, low-level Win32 API calls and, of course, a
mastery of Visual Basic. I have also developed major enterprise-size applications. For
example, while at Virgin Interactive, I worked on "VISION" ... a networked VB app. That
ran (and still runs) the VIE technical support department. Wrote several hundred .DLL's for
Webvan during the course of my employment. Most of which are used on a daily basis by
entire departments by many users.
WSH Windows Scripting Host is a relatively new Microsoft technology that I have made it
a point to become expert in. I have written installation scripts for Webvan that are well over
1,000 lines long that make extensive use of this object-oriented command-line scripting
language (in conjunction with ADSI objects, as mentioned above).
WINDOWS NT I have completed the Microsoft Certification courses for Windows NT
and ran three Windows NT domains at Macromedia. At Webvan, I was responsible for the
original networking put in place and, until the end, maintained the PDC "WEBVAN" at my
desk. I am conversant with all aspects of NT Administration, including Proxy Server, DNS,
WINS, DHCP and Exchange Server.
SYSTEM ADMINISTRATION I have administered Windows Server 2003, become
familiar with Cluster Server and IIS6 and WIN2K, Advanced Server and am very familiar
with Active Directory, DHCP, DNS, NAT and many other NT2000-specific technologies.
XML Conversant with XML and have written two of my own parsers and XML generator
.DLLs for use by IIS. I am familiar with schema design and have written much code (both in
C# and “classic” ASP) that directly manipulates XML Document Objects. I have also
written many JavaScript parsers for XML.
XSL In my recent work, I have developed many XSL transformations that are applied to
dynamically generated XML. I am familiar with some of the subtler nuances of XSL like
character encoding differences for various locales, conditional XSL functions, generating
plain text, etc.
PROFESSIONAL EXPERIENCE
11/2011–Present EVEO
Principal HTML5 Developer
Developing extremely rich, interactive HTML5 applications for iPad. Using the latest CSS3
techniques of webkit-box layout, extensive use of the canvas tag and webkit animations.
Eveo is a medical marketing company that produces sales applications that live on iPads
deployed to sales personnel for companies like Genentech and Johnson and Johnson. While
here, I was tasked to save a project that was originally estimated to take 4 months in just
under three weeks. I was the principal developer on this project, developing a complex
HTML5/javascript framework that EVEO will be using for future deployments.
11/2009–07/2011 APPLE COMPUTER
Javascript Ninja
There were three major projects at this company. The first was to develop some core library
components for an internal, Cocoa-inspired Javascript Library called Gianduia. The
components I developed were a slider control and a progress indicator control. The slider
supports vertical and horizontal modes as well as arbitrary tickmarks and can be bound to
other objects on the page. The progress indicator supports both indeterminate and
determinate modes as well as “bar-Style” and “circular-Style.” For the circular style, where
supported, I generated the spinner using a tag. Both of these components are
completely cutomizable via CSS and are as rock-solid as it gets.
Another project I worked on was architecting a new means to delivering video content using
the new HTML5 tag. For this I basically developed a proof-of-concept
demonstrating an automatic “resource selection algorithm” (that of playing the right video
based on device, display size and system software).
Lastly was the release of an HTML5 Showcase feature for apple.com which, at the time of
this writing, is not public so I can’t give more details.
02/2008–11/2009 XOJET
Consultant – Principal Software Developer
There were two major projects at this company. The first was a Ruby on Rails Application
that I architected and developed together with a Rails expert having to do with Crew
Resources. This involved becoming thoroughly familiar with airline industry practices and
software including FOS, AFIS/ACAR, WYVERN, Fractional Ownership and Charter. Coded
many thousands of lines of DHTML allowing users to create crew pairs from a list of pilots,
use drag and drop of these onto a grid of days and to right-click on a range of days;
producing a custom, rounded word-balloon context menu allowing schedule exceptions to be
set.
Another project was to develop the company website www.xojet.com, which contains
custom DHTML scrollbars and several animations that look like Flash, but in fact are
Javascript.
11/2007–01/2008 PHILIPS
Consultant – Automation Script Writer
Short-term contract writing automation scripts for Philips Informatics in Jscript for
Windows Scripting Host (WSH). These scripts used ADSI, WSH, WMI, CDO and T-SQL
Queries to install their monolithic medical image and information management system.
7/2007–11/2007 3JAM
Consultant – Senior Software Developer
3jam is in the “reply-all” text messaging space. I developed a payment processing system for
them that enabled them to charge money for their services. Payment types implemented
were Credit Cards, “KosPay”, PayPal and a Voucher System that I designed and developed.
Coding was done in PHP using Smarty Templates, with plenty of DHTML/Javascript/CSS in
the presentation layer.
11/2006– 6/2007 THINKINGVOICE
Consultant – CTO/Senior Software Developer
This company is in the Voice-Over-IP, “Pay-per-call” space. I designed and developed a
content management system using .Net (C#) and lots of DHTML/Javascript. I also designed
and developed a .Net Service that implemented a fuzzy logic algorithm to target ads to
consumers based on “categorical dereferencing” of 411 queries coupled with geolocation
matching.
11/2005–11/2006 MICROSOFT
Consultant – Sidebar Gadget Developer
As part of the Sidebar team, I wrote two Sidebar gadgets: Stocks and Weather for the Vista
release. I also wrote a 67 page article for MSDN Magazine on developing Sidebar Gadgets.
Inasmuch as my code will be seen be over 500,000,000 users, you can imagine that the
selection process was pretty rigorous as to who would become a Sidebar Gadget Developer.
Here is a screenshot of the weather gadget in Windows 7.
5/2005– 11/2005 AOL
Consultant - Senior Internet Engineer
As part of the MacStaff team, I was charged with developing several industrial-strength Mac
OSX Dashboard Widgets. Dashboard Widgets are rich, standalone DHTML files generally
employing complex CSS layouts and, in my case, asynchronous javascript requests that
return XML data (using XMLHTTPRequest Object. aka AJAX). I authored AOL Search, AOL
Moviefone, a Horoscope Widget and a Template upon which all future AOL Widgets will be
based. Code samples on request. AOL is very specific about branding requirements, the
use of logo, color schemes, etc. and I have had to become extremely conversant with the
AOL Visual Identity Guidelines as well as the Apple Human Interface Guidelines (the “HIG”)
to produce visually consistent user interfaces.
3/2005– 5/2005 MERCORA
Senior Internet Engineer
This .NET project involved dynamic extraction of data from various large, unscrubbed tables
and displaying it in a coherent fashion to many thousands of simultaneous users. Core
work was done in C#. Due to the “unscrubbed” nature of the data, many of the stored
procedures I wrote had quite a lot of conditional logic. Final display of data was done using
rich DHTML backed by a Javascript library of functions I authored. Perhaps an order of
magnitude more complex, I also authored a content management system for internal use
that let content managers directly manipulate the various tables and associations that made
up this quite extensive musical database.
8/2004 – 3/2005 MCAFEE
Consultant - Senior Software Engineer
This project entailed introduction and implementation of Global
Payment Options to localized, international websites. McAfee (best known
for its Anti-Virus products) has developed an e-commerce website serving
thirteen languages worldwide based on ASP and extensive use of XML and
XSL Transformations. I have researched and developed both the
specification and production code to introduce payment options more
familiar to international customers including "Switch" "Solo" (both forms
of pin-less debit cards) and payment by Bank Transfer and successfully implemented the
code in all worldwide languages.
6/2002 – 6/2004 MS2
Consultant - Senior UI Designer/Developer
MS2 is in the “Product Lifecycle Automation” (PLA) space and produces a richly interactive,
web-based, document collaboration and workflow application dubbed Accelerate. Initially
hired as consultant replacing their former Director of User Interface on a three-month
contract, my contract (and duties) were extended many times. During my tenure at MS2, I
was was responsible for designing the look and feel for Accelerate 6.0. This included
authoring the design documents, functional specs, developing working prototypes of
complex areas of new functionality as well as conducting usability studies. I developed
many working prototypes in ASP.NET, DHTML, C++ and ASP totaling perhaps 50,000 lines
of code. Among the more interesting prototypes was a DHTML User Picker designed for
Lucent to support thousands of users, Direct Drag and Drop of files into a web browser, a
Tabbed UI Site-wide Redesign, a Win32 System Tray “watcher” that mediated file check-
in/check-out and monitored file changes, a complex TreeView that had minimal bandwidth
impact, enabling users to quickly navigate/drill-down into a site map with 10,000 branches.
1/2001 – 10/2001 UPSHOT
Senior Software Engineer, U.I.
UpShot produces an entirely DHTML-based rich application for Sales Force Automation
(SFA). I was a key engineer here working on numerous features of the product. In particular,
I wrote an ad-hoc reporting module that was well over 15,000 lines of code. Their product
makes extensive use of DHTML and used my Drag-and-Drop code to allow users to arrange
fields for display on-screen and in reports.
1/2000 – 5/2000 E-STAMP
Consultant
I was charged with only the most difficult tasks. One particularly interesting project involved
my writing a "site compiler and localization engine" that essentially parsed and compiled the
entire e-stamp website and produced a duplicate version of it in any one of seven different
languages. Through this tool, web developers were able to create a single (English) version
that would then be batch-compiled into localized versions overnight.
5/1998 - 12/199 WEBVAN
Senior Internet Engineer
I was with this operation essentially from its inception, having developed the very first
webvan.com prototype as used in the "road show" and have continued to play a significant
part in its technology decisions, architecture and deployment.
I was responsible for the initial architecture of the webstore and developed the object-
oriented, three-tier structure used to this day. I also coded prototypical objects used by/within
each layer (for example, a customer object, a shopping cart object and a "retail object"
object) that, where applicable, were fleshed out by C++ programmers or Oracle SQL+
experts. Essentially, the entire Webvan.com website was completed by six core engineers;
of which I was the first hired.
I was tasked with development of ASPs and any tricky Javascript code as necessary. Over
time, I became involved in projects of expanding scope including those in Transportation; in
which I developed a module that provided for remote printing capability at any one of several
dozen geographically diverse crossdock locations, another project in the Publishing arena; in
which I developed the code by which the entire Category Hierarchy and Product Attribute
definitions were managed by any number of Content managers and, of course, with the
Webstore, where, among many various components, I developed a unique Javascript-based
CODEC that provided for 10-1 compression / decompression of raw HTML as sent from
server to client.
2/1997 - 5/1998 MACROMEDIA
Web Developer Senior Internet Engineer
Among many other assignments, my last assignment before I left Macromedia was as
"Principle Engineer" for a DHTML project known internally as project Gutenberg. This project
was an extension to Macromedia's Dreamweaver product and was written entirely in
Javascript. Without sounding too full of myself, I can certainly say that I was among the top
five (5) or so Javascript developers in the world at the moment. I also worked in a
consultant-senior engineer capacity on another internal project based on Microsoft's Active
Server Pages (ASP) technology. I was involved in R-and-D for many new web-based
products, was charged with evaluating new technologies for Macromedia and other
confidential projects.
See http://www.macromedia.com/
7/1996 - 2/1997 TRILOBYTE
Webmaster
Responsible for all aspects of web site development including site design, web-page
programming, server management and web-based marketing efforts. I also provided artistic
services for the web site in the form of animated .Gif's, static images, 3-D renderings and
video. This was “in the old days” of the internet and the Sun Solaris box that sat on my desk
was www.tbyte.com
7/1996 - 2/1997 VIRGIN INTERACTIVE ENTERTAINMENT
Senior Technical Support Lead
Design and development of technical support systems for use by technical support
department including KnowledgeBase software, IVR design, Call Tracking, Automated
FaxBack systems. Developing solves for various hardware/software configurations for use
by our online technical support personnel
EDUCATION
1991 Pepperdine University Malibu, California
BA/BSM - Four Year Business Degree, "Bachelor of Science in Management"
1984 University of California Irvine, California
Two Year “Information and Computer Sciences”
PATENTS AND PUBLICAT IONS
Data Transmission and Rendering Techniques Implemented over a Client-Server
System, Attorney Docket No. WVANP010, beyere, Weaver & Thomas, LLP. 510-
843-6200. This patent was 100% my idea and design.