Archive for Maemo

MeeGo Summit

Heihopsti, pole ammu midagi siia kirjutanud. Väga töökad ajad on olnud ja pole olnud aega pläkutamiseks. Käisin MeeGo Summitil Tamperes, neljapäeva õhtul sai siit minekut tehtud ja täna jõudsin tagasi kõigi sekelduste kiuste.

Peamine põhjus miks üldse sinna mindud sai oli soov teada saada, et mis MeeGo-st edasi saab arvestades viimaseid Nokia suurte ninade otsuseid. Teine motivaator oli see et Intel oli lubanud jagada tahvelarvuteid MeeGo Tablet UX-ga.

Peale Nokia aktiivse osavõtu lõppemist MeeGo projektis on sellega liitnud mitmed teised tegijad. Kui ma nüüd õigesti aru sain siis LG on tulnud punti et mobiiltelefonide arendust teha, üks mõte mis kõlama jäi oligi see et aasia ettevõtted on huvi üles näidanud MeeGo kasutamiseks. Autotoojad muuhulgas BMW ja GM on ka huvitatud MeeGo IVI süsteemidest, ehk maakeeli auto meelelahutusseadmetest. Nii palju kui ma erinevate jutustajate jutust kokku lappisin siis, MeeGo eesmärgiks on olla üldkasutatav avatud lähtekoodiga tarkvarabaas mitmesuguste erinevate seadmete loomiseks.

MeeGo pakub RPM baasil paketihaldust, OBS (OpenSUSE Build System) baasil tarkvara kompileerimist ja pakendamist ning muud tarvilikku, et seadme tootja saaks keskenduda oma tootele mitte tarkvara repositooriumite haldamisele või muudele distributsiooni administreerimistöödele. Üks oluline aspekt on see et MeeGo ei defineeri milline kasutajaliides välja nägema peab erinevalt Androidist kus Google on pannud paika kindlad disainijuhised mis tähendab et Androidi telefonide turul on seadme tootjal üsna keerukas eristuda teistest tarkvara poolel. MeeGo on lubanud jätkata oma API ehitamist Qt baasil ning Qt maailmas on ka mõned huvitavad tehnoloogiad välja tulnud, muuhulgas Qt Quick ning QML millega annab teha päris huvitavaid graafikarohkeid kasutajaliidese lahendusi.

Jõudsin ka üle vaadata mis staadiumis MeeGo erinevad user experience reference designid on. MeeGo on hetkeseisuga välja lasnud USB pulga tõmmise netbookide jaoks. Minu Thinkpadi peal läks ta täitsa kenasti käima ning esmapilgul tundus üsna kasutuskõlbulik. Netbooki ISO sees olid siis näiteks hunnik GNOME programme muuhulgas näiteks Nautilus, muusika pleieriks oli Banshee ning veebilehitsejaks Chromium.

Oulust pärit firma AAVA Mobile OY loodav telefon pidi saama ametlikuks MeeGo Handheld UX riistvara reference designiks kuid hetkeseisuga pole seda veel välja lastud. MeeGo Handheld UX tõmmisest on hetkel kättesaadav nn. Developer Edition mille annab kirjutada 4GB micro-SD kaardile ning buutida N900 peal kasutades U-Boot nimelist programmi kuid hetkel pole see minu arvates kaugelki kasutatav.

Tahvelarvutite jaoks mõeldud MeeGo Tablet UX jaoks võeti riistvara etalondisainiks ExoPC Slate. Tegu on Kanadast pärit tahvelarvutiga mille sees on Intel Atom protsessor, 2GB mälu, 64GB SSD ning palju muudki huvitavat. See on ka masin mida Intel jagas 175 esimesele AppUp seminarile registreerunule. AppUp seminar toimus MeeGo summiti viimasel päeval kus Inteli mehed rääkisid oma app-ide poest. MeeGo tahvelarvuti variant pole ka eriti kasutuskõlbulik.

Kokkuvõttes on MeeGo praegu väga-väga toores, kuid arvestades et hetkel on pundis Intel, Novell, LG ja paljud teised liitumas siis lootust võib veel olla. Apple iPhone ja Google Androidi kohta öeldi ju ka alguses et it will never work.

