Can we build this in 30 Days?

I don’t think so. But it’s worth a try

There’s this hackathon going on at Product Hunt. Over the month of November hundreds of teams are building products in the following six categories: AI, AR, Blockchain, Google Assistant, Slack and Social Impact.

Our team including Dennis Stücken, Rohan Dey, Enrique Benitez 🎩 and me connected via the hackathon Facebook group. We met there in early November and are working on a major update of SpreadShare since then.

Stop. Did you just say ‘major update’? Didn’t Product Hunt suggest applications have to be newly created for this hackathon and existing solutions are not eligible for the competition?

That’s right. We discussed with Product Hunt guys upfront and got confirmed that — even though we’re reusing our brand and the idea is similar to our previous version — we’re talking about a completely new product we have to build from scratch. For clarification, our previous version was build using Webflow. That’s why we had to rebuild the platform from scratch, completely redesign the product and couldn’t reuse a single line of code.

Our previous version was a place to share and discover links whereas our new product is all about collaborating on content.

If you haven’t heard of SpreadShare yet we recommend to read the stories of how we build our prototype and launched it. In short, SpreadShare is a content community for digital professionals. We believe in public tables as a format for collecting and distributing information. Collective research through crowd-sourced data creation.

But why spreadsheets? What is so special about the format and why does the world need another spreadsheet tool if there are so many already. We’d love to give a little more context on the vision we share, the problem we realised and the solution we designed. And as usual, we want to share some learnings from the past weeks with you.

II. Why Now?

This paragraph provides some more context on the history and usage of spreadsheets.

VisiCalc on the IBM PC (identical to 🍏 version). All about sales, costs & profits

Back in the Days

Next year we are celebrating the 40th anniversary of perhaps the most revolutionary software program ever. Professor Richard Mattessich pioneered the development of computerised spreadsheets for use in business accounting in 1961. The first electronic spreadsheet program (called VisCalc which stands for “visual calculator”) was developed by MIT/HBS graduate Dan Bricklin and his peers in 1978. This application is considered the first killer application on PC’s. Five years later a software called Lotus 1–2–3 launched and soon became an industry favourite. Microsoft entered the market two ears later and introduced the first version (Mac only) of Microsoft Excel. While IBM acquired Lotus 1–2–3, Microsoft Excel became the spreadsheet market leader in 1995. There didn’t happen a lot until advanced web technologies such as Ajax drove a new generation of online spreadsheet tools and Google launched it’s Sheets product (G-Sheets) in 2006 allowing users to collaborate with others, online and in real time.

The way spreadsheets were used has changed over time. We identified three phases of usage.

Phase I

The initial idea was to use spreadsheets as a tool to do calculations or let’s call it modelling. This use case is still relevant today in most industries.

Phase II

In the second phase companies started to create spreadsheets for operational use. The ease of creating spreadsheets made it a practical interim option to support the information management of critical business processes, thus becoming a core business program containing static and changing data, as well as all the calculations applied to the data. One common application of operational spreadsheets is maintaining business lists, such as inventories and confidential customer information.

Phase III

The third phase started with the advent of advanced web technologies such as Ajax in 2005. A new generation of online spreadsheets emerged. Equipped with many of the features seen in desktop applications, online tools like G-Sheets, Smartsheets and ZOHO introduced ways for users to collaborate with others, online and in real time. That’s where we are today. So, what’s next?

Today

With the introduction of Google spreadsheets (G-Sheets) users were allowed to share spreadsheets publicly and let others collaborate on the data. What a powerful idea. I opened the first public spreadsheet in 2011, it was a detailed comparison of over 50 board games (the sheet doesn’t exist anymore). The content of this sheet was impressive. I quickly realised that these public spreadsheets work more like shared directories and things like formulas, tools and templates weren’t that interesting for the community. Possibilities to collaborate on a financial model are limited whereas directories can be updated unceasingly.

III. Vision

