1 / 28

Building apps with Eclipse RCP and starting a micro-ISV business

Building apps with Eclipse RCP and starting a micro-ISV business. A presentation for the Vancouver Island Java Users’ Group Kevin Matz 2012.03.28. Topics. A quick peek at the ChapterLab app. ChapterLab: The 30 second pitch. “Writing a book is hard!”

roman
Télécharger la présentation

Building apps with Eclipse RCP and starting a micro-ISV business

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Building apps with Eclipse RCP and starting a micro-ISV business A presentation for the Vancouver Island Java Users’ Group Kevin Matz 2012.03.28

  2. Topics

  3. A quick peek at the ChapterLab app

  4. ChapterLab:The 30 second pitch • “Writing a book is hard!” • Word processors haven’t fundamentally changed in 30+ years, and don’t offer support for the non-linear workflow of planning, researching, writing, editing, and testing a lengthy book/manual/thesis • ChapterLab is a new kind of writing tool • Plan your project, organize notes and materials • Refactor/restructure your document painlessly • Coherence checking: do explanations follow a logical order? • Record thoughts and ideas using visual diagramming* • Structure content into outlines using explanation patterns* * (not in Beta release)

  5. A quick demo of ChapterLab • Visit http://www.chapterlab.com for a four-minute demo video

  6. Building apps with Eclipse RCP

  7. Eclipse RCP • Eclipse • IDE and “open tools platform” • The Eclipse Foundation • Ecosystem of developers, vendors • Open-source, Eclipse Public License • Safe for commercial use • Rich Client Platform (RCP) is a multiplatform framework for desktop apps • Native look-and-feel for Windows, Mac OS X, Linux, AIX, HP-UX, Solaris • UI based on SWT, JFace

  8. RCP plugins and features • Plugins are components (OSGi bundles) that can be installed in an Eclipse instance • Plugins contribute extension points which allow configuration via an XML file (plugin.xml) • Features are wrappers for bundles of plugins • You can distribute plugins/features for installation in users’ existing Eclipse installations… • …or bundle them with a workbench and distribute it as a standalone app (product)

  9. Major UI components of Eclipse RCP • Workbench • Perspectives • Editors • Views • Menus, Toolbars • Actions, Commands • Key bindings

  10. Examples • Creating, registering an editor • Configuring perspectives • Configuring menus • Configuring key bindings • Configuring help content • Product branding • Product definition, export

  11. Distributing/deploying RCP apps • Java Web Start possible but difficult due to platform-specific SWT libraries • Create installers for each platform • Mac: PackageMaker (part of Xcode developer suite) • Windows: Many options, e.g., Nullsoft Scriptable Installer System (NSIS) • Java runtime • Mac OS X includes JRE 1.6, yay • Windows does not • During installation, check for Java and ask user to install Java • Or, bundle JRE (87MB uncompressed) with your distribution

  12. Some complaints about RCP • Weak documentation • SWT and RCP APIs tend not to use generics • Configuration hell • Product definition as plugins  Constant problems, flakiness • “Just install feature X”  Great, how/where do I find it? • Updating Eclipse IDE tends to leak unwanted crap into your product (Surprise! Irrelevant menu commands, toolbar icons) • Difference between run/debug configuration and exported product configuration  Everything needs regression testing • Obfuscation (Obfuscate4e and ProGuard) • Class names and public, protected members of classes that extend/implement RCP classes/interfaces must remain intact

  13. Eclipse Rich Ajax Platform (RAP) • Write web apps using the same RCP framework • RWT = SWT implementation running in a browser • RCP apps can generally be converted to RAP • But only a subset of SWT widgets currently supported • Latency is an issue • Sample showcase app: http://www.cas-pia.de/en/try.html

  14. Starting a micro-ISV* business * “Micro Independent Software Vendor”

  15. What’s involved?CEO = Chief Everything Officer • Business and financial planning • Project management • Product ideation, design • Market research, feasibility studies • Product development, testing • Web design, copywriting, SEO • Marketing, promotion, branding, PR • Selling, payment processing • Customer service • Business administration • Accounting, Legal, regulatory paperwork…

  16. Why do it?Good reasons for starting a business • Control of your own destiny; design your future • Desire to build something new/useful/creative • You’ve got an idea that the world needs and only you can bring it to fruition • Personal development • Learn wide range of skills • Challenge • Potential for financial success

  17. Not so good reasons • I want to escape my bad boss, cubicle job, etc. • I want to Get Rich Quick! • I want to be the boss so I can tell people what to do! • I want to live the glamorous lifestyle of an entrepreneur! • Fantasy and reality are often quite different Photo credit: artist unknown (found on the net)

  18. My ideal business(warning: may not match your ideal!) • Selling a scalable product/service rather than working for an hourly rate • No employees if possible • Selling to many customers rather than one or a few key client(s) • If you have one customer, you have a boss • Reduces risk (a customer leaving is no big deal) • Freedom to “fire” your bad customers

  19. My ideal business(warning: may not match your ideal!) • Short-term: Can earn enough cash to get by • Long-term: Potential to scale to higher earnings • Location-independent, portable • Night-owl friendly • Free of hassles as much as possible • Highly-regulated industries? No thanks • Lets me be creative “Lifestyle business” and not a startup? OK, fine

  20. What’s your product?Generating business ideas • The idea is everything… and nothing • Many successful businesses exploit existing ideas • Microsoft (BASIC, DOS, Windows, Word, Excel, Bing…) • McDonalds, Subway • Ideas without a “barrier to entry” are easily copied • Groupon • New ideas can be good: head start over the copiers • Borrowed ideas can be good: they’ve been proven to work! • Borrow an idea and make it better (product/market differentiation) • Best way to get a good idea is to generate TONS of ideas and reject 99% of them Photo credit: Yassine Mrabet

  21. Business models • Selling/licensing a product • Enterprise sales • Shareware/Trialware • Shrinkwrap, sell in stores • Software-as-a-Service (subscription, pay-per-use) • Freemium • Advertising-supported • Donation-supported • Bundling • No revenue or business model, but hope for buy-out

  22. Before you build, think about your marketing strategy: • Product • Target market, wants/needs (“pain point” addressed) • Product features/scope • Naming, branding, product line strategy • Pricing • Profit optimization; competition • Perceived value • Promotion • Advertising, selling, PR, SEO, etc. • Place (distribution) Positioning (what sets you apart from the competition) can involve any/all of the above

  23. The Lean Startup approach(Ries, Blank, etc.) • Minimum Viable Product • “Validated learning” about what customers want or do not want • Not necessarily an actual product (e.g., landing page) • Frequent contact and testing with real customers • Rapid iteration, continual deployment • Pivot • Change product, target market, strategy, … • Customer development alongside product development Photo credit: Eric Ries and Crown Business Publishing

  24. Financing your startup • How much time and money will you need for developing and marketing your product? • Where will you get the money? • Bootstrapping using your own savings • Venture capital • Angel funding, accelerator programs • Crowdsourcing (e.g., Kickstarter) • Bank loan (haha, good luck) Photo credit: “Allureme” (wikipedia user)

  25. Shifting how you think • Employee • Specialist • Working long and hard and pleasing the boss is the key to success • Usually plays a small role in implementing someone else’s big idea • Doesn’t take financial risks • Hacker • Creates clever new stuff just for the fun of it, and bragging rights • Entrepreneur • Generalist • Thinks about problems/wants/needs that people and businesses have and what can be done to solve/satisfy these • Fun project, long hours, advanced technology won’t necessarily lead to success in the marketplace • Takes risks but balances risks with potential rewards • Mindset: How do I make this happen? If I can’t do X, can I learn it, or how do I find someone to do X and how do I afford it?

  26. Shifting how you think: Thinkingfrom a business perspective • $14,000 loss for FY2011 • Sounds horrible! • But it’s mostly owed to me as a shareholder loan for unpaid management wages • Why wages? So I can make an SR&ED claim that will hopefully lead to a cheque for $8,000 • Plus, a business loss means the business pays no taxes • Corporation as a separate entity • When individual tax year end and company’s fiscal year end differ, company can split wages and/or dividends across years to minimize taxes and exploit exemption limits

  27. The most important thing of all Get started! Follow your dreams, build something creative, take a shot at selling it, and if it doesn’t work, learn from it, and try again with the next project. And tell us about it!

  28. Good luck! • www.chapterlab.com • www.winchelseasystems.com Twitter: @chapterlab @kevin_matz

More Related