Yep, I didn’t blog about MeeGo Conference yet. But come on, a lot happened during the last few days 😛 I barely had time to sleep really well (those that know me can tell histories about my sleep-walking and sleep-talking hehe).
However, just to keep everybody updated before I do a full post or read an article on the dot here it is a simple video that means a lot!
Basically we put Plasma mobile to run on top of MeeGo and thanks to a lot of Marco’s work we already supported screen rotation! Besides the “fail” that drivers don’t properly report that the screen is being rotated on this device, pressing some keys we can make the view rotate and then comes the magic 😀
Of course we also put the Plasma netbook to run on the device but the mobile one was really nice to play with our hands 🙂 Keep your eyes on the Planet as I think more people have news to share 😉
More about the sprint and the conference after the break 😛
I’ve been busy with some “internal work” that was not that fun and due to that, it was not worth it talking about it :(. However during this time I wrote some KDE stuff and right now I’m busy with some awesome work and this one I’ll share with everybody 🙂
The benefits? It’s easier to extend and support new services so no more bugs on bko asking for this or that service (you can *easily* implement it and provide it through kde-apps.org). Because of that, applets using the new data engine will be able to use GHNS to extend the amount of services that it uses.
As soon as we unfreeze trunk, I’ll send the engine for review and then update the pastebin applet to support it. Ah, we are also using KIO inside the data engine now! 🙂 So, we also have support for “remote shares” (remote as in getting a file that is in the network – samba share for example). Good news right?
Now, I started to help the KDE PIM dudes and KDAB with their mobile version of the suite and anything that is related to it. So, I’m really looking forward having a great PIM suite for mobile devices. It uses all of the KDE infrastructure and the brand new Qt technology for creating rich UI interfaces: QML. It’s important to say that everything is being done on the open and upstream. Take a look at kmail mobile right now:
At the same time I’ll be in touch with the guys working on the Qt Components project, to provide feedback and use the stuff they are getting done. This is a really important project for QML and if you ever played with QML you know what I’m talking about ;).
I’m also going to Akademy this year thanks to the help of the e.V. and it’s sponsors (special thanks to Claudia that helped me with the booking :P). I’ll have a talk there with my fellow Alexis Menard about Plasma mobile and I hope that everybody that will be there enjoy the talk and the paper that we are working on! I also recommend the talk about Qt Components from Eduardo Fleury! If you want to talk about KDE Mobile, any other mobile subject (MeeGo, Maemo), anything KDE related, just about soccer or say hello…just do it 😛 I’m too small to prevent you from doing any of the above listed things 😛
Reading this post you were able to watch a video about Plasma Mobile (actually, Plasma on all kind of devices) and see some screenshots. But if you don’t know the ideas and concepts behind that, you are just going to bash it as it’s just the bootstrap of the project and a lot needs to be done.
And if for some reason you are wondering about the future of the netbook project, don’t worry 🙂 Plasma Netbook and Plasma Mobile, besides being oriented for smaller form factors than a regular Desktop / Notebook, have different concepts as they’re serving for different purposes. Marco (notmart) and all the Plasma team will still keep working on the netbook shell and if you read this post you can see the netbook shell running on Intel’s Jax10 devices. This was done to give us an idea about how the netbook interface would behave on touchscreen devices and helped Marco to do a lot of bug fixing and improvements.
Back to the mobile shell, this interface presented here was created for the same Jax10 device but the architecture was designed to support different “Views” (as in MVC) for even smaller devices (N900 anyone?) , while still sharing the same concepts though. Even if the interface was not designed for the N900 for example, we were able to run it with great performance and the usability was very good. What means that we’ll just need to slightly tweak the view to make it perfect for the N900. And all of this can be done by designers as the View is 100% done in QML 🙂
So our first step was to brainstorm about launching menus (and how regular grid views seems to be so boring) and how different contexts affects the way you use your mobile. I mean, we are making desktops aware of contexts more and more and it’s silly to think that you don’t use this concept on your other devices.
We thought about having regular activities so the user would be able to have different set of plasmoids for each context that he’s working on. However it still needs to be very easy to do some stuff like:
Going to your dialer if it’s a phone;
Change between activities (later we can make the shell location aware so it’s possible to auto switch);
Launch applications easily and context aware (presenting the applications related to that context);
In order to achieve these goals we came with this idea: having a regular containment and a kind of panel that auto hides itself after some seconds. Important to say that right now this panel is 100% QML and is not like the desktop’s panel (that is a containment in another view). This makes the shell use less memory and be faster as it’s just playing with pixmaps in the end. After hiding, it shows a collapsed representation of the panel at the bottom that the user can either click on it or drag it up to show back the panel. This makes it really easy to change between one activity to another one while keeping the user interface clean enough so the user can play with his applets 😉
First Mockup by Nuno
The panel while in it's collapsed mode
But then you ask me: “I want to launch applications ? How can I do that ?”. One solution is to add an application launcher as one of the main activities and the other one is to enable context aware application launchers. So, looking at the pictures above think that you are at the “Internet Activity” and you want to launch your applications. You can always launch the application related to one plasmoid from it so if you have an RSS Feed plasmoid you are able to launch your feeds reader using this plasmoid. But if the applications doesn’t have a related applet, in our concept you can just flip horizontally the current activity and you’ll find on it’s backside a context aware launcher that have shortcut icons for your applications and it’s size is proportional to the times that you launched the application and how much related to that activity the application is. This way it’s easy to find the most important applications for that activity.
Activity flipping to show...
...the context aware application launcher that right now is just a gradient 😛
It’s not there right now but the idea is that at the top we will have this small bar (that will be a containment) to show the status related widgets like battery, signals strength and other stuff very plasma, like clocks! It’s not there yet, but it will be!
Regarding the transitions from one activity to another we thought about sliding the activities up and down so there is the idea that we are throwing the current activity somewhere else and bringing the new one.
Throwing away the current activity....
...bringing the new one and fading out the panel....
...and the switch is done!
\Basically this is the concept behind the Plasma Mobile shell and after this it was just a matter of thinking about nice animations that would make sense, tweaking it’s timers and polishing icons 🙂 It’s clear to us that during the development we’ll find flaws in this ideas and we will need to fix them, as well as that the implementation right now is a little bit dirty due to time constraints (Tokamak doesn’t last forever unfortunately). Next steps ? Fix all the ugly code, finish implementing the launch menu, polishing and bug fixing…what means that we just bootstrapped!
Ah, if you are wondering: the Plasma Netbook project still keeps up to speed and is not sharing this backend (besides sharing a lot from libplasma). The deal is that the Netbook really needs it’s own concept and implementation while Plasma Mobile is really meant to be used on smaller devices than netbooks 😉
So, I just prepared a nice post about the job we have been doing during Tokamak 4 and what happened this days but I really don’t want to spoil cool stuff before we can at least give you some screenshots and videos 😉 Keep reading this blog as the next two posts will explain all of this and give some pretty and nice screenshots and videos!
First of all I would like to thank Will Stephenson, openSUSE and KDE e.V. (and of course everybody who supports the KDE e.V.) for hosting this developer sprint. It was awesome to put together people from three different teams that develop stuff that have a huge overlap area (Plasma + KWin + Oxygen). Really, thank you very much. I’m proud that you’re part of the KDE community!
Weather has been good (compared to Oslo and Finland where I was spending the last weeks) and the office is really good to work on. We have a lot of different devices to hack on (big computers with touchscreens, small devices from Intel and Nokia and the regular notebooks and netbooks) and we were able to expose a little bit more of our work to the local community (as well as see some old pictures of a sprint that happened at this same place in 2002).
From my side I was planning to bump the Pastebin applet with some new ideas and work on Plasmate and shell mobile but it seems that in the end I was able to just stick with one of these three targets. Anyway I hope that I can finish at least one more of then until the release of KDE SC 4.5.
Here is everybody that joined our developer sprint and keep watching this blog because tomorrow I’ll have some cool stuff to show everybody! Again: thanks to our hosts and to the Plasma, KWin and Oxygen teams for being so great!
Tokamak Group Photo: Plasma, KWin and Oxygen teams
After all the stuff that happened in my professional and personal life last month we can extract some technical bits 🙂
First of all, during Camp KDE it was awesome to talk to people like Jos, Celeste, Alexandra, Till, Leo and Jeff (and many others). It’s good to share your thoughts with many people that you just don’t have this big bandwith for chat that you have when you’re physically together 🙂
Our awesome dragons 😛
I spent last month studying and working with QML, trying to get the most of it and I think that I (and the team that I work with of course) reached a very good level of knowledge regarding the new Qt’s declarative language. We have some expertise with declarative languages for some time now (started with Edje three years ago) and went through QEdje and now we have a proper Qt solution for this that will probably be released with Qt 4.7.
QML is awesome. Big tip: just try to avoid “leaking” code from your c++ controllers and models and you’ll get any interface that your designers want for free :). We achieved very good results working with this architecture for software and I really recommend it for everybody (I’m not talking about this right now as it can be a whole paper – hmm, maybe a paper for next Akademy ? 😉 ).
Alexis showing QML mobile shell on N900
Ok, so after studying QML and talking a lot with Alexis and others (like Helio) we had great ideas to try out on mobile devices (read N900 here). Let’s see what we can do during tokamak 4. Good to read Aaron’s post about it and to know that he’s excited with this possibility too. I talked about this during my talk at Latinoware conference and right now we can expand and make “my dreams” come true. We have really good use cases for this and we should really focus on this at first. We need help from designers (Nuno and oxygen team?) and usability experts (Celeste, here I am again – I know you should hate me every time I say your name under this circumstances hehe :P). The design of this kind of product should be the first step after studying technologies.
Talking about KDE: for KDE 4.5 I’m really going to change the pastebin applet. Feature-wise it’s really in good shape but it’s not very healthy code-wise and we can really improve it and it’s data engines to something more user friendly and also that can be easily improved with the use of plugins (anybody thinking about service providers and GHNS ?). First of all, it’s not user friendly to call it “pastebin”. My mom have no clue what pastebin is. For sure she knows what “Share it” means and we can make use of KIPI plugins to allow it to export things to Flickr and other services too. So, for 4.5 expect some big improvements on the developer side of pastebin. From a user’s perspective it should just have a better config dialog, interface and will have support for much more services 🙂 (at least I hope so).
Just upgraded to trunk (KDE SC 4.5) and it already looks awesome: from the KDE theme to the new notification messages that Marco is working on. Amarok (as always) had (good) surprises for me and this “Photo” widget is awesome. It ties together the awesome experience of one of your senses (audition) to another sense (vision) and it’s awesome. Great pictures from my favorite artists and songs. Amarok++.
Amarok and new Photo Widget
Right now, I want to work on so many cool stuff and I just don’t have the time. Probably work is going to consume most of my time for the next 2 months but I’ll make it work and will help KDE to get even better and to start working on Maemo for example. Konquer the world!
Ah, as a simple tip: if you own an N900 just install the “Angry birds” game, it’s awesome hehe 🙂
Well, it has been a long time since my last post and a lot of stuff happened during that, specially regarding work and that explains a little bit why I was so “offline” last days (month).
It all started when I received my N900 from Maemo’s developer program that is just awesome as it gives the opportunity for developer to have access to the platform and keep developing for it. Comparing to other options: for some fruit company’s platform you have to pay to develop for a closed platform and for other you receive devices to develop to an open platform. Big kudos to Nokia for everything it’s doing with Maemo.
Regarding Maemo, I used my N900 in the last month on all business trips that I did and the vision of having contacts instead of accounts really made a difference. It was so easy to use Skype or my SIP provider (Inphonex) while I was out of the country that my mobile phone just worked as it should always work: as a personal extension of my home phone. Perfect.
So, the trips began with Camp KDE and I went to Los Angeles one week before the conference itself as I had some days to take as vacations. It was really great, from watching a live record of one of my favourite TV shows (Two and a Half men) to watching all the amazing talks during Camp KDE it was all great. I would like to also send some kudos to Camp KDE organizers. I know how hard it is to actually make an event like that happen.
The gate where the show was recorded
After Camp KDE I just had three days at home and then went to Oslo/Tampere for Qt work and it was really great to actually see snow for the second time. First time I’ve ever seen it snowing actually (the first time I needed to go up to a mountain last Tokamak hehe – thanks Marius for the chance!! it was awesome).
During this trips I had some ideas regarding mobile platforms and discussed a little bit of it during my talk at Camp KDE and also with Alexis Menard (former Troll). I think that for Tokamak 4 we’re going to have some nice ideas to work on for mobile platforms. It’s important to say that this is all at “pre-pre-pre-pre beginning stage” and that we have a lot of work to be done on the Netbook effort for example that Marco is taking care in an awesome way 🙂
Back to reality I have some work to be done and we are already setting things up for Bossa Conference. So I have Carnival, Tokamak 4 and Bossa Conference in a row. And still job to be done…well, I think I can handle that 😉
So, this is all that happened last month (trust me, a lot happened) and next post will be a little more technical or at least more KDE related and for sure I’ll have some more Maemo related posts in the (very) near future (specially after Tokamak 4).
So, Qt 4.6.0 is out! It’s really a “big” release: QAnimation Framework, Symbian Release, Qt Creator 1.3, Maemo 5 Tech Preview and Qt Mobility. Ow!
Basically we have been working with the trolls in this release for a year now and it was awesome to see how we got from 4.5 to 4.6. All the work done on the APIs, bug fixing, the release process and also making it more open. The LGPL license, the opening of repositories and bug tracker.
I’ve been advertising about a little piece of this game that is QGraphicsAnchorLayout that is where we spent most of our efforts for this release. We hope that this will help people out there working with rich UI applications and in the need of better layout classes.
Sometime ago I also wrote about some demos for the Maemo and Symbian platforms showing the power of Qt Animation Framework and Qt 4.6 itself as it improved a lot in performance (besides the fact of integration with the platforms as we have the same code for both platforms).
You can take a look at the demos at the video below and try on your mobile phones downloading the sis/deb files from this place. Remember that these are UI demos and some of them are not fully implemented like the Hyper UI not doing real phone calls or not being able to add items to the shopping list (however the Weather and My Budget are probably very, if not 100%, functional).
Hmm…it looks sunny 🙂 Take a look at this video. This is a demo we did using Qt 4.6 for S60 and the N900. You can find the source code in the same place where you can get Qt’s source code.
This is a “making of” video from the designers perspective, that shows from where they started and where they are right now in terms of design and of course, the implementation of the demo by the end of the video :). It also shows a little bit the work flow of INdT’s designers when designing new products.
Nice weather application. We didn’t have time to improve KDE’s one but for KDE 4.5 we’ll abuse so much of Qt 4.6! Performance improvements and features added. Who can imagine what’s coming in Qt 4.7 and 4.8 ???? (ok ok, maybe we know that and Thiago for sure knows that….but come on…you too can take a look at the repos and know what’s coming ;). Enjoy the video!
Latinoware was a nice conference held in the south of the country last week, from the 22nd to the 24th of October. It was a really nice conference and we had a lot of KDE exposure there as we had our logo on the main website of the conference, a booth and also a lot of talks KDE/Qt related.
It was really awesome that Ade and Annma could go there. It shows that Brazil and South America are not “3rd class citizens” in the community. A lot of people here in Brazil tend to think that we are not that special in the world besides our beaches and carnival. So, specially for students this is really important. Probably it’s also important for those that are at the beginning of their free software careers as they think ‘ow, a foreigner came here for KDE…this project must be important’. Ah, of course: it was also really a pleasure to have them here. Great great great people :).
Ade explaining what is KDE
During my talk we had some people really interested in netbook stuff and it was nice to give this presentation as I did a similar one during GCDS but the one during GCDS didn’t have too much demos as everything was at the first steps. Now, with Marco working full time on this and some others that will join the team, I had a LOT of cool stuff to show off, not just the ideas behind everything.
During GCDS I talked about the base ideas and research we did for Plasma Netbook. It was nice from a concepts point of view but I had no demos, just screenshots of pre-alpha versions and nothing fancy to show off. But this “pre-alpha” stage for the project was important so we could create a vision for the project and stick with it. Now, after some (few) months we have done a lot of things and the vision starts to show off.
Instead of going on through all the details I’ll just explain the final demo of my talk: I had a netbook (with Plasma Netbook of course), running Amarok and playing some Cold Play song (bonus points for Cold Play that released a 5 songs live album for free on their website – funny fact: the music playing was ‘Viva La Vida’ , life is really great in KDE world, isn’t it 🙂 ? I had the now playing plasmoid on my Newspaper desktop and just shared it. Took an N900 from my pocket and showed how far KDE can go: using our technology I was able to ‘get’ the shared plasmoid, and remote control Amarok from my mobile phone (btw, thanks to Vudentz to let me use his N900 as I don’t have one yet).
As you may already have seen in other posts on Planet KDE there is already a KDE-Maemo effort going on and yes, we have the power an can go everywhere, just as Qt. And we will deliver a really rich user experience for our end users. More to come, keep following…. 😉
The KDE Latinoware Booth
PS: really awesome to meet the KDE-MG people during latinoware. Kudos to them and of course to Live Blue guys. You Rock! 🙂
It has been some time that I had some ideas regarding different devices. My first try was with the so famous “Mysterious Device” that we had during Tokamak 3 and later I played a little bit with my N85 and QtS60.
Qt Everywhere: yes, this means a lot of things. For Nokia it means that the same framework will be available for different platforms, for users that they will have more software being developed and for us, developers, that we can bring our software for all the devices that Qt is ported to.
Let’s also talk a little bit about platforms: Nokia has been playing with Maemo for some time now and the platform itself is pretty mature. Of course it will have problems but it’s pretty mature and compared to a lot of others out there it’s much better. But Maemo was “confined” to internet tablets…a device that was not good enough to be a netbook and not small enough to be a phone. It was “just” a pocket computer.
However the scenario changed and now we have a mobile phone running Maemo out there (N900) and Nokia learned the lesson about how to attract open source developers (just think that while Apple charge developers to get the full SDK and deploy their software, Nokia gives big discounts on new devices for developers).
I was pretty sad that I couldn’t go to Maemo Summit and show my ideas to everybody out there and it became worse when I saw that everybody there had their N900 and would be able to create awesome stuff for the device. This is one of the downsides of living in Brazil: it’s almost impossible to get/buy new hardwares without paying huge taxes and the developers program always helped on this matter. Too sad =/. BUT it seems that today was my lucky day! I (and some others) received a mail saying that we would receive a discount on an N900! Awesome! So now it will be possible to do all the stuff I was planning to do!
Plasma Netbook is one of my main objectives for the short/mid term (take a look here for the last news). It has a lot of potential and a lot of great ideas around it. We already received good reviews even in “less than alpha” state and we’re looking for companies that want to sell their stuff with something that will provide a unique user experience. If you are interested, contact us…we can explain our ideas and provide details about it. Also know we have Marco working full time on this, while I’m working full time on Qt and others are keeping plasma up to shape.
And probably you’re asking yourself why you should be interested in what I said above. The reason is just below. Take a look at the pictures and at the videos.
Shared Plasmoid on N900
I didn’t use Plasma netbook for this demo because I needed to recompile some stuff and it’s much better in a real netbook. This demo I’ll do during my talk on Latinoware. But for those that can’t go, I’ll talk a little bit: user experience is more than what the user does in front of his computer. It’s all about tasks. Recently, Rob integrated into KDE 4.4 his wonderful SoC called Remote Widgets. This enables two machines to share Plasma content in a very nice and easy way (I don’t even need to say that developers using libplasma get this feature for free, do I ?).
For me it was a pretty clear path to go. I want to share my widgets (that helps me during my day-to-day tasks) between different devices, so I can “take” them with me even if I leave my computer. This can be applied to many plasmoids and this is just a demo. I get a plasmoid that is in my desktop and share it with my mobile phone (in this case an N900 that a friend that went to Maemo Summit led me for this weekend). Pretty simple and easy to achieve (ok, it was hard to record the movie, talk and do all the stuff at the same time hehe). For security reasons it asks for pin codes between the two devices (just like bluetooth pairing – and you can have trusted devices too) and you can even save your passwords using KWallet :).
Thanks to Mek and Darktears for sharing Qt/KDE compile problems in scratchbox, Vudentz for the device and Aaron and work mates for calming me down when I was compiling all the stuff 🙂 Any questions are welcome and remember that we can extend this a lot! (preempting one question: yes, it’s possible to share the “now playing” plasmoid and control your Amarok from the device 😉 ).