Download - Platform Selection
Platform SelectionWilco van Duinkerken November 20th 2009
About Me
• 1995: Started Web Development
• 1999-2001: Snakenetworks
• 2001-2004: Dots and Crosses
• 2004-2006: SoundCream
• 2006-2009: Sparkboxx
• 2009-... : Othonis
My Target Today
Provide you with enough material to
keep you surfing the Internet for a day
Because Slinger is getting bored with the standard PHP/Joomla prototypes
How to choose a Platform?
These are your Garage Days
• Focus on “proof of concepts”
• Technically, but especially
• Business wise
• Your constraints: Time + Money
• So...
Be Lazy...
Ask yourself: “What do we have to
prove?”
Excercise
• Find yourself a competitor
• Explain your product as:
• We are similar to [X] but we do [Y] better
• Your job is to develop [Y]! not [X]!
Example
• We are just like Google Search, but we organize the results better
• Your Job in the Garage days:
• Learn the Google Search API and present the results differently
• DON’T build a search engine!
Example
• We are just like Hyves / LinkedIN / Facebook, but we focus on the elderly
• Your job:
• Get an open source implementation like Community Engine
• Redesign it for the elderly
Find a Foundation
• Is there any open source implementation you can start using?
• Are there any WebServices you can use?
• Are there any apps available with an API you can use?
Example Foundations
• Imaging applications: pixlr.com API
• Document management: zoho.com API
• Search/ localization application: google and yahoo APIs
• Financial administration: write an Exact Online plugin
Example Foundations
• CRM application: highriseapp.com API
• Messaging: Twitter API
• Community sites: Facebook app or Community Engine
• Content Management: Radiant, Mephisto
• E-commerce: Spree
Try re-use first!Focus on your unique
selling point [y]
Start Developing “outside-in”
• Design first!
• Make a prototype
• Start the implementation
• Stay away from a database as long as possible
Design First
Choose your Platform
• Web (works on mobile and desktop as well)
• Desktop
• Mobile
Web Development Platforms and Tools
Web Basics
• HTML (checkout HAML)
• CSS (checkout SASS and COMPASS)
• Javascript
HTML (content)
• Easy to Learn
• HTML 5 is really powerful! (Google Wave)
• A lot of “ready made” material available
• Works on (almost) all Devices
CSS (layout)
• Easy to Learn, Hard to Master
• Quite some cross-browser issues
• CSS Frameworks to the rescue
• Blueprint CSS
• 960gs (demo)
Javascript
• For the Web2.0 Feeling
• Advanced layouts and interactions
• Use a framework:
• JQuery and JQuery UI (demo)
• Prototype + Script.aculo.us
• YUI: Yahoo User Interface
Developing for the Web
• LAMP (Linux-Apache-MySQL-PHP)
• Ruby - Rails, Sinatra, merb
• Google Web Toolkit (Java)
• Adobe Flex
• Microsoft Silverlight
Rails is used by
• Twitter.com
• Omroep.nl
• Shopify.com
• NEDAP
Ruby on Rails
• Turbocharged Web Development
• About 10.000 plugins and “gems”
• Loads and Loads of instruction videos
• railscasts.com
• peepcode.com
• Free hosting at heroku.com
Desktop and Mobile
Developer Aids
• Traditional
• Visual Studio .NET (Windows)
• Xcode (Mac)
• IntelliJ (Java)
Developer Aids
• 4TH generation tools
• Servoy (free academic license) (demo)
• WinDev (free lite version)
• Cordys process factory (mashups)
Appcelerator
Proof of Concept(s)
• Are NOT complete products
• Are deliverables that prove a point i.e.
• Technical Feasibility
• User interface
• Customer interest
Summary
• Define your unique selling point (USP)
• Try to re-use everything but your USP
• Prototype your USP:first visually, then technically
• Use the prototype to test your USP
• Be Lazy! Use the right toolset.
Some (off-topic) Personal Notes and
one-liners
Competitors are the best thing that will ever happen to you.
Keep track of the hours you spend on
the product
Keep a sustainable pace
(check out Pivotal Tracker)
Build your own website in minutes using
• www.rackspace.com
• www.wordpress.com
• www.typepad.com
#fail...please, #fail...(and admit it)