3rd party tools
-
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.
-
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.
-
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.
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 -
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.
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
-
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.
BrockVnm wrote:
yet I have this feeling of wanting to build them myself. Do any of you sometimes feel this way?
yeah, but then I realize there's deadlines to meet and I have too much [real] work to do...
BrockVnm wrote:
How do you deal with this?
I buy the tools and hide the copyright info nicely in the about box, and at the end of the day my application looks as if it were created by a team of master developers. :cool: ~Nitron.
ññòòïðïðB A
start -
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.
:)I have the same kind of problem with ChartFx (third party) trial version... My bosses want to use their budget for other stuff, so I have to reload it nearly every year from Chart Fx, how bugging. But my Datagridview is home made so. Hope they keep maintaining support for .Net 1.1:) vonb from sunny switzerland...
-
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.
Personally, I tell my employer to buy third party stuff whenever he can. He gets his product a lot quicker, and I get code that has had more time put into it than I could possibly hope to justify. Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
-
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
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
-
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
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?
-
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?
It's not cheating to make the best possible use of the available tools. Otherwise, C# and VB.NET are DEFINATELY cheating, and C++ is only marginally less so. Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
-
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
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
-
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.
-
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?
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
-
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
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...
-
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
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 -
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
-
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 CrowsYes, but Microsoft can do what they want, plainly. Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
-
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.
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...
-
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! || sighistExcellent rationale; concise and elegant. May I quote you to my management?
Software Zen:
delete this;
-
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.
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