QtMof/QtUml: XMI serialization and metamodel plugins January 21, 2013
Posted by Sandro Andrade in planetkde-sandroandrade, planetqt-sandroandrade.1 comment so far
Hi there,
A lot has happening since my last post about QtMof/QtUml - a Qt5 add-on module devoted to (meta-)modeling and model-driven support in Qt (currently in Qt Playground). Auto-generation of meta-models has been further improved, making of use Qt5′s new features for metatypes, XMI serialization is already in place even though not all specified configuration parameters are currently supported by now. In addition, QtUmlEditor example has been a full testbed for QtMof/QtUml and can probably be useful as a working application afterwards.
Meta-models (like MOF and UML) are now implemented as Qt plugins. That enables editor (and XMI serializer) to be fully independent from modeling language and also sets the stage to deal with user-defined meta-models. We are currently implementing the OCL (Object Constraint Language) parser which will allow users to define and execute ‘sanity checks’ and conformance rules on models. That will also enhance auto-generation of meta-models since a lot of operations and derived properties can indeed by specified in OCL (as already happen in Uml meta-model).
How to try it !
- From sources: http://qt.gitorious.org/qtplayground/qtmof
- openSUSE repositories: http://download.opensuse.org/repositories/home:/sandroandrade/
- ArchLinux: you can build it from AUR (yaourt -S qtumleditor) or download and install the following packages (OBS-generated Arch repositories are slightly broken by now):
- Windows x86_64 package: wiki.ifba.edu.br/qtumleditor/qtumleditor.rar
Contribute !
As usual, any help with testing, developing, and reviewing is quite welcome
Maybe we can expect some model-driven features in QtCreator and KDevelop in a near future ?
See you …
Call for arms: QtMof/QtUml December 11, 2012
Posted by Sandro Andrade in planetkde-sandroandrade, planetqt-sandroandrade.3 comments
Hi planet,
As roughly mentioned in a previous post, in last two months I’ve been working on a Qt5-based implementation of OMG’s MOF (Meta Object Facility) and UML (Unified Modeling Language) specifications. For those of you who are more familiar with a user-perspective view of UML, it’s worth mention that UML (and your defining metalanguage, MOF) provides a powerful infrastructure which enables, for example, programmatic handling of models, early analysis of architectural models, effective middleware/framework-driven artifact generation, use of deployable models in run-time, and so on. A considerable amount of work has been done towards the development of high-quality tools which leverage the use of models in software development processes. Efforts like the Eclipse Modeling Framework have been setting the stage for a number of plugins, environments, or even tailored Eclipse versions (Eclipse Modeling Project), which rely on modeling features to provide a complete toolset for model-driven engineering. QtMof/QtUml aim at bringing such features to the Qt5 world.
QtMof/QtUml rationale has been driven by the following desired properties:
- We should support automatic code generation as much as possible. Only 8.17% of UML 2.4.1 metamodel properties are declared as ‘derived’ (and not derived unions), which prevent automatic code generation. For those properties, the specification provide the guidelines for implementation but maybe some of them could be automatically derived from their OCL specifications. QtMof/QtUml already provides a mapping from UML to Qt5 by first generating a more Qt-ish representation of a UML model (XQuery-based xmi to qtxmi conversion) and then generating source code from a couple of well-design templates. Such infrastructure has successfully been used to generate the initial skeletons of QtMof/QtUml and can also be used to convert user-defined UML models into Qt5 source code. As a consequence, we hopefully end up with a faithful implementation of OMG’s standardized metamodels.
- We should provide a metamodel-agnostic tool for editing, analysing, and converting any MOF-based model. By having no compile-time commitments with any specific MOF-based metamodel, such tool would be also able to handle other MOF-based metamodels (such as CWM) or even user-defined meta-models.
- QtMof/QtUml should provide a powerful modeling notation for early analysis of MOF-based models. A number of preset scripts for checking well-formed rules should be available and specific scripts may be defined by the user. OCL is a potential candidate as script language, but XQuery or even QtScript can also be considered. That would make possible, for example, analysis of conformance to architectural styles/patterns, continuously integrated models, and so on.
- A flexible mechanism for mapping of models into middleware/framework-specific artifacts should also be provided. A uml2qt mapping is already in place, but new ones should be easily defined.
Getting right down to the business instead of talking on abstractions
that’s what a QtUml application currently looks like:
QWrappedObjectPointer<QModel> model = new QModel;
model->setName("MyModel");
QWrappedObjectPointer<QPackage> package = new QPackage;
package->setName("Package1");
QWrappedObjectPointer<QPrimitiveType> primitiveType = new QPrimitiveType;
primitiveType->setName("String");
QWrappedObjectPointer<QEnumeration> enumeration = new QEnumeration;
enumeration->setName("DirectionKind");
QWrappedObjectPointer<QEnumerationLiteral> directionIn = new QEnumerationLiteral;
directionIn->setName("DirectionIn");
enumeration->addOwnedLiteral(directionIn);
QWrappedObjectPointer<QClass> class_ = new QClass;
class_->setName("Student");
class_->setAbstract(false);
package->addOwnedType(enumeration);
package->addOwnedType(class_);
model->addPackagedElement(package);
model->addOwnedType(primitiveType);
// query model or perform 'well-formed/sanity/architectural conformance' checks
delete model.data();
Let’s shed some light on the code above. First of all, UML 2.4.1 metamodel specifies a set of 242 metaclasses (193 out of those are concrete metaclasses) with a couple of dreaded diamonds. In order to overcome the inherent QObject disabilities to cope with virtual inheritance, QtMof/QtUml provides (and relies on) the QtWrappedObjects library: an easy-to-use Qt5-based implementation of “smart delegators” and “delegation-based multiple inheritance”. All behind-the-scene hard work is handled by a new smart pointer (QWrappedObjectPointer) and a new casting operator (qwrapperobject_cast). Secondly, model elements can easily be imported from other (meta)models instead of explicitly instantiating them by “new QPrimitiveType“, for example (use QElementImport/QPackageImport for that purpose). Thirdly, an element takes ownership of any (multi-valued or single-valued) UML property which was declared with “aggregate = composite”, so that a single “delete model.data()” do the whole work.
Even though not 100% implemented, UML Profiles and profile applications may currently be defined programmatically:
// Create a profile
QWrappedObjectPointer<QProfile> profile = new QProfile;
profile->setName("MyProfile");
// Add a stereotype to profile
QWrappedObjectPointer<QStereotype> stereotype = new QStereotype;
stereotype->setName("MyStereotype");
profile->addPackagedElement(stereotype);
// Show profile's owned stereotypes
QScopedPointer<QStereotypeList> ownedStereotypes (profile->ownedStereotypes());
qDebug() << "Owned stereotypes:";
foreach (QStereotype *ownedStereotype, *ownedStereotypes)
qDebug() << " " << ownedStereotype->name();
// Adding attribute to stereotype
QWrappedObjectPointer<QPrimitiveType> booleanPrimitiveType = new QPrimitiveType;
booleanPrimitiveType->setName("boolean");
QWrappedObjectPointer<QProperty> property = new QProperty;
property->setName("isTransient");
property->setType(booleanPrimitiveType);
stereotype->addOwnedAttribute(property);
The following lines apply an existing UML profile to a package:
// Create UML meta-model element import
QWrappedObjectPointer<QElementImport> elementImport = new QElementImport;
elementImport->setImportedElement(umlModel->packagedElements()->toList().first());
// Add meta-class reference to profile
profile->addMetaclassReference(elementImport);
profile->addOwnedType(booleanPrimitiveType);
// Create extension
QWrappedObjectPointer<QExtension> extension = new QExtension;
extension->setName("class_stereotype");
QWrappedObjectPointer<QProperty> stereotypeProperty = new QProperty;
stereotypeProperty->setName("base_class");
stereotypeProperty->setType(class_);
QWrappedObjectPointer<QExtensionEnd> extensionEnd = new QExtensionEnd;
extensionEnd->setName("extension_stereotype");
extensionEnd->setType(stereotype);
extension->addMemberEnd(stereotypeProperty);
extension->addMemberEnd(extensionEnd);
extension->setOwnedEnd(extensionEnd);
stereotype->addOwnedAttribute(stereotypeProperty);
Of course, a helper function or a QtScript can be created to provide a simpler API for creating and applying profiles. As for the editor, current status is still far from usable but it already works as a proof-of-concept for a metamodel-agnostic tool (it links only against QtWrappedObjects):
Potential future uses of QtMof/QtUml include: development of model-driven mechanisms in QtCreator/KDevelop, full UML2.4.1/2.5 support in Umbrello, effective Qt code generation from UML models, and so on.
So, if you like modeling and would like to do some code reviewing and/or help hacking QtMof/QtUml you are quite welcome
. You can grab QtMof/QtUml source code at Qt Playground Repository. Alternatively, if you run openSUSE, there is an OBS repository which provides QtMof/QtUml binaries. In order to use them you must include Qt5 and QtMof/QtUml repositories and install the required packages. The libQtMof-devel package provide the examples for profiles and the current editor:
zypper ar -f http://download.opensuse.org/repositories/KDE:/Qt50/openSUSE_12.2 openSUSE-12.2-Qt5 zypper ar -f http://download.opensuse.org/repositories/home:sandroandrade/openSUSE_12.2 openSUSE-12.2-QtMof zypper ref zypper in libQtUml-devel
See you …
FISL13 and Release Party Salvador August 8, 2012
Posted by Sandro Andrade in planetkde-sandroandrade.3 comments
FISL13 is over and it’s always hard to say goodbye to dear friends who make up the KDE Brazil. But certainly the one we’ll miss most about is our beloved Konqi who invaded FISL this year. He’s right now long hibernating at Henrique & Camila’s place (thank you guys, you’re amazing) and recharging his energies for Latinoware 2012, to take place in late October. We had this year Sebas joining us for nice KDE conversations, some beers, and spreading the use of Plasma Active. We’ve got some new people interesting in artwork (we have some amazing screencasts on Krita in action, where are they Tomaz ?) and we managed to have some t-shirts and konqi pins at KDE booth.
Last Saturday we had the release party for 4.9 deliverables here in Salvador – Bahia. Ekaty guys were there trying to justify the reason for still not having 4.9 in their repos
and Luis always elaborating his ideas
See you …
LaKademy, Hierarchical Edge Bundles, and KDevelop May 6, 2012
Posted by Sandro Andrade in planetkde-sandroandrade.8 comments
Hi there,
Yes, LaKademy is over. They were days of hard work, meeting old and new friends, and having much fun while realizing how far those crazy guy’s imagination can go. I’d say it was a great summit and, when compared to first (and only one so far) Akademy-BR carried out in 2010, it’s a clear evidence we are getting there in the effort of building a strong and mature KDE community in Latin America. Henrique and Camila managed to book a lovely hostel in Porto Alegre and, even though I usually don’t get used to traditional food in Rio Grande do Sul, we were all nicely accommodated through these days. Sorry for haven’t posted before, I’m rather taking an “all-in-one” approach to report LaKademy outcomes.
LaKademy brought together 19 participants, including developers, translators, designers, and promo people. Trying to keep this post simple and concise, I’ll briefly enumerate major LaKademy outcomes related to artwork and localization, promo, and developing. In particular, my own developing outcomes are presented later.
Artwork and Localization Outcomes
It seems that Tomaz has unintentionally taken over the task of bringing new designers for KDE here in Brazil. The difficulty arises from the proprietary background designers usually possess and then excuses of reduced productivity are a major obstacle to migrate to open source tools. At LaKademy, Tomaz, Manu, and Fabiana discussed current artwork needs of KDE and had a conference call with Nuno, trying to clarify tool differences and line up goals. Actually, I still notice that designers are maybe the most difficult people to be aware of real underpinnings of free software contribution and we haven’t found the means to provide that to them yet. Rocs’ “weird lemon add node icon”
is still there but hopefully some artwork fresh blood will help us to get rid of it.
Aracele, Diogo, Camila, and Henrique have been working hard :) in userbase and techbase localization. Techbase pt_BR localization coverage run from 6% to 30% by the end of LaKademy.
Promo Outcomes
The promo meeting at LaKademy took an entire morning with discussion topics like: lessons learned from previous promo efforts, KDE Brazil/LatAm web presence, upcoming FLOSS conferences, and promo material manufacturing. Expected short-term accomplishments include:
- KDE Brazil|Argentina|Peru ?|LatAm web site (re)design. We aren’t sure about the need for a KDE LatAm web site (that discussion is going to continue on kde-latam mailing list) but we all agree on a re-design of KDE Brazil website. I’ve just noticed that ar.kde.org redirects to a drupal-based website.
- KDE LatAm Webcasts. Chicão has already pushed some tutoriais about making video tutorials about KDE.
- “KDE Masters of Latin-America” (TM by Guilhermo Amaral)
Podcasts - Git repository for standard KDE kick-ass presentations (btw, how to create translatable LibreOffice documents ?)
- “Myths and Facts about KDE Technology” marketing campaign. The intended audience is those people who still have a KDE Plasma 4.0-4.2 conceiving and haven’t given it another try since then. Our participation in FLISOL, while at LaKademy, have confirmed that we need such campaign.
- Upcoming FLOSS conferences in Latin-America. A bunch of FLOSS conferences (Congresso da SBC/ENECOMP, FISL, Latinoware, GNUGraph, FSLDC, Hack’nRio, LinuxWeek(Peru), CaFeCon(Argentina), Software Freedom Day, Campus Party Peru, Campus Party Pernambuco) are going to happen and we need to articulate the KDE participation in those.
- In particular, we considered that a “KDE Day” (in a format similar to FLISOL) taking place simultaneously in various Latin-America cities might be a fruitful marketing strategy, even though with minimal technical outcomes. Initial tentative date is 27th October, just one week after Latinoware (so that we could do some announcement there).
- Quite minimal, enduser-oriented KDE portal. Something like descubra.kde.org (discover.kde.org) would provide, with a minimal simplified mapsite, the general reasons to use KDE and how to get it running in an easy way. That would support a KDE promotion effort in those fields aren’t related to technology at all. We see a huge potential of KDE adoption in Latin America and maybe we are driven our efforts to a most restricted audience.
Developing Outcomes
A number of developers were in LaKademy making improvements in projects like Rocs, KMyMoney, Plasma Network Management, Cantor, Digikam, KDevelop, Amarok, Plasma Active, and Telepathy. We had roughly 18 bugs fixed in Rocs by Tomaz and Wagner, Vitor has been working on a kipi plugin, Ronny worked in ports of KDE Games to Qt Quick, Arthur and Lamarque managed to have a working pilot for a new QML-based Plasma Network Management (part of his GSoC project), Filipe has started a new Python backend for Cantor, Alvaro has fixed bugs in KMyMoney, Lucas is finding his way towards a GSoC project in Amarok, Luis has made some improvements in Spinet architecture and GUI, and Chicao (who unfortunately couldn’t attend LaKademy) is already working on his GSoC project in Krita. As for myself, I dedicate my LaKademy attendance also to have hierarchical edge bundles working in KDevelop. Keep reading …
Compound Graphs and Hierarchical Edge Bundles
Information/Software Visualization techniques has been providing increasingly powerful paradigms for understanding huge amount of data and that certainly would help to support more effectively software design and evolution activities. In particular, a number of techniques for visualizing tree structures have been proposed in last years:
An even more interesting scenario is the use of compound graphs to represent adjacency relationships (between tree’s leaves) along with hierarchical relationships already provided by trees. One should consider, for example, professors hierarchically grouped by departments and also having adjacency relationships when co-authoring a paper or co-mentoring a student. In a software development project, that would easily be represented by hierarchically grouped artifact containments (like namespaces, classes, functions, etc) and some dependency relationship (for example, uses) between classes or functions. The use of arrows to represent adjacency relationship directions would produce more visual clutter so edges are drawn from source (green) to target (red).
A common issue when visualizing such compound structures is the visual clutter you rapidly come up even for small sized graphs. A pretty interesting paper by Danny Holten, “Hierarchical Edge Bundles: Visualization of Adjacency Relations in Hierarchical Data”, proposes a strategy for compound graph visualization which reduces visual clutter while still highligths implicit adjacencies in higher level containments:
So at the end of LaKademy I wanted to have at least the radial layout with edge bundles running in KDevelop.
libgraphicstreeview
Hierarchical edge bundles in mirrored radial tree view (rightmost view above) were implemented in a separated library so that other applications could use it for visualizing tree data other than KDevelop projects. Classes were designed to easily support the future inclusion of new tree layouts while reusing the edge bundle generation part. The RadialGraphicsTreeView class (first implementation of IGraphicsCompoundTreeView) works with any tree-based Qt model (representing the hierarchical model) and accepts a second table-based Qt model representing the adjacency relations. Any tree-based and table-based Qt models representing hierarchical and adjacency relations, respectively, should be correctly visualized by libgraphicstreeview. A number of parameters (node radius, inter level spacing, inter span spacing, bundling strength, mirroring radius increment, etc) can be used to tailor the visualization for specific purposes.
libgraphicstreeview provides a demo application which visualizes a file system Qt model populated with a dummy adjacency model and allows the user to play with visualization parameters:
Check out libgraphicstreeview demo app video
Whilst already functional, some improvements and new features must still be done in libgraphicsview:
- More realistic implementation of interpolated B-splines. Current implementation is based on Qt’s quad and cubic splines but knot vectors should be used to support smoother and more bundled adjacency edges.
- Background generation of graph layout and edge bundles. QtConcurrent and mapreduce would be a potential support technology for that.
- Filtering of adjacency edges by picking them with a linear selection.
- General profiling and optimization.
KDevelop, Control Flow Graphs, and Hierarchical Edge Bundles
Some years ago I developed the control flow graph plugin for KDevelop. It’s still in playground and, although functional, it suffers from the following drawbacks (part of the reasons for still being in playground):
- Actually it doesn’t provide control flow graphs in its original definition. It rather provides a consolidated control flow graph at the least abstraction level supported by DU-chain.
- It doesn’t support efficient visual escalability. We couldn’t represent large control flow graphs in a restricted region of screen.
- It needs a major refactoring to separate some concerns and make evolution easier.
- All its cognitive information about a KDevelop project can also be carried out by a mirrored radial with hierarchical edge bundles while still solving the previously cited issues. Actually I still need further elaborate that to decide about the future of control flow graphs in KDevelop.
Hierarchical edge bundles in KDevelop already represents the hierarchical project structure but it’s still using a dummy model for adjacency relations. The hierarchical model is quite similar to the ClassModel class used in classbrowser plugin, but (at least by now) there is no need to retrieve information about attributes, and base/derived classes. I’m not an expert in KDevelop architecture but it seems plugins aren’t able to communicate other than by means of KDevIDEExtension. Maybe Aleix or Milian could have any hint for properly sharing ClassModel.
Navigation from radial tree visualization to code still needs to be done, as well as a picking mechanism for filtering adjacency edges of interest. Checkout the following video showing libgraphicstreeview as a KDevelop plugin.
Several future improvements could also be done, such as the assignment of metrics (for example, the CK metrics suite) to visual attributes like color, opacity, size, speed of animation, etc. Evolution information also provides some interesting information about software architecture and software development processes.
Check out KDevelop’s bundled tree view plugin video
I’m watching myself for having a couple hours per week to improve libgraphicstreeview and KDevelop’s bundled tree view. Of course, any help is quite appreciated since I’m still bogged down with PhD duties. You can git clone source code for libgraphicstreeview and KDevelop plugin at:
git@git.kde.org:scratch/sandroandrade/libgraphicstreeview.git
git@git.kde.org:scratch/sandroandrade/kdev-bundled-tree-view.git
See you !
One week to go until LAkademy 2012 April 19, 2012
Posted by Sandro Andrade in planetkde-sandroandrade.add a comment
Hi there,
Two years ago the 1st Akademy-BR took place at Praia do Forte (BA), bringing together roughly 30 KDE Brazilian contributors, from coders to promo and translation. In that time, new regional KDE groups in Minas Gerais, Piauí and Rio Grande do Sul had just been formed and fellows like Lamarque, Filipe, and Aracele are still rocking on KDE. Akademy-BR was a nice opportunity to meet those guys in person and try to balance our efforts in pushing KDE and Brazilian community forward. From that time till now things got somehow stabilized (actually put myself as an outlier for that statistics – PhD last year sucks
).
An early attempt to have the 2nd Akademy-BR last year in Minas Gerais couldn’t be successfully acomplished but, as a positive side-effect, that fortunately culminated in the 1st LAkademy: Latin-American KDE Summit. From 27th April to 1st May, we shall meet at Porto Alegre to evaluate our current scenario, plan our actions in 2012-2013 (in particular, I advocate we need a second LA boost like the one we had in Brazil in 2009) and, of course, hacking. KDE contributors from Argentina, Peru, and Brazil are confirmed. Many thanks to CamilaRaw and Henrique for taking care of local arrangements and KDE e.V. and Claudia in particular to support LAkademy.
Stay tuned, see you …
KDE at Latinoware 2011 October 20, 2011
Posted by Sandro Andrade in planetkde-sandroandrade.5 comments
Hi there,
It’s been a while since my last post. Just finishing some boring academic duties, I hope to be returning soon to KDE hacking again. In the meanwhile, we managed to prepare some cool stuff for KDE participation at Latinoware 2011 (Latin-American Conference on Free Software). KDE have been attending Latinoware in a more structured way since 2008. It’s the second biggest conference on Free Software in Brazil (roughly 4000 participants) and we are usually granted with enough room for talks and a cool roomy area for KDE booth arrangements.
This year we were close to my dreams’ KDE booth
. A nice KDE banner + amazing KDE 15 years t-shirts + a lot of KDE swags + big TV set to show off great KDE videos.
Latinoware 2011 has deployed an interesting technology to spread out promotional material from all booths whilst yet reducing paper consumption during the meeting. All attenders received a small device configured with their personal email addresses which could then be used to request information by putting it closer to sensors installed at booths. The desired promo stuff are then sent to the participant’s email (we were previously asked to provide all digitized material to Latinoware organizing staff).
As usual, a Call for Presentations was issued at KDE Latin-America mailing list asking for talks and short-courses proposals from KDE communities in Argentina, Chile, Peru, and others. This year, we have Juan Muguerza from KDE Argentina presenting a talk about OwnCloud. As for the KDE program at Latinoware 2011 we had yesterday a short-course about “Developing Mobile Applications with Qt” which grabbed roughly 25 participants willing to deploy Qt applications in their beloved devices. Filipe Saraiva presented a talk about KDE-Edu and tomorrow we are going to have talks about KDE 15 years, KDE Frameworks, OwnCloud and Plasma Active.
Our fellow Juan from KDE-Argentina
The Open Source Rock Festival at Latinoware Opening
So, that’s all so far. See you …
KDE 4.6 Release Party in Salvador, Brazil February 15, 2011
Posted by Sandro Andrade in planetkde-sandroandrade.1 comment so far
Hi there,
After waiting a couple of weeks until students return from vacation we finally could enjoy a nice sunset followed by some beers, acarajés, and of course celebrate our beloved newborn, talk about free software and amenities in general. The party took place at “Largo da Dinha”, neighborhood of “Rio Vermelho” – quite popular place for bohemians (only by coincidence is in the neighborhood where I live
).
A pretty nice photo from my home just before going out to the release party
Largo da Dinha – Rio Vermelho
KDE 4.6 Release Party
See you …
3rd Forum KDE Brazil: NE and LA Editions November 10, 2010
Posted by Sandro Andrade in planetkde-sandroandrade.add a comment
Hi there,
ENSL 2010 is over and if I had to pick up a word to define the general audience that would be: commitment. Almost 600 participants filled out the meeting and Forum KDE Brazil talks and all 50 places to Qt and Plasmoid Development short-courses were completely taken, some people were sitting on the floor making around 60-70 persons. It was great to see how people are increasingly getting interested in KDE, Qt/QML, and mobile development. There was also the VII Forum GNOME and we are planning some joint panel for next year’s ENSL.
We are quite glad to promote KDE at ENSL and excited about making things even better next year.
Registration
Plasmoid development short-course
Ok, cut … Right after the Northeast Edition of 3rd Forum KDE Brazil we went to Foz do Iguaçu, for the VII Latin-American Conference on Free Software, the second biggest open source conference in Brazil. After getting a 3 hours delayed flight to Curitiba I reach the hotel today at 3a.m. With just some sleeping hours we were heading to PTI (Pólo Tecnológico de Itaipú) – value for the Latinoware 2010.
As usual we plan beforehand a set of talks and short-courses to be presented at Latinoware and again we put it under the KDE Forum Brazil umbrella, this time as the Latin-American Edition. I’ve heard that Ronny (KDE Peru) had some complications to get his flight to Brazil but hopefully he is coming tomorrow early morning and we’ll try to re-schedule his “3D Development with Qt and KDE” talk.
In the last minute, we’re notified about an available KDE booth at the meeting, not as fully decorated as the last year one but at least we are able to gather people together to show off the coolest KDE features. So, I’m here in the very first day of Latinoware, we already had the Tomaz talk about agile game development with Qt, the Adriano’s one about rich interfaces for mobile and right now I’m going to Camila talk about contributing to KDE.
See you,
KDE booth at Latinoware 2010
3rd Forum KDE Brazil: going country-wide November 4, 2010
Posted by Sandro Andrade in planetkde-sandroandrade.add a comment
Hello everyone,
It’s been awhile since last post. I’ve been really bogged down in recent weeks in light of my Ph.D. research, but I can’t stay long without gearing my head. This year has been quite fruitful for KDE Brazil in terms of consolidating our five local groups and having them starting their own efforts to show off all the beauty and glory of KDE (hehe). After the birth of our beloved Akademy-BR (last April in Salvador-BA) and with the traditional Forum KDE Brazil in its 3rd edition at FISL 2010 (last July in Porto Alegre-RS), we articulated a more integrated and stronger approach for the 4th Brazilian Northeastern Free Software Meeting (ENSL) and 7th Latinoware. After getting dizzy looking for a name and format for the KDE presence in such events (including the terrific Aracele’s suggestion: 1st FUCK
, something like 1st Forum of Users and Contributors of KDE – adapted from portuguese) we ended up opting to strengthen our Forum KDE Brazil overarching brand by localizing it in specialized editions. While Akademy-BR goals include bringing together contributors from all over the country to discuss topics and have some sprint-like atmosphere, Forum KDE Brazil has been the major opportunity to spread the hot topics and trends of KDE and also get some feedback from the general audience. For that purpose we are about to have the 3rd Forum KDE Brazil – Northeastern Edition at ENSL and 3rd Forum KDE Brazil – Latin-American Edition at Latinoware. Yes, three gatherings in three very strategic regions of Brazil.
ENSL is the largest free software meeting in northeastern Brazil, integrating states with very active communities devoted to KDE, Gnome, ArchLinux, digital art, among others. It grew up from the Free Software Festival of Bahia – a smaller meeting started in 2003 and in which I was presenting a short-course about Qt(v2.?)/KDevelop3. Nowadays ENSL receives speakers from all over the country (and some from overseas this year) and the organizing team expects roughly 500-600 attenders in the two days of event. Besides the main track for general talks, ENSL encompasses our two-day Forum KDE Brazil and also the 7th Forum Gnome and that’s of course great (any similarities … mere coincidence)
.
I met Lamarque and Amanda in the plane from Salvador and we arrived in Natal about 2 p.m. Some of the other guys were already here: Filipe, Aracele e Chicão and we should meet Helio, Paulo Rômulo, and Anselmo tomorrow in the venue. ENSL has yielded a great expectation in the local free software community as we can see in ENSL profiles at Identica and Twitter. In the first day of ENSL we are going to have talks about the KDE community, translation activities, development, KDE and Summer of Code, and KDE development for mobile platforms. The second day is devoted to short-courses on Qt, Plasma widgets development, and D-Bus. In the closing we’ll raffle some swags probably by asking some curious questions about KDE
With no time to breathe, three days after ENSL is over, we head to Foz do Iguaçu to the 7th Latin-American Conference on Free Software. KDE Brazil has actively been participating in last three editions of Latinoware and we had the pleasure of having Anne-Marie and Adrian with us last year. This year we draw the first steps towards integrating the KDE communities in Latin America by having Ronny Aizcorbe, from Peru, presenting a talk about 3D Development with Qt and KDE. Helio has been in Chile some weeks ago for a KDE talk in their major free software conference and we hope to have a wider participation from Argentina, Peru and Chile next year.
Further information (and some pics of course) about the Day 1 of KDE in ENSL tomorrow …
See you …

