← Back to team overview

kicad-developers team mailing list archive

Re: Improving usability of KiCad


On 10/10/2010 04:35 AM, Vesa Solonen wrote:
> On Sat, 9 Oct 2010, Dick Hollenbeck wrote:
>> We are essentially rewriting eeschema very soon.
> Any plans going metric on the way? I know it doesn't actuallu matter much, 
> but "now or never (tm)". Brainstorming ahead, is the wxWidgets the right 
> tool? I remember some previous brainstorming about Qt, even python 
> was mentioned for the UI. My (very limited) experience has proven PyQt4 
> _very_ usable and also faster than any other common Python GUI toolkit. 
> GUI layout tools are in my opinion way better and there is less breakage 
> between platforms.

How well supported is it on windows?

Thanks for reporting this.  If somebody was going to start developing in
this environment, they have a large bit of work to duplicate what we
already have in Kicad.  So the trick would be to offer something that
Kicad does not currently do or do well.  Then over the course of 5 years
or so, maybe that work could pull in enough volunteers and incremental
contributions to eventually meet or exceed Kicad.

To use an analogy: 

Imagine you are at a large campsite with lots of tents.  Kicad is the
campfire.  Somebody offers to build another campfire, and decides to do
it 10 feet from the first one.  Where do you think folks will put their
wood?  On the existing campfire.

Now, move that campfire 100 feet away, closer to the needs of some of
the tents, and maybe where it will light a trail.  Now you are bringing
value to a new place.  Eventually folks might put enough wood on the new
campfire so as to duplicate the intensity and purpose of the original. 
But the original purpose I think must be different, or nobody will
gather enough wood.

In this analogy, the separation does not mean fork the project or go
somewhere else to develop it.  It is analogous to solving a different
problem than what Kicad already does, something the collective campsite
can benefit from that the first campfire does not address.  This is a
strategy discussion, and an economic discussion, and a discussion about
motivating folks to do things.

It is an economic miracle that any open source exists at all.  Why the
hell would somebody want to work for free, and then give away their
work?  The little red hen sure did not.

So to come back to PyQt4, if somebody really wanted to make this change,
they have to motivate people to work for about 5 years.  Not full time,
and not just a few people.  A lot of people.  Can it be done?  Probably.

Find the thing that Kicad does not do, or do well, and do it in PyQt4.  
Maybe a kick ass library browser, which would be compelling enough in
its UI flair that folks could not stay away from it.  They had to
install it.

Then you have the kindling in place of a new campfire.  Maybe 5 years
later you have a bonfire.

No one should say, "let's not do this".  That is silly.  This is a
volunteer situation, at most someone can say, "I will or I will not help
with this".

I will not help with this, at least not in terms of gathering kindling
and starting the little campfire.  Only when that campfire is roaring
and meets 98% of my needs, then I might contribute that last 2%.


>  On wx(GTK) the layout with labels and textboxes is 
> never correct (just look at KiCad on wxGTK vs Windows), but on Qt it's 
> completely non issue. Platform nativenes issue was solved some time ago, 
> so Qt ought to be as native as wxWidgets. I know the great deal of 
> investment for wxWidgets, but sometimes one has to leave old behind. Nokia 
> pushing Qt seems to be a good thing as license was relaxed 
> LGPL/GPL/commercial and development is ongoing. Qucs and FreeCAD would 
> combine with KiCad more seamlessly...
> Just to make it clear, I don't want to start any war about which tookit is 
> the best or KDE/Gnome/OSX/Win/FLTK/E17... usability battle, just some 
> thinking about which toolkit is the best for KiCad and sustainable and 
> saving developer time. Especially the graphics, if the problem is already 
> solved why it has to be solved again with minor differences? It seems that 
> the world is full of unsolved problems, but those who can and will solve 
> them are a scarce resource. Let's spend that recource meaningfully. I use 
> Gnome on Ubuntu Linux, but vastly prefer Qt as a tool. Qt-clearlooks 
> style.
> -Vesa