sK1 Project: Past, Present and Future
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
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 | 10.5446/21524 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
1
2
6
13
20
28
31
32
36
39
42
43
45
00:00
Computer programmingImage registrationComputer hardwareCartesian coordinate systemPresentation of a groupTranslation (relic)Workstation <Musikinstrument>Category of beingInternetworkingLine (geometry)CASE <Informatik>Lecture/Conference
01:02
Execution unitResultantGraphical user interfaceCartesian coordinate systemFile formatXMLUML
01:44
ProteinUser interfaceNumberCodeLine (geometry)Formal languageGraphical user interfaceRevision controlComputing platformImplementationExecution unitBeat (acoustics)
02:39
Computing platformNatural languageFormal languageResultantExecution unitMultimediaGodTask (computing)User interfaceCategory of beingPresentation of a groupSoftware maintenanceData miningCodeMereologyStrategy gamePurchasingDistribution (mathematics)UML
04:09
Continuous integrationWebsiteServer (computing)ResultantMathematicsComputer hardwareCellular automatonPoint (geometry)Error messageWeightProcess (computing)Position operatorBinary codeLecture/Conference
05:25
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
11:47
Process (computing)DistanceSoftware developerLecture/Conference
12:11
User interfaceExecution unitComputing platformCondition numberInversion (music)MacOS XLecture/Conference
12:36
PlastikkarteResolvent formalismSoftware testingMomentumVector graphicsFile formatSystem callProbability density functionVector spaceCode refactoringSoftwareScalabilityElectric generatorHeat transferGradientSoftware developerOpen sourceProduct (business)ResultantCollaborationismoutputDivisorExpert systemElectronic mailing listFood energyRight angle
15:08
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)
00:00
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
00:20
because I have a problem with proprietary hardware. The project has started as a sketch cancel fork in 2003.
00:42
Sketch and cancel is an old project, very old project and have a long history. But unfortunately, this project was frozen in 2006.
01:00
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.
01:24
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.
01:44
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,
02:02
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.
02:20
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.
02:46
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
03:01
was not a simple issue and we have simplified many tasks during this porting. But such strategy quickly got good results.
03:25
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
03:47
distributives of Linux. After that, SQ1 got a lot of alerts and UNIConverter too. Last alert we got on Trafiz Doulibre 2009
04:06
in multimedia category. So what do we have at present? The prices which we got on Trafiz Doulibre we usually spent on project hardware.
04:25
We bought project blade server for builds and so we got project continuous integration. That is project builds every night
04:42
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
05:01
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
05:20
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.
05:41
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.
06:04
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
06:23
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
06:42
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
07:01
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,
07:22
you have most powerful import of Coral Drove importers. That is short description of SQ1 LIPS structure
07:44
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.
08:02
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.
08:23
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.
08:43
Also, we have implemented transparent bitmaps like RGBR and SMIC-R bitmaps. And SQ1 LIPS now contains our PDF generator
09:06
which supports PDF 1.5, 1.7 versions. And right in Brazil, we have finished project localization.
09:21
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.
09:40
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,
10:03
you can add your locators and all. As I said before, multi-platform application is the main development vector for SQ1.
10:21
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
10:42
before the features. That is powerful color management, font and design, up to date importing exporters. Also, UniConverter will contain advanced Windows features.
11:01
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
11:22
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?
11:44
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
12:05
and this will allow us improving user features support. Requested features from users.
12:21
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
12:41
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
13:01
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
13:20
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.
13:46
CorelDRAW has poor impetus of Adobe illustration formats. And you cannot transfer sneak containing graphics from open source software to CorelDRAW.
14:03
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
14:20
because RGB callers could produce a lot of problem in production. So, thank you for your attention.
14:45
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.
15:08
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,
15:21
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.
15:44
Python image library we use only for loading and saving restore graphics. But internally, in SQ1, we don't use Python image
16:01
library block for image processing. Because this will break rendering and therefore we use our own internal format for bitmaps
16:26
to accelerate rendering of large and heavy weight bitmaps. So, Python image library features is not important for us. Okay, thank you.
16:42
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.
17:00
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,
17:21
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,
17:40
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.