Slide 1: Platform Selection
Wilco van Duinkerken November 20th 2009
Slide 2: About Me
• 1995: Started Web Development • 1999-2001: Snakenetworks • 2001-2004: Dots and Crosses • 2004-2006: SoundCream • 2006-2009: Sparkboxx • 2009-... : Othonis
Slide 3: My Target Today
Slide 4: Provide you with enough material to keep you surfing the Internet for a day
Slide 5: Because Slinger is getting bored with the standard PHP/ Joomla prototypes
Slide 6: How to choose a Platform?
Slide 9: These are your Garage Days
• Focus on “proof of concepts” • Technically, but especially • Business wise • Your constraints: Time + Money • So...
Slide 10: Be Lazy...
Slide 11: Ask yourself: “What do we have to prove?”
Slide 12: 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]!
Slide 13: 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!
Slide 14: Example
• We are just like Hyves / LinkedIN / • Your job: • Get an open source implementation
like Community Engine Facebook, but we focus on the elderly
• Redesign it for the elderly
Slide 15: Find a Foundation
• Is there any open source
use?
implementation you can start using?
• Are there any WebServices you can • Are there any apps available with an
API you can use?
Slide 16: Example Foundations
• Imaging applications: pixlr.com API • Document management: zoho.com API • Search/ localization application:
google and yahoo APIs Exact Online plugin
• Financial administration: write an
Slide 17: Example Foundations
• CRM application: highriseapp.com API • Messaging: Twitter API • Community sites: Facebook app or
Community Engine Mephisto
• Content Management: Radiant, • E-commerce: Spree
Slide 18: Try re-use first! Focus on your unique selling point [y]
Slide 19: Start Developing “outside-in”
• Design first! • Make a prototype • Start the implementation
• Stay away from a database as long as possible
Slide 20: Design First
Slide 21: Choose your Platform
• Web
(works on mobile and desktop as well)
• Desktop • Mobile
Slide 22: Web Development Platforms and Tools
Slide 23: Web Basics
• HTML (checkout HAML) • CSS (checkout SASS and COMPASS) • Javascript
Slide 24: HTML (content)
• Easy to Learn • HTML 5 is really powerful! (Google
Wave)
• A lot of “ready made” material
available
• Works on (almost) all Devices
Slide 25: CSS (layout)
• Easy to Learn, Hard to Master • Quite some cross-browser issues • CSS Frameworks to the rescue • Blueprint CSS • 960gs (demo)
Slide 26: 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
Slide 27: Developing for the Web
• LAMP (Linux-Apache-MySQL-PHP) • Ruby - Rails, Sinatra, merb • Google Web Toolkit (Java) • Adobe Flex • Microsoft Silverlight
Slide 29: Rails is used by
• Twitter.com • Omroep.nl • Shopify.com • NEDAP
Slide 30: 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
Slide 31: Desktop and Mobile
Slide 32: Developer Aids
• Traditional • Visual Studio .NET (Windows) • Xcode (Mac) • IntelliJ (Java)
Slide 33: Developer Aids
• 4TH generation tools • Servoy (free academic license)
(demo)
• WinDev (free lite version) • Cordys process factory (mashups)
Slide 34: Appcelerator
Slide 35: Proof of Concept(s)
• Are NOT complete products • Are deliverables that prove a point i.e. • Technical Feasibility • User interface • Customer interest
Slide 36: 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.
Slide 37: Some (off-topic) Personal Notes and one-liners
Slide 38: Competitors are the best thing that will ever happen to you.
Slide 39: Keep track of the hours you spend on the product
Slide 40: Keep a sustainable pace
(check out Pivotal Tracker)
Slide 41: Build your own website in minutes using
• www.rackspace.com • www.wordpress.com • www.typepad.com
Slide 42: #fail...please, #fail... (and admit it)