 Hello and welcome. My name is Kees Jongenburg and I'm going to give a short talk about Mamona. And my main goal with this presentation is to give an idea of why I think it should be there. I'm not going to explain very deeply what Mamona is, but more follow the way through where we should be actually. I developed a Mamona in my free time during the day I'm a developer, so embedded engineer. And welcome. Sometimes my mother asks me, what are you doing every night? And I say I'm working on my AMO and she sees this device and that's how far she gets and she doesn't understand why I spend time developing on this machine. If I try to explain her that this is not really my AMO, but I'm working on a piece of software that is inside there. It's not the hardware. It's very hard for her to understand and for many people even here. If you have questions, you can just throw in. I think I have time for it, I think. The global line I think for me, for my side, is that my AMO is really an open source. It's an open source part of the previous picture you just saw. It is a good community at sea. It allows you to create nice applications to run on Nokia internet tablet devices. And I've spent a considerable amount of time getting to learn my AMO the way it's offered to the community. So if you take a bigger look at it, you'll see that to understand what my AMO is, you have to see it in a bigger picture. And in that you could say that my AMO would be a Linux software stack with a kernel, some choices made of how it's going to be built. A real full size, full X server anyway. And GTK based Hildon customization desktop. But it's also, that would be my AMO as is. You can download it, you can compile it. You should be able to run it on different hardware. One being the desktop. My AMO also has SDK, or is SDK, and I'm not quite sure about that either because you can download SDK, which is built with Scratchbox. And you can start developing programs for my AMO itself. It is a kind of quick start. You don't have to compile your own kernel or GCC or just have an environment which allows you to build applications. I guess they've done that so that not everybody needs to reinvent the wheel. If I go back to the previous picture, this one, we're really talking about the whole, getting the whole thing on there. So what you need is also, what Nokia does is they take my AMO, they improve it, they would create codecs, binaries, whatever is necessary to make a real product out of my AMO. They rename it to ETOS, I guess. And that you can install on your device. So back to my AMO, if I'm developing in my AMO, I'm not developing for the ETOS as is. So there's a difference in there, that difference is, I guess, control. Because they decide what gets in there and what not. To be able to get that software on the device, you need a flasher, an application which allows you to put that data on the device itself. And that is quite a close source application. It's a bit of a secret how it's put on the device. So there is some, I don't know the exact reason why I look that way, but there are some conflict of interest within this picture. It does, of course, the hardware. And there's the mystery tools. I say mystery tools, it's not really like it's a big mystery. Most tools are open source based, open source tools, scratch books, or they also say my AMO is Debian based. But there's still some magic in there because you get an SDK and that's what you have to do with it. And if you want to modify that SDK itself, you would like to know how it has been built. You could argue that that part is not open source as I can take the source easily anyway. Or it has the build tools to build the SDK. So from my perspective, I like to hack hardware, I like to look how it's working. So I like a system that offers those possibilities to allow me to learn from it actually. So that's actually why I came to the conclusion that the MAMONA was a tool for me and why I helped in developing it right now. Questions so far? Okay, so for me, MAMONA means that it will still run on the same hardware, but you will try to replace every component which is closed as you will quite create your own components. If I go back to the previous sheet, we'll try to recreate this OS. You will try to recreate the flasher. Well, the hardware you don't have to, but you might want to reverse engineer some parts of the hardware which are not documented right now. And this one you definitely want to understand or recreate. And what does this allow? This allows the... It gives you, as a user, a power user, developer, the freedom to choose the components that you're going to put on that device that is yours or that you want to release or you want to create a custom version for your needs of that device. You want to have full control. So that is one thing that MAMONA does. How does it do that? Actually, it is this point here. MAMONA itself is a distribution based on which uses the open embedded framework. Open embedded is a meta-distribution that allows you to specify in a metamanner, specify you what kind of components you want, and will build the whole thing from scratch. So it will build your tool chain until your X-server with the specific flags for your architecture. So it allows you really to experiment a lot. And so it gives you the freedom to experiment and learn. And that means that you can look at... If you don't understand something, you take the source, you take how it's working, and you go back. You can customize. So I guess that's quite an important thing. You keep control. The current implementation is based on the alignment, which is a pretty nice desktop, which is some bling-bling factor which can be a good thing. You have control again. What if Nokia decides to buy Trolltec? It can happen. You never know. But you could say I still have my Nokia 770. I just love this device. It has value for me. And I want to keep running it for years, and therefore I don't want to have an end-of-life cycle. I decide when it's done with the hardware. This point, I think, is one of the main reasons why I've been spending so much time on getting to understand Mamo is that I was perceived as a user. They gave me an SDK. That is what you're going to use to build your components. And when I run it to trouble, what happens is that who do I talk to? I talk to other people who are using the same tools, the same SDK, which are as clueless as I am at that point. And what Mamo enables you is to, because you use OpenEmbedded, it allows you to take that step that you're a user. You want to develop an application and you want to start modifying it. It enables that step. It has a cool logo, I think. So if you would, to be to replace all the close source components of the whole Mamo. If you want to run software on a device and put it on device in an open manner, you have to have at least, well, the distribution channel, the SDK is perhaps optional. You have to have a release, a binary that you can put on the device. And that release of course has no Skype, no flash, no codecs. It doesn't do a lot currently. And luckily there's some hardware with keyboards nowadays, but it doesn't do a lot. It means that you can do a lot. The flasher has been replaced with a tool, which was reverse engineered to allow you to put images on it. And I also used it to recover my devices when I broke them. I think that's the most important thing. This is what it would look like. This is what currently looks like. If you install version 0.1 on your device, which you could install on the SD card, so you don't necessarily need to replace the operating system, you can put it next to it. It's really a bare bones alignment, which lacks a lot of features. There's a lot of improvement, but still it looks good, I would say. There's a website. This whole project was started by an IDT, International Nokia Institute, something, in Brazil. And they initiated it because they felt it was a good idea, I guess. So it's run from there. We have an IRC channel, which is a MAMONA, a free node. And I hope that you understand why I think it should be a good idea to try to open up that whole stack and to mainly how much you can learn from it. And that is a very important aspect of every open source project, I would say. So I would like to close with that. And if somebody has questions, I'll be happy to answer them. Yes? Definitely. Even more, I would say... Oh yeah, sorry. The question was, can you... It's a good question, of course. Can you run MAMONA on a different device? And the answer is yes. Well, of course, you can see that this is... It's about choice, of course, but the choices that are made here are not that big. The big choice is we use an OMAP kernel, we use a recent GCC, and we use Enlightenment as desktop. And it's configured to have 16 bits per pixel, screen depth, and blah-dee-blah-dee-blah. But the main thing is it uses open embedded, which means that... Sorry, I'm searching for the... Yeah, it says it uses open embedded, and really, it is trivial to say, okay, myself, I've created a native Linux distro for it, so M.D.64 to run it on my computer to develop fast, but I see really no reason why. But I would look at OA, actually, if I would do that. One question? Okay, yeah. Yeah, but I don't feel it's really a threaten or something. I think that the more choice, the better, and it will only help. But I agree that it might be serious. No, sorry, no, no. But it is a good move, I would say. OpenMoke also has the real working pictures built on QT, so I think it's a good idea. Thank you.