February 17, 2010
The impact that MeeGo will have on the mobile computing world should not be underestimated. It is a shot across the bow from two of the biggest names in computing. The message is simple: those who can develop, deploy, and market the best, win.
Why would Intel and Nokia bundle up some of their most crucial “intelectual property” and give it away to the Linux Foundation? Why else would they let in fierce competitors? Why else would they let in applications and frameworks and not keep complete control? The reason is that these companies feel they can compete with their competitors on a level playing field and win. They may in fact be right.
There are some losers in the whole switch from Moblin and Maemo, specifically those who have a lot at stake with keeping things as they are. As someone who’s worked with Maemo technology, the move from a debian environment to a rpm environment is a big move. I’ve worked with rpm previously however and have been working with the Moblin toolchain for a couple months now so I don’t feel like the rug has been pulled out from under me. Community and governance issues will be big though – there is an established Maemo community that just does not exist in Moblin. Moblin is software mostly, designed to run on Intel’s Atom chipset, there are not many devices that have inspired a loyal following like the Maemo devices have. It remains to be seen if Intel, the Linux Foundation, and Nokia can handle this community transition. I suspect they are not so interested in the community per se, as long as they can attract developers who in turn attract hardware buyers.
I am impressed to see a lot of the Maemo community joining in MeeGo immediately, they have sort of swamped the MeeGo infrastructure, but what role the Maemo council and the Maemo paid staff, such as myself, will play is going to be interesting to see. I think our role will be greatly diminished because I think the focus of the MeeGo project is going to be much more technical. I think sites like talk.maemo.org will live on but separate from the more developer-centric MeeGo.
January 21, 2010
There is a pretty slick new development tool for the Maemo platform out now called MADDE. It is aimed at the Maemo sweetspot: Qt development. It works on the big three platforms, though I have only installed it on Linux.
MADDE is designed to make cross compiling and generally building applications easier, and it appears to be doing just that. Installation went smoothly and the documentation is concise and clear. MADDE even provides a debian directory, which is my particular interest at the moment, so let’s take a closer look there to see how MADDE can help you build debs.
The first thing you notice when using MADDE is that when you create a project with it, it creates not just project files, but debian files for you as well. In that debian directory you’ll see a bunch of example files – things you can use if you are going to create a debian README file, man pages and the like. For Maemo, we don’t use man pages, so you can simply remove any file that ends in .ex that you don’t want or need.
There are of course a variety of details of packaging you can go into, but what is very interesting with MADDE is that the package building is included. This means that you can call ‘mad dpkg-buildpackage’ and MADDE knows what to do and goes ahead and does it. You don’t need to fiddle with your environment, unless of course you want to, MADDE saves you a great deal of time by including all the needed tools for packaging.
I will discuss the implications of MADDE and packaging further, and I also hope to dive into some of the source code. (Dear Nokia, please consider releasing your perl modules to CPAN.) But my first impression of MADDE is that it is a huge time saver, and a great maemo development environment – try it out!
January 11, 2010
Recently, while researching a blog post or two about how to package python apps, I’ve run across some really good resources on packaging that I’d like to point out. One is Ubuntu-oriented and the other is debian-oriented, but a deb is a deb so use which every one you prefer.
The first: https://wiki.ubuntu.com/PackagingGuide/Python is from the Ubuntu wiki which is a really good source for all things Ubuntu. The wiki entries tend to be clearly written and easy to read which is a blessing. This particular wiki entry takes one through packaging a python app from beginning to end in a straight forward manner – nothing really complex here. It should cover about 90% of the packaging requirements of python Maemo apps.
The second: http://www.debian-administration.org/articles/336 is from the site Debian Administration which is a great site. The site has an active community and some experienced admins post there so you’ll definitely find advanced topics like chroots, MTA configuration, etc. The article I pointed out is a fairly thorough discussion on packaging with some theory at the beginning.
The downside of the first article is that it describes using CDBS which requires more editing of files and is not as widely used as debhelper. The second article is a little older and doesn’t take advantage of the changes to debhelper that have come along in later versions. But between them I am sure you’ll find something useful and they are a great way to get started.
December 29, 2009
Gandhi said one has to become the change that one desires. To enable a change towards more openness, and make community generated bug fixes and improvements available to everyone who wants them, I’ve set up a community repository for updates to software that is not being maintained by anyone else. This repository hopefully can show that we are a committed group who can manage our own software distribution system and work together.
The repo is not yet public. It is currently set up on the new hardware that Nokia has generously provided us. I am looking for brave testers and for packages that might be suitable to put in our community repo. The discussion that was held at the Maemo summit in Amsterdam spoke only about SSU updates and that is all I think is really appropriate at this time, regular packages should of course end up in the usual place: extras. This does not mean that we should limit ourselves to just SSUs, but let’s start there and see what else needs to be added.
I thought I would set up a thread on Talk -> Development where we can co-ordinate our work.
Hope to see you there!
December 4, 2009
This is a short article / post on installing Web::Simple on Debian’s testing version codenamed Squeeze.
Sometimes you may not need all the powerful tools that are bundled into Catalyst, the perl web framework. But you may want to use a module or two from the CPAN that you can be reasonably sure is tested and follows some best practices. Web::Simple might be that. It is written by notorious perl gadfly Matt Trout, and whatever one says about his profane grandeloquence, one must admit he writes valuable modules for perl. So let’s take it for a spin while noting that it is new so we oughtn’t complain too loudly if things break.
The first thing we need to do is to install Web::Simple and we’ll need to go to CPAN to get it since it is not packaged for debian. I just used cpan to install;
cpan -i Web::Simple
Now, lets test it out using the synopsis! One of the great advantages of perl is that there is often working code in the synopsis of a perl module on CPAN, I am just going to take the synopsis and put it into a file, chmod the file to 755, and run it. If I run it from the command line first, like this;
I get this message:
“No path passed – use ./web-simple / for root at
/usr/local/share/perl/5.10.1/Web/Simple/Application.pm line 249.”
So I re-run my program (web-simple) the way they recommend, with a “/” and viola, a 200 status message!
HTTP/1.1 200 OK
Date: Fri, 04 Dec 2009 11:41:57 GMT
Now this might not be useful enough to write a shopping cart, but it certainly is a handy module to sketch out ideas and make some prototypes without having to set up an entire Catalyst installation. Good stuff, thanks Matt!
October 16, 2009
I subscribe to the debian policy mailing list which often has some really interesting posts. This is one that I thought people would like to see, it needs wider distribution. The reason is that it is a pretty clear set of graphs showing how a package gets installed on debian and the consequences of installer scripts.
Go directly to the post by Manoj to read more about this. He is going to continue work on the graphs but in the state they are in now they are pretty useful to describe what happens.
September 17, 2009
While interesting articles from Reuters are one way to measure the hype around the new Maemo device, another way is to measure developer participation.
There is some data to go on, though a lot is anecdotal. Firstly, I think we have seen increased traffic on the IRC channel (irc.freenode.net #maemo) with lots of new users of various backgrounds. That is an easy thing to do, to show up on IRC and ask some questions, but there are other signs of increased developer interest. Firstly, we are seeing lots of new apps come into garage, Maemo’s development platform. That is a positive thing. Not only new applications, but applications that have been around for a while are returning as well. People are fixing bugs, uploading new packages, and generally getting their software ready to put on the devices.
Another significant measure is the traffic on the developer’s list. Already through the first two weeks of September, there has been more email to the list than any other month this year except for May. In May we had 430 emails to the developer list for the entire month; sin September we have had 381 emails to the list and the month is only half over.
So taking these little data points into account, I am willing to predict the platform is going to be a big success, maybe bigger than we imagined.
August 24, 2009
Benjamin Mako Hill has written a great deal on Ubuntu and Debian and has been around both projects for a while. I just discovered a new article written by him and Kyle Rankin called
Package Management in Ubuntu Server. It appears to be part of a book although I can’t tell which one.
At first it might seem pretty straight forward and something that many of the people who read Planet Maemo would know already, but once I got past the first page I saw that the authors went into some pretty good detail.
The site also has some other interesting articles for Ubuntu and Debian admins and users.
August 21, 2009
It’s a normal day, I am being bombarded by twitter, facebook, the intertubes, et. al. and I come across a tweet from @debian mentioning the new packages available from the last few weeks. I look at what has come into debian for something interesting and there is a lot, like an ofono package.
What catchse my eye is vala-terminal since vala is something I would like to learn more about. Clicking on the vala-link in the debian packages web interface shows another interesting link to some web site called freesmartphone.org. I click there to find that the same people behind the freesmartphone.org site have created a commercial entity that used to be funded by OpenMoko. So its good to see that the OpenMoko stuff has found its way into the community and that these tools are making there way into debian which is upstream for Maemo.
Things move so quickly nowadays, it’s just amazing to watch the ecosystem for free software expand.
July 24, 2009
On the debian developers mailing list madduck asked about various package checking tools in debian. The resulting discussion revealed how many tools there are in debian to check packages; tools like piuparts, PET, and packagecheck. In contrast to Maemo, debian hackers seemed to be obsessed with the quality of their packages. The mantra “Policy is your friend” is ubiquitous in debian.
I don’t want to place the differences between the two projects in a negative light since the goals are so different. Debian aims to be an easy to use operating system whereas Maemo is a device. Maemo developers often want the device to do cool things, for them packaging is an after-thought. This is why there is a maemo.org debmaster of course; to help developers with packaging and integrate into the operating system so they can focus on cool features and libraries.
Having a debian background I am constantly thinking about the overall system, trying to assure that packages install well, that things “just work” for users. This sometimes makes me wonder if I am doing everything I can for maemo developers and what is the most effective way to encourage best practices and assure quality. While I am excited by the work Niels has done with package promotion and the potential that maemian has, I feel there is more that one can do. While I am sure it is boring to many developers, packaging policy is critical for building the kind of tools that Niels has built. You need to know that the developer has submitted the right email address, declared the correct dependencies, etc. Policy truly is your friend.
I hope to get the chance to speak about packaging at the Maemo Summit, I have submitted a talk anyway, we’ll see if it gets accepted. I also would like to encourage developers who target the Maemo platform to think more about making life easier for their users – after all, it will bring you more users if you can easily install and use your application. I would also like to know more specifically where the pain is, what sucks about the QA process, what sucks about packaging (aside from having to do it at all. :P) Let’s make packaging policy a tool to make everyone’s life easier.