DokDok: Who’s there?

dokdok-logo Email will be with us for a good time longer. DokDok, along with founder Bruno Morency, is seeking to evolve this often cumbersome communication mechanism, solving the often onerous challenge of exchanging documents via file attachment, tracking them, versioning them, facilitating interaction with them, and extending this vision to facilitate other products.

In Part 1, of this four part series, I sat down with Bruno to understand more about the product and its origins.



TPG: How would you describe DokDok to the average person?
Bruno: Have you ever spent a few hours editing a document only to realize that you didn’t start from the latest version? That01_dokdok_ui shouldn’t happen and this is what we solve. When a document gets emailed to colleagues or clients, typically, a long sequence of emails follow.  DokDok makes it easy to keep track of who said what and list versions of the document attached from different emails.


TPG: Tell us about yourself and how you decided to start DokDok.
Bruno: My first company, started right after graduating from McGill Engineering in 2001, developed a web-based knowledge management application and was bought in 2003. Before founding DokDok in 2009, I was involved in other hi-tech startups as head of marketing and product development.


Since being introduced to Pine on an old UNIX terminal, I always had a love-hate relationship with email. I kept on trying to find a better way to share documents rather than sending attachments but always ended up coming back to email. With DokDok, my goal is to make attachments a sensible way to share document. That effort made me love email even more as a user but, coincidentally, hate it more as a developer.

TPG: What is your business model?
Bruno: DokDok is a SaaS product. It’s offered as an hosted service and once we’re out of beta, we’ll have membership options with added premium features.


TPG: Who is your competition?
Bruno: Currently users manage attachments and documents in email in an ad-hoc way. As it is, the process of handling document revisions in email is time consuming and prone to error. The competition mainly includes solutions addressing this problem by trying to eliminate email: folder synching (Dropbox, SugarSync, …), collaboration rooms (, Huddle, SharePoint, …) and traditional enterprise document management systems.

Fact is, unless you can force everyone to create an account on these services and check it regularly for updates, you can’t escape from email. Products like Xobni and Gist brought relationship management to the inbox because that’s where it happens. We’re doing the same for documents.


TPG: What is your work environment like?
Bruno: Amazing! We’re still a small team and we’re sharing an office with a few other tech startups in downtown Montreal. Being surrounded by people close enough to your team (you see them many times per week) yet not directly involved (they’re working on their own startup) has given feedback, ideas, opportunities and connections that just wouldn’t have happened if we all worked from home or in a tiny office just for our small team.

It’s DokDok

DokDok is an email enhancer that currently works with your Gmail, Google Apps, Highrise to overlay concepts of a robust document management and version control system to email attached documents. In this part of the series, we learned a good deal about DokDok, its origins, and environment. However, my conversation with Bruno covered many other topics. We can all look forward to the next part in our conversation with Bruno and DokDok exploring the company’s finances and future.

Part 1: DokDok: Who’s there?
Part 2: More than Just Email Being Brought to the Future
Part 3: DokDok… It’s Advice!
Part 4: More Companies are Becoming Modular Innovation Enablers

Subscribe now (click here) to make sure you don’t miss any part of this series exploring DokDok, as well as other insightful posts from The Product Guy.


Jeremy Horn
The Product Guy


TBPP2010: Giff Constable on "Getting to Here"

TBPP2010_altabrv1145Giff Constable, The Best Product Person of 2010, is the subject of our first series of 2011. Over the coming weeks I will be sharing a Q&A session I had with Giff — and lending some insight into why Giff truly is The Best Product Person of 2010.

In part 1 of this series, I thought it would be good to start at the beginning and learn just how exactly Giff got to "here."

Getting to here…

> What key people helped shape you into the product manager you are today?

Jeremy Epstein (Trilogy and Ithority, mid-nineties) first introduced me to concepts of good Human-Computer Interface design, and of applying rigor to understanding the problem you want to solve. Chris Carella and Bernie Yee (Electric Sheep Company, latter-2000s) introduced me to the world of game design and useful practices like early paper testing. And over the last 18 months, authors like Eric Ries have helped me take lessons learned over 16 years and 10 products and advance them to a higher level of sophistication.

