воскресенье, 5 января 2014 г.

Python integration in Marble.

Marble runned from Python.


Hello! During Google Code-In 2013 we have did many things for Python support in Marble.

What is Python?

Python is a very nice, easy for learning, programming language. It can be extended by a large number of modules (e.g. network libs, API libraries).

Why you want support for Python?

It's very good for people who can't or don't have time to learn hard languages such as C++. It could be easy used for fast creating templates of plugin (e.g. testing some functions, checking capabilities). Python support provide more easy way to create plugins and use Marble library, so we want it to be used in research and in the industry. Organisations which use Python for development will be able to integrate Marble into their projects. We hope that the list of the projects which use Marble will be significantly replenished.

What is already done?

We have done porting our API tutorials to Python (for more information see this post) and have written a nice instructions for installing Python bindings. We started working on support Python plugins.

What do you need now?


Now we need to update our API and add support for Python plugins. Then, you will be able to write your plugins using Python and easy integrate Marble into your Python application for showing maps, etc. That's would be very cool!

How can I help?

If you are interested or want to be involved please leave feedback and contact with us at #marble channel at freenode.org or marble-devel@kde.org

More links:
About Python: http://www.python.org/ and http://en.wikipedia.org/wiki/Python_%28programming_language%29
How to use the Marble Widget in your application: http://techbase.kde.org/Projects/Marble#With_Python

суббота, 4 января 2014 г.

Tours and movie capture in Marble.

During Google Code-In 2013 we have added in Marble support for KML Tours.

KML Tours panel.

“KML is an XML notation for expressing geographic annotation and visualization.”
Wikipedia
“Touring enables controlled flights through geospatial data.”
developers.google.com
KML Tours is a great feature. It's allowing you to do cool presentations. You can start it by some clicks and watch nice excursions with soundtracks (speaker speech for example or good music).
Movie recording dialog.
Tours can be easy combined with the video capture feature. You are starting video recording and tour playback and after some time receive video as result. You can use it everywhere - in conferences, presentations, at work and at home. It's very cool!
There is some missing moments now. We can do only basic modifications of tours. We don't have good support for playback tours yet. (But we have some patches for that, they needs testing). Also we need support for converting KML tours to movies without recording screen (how it could be done now).

I want to say that the Tour stuff is still very much in the early stages, but it have very good potential and I'm happy that I helped with improving it.

While doing these tasks I learnt about Qt MVC system, C++ casts (static, dynamic) and many others things. It's was very interesting and helpful for me.

I got very good experience with Marble dev team. They are very good and friendly people. They always helped me if I had any problems. I want to say special thanks to Dennis Nienhüser which helped me with getting KDE developer account and to Torsten Rahn which was helping me with any questions.

 Find your way and explore the world!

среда, 1 января 2014 г.

Google Code-In 2013

Hello. I’m participating in Google Code-in (GCI) 2013 and I want to tell you about my experience on it.

An about year ago I saw these blog posts from Illya Kovalevskyy about GCI and understood that I want to take part in it and try myself in KDE development.

So, a week before start I got confirmation from my parents and school and started learn more about KDE development. There is a very good page for it.

My first GCI task was very small - I needed to change about 3 lines of code. But it was very helpful as I learnt about ReviewBoard and basic git commands.

Second task was bigger. It said: "extend audio player in Okular, so that it gives info about if something is playing at the moment or not". While doing this task I learned about phonon library and how can I use it.

In other task I fixed image posts of KDE Brazil website. This task was interesting, I learnt some brazilian words and restored my knowledge about html. Also, I had cool mentor. :)

After I did many cool tasks for Marble. "Marble is a virtual globe and world atlas — your swiss army knife for maps. Find your way and explore the world!". Mentors from Marble (Dennis Nienhüser, Torsten Rahn) were very welcoming. :-) I learnt more about phonon, kml format. I added support for cyclestreets.net API for retrieving routes, basic support for KML tours, KWallet support for owncloud sync and ported first part of development manual from c++ to python. I very like this application and I'm sure that I'll still use it in future.

Most of tasks that I did was about coding, but I also did 2 nice testing tasks for Amarok. Amarok is a very cool full-featured music player. While doing these tasks I checked 55 bugs and wrote about status each of them.

Also I did some KF5 porting tasks and I’m sure that Plasma Workspaces 2 will be very cool. :)

In conclusion I want to say that this one and a half month was very cool. I learnt many new things, met great people, received KDE developer account (special thanks for Dennis Nienhüser , he proposed it to me) and made new friends from many countries. I am sure that I'll try to help KDE after GCI.

I am very thankful to Google and KDE for this very cool competition.