*Käesolev post sai kiirelt kribatud ja sisaldab tõenäoliselt üsna palju kirjavigu :)

No comment »

Nokia flips off open-source community

This is a summary of key open-source related events of Nokia in past five years.

In 2005 Nokia launched Nokia 770 internet tablet, being the first device to ship Maemo. Maemo then featured GTK derived user interface and closed-source Opera web browser.

It was quickly followed by Nokia N800 and Nokia N810 in 2007 which included Mozilla Fennec, an Firefox derived web browser optimized for mobile devices. In the May of 2009 Mozilla and Nokia arranged a two day hacking fest to enable further collaboration between Mozilla and Maemo, to have better support for Mozilla’s Fennec in Maemo.

In the beginning of 2008 Nokia acquired Qt of Norwegian company Trolltech. Qt is cross-platform application and UI framework used by many open-source projects. KDE, one of the main desktop environments used on GNU/Linux workstations relies on Qt libraries. After acquisition Nokia became patron of KDE being one of the supporters of KDE development.

In 2008 Nokia also aquired Symbian and made it open-source. In addition they started porting Qt to Symbian making Symbian platform supporting Qt based applications.

In October of 2009 Nokia officially released Nokia N900. The Maemo for N900 featured native support for Qt applications and included some closed-source components like GPS and GSM kernel modules. In the February of 2010 Nokia and Intel announced plans to merge Intel’s Moblin and Nokia’s Maemo to become MeeGo.

It seemed Nokia had embraced open-source until 21. September of 2010 when they announced that Olli-Pekka Kallasvuo would step down as the CEO of Nokia to be replaced by Stephen Elop. What is worth mentioning is that Elop had worked as the head of Microsoft’s business division between 2008 and 2010.

Just few months before Nokia’s planned releasing of the first MeeGo device, Ari Jaaksi the Nokia’s MeeGo device chief quits for “personal reasons”. Few months later on 11. February of 2011 Nokia announced their strategy for future putting emphasis on Windows Phone 7 platform. That day Nokia lost 5 billion USD (15%) of their market cap.

Microsoft-centric strategy involves moving Nokia Ovi store to Microsoft Marketplace and Nokia Maps to Microsoft’s Bing. Most importantly Microsoft is supposed to provide all developer tools to Nokia which might mean that they will drop Qt support altogether. KDE has fortunately signed an agreement which allows them to release Qt under license of their choice if that should happen.

So what is the bottom line? Symbian, while having the majority of market share, was dying platform and they had to find something to fight against Android and iPhone. Having Qt on top of Symbian and Maemo/MeeGo for future devices, had a lot potential to do that. Yet from having the support of open-source community, they ended up with Microsoft and losing even more of their market value.

No comment »

Akademy 2010

Friday afternoon me and Estobuntu guys started driving from Tallinn towards Tampere. Unfortunately we didn’t have amphibious vehicle at our disposal so we had to take a boat to cross Gulf of Finland. We arrived here around 9pm – luckily there was some free beer left!

Now the first day of Akademy 2010 conference is slowly coming to an end. There has been dozens interesting and useful lectures. Several Free Software projects are represented – KDE, Maemo, MeeGo, Qt and so on. Salmon for lunch was great, altough it could have been free!

Flickr photo stream has great pictures of the event. In the evening there is going to be a party – hopefully with free beer!

UPDATE:

Nokia Certified Qt Developer logo

On monday I took a test and I passed it – I am now Nokia Certified Qt Developer. All the conference attendees could have it for free.

No comment »

Setuptools for tranisfex-mobile

My GSoC project is progressing step-by-step and now I got to this point where I had to add some installation scripts to make it easier to install the application. For Python applications there used to be Distutils which has been gradually replaced by Setuptools. Setting up Setuptools is rather confusing in the beginning.

For example if you’re shipping random data files with your application and accessing those files by reading them as regular files, you have to mark the package as not zip-safe. There are some options to read those files from the zip file altough I am not sure if this is possible with Qt4, more specifically QIcon. There is more discussion about packaging your Python application and reading packaged files here.

