[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA-dev: [Re: is all EDA as bad as gEDA/pcb?]
On Sat, 8 Dec 2007, DJ Delorie wrote:
>
>Russ is a college buddy of mine, and we've been conversing on his "new
>gEDA user" perspective as he tries to learn the tools. He gave me
>permission to pass this particular email along, but keep in mind it
>was written for my sympathetic ear, hence it may sound "grumpy".
Sorry if I sound grumpy too, but I think your buddy is looking for a
windows bloatware which pcb/geda is not - and imo shouldn't be. There are
still a few interesting points.
<snip>
>Suggestion: decide on ONE library format across all of gEDA. If you
>can't decide, then get rid of them both and replace them by something
>better. IMHO, the components should be specified by a Python program.
>That way, if you want programmatically-generated devices, the Python
>program pops up a window that says "how many pins by how many pins" or
>"what size resistor footprint do you want?" and "Do you want to
>default to that size everywhere in this project?"
Scriptability is a good idea, but...
I think choosing a specific language and allow the user to use only that
one may be a bad choice because it reduces the number of contributors.
I would rather prefer a solution where gschem and pcb have hooks for
specific events and using swig or libgpmi or other similar libs they could
call scripts written in whatever language. I believe users would write
simple scripts in their favorit language and share them. Yes, if i don't
have liblua on my machine and i want to use a script written in lua, i
need to install liblua first. I know many people fear dependencies, but
these are only optional dependencies: if the user doesn't want to care, he
can install without any script lib (and then he can use the core
functionality but no 3rd party scripts) or he can install a full version
that depends on every possible script lib so he will be able to run any
script without knowing what language the author picked.
(For pcb I started to write such a plugin, it's currenlty waiting for the
gadget or wizard GUI)
>Suggestion: when somebody creates a component and saves it, ask them
>if they want to contribute that component. Or ... make component
>creation an inherently on-line and shared process. E.g. create a web
>form for components wherein people link to some vendor's store, and
>the web form scrapes the store to get the information about the device
>to create the footprint (may not be practical.)
Perosnally I would hate if pcb or gschem asked me such questions or even
if the binary woudl be able to send footprints or symbols to the
network. It's ok if it's a compile-time option so users like me, who hate
bloatware offering millions of useless user-friendliness-functions could
turn it off.
>Suggestion: when somebody starts up pcb, ask them how many layers they
>plan to use. Having fourteen layers shown when you're producing a PCB
>at home, is no help at all.
Same as above, I wouldn't like if pcb would ask many questions when i
start instead of using customizable defaults and providing simple ways to
change settings on the fly.
>Suggestion: use reasonable defaults, e.g. 100 mils.
Maybe we should just have a set of alternative defaults? One with 2
layers, 100 mil, DRC for easy toner transfer and another which is like the
current default?
>
>GTK Suggestion: EITHER consume the right mouse button with scrolling
>OR auto-scroll, but don't do both. Preferably, don't auto-scroll,
>because as it's currently implemented, if you're zoomed in,
>auto-scrolling instantly scrolls you half-way across the page. Some
>tools always auto-scroll; some don't.
I would drop autoscroll too. Anyway I still have a pending patch related
to a scrolling bug in GTK...
>
>GTK Suggestion: When you're depositing components, you get a
>wire-frame component. That's fine, but when you leave the canvas, the
>wire-frame should disappear. As it's currently implemented, the
>wire-frame is still drawn. If you go to the library and select a
>different component to deposit, the current wire-frame remains
>visible. It's obviously being drawn using XOR and somebody forgot to
>do an extra XOR on exit.
Yup, this is an annoying bug but I think no priority unless we want to
"sell" pcb to windows users who usually notice such things and start to
feel bad about the software. Rather crash than looking bad ;)
>Suggestion: do some usability studies. This involves putting a EE in
>front of PCB, and videotaping them, their screen and their face. This
>is amazingly painful to watch, but it's also amazingly educational.
>"Gee, I didn't know $X was so hard." Clarkson has a usability lab,
>last I knew.
Actually I have some experiences on this. This is the second semester I
was teaching geda and pcb at the university. Almost every student I have
are windows users. They meet non-windows, electronics and EDA for the
first time. My experience is that they find the tools very hard to use in
the beginning of the semester but after a few hours they learn it and
become productive. The hardest part to learn is that using the keyboard
and the mouse together is more efficient than using only the mouse.
I think it's really about what the user expects. If he wants a
windows-like software with the key/mouse bindings he got used to and he
refuses to learn a new one, he won't like the software.
Anyway there are those bugs in the GTK hid, and usually people suggest to
use the lesstif hid instead - but I think that would scare away my
students. Gtk at least looks a bit similar to windows so they don't stand
up after the first minute ;)
>Suggestion: call it something other than "pcb". A google search for
>"pcb" is completely useless.
Good idea...
>I'm sure this will be a good thing, but IMHO software that needs
>documentation is software that needs fixing.
I think this is only true for a windows-gui approach where there is only
a very limited set of very simple actions, each has a menu item and/or
icon and the user needs to select one and click. I believe this is not the
efficient way of dealing with complex tasks, instead, if the user want to
solve such complex tasks in an efficient way, he can not avoid learning
the tool and that needs documentation.
>
>BTW, installing pre-built packages for Ubuntu and Debian should be
>identical, and is simply a matter of doing this:
> sudo apt-get install pcb geda
I think it's already liek that, at least on Debian. The packages are a bit
outdated in stable and testing, but that's due to the speed of the
developement in the cvs/git. I think it would be a good idea to set up a
debian repository where a nightly build would be accessible - it's a
question of some free cpu cycles and a cron job.
>symbol, pinouts, pspice model, and footprint. I ought to be able to
>fire up the design program, throw a resistor and capacitor into a
>circuit along with a power supply and ground. Then I should be able
>open up the simulation view, right-click on the component or wire and
>see the current or voltage on that component over time. Then I should
>be able to open up the PCB view, and see a reasonable layout. Then I
>should be able to open up the BOM view and see which vendors have
>those parts in stock, who can make the PCB, and how much it all costs.
Actually I would hate to see such integration enforced. Instead, I really
like the way xgsch2pcb does it. I use Makefiles, my students use
xgsch2pcb.
>Who would pay for that? The vendors who get their purchasing
>information into the program. It works for Eagle, and they're just a
>PCB house.
I would prefer if vendors wouldn't pay just provide the info and keep
everythign up to date...
_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev