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 [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
