MADDE moves to open development
With the increased openness of MeeGo over Maemo, and the release of Nokia Qt SDK, MADDE - the cross-platform, cross-compiling suite we've mentioned a few times, has gone open source.
Clarified packaging guidelines
daniel wilms, of Nokia, has announced a new set of packaging guidelines for Maemo. Replacing the rather dense, incomplete and now outdated, PDF, these documents are in the maemo.org wiki. In the announcement, he says, After a long discussion on how to proceed with the packaging policy for Fremantle, you can find the result as packaging guidelines in the maemo.org wiki. The idea is that this is the basis for further discussions, with the goal to smooth the extras-testing procedure and the development in general. The document should clarify the special requirements for the Maemo development, compared to Debian. Developers should read through the guidelines and raise any concerns they may have.
Behind the scenes of the Nokia Qt SDK
Maurice Kalinowski has posted some "behind-the-scenes" information about the newly released Nokia Qt SDK: Despite the classic Qt SDK for desktop, the Nokia Qt SDK aims at developing Qt applications for Nokia devices, which includes Symbian as well as Maemo (The N900 is still a Maemo device). Just like the Windows package, it includes a full toolchain with compilers and everything to create applications for both platforms. On the Symbian side we use a stripped version of a SDK for Qt development, while on Maemo we include Madde, the application development tool. The Qt versions included in the package are currently 4.6.2 for both operating systems, because 4.6.2 will be inside the upcoming PR1.2 on the N900 as well as it is the currently available stable Qt version on Symbian. The blog post contains a number of interesting pieces of information, and shows that despites its polish, the Nokia Qt SDK is still made by "real people".
Review of the Qt SDK
Attila Csipa has published a short review - and analysed the market into which it's released - of the the Nokia Qt SDK. As a long-time Qt developer, Attila says, the goal seems to be to provide a streamlined way of producing modern applications for a range of platforms, while avoiding the dumbing down of platforms to make them fit into a particular mold. I hear you say, okay, so you think this Qt SDK thing will take over the world, right ? Well, while not excluding the possibility, there are a few obstacles that the Qt SDK needs to address before going for world domination in the mobile app development arena.
Nokia: developers should focus on MeeGo & Qt SDK, not Harmattan, for MeeGo-Harmattan development
In the clearest statement to date, Quim Gil explains how application developers are best served by the Nokia Qt SDK if they want to target Harmattan and/or MeeGo: Let me insist that MeeGo, with its SDK and build infrastructure, is the track that developers need to follow - including those interested primarily in the evolution of Maemo. The Scratchbox based Harmattan SDK will be interesting just for a minority of really specialized developers interested in software architecture and middleware details. The difference between the "Maemo 6 platform SDK" and the "Maemo 6 application SDK" was highlighted at last year's Maemo Summit. The "application SDK" is now out, albeit as a beta.
Using ET-Prolog to get rule-based programming
In a follow-up to an earlier article, the introduction to ET-Prolog continues with a demonstration of using this logic-oriented programming language to "intelligently" switch profile: I think you wouldn't be pleased if some unimportant call or, what is much worse, SPAM SMS message wakes you up. Solution would be to switch silent profile when you sleep. You can do it by hand ever day, but why not to automate it? You can use silencer, but it has very simple logic, which silences phone when it is late, but not when you sleep. What about something more intelligent? The article is complete with examples, but is intended as a starting point for other developers.
ISI specifications for Nokia modems
ISI-based modems are used on a number of Nokia devices, including the N900. Mohammed Hassan has uncovered details of the low-level programming of the modem, which could be used to help MMS connections work better: A serious limitation of the N900 connectivity subsystem IMHO is the inability to create multiple connections. One can only have one connection at a time. This was a problem when I started investigating MMS support for N900. [...] I've been thinking about a kind of hacky solution for the MMS problem: Let's have a tun interface with a known IP such as or 192.0.2.x. We force all of our traffic through that interface and "something" sits in the middle to route the data between tun and the GPRS modem. The specs should allow the implementation of such a tunnel, and Mohammed has got to the point of spitting out packets.
GSoC: UPnP over the Internet
UPnP is a set of protocols which collectively implement the plug-and-play feature, allowing servers to announce their addresses and hosted services, while enable clients to automatically discover and use the announced services dynamically with minimal configuration. UPnP performs multicast messaging to discover services over the network, which makes its usage limited to the local domain. The project aims to extend the UPnP network reach, by bridging UPnP domains securely over the Internet.
GSoC: A Gtk+ input method for Maemo/MeeGo
Implement a Gtk+ Input Method plugin for the Harmattan Input Method UI Framework for use by the future community-maintained Maemo Gtk+.
GSoC: Transifex client for Maemo community localization
Qt4 based Transifex client application for Maemo with caching feature, mentored by Thomas Perl.
GSoC: Joining Maemo and MeeGo devices into the cloud
Bringing cloud storage support to MeeGo is a must. As devices become smaller and more powerful, it is becoming clear that local storage is often a constraint, and even a burden. By taking advantage of a cloud-based storage system like Ubuntu One, Amazon S3, or Dropbox--this limitation can be avoided. The goal of this project would be to integrate an existing and common cloud storage service into MeeGo in a way that is easy to use, or even transparent to the user.