We are heading towards a new age. In May 2017 The Economist writes, ‘the world’s most valuable resource is no longer oil, but data’. Following the footsteps of British statesman Winston Churchill and Canadian philosopher Marshal McLuhan, today we could rephrase:

We shape our data and therefore our data shapes us.

Information is the ultimate value. Knowledge has the power to educate people and fundamentally change their lives. Access is the problem, there’s no free lunch, they say. But Wikipedia (among other sites) proofed that voluntary crowd-sourcing information is a way to democratise information and grant free access for everybody. We believe that most of the worlds knowledge can be put into the table format through the power of the crowd.

With SpreadShare we make the guarantee that information is and always will be freely accessible for everybody. We have a philosophy of openness and collaboration and want SpreadShare to be owned by our contributors.

IV. Problem

The biggest problem with online information today is that it is centralized and controlled by a very few players, that it benefits to have the most salacious and hype-ridden information. We can do much better.
- Larry Singer, Co-founder of Wikipedia

Today, there are thousands of these public sheets containing all sorts of useful information. The scope feels endless. Creators go through the effort of collecting and compiling big loads of useful information into perfectly structured tables, and share them in the wild through various public channels (e.g. Hacker News, Reddit, Slack, Discord, Facebook, Twitter, Newsletters, Medium and others). Those sheets can go viral in a short periode of time. Attract thousands of users and grow the content by contributions from the community. Still you will hardly find public spreadsheets older than 2 years containing actual and relevant content. There’s many reasons why these sheets decay. G-Sheets are broken when it comes to collaboratively collecting and distributing data. Creators usually start with high ambitions and lose stamina over time. The content gets stale and isn’t leveraged into anything else.

V. Solution

A platform to let people collaboratively create data tables and earn token for creating engaging content.

We interviewed some of our most active users and creators via phone and chat. And we created and analysed two surveys — one for our users (survey results) and one for our creators (survey results).

Surveying our Users

We wanted to learn more about the topics and features our users are interested. In summary our users are most interested in ideas, best practices, contacts and software in the fields of product, design and tech. The possibility to discover new content and

Surveying our Creators

Our research’s aim was to understand if we could iterate our platform using G-Sheets or if we would have to build our own spreadsheet software. We realised most people who participated in the survey where actual users of our MLP. What was important for us it that survey participants had experience with creating public spreadsheets which was definitely the case. Also, almost everybody agreed that public spreadsheets are important.

No Formulas — Sure, to build something like G-Sheets is unrealistic without raising big funds (even with big funding it’s a tough challenge. Much ❤️ for the Google Developers). But looking at our data we realised that templates and tools using formulas were accounting for less than 10% of our content. Most of the content were directories, lists, comparisons (of software tools a.o.) and datasets. We wouldn’t need all the calculation power which was the killer feature when spreadsheets first appeared. Our survey also shows that most creators are not using formulas a lot.

No Formatting — When talking to our users we realised that many of them were distracted by the fragmented visual experience of G-Sheets. The reason for the fragmentation is the variety of formatting options like colours, fonts, borders and more. Users said it’s more difficult to get an overview, understand the topic and find into the content if every sheet uses another visual language — and most of them don’t follow universal design rules. It’s very similar to what Medium did to blogs in 2012. Creating a uniform design, removing most of the customisation and formatting options and not allowing the usage of templates.

Credit the Creators — Most sheet owners create a dedicated tab to inform the users about the aim, methodology, sources, rules, creators (…) of a spreadsheet. When looking into our data we realised that we couldn’t identify the owners of 56% of the spreadsheets submitted to our platform. Creators, contributors and users are anonymous, you can’t credit, follow or pledge them. At Wikipedia we can see that reputation seems to be the most important motivator to contribute knowledge. That’s why we put the creators and contributors first, offer ways to pledge and follow them, and let them build up their reputation. Another great side effect is that a creators reputation is a very good indicator for the quality of the creation, too.

