I forget to blog that the breeze icon set get full gnome support. You can test it with the upcomming plasma 5.8 release. Don`t forget to test the beta and fill bug report.
95% of the awesome gnome icon set adwaita are available in breeze. The missing ones I didn`t know where they were used or they are needed only in a gnome session.
Plasma open for 3rd party apps to support the best experience for the user.
secondary title: see how open source workStarting point
My first contribution to kde and breeze-icons were the mimetype icons. I’ll ask Uri Herrera for help and he get my mentor. After some iteration I come from really ugly mimetype icons to the fancy new ones.
I think they look really awesome but they had some usability issues. All background shapes are the same and the center element isn’t that visible at the initial look. But as they look awesome nobody changed something (there are a lot of icons). But from time to time I get feedback from the users via the VDG forum, bugs.kde.org or g+ that an usability improvement would be good.Improvement
But why do you want to change something that look awesome only cause of usability. The design guidelines from breeze icons say show only stuff that is importend. So have always the same background mean remove it cause it’s not importend.
And here we are. The simple paper shape were updated by different styles depending on the file type. What do you think? Usability improvement, yes or no? Did you know the file type according to the icon?
This is the first third draft of the mimetype update. I think it’s an usability improvement and it look good, but to look awesome I need the power of Open Source and the VDG. One person can make nice stuff, but work together will make your work awesome. So Alex L. and Gnastyle are now working on polishing the stuff.
Of course you can join, or you can have a look how it work to improve things. Clone the breeze-icon repositor, update them (once a day) and you will see how things change. And of course don’t forget to give feedback, cause without feedback I didn’t start this change.
At Desktop Summit 2011 in Berlin I did my first presentation on Wayland and presented the idea of Wayland to the KDE community and explained to the KDE community how we are going to port to Wayland. This year at QtCon in Berlin I was finally able to tell the KDE community that the port is finished and that our code is ready for testing.
In 2011 I used a half hour slot to mostly present the differences between X11 and Wayland and why we want Wayland. In addition I presented some of the to be expected porting steps and what we will have in the end. This year I only used a 10 min lightning talk slot to give the community an update on the work done the last year.
(Watch video on youtube, my talk starts at 15:04)
Of course the work on Wayland is not yet finished and Wayland is not yet fully ready for use. There are missing features and there must be bugs (new code base, etc.). But we are in a state to start the public beta.
What is interesting is comparing the slides from 2011 to what we have achieved. The plan presented there is to introduce “Window Manager Backends” in KWin. We wanted to identify windowing system independent areas and make our two most important classes Toplevel and Workspace X11 free and add a window manager abstraction. During the port this wasn’t really an aim, nevertheless we got there. We do have a window manager abstraction which would allow to add support for further windowing systems. Toplevel is (at runtime) X free. Workspace, though, is not yet X free, but that moved on my todo list.
Also we thoughts back in 2011 that this might be interesting for other platforms naming Android, WebOS and Microsoft Windows as examples. Android we kind of achieved by having support for Android’s hwcomposer and being able to run Wayland on top of an Android stack. Support for Android’s surfaceflinger is something we do not aim for. The example of WebOS doesn’t really fit any more as WebOS uses Wayland nowadays. And Windows is only in the area of theoretically possible (though with the new Linux support it would be interesting to try to get KWin running on it).
KWin nowadays has a platform abstraction and multiple platform plugins. This allows us to start a Wayland compositor on various software stacks. Currently we support:
- hwcomposer (through libhybris)
- Wayland (nested)
- X11 (nested)
Adding support for a new platform is quite straight forward and doesn’t need a lot of code. The main tasks of a Platform is to create the OpenGL context for the compositor and to present each frame on the Platform specific output. All platforms together are less than 10000 lines of code (cloc) and a single platform is around 400-3000 lines of code.
In order to add support for a new windowing system more work would be needed. It is very difficult to estimate how much code would be needed as it all depends on how well the concept can be mapped to Wayland. Ideally adding support for a new windowing system would be done by creating an external application which maps the windowing system to Wayland. Just like XWayland maps X11 to Wayland. But as we can see with XWayland this might not be enough. KWin also needs to be an X11 window manager to fully support X11 applications. Given that it really depends on the windowing system how much work is needed.
One could also add a new windowing system the same way as we added support for Wayland. This would require to implement our AbstractClient to have a representation for a managed window of the windowing system and add support for creating a texture from the window content. In addition various places in KWin need to be adjusted to also consider these windows. Not a trivial task and going through a mapping to Wayland is always the better solution. But still it’s possible and this makes KWin future proof for possible other windowing systems. In general KWin doesn’t care any more about the windowing system of a window. We can have X11 windows on Wayland and Wayland windows on X11 (only experimental branch, not yet merged).
This brings me back to my presentation from 2011. Back then we expected to have three phases of development. The first phase adding Wayland support to the existing X11 base. That was what we experimented with back then and as I just wrote still experiment with it. As it turned out that was not the proper approach for development.
As a second phase we expected to remove X and have a Wayland only system. At the moment we still require XWayland to start KWin/Wayland. During the development it showed that this is not something really needed. It was easier to move the existing X11 code to interact through XWayland – we could keep the X code and move faster.
The third and final phase was about adding back XWayland support, so that KWin can support both X11 and Wayland windows. That’s the phase we developed directly. Which is kind of interesting that we went to the final step although we thought we need easier intermediate steps.
Could you tell us something about yourself?
I’m 17 years old and live in the United States. I love games, but not as much as I used to. I want to do game design rather than playing.Do you paint professionally, as a hobby artist, or both?
For now I paint as a hobby, but in the future I want to draw on commission. I’m learning to do digital painting. Also, I would love to do freelance comics as in webcomics.What genre(s) do you work in?
I like drawing furries and humans, as well as monsters for role-playing games and fan art.Whose work inspires you most — who are your role models as an artist?
My favorite artist is jamesfoxbr on http://jamesfoxbr.deviantart.com/What makes you choose digital over traditional painting?
For digital painting there are a lot more tools, also it’s less messy!How did you find out about Krita?
I was looking for something like Photoshop but for drawing that wasn’t that expensive and had good tools. Then I came across Krita, which is a free program, that was one thing, and it has a lot of tools, which most free programs haven’t got.What was your first impression?
My first inspiration for digital art was a furry dragon named Danny. I love that Krita is free and open. Also, you can help make it better, they have books on how to use it, and a great community plus a lot of people who do video tutorials on how to use it on YouTube.
Krita doesn’t need much improvement, except the pen pressure, and it would be nice if it was made easier to make comic pages, like Manga Studio’s templates for making comic books.What sets Krita apart from the other tools that you use?
It’s useful and open, has lots of export options, and the developers are always looking for ways to improve it. There are awesome things in the Krita art gallery , too.Where can people see more of your work?
You can find some of my old art on Youtube: https://www.youtube.com/channel/UCA2aYnBSuYrem2hg7_QiNFA
I’m also making a website, coming soon.Anything else you’d like to share?
I would like to share that Krita is awesome. And I’ll be looking forward to making tools for it in the future.
This announcement is also available in Italian.
The latest update for KDE's Plasma series is now available to all Chakra users, together with other important package updates mostly for the core repository.
Plasma 5.7.4 includes a month's worth of bugfixes and new translations, with the changes mostly found in the plasma desktop and workspace packages.
Other notable package upgrades include:
It should be safe to answer yes to any replacement question by Pacman. If in doubt or if you face another issue in relation to this update, please ask or report it on the related forum section.
Most of our mirrors take 12-24h to synchronize, after which it should be safe to upgrade. To be sure, please use the mirror status page to check that your mirror synchronized with our main server after this announcement.
This year Akademy take place along with QtCon in Berlin, Germany. It is a year of great celebration for some free software communities, so they decided to get together to celebrate in a single event. KDE is celebrating 20 years, while VideoLAN and FSFE are celebrating 15 years. It was a historic moment and I could not miss it, so I went to Berlin for the second time (the first was to attend the Desktop Summit 2011).
As a new member of KDE e.V. I arrived early to attend the AGM, the general assembly of KDE e.V. It is the annual meeting of the members where the board of directors and working groups present their reports, the elections to the board and the KDE Free Qt Foundation happen, as well as other important issues are discussed and voted on. This year a new board member was elected. Thomas Pfeiffer was the most voted to take the place of Albert Astais Cid. By the way, thank Albert for his great work for KDE and welcome Thomas!
After the AGM we had three days of talks in QtCon, held at BCC. The talks were on the various issues related to the communities participating in the event: Qt and KDE technologies, VLC technical topics, and questions about free software and privacy presentend by FSFE team, among other things.
KDE presented about forty talks. One I most liked was the talk “KDE development, how it was done in the last century”, presented by David Faure. In this 20th anniversary it is very nice to see someone who is in the community from the beginning to talk about its changes over time.
After the talks marathon in QtCon, we went to the Akademy at Technische Universität Berlin put the hands on the hacking sessions and BoFs during four days.
During the Akademy we announced two commemorative projects, a book and a timeline. The book has 37 stories of various community contributors presenting their vision of the past, present and future of KDE. You can download it or purchase a printed copy and help the community.
The timeline was a project developed by me and Camila Ayres. It was one of the coolest contribution I could ever do to this community. It shows some of the most important events of the community’s history. The idea is to add more content as time passes. It will work as a repository of our history. If you have any suggestions or interest in translating it to another language, just send us email or clone the code here.
Last but not least, we had a day trip around the Pfaueninsel island (“Peacock Island”), a UNESCO cultural heritage which dates back to the seventeenth century.
If you would like to know everything that happened in QtCon/Akademy, the talks were recorded and you can watch them here or see some photos here. For more stories about the meeting, stay tuned to our dot.kde.org or planetkde.org.
The other day I wrote about the Pager improvements awaiting in Plasma 5.8. In the comments user btin re-raised the issue of limiting the Pager's display to the screen it's currently on, instead of being all-exclusive.
At the time I wasn't sure we could still sneak this in before feature freeze, but thanks to the screen-awareness of the new backend (which, to recap, is shared with the Task Manager and already needs to determine what screen a given window resides on), it turned out to be easy enough to do!
The default remains the screen-spanning behavior for now, but in the Pager's "Display" settings you can now tick a new "Only the current screen" checkbox. If enabled, Pagers in panels on different screens will now nicely be limited to showing their respective screen's windows on each desktop.
It’s actually been over for two days, but I’m still sitting in Berlin and only now got to write something.
As every year, it was great to see all my friends and fellow hackers again. Thanks everyone for being so awesome, I enjoyed every day of QtCon and Akademy with you. Can’t wait to meet everyone again next year :-)
In the terms of KDE PIM, this year’s Akademy was very productive. We had our KDE PIM BoF session on Monday afternoon, where we spent most of the time discussing KDE PIM User Survey – a plan of mine to get more information about our users and their use cases. The results will help us, the KDE PIM devs, to better understand how our users use our software and thus prioritize our focus. We ended up with an initial set of questions we intend to ask our users and next week I’ll meet with some more KDE PIM hackers that could not attend Akademy and we will finalize the set of questions so that we can publish the survey later this month.
We also talked about some other topics on the meeting, like releasing of some of our libraries that Kube wants to use and so on.
You can read the mostly complete meeting notes on the KDE PIM wiki.
Outside of the BoF session we touched the topic of KDE PIM sprints and meetings. We want them to be more focused in the future, i.e. having a specific topic for each meeting that we will all work on together. We hope to do one meeting in Autumn this year to finish porting KCalCore away from KDateTime and KDELibs4Support, then a Spring meeting in Toulouse (which has become our new regular place for Spring sprints), then Randaaaaaaaaaaa (which gives us full 6 days of uninterrupted hacking with only small breaks to eat Mario’s chocolate :-)) and then it’s Akademy time again!
Oh and I can’t forget to mention that the KDE PIM team was awarded the Akademy Award for our work on, well, KDE PIM :-). It was a great feeling to stand on the stage knowing that people appreciate our work.
Regarding my PIM work during Akademy, I think this year was pretty good. I did my share of partying during QtCon, so I could spent most of Akademy days hacking from morning until they kicked us out from the venue, and then continuing with some more hacking in the KDAB office until late night. Already before the event I merged a big change that improves the Akonadi change notification system. I managed to polish it during Akademy and fix several crashes and bugs.
Another big change was to our test-suite. It contains among other things integration tests, where we run an actual Akonadi server in an isolated environment (so that it does not touch any real data) and test whether clients interact with it as they are supposed to do. For these integration tests we’ve been only using the SQLite database until now, but I have now enabled MySQL and PostgreSQL too, so we run each test three times – once for each of the backends. This has revealed several corner-case issues that we weren’t aware of until now. The test still run into some issues on the CI on build.kde.org but locally they pass for me (with only one exception). Addressing those issues is on the top of my todo list now.
I also started working on an experimental XML->C++ generator, which would allow me to get rid of some 12,000 lines of hand-written C++ code that implements the communication protocol between Akonadi server and the clients. Instead I will generate the code from a simple XML. So far I managed to get it to generate a code that compiles, but there’s still a lot of work ahead to make it generate an optimal and correct code.
I’ll spend the next week meeting all my colleagues from KDAB, which I’m really looking forward to. Although I know many of them from KDE, there are lots of people I haven’t met yet, so it will be great to attach faces to the names. After that, it’s back to Prague and to regular work (and some more Akonadi hacking ;-)).
After the release of Rocket League beta for Linux, I decided to install Steam under Fedora 24 and try it out.
Apparently the SteamOS variant of the xpad driver has some additions the normal kernel driver does not (yet) have.
To install it:
- Enable negativo17’s Steam repo: sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-steam.repo
- Install the dkms-xpad driver: sudo dnf -y install dkms-xpad kernel-devel
- Build the kernel module: sudo dkms install -m xpad/4.1
Not sure if I did a sudo modprobe xpad afterwards but now it works. Have fun.
The Life of IT Support website did an awesome art to celebrate the 20yrs of KDE for us:
Support: Hey, look, KDE is 20 years old!
Intern: Oh, damn it, I tougth it was a pokemon.
It’s been an awesome week in Berlin, but sadly now it’s over. Berlin is just perfect and QtCon has been an epic conference. In the last few days at Akademy I managed to close some tasks stuck in my todo list:
I merged the GSoC work by Vladyslav Batyrenko in Ark. This means that Ark 16.12 will be able to cut, copy, paste and rename files, and also add new files to any folder (while previously it was only possible to add to the root of the archive). This closed three long standing feature requests, including a 13 years old one!
A first beta for KIO GDrive is now available for testing. If everything goes as expected, the final 1.0 release should be released in a couple of weeks. Stay tuned!
Just got this email as a KDE e.V. supporter, from Lydia Pintscher, e.V. President, and thought I would share:
We are celebrating 20 years of KDE. The actual anniversary is on 14th of October but we are starting the celebrations now already at QtCon. We have put together several things that might be of interest to you:* A book: "20 Years of KDE: Past, Present and Future" is a collection of short essays by present and past contributors to KDE including KDE's founder Matthias Ettrich. They give insights into the history of KDE and the motivation of its contributors. A paperback version is available for ordering and a PDF can be downloaded for free. You can find out more about it at https://20years.kde.org/book.* A timeline: This timeline gives an overview of the past 20 years of KDE and highlights the most important events in the history of KDE. You can find it at http://timeline.kde.org.* Anniversary celebrations: We are doing dinners and parties in several parts of the world. Signup and planning is happening at https://community.kde.org/Promo/Events/Parties/KDE_20_Anniversary. (Seattle party-planning is underway) You can find coverage from QtCon at https://dot.kde.org and we are collecting pictures from the conference at https://community.kde.org/Akademy/2016/Photos Thank you for your support over the years that made so much possible. I hope you'll be with us for the next 20.
This was my last day at this year’s Akademy, because the next day I took off back home. This day wasn’t very active, for me, at least. The day trip took place today, so most people were not at the venue, and visiting Berlin. Me, the Kubuntu team and the WikiToLearn team, and a few other people decided to stay behind and hack.
I took the opportunity this day to get an interview from Riccardo IACONELLI, the god father of WikiToLearn, for the Kubuntu Podcast. It was a fun interview, especially since I was alone to take it, so I didn’t have separate devices for video and audio. I managed to borrow a phone from someone and have the video recorded with it, and record the audio with mine.
On the Kubuntu side, we continued with some planning, and discussions about how to go on with the project. I won’t give any details here. The Kubuntu Council election is supposed to end on Monday (12th of september), and we want to have a meeting and discuss the Kubuntu Vision (Manifesto) with the new council.
During this day, we watched some of the talks from QtCon, which we haven’t managed to get to.
I’ve also discussed with Matthias Klumpp about AppStream, and how to fix an issue we’ve been having with Gwenview on Kubuntu. This would require some development, and a good grasp of how AppStream works.
And that was about it.
I’d like to thank the Ubuntu Community Council for funding me for this very productive trip, and especially the Kubuntu community for their donations, with out which none of this would have been possible. Thank you very much.
On the buzzer! We are moving toward the 1.0 release faster and faster and by the end of this month it should be ready. Today is the last day here at Akademy and we managed to move all the courses under the convention defined. We have introduced the new namespace “Course” for each course both on the italian and english portal. This new structure is mandatory for the complete implementation of course editor. Scripts over scripts, lines of code over lines of code, discussions over discussion: these two days were tough. The migration is now completed and our work at Akademy has been great. We are documenting everything on phabricator to have a complete organization of what we have to do yet.
Akademy was great! We worked hard and closed many tasks. The new release still requires time and efforts, but we are moving toward the right direction. By the end of the week we are going to be back in Italy, but we are leaving Berlin with a precise intention: release the best 1.0 we can have!
We have to work on different aspects, from community building and participation to development and infrastructure. We are tying to keep everything under control to come up with the best possible version of the release. This year was fundamental to us: we understood what we could improve and we tried our best to do it. The deadline is near, but no fear! WikiToLearn is rising from its own ashes like a phoenix: be ready for the revolution!
A special mention goes to the organization of this conference – KDE community and everyone involved were simply awesome.
It was also awesome to get in touch with JGupta and to meet him in person. We hope to have the possibility to meet every WikiToLearn-er soon!
Akademy is almost over, but our work is not.
Stay tuned, the revolution is coming!
First, a huge Thank You to everyone who was at QtCon!
We had an incredible time in Berlin. First the training day by KDAB and then three conference days packed full with topics ranging from how to set up an open source organisation to fine tuning Qt graphics.
Last but definitely not least, Thank You obviously to all the volunteers from the different communities!The magic of QtCon
When we originally got together to plan QtCon, we envisioned it as a meeting of communities, one event where everyone can come. This is something we achieved. At the end of the event, every one of the community representatives made the same comment; meeting new and interesting people was the best part. Chatting about new things over coffee or lunch, walking from a deep dive technical session to the social impact of open source was something that only happens when we have different communities mix. By the end of the event, I believe everyone headed for home with a feeling that getting together is something we need to do more often.
The Keynotes were amazing! Please take the time to hear what Raul, Leslie and Julia had to say in their talks. The take-home message for me was that software has changed the world and we need to understand the change on every level. For Qt this means that we need to be sensitive to these changes and understand the impact we have in society.
The Qt Specific topics covered everything happening in and around Qt – from the technical details to overall community issues.
The most awaited Qt session was naturally the talk on the status and future of Qt by Chief Maintainer Lars Knoll. The talk outlined the bigger trends in Qt, and where biggest development pushes are expected to be. Lars also talked about how he sees the next releases of Qt going forward. These topics continued in corridor discussions and during the evening party on Friday.
My personal favourite talk was an ‘unconference session’ that was reserved on location about Qt QUIPs, a way to arrange and manage the information related to the Qt project. I’m looking forward to seeing QUIPs in action, but it will naturally take a while for the developers to get all the bits and pieces together.
The Qt session videos will be available soon on the QtStudios YouTube channel. However if you are really hungry to get at the videos, in the QtCon schedule the talks that were in the bigger rooms already have the links added to the talk descriptions. For example The Qt Project Status talk video is here. The incredible speed at which the videos got online is entirely due to the hard and efficient work of the CCC Video Operations Center, hats off to them!
In conclusion, I met old friend, new and interesting people, heard cool talks and had a good time. I’m sure the other attendees did too.
See you in coming events!
P.S. Qt World Summit is coming up soon 😉
We are happy to announce a new dot release with some improvements and various fixes. We also celebrate some code contribution from Harald Albrecht (TheDive0) hoping to see more devs joining our team.Improved Workflow
Now Kdenlive remembers where you last opened and/or saved a project.
When inserting clips in the timeline the cursor in the timeline will go to the end of the inserted clip making the workflow more fluid and shortcut friendly.
The default duration of new transitions can now be adjusted
New option to make clip corners rounded or square.
Added 50fps and 60fps trancoding profiles
- Fix frame and titles not saved if extension not explicitly set in some config
- Revert stupid error in thumb ratio
- Unbreak resize one item in group with ctrl+click
- Fix aspect ratio of thumbnails when project dar != 1.0
- Fix Kdenlive / project settings displaying wrong profile info when using 1440x1080 profiles
- Fix possible crash on exit
- Fix small memleak
- Fix memory corruption in thumb creation
- Fix memleak
- Fix compilation with gcc6, the code was comparing a char* and a QChar
- Fix proxy clips adding copy to project bin (recent regression)
- Fix several issues with track effects corruption
- Fix crash on redo group move
- More libasan mem fixes
- More libasan mem fixes
- Fix small memory issues/corruption (detected by libsan)
- Attempt to fix opening project crash
- Fix crash on audiospectrum display
- Try to fix possible crash caused by string copy
- Fix crash and display of audio spectrum
- Fix size of effect buttons
- Integrate master effect update and state change in undo system
- Fix split audio track
- Add action to remove all preview zones
- Fix path problem when trying to stabilize several clips
- Fix icon not fully displayed in render jobs list
- More fixes for transcoded clips showing up in wrong folder
- Fix transcoded clips showing up in wrong folder
- Fix “use timeline zone for insert” shortcut
- Select all should ignore clips in locked tracks
- Fix Ctrl+Shift selection, rolling edit is now on Ctrl click
- Show MLT version in about dialog
- Make clip corners square
- Fix typo causing failed timeline preview on some fps
- Fix changing preview parameters broken
- Fix timeline preview invalidate when hiding a track
- Fix track effect not initialized
- Fix locales download script
- fix vp8 encoding
As usual sources can be downloaded KDE’s servers at: http://download.kde.org/stable/applications/16.08.1/src/
Until we provide binary packages please as you distro’s maintainers to update the packages.
As I write this post, I'm peering out of the window of a long pressurised metal tube hurtling through the air 39,000 feet above sea level, watching a mesmerising sunset as the plane passes over Baku. The sky has turned from bright blue to deep red to deep purple to pitch black in a matter of ten minutes. It is yet another 4 hours before the plane lands in New Delhi and the officials stamp my little travel diary signalling the end of the events of the last 7 days.
I'm still trying to make sense of the last week.
Perhaps writing this post will help me figure out how I almost made it without crying for a decade only to have to let the floodgates open on the flight back.
On the 31st of August, I left India for the very first time in my life, for Berlin, to attend QtCon and Akademy, the annual world conference of the KDE Community. I had expectations from the trip. I expected to finally put a face and a voice to all the IRC nicks I geeked out with over the last 2 years. I expected to attend talks that would blow my mind. I expected to eat some really good food. I expected to see a few things around the city.
All of that happened. And then some more. A lot more. I fell in love. With so many things.
The city. The cars. The roads. The public transport. The complete strangers who would always make eye contact, smile and say hello. The one time I was travelling on the U-Bahn well past midnight and ended up singing the cup song with two people whom I had never seen before and never will see again. The architecture. The sleepless nights spent walking all around the city exploring because we'd have events during the daytime.
Spending a week four thousand miles away from your daily life does make you think.
Is it just the first Akademy that turns you upside down, or is it every Akademy? Does it make a bigger impact on me than on others because as she put it, very emphatically, "You're still such a child!"?
I wonder what it will be like 10 years later. I may have a completely different life, a completely different career. KDE may be a distant memory for me. I may not even remember QtCon 2016 as a whole. But the first KDE e.V. AGM, the first time I stepped into the BCC and spent the entire day in the back office trying to get video recording to work. The time we dressed up and walked in the freezing cold to Checkpoint Charlie just because we felt so crazy. The last night before I left when she wouldn't let me sleep - "It's your last night in Berlin! It needs to be special!" - and then we went down to the East Side Gallery and couldn't get back because it was well past 2 AM and neither the normal buses nor the U- and S-Bahns were running. These will be permanently etched in my memory.
Thank you everyone who made this week so memorable for me. All these go out to different people - thank you for taking us to the Russian restaurant, thank you for grabbing hold of me one night when I had lost my phone and making me justify to myself why I even am in KDE, thank you for making it financially feasible for me to be there, thank you for dragging me down to the hotel with the aquarium, thank you for giving me so many reasons to be so incredibly happy to be there. Thank you for being so gosh darn energetic, infecting me with said energy and making me get by with 3 hours of sleep a night.
And last but by far the most, this is for you. You, the eyelid-batting, compulsive hair-untangling, soft-talking little bundle of joy. I have so many things to express to and about you, but words fail me. Thank you for all that you did, and did not. Thank you for completely decimating my blocks and filters. Thank you for making the best part of this trip not the fact that I was in a different country for the first time in my life. Please don't get lost :-)
Auf wiedersehen Deutscheland, und danke für alles!
Dominik and me got the Akademy 2016 Award for our work on Kate and KTextEditor.
I want to pass that on to all other contributors of both the application and the framework: You all rock and people seem to appreciate our work!
Lets keep on improving our stuff and providing people with a very usable editor and editor component for various use cases.
Project: Integrating Sentinel-2 data into MarbleShort recap of the projectESA Sentinel is a series of next-generation Earth observation missions, which provide high-quality satellite image data of Earth. Marble Virtual Globe is an open-source globe that allows users to explore a 3D model of Earth, Mars, Venus, and the Moon, with a wide-variety of maps ranging from political to topographic. One of Marble’s most important features is it’s flexibility, it is designed to be used and integrated into a multitude of different software, and has been used extensively in third-party applications in the past. By improving Marbles maps and functionality developers get access to a free map viewer that they may use without restriction in their applications.
This project's goal was to find a way to adapt Sentinel-2 data, which is currently available for all users at the Sentinels Scientific Data Hub, into Marble, for easy viewing and access for all users.
Goals and achievements for this projectThe goals for this project can be summarized in three main points:
- Finding a process that allows us to use the Sentinel-2 data in Marble
- Improving this process
- Using this process to gather and adapt as much data as possible
- Adapting different map sets
Adapting different map sets
The TopOSM map theme in Marble.
For my first task, to make my acquaintance with Marble and map themes, I was tasked with creating a map theme of TopOSM. This task introduced the concept of SlippyMaps, which we would also use in the creation of the Sentinel-2 map theme. It also involved uploading to the kde servers, to which we would later upload the Sentinel data that was ready for use in Marble.
Above, area around San Francisco in Marble’s Satellite map theme. This was the best option users had for satellite imagery in Marble before this project. Below, the same area, using Sentinel-2 data.
Above, San Francisco area at a higher zoom level, showing the difference in populated areas. Marble’s original satellite data from the Blue Marble Next Generation image set is not high enough quality to adequately portray these areas. Below, the same area adapted from Sentinel-2 data.
Above, San Francisco area at the highest zoom level for the map theme.
The second task was finding software which was capable of taking the image data available, stored in jp2 files, which cover one subtile of a data set in different spectral bands, and converting it into an GeoTiff file with realistic colors, suitable for the creation of the slippy map tiles, that can be used in Marble.After some research into libraries, such as GDAL (Geospatial Data Abstraction Library), the free and open-source geographic information system software, Qgis, was found to have all the features needed for this step. At this point a rough process was already in place for the creation of the tiff files, however, it required intensive user-interaction, and as a result, was much to slow to be used.
At this point, I was tasked with finding a way to improve or automate some of these steps. This led me to the Qgis Developer Cookbook, which was a great help in understanding the inner workings of this software in order to automate it. Qgis has support for batch scripting, which seemed like a suitable solution for the issue of minimizing the user-interaction needed.
This part of the project led me to learn a lot about how software is structured, as I had to delve into the inner workings of Qgis to find the specific rendering settings we needed. After a lot of testing scripts, and reading the documentation, the script that saved the tiff files was complete, and as such one could do multiple datasets at the same time, without having to supervise and interact with the program every minute.
The next step in the data processing was using the newly created tiff files, which have realistic colors, and converting them into slippy map tiles. After researching possible solutions with GDAL, a plugin for Qgis, Qtiles, was found to be suitable for this step. This plugin could take the data we gathered, and divide it up, into slippy map tiles, such as the ones used in OpenStreetMap. We can then host these files on the KDE servers, so that Marble can access them as needed. The only issue we currently face with this step is that it is very time-consuming. While rendering few datasets can be achieved in a day, rendering the hundreds we have acquired in one would take at least two weeks of real-time rendering, even on a computer dedicated to the task (This is due to the fact that slippy map tiles use the concept of QuadTiles, that is, every zoom level will have four-times as many tiles as the last. Since Marble needs zoom levels up to level 14, the amount of files, although small in actual file size, increase exponentially).
A solution to this problem was the idea that we would convert the tiff image data into slippy map tiles in batches, one “batch” being enough datasets to cover a level 6 tile in (example in OpenStreetMap). These slippy tiles could later be combined, with the help of a script that removes the white edges that surround them. The amount of data that needs to be processed can also be cut down by adding the bathymetry from a different map set. This way we can preserve the high-quality of the Sentinel-2 land data, while not having to convert any of the ocean tiles.
The last step is simply uploading it to the servers, which will make the tiles available in Marble.
At this point we have gathered over 130 datasets, and have created the tiff images that can be processed into slippy map tiles for more than 100 of them. The current process has been documented so that future efforts may build upon this work.
Future projects and how Marble benefitsThe future of this project is to make it into a community driven effort. One of the main considerations was to find a way of creating the slippy tiles that could be easily set-up and done by many users. The amount of data is immense, however as a community project based on contributing to an existing pool of data, converting all of the Sentinel-2 data becomes achievable.
The end result of this project is the creation of a foundation, upon which future efforts can be made to cover all of Earth’s lands with satellite data. Future efforts such as Google Code-in can also improve upon this foundation, and help it move toward a community-centered project.
As the amount of data grows, Marble users will be the first to have access to such high-quality imagery, which means any open-source developer can use it in his applications. At this point preparations have begun for the making it into a community-based project, such as as online viewer to see how much of the Earth is currently covered by the satellite data. This is an easy way for contributing users to check which parts of the Earth still need more tiles. On the side of long-processing times, a server-side processing solution is also possible, so contributors will only need to upload the created images, the creation of slippy tiles can be handled by the servers.
In conclusion the project has paved the groundwork for future efforts on Sentinel-2 data integration, which will lead to Marble Virtual Globe being the first in it’s kind to possess this quality data, it being open for users all around the world to create and develop with.