and
KDE in FISL 11 August 1, 2010
Posted by Sandro Andrade in planetkde-sandroandrade.1 comment so far
Hi there,
As usual the International Forum on Free Software (FISL) took place in Porto Alegre from 21-24 July and gathered together roughly 7500 attendees (students, enthusiasts, entrepreneurs, and govern representatives) from 16 countries. About 500 activities (talks, short-courses, and community meetings), 250 exhibitors, and an organizing team with 376 persons (including volunteers, SoftwareLivre Association staff, and hired press office and services) made FISL 11 one of the largest Free Software events in South America. FISL is always a great opportunity to meet new people and widely disseminate what is happening in the KDE world.
We (KDE Brasil) usually coordinate in advance about which talk proposals we want to submit, trying to come up with interesting topics on where KDE is heading to and some roadmap to guide potential new contributors and show off why we are a pretty amazing community
We usually got about half of the proposals accepted for presentation, activities in FISL program range from highly geek topics with non-sense titles like “The ant meets the elephant, or something like that”
to educational, bussiness-oriented, and government related talks. So, every year we get a felling of not enough room for KDE at FISL but we’ll always be there
, promoting our community and inviting fresh blood to join the game.
Basically we had four KDE-related talks and meetings this year, in addition to the already expected top-talks about Qt from the Trolls and INdT guys. For some still unknown reason
our talks are always scheduled to some inconvenient slots like 9 a.m. in the day after the FISL party
or in parallel with THE most expected speaker but … yes … So, in a brief:
- KDE Lovelace: free software by women. Unfortunately the guys from KDE-MG (Amanda, Lamarque, Felipe, Anderson e Daniel) couldn’t attend FISL this year. Amanda would present this talk with Camila but Tomaz ended up helping her in the last minute. There were three talks about women in free software at FISL 11, the biggest one – in the same slot of ours – brought together 200 participants. Damn
Sounds like a plan a unified big women meeting next year. - 3rd Brazilian KDE Users and Developers Meeting. That’s becoming a somehow “traditional” event at FISL and it’s a nice opportunity to provide recent news to general audience and receive some feedback about how users and developers have experienced KDE SC. In spite of the early morning assigned slot it was a fruitful meeting mainly because a new KDE regional group should come soon, organized by Domingos. Furthermore, it was a chance to promote the “Join the Game” campaign, to spread the technical advances, and say “join us”, we are a great and enjoyable family.
- Develop your JavaScript Plasmoid in 20 Minutes. I submitted this proposal some minutes before FISL deadline. My other submition about “KDE Contribution Roadmap and Opportunities” wasn’t accepted but anyway I got a chance to fish that “I-dont-like-C++-even-with-Qt” developer or even those with no technical background who would find in JavaScript their way to KDE contribution. I think it somehow worked despite of happening again 9 a.m.
, people were impressed with how easy one could bring their beloved Plasma application to life with fancy animations in 4.5
- 2nd Brazilian Google Summer of Code Students Meeting. Even though it isn’t a KDE dedicated event I wanted to organize this second GSoC meeting at FISL motivated by the great audience responsiveness last year. It’s been a forum to share our experiences, tell people “You can !”, and, of course, talk a little bit about Season of KDE and our achievements along the last years. It’s pretty cool to coordinate with previously unknown GSoC-partners and provide a very pleasant meeting. Next year, though, I should delegate that meeting coordination to someone else and really focus on marketing KDE. Every year we get more expertise about FISL, how it works and try to adapt our approach to a more efficient one.
I’m really sorry, no good enough pictures about that. I was virtually exhausted taking care of such meetings, talks, promo stuff, etc. Ok, our booth. Larger booth areas at FISL are usually quite expensive and we have been using the free user groups area for the KDE booth in last years. It’s a cool area that can bring good results if well spent. We haven’t registered KDE Brasil as a user group this year since Thiago has kindly offered a joint booth for Qt and KDE and that would be great. A very large Qt poster and TV have occupied the whole booth though and we luckly could find an empty area to hang up our banner. Thiago, thanks again dude !
It’s been a busy time since I arrived from Tampere. After applying final exams to my students and publishing the scores, I’ve just had time to translate the “Join the Game” banner and have it printed out a couple of hours before a left Salvador.
Join the Game banner (pt-BR)
I really love it, colors and design are amazing even though some people took some time to realize that was the KDE booth. The first impression was: “Which game ? Can I play here ?
” just followed by a “Ohh, I see !”. Do we need/have a pretty cool KDE general banner ? Maybe I should have fixed the new KDE Brasil logo right above the Join the Game banner (thanks Anderson from KDE-MG, you rock man !):
So … no t-shirts, stickers, leaflets this time but we are working to have this stuff easily available to the upcoming conferences. After all, the main reward to attend FISL in undoubtly to meet cool people, talk about KDE, and see at least one or two guys and girls willing to carry on the KDE flag to their new regional groups.
KDE Brasil at FISL 11
Ok, disregard the taker’s photographic skills
, from left to right: Melissa (our new friend, PhD in Maths, a very very very geek girl and KDE user
), Wagner Reck (KDE-RS) and his wife, myself, Camila (in the center), Tomaz (or part of him
in bottom), and Danielle (at right), a lovely and talented girl who made a funky brand new icon for Rocs:



























