[Skencil-users] Fwd: Join forces for skencil1/sK1?
Igor Novikov
igor.e.novikov at gmail.com
Thu Jul 12 11:58:32 CEST 2007
Hi all,
Sorry for delay in responding - just summer is a vocation season.
There are many issues were discussed therefore I split my answer on several
points:
1. "sK1" name vs "Skencil" name.
I think this question is not a main problem of the project. If editor will
be useful and will have really practical features it will get own users
community.
2. Community.
On this moment sK1 has own community, predominatingly Russian and Ukrainian
community. And sK1 related threads on forums even popular than such flames
as "Gimp vs Photoshop"
Note: Russian community accounts "sK1" name more preferable.
2. Project components usage.
Unfortunately, Skencil, and relatively sK1, internal design is unperfect.
Coding style has no accurate support of MVC pattern. For example, in model
implementation (rectangle etc.) we can find lines like:
AddCmd(....skpixmap...)
That is the model directly uses certain controller and view and we have
mixed model-view-controller implementation. And such example isn't unique.
Therefore even in command line mode Skencil requires and loads Xlib and Tk
depended components. So, Skensil/sK1 should be deeply refactored to separate
components code.
3. Multiplatform task
Often people say "Skencil is almost pure Python code", i.e. "some small
efforts" and we get truly multiplatform editor. But really Skencil has
3-language source code: Python, Tcl/Tk and C. Pure Tcl/Tk code is seldom,
only several direct calls. But Skencil specific C modules are used almost in
all packages. All model objects have C based representation and all drawing
operation are also C based. The main modules are: paxmodule (Xlib based
drawing) and sketchmodule (objects representation). Unfortunately on this
level MVC pattern is broken also. These modules are crossdepended and
funtctions use Xlib types everywhere. Therefore to achive real multiplatform
feature we need reimplement these modules and may be reimplement a large
part of Python-based code.
We have started working upon this issue in our new project - UniConvertor (
http://sourceforge.net/projects/uniconvertor) which should substitute Xara's
freezed Uber-Convertor. Project status is mature and current version is
1.0RC1. UniConvertor doesn't depend on Xlib functions or data types (Cairo
binding is also removed) therefore the project is multiplatform. Release
version will be equipped by multiplatform build script based on distutils
(Skencil setup.py is not multiplatform because it uses Python universal
Makefile but not distutils build system). Of course, the most popular
feature of the project is CDR file conversation into SVG format.
5. sK1 vs Inkscape
Of course sK1 is not useful on this moment. The most problematic issue is a
fonts handling. Also inherited Skencil document model is unperfect. For
example gradient fill representation, text object, image object are
primitive and often depend on Xlib possibilities. But sK1 really faster than
Inskape (I talk about Cairo mode with antialiasing and alphachannel
support), requires smaller system resources, supports real CMYK colors (and
there is no problem adding color models like CMY, Lab etc.), generates
CMYK-based postscript, has color managment and a good kit of native
importers (for example, Inkscape team are waiting for UniConvertor release
to utilize CDR importer). Modern tile-based GUI should look better on Win32
and MacOS X than ported GTK applications. More over for these platform
special themes can be created using native widgets.
Highly important task is multiplatforming, but we already have multiplatform
engine mock-up which works on *nix, MacOS X and Win32. Unfortunately, this
task requires almost complete reimplementation of Skencil derived code. We
hope that the result will be presented on LGM 2008.
So assuming we can say that sK1 has a chance to be better than Inkscape.
Sincerely,
Igor Novikov
sK1 Team
http://sk1.sf.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wald.intevation.org/pipermail/skencil-users/attachments/20070712/d900c0b1/attachment.html
More information about the Skencil-users
mailing list