drupal as a lean startup platform

23
@IZTOK PROJECT DATE AUTHOR 02 MAR 2014 DRUPAL AS A LEAN STARTUP PLATFORM BUILDING MINIMAL VIABLE PRODUCTS WITH A SITE BUILDING APPROACH BUILD Measure Learn

Upload: iztok-smolic

Post on 26-May-2015

2.386 views

Category:

Technology


2 download

DESCRIPTION

Build. Measure. Learn. This is lean product development in a nutshell. The basic idea is to get a minimal viable product (MVP) out there as soon as possible. Now there are all kinds of MVPs we can build, but for web application we will need to build a working prototype at some point. This session is going to give some tips and tricks on how to use Drupal as a platform I recommend building a prototype upon. Session is also interesting for more experienced developers since I will try to prove a point that rules can be broken during the development of the MVP.

TRANSCRIPT

Page 1: Drupal as a lean startup platform

@IZTOK

PROJECT

DATE AUTHOR02 MAR 2014

DRUPAL AS A LEAN STARTUP PLATFORMBUILDING MINIMAL VIABLE PRODUCTS WITH A SITE BUILDING APPROACH

BUILD

MeasureLearn

Page 2: Drupal as a lean startup platform
Page 3: Drupal as a lean startup platform

So who am I?Building/developing with Drupal 6 years

I was involved in 5 web startups in the last couple of years

Failed to show release many own products

Beta-released my first SaaS product PLY.jobs

Reading Lean startup from Eric Ries shifted my mindset

Page 4: Drupal as a lean startup platform

What is a Lean?

Method for developing businesses and products

Build-Measure-Learn

Release early, release often

!

Buzzword that got you here :)

Page 5: Drupal as a lean startup platform

What is a minimal viable product

Anything that can be used to test your hypothesise.

Ad campaign

Smoke bomb

Photoshop mockups

Prototype

More examples:http://to.ly/s70F

Page 6: Drupal as a lean startup platform

Why use Drupal?

“There is a module for that“ (25,000 modules available)

ready to use solutions

open-source (no additional licence costs)

community (access to talent pool, support)

Page 7: Drupal as a lean startup platform

Starting pointGet a couple of days head-start with distributions

Panopoly (best Drupal practices)

MVP Creator (extends Panopoly for startup-ish projects)

Commerce kickstart (shops)

Open Atrium (intranets)

and others …

Page 8: Drupal as a lean startup platform

Don’t code, use modules“There is a module for that.”

Do research, don't pick the first solution/module found by Google.

Go through open issues.

Avoid using modules that don’t use entities and leverage ctools.

Don’t be afraid to use a dev version or even sandbox if done by right people.

Test on a separate built if not sure.

Page 9: Drupal as a lean startup platform

Data StructureStoring data in entities

Preferably nodes (content types)

Best supported by other modules (rules, views, panels etc)

Try to avoid Taxonomy for other that tags and categories

User just as login entity (i.e. separate data-rich profile from user)

Page 10: Drupal as a lean startup platform

Data StructureUse semantic fields for storing data• date

• address

• link

• email

• color field

• timezone

• phone number

• file field sources

And many, many, many others…

Page 11: Drupal as a lean startup platform

Data Structure

Break data into multiple entities and link them.

Entity reference

Relation

Relation itself is a fieldable entity

Organic groups

Page 12: Drupal as a lean startup platform

Relation dgo.to/relation

Any kind of entities

Store information about the relation

Advance inherit features

Rules & views supportVideo course

Commerce product

Customer

Subscription Relation

Expiration date Date field

Page 13: Drupal as a lean startup platform

Organic Groups dgo.to/og

Any kind of entities

Using groups as data hub

Permissions (even field level)

Great ecosystem around OG(add-ons and support)

CompanyOG group

Employee OG member

ProjectOG Content OG Group

TaskOG Content

Page 14: Drupal as a lean startup platform

Control the layoutDefault block system not flexible enough

Alternatives

Context

Panels

Working with Node (content) displays

Display Suite

Panels

Altering forms

Field Group

Display Suite

Panels

Page 15: Drupal as a lean startup platform

Control layouts with Panels dgo.to/panels

Design is not important, layout is

Replacing block layouts with Panels

Using Panels Context and Conditions for logic

Using views content panes inside panels

Custom permissions implementation

Page 16: Drupal as a lean startup platform

Panels Everywhere dgo.to/panels_everywhere

Overriding modules paths/pages (eg node/%node, user/%user)

Selectively choosing variant based on context & conditions

Selectively displaying components based on conditions

Views integration (views panes)

Selection & context for selecting page templates

Complete control over forms

Page 17: Drupal as a lean startup platform

ThemingNot necessary if not used as beta release

Look for panels_everywhere supported themes

Bootstrap

IKEA of web design

Warning: dictates the markup

Page 18: Drupal as a lean startup platform

Codeless business logic dgo.to/rules

Rules module allows site you to define conditionally executed actions based on occurring events

Entities (specially node) fully supported

Add, delete, modify entities or its field based on action

Log events

Permissions checks

Page 19: Drupal as a lean startup platform

Commerce dgo.to/commerce

Eco system of commerce modules

All data stored in entities (extend with fields)

All listing done with views (easy to override)

Logic build with Rules (easy to hook into)

A whole framework inside of Drupal

Page 20: Drupal as a lean startup platform

CommunicationSending email with Mandrill (statistics, spam free)

Platform messages

Messages (activity streams)

Private Messages

Page 21: Drupal as a lean startup platform

Hacking core & modules (aka hurting kittens)

Prototype is not your final product

In some cases you can even get away with bugs

In some cases it doesn’t need to be secure (this goes for prototypes only)

!

Patch modules or even hack them (but document everything because of the team)

Page 22: Drupal as a lean startup platform

Going into production?Shouldn’t be a general rule

Works great for

products with anonymous traffic

low interaction platform

Does not work so well for

Social networks

Real time interactions