First off, I'd like to say that Inkscape itself is a very nice project. It does what it's supposed to, and it does it well. I guess my problem lies more with one of the main libraries it uses than with Inkscape itself. However, having said this, I'm still probably going to get yelled at, but here goes...
The one thing that I dislike about Inkscape is the half-assed porting to other platforms. Specifically, the most noticeably half-assed thing is the GUI porting. Instead of going with a truly cross-platform solution, like wxWidgets, you went with GTK 2 for [Windows|Mac OS X]. wxWidgets at least tries to use the native versions of dialogs and controls, whereas GTK 2 just craps all over the platform's UI standards and reinvents the wheel. This confuses the end user greatly because it is very different from practically every other application and therefore increases frustration. Using wxWidgets makes the application behave much more uniformly with other applications, reducing the learning curve to only Inkscape-specific things on platforms other than Linux. Also, I very much want to say that the developers of GTK 2 have never had access to a computer with 2 different resolution monitors due to the large number of extremely annoying window/dialog positioning issues it has. Using wxWidgets once again uses the native UI library, greatly reducing the number of issues on platforms that don't suck at using different resolution monitors.
Unfortunately, Inkscape has already become a very complex beast, and switching to a better UI library at this point is pretty close to impossible. I guess that fact alone makes this more of a rant than a suggestion, but if you can prove me wrong and actually do it I would be much more likely to donate some money (I don't have much so it would probably be around $20 USD, though). I'd help, even, but I do all of my development on Windows using VC++ 2008 and don't exactly understand everything I'd need to contribute to a *nix based project properly (though it would be nice if someone could help me figure it out).
Once again I like Inkscape and couldn't even begin to start thinking about competing. I hope I don't sound like a complete ass who is attacking Inkscape so please don't roast me too much. I just had to get this one thing off of my chest. Also, I apologize for my uncharacteristically strong language.
Edit: It seems I made a stupid and didn't research which library it actually is that I hate. Upon further review I think it might be GDK 2 and not GTK 2, though honestly I'm not 100% sure which one it is. Further research is required, but the general idea is that I hate whatever it is Inkscape uses for the GUI library.
One Inkscape Dislike [Rantish]
-
- Posts: 626
- Joined: Wed Jun 06, 2007 2:37 am
Re: One Inkscape Dislike [Rantish]
The main thing to consider here is that there wasnt a 'porting' process as such, GTK wasnt used to allow it to be ported, it was used as a good library on linux. The fact its cross platform enough to allow builds to be done one other platforms with very little effort is the main reason we have what your referring to as 'ports'. They are in fact really just builds on other platforms. The fact that GTK doesnt integrate as well on those platforms is a seperate issue.
-
- Posts: 12
- Joined: Sun Sep 13, 2009 3:05 pm
Re: One Inkscape Dislike [Rantish]
Thank you for taking the time to reply.
The thing I like about wxWidgets is that, on Linux, it will use GTK if it's available, whereas on Windows and OS X it will use the native windowing libraries. This helps the application integrate much better with the rest of the OS, helping people learn to use it better (less time fighting the UI and more time figuring out how to use the program's features).
Like I said, I'd like to help move things over if it were decided that's what is wanted, I just need to learn how (which shouldn't be too hard).
The thing I like about wxWidgets is that, on Linux, it will use GTK if it's available, whereas on Windows and OS X it will use the native windowing libraries. This helps the application integrate much better with the rest of the OS, helping people learn to use it better (less time fighting the UI and more time figuring out how to use the program's features).
Like I said, I'd like to help move things over if it were decided that's what is wanted, I just need to learn how (which shouldn't be too hard).
Re: One Inkscape Dislike [Rantish]
I think a better idea would be to rewrite it from scratch (after all, if your application crashes too often, you're doing something wrong) and use a library that actually works and makes it easier for devs. You know, like Qt. It's LGPL now, so there are no excuses. Plus, Qt has the advantage that it has an internal SVG renderer for widgets.
Re: One Inkscape Dislike [Rantish]
notmyfault2000 wrote:Like I said, I'd like to help move things over if it were decided that's what is wanted, I just need to learn how (which shouldn't be too hard).
Changing the widget library would be such an extensive rewrite that it would set the project back by 3-5 years. You'd be better off starting a separate project and working for 5 years (or more) to get to where Inkscape is now, but by then Inkscape would be 5 years or more ahead of you.
Re: One Inkscape Dislike [Rantish]
Like tweenk stated, the effort required to change the UI is huge, so don't expect such a thing to happen anytime soon. We're already having enough difficulties to support three major problems, as most developers prefer to use Linux for some reason . The number of windows and OS X developers is quite low.
That said, I do hope that you all like Inkscape enough to keep on using it; one day you might no longer notice the GTK stuff. Or just switch to Linux .
That said, I do hope that you all like Inkscape enough to keep on using it; one day you might no longer notice the GTK stuff. Or just switch to Linux .