 Time is running. Welcome. Welcome to talk about mobile and embedded development. My name is Marcus Bauer and actually I have started with embedded development with open source, embedded development already in 2002 on the Compaq IPaq. There was a distribution called Familiar which still somehow exists on Handheld's org. Both in both varieties with the Qt and the GTK Plus. The Qt was called QPE and the GTK Plus was called GPE. So I started in 2002 and at that time it was really, really, really a long way to actually get anything compiled, cross-compiled for these kind of platforms. And last year I started a new project which is called Tango GPS which started out for the OpenMoco phone, for the OpenMoco free runner. And so I have been doing lots of embedded development and the question for me was, how can you actually ease embedded development? And especially if you're coming from the desktop side and you want to say, okay, I want to go into it, how do you get into it and how do you can actually lower your barrier of entry? So how can you easily get started? How can you get up to speed like in no time? So I'm currently working for a company in Paris which is the reseller of the OpenMoco phones and so they are actually sponsoring this project. We are developing that in the company. And so the idea is for the desktop developer to bring you the embedded development to you in absolutely no time. So I go on here with my slides. That was one too fast. Okay, so one of these typical ideas about embedded development is you have a steep learning curve. To get started with embedded development, you first have to go into, for example, Scratchbox or have to go into OpenEmbedded. And until you get this running, until you understand what's going on there, you first have to sit down and it takes lots of time. It brings me immediately to my first question. Who is actually an embedded developer here? Embedded developers? Okay, so who knows Scratchbox? Okay, very few, very few. OpenEmbedded? Oh, very few too. Okay, so the idea was for us actually to start and make embedded development easy with a snap. And the thing is the technology has changed in the last years. So while in 2002 actually the flash memory was still very, very expensive, the real point nowadays is the flash memory has become extremely cheap. You get a 2 GB micro SD card for 4 euros, 5 euros. Okay, so the point now is that actually you can get your whole system onto the chip and you can do your development immediately on the system. So you can completely forget about all this cross-compile environment, all this nightmare. Nothing against Scratchbox, it was a great project. Nothing against OpenEmbedded is a great project. But have a look how long it takes you to set these systems up. OpenMoco, they have a system called Moco Makefile to set up automatically the OpenEmbedded cross-compilation environment. How long does it take? In the best case, 24 hours. So 24 hours until you have your system running. If you go with Scratchbox, it's the same. Usually you have what it takes you, not 24 hours but takes a couple of hours until you have everything set up. And if you now say, okay, actually we can go, and we can put everything onto a micro SD card that changes your whole setup, that changes your whole approach. And immediately, I see you have already been done, therefore you've been doing this kind of things. So immediately you're completely rid of what? You're completely rid of Scratchbox, you're completely rid of OpenEmbedded and embedded development stops being embedded development. It is like developing on your desktop. And that's the point what we have been doing. So yeah, just go here forward with my slide. Exactly, there's one of the things setting up the cross-compile environment is a time-consuming tedious process. And it is no longer true. Put that on the SD card, and we have made it, we have made our project and we actually just have a tar bowl. You untie it on the SD card, so you put the SD card on the card reader, you untie it and you're finished, you're done. So no more flashing, especially if you do embedded development, you always have to flash it into the device. No more flashing, you put it into an SD card, so it depends. We are currently developing for the OpenOKO free runner. Put it onto the SD card, flip it in and you'll start it. And this is the second thing because quite often you're working on different projects. So you need to have different setups and every time you change your setup, you're sitting there again, 15 minutes, 20 minutes, and then something goes wrong and you have to repeat this process. And I've been doing that so much in these last years, and after some time you're just completely fed up with it. Now what do we have? We do have a micro SD card. You simply buy a couple of them because it costs nothing anymore. You have five euros, you have for every development, for every project, you have your micro SD card, you have a couple even for every project. You flip it in, two minutes later, you're in the environment and you can already start compiling. Okay, you go on here. So what is it? So the name of the project is called Hackable One. And basically it is a Debian on a micro SD card with everything already installed We all use that everything goes really fast. Nowadays you do an update in store, 15 seconds later it's only on your computer, readily installed. Not so on an embedded platform because it's simply slow. It is everything there, you have a good hardware, but things are slow. So what we have been doing here with all the libraries already on the micro SD card, we simply use the space. We have two gigabytes of micro SD card, we put everything in there. So the development is not all this header is now missing, all this library is missing, nothing. Put it in, go on, start and start development. Okay, so what have we been doing? We are using the GTK Plastic. So we are GNOME, kind of GNOME mobile initiative. You probably have heard, GNOME has a project, part of the GNOME project is mobile and embedded. So we are here using pretty much the same mobile software stack. So we are using the same libraries, GTK Plus, Deeper's evolution data server, everything already there on your platform. What else do we have? We do have we do have a stack of PIM applications. So personal information management informations and we do have phone applications. They are still quite rudimentary, but we do have a dialogue, we do have an SMS application. Actually what we did, OpenMoco had been developing these kind of applications and then they just dumped the whole development and so we just went on from there where they left. We are now going and trying to refine the whole system. But our focus is actually really to set up a system for developers. We are developing ourselves so we are not making a distribution for finally not for the end user, we are making a distribution for developers and simply for devices that are mobile terminals and not really phones. Okay, going on here. Yeah, what is it? It is good to developers and what does it mean? It is a fast and easy coding platform. So you just start, you sit down, you make your development on your desktop machine, you compile your stuff on your desktop, you see if it is working on the desktop, you make your table, you get over to the platform and you just recompile it. And in 99.99% of the cases it will just compile. So all this process that you had before of making development and better development and you had to go over again in the process, all cut down. You do the development as you use on your desktop. So if you are a desktop developer you will be immediately at home. You just start, there is nothing. The differences for you are actually from a completely different corner. So you now have to fight with tiny screens. You have now a small screen, but you have a high resolution, DPI's. There is a good question what you are actually going to do, because some people would say, okay, here you have 285 DPI. That is a very high resolution. But actually it makes no sense to really go with a resolution like everything small or big but you will immediately see that you run into problems that you didn't know before. But your development process as such is easy. No change from doing desktop development. So this is really what I want to say like if you are really a desktop developer just try it out. I mean we are currently, I have to say we are currently here based on the Omoko platform. We try to extend it to other platforms. Probably have somebody heard from the Beagle board. You know the Beagle board? It is a really interesting project. We should probably look it up. What we are doing for is mostly for the ARM platforms. So we are going into Intel platforms. We are going into ARM platforms simply because they have a completely different spectrum of applications. I am coming to that soon. I haven't done that here. Okay, yeah, exactly. Here is my next slide. Why do you go on OMAP? Simply because you have a low power consumption. What I try is what is the difference what is the difference between the Intel platforms and the ARM platforms simply because you can go here and you can get away with just a tenth of a watt. So we will have in the future lots of applications that are not phones that are just simply applications that you probably would be like this with a bigger screen having inside an ARM processor and they will be running for hours and hours without needing any kind of recharging. So because if you have a look for the netbooks that you still use ten watt and if you go for ARM you can easily get away with half a watt. So you need a little battery and you can have applications and we are now all more and more connected internet everywhere. We have Wi-Fi, we have 3G coming prices are falling. So we will have plenty of these applications of these appliances and what we are trying to do is simply having a platform for all these upcoming applications and this is what I want to tell you what really was probably my mission today is say if you are desktop developer don't miss out because all the big companies that are sitting there Intel, they are sitting there making open source actually with Moplin they are pushing millions into it because they know this is going to come. So we have been started we have been starting the open source years ago two decades ago and actually it is us who have been laying this kind of foundation and I think it is up to us actually to go into there and say like well yes yes this is going to come and we go into this kind of into this kind of future applications and this means actually starting and getting a feeling for that getting a feeling for GPS getting a feeling for this totally lousy kind of network connectivity if you have ever been working with GPS you get just crazy yeah I see that here and simply going for that so if you are already developer just grab one of these platforms either this OpenMoco or as I said Beagleboard is another interesting platform very hackable and just go for it and start your development yeah this is exactly what what I was saying like what about Intel Nokia etc so we have Nokia we have Nokia with Memo we have Intel with Moblin why do we need another distribution and for me it is having fun hack yourself try to go and say to Intel with Moblin actually I wrote a really nice SMS application I want to get that into there which is never going to happen so this is why I say like here you write a nice SMS application you can easily get it onto it because it is again via community we have the open source community and actually we can take our place back from the big companies okay thank you very much for listening and that was my talk for today and I hope I got you interested thank you any questions questions yes what I develop and so I personally use Debian and GTK and I am using C but the platform is actually open to any kind of GTK plus binding and if you finally decide you want to use QT you can use Q2 C, C++, Python whatever comes to your mind I'll go up there but currently we are supporting the free runner we are going to look there is some work being done on the servers we are going to go for the Beagle board and we are probably having a look into the Nokia devices too that was some absolutely from my side absolutely yes simply because there is so much work to do that it makes no sense to do whatever we can share with other people absolutely I have been talking to Jochen Breitner on okay good I am absolutely open to that more questions okay have a nice great evening and good for them thanks