Both are very interesting technologies, that might become quite important in the long run, so if you are interested in one of the above, you should really go check out the article :-)
The article introduces the two technologies, their concepts, and tries to look at their similarities and differences. Write writing the article I implemented some examples in both QML and CSS3, and I have based some of the article on these findings.
You can find the article here:
http://kenneth.christiansen.googlepages.com/DUI.html
The iPhone application for Yelp is one of the finest non-mapping location aware applications I've seen. I find myself frequently using it around Silicon Valley as I am still unfamiliar with many things around here even after living here since October. Yelp provides an API. Think some creative developer can get into making it an application?
Changes since 0.12.7
- Don't crash if device descriptions don't contain a root element.
- Fix pkg-config paths.
- Avoid using asserts.
- Use the closest match instead of using the icon that was last checked.
- Expect xmlRecoverMemory to fail.
- Reject action messages with zero content length.
- Change version in action answer.
Bug fixes in this release:
- bug#1570: gupnp doesn't set the pkgconfig lib dir correctly in 64 bit env.
- bug#1574: Avoid using asserts.
- bug#1592: gupnp_device_info_get_icon_url() does not return the closest match.
- bug#1604: Crash on action without any content.
All contributors to this release:
Ross Burton
Zeeshan Ali (Khattak)
Steven Dorigotti
Sven Neumann
Jens Georg
Download at: http://gupnp.org/sources/gupnp/gupnp-0.12.8.tar.gz
I will be talking about MAFW, the Media Application Framework for Maemo, at the Desktop Summit in Gran Canaria. That will be a nice place to introduce MAFW to the desktop community as well as an opportunity to showcase it to those interested.
The talk is scheduled on Wednesday 8th July, for details on MAFW and the contents of the talk you can take a look here.
Its time to make announcements… I should have done this earlier, but like always it takes me a while to find a free minute to write things down.
As presented on my last post, I’ve been working in Meiga, a lightweight content sharing tool for the desktop.
What you could find these days in the git repository was a beta. I’ve been working last days in the final details and now it’s ready to be released. Here it is:
There you will find packages for Ubuntu Hardy, Intrepid and Jaunty, as well as a link to the source code.
I hope you to enjoy it as much as I’ve enjoyed writing it. Of course, comments and improvement suggestions for next versions are welcome.
Most notably the user interface looks a bit different now as it has been tidied up for a more consistent look & feel and much better performance with reduced memory footprint.
Quick Scrolling and Search
The item lists have a thumbable scrollbar and a index letter display helps you find your way while quick scrolling.
While searching for an item with the onscreen-keyboard or a hardware-keyboard, you can skip to the previous and next search results by pressing up or down on the D-pad.
Falling Asleep and Waking Up with Music
If you like to fall asleep with music or want to wake up with music, you will love the new sleep timer. Simply set the time when MediaBox should start or stop playing in the preferences viewer and select the media you want to have played. The sleep timer simulates PLAY and STOP actions so it can be used with virtually any media. For instance, you can have MediaBox wake you up with FM radio on the N800. With this feature, my N800 finally earned a steady place next to my bed.
Timed Karaoke Lyrics
Do you like lyrics? MediaBox displays song lyrics in LRC format. LRC lyrics files need to match the file name of the song file, e.g. "Song.mp3" and "Song.lrc".
LRC is a popular file format in China, and you can find lots of lyrics on various lyrics servers. Since LRC files are text files, you can also create them yourself.
I plan on making a LRC editor for MediaBox in the near future, too.
As always, MediaBox is available for N800 and N810 in the maemo-extras repository.
Nokia 770 users can retrieve MediaBox from the SVN repository or manually pull the
deb packages from the Chinook maemo-extras repository server.
A full list of what's new can be found in the release notes.
We’re working with Qt Kinetic at INdT. Mamona, as our platform, should support it.
Question: Do you want to test on your device?
A lot of things are going on lately and it turns out I'm way to busy to update my weblog on a regular basis. So, this is just a short post to keep you all updated.
I was looking for that for quite some time, and now I have found it: Removing the sidebar of Wikipedia to make better use of the tablet screen. If you have been using Greasemonkey before, you probably know that already. If not, here's a mini-HOWTO:
- Download Greasemonkey for MicroB from Maemo Browser Extras (Install)
- Install Wide Wikipedia from Userscripts.org (Install)
Are there any other good userscripts that you are using on your tablets?
There has been a lot of talk lately about what the Maemo Community Council is and how we should operate. This is a good thing -- something that the first Council asked for at Maemo Summit 2008.
A lot has happened since the inaugural Council was elected. I won't mention it all here, as it has been discussed ad nauseum in a few other places. What I will say is that we have been busy. Some of our work has been public and some has not. Some has made people happy and some has not. But, what has become clear is that there are definitely things that could be done better... One of them is communication with the Maemo Community.
Because of this, we have decided to hold a Public Maemo Community Council Meeting, this Monday, 8 June 2009, at 13:30 UTC.
Anyone can participate at freenode.net/maemo-meeting.
The itinerary is below.
###
PUBLIC MAEMO COMMUNITY COUNCIL MEETING
THEME: Communication
1. One place for all communication: Where? (<5 minutes)
- Council blog
- Council wiki
- maemo-community mailing list (if integrated with tmo)
- Council subforum on tmo
- Other?
2. Representing the Maemo Community (maemo.org)... (<10 minutes)
- Take _every_ community "item" (request, complaint, etc.) into
consideration?
- Community trusts Council to make assessments/decisions based on
these "items"?
- "Items" brough to a Coucil-moderated "community meeting" so that
community can decide?
3. Representing Maemo SW (Nokia)... (5 minutes)
- Is this actually helpful to the community?
- Ideas on bettering inter-community communication about official
correspondence?
4. Redefinition of Community Council. (<10
minutes)
- Quims proposal:
OPEN COMMUNICATION...
* News and calls for participation are summarized in the
Council blog (RSS).
* Council micro-updates can be followed at [new thread to
be created in this forum] (watch)
* Council oriented conversation happens in the maemo.org
Talk forum (archive) and the maemo-community mailing list
(archive), in threads identified with the [Council] tag.
* Also, Council members are usually present over IRC in
#maemo, happy to chat with you.
5. Regular Maemo Community town hall meetings? (5 minutes)
- At all?
- Every month?
- 6x/year? (Every other month)
- Quarterly?
###
We hope to see you there!
The video below shows a simple browser(EWebLauncher) based on Webkit-EFL engine.
Some pictures available HERE.
Patches to mamona.git available HERE or you can clone my devel branch.
A Quick Look at Maemo Official Platform in Bugzilla
2009-06-01 through 2009-06-07
A Quick Look at Maemo Official Applications in Bugzilla
2009-06-01 through 2009-06-07
The last week I started playing with SAL: the “Search and Launch” containment for the netbook project. It was really nice as I played with Runners and could finally understand some bits that were still inside a black box for me. It’s sooo easy to use Runners on your applications!
So, the main idea behind this containment is that instead of using a regular menu like Kickoff you would be able to just search for what you’re looking for. The regular desktop already uses this feature inside KRunner but just advanced users and a few beginners know about it and how to use it properly (besides the fact that it’s trivial to use) – it’s hidden and is only triggered by a shortcut or by the menu entry “Run Command” that is not so visible.
Right now, as you can see in the screenshot below (sorry, no videos as I need to recompile some stuff to make recordMyDesktop work again) I put an edit line widget to type the queries but later this will be inside the panel. The user just types whatever he wants to do: it can be the name of an application, category (web browser), contact, calculation, unit conversion, etc.. (we’re thinking of a way to teach the user everything he is able to query – but suggestions are welcome).
There is also the “Favourites Strip”. When you mouse hover one of the results you’re able to add it to the Favourite Strip clicking on the “star icon”. Add as much favourites as you want and you can scroll between them in a “carousel” like widget. Maybe in the future we can make it more beautiful with Kinetic and add some bling Right now I want something that really works and we can add blings later (using Kinetic – and yes we may use animated layouts too \o/ hehe). Ah, and I really wished that we already had anchor layouts while developing SAL. It would be so easy and I would not have a lot of problems that I had to layout the widgets =/.
Now I need to make it persistent (so we are able to restore the favourites) and also remove the edit line widget and put in the panel as it was planed first.
Cheers,
The 1980s were a great time to grow up if you had even the slightest interest in science and technology. On terrestrial TV we had amazing shows such as Tomorrow’s World, which managed to perfectly package the latest advances in science and technology for consumption by the average person in the street, or child even, and without being patronising.
First, INdT came with Webkit-EFL port. Later on, Barbieri came with EVE browser based on the Webkit and EFL.
Thank you all!
You can see it running on N810 with Mamona(video and pictures below).
While deploying Geoclue with friends, I came to the conclusion that we need a GUI tool for end users to setup Geoclue. Geoclue-properties was born. gstreamer-properties was an inspiration (for the name, and part of the visual aspect).
I started the project only last Monday night, but you can already do this with it:
- See your current address and postion according to Geoclue
- List installed providers and their provided services
- Set an address on the Manual provider
- Set the address for the current network on the Localnet provider
- List previously configured addresses in the Localnet provider
Just the last items save the user of having to use dbus-send incantations. For the screenshot lovers, here’s your dose.
The project is still quite embryonic. It is my first attempt at using Python for such a task and I lack knowledge (and quite frankly time) on how to create the project’s infrastructure (almost as if I am missing autotools — scary!). If someone is willing to contribute that or point me the doc I’d appreciate!
Many Maemo developers have noticed that the version of Xephyr (xserver-xephyr) on Ubuntu Jaunty crashes very easily, making the SDK nearly useless. I uploaded a Xepyhr version to the Openismus PPA with the patch applied to fix the crash. Maybe one of the open launchpad bugs is relevant.
I wouldn’t generally advise you to upgrade to Ubuntu Jaunty anyway, certainly not if you have Intel graphics (for instance on my Lenovo X61) – ironically the very graphics hardware that you’d expect to work with Linux.
In my normal FCC filing cruising while stalking the next Internet Tablet, I saw the newly filed LJP-RM504. This is what I know so far:
Confidentiality filed for 45 days from June 3. The button configuration looks JUST like the 5800 XpressMusic, so it's not likely to be the next Internet Tablet. Still - worth watching.
GSM 850
GSM 1900
GPRS 850
GPRS 1900
EGPRS 850
EGPRS 1900
BT 2450
WLAN 2450
Great quote:
This device has Dual Transfer Mode capability for use at the ear. Therefore, SAR for multi slot GPRS mode was evaluated against the head profile of the phantom.
There is a lot of new API that was added to hildon since Diablo, and unfortunately the API reference is quite poor, compared to the GTK+ documentation, for instance. This made my job a lot harder, as much of the documentation for the C++ bindings is automatically copied from the C API reference. In some cases, there was not even skeleton documentation for the C API, so I had to look at the source code of hildon to guide me. However, eventually I was able to figure out how the new API was supposed to be used and write some examples, as well as tutorial documentation to go with them. Not only that, but a bug that I filed regarding the lack of documentation got fixed, and I will surely find a few more bugs, so the documentation should improve for everyone (eventually).
When I committed my documentation changes, Murray would review and send me comments, or apply some simple fixes himself, and over the course of the project I was able to get closer to his desired coding and writing style. Hopefully, in future, fewer or no changes will be required! Now that I've finished, I feel a lot more comfortable with the Maemo APIs and also Gtkmm, and the process of documenting an API which I had very little experience of was actually pretty fun.
Since the Nokia 770, users have been asking for more desktop interoperability between the tablets and the PC. Simple things like contact sync, calendar sync, and bookmark sync have been requested. So far, the Internet Tablet developers have treated the Maemo platform as more of a "laptop alternative" than "laptop companion." With mobiles becoming more computer-like and laptop class systems becoming more "smartphone-like," it'd be nice if the tablets were offered the same desktop support software of the Ovi suite.
There are problems, though. Applications "available on Ovi" won't work on the Internet Tablets unless tablets and phones have two different application stores. Consumer confusion is a BAD thing, especially with the N series competing with Apple's "it just all works together" iPhone model.
Thoughts?
David King blogged that we have draft documentation online for the Maemomm (C++) API for Maemo 5.
The text needs to be filled out a little and corrected here and there. But we have figured out how to actually use the new widgets, as shown by our example code. And the list of screenshots of the examples is probably the first time you’ll see most of the new Hildon widgets all together. It’s radically different to the previous Maemo UI, rightly so.
It is possible to create a network connection between a Maemo device (N8×0) and a Host PC in several ways: USB, Bluetooth and WLAN. The PC-Connectivity project just released the Beta 1 version of two applets to help the users and developers to connect the device to a PC with a single click. The PC to connect is not restricted to be a Linux machine, as MAC and Windows are also supported.
The first applet called “PC Connectivity Manager” is placed at Maemo “Control Panel”. It allows the user to enable/disable the connections and also to setup them changing IP address, netmask, etc.. The second applet called “Connection Switcher” is placed at Maemo status bar. It is the faster way to enable/disable the connections.
Besides the network connection features, the applets also allow us to configure other connection tools, such as x11vnc and nfs sharing. It is also possible to create “environments”, so different settings can be configured for different PCs.
For more details:
- PC Connectivity Beta 1 pages
- Installation
- Configuring USB, Bluetooth, WLAN (ad-hoc)
In our various GeoClue presentations we've been arguing that location comes in many flavors, of which GPS is only one. In many cases cell tower position or even WiFi connection can provide quite "good enough" location. On Mozilla Hacks they write about an OpenStreetMap-based browser location demo. I'd say the results are quite convincing:
This is just a gentle reminder to allow other location sources that just GPS. By using GeoClue you get that for free.
Technorati Tags: firefox, geoclue, openstreetmap
As some already know, a new version of BlueMaemo rolled out in the last Thursday. BlueMaemo 0.3 is mostly a bug-fix release, but some new features are also available.
BlueMaemo v0.3 Changelog:
* Added support for the hardware keyboard in all profiles
* Added support for ‘key combos’ (e.g: ctrl+f, ctrl+alt+f6,…)
* Added Ctrl, Alt and F1 to F11 keys in the virtual keyboard
* Fixed bug in the bluetooth adapter state
* Moved configuration files to /etc/bluemaemo/
* Added back buttons in the ‘wait for connection’ and ‘process connection’ screens
* Fixed the sdl/openGL keystrokes bug
In other news, the BlueMaemo bug tracker was moved to the official maemo bugzilla (Thanks Andre), so now on you should report bug and submit feature requests (enhancement) there.
I would like to thank everyone that submitted bug reports and feature request, especially our package master Qwerty12 for some tips about the debian packaging, and Pycage that sent me a lot of outputs, that helped me fix a bug related to the keystrokes sent to games written in SDL/OpenGL.
Next developments will target Fremantle and improvements in the PS3 support.
I would like to give more time to my open source projects, but right now my thesis work is eating most of my time .
BlueMaemo V0.3 is available here.
A Quick Look at Maemo Official Platform in Bugzilla
2009-06-08 through 2009-06-14
A Quick Look at Maemo Official Applications in Bugzilla
2009-06-08 through 2009-06-14
For more information about these features, you can visit Forum Nokia Blog page.
- <html>
- <body>
- <script type="application/javascript;version=1.7">
- function f1(parameter) {
- alert(parameter);
- }
- function f2(parameter) {
- alert(parameter);
- let parameter = "value";
- }
- f1("hello");
- f2("hello");
- </script>
- </body>
- </html>
Continuing with the “Curiosities” serie, today I bring another one: Javascript doesn’t take too well the definition of a variable with the same name as a function parameter. If you do this, the parameter is lost.
Copy the code to a local file and try it yourself… Surprisingly, the second alert will print “undefined”.
Various attempts at 2D-rendering benchmark suites have appeared and even become popular. Notable examples are x11perf and gtkperf. My claim is that these tools range from useless to actively harmful when the task is understanding performance of real applications.
...
Unfortunately, the workload of things like x11perf and gtkperf rarely come close to simulating practical workloads.
Should I be offended and sad as someone as respected as Carl blames my precious GtkPerf? Well of course not! Citing myself from GtkPerf website:
I know that bencmarking tools (including GtkPerf) can be fooled and don't give real-life results. Yet, I belive that GtkPerf can be helpful to solve for example this kind of things:
...
So as seen, I fully agree (and have always agreed) that GtkPerf is not the tool to use for getting real-life application performance measurements. But what it is, is a very easy and fast way to get a view of the GTK+/GDK/Cairo performance of your system.
These days I spend my time mostly with Qt and often benchmark the actual frame rate of the application, which with QGraphicsView-based UI is easily done for the whole view using the paintEvent() callback. And keeping the FPS visible when developing your new flashy UI really helps (at least me!) to spot & fix the performance regressions while they happen.
The last thing Carl says is:
The punchline is that we now have an easy way to benchmark 2D rendering in actual, real-world applications. If you see someone benchmarking with only toys like x11perf or gtkperf, go ahead and point them to this post, or the the cairo-perf-trace entry in the cairo FAQ, and insist on benchmarks from real applications.
So pointing: When measuring GTK+/Cairo performance trying to get accurate real-world results, please don't use GtkPerf. Instead use the cairo-perf-trace as noted, thanks!
What I CAN say about the N97 so far - If I can work out a few little bugs and still see no sight of a Fremantle Maemo tablet, I'm going to buy myself one. A white one. I miss a couple little applications of the iPhone (like Yelp and my bank's portal) but the added features of the N97 are worth those losses.
While we keep the Diablo packages of gPodder updated, and even improve the UI somewhat, it's also time to think about how to create a good podcatcher UI for the next iteration of Maemo. During the weekend, I've come up with some ideas on how it could look like. Some of the problems have already been fixed in the latest release, watch the video of the new UI here:
You can find a list of things that are already working and things where you could help on the gPodder Fremantle Roadmap, and don't forget to report any bugs you find (both in Diablo and Fremantle) to gPodder @ Maemo Bugs.
Bugzilla isn't really the best place for contributing and discussing new ideas for a software project. Like Ubuntu and openSUSE before us, the Maemo community now also has a better tool for this: Maemo Brainstorm.
Maemo Brainstorm, developed as part of our efforts to the April 09 Sprint is a new web service that follows the model of Drupal's IdeaTorrent, but with a particular Maemo flavor.
Users can propose new ideas:
Users can also comment and propose solutions for ideas:
The ideas then enter "Sandbox", from where moderators can put them through the Brainstorm workflow:
After voting, popular ideas may then be chosen to be implemented by a team of moderators.
In addition to normal IdeaTorrent-like functionality as described in the Task page on Maemo Wiki, there are some adaptations for the maemo.org environment, including:
- Posting popular or implemented ideas will give Karma to the user (and posting duplicates will take it away)
- Promoting and demoting solutions, or commenting an idea will give Karma to the user
- The system follows the new Maemo visual style everywhere
- Users and permissions are managed using normal Midgard groups system
Some work is still being done on Brainstorm, including a dedicated search for this area of the site. In the meanwhile, please go and submit your favorite ideas, and vote for the ideas others have submitted. You can also follow the categories you're interested in via their RSS feeds, or the progress of your own ideas via the Dashboard.
And be sure to report any issues or ideas you have about Brainstorm itself!
Technorati Tags: brainstorm, maemo, midgard, moderation, ideatorrent
AT&T managed to dampen my joy of using an N97 and finding my N810 where it hid in my apartment. The DSL router above has a center light that should stay green but is instead blinking red. Apparently - for no reason - my DSL service decided to no longer work and AT&T can't figure it out so are dispatching a tech to my apartment. FRIDAY MORNING.
I'd use my N97 to get online but I can barely get phone reception at home - much less 3G. Who is my carrier? AT&T.
A blogger with a full-time job and no home internet is a slow blogger.
Here's some advice: Don't give AT&T money for anything unless you have no other choice.
I use Nokia E66 phone. It runs S60 3rd edition FP1 (aka Symbian 9.2). When I switched to it sending files over Bluetooth was easy: obexftp -b BD:AD:RR:EE:SS:00 -p FILE1 FILE2
and files landed as messages in phone Inbox. But for some time it is not working — all I got was “Sending FILE1…failed” like messages.
Hopefully obexftp tool has some options available so after some tests I got it working. And result is even better as files lands in file system instead of Inbox. The trick is to give path on phone to obexftp: obexftp -b BD:AD:RR:EE:SS:00 -c E:/folder/on/card -p FILE1 FILE2
and files will land there.
Simple, nice and the most important: working :D
Related posts:
I have always liked the idea to have an Anjuta plugin that simplifies the use of cross toolchains in order to develop for all sorts of mobile and embedded devices. Personally I do not rely on an IDE but I have worked with a lot of developers in the past who are not used to do application development with vi. The same applies to cross toolchains, but there are reasons why people compile natively or why tools like Scratchbox are developed.
Some time ago OpenedHand published an Anjuta plugin for Poky that almost fits these needs – apart from minor lacks and the fact that you can’t use it with an OpenEmbedded build tree because it relies on the Poky directory layout. It didn’t take me long to modify the Poky plugin to fit the needs for OpenEmbedded: I have added automatic detection of the toolchain host prefix and some functionality to deal with the (not 100% fixed) directory layout of OpenEmbedded. So what does it do?
- Select a toolchain or OpenEmbedded build directory to use
- Configure and build a project
- Deploying of binaries to a target device using rsync and ssh
- Some debug and remote device features from the original plugin I didn’t test so far
It is easy to install (and build if necessary). I have created an initial website for it at KC Labs. You can find both source archive and binary packages for Ubuntu (9.04) and Debian Lenny. Once you have it installed it you should be able to design your GUI, fill it with functionality and deploy the application to a target device withouth leaving Anjuta.
Feedback is very welcome – if you have ideas about new features or what you would like to see for cross development please let me know!
Have a nice time…
PS: LinuxTag is approaching – visit the Embeded Area with projects like OpenEmbedded and Coreboot!
These "tricks" are scattered around the web, but I have not found a compact, to-the-point post with all the shortcuts that we can use on the on-screen (stylus) keyboard and with the hardware keyboard, so here it is:
N800/N810 on-screen stylus keyboard gestures
- Space: Tap and move right
- Enter: Tap and move down
- Backspace: Tap and move left (keep the stylus on the touchscreen and move to the right, then left again, etc.. for multiple backspace keypresses)
- Shift inversion: Tap the character you want shifted and move up (also works for the number block and its special characters)
N810 hardware keyboard shift+Fn alternatives
- Shift single character: Press shift, release shift, then press character
- Single "blue" character: Press Fn, release Fn, then press character
- Shift lock: Press Shift twice (press shift once to leave the shift lock mode)
- Fn lock/"Number mode": Press Fn twice (press Fn once to leave the Fn lock mode)
The Single "blue" character shortcut is helpful to enter special characters and numbers on the left side of the hardware keyboard with your left thumb only, as there is no Fn key on the right side of the keyboard.
Update: Timeless pointed out that these are well documented in the OS2008 "Help" application under "Text input methods" and then "Virtual keyboards" and "Integrated keyboard". The latter even includes another hint for entering accented letters and umlauts: Hold down Chr and press the letter key repeated until the desired accented letter appears. Even if you normally don't read the online manual, these two pages are worth reading.
This post is a general ramble about the limits of keeping API the same on significantly different platforms. It uses Maemo’s Hildon and Maemo’s Qt as examples, but don’t get offended. Hildon’s new UI in Maemo 5 is wonderfully appropriate for small touch-screen devices, and the API is the best that the developers could do in the short time available, in their circumstances. Not much can be changed in Hildon now anyway until a theoretical Maemo 6. And Maemo’s Qt is only just getting started.
The Maemo Community Council is very pleased to announce that the Maemo Summit 2009 Call for Content is now open. If you think you have a presentation that would benefit our community, please go to the Content Submission page and add it to the bottom.
Please read both the Call for Content and Submission pages and follow all of the instructions.
Presentations can cover a wide variety of topics, from application development and usage to interesting ways that you are using the Maemo operating system (as well as variants and/or third-party OS's) to unorthodix uses of the internet tablet(s) to core development, etc. The presentations can be user-based, development-based, or a combination of both. No topic is too trivial -- there's always something interesting in how the Maemo Community is using this great open source platform.
Keep in mind that not all content submissions can be accepted. This is primarily due to the fact that there is limited space and time, but also because the Summit organizers would like to create the most interesting and stimulating experience possible. Because of this, a core group of community members have been chosen by the Maemo Communit Council to oversee the approval process for all of the submissions. You will know these people in this Content Committee as maemo.org rockstars, so rest assured that they will do a great job in selecting content for the Summit. Likewise, if you see a submission that you view as a "must have," feel free to voice your opinion in the Community section of the Talk forums. The Content Committee will surely take all discussion about our community's next Summit into consideration.
So, without further ado, the Maemo Summit 2009 Content Committee is:
The Community Council would like to offer our heartfelt thanks to these brave folks. It's a cool, but integral, responsibility.
Note: The logo above was generated as a supporting graphic for this post and is not currently an official piece of Maemo Summit 2009 artwork.
This year, I’ve been asked to help with the content selection for the Maemo Summit, which will be held in October, in Amsterdam. We’re aiming for a very cool conference with lots of tips, tricks, hacks and general hardware coolness over 3 days.
Nokia is organising the first day, and the second and third days are entirely organised by the community. After a round of discussion, myself, Valerio Valerio and Jamie Bennett will be choosing content for the summit from among presentations proposed by the community. We’re aiming for presentations which will target three main audiences: tablet users, application developers and platform developers.
You can read more about the call for content or how to submit a presentation on the Maemo wiki. We’ve agreed on a fairly novel way of filling the schedule – we are starting from an empty grid, with three tracks, a couple of plenary sessions, and some lightning talks. As great talks come in, we will add them directly to the grid. If we don’t think that talks are up to scratch, they will be rejected, the submission will move to the Talk page for the Submissions wiki page, and if we are hesitant, the proposals will stay in the Submissions queue.
This has some great benefits over the usual call for papers/deadline/selection/publish the entire schedule scheme of things. Most proposers will know straight away whether their talk has been accepted, rejected, or converted into a lightning talk. Attendees will see the schedule building up and be able to propose sessions to account for topics that are not yet accounted for. And we will be able to keep some small number of slots until quite late in the organisation cycle for “late breaking news” – those great presentations that arrive too late for your deadline, but which you would really love to see get onto the schedule. And it is a kind of auction system – you have a great interest in getting your presentation proposal in early, rather than waiting for the last minute.
Anyway – let’s see how it works. You can follow the progress of the schedule on the wiki as well.
Good luck to all!
So, you're a Maemo Device user and you've got some ideas about how to make it better, don't you? And, you've always wondered where to voice those ideas, right? But, even if you did, Nokia would never listen to you, would they? Well, all of that has changed.
Introducing: Maemo Brainstorm*
Brainstorm isn't just another bug reporting tool (we still have Bugzilla for that). No, Brainstorm is a place where you can post ideas (any ideas), comment on yours and others' ideas, and even offer solutions to ideas, all with an understanding that Nokia is actually listening.
So, what's the big idea? Anything.
If you have an idea about how an application could be improved -- or even an application that should be developed, Brainstorm is where you should post it. If you want to tell us about that cool widget that you always use on some other competitor's device, tell us at Brainstorm. If you'd like to submit that dream of putting a 72-megapixel camera and a high-performance ultra-small single crystalline silicon microphone on the next Maemo Device, submit it at Brainstorm.
Brainstorm is where you can interact directly with various departments of the Maemo Devices team at Nokia. This is where you will be heard.
As with other brainstorming-type systems (see the Ubuntu Brainstorm as one example), this system will have a number of moderators who will try to help out the process. They are:
- Andre Klapper (andre__)
- Niels Breet (X-fade)
- Quim Gil (qgil)
- Tim Samoff (timsamoff)
- Andrew Flegg (Jaffa)
- Stephen Gadsby (sjgadsby)
- Ryan Abel (GeneralAntilles)
- Sanjeev Visvanatha (eipi)
- Murray Cumming (murrayc)
- Andrew Zhilin (wazd)
- Neil MacLeod (milhouse)
- Eero Tamminen (nakkebar)
As you can see, a few of these people are Nokians. Others were selected from the current Maemo Bugsquad. Finally, there are a couple of frequent Maemo contributors. If you'd like to help out, let us know in the Community section of the Talk forums.
We're looking forward to seeing your submissions!
* maemo.org account required.
The example code link is 404
Maybe: https://garage.maemo.org/svn/maemoexamples/trunk/example_desktop_widget/
Thanks, David. Yes, me moved it to trunk/
A Quick Look at Maemo Official Platform in Bugzilla
2009-06-15 through 2009-06-21
A Quick Look at Maemo Official Applications in Bugzilla
2009-06-15 through 2009-06-21
We have cleaned up the maemomm API reference and put the result online. Here’s an example for the Hildon::TouchSelector widget. Pages such as that are linked often from the “Programming with maemomm” book.
Like the gtkmm API reference, the maemomm API reference is partly autogenerated from the C API reference, with some clever automatic changes, and some manual overrides, so it will improve as the hildon C API reference documentation improves.
Workstreaming means collecting activities of geographically dispersed team members into a consistent news feed, enabling managers to track process and colleagues to stay up-to-date with the day-by-day happenings. As maemo.org is a distributed project worked on by a group of both volunteers and paid employees, some sort of activity monitoring is quite necessary.
For a while this has been done in wiki pages, but since that is not very flexible or connected, better ways have been discussed. The current approach being tested is workstreaming via a Qaiku channel:
Qaiku is a conversation-oriented microblogging service that suits workstreaming quite well:
- It has both a web view and a mobile view, meaning you can workstream on-the-go
- Channels support means activity log entries don't need to "spam" normal microblogging contacts with workstreams
- Private channels means you can track workstreams of confidential projects too
- API and RSS feeds enable us to integrate the workstreaming feed to the wiki pages or where ever we want to
- Separation of comments and actual activity log entries make it easy to discuss things related to the activities
In near future there will also be support for additional machine-readable "Qaiku Data" (like hour amounts, bug numbers, whatever). This is inspired by the Twitter Data initiative, but keeps the data separate from actual message contents to keep Qaiku human-readable. Once that is done, we could possibly build some more workstreaming-oriented UI for this on maemo.org.
So, if you're doing anything on maemo.org, sign up on Qaiku and start posting your updates!
Technorati Tags: microblogging, qaiku, workstreaming
Hello,all:
In the past two weeks, I have done following works:
1. Write a test script for semantic module, then other developers can test it
2. Write a simple xml format user profile file, then user can import and export their interest later
3. Revise the semantic module, add a new class named profile into it to represent the basic class of item profile and user profile.
4. Revise the recommendation algorithm5. Integrate the semantic module into gpodder
Problems:
1. The algorithm still needs to be re-designed. The current algorithm seems not to be accurate. Most of items are given a high score(>0.8), it's due to the semantic similarity measure algorithm is not very good. I will try to read some papers and adopt some new ideas. Later, I will revise this part to fix the problem.
2. Because I spent much more time on the integration than expected, I should postpone the mining interest work to next bi-week.
3. The opencalais may categorize one word into different type, For example, the word "Linux" may be have a type "Technology" or a type "OperatingSystem". So how to correctly generate the user profile is a problem. And how to let user edit the userprofile is another import problem.
Future Plans:
1. If possible, I want to take the relation between two words, the topic category, the social tag( new feature introduced by opencalais 4.1) into account to calculate the semantic similarity measure.
2. I will work on the gpodder to add some essential UIs for user to edit the userprofile and import and export it.
3. Start to consider which context information should be taken into account. LIke the location, city info maybe useful for user to filter some news? Any other useful context? Please tell me if you have some good ideas about it!
If you are interested in my project, then you can find much more information on http://garage.maemo.org/projects/newssprite. You can also check out the code on the svn repository.
Any comments and suggestions are welcome.Thanks.
There is now less time and energy for games, politics and religion in the tech world. For all of us who are in this for the long run -- we all need to get products and services out to consumers ASAP. For us, the key is collaboration.
As a part of our strategy in Maemo, we collaborate with many partners. We work closely with the Mozilla foundation and the Linux foundation. We work in several open source projects such as Gnome, Qt, X and so forth. In addition we work with several industry partners, such as Texas Instruments, who provide us with the underlying technology for the existing Maemo products.
And today we announced that we collaborate with Intel inside several new and established open source projects. This is the kind of upstream collaboration we've been talking about. We say: "Intel and Nokia are coordinating their Open Source technology selection and development investments for Maemo and Moblin. This means alignment behind a range of key Open Source technologies for Mobile Computing such as: oFono, ConnMan, Mozilla, X.Org, BlueZ, D-BUS, Tracker, GStreamer, PulseAudio. "
We both feel that it makes a lot of sense to collaborate and direct key investments to the same direction. It allows us both to contribute mature technology to same open source projects – and not fragment the industry.
All this is needed to create new interesting products and services.
- Open source collaboration, including cooperation between Moblin and Maemo.
- Intel licensing Nokia 3G technology
- Increased focus on standards-based pocketable devices.
To package a python program for maemo, you just need to do in scratchbox the same as you would do on your desktop [using distutils and CDBS]. You add a simple setup.py file to the project, a minimal debian/rules, a couple of details in the debian/control file, run “dpkg-buildpackage”…. and it is done. Right?
No. it won’t work.
For some reason, inside scratchbox some paths are modified and the final .deb package install the files under “/scratchbox/tools/bin” and “/scratchbox/tools/share” (instead of the usual “/usr/bin” and “/usr/share”), so the package is somehow installable in scratchbox but useless for the real devices
I didn’t find any solution on the net, and It took me quite some time to figure out how to solve it. After a hundred tests with different CDBS rules and combinations, it was so easy as add a setup.cfg file on the root of my project with this content:
[install_scripts]
install_dir=debian/<package>/usr/bin[install_data]
install_dir=debian/<package>/usr/
After that, “dpkg-buildpackage -rfakeroot” generates a correct package, that can be uploaded to extras!
The community is weighing in and discussing this morning's news. Here are some highlights:
- Peter@Maemo says: "Let me remind you what we have said about Maemo 5: Maemo 5 will support OMAP3 processors i.e. ARM Cortex A8 technology, not more, not less."
- He goes on to say: Maemo and Moblin will continue to exist as software platforms, no change to current situation but we will align more of what is underneath the UI framework and APIs.
Facts: Intel and Nokia combined have a broad understanding of mobile computing - both development and marketing. Nokia has had vast success in handsets, feature phones, and smartphones and Intel is enjoying many years as the top mobile CPU for laptops and now netbooks and ultra-portables. As these two types of platforms converge into a "middle device," it makes sense to bring the power-players in each together to develop some standards.
Through the success of the iPhone and Android, the whole mobile market has learned that platforms MUST have a strong third party developer base. Intel and Nokia will work very hard to make Moblin and Maemo cooperate with each other even though they will have different styles and hardware platforms. This will make it easier for third party developers to write applications that can be released on both platforms without major rewrites. This will encourage developers to adopt both Maemo and Moblin on their respective platforms.
I could be totally wrong, though. What does everyone else think?
Two years ago, Palm announced a device that would be a "smartphone extension." The 10" screen, laptop form factor, 2 pound device would give users a larger window into all the things their smartphone does: Calendars, address book, email, web, and light media consumption. The price tag was $599. This sad little Palm Foleo was so universally panned that it never even made it to the market.
If Nokia and Intel are going for an "in-between device," they need to do far better than Palm did. It's good that they're starting with Maemo and Moblin as core development models as third-party app developers are familiar with those ystems. The big hurdle here is one that was never properly addressed with the Nokia Internet Tablets: Why do I need one?
Following our traditions, last Tuesday we had a very big party on the beach where we set everything on fire (this pic is not from this year, though).
That means one thing: Summer is finally here!
That also means that in less than 10 days I’m flying to Gran Canaria, along with many other Igalians, for the Desktop Summit. We have a few talks there this year, I’ll give two: an introduction to the new Hildon 2.2 and a Git workshop (this one at the Spanish GUADEC).
I’ve already been to Gran Canaria once some years ago, and I keep very good memories of that trip. The island is not very big and has some amazing landscapes, specially in the central part. The Maspalomas Dunes in the south are worth a visit too (a trip is being arranged by the organisation, see here, and hurry up if you’re interested), although that part of the island is full of hotels and I didn’t find it particularly beautiful.
I was in Las Palmas for less than a day and I remember it as a nice city. I think it’s going to be a great place for the Summit. I’m looking forward to seeing many people that I haven’t seen for a long time, and I hope that grouping together the GNOME and KDE teams in the same place for such an important event bears fruit sooner or later.
See you in Gran Canaria!
Also coming up: Maemo Summit 2009! Last year's event was simply fantastic. As a non-developer, I spent most of my time listening to developers trade ideas, improve each others' understanding, and consider what they want for the future. It was an honor. Since then, we have not yet seen a new major OS release or hardware device but we have seen new partnerships form and ideas take shape. If you're involved in the maemo community and think you have something to share at the event, go ahead and submit it in the "Call for Content." I already posted my idea but I am sure there are more good developer-centric speakers out there with good ideas to contribute.
Tinymail isn’t a sleeping project. I just stopped blogging about it. José Dapena Paz and Sergio Villar Senin are working very hard making it rock solid. Having worked together with Sergio a lot, I trust him. So a few months ago I made him Co maintainer of the project. He’ll probably perform the first release (or decide to do a few more pre-releases first). Being Modest’s technical maintainer Sergio has worked hard on and contributed a lot to Tinymail. Last few weeks José Dapena Paz is the guy who apparently is on fire, writing patches like a madman.
And it looks like there’s no stopping José! Maybe will GUADEC stop him for at least a few days? Maybe I should help Sergio a bit with reviewing all that stuff?
As far as I know will Modest be the default E-mail client on Maemo’s Fremantle device. It has been available for the N810 for some months of course, but for the Fremantle release I’m sure the guys have improved the user interface a lot. I, personally, have been working on Tracker and didn’t focus much on Tinymail. And of course I’m already thinking about how we can make E-mail part of that RDF platform. But that’s another story (and I think I wrote two articles on that already).
Anyway, just letting everybody know: people are still working on Tinymail. They just don’t blog about it as much as I used to do. No worries, though. They are doing great stuff.
MussOrgsky is a music organizer (i.e a metadata editor) for maemo5 that allows the user to edit the basic information inside the music files.
In fremantle/maemo5 we have tracker to retrieve the information of the music files and make the life of Music Player developers easier. It is really cute to browser your music “by artist” but in my case (and i guess i am not the only one) the metadata of my music files is far from perfect and unified (songs without title, without album, misspellings in artists names, no album art at all and so on). There are a lot of programs out there to fix this problem (e.g easytag) but they all require a PC, and i want to edit this stuff directly on the tablet!
So, here comes my pet project “MussOrgsky”: a small application to set the basic metadata of the music files (title, artist, album and album art) directly on the device.
This is the edition window (the main window can be seen here ):
It is an python program that uses:
- the new hildon widgets for maemo5 (there is a really helpful tutorial!)
- tracker to query the availabe music data (or absence of it),
- mutagen to write the information back into the files (i uploaded the package myself to extras-devel few days ago)
- gstreamer to play the files (yes, there is a “play” button to help you to know what damn song “gtkpod0123123.mp3″ is)
- Some online search engines to retrieve the album art
- It follows the media art storage spec (using Urho’s implementation), so UKMP, MAFW, and this editor share the same album art
You can find the source code in garage.maemo and the package to install in extras-devel. I have still some ideas pending to implement, but it should be usable. As usual, feedback is welcome!
A Quick Look at Maemo Official Platform in Bugzilla
2009-06-22 through 2009-06-28
A Quick Look at Maemo Official Applications in Bugzilla
2009-06-22 through 2009-06-28
Reading blog comments about Meiga out there, I’ve found one particularly interesting. Python has an embedded HTTP server that can serve the current directory from a given port. It can be instanced for port 8282 simply issuing this command:
python -m SimpleHTTPServer 8282
The funny thing is that… it works on the N810 also!
More info about SimpleHTTPServer here.
As I've written before, the cell phone is the computer for majority of world's people. Google's new set of SMS services for Africa follows this idea in an interesting way:
...mobile applications which will allow people to access information, via SMS, on a diverse number of topics including health and agriculture tips, news, local weather, sports, and more. The suite also includes Google Trader, a SMS-based “marketplace” application that helps buyers and sellers find each other. People can find, "sell" or "buy" any type of product or service, from used cars and mobile phones to crops, livestock and jobs.
This brings my earlier "solving the logistics of mamona" post to mind.
Now, how about making maemo support SMS? That would be another step to turning our tablets into universal communicators.