Review Content — Almost all users complained that there is no way to rate or review a G-Sheet. The reason is that they don’t know if they can trust the content. Also they want to know which sheets are worth a look. Some users even said they would like to rate specific rows, columns and cells within a spreadsheet. The ideas ranged from upvoting sheets, columns, rows and cells to writing reviews, star-ratings and open discussions via comments.

Build an Audience — A lot of creators told us that they had problems building an audience with G-Sheets. Users can’t subscribe or follow sheets and won’t get updates on the content. If a creator is not able to reach his audience his creations will be unseen and his motivation to improve goes most likely to zero.

Understand your Audience — They say, if you can’t measure it, you can’t manage it. G-Sheets creators hardly get any page and user stats (e.g. users, visits, contributions, time on page, traffic sources etc.). All creators said that they want a feature like this and are surprised that G-Sheets is not offering it.

Change Management — Our creators said they struggle with contributions from people they don’t know. One reason is trust. Who is adding content here and why? Another reason is that there are no ways to submit change requests as a user and manage those as a creator. Sure you can make other users editor of the sheet but creators wont like this option for the first reason: trust. We have to empower the creators to manage changes efficiently and build trustful user profiles.

Discovery — One of the biggest pain points our creators named is that there are no ways to search or discover G-Sheets. Creators have no chances getting organic traffic. Content in G-Sheets seems to not be indexed by Google’s search. It’s also hard to find a sheet by it’s title. Even though Google’s search supports file types like Excel it doesn’t support specifically looking for content in G-Sheets. There are also no sites, platforms, directories dedicated to G-Sheets. We spent days searching the archives of FB Groups, Hacker News and using Google’s search to find the first 150 spreadsheets we needed to launch SpreadShare.

Monetisation — Some creators expressed the desire to monetise their content. Ideas ranged from paywall over advertising to subscription fees. We came up with something new. Value is created by users. Let’s elaborate on this a little further.

Monetisation →Tokenisation — There is a very special aspect about our product. We designed an avant-garde way to reward our creators. But let’s start with a little case study first.

Wikipedia is serving the whole world with a free encyclopedia but has to beg for funding time and again. The non-profit organisation and one of the top-5 websites in the web is financed by user donations and struggles regularly to raise the required funds. Can you imagine big VC’s or PE’s owning the site? What would that do to the community of contributors and the content?
No. Let’s imagine Wikipedia would be owned by the crowd, each user would own a share of the platform based on the amount of contributions added to it. 5,000 of the 32,000,000 contributors of Wikipedia account for 23% of the content. The most active contributor accounts for 1% of all contributions. It’s hard to value the market cap of non-profit’s but experts say estimates would be in the range of $5 billion to $10 billion. That would make the most active contributors share worth $50–100 million. Committing your life to a user-generated platform — and we don’t believe money makes you rich — could make you really wealthy.

What we are trying to explain is that certain platforms need certain governance structures to unfold their true potential. We believe that the most recent developments in blockchain technologies allow us to create a platform owned by its creators. We will introduce tokens which can be earned by users for participating in the network and contributing to the community. The basic idea is to distribute tokens to all contributors of a table once a day. Content alone doesn’t make you earn a lot of tokens. The content’s traction is the weighting factor depending on the traffic and upvotes a table receives. This way the tokens will always represent the value of the platform and its data. We are committed to the idea of volunteering to share knowledge. But we believe that there should be a reward for good work. 90% of the platform ownership should belong to the contributors. The data which is collaboratively created by the users will grow over time to become more valuable.

VI. Stack

We are using PHP7 for almost all backend processes including the delivery of the frontend and daemonizing some processes. We also decided to make use of Phalcon, which is a framework written with the help of Zephir. So it is build entirely in C and deployed as a PHP extension. An extreme advantage of this is to have all the framework code in your memory in a processor optimized way, instead of interpreting it as php over and over again on each request.

