drupal as a lean startup platform

Post on 26-May-2015

2.388 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

@IZTOK

PROJECT

DATE AUTHOR02 MAR 2014

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

BUILD

MeasureLearn

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

What is a Lean?

Method for developing businesses and products

Build-Measure-Learn

Release early, release often

!

Buzzword that got you here :)

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

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)

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 …

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.

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)

Data StructureUse semantic fields for storing data• date

• address

• link

• email

• color field

• timezone

• phone number

• file field sources

And many, many, many others…

Data Structure

Break data into multiple entities and link them.

Entity reference

Relation

Relation itself is a fieldable entity

Organic groups

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

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

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

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

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

ThemingNot necessary if not used as beta release

Look for panels_everywhere supported themes

Bootstrap

IKEA of web design

Warning: dictates the markup

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

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

CommunicationSending email with Mandrill (statistics, spam free)

Platform messages

Messages (activity streams)

Private Messages

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)

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

GET IN TOUCHiztok.smolic@agiledrop.com !

@iztok

top related