We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

sK1 Project: Past, Present and Future

00:00

Formal Metadata

Title
sK1 Project: Past, Present and Future
Title of Series
Part Number
27
Number of Parts
46
Author
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The project was started in 2003 as a Sketch fork. Since that time sK1 became an awardwinning Open Source application and supports a lot of unique and professional publishing features. This year is a serious milestone in project development – global refactoring, multiplatform versions etc.
Keywords
6
Thumbnail
14:45
42
Thumbnail
11:09
45
Thumbnail
17:06
Computer programmingImage registrationComputer hardwareCartesian coordinate systemPresentation of a groupTranslation (relic)Workstation <Musikinstrument>Category of beingInternetworkingLine (geometry)CASE <Informatik>Lecture/Conference
Execution unitResultantGraphical user interfaceCartesian coordinate systemFile formatXMLUML
ProteinUser interfaceNumberCodeLine (geometry)Formal languageGraphical user interfaceRevision controlComputing platformImplementationExecution unitBeat (acoustics)
Computing platformNatural languageFormal languageResultantExecution unitMultimediaGodTask (computing)User interfaceCategory of beingPresentation of a groupSoftware maintenanceData miningCodeMereologyStrategy gamePurchasingDistribution (mathematics)UML
Continuous integrationWebsiteServer (computing)ResultantMathematicsComputer hardwareCellular automatonPoint (geometry)Error messageWeightProcess (computing)Position operatorBinary codeLecture/Conference
Medical imagingGraph coloringMereologyCartesian coordinate systemUser interfaceFlow separationSet (mathematics)Natural numberPower (physics)Software developerAdditionFormal languageTemplate (C++)Computing platformData structureComputer fontWindows RegistryProbability density functionVector spaceColor managementRight angleColor spaceLocal ringCode refactoringComputer fileMoment (mathematics)Descriptive statisticsCross-platformGUI widgetRevision controlLipschitz-StetigkeitComplete metric spaceTranslation (relic)Context awarenessRaster graphicsInstallation artUniform resource locatorINTEGRALFile formatScripting languageControl flowCollaborationismSingle-precision floating-point formatProduct (business)Decision theoryPhysical systemFactory (trading post)BitMomentumPrisoner's dilemmaEmbedded systemInternetworkingQuantumUsabilityData managementDuality (mathematics)Workstation <Musikinstrument>Execution unitExpert systemBinary multiplierBasis <Mathematik>Library (computing)System callInferenceMappingMultiplication signFood energyEndliche ModelltheorieTouchscreen
Process (computing)DistanceSoftware developerLecture/Conference
User interfaceExecution unitComputing platformCondition numberInversion (music)MacOS XLecture/Conference
PlastikkarteResolvent formalismSoftware testingMomentumVector graphicsFile formatSystem callProbability density functionVector spaceCode refactoringSoftwareScalabilityElectric generatorHeat transferGradientSoftware developerOpen sourceProduct (business)ResultantCollaborationismoutputDivisorExpert systemElectronic mailing listFood energyRight angle
Programming languageMedical imaging2 (number)Extension (kinesiology)Matrix (mathematics)BitLibrary (computing)Raster graphicsFilter <Stochastik>PixelWeightUser interfaceKeyboard shortcutArtistic renderingImage processingBlock (periodic table)Limit (category theory)Goodness of fitProcess (computing)File formatDivisorMappingMathematicsElectronic mailing listSoftware maintenanceNumberStudent's t-testRight angleLecture/Conference
Transcript: English(auto-generated)
The SQ1 project contains two programs. It's SQ1 registration program and UNIConverter graphics translation. UNIConverter is command line application, so I will not show you this application. But unfortunately, SQ1 I cannot demonstrate
because I have a problem with proprietary hardware. The project has started as a sketch cancel fork in 2003.
Sketch and cancel is an old project, very old project and have a long history. But unfortunately, this project was frozen in 2006.
Therefore, on next year, our project presents our application on LGM 2007 in Montreal, Canada. The unacquired feature of our project was CorelDRAW impetra formats.
Of course, this feature was interested by InScape and Squeebus, so as a result of LGM, we have started another project, UNIConverter. UNIConverter is a SQ1 without your graphic user interface.
It's a simple scheme, how we create UNIConverter project. We just copied SQ1 code and remove all code related with graphic user interface. On the same, it's very simple,
but actually, it's not was a simple issue because InScape asked for UNIConverter protein on Windows platform because a lot of InScape users use Windows version.
There is a myth about that our project is pure Python implementation. It's really wrong because recently we have calculate a number of Python lines in our project and we found that 30% of code is a C language.
So our project cannot be named as a pure Python project and it have it dependent on platform issues. Therefore, porting UNIConverter on Windows platform
was not a simple issue and we have simplified many tasks during this porting. But such strategy quickly got good results.
Users start using UNIConverter in InScape. Also, after that, scribbles start using UNIConverter for code drive in purchase and therefore, UNIConverter has a part of all main
distributives of Linux. After that, SQ1 got a lot of alerts and UNIConverter too. Last alert we got on Trafiz Doulibre 2009
in multimedia category. So what do we have at present? The prices which we got on Trafiz Doulibre we usually spent on project hardware.
We bought project blade server for builds and so we got project continuous integration. That is project builds every night
and if any changes in repository, project go on rebuild and if we found any problem, any errors, we can quickly fix it. So we got more solid, more stable applications
and as a result was a daily banner is built. That is we go to every day new RPM and DAP packages for our project. We have uploaded SQ1 pre-release RPMs
on our project site and found that it's very popular. From February to May, approximately, 30,000 SQ1 pre-release downloads. So application is very popular but it's only pure Linux application on this moment.
In this year, SQ1 project was sponsored by Shin Kwan-sik from South Korea and this sponsoring has accelerated our development. We have completed global project refactoring and split our application on several packages.
Before this, we have two packages, SQ1 and UNIConverter. Now we have four packages. SQ1 and UNIConverter now have common package, SQ1 LIPS, which contains font engine, model, importer, exporter and other Python packages
which is common for SQ1 and UNIConverter. Often we hear that people say, you specially break UNIConverter development to provide for SQ1 more powerful, more modern importers. It was incorrect issue because we cannot import
in all features from SQ1 to UNIConverter. Do it in multi-platform release of UNIConverter. Now, SQ1 LIPS is multi-platform package and allow, apply all features of SQ1 importers
to UNIConverter. So, in SKIPs, Kribos and other application which use UNIConverter have the same importers and exporters as they use SQ1. That is the most popular importer is Coral Drove format importer. So, if you use latest UNIConverter,
you have most powerful import of Coral Drove importers. That is short description of SQ1 LIPS structure
and we skip this. SQ1 is the car is a package for multi-platform widget set. It's another part of our development. We are going to port SQ1 on Windows and Mac OS 6 platform.
So, widget set should be multi-platform and have the same look and feel as a current platform. And what's new in SQ1 we have now? First of all, we have additional color spaces.
It's a lab, gray skull, special registry black. It's a part of spot colors. So, SQ1 have the same color management structure as Adobe products.
Also, we have implemented transparent bitmaps like RGBR and SMIC-R bitmaps. And SQ1 LIPS now contains our PDF generator
which supports PDF 1.5, 1.7 versions. And right in Brazil, we have finished project localization.
We have added complete translation on Russian and Ukrainian's nature because it's our native languages. Also, we have added templates for nine other languages.
So, anybody who interested in collaboration with our project are welcome to translate on your native languages. We have templates for German, Portuguese, Italian, French, and other locators. If your locators, there is no in our power directory,
you can add your locators and all. As I said before, multi-platform application is the main development vector for SQ1.
We are going after LGM announcing pre-release 2 for SQ1 because we cannot finish all issues from our roadmap. But at the same time, we are going to release UniConverter 1.1.5 which contain all described
before the features. That is powerful color management, font and design, up to date importing exporters. Also, UniConverter will contain advanced Windows features.
Features. Explorer, Windows Explorer integration using context right mouse click on the files. This will be standalone application. Windows users doesn't like installing several packages. So, we have prepared standalone application
which doesn't require additional installation of Python, Python image library, and so on. So, this will be a single MSI installer. And also, this installer will contain Python script for Inkscape, okay?
I'm finished. And what's planned in future? At first, we are going to switch on agile development process. It means that we will release, we will have shorter distance between releases
and this will allow us improving user features support. Requested features from users.
Quick support of requesting features from users, sorry. And also, in nearest feature, we are planning SQL inversion for Windows and Mac OS X platform. UniConverter in future will go to refactored
call drive in practice. This feature is requested by our sponsoring and also they requested commercial grade PDF exporter. I hope PDF exporter will resolve
old issue in Inkscape concerning PDF generation with smart callers. But of course, this issue should be discussed in Inkscape with Inkscape developers. Also, another interesting issue which was requested by our sponsors
is CDER exporter that is writing in native CDER format. It's not a simple test because there is no such software which write to these formats. But it's very important issue because CorelDRAW relatively isolated from other software.
CorelDRAW has poor impetus of Adobe illustration formats. And you cannot transfer sneak containing graphics from open source software to CorelDRAW.
Only one format, CorelDRAW, will support very relatively good. It's a scalable vector graphics. But if you export in scalable vector graphics, you lost all sneak-related callers, only RGB callers. It's very important issue for prepares
because RGB callers could produce a lot of problem in production. So, thank you for your attention.
So, I think we take two questions. Is there any questions? Not right now? Well, Igor will, ah, a question. You know what it means.
So, I've heard you're using Python imaging library, P-I-L, that's right. So, what do you think of the library? Because I've had the impression it's not,
it's a bit limited compared to ImageMagick and these libraries which are available for other programming languages. The Python bindings aren't very good. And they generally P-I-L as suggested, but it's not right. So, your question's about how we use Python image library.
Python image library we use only for loading and saving restore graphics. But internally, in SQ1, we don't use Python image
library block for image processing. Because this will break rendering and therefore we use our own internal format for bitmaps
to accelerate rendering of large and heavy weight bitmaps. So, Python image library features is not important for us. Okay, thank you.
Or we can bind into ImageMagick and pass our internal data to ImageMagick to process using ImageMagick or GraphicsMagick filters and so on. So, Python image library is not a limitation for our project.
But it's very good Python package for image processing, at least for starters. Okay, thank you. There's a second question and last question here. A follow up. Yeah, about Python image manipulation. There was, I think there still is, a Python interface to ImageMagick,
but I think it's been unmaintained. And Python image library is actually, well, like we said, decent for starters. But if you want to do some heavy image processing, it will require some fast matrix processing. So, you can try NumPy and NumericPy along with ImageMagick. But if you're in it for the speed,
then probably you really need to look into C extensions and other kinds of processing, all the pixel matrix data. Other than that, PIL is actually nice. Thank you, Ricardo. Thank you, Igor.