As we ship a web-app, Javascript is obviously used for several frontend components like the Tables. Although we are using React and Redux for creating them, we decided not to make a single-page application because of the additional complexity and effort it brings to the table. Instead we are going with a multi-page approach that is dynamically loading some React components into DOM Elements. For creating the tables we used the community edition of Handsontables — a Spreadsheet Component with React support and highly customized it.

Our service is meant to store a lot of data, so we also needed some data stores. MySQL is used for storing everything in a structured and relational way. Then there is also Redis, which is basically used for queueing and caching a lot of things to further improve latency for each requests. The Queueing is done with the help of the Bernard Queueing Framework.
For searching through our data, we created an Api Endpoint in PHP that acts as some kind of a proxy, redirecting requests to Elasticsearch. So Elasticsearch is where the tables are indexed.

For distributing the tokens, we created an ERC-20 compliant Smart contract with Solidity. It has a total supply of 1.000.000.000 units. Each user gets a wallet with their own address upon signup. To save GAS on distribution in the first place, tokens are stored off the chain in our MySQL datastore first. They are distributed to the wallet address once the user wants to withdraw them.

Our Signup processes are using the latest OAuth frameworks of Facebook, Twitter and Google. E-Mails are sent with the great support of Mailgun.

The whole infrastructure is currently running in a docker-composed environment on a strong EC2 Server on AWS. This Docker setup was also used during development and then tweaked for production usage. We unfortunately didn’t have the time to create a proper environment on AWS, so we keep fingers crossed that the EC2 instances stay healthy until we can manage to create a fancy AWS environment.

VII. Community

When we launched our initial MLP we made clear that this will be a product from the community, for the community. And — inspired by projects like Product Hunt or Oak Meditation by Kevin Rose — we decided to build the product together with our community. Therefore we did a lot of user testing, interviews, surveys, design reviews, bug detection sessions and endless discussions with our users. We used our Facebook group, Ship messages, the hackathon group, our Newsletter and our previous site to reach our users. InVision helped us to gather feedback on our designs.

VIII. Earn Token. How?

Our users can receive token by enriching our community with valuable content, inviting new members and spreading the word.

  • Creating a new table. Create a table and earn 2.5% of all tokens the table generates (for all time). As more users view and upvote the table as more tokens are generated every day.
  • Contributing to a table. By contributing to a table you own a certain stake of the content. The amount of tokens a contributor receives depends on the number of upvotes and views a tables receives during a day. The tokens are provided by the platform every day and distributed to the user based on their contribution share on the table
  • Inviting new members (10 token): You can invite new members by email or via a invite-link. Once they have signed up, you receive 10 tokens. There is no limit of how many members you can invite.
  • Importing contacts (5 token): Import your contacts from Google, Twitter or Facebook and earn 5 token for each import.
  • Spreading the word (5 token): Proof your social accounts and spread the word to verify your identity and spread the word. We support Facebook, Twitter, Product Hunt, Hackeer News, Medium, LinkedIn and Github.
  • 1 upvote to a table is equal to 1 token — 100 views are equal to 1 token
  • Platform Vault. 90% of tokens will be distributed towards our users, 10% will remain in the platform vault to iterate and improve our product and pay salaries.

IX. Outlook

What’s Next

We’re focussing on iterating our product based on the learnings from our most recent release. We’ll be starting by letting the first users access our platform. Together with them we’ll explore the way they use the product and define a roadmap to iterate it. There’s more features to come, bugs to fix, pixels to push and tables to be added.

🚨 You’re writing code and interested to have a look on our code and explore ways to collaborate? Just send us a mail.

In our next major release we’ll provide you with the options to withdraw or deposit tokens on SpreadShare – as well as the possibility to trade our tokens on exchanges – are key features on our product roadmap and will be introduced at a later stage. There will also be a token sale soon.

X. Demo

Here we goooooo!!!!!!