Your SlideShare is downloading. ×
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Lean Startup with WebObjects
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Lean Startup with WebObjects

953

Published on

This session will go over why I chose WO and WOnder as my application foundation, and how I applied the best practices from some of the best in our business to build my product. How I setup my …

This session will go over why I chose WO and WOnder as my application foundation, and how I applied the best practices from some of the best in our business to build my product. How I setup my applications and frameworks to maximize reuse and flexibility. And I will review other processes that allows me to run my business as a one plus (?) person shop.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
953
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MONTREAL 1/3 JULY 2011Lean Startup with WebObjectsPaul D.YuFDL Solutions, Inc.
  • 2. Agenda• Define lean startup• What or why not WebObjects/WOnder• At the Beginning of the business• Development• QA• Production
  • 3. What is a lean startup?• Use of free and open source software,• Application of agile software development methods, and• Ferocious customer-centric rapid iteration, as exemplified by Steve Blanks Customer Development process• And minimize venture capital investment
  • 4. Purpose of a Startup?• Make Money!!!• Some money from a many of people = good business• Does not have to be the $100M business• Not build it and they will come...
  • 5. Free and Open Source Software• The idea is to minimize the upfront investment in development tools and infrastructure• Lower the costs associated with getting revision 0 out the door
  • 6. Agile Development• Agile development can be traced back to Chrysler Financial’s eXtreme Methodology • They used NeXTSTEP!!!
  • 7. Customer Centric Development• Listen to your customers• Build what your customers want quickly• If your customers feel that you are listening they will tolerate bugs• With each release cycle the product gets better
  • 8. Avoid VC $$$• Once you take VC money, you are no longer working for yourself…• Founders often are left without a chair
  • 9. Choose Your Partners Wisely• Choose your partner like you would choose your spouse…• May be not• Easier to get together, a lot tough to get divorced
  • 10. Lean Startup is a Business• Not just about software development• Also product deployment and operational maintenance• Also customer support• Especially business development and sales• There is the whole business to run!!!
  • 11. Convergence of Events• Cloud Computing • Software as a Platform • Software as a Service model• Open Source technologies and tools• Pay as you go…• Mobile computing
  • 12. My Lean Startup• EOModel Design Started December 2008• First Prototype/Demonstration February 2009• First Customer Usage April 2009• First Customer Check May 2009• Self-funded with consulting work
  • 13. MONTREAL 1/3 JULY 2011WebObjects and WOnderWhy did I choose to use WO and WOnder for my lean startup?
  • 14. “Provides the first two floors of a five story building” Steve Jobs
  • 15. WebObjects• Not exactly open source• But essentially free• Single unified stack instead of separate stacks that must be integrated• “The ocean is broad AND deep”
  • 16. Why WOnder?• Open source• Fix problems with underlying WO• So many features beyond basic WO• Once you WOnder, you’ll never go back...
  • 17. Rapid Iterations• Quick iterations in the same direction may be easy• Remember every iteration cost money• But what about Changes of Direction? • Technology innovation • Business/customer requirements
  • 18. WO and WOnder Architecture and Options Multi-headed• Multi-headed Hydra Hydra MVC• Perfectly positioned for iOS and JS- based rich-client architectures with ERRest• Allows for flexibility (turning) as the future changes
  • 19. Content Warning...
  • 20. Challenges of using WebObjects• WebObjects is DEAD!• Not Open Source or Doesn’t cost $50,000• Tough to sell in the corporate bureaucracy• Need to know a lot: from css down to EOF• “Apple eats its own dog food”, but it is not the same as ours
  • 21. Challenges of using WebObjects• No Marketing Air Cover for the technology!!!• No Corporate Sales Force for the “product”!!!• No apparent technology movement of WO from Apple• No coherent WOnder direction
  • 22. Challenges of using WebObjects• No documentation• No good examples• RoR is better• Lack of available developers• Lack of training facilities• A lot to learn the entire stack from css to EOF...
  • 23. The Opportunities of Using WebObjects• But lean startups are not large corporations• WebObjects and WOnder is still one of the BEST tools and architecture in the market place• For a lean startup, WebObjects and WOnder allows a very small team to get produce very powerful and scalable systems very quickly• But you have to know WebObjects already????
  • 24. MONTREAL 1/3 JULY 2011At the BeginningA lean startup
  • 25. First things first• Build the business case• Can you make money if you invest your time and effort into this venture • Either you job or business• Charge one customer A LOT of $$$ vs. Charge A LOT of customers a little
  • 26. Second things second• Design the EOModel• Build an application architecture with a solid foundation to build from, see beyond fluffy bunny presentation• Then build the rest of the house based on your vision for the product
  • 27. Then• Seek out your local university or chamber of commerce to get incubator/advice for entrepreneurs• Rapidly build the product and release it in the cloud• Get people to use it and pay you to test your application...
  • 28. MONTREAL 1/3 JULY 2011Development Environment
  • 29. IDE• MacBook Pro OS X 10.6.7• Eclipse Helios Service Release 2 (~/Appications vs /Applications) • WOLips • JRebel • Subclipse moving to EGits • Workspace Mechanic
  • 30. Additional Tools• Subversion Clients • svnX • Versions• GitHub Client • Gitbox.app • Tower.app
  • 31. Version Control Issue Tracking• Subversion, but thinking of migrating to private Git Server • Gitolite on CentOS• Jira 10 person license, but really using OmniFocus• Confluence 10 person license, but really using Yojimbo, Notebook
  • 32. Database• MySQL 5.+• MySQL Admin• DbVisualizer• Local tunnels to Production, Staging environments
  • 33. EOF and Database Independence• EOModel with Prototypes• Porting from MySQL to other DB’s should be no problems
  • 34. Why DbVisualizer?• Connections • Development • QA • Production
  • 35. Development Databases• Production Replicated for testing• Sales Demonstration• Simple Switch of the jdbc property in Properties.<me> file
  • 36. MONTREAL 1/3 JULY 2011QA/Training Environment
  • 37. Continuous Build Server• MacMini moving to Cloud Server• Jenkins• Manual task to pull from Wonder• Job to build project(s) from svn, moving to git• Scripts to push to Stage and Production
  • 38. QA Clients• OS X Firefox, Safari• Parallels with Virtual Machines • Windows 7, IE 8 • Windows XP, IE 7• iPAD Safari
  • 39. Training Environment• iWEB Server (seems cheaper than my production environment)• CentOS• Oracle Java VM 1.6+• Project Wonder wotaskd and JavaMonitor• MySQL on the same machine• Deploy Apps to /opt/Local/Library/WebObjects
  • 40. Training Environment• Dedicated URL for testing ERRest client applications
  • 41. Training Environment• Experienced major performance issues with undersized training environment• Concurrent simultaneous users…• Don’t want to interrupt production• Don’t want to corrupt production data
  • 42. MONTREAL 1/3 JULY 2011Production Environment
  • 43. MONTREAL 1/3 JULY 2011Production EnvironmentAt the Beginning
  • 44. Virtual Server Per Customer Virtual Virtual Virtual Server Server Server per per per Customer Customer Customer
  • 45. MONTREAL 1/3 JULY 2011Production EnvironmentNow
  • 46. Current Production Environment Apache 2 + Application Server Database Server
  • 47. Production Environment• SliceHost is the ISP• Database Server on a 512 MB slice• Web and App Server 2GB slice (2 IPs)• Ubuntu 8.+• Apache2• Project WOnder wotaskd and JavaMonitor• Nagios
  • 48. Production Environment Merging Databases• Contracted with Kieran Kelleher• Kieran designed an automated script to merge the three production databases into one• oldId vs newId• Run many times to verify correctness• Run once to migrate
  • 49. Production Environment• SliceHost backup service is nice, cheaper than EC2• SliceHost create new slice based on backup is nice• SliceHost being replaced by RackSpace• So will be migrating• Canadian client says there are laws governing where the data can reside, so not all cloud = cloud
  • 50. Turning on EO Migration• Discussions of “White Labeling”• Requests for local installation, traditional software license• Would not be able to deal with manual upgrades to the database!!!• Bit the bullet and turned on Migration
  • 51. Approach to EO Migration• Existing Database• Generate EOMigration from current EOModels• Extract Database Content for “reference” data• Manually set the production environment to migration 1 or correct version for all models, so migration will NOT run• Tested against a new database to create state 1• Modified EOModel to create revision 2
  • 52. MONTREAL 1/3 JULY 2011Additional ToolsStartup is not just about the technology
  • 53. Other Tools• Verizon FiOS• WebEx or GotoMeetings• GotoWebinar• Grasshopper• Constant Contact• SalesForce.com• Google Analytics
  • 54. MONTREAL 1/3 JULY 2011CreditsTravis Britt, Kieran Kelleher, Pascal Roberts
  • 55. MONTREAL 1/3 JULY 2011Q&A

×