This is madness!

Someone set up us the bottle

Hi, I had the strangest encounter yesterday. I went with a friend to pick up an argon gas cylinder he bought on ebay from an ebay dealer. The dealer-part is kind of important here because Austrian law promises the customer a 14-day right to return the merchandise.
The price was very low (almost too low for Austria) and we had to go to the far end of a small town (we saw a lot of cattle :)) to go to the merchants place. I’ve picked up a lot of stuff over the years and I was always going with someone inside to get the stuff – not here. A young guy carried the bottle outside after we waited for some minutes.
So – far so good. Then my friend made the lucky mistake of asking to weight the bottle. He mistook a 50 l bottles weight for the 20 l bottles weight. Initially the young guy was all about putting it on a weighing machine but his, I think, father got to the scene and declared us for some idiots for not knowing, that inert gases are not measured in weight but in pressure. Well technically true but what’s the problem anyway?
The answer is him: strangely he ranted all about how argon has no weight and he could only measure the pressure.
We both were ??? and just said okay so let’s measure the bottle. So one went in and got a pressure regulator. Suddenly the told us, that we were obliged to buy the bottle if they attached it. My friend just smiled and told em’ that this was just not true, because they were acting as official dealers and therefore he could return it for 2 weeks. This somehow triggered a pain response and the two jokers ranted on for 5 minutes on how we could say such a thing and they would not sell to us because obviously we were bad news and we do not have any idea on welding and on and on.
In the end we both left very unsatisfied and angry. We had a beer afterwards and in the end it was funny. I promised to write a blog-post about it.


In the moment my friend asked to weigh the thing the guys had 3 options:

a) just weigh the thing and make a sell
b) tell us about our mistake, attach a regulator and make a sell
c) show us a delivery notice or an invoice and make a sell

Of course they took option d) upset your customer by declaring him an idiot. My point is, that if my friend had not made this lucky mistake we probably would have bought the thing from these shady folks.
The other thing that made them kind of shady was the pressure they built up by pointing out how much more such a bottle would cost at a regular dealer like Lagerhaus and Zgonc (both rather expensive). I had a feeling like some pusher or real estate dealer wanted to sell me a faulty flat where there is a subway below and a landfill in the backyard.
From the first minute I felt we should not take this thing. The older guy had a dark suntan, maybe he got a little too much sun because I never ever saw such a bad behaviour from a merchant. This was the exact opposite of good customer service.
They could have easily made a sell by just being nice. Now we will tell everybody how this went down.
Shouldn’t I leave a merchant with a good feeling? These clowns were verbally aggressive from the first minute and seemed kind of afraid from taking a measurement. Maybe there was something fishy, maybe not but their acting didn’t help at all removing any doubts. When I buy such a bottle from Linde, Lagerhaus or Zgonc I trust them, simply because they are so big. I surely won’t trust someone selling from a backyard – he has to build trust, not piss the customer off.

Luckily my father will go to Germany next week and he will pick up a bottle there for 3/4 of the price from a chain.

In the end we were just pissed, they built a little bad rep and we get the bottle anyway.

Now I ask you. How would you react to this? I really don’t get what was up with them.

So long,
your AE

CAD programs II

A few weeks back I ranted on about free software electronic-CAD programs and Peter gave it some really long reply. I wanted to give it some more prominent space, so here it is:

