Tag Archives: Maemo

User Experience with Different Devices

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

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 ?).

Original Plasmoid on Desktop

Original Plasmoid on Desktop (written using Javascript)

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 :).

(if you can’t see the video above, try going here: http://www.youtube.com/watch?v=F1qxdYAUBbk)

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 πŸ˜‰ ).

Cheers!

Bossa Conference 2009

It’s coming! Finally! Every year before the conference I have this feeling of happiness mixed with a lot of expectation. This is the third edition of this conference and the other two was just awesome….

It was after the first one that we started working on the base of Canola2, after the second one we started working on QEdje and….what will be this year ? hehe…To be honest I already have some idea of what we are going to do but, I’ll just wait πŸ˜‰

About this edition I can say that we’ll have people from even more open source communities, having the pleasure of receiving KDE people. Who comes to Bossa Conference will have the opportunity toΒ  watch talks about Qt Kinetic, declarative UI’s, Webkit, Plasma, Enlightenment (EFL), software security, HAL/PolicyKit, Python, wireless technologies, free software licenses, Openembedded, VoIP, Maemo…..ouch, a lot of topics πŸ˜‰

Besides that we have hacking times with code camps, discussions inside the pool, parties, beach and a lot of food =) hehe…

Being honest: It’s just great! It worth it =). I hope I can meet some of you guys there (some I already know I’ll meet).

So after a year of conferences: aKademy, Maemo summit, linuxconf.au, Camp KDE, here comes Bossa Conference. Take a look in the video below to see what happened last year….

Bossa Conference 2008

If you want more information just visit the conference’s website or talk to me on IRC / email!

And just a month before this I’m going to Tokamak II (btw, thanks pinheiro πŸ˜‰ )….how wonderful is life =P

See you πŸ˜‰

xine 4 Maemo ?

I have been thinking about a port of xine to maemo since a long time ago. Maybe you are thinking: “why have xine when you already have gstreamer and mplayer ?”

Well, the problem is that it’s very hard to use mplayer as a backend for media players but it’s actually the best video player for the platform, thanks to Siarhei and some other developers that contribute with the project. It’s very hard because mplayer was not develop having in mind that it would be used by other applications, it’s “just” an application that accepts commands from the standard input. So, it’s very annoying to handle errors and send/receive commands to/from mplayer.

If we had xine for the platform, we could still have mplayer as a video player and also have xine as a library so it would be easier for multimedia applications to make use of all the features provided by xine. I’m specially interested in gapless playback of mp3 files (it’s a feature that Canola’s users just want) and to use every optimization that mplayer has, as it’ll be good for both engines.

I’ve already started playing around with xine. I compiled it on scratchbox and tried on my brand new n810. The audio was just choppy =/ . So I took a look on mplayer’s alsa code and discovered that it would need a trick: instead of sending number_of_frames to alsa, I needed to calc the correct amount of data to send to alsa:

Β int write_size = number_of_frames / this->bytes_per_frame;

Β After that, just good sound out of speakers =) . Of course, video playback was nothing compared to mplayer but it has potential, as both share the same ffmpeg library.

So, if you are interested in helping me with this task, you’re welcome πŸ˜‰