> How did you decide to become a product manager?

When I was getting close to graduating from college, I seemed to have three possible paths ahead of me: become a lawyer, go market toothpaste, or jump into tech and become an entrepreneur.  My passion lay with the third path, which meant learning how to make great products.

> What inspires you in your day-to-day work?

The desire to create something truly great, a highly self-competitive nature, and loyalty to my colleagues and team.

Stay Tuned

Over the next few weeks I will share more of my interview with Giff Constable, The Best Product Person of 2010, as well as other fascinating product people I met in this journey!

Subscribe now (click here) to make sure you don’t miss any part of this series exploring The Best Product Person of 2010, or any other of the upcoming product person interviews, as well as other insightful posts from The Product Guy.


Jeremy Horn
The Product Guy

The Best Product Person of 2010, Inside Innovation & Discovering Dinevore!


A big thank you to everyone who made it to our latest roundtable meet-up of The Product Group, as well as to our sponsors, Balsamiq Studios, Sunshine Suites, and Ryma Technology Solutions.

IMG_0937 Over the course of the night a few of the highlights were…


The Best Product Person of 2010: Giff Constable of Aprizi
out of an abundance of nominations, one product person this year stood out above the rest

Featured Product: Dinevore
exploring the product, its challenges and successes, from automation to ux
(a big thanks to the Dinevore product person: Jeremy Fisher)

Fostering Innovation
from defining to preparing for failure

The Product Group meet-ups are an opportunity for Product People (managers, strategists, marketers, etc.) to come together to meet, interact, and network in a roundtable setting. It’s awesome to meet fellow Product People in a laid-back, conversational gathering.

IMG_0947 If you are a Product Person and are interested in having your product featured or participating as a featured guest expert at an upcoming meetup of The Product Group, contact me.

I am looking forward to seeing everyone at our next meetup …

  Thursday, February 3rd @ 7PM
@ Pace (163 William Street, 2nd Floor, NYC)

And, stay tuned for more announcements about January’s Featured Product, Dinevore.

If you would like to attend our next meet-up, RSVP today or visit our group webpage at…


Jeremy Horn
The Product Guy

P.S. Interested in becoming a sponsor or host of The Product Group? contact me.

The Best Product Person of 2010 Announced!

TBPP2010_alt-abrv-114 On Thursday, January 6th, the 1st annual winner of The Best Product Person (TBPP) was announced at The Product Group!

Throughout the year, as nominations poured in, I was continually excited and amazed by the highly innovative and inspiring Product People spanning the realms from startup to Fortune 500, and from peanut butter to consulting to social media. In the end, there were 8 truly outstanding finalists!

image The Product Guy & The Product Group are very pleased to announce The Best Product Person of 2010 is Giff Constable of Aprizi!

Giff’s career path has traveled that of entrepreneur, artist, and investment banker — no doubt, all contributing to his outstanding product person success. He has spoken about cutting edge technology at major conferences like NRF and GDC, as well as through media outlets such as Business Week, New York Times, CNBC, NPR, ABC News, and Reuters. For more about Giff Constable, check out his blog @ .

Over the coming weeks we will be speaking with and learning more from Giff, some of the other finalists, as well as other up-and-coming product people met on this journey of discovery.

Thank you to everyone who participated, nominated, interviewed, passed on the word! The nominations for The Best Product Person of 2011 will begin in a few months. In the meantime, take a moment and congratulate this year’s, The Best Product Person of 2010: Giff Constable. (tweet)


Jeremy Horn
The Product Guy

jQuery Plugin: BetterGrow Your Words


Many things grow, but none grow better than when they BetterGrow.  Used by products such as Facebook and Basecamp, textareas that can adapt to user input, growing or shrinking their height to the demands of the text entered, provide an oft-desired minimalistic user experience of progressive enhancement – providing just what is needed by the consumer when it is needed.