Hi Claudio,
I totally understand your frustration. I am a gEDA user since more than 15 years, and I’ve worked next to someone using KiCAD, but really I cheated and learned the most up-to-date stuff about KiCAD from Dave’s video blog.
I think you identify several important issues for open source software in general and perhaps KiCAD and gEDA in particular.
1. Why is everything so inconsistent?
1. Why isn’t there a button to …
1. Is KiCAD an anti-thesis to good user-interface design?
1. Am I the one idiot who does not get it?
1. Why does my mouse not do what I expect?
1. Why don’t I have the skills to make a PCB-CAD program myself?
The UI is inconsistent because many different people work on creating these applications without much if any orchestration or top-down guidance. This is extremely common in all open source projects. I think this is a point which Dave also doesn’t mention in his video blog, maybe because he is used to the reality of a commercial software producer where things work pretty much exactly the opposite – for good and bad!
I list this question first, because the key thing to remember about open source software is that even if you can not fix the source code to do what you want, you and every other user can provide incredibly valuable feedback about what you would like and how things can be improved.
So you actually do have the skills to help make a PCB-CAD program, because you know what you want it to work like! That’s all it takes.
I do not have experience from the KiCAD community, but I hope that they realize how incredibly valuable feedback like that from Dave in his first impressions video blogs and what you yourself write in this blog post is! If you contact them and they reject your feedback, then I urge you to file bug reports in their bug tracker system for things that you feel are bad. If they behave badly then they do not deserve your help and I would request that you come join gEDA and help make it amazing instead. 🙂
To me it as an outsider of the KiCAD project it is also obvious that there are things to improve. The same is of course equally true for gEDA where I am slightly more “on the inside” albeit not by much.
The key to successful open source software is that users like yourself who want to use the programs will also help out, to shape the programs into excellence. It’s easy to get tunnel vision as a developer, and the user perspective is really all that matters for any program!
2. Why cant a footprint be automatically linked to a certain element?
2. Why are there still (totally inconsistent) libraries and not one big database instead?
As you write, and as Dave points out, this requires a complex database, and there isn’t one either for gEDA or for KiCAD. There is support for linking elements to footprints in gEDA, as I understand also in KiCAD, but the simple reality is that designing this master database successfully requires a) a very specific software development skillset, and b) specific domain knowledge, ie. ideally a superset of every other existing solution, in order to avoid the mistakes done there.
Realistically, it will take many years, perhaps decades, before the open source toolchains have such a database. Once they do, I also expect that it will be abstracted so that it can be shared by both gEDA and KiCAD. Meanwhile we have to do extra work, sometimes workarounds, in order to achieve the exact output we want.
But I think a key point to remember here is that the fact that these tools are completely open is what makes it at all possible to do crazy things like write software to generate large repetitive footprints or elements.
No doubt the real solution is one big public database on the internet with a CC-BY license for the content.
Meanwhile, we can at least publish and share the symbols/elements and footprints that we have created amongst ourselves, in order to at least save some time.
3. Why is there an autorouter?
I think this is helpful sometimes. A board doesn’t have to be a PC mainboard for an autorouter to help. The real problem is of course that the vast majority of autorouter fans are beginners who do not understand the limits of the autorouter, but IMO that’s not a reason to leave the feature out.
All the best

Wow that is some comment, it is way more than I ever expected in a reply on this.
I gave it a nights rest and feel, that I have to elaborate a bit on how I got to be an OSS user and on how the usual process is, in my opinion a bit faulty, when it comes to bigger projects.

For me it was back in ’00 or ’01 when I first got an affordable and relatively fast internet connection (ISDN). I was using windows 98 (brrrrr) and win2k and mostly used my computer for gaming until I discovered things like chaosradio and off the hook. It was a life changing discovery: I learned about Linux and free software, I wanted to be a part of this. So I installed Debian on my secondary PC and – was disappointed: I was just not able to get anything running. It did not like my network and my graphics card. So the box basically just sat there for a year or so. I still wanted to use OSS but it and I just weren’t there. Then I got an internship at some hosting company and there was a Linux enthusiast who told me about Linux from scratch.
So I set a weekend aside and locked myself in. Armed with cola, crisp, a bottle of wine – in case of success and a bottle of vodka – in case of failure. In the end I toasted myself with some wine – the system ran like it should. I got the kernel compiled, I understood the concept of the curses library and even networking worked like a charm.
With this experience running Debian was not a problem anymore but I just wasn’t able to wrap my head around dselect and some other idiosyncrasies. But I stood strong and suffered for a couple of years until Ubuntu came along. Even tough it was far from the userfriendlyness it has today it still managed to fully pull me over to the Linux side of things and I was able to name windows my secondary OS from that point on. For 7 years now I run my daily tasks from Ubuntu and it is getting better every day (except for the unity desktop, that forces me to still use Ubuntu 10.04 LTS. But that’s another story).

So all in all OSS became really viable for me as a desktop OS when it became streamlined, when I found things, where I expected them, when I just could doubleclick on a .deb package and it would allow me to install right away, and not would have to go to the terminal and type: dpkg –install XXXX.deb. That was the moment. I am not saying, that everything has to be soooo easy but there is some kind of frustration threshold that makes things unnecessarily harder and keeps people like me at distance.

So after that, now back to free CAD programs

