New Feature: User Annotations
The best project that I have had the honor of spearheading was the prototyping, refining, and implementing of the "User Annotations" feature for my employer's latest flagship product for legal research, WestlawNext (also, its marketing site). This feature enabled users to:
- Highlight text within our legal documents.
- Highlight text within our legal documents and attach a inline note to it.
- Attach document-level notes when no associated text needs to be highlighted.
So why was this feature the best project I've worked on to date? It was:
"Impossible": When our Information Architect originally brought the idea to me and my team on a Friday afternoon, we all thought it was impossible to achieve, especially cross-browser (IE >= 7, and friends). None of us had ever seen such functionality on the web at that point, only in desktop applications like Adobe Reader/Acrobat—and it is still quite rare even today. However, all of our biggest competitors have added since attempted to copy our functionality... some mostly successfully, some not.
Agile: As it happened, I was leaving on a family road trip the next day. Inspired by the challenge, I brought my personal laptop along and was able to hammer out a basic but working prototype for IE and an especially buggy prototype for the other browsers. Additionally, although we were already practicing agile development as our SDLC, this particular project had an exceptionally tight feedback loop between the IA and myself, which made it simple to mold the functionality to be the exact implementation to match his idea.
Challenging: Even after working around the cross-browser compatibility issues, our product's content posed its own challenges:
- Our users' annotations are private data, so they couldn't be associated directly with a document.
- We have pedabytes of document content, so giving each user their own copy of the document wasn't a cost effective option.
- Our document content also gets updated occasionally, so our algorithm for placing the inline user annotations had to be very forgiving.
Little Management Overhead: For this project, I worked mostly independently with minor collaboration points when I wanted some unbiased design validation from my peers. Moreover, to my management's credit, they were primarily just "along for the ride" on this effort and the lack of micromanagement (_not_ the norm at the company) made it so much easier to get some intense work done without any roadblocks.
Successful: Last but certainly not leas, the project originally thought impossible ended in a complete success. Not only did it go out with the initial release of our new product but it was also wildly popular with our customers: on an average day, more than 30000 new highlights and notes are added.