Despite the widespread appeal of dynamic height textareas, I have been unable to find one such code snippet or JavaScript plugin that would meet all my needs; the most important of which was responsiveness.  Every dynamic textarea plugin that I found had some shortcoming, from delayed reaction to required grow/shrink event, to annoying visual flickers and blinks.  BetterGrow was designed to have none of these quirks, and simply grow (and shrink) better, based on the specified options and text content.

I wanted a dynamic and customizable textarea that kept up with me, that

didn’t wait until I was done typing to resize,
was much more ‘elastic’ than other similar plugins,
never obscured the entered text,
adapted both quickly and smoothly to the user.

So, I wrote the BetterGrow jQuery plugin and open-sourced it under both GPL and MIT License so that I, and everyone else, could benefit from a textarea that didn’t just grow, but grew better when it had BetterGrow. 😉



BetterGrow is a customizable jQuery plugin for enabling the improved, dynamic expansion of a textarea.

	<textarea id="area51">
$('#area51').BetterGrow({ / * OPTIONS * / });

When the text within the target textarea exceeds the initial textarea height the textarea increases its height sufficiently to accommodate the new text.

When the text within the target textarea decreases sufficiently to allow for a lesser height, and the height is greater than the minimum textarea height or initial textarea height, then the textarea height is reduced to the minimum height required to display the text within, while not obscuring the visibility or requiring a scrollbar to view any of the text

Important:  The textarea must reside within an encapsulating DIV.  And, to avoid problems in IE, you should explicitly set the textarea’s width.


When initialized, the textarea object and its parent DIV have their attributes adjusted.  The method implementation supports chaining and returns the jQuery object.

The DIV should add no size to the textarea object or region.  DIV height is automatically set to AUTO.

The textarea’s overflow is set to HIDDEN and the WIDTH is set to the current WIDTH. (FYI:  WIDTH of textarea must be defined to work in IE)

If the DIV is missing, the plugin will attempt to wrap the textarea in a new DIV.  It is recommended that all targeted textareas are wrapped in a DIV before calling BetterGrow to avoid unexpected behavior.

If the textarea already has text within it when BetterGrow is initialized, the textarea’s height is automatically adjusted to fit the text (if a height greater than the initial height is needed to present the text unobscured).


By default, the textarea’s initial empty height, aka minimum height, is set to 26px, with no special event handling enabled.  These and many other characteristics are fully customizable, and fully itemized and explained below.

To change these settings, they can either be accessed directly…

$.fn.BetterGrow.settings.initial_height = 100px;

… or at the time of initialization…

	initial_height:	50px,
	on_enter:		function() {
	do_not_enter:	false

The default settings data structure is…

$.fn.BetterGrow.settings = {
	initial_height:	26,                // specified in pixels
	on_enter:		null,         // callback function; if specified, this is called when enter is pressed
	do_not_enter:	true         // if true and on_enter is not null then enter event does not cascade / pass-through to textarea

The parameters are defined (and all can be overridden) thus…


  • minimum height in pixels for the textarea
  • if the textarea is EMPTY, this is the initial height


  • callback function that is called when ENTER is pressed within the target textarea(s)
  • by default, on_enter is DISABLED (set to NULL)


  • if on_enter is ENABLED (pointing to a callback function) and
    • if do_not_enter is TRUE,  then the ENTER event DOES NOT CASCADE / pass-through to the text area
    • if do_not_enter is FALSE, then the ENTER event will trigger the calling of the function referenced by on_enter and be reflected within the textarea
  • In other words, if TRUE then the content of the textarea will not change as a direct result of the user pressing ENTER.

Get It

You can download BetterGrow, dual licensed under GPL and MIT, from…

Public Clone URL: git://


If you find this useful, or have any questions, ideas, or issues, leave a comment.


Jeremy Horn
The Product Guy