Getting icons, modules and other files properly included took some time. For arbitrary files I used “data_files” parameter. For Python modules inside a directory “packages”. For modules in single file form “py_modules”. To automagically generate /usr/bin/transifex-mobile I used “console_script” inside “entry_point”. The resulting setup.py is accessible here, hopefully this saves some time who’s doing exactly the same thing.

So the application pretty much handles PO files, you can open them, edit strings, filter, search them and save the file. On N900 I am having some issues with QFileDialog, it seems to be extremely slow and sluggish. You can try out the application on your PC by:

git clone git://gitorious.org/transifex-mobile/transifex-mobile.git
cd transifex-mobile
python main.py

Setuptools should handle installation from source like this:

sudo python setup.py install

Afterwards you should be able to start application easily, since init script is added to /usr/bin:

transifex-mobile

I added some custom commands to setup.py, for example cleaning script to remove temporary files from the source tree:

python setup.py clean

I also made an attempt to add support for Debian package generation. Unfortunately the file/directory paths are messed up in the resulting Debian package:

python setup.py dch # Rotate changelog
python setup.py dpkg_buildpackage # Generate *.deb

I would be thankful to anyone who could help out with testing. Any comments about the path mess in Debian package are also welcome.

Git tip: I had some commits in my Git repository with incorrect e-mail address. I found cure for this here:

git filter-branch -f --env-filter "export GIT_AUTHOR_NAME='Lauri Võsandi'; export GIT_AUTHOR_EMAIL='lauri.vosandi@gmail.com'" HEAD

Comments (1) »

Python and Qt4 on N900

So I’ve been digging around to get back on the track with development on Maemo. Appearenty much of Maemo specific stuff is not available in PyQt4 at the moment. This includes features like auto-orientation of windows and so forth. The guys at #maemo suggested using PySide. PySide is basically Nokia funded rewrite of PyQt4. Main reason for rewrite was PyQt4′s license which is rather restrictive for Nokian use. Additionally it packs some extra bells and whistles for N900 development.

Fair enough – I am convinced that I need to switch from PyQt4 to PySide. Appearently there is currently a big mess with Qt packages. The Qt4 C++ libraries are based on 4.5.x branch but PySide packages depend on 4.6.x. I ended up reflashing my N900 and installing Qt 4.6 packages from fremantle SDK repository by following instructions here.

Afterwards I installed PySide from here.

Comments (1) »

Transifex mobile Git repository

I have set up Git repository at gitorious.org, hopefully somebody will add it to maemo.gitorious.org also. Currently repostiory is empty. I am working on some bits to make it work with beta.transifex.net. That’s where Transifex guys are trying out new version of Transifex which incorporates API and other cool stuff! Until I get Transifex client for Maemo working you can check out the new online translation editor there.

Now getting to my second point – I need Your input, suggestions and ideas to make Transifex client for Maemo a killer-app for N900. You are very much welcome to comment this blog post or drop me an e-mail with your thoughts.

You can start watching my repository here

No comment »

Transifex mobile

I was the lucky one to get accepted for Google Summer of Code also this year. I am again, under Maemo, or as it is now called MeeGo. My proposal was about creating a Transifex client for Maemo, using PyQt4. This ofcourse means that such program would also run on any desktop machine.

The application should fetch bunch of strings from Transifex, user could be able to work on them using nice user interface and preferably also while she’s commuting in a train while being offline. Once connected to a wireless access point, it could push the strings back to Transifex. This application should present similar navigation logic as found in Transifex, which allows browsing projects, components, files etc and allow searching in them. I have already managed to scratch the surface of all the work that has to be done, here’s some eyecandy for you:

For those who don’t know yet, Transifex is a web based localization software, available in SaaS form at http://www.transifex.net. Currently it can hook up to your FOSS project’s VCS and pull *.PO files. Translators can access strings in what they call Lotte (Lightweight Online Translaton Editor). While submitting strings, they are pushed back to VCS. Right now they’re working on next major version of Transifex, which will bring even more cool features.

Link to my proposal

No comment »