Results 1 to 4 of 4

Thread: [2005] How to engineer a large project

Threaded View

  1. #1

    Thread Starter
    Fanatic Member
    Join Date
    Jun 1999
    Location
    California, USA
    Posts
    662

    [2005] How to engineer a large project

    I'm writing an very complex application that will have a dual release as a freeware (lite version) and commercial (pro version) product.

    The application is a photoshop killer with some new concepts that (afaik) can't be implemented, even as filters, in photoshop. Much of the functionality is being handled by plugins, many of which will be included with the product. File handlers, effects, and even tools will all be implemented as plugins.

    Here's the problem:
    Though this is slated to be a commercial product, there is currently no commercial backing. I am the sole developer. Kinda ambitious, I know.

    The complexity of this project completely diminishes the complexity of any other project I've ever attempted by comparison. As such, I get about 10 - 20% through putting together the backing architecture before I realize that class A and class B lack any sort of consistency and now require that I write class C to make it work.

    To use an analogy: all of the code I've written in the past is akin to doing a small renovation on a house; installing a window or door, or moving the sink in the bathroom. None have been complex enough to require a blueprint.

    This project is akin to building a state-of-the-art shopping mall with stores that are rented out, a food-court, and ... an automated mechanical parking garage, just to set it apart from other shopping malls. Blueprint required.

    Don't take this to mean that I'm not familiar with the language. I've been writing in the various Microsoft incarnations of B.A.S.I.C. (QBasic, QuickBasic, VB3, 4, 5, .Net 2000, .Net 2003, and .Net 2005) for close to 15 years.

    I have a fairly thorough understanding of how I want the app to work; not just how to use it, but the actual movement of data through the app.

    Does anybody have any ideas of where I can go for (preferably free) help to either design my app or learning how to design my app? Since I plan to have 3rd party developers for the plugins, I want a fairly self-consistent API. I'm also looking to make the thing fairly easy to maintain for future releases.

    I know that these expectations are beyond the reach of most hobbyist programmers. I'm not most hobbyist programmers.

    ---
    Some background
    ---
    I stole the marketing model that Visual Studio uses: the express version is free and does not run any addins. The commercial versions do and come with more templates.

    My app will use a similar model. The free version will only run plugins that are signed. In other words, only commercial plugins that a) the user pays the developer to use, and b) the developer pays to have signed can be used in the freeware version. Of course, if the developer wanted to release the signed plugin for free, despite the fact that they had to pay to get it signed, they can.

    The commercial version will run any plugin, even ones that have not been signed. I foresee a large collection of free, unsigned plugins (even open-source plugins) available from many sources, similar to the winamp plugin model.

    I may also release a plugin development kit which includes several tools for testing each kind of plugin (one tool for 'tool' plugins, another for 'file handler' plugins).
    Last edited by agent; Sep 15th, 2007 at 01:23 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width