ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

I have yet to release an application to the public because...

September 04, 2007 11:49pm

Subscribe [9]
  • #1 / Sep 04, 2007 11:49pm

    Developer13

    574 posts

    ... I’m afraid of exposing my flaws.  I know my code isn’t perfect, yet I expect perfection.  I always want to make it better before anybody sees it, but by the time it’s been made better, there are 10 other things I need to do to improve it before releasing it.

    Sigh.

    I know that ultimately I’ll do better as a developer with input and collaboration from others.  I KNOW this, yet I still have not taken the step…

    Come on, I know there are others out there who feel or have felt the same way…

    ... aren’t there?

  • #2 / Sep 05, 2007 12:39am

    crikey

    44 posts

    Absolutely…

    My application is super-perfect… it’s helped hundreds of users, looks fantastic, has a brilliant user interface and has made me a million bucks.

    The only problem is, that is what’s in my head. It *really* exists as a few scribbles on some scraps of paper and a bunch of UI icons.

    I know I should knuckle down and just do it, but what if my application pulls up short of the perfection I imagine it to be?

    You’ve obviously gotten further than I have, so well done. But just bite the bullet, put it out there, and then improve on it. To steal the words of some well-known developers: “build half a product, not a half-assed product”. Some inspiration.

    Time to go and practice what I preach…

  • #3 / Sep 05, 2007 1:25am

    linuxbz

    31 posts

    @Developer13 - I know the feeling.  I just uploaded Markus, my school grades program to SourceForge, and I keep wanting to say, “It works, but don’t LOOK at it.”  It’s barely object oriented, sort of MVC, and full of session-stored globals.

    But hey, it’s actually being used in about a half dozen schools, with real kids’ grades.  Parts of it are pretty sophisticated, almost elegant.  Others just flat suck.  I plan to “get it right” sometime in the next 5 to 10 years.

    😉

    @crikey - What if a half-assed, half-app is the best you can do?

    😊

  • #4 / Sep 05, 2007 1:37am

    crikey

    44 posts

    @linuxbz: then I guess you do your best, and hopefully learn something along the way that will make your next project better… maybe a three-quarter-assed, three-quarter app? 😊

  • #5 / Sep 05, 2007 3:05am

    CI Lee

    343 posts

    As soon as I am done an app I will release it. Problem is I can never convince myself that it is finished. Then with the help of scope creep it gets so mangled beyond what it was intended for I have to start over and clean it up before I am willing to show anyone, rinse, then repeat.

    Fact is if I had released it I am sure many people would clean up where I have made mistakes… however I’am unwilling to hear anything bad about what I have done…

    Its a tough one, not that I have yet, but its probably best to share as there will always be those willing to help.

  • #6 / Sep 05, 2007 3:08am

    Developer13

    574 posts

    @CI Lee: That’s exactly what I was trying to say!

    I’ve gone through some motions this evening to prepare an alpha of orchidForms to post to my site within the next few days.  I’m just going to do it and get it over with.

  • #7 / Sep 10, 2007 5:55pm

    megabyte

    179 posts

    I’ve built a few apps with codeigniter already. Problem I always have when writing them is that I always have these thoughts in the back of my mind that there is someone out there that would look at my code and laugh and point out how i could have solved the same solution in a quicker way with less code, or a much better design.

    I’ve done a bit of research online into a few companies who do very well for themselves selling all sorts of web applications. I always seem to find things about them that I don’t really like or would do better myself. The bottom line thogh is they sell their software and make a profit. Some companies have a staff of more than 10. So then I look at myself and think of what it is I could produce and market to make money, but I don’t have much of a marketing and sales background so I always get detoured.

  • #8 / Sep 11, 2007 12:36am

    bijon

    46 posts

    After reading your post it seems that most of you are much worried about the perfection of the code. It’s better. But too much perfection is not good.If you think about the perfection,then you never release a software.  The thousand mile journey start with a small step. So if you do not post your application, then you cannot start.Also it seems that you are fare for criticism .But think about the new comer , they can get help from your application. I look at the orchid form and orchilinks project from the http://www.developer13.com/ . I learn lot of things . But if you do not post then we are missing from learning opportunity. Please release your application and get chance to learn . 

    Thanks
    Saidur

  • #9 / Sep 11, 2007 1:15am

    sikkle

    325 posts

    just two minutes to tell you you’ve done a great damn job.

    Two thumbs up for your work, and you do better then a lot of programmer out there.

    I hope you’ll be around here for long time.

    Good luck !

  • #10 / Sep 11, 2007 4:56pm

    Developer13

    574 posts

    Thanks, guys!

    @ bijon: Good points made.

    @ sikkie: I do plan to be around for a while!  My current love affair with CodeIgniter doesn’t seem to be slowing down at all.

  • #11 / Sep 12, 2007 8:31am

    Derek Allard

    3168 posts

    Developer13… you are speaking to me 😉

    I think every developer goes through this… and truthfully there always is room for improvements in all of our code.  I have to say though, that putting an app out there for public consumption has considerably increased the quality of said app I think… as I’m less likely to cut corners.

    Now for the very sad reality of it though… when you put yourself out there, people DO criticize your work.  Bamboo and the video tutorial are great examples on my end.  When I first released both, probably 75% of the communication I got was extraordinarily negative.  It really caught me by surprise.  Instead of saying “hey, function $x might be improved if you $y”, or “have you thought about $z” - the more common posture was “only an idiot would do $z” and “if you’re putting it out there, at least do it properly, as it is now it sucks”.

    I should add that those were usually anonymous cowards or nameless hotmail accounts… but still.  Fact is though, even that was very useful, and once I got over the insult I was able to make ground in both the app, and also in my day to day coding.

    So my advice is… DO IT!  Ignore the idiots, grow thick skin, and put it out there!

  • #12 / Sep 12, 2007 8:38am

    Paul Scott

    14 posts

    I had an (undisclosed) idea for an application. Every now and then after I had the idea I had a small think about how to face the problems in developing the application. More recently I’ve been sketching solutions to problems on the bus on the way to and from work.

    I’ve had this idea for 2 years now. I’ve not done anything with it on a computer. I refuse to begin until it’s perfect in my head.

  • #13 / Sep 12, 2007 8:59pm

    esra

    485 posts

    So my advice is… DO IT!  Ignore the idiots, grow thick skin, and put it out there!

    Exactly! You are always going to have critics no matter what you do to avoid them. Learn to expect it and consider whether the critic’s points are valid or not based on whatever goals and objectives you set out when you planned the application. To an extent, you can make this work in your favor. Plan to do alpha and beta test cycles from the beginning of your project and consider the feedback you get as a marketing strategy. You need to know how others feel about your work regardless of whether or not you can handle the truth or not. It’s impossible to please everyone even if you are trying to achieve perfection. Perfection at any particular point in time is a fleeting moment because as your expertise increases, your personal view of perfection is constantly going to change.

    Regarding code quality, you can always refactor your code and improve it based on the feedback you receive and the progressive improvements in your coding expertise. You can always release new versions as you see fit. If you set goals and objectives before beginning actual coding, this is the basis for your initial roadmap. Do the best you can do with your current level of expertise and make changes as necessary in later versions as your expertise improves. Regardless of what anyone says, getting your application out to your end users should be your ultimate goal and it’s a major accomplishment on your part which you should personally relish and be proud of.

    Paul… try shelling out a basic user interface if nothing else even if you don’t plan to use it in the final application. Consider this to be a testbed for defining your ideas. It will help you better define how to divide your application into working modules. Then completing each module becomes one objective you need to tackle as you work toward your goal of building the entire application. Zacharias’ Modular Separation approach is actually a good tool for doing something like this because it helps you think in terms of the various modules or subsystems the application needs to support. It also allows you to progressively build an application from scratch one module at a time.

    Derek… six months down the line after completing a project and looking at the code, I often ask myself why I did this or that. Programming is one of those efforts where you are continuously learning new approaches for doing the same thing. However in the case of Bamboo, I believe you wrote the original version long before CI supported some of the features you implemented on your own. That’s a pretty significant achievement when you think about it. Some of your critics may have been out of synch with the state of affairs when Bamboo was written.

  • #14 / Sep 13, 2007 5:19am

    Paul Scott

    14 posts

    Paul… try shelling out a basic user interface if nothing else even if you don’t plan to use it in the final application. Consider this to be a testbed for defining your ideas. It will help you better define how to divide your application into working modules. Then completing each module becomes one objective you need to tackle as you work toward your goal of building the entire application. Zacharias’ Modular Separation approach is actually a good tool for doing something like this because it helps you think in terms of the various modules or subsystems the application needs to support. It also allows you to progressively build an application from scratch one module at a time.

    Wow, thanks for the advice. The way I’m imagining it is actually as one module, and I think it would work efficiently like that. It’s a very simple application that has complex workings, you see. There’s not much to think over with lots of simple features, other than where to put them. The thing with this is the order of build and how to structure things.

    What I’ve been trying is taking a specific page and going through each individual step required to make it work the way I want. Then, once I’ve done them all, I’m going to look at them all side-by-side to create a more global image of the workings in my head; then I’ll probably write it down so I don’t forget.

    I have a question, with respect to this: How do people plan their applications? (perhaps I should stick this in another thread?)

  • #15 / Sep 13, 2007 7:30am

    esra

    485 posts

    I have a question, with respect to this: How do people plan their applications? (perhaps I should stick this in another thread?)

    A fairly recent thread on the topic of application planning and design:

    http://ellislab.com/forums/viewthread/58159/

    Post your question there to bump the thread back into life.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases