@Crusty: I think this is what I mean by did you start to look under the hood of the chip you bought on the board, or work out what the code does that it came with?
My problem is that I'm not a programmer -- so I can plod along but only to a certain level. When you get a piece of hardware like a Real Time Clock (RTC) shield for use with the Arduio, it comes with two things -- a library and some examples.
You include the library inyou rprogram using a "#include" statement -- thereafter you can make function calls like "RTC.GetTime()" -- these function calls call functions in the RTC library.
I can understand the example code, but a lot of the code in the libraries makes my eyes water (sad face)
I think the Arduino platform somehow crossed the boundary from closed shop knowledge out into the open and may just have that intangible component of "cool". I know a kid (well he is in his 20s now) who decided he couldn't do the sciences. I did think he was smart and needed some motivation in the science direction, but it was not to be. He went to college for a degree in theatre production design. In that they learned the Arduino and he just twigged to it using it to control the lights etc. I now think that he would make a great embedded designer.
Hi Crusty -- you ask why the Arduino has gained such traction. I think it's a bunch of different factors. First, as you say, it's open source hardware and software, which has tempted a lot of folks to make their own boards and suchlike.
In the case of the IDE, they've removed a lot of the complexity and made it really easy for beginners to get started -- this is now aided by the plethora of books that are available.
And another big element is the trasure trove of resources available on the web. For example, when I bought a Real Time Clock (RTC) module from Adafruit, it came with an associated library and examples I coudl download and use -- so I was up-and-running in just a few minutes.