I recall trying out some program called pcb back in the day. I printed the whole manual and tried to make something out of it – nothing. I couldn’t make anything like a pcb design. By the way same thing with Eagle. I really don’t think the free Eagle version is good for anything. The half eurocard limit allows for some Arduino derivative at best. So I made my first pcbs with pen & paper and then transfered the layout with ink to the copper.
Only when I got to use Target I was able to do it. The package is full of somewhat half baked functions and crashed sometimes but it was intuitive enough to drag me through the learning period. And being far from perfect I am still using it despite many efforts on my side going OSS.
I tried KiCAD and gEDA and both prevented me from getting anywhere by their feel of working actively against me. I am not one to give up early and I try it every half a year but when I don’t come anywhere after 4 hours the frustration kicks in and I grab me a beer.

With KiCAD I would not know where to start on how to make it better except for a complete rewrite of the UI.
But I’ll take another run with gEDA as soon as I have some time. Like you I see a problem in general with OSS when a project does not have a direction giving authority. It often feels like the old saying “too many cooks spoil the broth”. Sometimes any decision is better than no decision. Maybe a solution to this could be some guy, that wants to go into management in his day-job and get some training managing an OSS project? All the big OSS projects have some kind of hierarchy (the kernel by Torvalds, RedHat by company structures and so on). Maybe this would spoil the free software spirit but I don’t think so. Be assured I won’t give up on free EDA programs.

Now with the database: Target has changed the paradigm here about two years ago. There is a local database with a lot of parts, but if it does not find it locally, it offers the option to search online. A chance to circumvent one big db could be, just like Debian or Ubuntu do, some distributed ftp servers (and for the guys who call “who’s paying for that?” I would offer some server) . This would also allow people to publish their custom designed parts easy and simple. I don’t want Libraries, I want simple files, one for every part incooperated in a searchable local database, that can get more online.

I see your point with the autorouter, but I would still say it is useless as long as the basics aren’t right. I think it is there (yet), because it poses a very interesting intellectual challenge. There is nothing bad about it, I would only love to see some more effort going into the UI design.

All in all it still feels like these tools come right out of the early 90ies maybe some interface designer could help a lot. Of course the programmers themselves would be willing to take the criticism and still put their great work into a “managed” project.

I’m still thinking about this whole issue and this won’t be the last thing about it.

Best, your

Why do free CAD programs suck so hard?

Some years back, when I wanted to design my first pcb I had a look ad KiCAD and gEDA. I just wasn’t able to make a board. Not just the Interfaces suck but also tutorials were rare and not very helpful. Then I got Target 3001! from a C’T CD and got my first board made within two hours. By the recent stir about KiCAD by Chris Gammel and Dave Jones I thought I’d give it another try.

Well, same shit as 6 years ago. At least I thought so I asked myself maybe I, as a hobbyist am not the target of these packages. Okay but who should use it the when not hobbyists and small companies?
Right now I’ve decided to write down my complaints to get off some air. I just would love to use OSS and not be limited by wtf moments all the way to a simple power supply design.

1. Why cant a footprint be automatically linked to a certain element?
2. Why do I have to see a Netlist if I don’t want to?
3. Why isn’t there a button to switch from Schematic to Layout to 3d-mode and instead there are 3 totally inconsistend programs with no clear naming system?
4. Is KiCAD an anti-thesis to good user-interface design?
5. Am I the one idiot who does not get it?
6. Why are there still (totally inconsistent) libraries and not one big database instead?
7. Why is there an autorouter? Wasted programming time – if hobbyists are the target they will rarely design PC-mainboard-level complex boards.
8. Why is everything so inconsistent?
9. Why does my mouse not do what I expect? (left-click->select, left-drag->move, right-click->menu and so on)?
10. Why don’t I have the skills to make a PCB-CAD program myself?

Really why is that? Are all these projects so engineer-borne and they do not get, that the user-interface is straight out-of hell? All these tools have so many functions but they all got the basics wrong: consistency, clarity, straightforwardness. When I start up KiCad I have no idea what to do. I don’t say, that eagle is better, its more like the grumpy grandfather of those programs. It seems, that all of them follow some kind of late 80ties paradigm: the user has to take a weekend-seminar to get his work done. I have spent 4 hours with tutorials now and my learning experience was not “aha, that how its done” but “whaaaat? thats how its done?”.

So until this is fixed I am stuck with the not perfect, but orders of magnitude better Target 3001! from an C’T CD.

Sorry for the rant guys, I’m just a bit angry at the moment…