Thread: Starting a serious project

  1. #1
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413

    Starting a serious project

    So, this may end up being a waste of time depending on how much I go into detail, but here goes.

    I've been looking for some idea/project for quite sometime that will be enjoyable and profitable. Problem is that everything has already been done blah blah blah. Well, I think I finally found something worth doing. I've been doing a lot of research on it and related topics for a couple of weeks now and I think there's definitely a need and opening for what I want to make. Problem is, I'm not much of a risktaker and want the confirmation of someone from a particular industry to say that "Yes, this will be useful, and will make money." Further making that a problem is the fact that I don't trust people.

    I know that many of you here have been in this position, so how did you start your project/business venture? Did you choose to partner up with someone with more subject knowledge? Did you do it all yourself? Recruited a friend? Thanks in advance.

  2. #2
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by Epy View Post
    Problem is, I'm not much of a risktaker and want the confirmation of someone from a particular industry to say that "Yes, this will be useful, and will make money." Further making that a problem is the fact that I don't trust people.
    A wise choice!

    I don't even want to guess how often I've had an idea, mentioned it casually in conversation or demonstrated a prototype (sometimes hardware, sometimes software) only to see MY work show up somewhere else, with someone else getting credit/money for it.

    It's as simple as this... if you think you've got a good idea, shut up and do it! The cards will fall where they may.

    Despite the aura of cooperation here, programmers are some of the biggest backstabbers on the planet... Buddy looks at your screen, goes "Why didn't I think of that", heads off home with a fully formed idea, taken directly from your screen and whacks out the skript kiddie version and gets it out there a week before you, with more features and his name all over it. Common as rice in China!


    I know that many of you here have been in this position, so how did you start your project/business venture? Did you choose to partner up with someone with more subject knowledge? Did you do it all yourself? Recruited a friend? Thanks in advance.
    In my case it was "recruited by a friend" to do a small project none of the big software houses would touch. Then word of mouth took over... and now I have about 50 home theatre setups and half a dozen inventory control systems I maintain... hard and soft.
    Last edited by CommonTater; 12-11-2011 at 11:24 AM.

  3. #3
    Unregistered User Yarin's Avatar
    Join Date
    Jul 2007
    Posts
    2,158
    Without knowing what the endeavor in question is (and I understand why you don't tell us), how can anyone really say?

    I've personally been working on a project (my biggest and most ambitious to date) for nearly 3 months now, and have yet to even really start coding it. I know that sounds kind of stupid, but the masterplan is much more evolved now than it was then, and I think starting code from the beginning would've been a mistake, seeing now how much it's changed just by the heavy research and brainstorming.
    The best that I can advise is to write it like you mean it, so that you could commercially do well, but only do it if you are willing to take the disappointment if it doesn't work out. On the bright side, either way it would turn out, you have a great product in the end (in the case of my project, it'll be using it a lot myself), and the added experience and enjoyability of it is always a plus.

  4. #4
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Thanks for the input thus far, both of you. I obviously haven't started coding yet either, but have started writing a lot of notes about possible competition to this particular product, implementation, target audience, etc.

    I'm extremely excited because the only thing that comes close to what I want to make is a masters thesis written 2-3 years ago which promised to release source code but has not to this day. On top of that, he did it wrong in my opinion. What's making me hesitant is that what I want to write could be made simple or complicated as one wants it to be. As such, I don't understand why such a tool doesn't already exist.

    If nothing else, it's something that I will use myself, but I really think that a lot of other people could use it (which is pretty much what you said, Yarin).
    Last edited by Epy; 12-11-2011 at 12:01 PM.

  5. #5
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by Epy View Post
    Thanks for the input thus far, both of you. I obviously haven't started coding yet either, but have started writing a lot of notes about possible competition to this particular product, implementation, target audience, etc.

    I'm extremely excited because the only thing that comes close to what I want to make is a masters thesis written 2-3 years ago which promised to release source code but has not to this day. On top of that, he did it wrong in my opinion. What's making me hesitant is that what I want to write could be made simple or complicated as one wants it to be. As such, I don't understand why such a tool doesn't already exist.

    If nothing else, it's something that I will use myself, but I really think that a lot of other people could use it (which is pretty much what you said, Yarin).
    A few things to keep in mind...

    1) Small, fast and simple usually wins the day. I see bloatware, loaded with silly features all the time and just have to shake my head wondering what these fools were thinking. Mostly these projects end up as broken links in software databases. Do one job and do it well.

    2) As Yarin points out, planning is half the job. I'm presently working on a mass rewrite of a project I concocted for a lmited market (my home theatre clients) making it into what I hope is a commercially viable product. I don't even want to guess how different it is now than when I started thinking about it and rest assured it is radically different than the first version created almost 3 years ago. So planning is half of the job, if you are not to be continuously painting yourself into a corner... even though that will still happen occasionally.

    3) If you are not on any deadlines, take the time to do it right... especially... test the hell out of it!

    4) Don't expect much from it. Million dollar programs are pretty much a thing of the past, except for giant corporations. Most Shareware returns a few bucks here and there... nobody's getting rich off it. The big money these days is getting your app bundled... eg. the media player bundled with older Creative Labs sound cards made that guy rich.

    5) Be fully prepared to support your product. Write code you can come back to in a year and still read. Make sure you have "extras" in mind when writing so you can add new features with a minimum of trouble.

    6) Internationalization is a big deal right now. If your product succeeds (and I hope it will) you must write it in such a way that it can handle unicode and can be translated into foreign languages with reasonable ease. I have a rule with my stuff that all user text is unicode but the user interface will be in English (but is still unicode). This has been adequate so far, but the day will come when it's going to have to be translated if it gets out of English speaking North America.



    Overall... hey... best of luck with it. Sounds like the right kind of ambition to me!

  6. #6
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Thanks! I don't expect much from it, in fact right now I think the plan is to release a simple tool as free/open source and then try the whole paid support thing, in which I can write/sell additional extensions to provide some of the more complicated functionality. Still have a lot of thinking to do. In the end, this is a type of tool/product that a certain interested party would end up buying out, because it's something they should either include with their product or don't want people to be able to do.

  7. #7
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by Epy View Post
    Thanks! I don't expect much from it, in fact right now I think the plan is to release a simple tool as free/open source and then try the whole paid support thing, in which I can write/sell additional extensions to provide some of the more complicated functionality. Still have a lot of thinking to do. In the end, this is a type of tool/product that a certain interested party would end up buying out, because it's something they should either include with their product or don't want people to be able to do.
    LOL... very good.

    Oh... one more word of advice.... "Copyright" ....

  8. #8
    Registered User C_ntua's Avatar
    Join Date
    Jun 2008
    Posts
    1,853
    "In the end it is all about marketing". I think that is an issue also to think. How are people going to find and trust your software.
    Even within companies there are high quality products that never actually see the light. Or need year for the right time.

    So my question: have you thought about the marketing/distribution process yet?

    As a an example, I had developed a few months ago a nice tool for a particular group (Search Engine Optimization). I was working with a guy that actually working on SEO and a little bit on marketing software. The deal was I make the software and he markets it. He ended up not being able to continue for personal reasons. So now I have the idea, software but if I was to make a profit I would need to put my Sales Hat and do that job as well. Which is something I don't really like to do...

  9. #9
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by CommonTater View Post
    I see bloatware, loaded with silly features all the time and just have to shake my head wondering what these fools were thinking.
    Gasp! Not on MS windows!
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  10. #10
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Well, this certain piece of software resides in the numerical/scientific domain, so as of this minute, the plan is to announce the release of the free part of the toolset to numerous interested mailing lists and by using word of mouth. Will probably directly email several universities as well. I'll also take the time to create a very professional looking website (like Wireshark's for example) as opposed to a text-based one like most other free software projects have...and create it with the business-jargon-speaking-morons in mind as well as technical people.

    As long as Google keeps working, the SEO should already be taken care of, seeing as how searching for this topic gives you mostly garbage results right now.

  11. #11
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    If you are working with scientific/academic/technical people, making a website "with the business-jargon-speaking-morons" in mind may be counter-intuitive. Certainly a whole different story when you are trying to market to grandmas.

    When I am evaluating software, if I see the site has significant amount of business-jargon-speaking-morons-speak, I'll probably just move on.

    Unless of course you are working on something as big/expensive as MATLAB, in which case some market-speak is required to make it easier for people to get funding to buy it.

  12. #12
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Okay, so maybe fancy looking website without a lot of the jargon. I hammered out some more implementation details last night, might start coding later this week.

    It actually is related to MATLAB, but what I'm touting won't be anywhere near as expensive as that.

  13. #13
    Registered User
    Join Date
    Jul 2010
    Posts
    86
    How are you planning this out? Some notes on scratch paper, or the whole shebang: use case diagrams, detailed use case specifications, analysis class diagrams, sequence diagram, etc. ?
    I made a pair of "Braille Gloves" which have 6 vibration motors in six finger tips and vibrate in the relevant patterns. I have used this to read stuff while out walking. Given there is a fairly well defined programmer-oriented Braille encoding I should imagine it would work in this situation. Diagrams could be a pain still.

    Note: I am not blind but have learnt Braille fairly easily so for me it works quite well

    Disclaimer: I haven't tried this while driving yet...

  14. #14
    Registered User rogster001's Avatar
    Join Date
    Aug 2006
    Location
    Liverpool UK
    Posts
    1,472
    I've personally been working on a project (my biggest and most ambitious to date) for nearly 3 months now, and have yet to even really start coding it. I know that sounds kind of stupid, but the masterplan is much more evolved now than it was then, and I think starting code from the beginning would've been a mistake, seeing now how much it's changed just by the heavy research and brainstorming
    Quite. Its just too easy to have your idea, get fired up and race to the computer, start bashing out code, even if its just a bit of experimentatin you will as an avid coder soon get sucked in and develop on the fly,...because you can.
    Saying that I dont think it is wise to try and encapsulate every last detail, some things will only come out as part of the overall development process, that is the nature of project management. Do some strong preparation then at some point you just have to get your hands dirty.
    I have found that even with the simple ideas, if you let yourself include all desirable features then once fully realised and mapped out you can look at the findings and think 'thats going to be plenty of code'. And then other things about the scope of quality and testing should also begin firing off in your head, so you need to plan for those too.

    I think pen and paper is great, nothing code related at first, just kind of 'user story' based, I have found that I have developed a kind of note-to-self language I use when expanding ideas on paper, Its a bit like scripting or tags, I often have a line starting 'allow'

    Think about a 3d version of game of life:
    'Allow rotate and zoom'
    'Allow shadows on /off'
    'Allow seed cell activation by drag n drop in 3d matrix preview'
    'Allow random seed cell activation in 3d matrix preview'
    'Allow load preset libraries'
    'Allow user interface to design and texture cells'
    'Allow user interface to load / create background scene'
    'Allow sample preview of current graphics setup bkdg, cell tex, shadows on/off etc.
    'Allow user defined rules'
    'Allow pause , stop, continue'
    'Allow speed control'
    'Allow 2d visulation as an alternative'
    'Allow scene capture when paused'


    Then i have a ?? tag too if i am not sure if definitely going to build the feature in, perhaps if can't be bothered or is maybe not feasible or inappropriate In any case its something that is flagged for consideration.
    There is also the !? flag, where i know it is a nice idea and ranks more strongly as a candidate for inclusion, despite the extra work..

    '!? Allow random background creation - fractal terrain !?
    '??Convert 3d graphics settings into 2d approximations? or provide seperate options for graphics if 2d is selected??'
    '?? Allow record & playback ??


    These notes are usually mixed in with other branching 'tags' but in my head I can locate the 'allows' as clear action points for key ideas to work on and expand / investigate implications.
    Just looking at that list you can see there is work there, even when the algorithm itself is easy.

    I also think it is massively important to maintain a todo list, this again can be flagged scriptlike
    Bug hunting, record everything, use your console output in debug or write to a file to record all steps or whatever in each test run, then write this to your bugfile so you know exactly how to recreate (in a perfect world) add comment sections, your thoughts on cause and possible resoultions, severity. keep this updated, you will kick yourself if you need that information again and you did not capture it.

    In terms of marketing well its always good to try and identify your USP and then see how your marketing can be worked around that, if you have commercial knowledge then there are a number of market analysis studies you could go through to get an idea of where your product sits, and how well placed it potentially is.
    'protection..?' what is your strategy on protection? And this ties in with delivery, Are you going to sell through a third party process and use their 'protection'? Are you going to code some basic safeguards in yourself? how concerned are you about protection etc. This along with the building your install / access/ delivery method the right way is a whole additional piece of work.. In my humble opinion....

    good luck!

    PS given the previous posts i can see alot of this will be standard to you, but perhaps my contribution wil be useful to the more general reader, ta.
    Last edited by rogster001; 12-22-2011 at 06:23 AM. Reason: Side note
    Thought for the day:
    "Are you sure your sanity chip is fully screwed in sir?" (Kryten)
    FLTK: "The most fun you can have with your clothes on."

    Stroustrup:
    "If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it'"

  15. #15
    Make Fortran great again
    Join Date
    Sep 2009
    Posts
    1,413
    Quote Originally Posted by wildcard_seven View Post
    How are you planning this out? Some notes on scratch paper, or the whole shebang: use case diagrams, detailed use case specifications, analysis class diagrams, sequence diagram, etc. ?
    Right now I have quite a few pages of paper filled with notes...I tend to get overwhelmed by seeing the whole picture in great detail, so I intend to get features working one at a time. Probably not the best way to go about it, but this project isn't too complicated so I should be fine.

    I had every intention of coding the majority of this on the plane ride to visit my family...but sleep got the best of me

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. starting up a c++ project using visual C++ version 6
    By stanlvw in forum C++ Programming
    Replies: 6
    Last Post: 01-11-2008, 02:02 AM
  2. Thinking about starting a project??
    By code2d in forum Tech Board
    Replies: 17
    Last Post: 01-11-2007, 09:55 PM
  3. Starting a SourceForge project - need team members
    By ChadJohnson in forum Projects and Job Recruitment
    Replies: 8
    Last Post: 01-05-2006, 02:36 AM
  4. Editing the main dialog when starting from a VS MFC project?
    By Sfpiano in forum Windows Programming
    Replies: 3
    Last Post: 08-07-2005, 10:36 PM