Over a million developers have joined DZone.
Platinum Partner

Pretotyping: a complete example

· Agile Zone

The Agile Zone is brought to you in partnership with Hewlett Packard Enterprise. Discover how HP Agile enterprise solutions can help you achieve high predictability and quality in your development processes by knowing the status of your projects at any point in time.

Pretotyping is a technique for testing user reception to a new product, before even building a functional prototype; what is put under questioning in pretotyping is business viability, not technical feasibility.

After reading the Pretotype It book in one sit, I set out to try an idea I had for a web service. In this article I share what I learned and the results of my experiment, open to interpretation.


The goal of my activities was to validate the idea of a service which provides links considered controversial with respect to the user's interests; for example, in the field of programming languages, an article on Ruby's unique features to a PHPer, or the wonders of automated refactoring in static languages for a Rubyist.

The service is about avoiding the filter bubble: getting stuck in the bubble of our interests and never learn something new from the competition. I called this pretotype Who Disagreees With Me?.

Instead of building a real prototype, I launched a weekly newsletter: this approach is an example of a Mechanical Turk pretotype, where a human (me) does the work of a machine (an algorithm for selecting links, or a platform for crowdsourcing it like DZone does.) It is also an example of Re-label, since I borrowed a mailing list service from MailChimp and call it a web service.

I published weekly articles on my blog, which has 1.2K feed subscribers; I extended my reach with links on my Google+, Facebook page and Twitter.


Subscriptions mainly came after my blog posts, related to the creation of the service or a new issue of the newsletter.

The trend peaked after the first issue, and is declining ever since, probably as a result of the conversion of all interested blog subscribers.

Note that these data (apart from the first which span 5 days instead of the weeks) are relative to a period of one week from one issue to another, so it is really a subscription rate. I am not counting the views on blog pages, where older pages were naturally bound to have more views.

Opening rate

According to MailChimp, the percentage of emails that were actually opened is very high with respect to the industry (and all industries): it was always over 50%.

This datum indicates a very selected public, since it consists of the followers of my blog. The potential page views were close to the 1.2K feed subscribers number; the page view I got were in the hundreds, and the final newsletter subscribers was 78; I had 2 unsubscribers during the whole experience.

Cohort analysis

Googler Alberto Savoia followed me during this experiment, and suggested a different analysis of the data: by tracking simply the data of a single issue of a newsletter, I would confound new subscribers with older ones.

He suggested a cohort analysis, which divides the subscribers in cohorts: groups with a single characteristic.

In my case, the cohort was defined by the periods of subscription:

  • cohort 1: after creation and first issue
  • cohort 2: between first and second issue
  • cohort 3: between second and third issue
  • cohort 4: between third and fourth issue.

The After the fourth issue cohort does not exist because I have no data: the variable provided by MailChimp is the openings number for each newsletter.

Since I had various version of each issue depending on the topic (PHP|C|Java...), I aggregated them and retain the number of openings, specific for an issue and for cohort.

Thus now I have a trend for each category of user where I see his evolution in time, relative to the time of his subscription.

Compare this scenario to Twitter's one: the activity in there lowers very much after the first month of usage. However Twitter has millions of new subscribers every month, so the one that remain ultimately lead to more activity than for the first month.

We have to look at two things in such an graph:
  • how the average cohort behaves in time, so that newer subscriptions don't cover up the disengagement of older users who cease to open mails. If each cohort goes down after a certain period of time, the user isn't sticking with the service.
  • How newer cohorts improve with respect to the previous ones (this was not my objective while creating the newsletter however, as the format and content stay constant).


This is a full example of pretotyping a web application's concept without writing any code (which costs you your time, focus, and money for hosting), and of analyzing data collected by a third-party service.

What do you think about the collected data? Do you think users show a recurring interest? Is their subscription rate high enough?

The Agile Zone is brought to you in partnership with Hewlett Packard Enterprise. Learn more about driving business innovation by leveraging Agile quality lifecycle strategies.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}