Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. 3rd party tools

3rd party tools

Scheduled Pinned Locked Moved The Lounge
toolsquestion
29 Posts 17 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B BrockVnm

    I seem to be battling with myself and wanting to build everything by myself. I have found a few good 3rd party tools that I want to add to the application I am writing yet I have this feeling of wanting to build them myself. Do any of you sometimes feel this way? How do you deal with this? All I would be doing is reinventing the wheel yet I just feel better after I build the GUI tool myself.

    J Offline
    J Offline
    Jun Du
    wrote on last edited by
    #12

    This passion is not uncommon among developers. But in many cases, using 3rd party tools do help both time-wise and budget-wise. Best, Jun

    1 Reply Last reply
    0
    • B BrockVnm

      Do you have the same feeling about open source 3rd party tools? I also try not to use designers for the same reason, I try to separate the layers. For instance I built a table that I use for a lot of different things, yet I see tons of different table implementations out there. I was just not willing to bend and wanted to build the table myself. Then I sit and wonder could I have saved time just by using one of the tables out there. I found a 3rd party Gui set (open source) that has a bunch of cool Gui utilities and I want to try and use some of them but then I feel like I am cheating myself by not writing it myself. Ugh, I just go in circles. So I take it you end up just writing most of the Gui's yourself?

      M Offline
      M Offline
      Marc Clifton
      wrote on last edited by
      #13

      BrockVnm wrote:

      Do you have the same feeling about open source 3rd party tools?

      Absolutely. Whether it's open source or not only affects the price, and since I typically only use third party libraries that a client is using on a project, and the client buys a license with the source, it doesn't really matter. But the real point is, I don't want to go mucking around in any 3rd party source, open or not. I have enough problems with my source!

      BrockVnm wrote:

      and use some of them but then I feel like I am cheating myself by not writing it myself.

      Consider that at some point, your own control suite will become "3rd party" even to yourself.

      BrockVnm wrote:

      Ugh, I just go in circles.

      Yeah, me too.

      BrockVnm wrote:

      So I take it you end up just writing most of the Gui's yourself?

      Yes, because I actually have an alterior motive--writing articles. It promotes my consulting business, it contributes something back to people, I get great feedback, I learn a lot, and the client benefits because I don't charge them since this is "my own work". One could conversely argue though that the client does not benefit because it's more custom code someone will eventually maintain. Code maintainance is a big issue, however I often hear the "maintenance mantra" overused because people are myopic about the scope, complexity, and lifetime of their application. So, it's something to definitely consider, but not as a make or break condition with regards to rolling your own. If maintainance is really an issue, then in some ways, a 3rd party library that may not be around when the next big OS/language/framework paradigm shift occurs is going to leave you with one option: rewrite the whole app. And do you keep your code sync'd with the latest releases of the library? That's maintenance foisted on you that has a cost too. There is no generic answer, and often no right answer, and certainly hardly ever a good answer. So, like I said, I often roll my own for entirely personal and selfish reasons. The only "good" answer. :) Marc Pensieve Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson

      1 Reply Last reply
      0
      • M Marc Clifton

        You just described me to a T. The biggest problem I have with 3rd party tools is, you often have to buy into the whole architecture. OK, that's hurdle #1. Then I look at all the dll's and stuff and go, ugh, I don't want all this other crap just for a snazzy new toaster. But maybe I decide to grin and bear it because it looks so darn cool and looks like it does everything I need (ignoring all the other things I don't need). Hurdle #2. Then I start trying to use it. Sigh. I do a lot of declarative driven UI's, and the controls are part of an automation framework to help decouple presentation from business and data layers. That means, I don't usually use the designers to create the UI's. So I have to figure out how the darn control works programmatically. Time for Tylenol. Time to fire up a test project and use the designer to see what it's doing. OMG. Look at all that initialization stuff. Rip. Hmm. Doesn't work. Replace. Rip... Sigh. Oh cool, got it working. Hurdle #3. Oh crap. There's new release of the 3rd party tool. Oops, some of the methods are deprecated. Hmmm, the parameters to that method changed. Fix, patch. Get everyone on the project to uninstall 6.1.2.5.3.1 and install 6.1.2.5.3.2. Hurdle #4. Putzing along, using it, hmmm...here's what seems like a bug. Research documentation, maybe I'm not setting it up right. Documentation? Somewhat incomplete. Lots of things not really well described. I can't find any examples on how to do what I want. Argh. Crashed into hurdle #5. Let's see what's on Code Project instead. Ahhhh. Cool. A nice control that can get me started. Reality check time. Hmmm. More bugs. But I have the code to fix it. Ewww. What wierd implementation. What's going on? There's no code comments! Maybe that 3rd party tool isn't too bad. Hmmm. Which will get me there faster? Figuring out the 3rd party tool, or fixing that nifty control I found? I know! I'll just borrow from the nifty control the stuff that seems to work and rewrite the thing. Sigh. It doesn't look as sexy as the 3rd party control. Hmmm. My new control still has bugs. What was I thinking here? Shat!!! I didn't put any comments in the code!!! And so it goes. The lesson is, what? Figure out your requirements, both locally and for the whole app. Decide on an approach before coding. Decide whose architecture you're going to buy into. Have an architecture. Wrap those 3rd party controls rather than use them directly, so they can be replaced. Do

        P Offline
        P Offline
        Paddy Boyd
        wrote on last edited by
        #14

        Marc Clifton wrote:

        Oh crap. There's new release of the 3rd party tool. Oops, some of the methods are deprecated. Hmmm, the parameters to that method changed. Fix, patch. Get everyone on the project to uninstall 6.1.2.5.3.1 and install 6.1.2.5.3.2. Hurdle #4.

        Oh dear god, i feel your pain... Several hundred pages containing incorrect references to old versions... why, why...

        1 Reply Last reply
        0
        • C Christian Graus

          Marc Clifton wrote:

          Oops, some of the methods are deprecated. Hmmm, the parameters to that method changed.

          As you probably know, I work on the toolbox and grid here at CP. Do library vendors really do that ? I'm super careful to make sure everything I add is going to compile for existing users, if I add a parameter it has a default, if I change something, the old way stays in so that no-one curses me for breaking their app. Surely anyone would do the same ? Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

          D Offline
          D Offline
          David Stone
          wrote on last edited by
          #15

          Christian Graus wrote:

          Surely anyone would do the same ?

          Have you seen the breaking changes documentation for each release of the .NET framework?

          225 years ago, we set an example for the rest of the world by creating a country where everyone could vote...
          Well, except for women and black people, but we fixed that!
          -Adam Duritz, of Counting Crows

          C 1 Reply Last reply
          0
          • M Marc Clifton

            You just described me to a T. The biggest problem I have with 3rd party tools is, you often have to buy into the whole architecture. OK, that's hurdle #1. Then I look at all the dll's and stuff and go, ugh, I don't want all this other crap just for a snazzy new toaster. But maybe I decide to grin and bear it because it looks so darn cool and looks like it does everything I need (ignoring all the other things I don't need). Hurdle #2. Then I start trying to use it. Sigh. I do a lot of declarative driven UI's, and the controls are part of an automation framework to help decouple presentation from business and data layers. That means, I don't usually use the designers to create the UI's. So I have to figure out how the darn control works programmatically. Time for Tylenol. Time to fire up a test project and use the designer to see what it's doing. OMG. Look at all that initialization stuff. Rip. Hmm. Doesn't work. Replace. Rip... Sigh. Oh cool, got it working. Hurdle #3. Oh crap. There's new release of the 3rd party tool. Oops, some of the methods are deprecated. Hmmm, the parameters to that method changed. Fix, patch. Get everyone on the project to uninstall 6.1.2.5.3.1 and install 6.1.2.5.3.2. Hurdle #4. Putzing along, using it, hmmm...here's what seems like a bug. Research documentation, maybe I'm not setting it up right. Documentation? Somewhat incomplete. Lots of things not really well described. I can't find any examples on how to do what I want. Argh. Crashed into hurdle #5. Let's see what's on Code Project instead. Ahhhh. Cool. A nice control that can get me started. Reality check time. Hmmm. More bugs. But I have the code to fix it. Ewww. What wierd implementation. What's going on? There's no code comments! Maybe that 3rd party tool isn't too bad. Hmmm. Which will get me there faster? Figuring out the 3rd party tool, or fixing that nifty control I found? I know! I'll just borrow from the nifty control the stuff that seems to work and rewrite the thing. Sigh. It doesn't look as sexy as the 3rd party control. Hmmm. My new control still has bugs. What was I thinking here? Shat!!! I didn't put any comments in the code!!! And so it goes. The lesson is, what? Figure out your requirements, both locally and for the whole app. Decide on an approach before coding. Decide whose architecture you're going to buy into. Have an architecture. Wrap those 3rd party controls rather than use them directly, so they can be replaced. Do

            B Offline
            B Offline
            BrockVnm
            wrote on last edited by
            #16

            Thanks for your responses! They have been very insightful.

            1 Reply Last reply
            0
            • D David Stone

              Christian Graus wrote:

              Surely anyone would do the same ?

              Have you seen the breaking changes documentation for each release of the .NET framework?

              225 years ago, we set an example for the rest of the world by creating a country where everyone could vote...
              Well, except for women and black people, but we fixed that!
              -Adam Duritz, of Counting Crows

              C Offline
              C Offline
              Christian Graus
              wrote on last edited by
              #17

              Yes, but Microsoft can do what they want, plainly. Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

              1 Reply Last reply
              0
              • B BrockVnm

                I seem to be battling with myself and wanting to build everything by myself. I have found a few good 3rd party tools that I want to add to the application I am writing yet I have this feeling of wanting to build them myself. Do any of you sometimes feel this way? How do you deal with this? All I would be doing is reinventing the wheel yet I just feel better after I build the GUI tool myself.

                D Offline
                D Offline
                Dario Solera
                wrote on last edited by
                #18

                I needed a simple CMS. I ended building by own Wiki engine... _____________________________________________ Tozzi is right: Gaia is getting rid of us. My Blog [ITA] - Developing ScrewTurn Wiki 1.0 Beta3...

                1 Reply Last reply
                0
                • P peterchen

                  If it belongs to, or carries your core business (that what makes you stand out from competition), do it yourself. If it is a gimmick, a "must have" everybody has, a cute feature noone else has but your app could live without, purchase.


                  Some of us walk the memory lane, others plummet into a rabbit hole
                  Tree in C# || Fold With Us! || sighist

                  G Offline
                  G Offline
                  Gary Wheeler
                  wrote on last edited by
                  #19

                  Excellent rationale; concise and elegant. May I quote you to my management?


                  Software Zen: delete this;

                  P 1 Reply Last reply
                  0
                  • B BrockVnm

                    I seem to be battling with myself and wanting to build everything by myself. I have found a few good 3rd party tools that I want to add to the application I am writing yet I have this feeling of wanting to build them myself. Do any of you sometimes feel this way? How do you deal with this? All I would be doing is reinventing the wheel yet I just feel better after I build the GUI tool myself.

                    M Offline
                    M Offline
                    Madd_Matt
                    wrote on last edited by
                    #20

                    The development staff at the company I work for had the same questions and even started creating some of our own controls. After spending some time trying to learn this we discovered how incredibly complicated it is to create a great custom controls and realized we would need a full time developer that only did controls if we really wanted to do this right. Unfortunately a full time control developer was not in the company budget. Anyways I am not sure if code project really wants third party companies touted or linked in the blog and tried to email you directly but it said your email had not been verified. We use RadControls from a company called Telerik and they rock. They are a little pricey (not too bad) but you get what you pay for. Here is website. http://www.telerik.com/asp-net-controls/ui-components/overview.aspx Also, if you are interested in implementing ajax they have some outstanding ajax stuff that makes it very easy to implement. You don't have to buy their whole package and can just buy the controls you want. They really help make web apps look like desktops apps and saves a ton of time and therefore saves a lot of money. As with any new technology there is a learning curve but I think it is lot less time than I would have spent developing my own controls HTH

                    B 1 Reply Last reply
                    0
                    • M Marc Clifton

                      You just described me to a T. The biggest problem I have with 3rd party tools is, you often have to buy into the whole architecture. OK, that's hurdle #1. Then I look at all the dll's and stuff and go, ugh, I don't want all this other crap just for a snazzy new toaster. But maybe I decide to grin and bear it because it looks so darn cool and looks like it does everything I need (ignoring all the other things I don't need). Hurdle #2. Then I start trying to use it. Sigh. I do a lot of declarative driven UI's, and the controls are part of an automation framework to help decouple presentation from business and data layers. That means, I don't usually use the designers to create the UI's. So I have to figure out how the darn control works programmatically. Time for Tylenol. Time to fire up a test project and use the designer to see what it's doing. OMG. Look at all that initialization stuff. Rip. Hmm. Doesn't work. Replace. Rip... Sigh. Oh cool, got it working. Hurdle #3. Oh crap. There's new release of the 3rd party tool. Oops, some of the methods are deprecated. Hmmm, the parameters to that method changed. Fix, patch. Get everyone on the project to uninstall 6.1.2.5.3.1 and install 6.1.2.5.3.2. Hurdle #4. Putzing along, using it, hmmm...here's what seems like a bug. Research documentation, maybe I'm not setting it up right. Documentation? Somewhat incomplete. Lots of things not really well described. I can't find any examples on how to do what I want. Argh. Crashed into hurdle #5. Let's see what's on Code Project instead. Ahhhh. Cool. A nice control that can get me started. Reality check time. Hmmm. More bugs. But I have the code to fix it. Ewww. What wierd implementation. What's going on? There's no code comments! Maybe that 3rd party tool isn't too bad. Hmmm. Which will get me there faster? Figuring out the 3rd party tool, or fixing that nifty control I found? I know! I'll just borrow from the nifty control the stuff that seems to work and rewrite the thing. Sigh. It doesn't look as sexy as the 3rd party control. Hmmm. My new control still has bugs. What was I thinking here? Shat!!! I didn't put any comments in the code!!! And so it goes. The lesson is, what? Figure out your requirements, both locally and for the whole app. Decide on an approach before coding. Decide whose architecture you're going to buy into. Have an architecture. Wrap those 3rd party controls rather than use them directly, so they can be replaced. Do

                      T Offline
                      T Offline
                      Tillman Erb
                      wrote on last edited by
                      #21

                      I've learned a couple things about using 3rd party tools the hard way: 1. If it's licensed, don't consider it unless a trial version is available. And if the trial has an expiration date, bang on it as hard as you can before purchasing the license. 2. Because customization of the tool is inevitable to meet the needs of its specific implementation, consider abandoning a commitment to supporting future releases of the tool. Once you've got the current version doing what you want, in my opinion accomodating the changes in a new release of the tool usually isn't worth the effort. After all, you evaluated the tool based on its current version and not on any future release promises, right? ~ Tillman

                      B 1 Reply Last reply
                      0
                      • T Tillman Erb

                        I've learned a couple things about using 3rd party tools the hard way: 1. If it's licensed, don't consider it unless a trial version is available. And if the trial has an expiration date, bang on it as hard as you can before purchasing the license. 2. Because customization of the tool is inevitable to meet the needs of its specific implementation, consider abandoning a commitment to supporting future releases of the tool. Once you've got the current version doing what you want, in my opinion accomodating the changes in a new release of the tool usually isn't worth the effort. After all, you evaluated the tool based on its current version and not on any future release promises, right? ~ Tillman

                        B Offline
                        B Offline
                        BrockVnm
                        wrote on last edited by
                        #22

                        Thanks Tillman!

                        1 Reply Last reply
                        0
                        • M Madd_Matt

                          The development staff at the company I work for had the same questions and even started creating some of our own controls. After spending some time trying to learn this we discovered how incredibly complicated it is to create a great custom controls and realized we would need a full time developer that only did controls if we really wanted to do this right. Unfortunately a full time control developer was not in the company budget. Anyways I am not sure if code project really wants third party companies touted or linked in the blog and tried to email you directly but it said your email had not been verified. We use RadControls from a company called Telerik and they rock. They are a little pricey (not too bad) but you get what you pay for. Here is website. http://www.telerik.com/asp-net-controls/ui-components/overview.aspx Also, if you are interested in implementing ajax they have some outstanding ajax stuff that makes it very easy to implement. You don't have to buy their whole package and can just buy the controls you want. They really help make web apps look like desktops apps and saves a ton of time and therefore saves a lot of money. As with any new technology there is a learning curve but I think it is lot less time than I would have spent developing my own controls HTH

                          B Offline
                          B Offline
                          BrockVnm
                          wrote on last edited by
                          #23

                          I am not sure why it said my email was not verified. I will have to see if it is something in my settings. Thanks for the feed back!!

                          M 1 Reply Last reply
                          0
                          • B BrockVnm

                            I am not sure why it said my email was not verified. I will have to see if it is something in my settings. Thanks for the feed back!!

                            M Offline
                            M Offline
                            Madd_Matt
                            wrote on last edited by
                            #24

                            NP on the feedback, Regarding the email, I guess it just said that an email address was not verified. It didn't really specifically say if it was yours or mine. Although I recevied your reply to my post through email and don't know why mine would not be verified either? Maybe it is just an error at the code project?

                            1 Reply Last reply
                            0
                            • G Gary Wheeler

                              Excellent rationale; concise and elegant. May I quote you to my management?


                              Software Zen: delete this;

                              P Offline
                              P Offline
                              peterchen
                              wrote on last edited by
                              #25

                              Why not? I think Joel discussed this once in more length (i.e. I'm just a carrier)


                              Some of us walk the memory lane, others plummet into a rabbit hole
                              Tree in C# || Fold With Us! || sighist

                              G 1 Reply Last reply
                              0
                              • C Christian Graus

                                Marc Clifton wrote:

                                Oops, some of the methods are deprecated. Hmmm, the parameters to that method changed.

                                As you probably know, I work on the toolbox and grid here at CP. Do library vendors really do that ? I'm super careful to make sure everything I add is going to compile for existing users, if I add a parameter it has a default, if I change something, the old way stays in so that no-one curses me for breaking their app. Surely anyone would do the same ? Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                                E Offline
                                E Offline
                                Ed K
                                wrote on last edited by
                                #26

                                And thank you for doing that!! I'll be getting my update later this year.;) ed ~"Watch your thoughts; they become your words. Watch your words they become your actions. Watch your actions; they become your habits. Watch your habits; they become your character. Watch your character; it becomes your destiny." -Frank Outlaw.

                                1 Reply Last reply
                                0
                                • M Marc Clifton

                                  Christian Graus wrote:

                                  Do library vendors really do that ?

                                  DevExpress deprecated several methods in their report designer, so the initialization sequence changed. Also, yes, I've had method signature change, but I can't remember if that was DevExpress or Infragistics or something else. I probably took too large of a step in updating the library and missed some deprecation warnings along the way. Marc Pensieve Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson

                                  B Offline
                                  B Offline
                                  baldricman
                                  wrote on last edited by
                                  #27

                                  aaaarghh!! Infragistics!! Yes!! *seethe* > Huge. > Numerous patches and updates: MINOR version changes BREAK COMPATIBILITY? er...wtf? > Significant (and proven) performance degradation, just by having and instantiating a control on a form. > Doesn't follow IT'S OWN standards (erratic naming and methodology) > Customer-support personell adopt the "you're doing something wrong" approach to most queries. (Which, granted, may be true some of the time... but come on!) /rant That said, their controls look great! Personally, this is why I get pretty nervous using 3rd party stuff. However, I have used numerous smaller 3rd party stuff (like, single-controls, not suites) pretty successfully.

                                  1 Reply Last reply
                                  0
                                  • B BrockVnm

                                    I seem to be battling with myself and wanting to build everything by myself. I have found a few good 3rd party tools that I want to add to the application I am writing yet I have this feeling of wanting to build them myself. Do any of you sometimes feel this way? How do you deal with this? All I would be doing is reinventing the wheel yet I just feel better after I build the GUI tool myself.

                                    J Offline
                                    J Offline
                                    Jonas Hammarberg
                                    wrote on last edited by
                                    #28

                                    I do write my own stuff -- if it's in an area where I'm reasonable competent. Outside of those areas I will use 3rd party tools/libraries. The drawbacks with those are that I often invest more time working around their quirks then doing my job. So, whenever I feel confident enough to roll my own, I end up doing it. Albeit less feature rich but otoh -- They do work;) When it comes to smaller stuff, where the cost of researching+interfacing+implementing+bugs > DIY, I will do it myself. Sorry, no good answers and... ones own code do have a tendency to become almost as cumbersome as 3rd parties as time goes on ("what drug was I on while writing that piece of code?" "WTF?")... So still ends up with legacy code, either our own or from outside the house... I think that what I'm trying to say are; The only "good" reason for writing it your self, is just because you feel like it:rolleyes:

                                    1 Reply Last reply
                                    0
                                    • P peterchen

                                      Why not? I think Joel discussed this once in more length (i.e. I'm just a carrier)


                                      Some of us walk the memory lane, others plummet into a rabbit hole
                                      Tree in C# || Fold With Us! || sighist

                                      G Offline
                                      G Offline
                                      Gary Wheeler
                                      wrote on last edited by
                                      #29

                                      I think the operative terms here are 'concise' and 'management'. Short sentences, words of one syllable, that sort of thing.


                                      Software Zen: delete this;

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups