Notes from an Introduction to OpenMoko, by Ole Tange for UKUUG
Ole Tange on OpenMoko for UKUUG
The slides for this talk are now available on the UKUUG web site.
I’m Chair of UKUUG, this is Ole Tange, talking about OpenMoko; open phones in terms of hardware and software.
Recently UKUUG has taken a stand against the BSI’s approval of the fast track of OOXML; we asked them to justify, how is this under the best interests of the UK public? They have linked to an FAQ answer that isn’t good enough. We have to treat this reply seriously although its a sham; we are planning legal action to prevent this going ahead. I feel this is something we need to do. There is a page on the UKUUG website for updates with progress here; please pass it to friends.
OpenMoko is a revolution for your mobile phone. I feel its as disruptive for phones as GNU/Linux has been for computers in general.
I’m a developer at Ange Optimization http://www.ange.dk and I’ve been using GNU/Linux since 1992 and doing paid work on free software since 1996. I have some fame for a diagram about patents on web shops. I’m a OpenMoko wiki webmaster.
- The Hardware: FIC Neo FreeRunner
- The Software: Ideas for software
- Price and availability
- Future developments
- A look inside the hardware
My dream: The personal computer; like glasses or a watch, a computer that is carried around all the time. A smaller amount of storage is okay if it has Internet access, and it should be about as capable as a laptop, but a lot smaller.
When I saw the first OpenMoko smart phone, I thought “This is it!”
What is the hardware? The FIC Neo FreeRunner has a 400Mhz ARM CPU, 128Mb RAM, and a MicroSD slot for up to 4Gb disks (well, 8Gb isn’t tested yet, and the MicroSD controller might not handle that). The hardware is standardised as much as possible, you can get MicroSD cards almost everywhere. There is a 3D graphics chip, a 640x480 280dpi screen - that’s like the old laser printers, a very high resolution, and it is a touch screen (single touch, not multitouch like Apple’s iPhone).
USB can charge it, and transfer data to it or from it - all using stock USB ports so you can use the USB cables you can buy anywhere, unlike almost all other phones, whose cables are often very expensive for what they are, and hard to buy when you need them.
WiFi (Atheros AR6K). Two accelerometers - allowing the phone to sense how it is being moved in space, as seen in the Nintendo Wii controller. There is GSM 2.5G (no EDGE) and I don’t really know what the top data speed is, I think around 100kbps, but its not megabits. And there is GPS too, so you can do location. And Bluetooth, of course.
Q: Battery life?
A: There is no battery in it! ;-) The software to control the power is not finished, at all. I heard that someone got 50 hour of standby, with everything turned off, but so you can receive calls for that amount of time.
Q: Why not 3G?
A: Not sure.
Q: Maybe because that uses a lot of power?
Q: Whats with the Atheros chipset for WiFi?
A: We’ll get to that :-)
Q: Who did the case design?
A: Not me ;-) But the CAD files are online, so if you have a CAD machine you can make a new case if you like. [Thanks to Jon Philips for organising this.]
Okay, who knows FIC? First International Computer. Not many. But everyone probably used their computers; they make computers that are badged by other companies, like Dell and Toshiba. They make a 5th of all laptops made. They have been very open about delays, explaining things, and we’d rather solid hardware and delays than flakey hardware. Flakey software is fine initially because that can easily be changed, but hardware cannot.
The Apple iPhone has tried to mark down the modification of the iPhone software; this is just the opposite, they are inviting you to change the software. They are selling directly to consumers as they expect a better profit that way.
Many of us have been to Nokia’s website, but where is the page on that site to show you how to take apart the phone? FIC do! That’s only half the good news; they also have a page about how to put it back together. If you are going to take it apart, they help you. This signifies to me how open they are about everything, and I appreciate this as someone who likes to take things apart and see how they work.
OpenMoko is a GNU/Linux distribution; this is a base for the phone, and they see it as a base for other devices. My camera has a flash card for storage, a screen for interaction, it has a small OS in there. The Neo is the same; if I have to produce software for the phone, FIC see they might be able to use it to produce devices that don’t currently run GNU/Linux, or even new kinds of devices.
The GNU/Linux distribution is custom, because there isn’t a lot of disk space around. But you can install Debian on it. Today you can download an emulator and a developer phone is available, although it is sold out.
What is free-as-in-freedom software? Here’s a simple diagram of a computer hardware. All the green part is free, the red is non-free: GSM firmware, GPS firmware. The GSM and GPS drivers are both free software. You cannot change the GSM software, but you can talk to the GSM firmware with AT commands. NMEA is like AT commands for GPS devices. After that, it is 100% free software.
Q: Will you be able to upgrade the firmware?
A: You can’t upgrade the GSM firmware; you can think of the GSM unit as hardware, you have to go to an authorised repair shop to do it. Or at least, you’ll need a special tool to do that, an expensive one, and its not documented how to do that.
Q: Will you include schematics?
A: No, its public what the chips are, but I haven’t seen the circuit board published anywhere.
Q: So the software and hardware interfaces are free, but the hardware design isn’t?
A: Yes. It starts with the chipsets; if you want to copy the PCB, you could scrape off the chips? And there is also a project to make a home made mobile phone; if that’s what you want, its something you can look into, although it won’t be as small as this ;-)
Q: Is there a GSM compliance issue?
A: Yeah, that’s why its burned into hardware.
Okay, so the software applications are in two phases; phase one has a dialer, main menu, music player. Phase two has all the usual smart phone stuff; clocks, web browsers,
QTopia is software for TrollTech’s GreenPhone; they made software for that device, and that software has been ported to The Neo1973, the developer’s Neo hardware. It will run on the FreeRunner. It means you can use a Neo1973 to make calls now, but it won’t accept incoming calls unless it is fully booted, which kills the battery fast. But it will improve.
So what is the big deal?
There are no limitations. It is a GNU/Linux computer; you can access things as root, do anything you like. Later we will add chroot and normal users, but initially everything runs as root.
Here are some of the ideas people have come up with when there are no limitations:
Location based calendar. Ever run out of toothpaste? Gone to a shop, done the shopping, and forgotten something? You could have a location-based calendar; you can say when you run out of toothpaste, “buy toothpaste when I enter this circle around a GPS co-ordinate.” Then when I enter that area, the phone will sound an alarm and remind me. But if I go to that area at night, I don’t want that alarm. So I can enter the opening times of the shop at that GPS location! “Never send a human to do a machine’s job” said Agent Smith in the Matrix.
Get off at bus stop. Point to where you want to get off, and ride the bus until your phone reminds you just before you get to that area. This is just the same problem as the last problem; give me an alarm when I get to a certain area.
GPS Friends. You send your location to your friends, so they can see where you are. You choose who your friends are, of course, and you can get an alarm if they are close. Say some friends are in town and I didn’t know - I can drop them a line to hang out. But perhaps we are going to a free software conference in a strange country, we can know when we are there. And you can of course lie, such as if your boss is one of your friends.
Q: How can you tell where the friends are?
A: You could upload the information to a website, and we have crypto so that only the people you want to decode your location can do so. The location can be a rough estimate, every hour or so.
Q: You could use it to avoid people?
A: Sure ;-) The other example, is you can give a perimeter around your current location and if your friends - or your kids with Neo FreeRunners - leave that perimeter. This is the same just inverted.
Q: Could the police use this, like for house arrest?
A: Well, you could if you locked it down so they couldn’t reprogram it ;-)
Closest WiFi. If a WiFi is nearby, you can upload its position to a central server using the WiFi - and this is how the connection is tested. Then you can show a map with the nearest WiFi is located, showing when each AP was last tested. And then you can easily make zero price VoIP calls. This might not be legal in Britain, but it is in Denmark.
Q: Using unknown WiFi is dangerous, you could have a tainted DNS server.
A: You can run things encrypted; you are right, you can’t trust a AP to not listen in on everything, encrypting helps that.
Q: Does the phone support WPA?
A: WPA is done in software, and this is a computer, so yes.
Q: Is there hardware encryption?
Q: A lot of people have Oyster cards. Could you put an RFID chip in there?
A: We could, and we might also put a RFID reader in there too, so you can read them - and copy them! ;-)
Q: Regarding WiFi, what about Fon? An opportunity for cross marketing?
A: I’m personally not too fond of it. FIC are open to bundling like that, I think.
Q: Is there a camera?
A: No, not on the 1973 or the FreeRunner. I started on the OpenMoko email list in November 2006. The first email everyone sent was “This is very cool! Why is there no WiFi?” and the first model didn’t have it, but FIC listened and added it. Few people asked for a camera; people are coming up with ideas that use a camera, so the next model - a year or two away - probably will have a camera, I speculate.
Q: A USB host, so you can download the photos from your camera into the phone?
A: Yes - it can act as both a USB host and a USB slave. There are endless possibilities here.
Q: You can get CompactFlash cards with Bluetooth transmitters too.
So, in cities with municipal WiFi, we can use that to make calls. And we can do this for anything! Petrol station prices, restaurant reviews, anything - and this would be uploaded next time the phone gets online via WiFi.
Navigation. If you want to navigate, you need a map. Maps are a problem; in Denmark a public office sits on the maps but its very expensive. There is a Wikipedia approach to make our own maps, http://www.openstreetmap.org - and this phone can record a map automatically: you are moving at 50mph, so probably you are on a road or a train track. If everyone moves along the road the same way, its probably a one way street. We might get rush hour statistics useful for efficient routing.
Q: Privacy issue here?
A: To make it anonymous, we’ll have no cookies or other identifiers, and we can upload it via tor by default. This opens the door to spammers, but its possible to filter that.
Q: Is the browser WebKit, so it support CSS3?
A: I don’t know, but you could install such a browser. I know its not Mozilla, since we have 128Mb of RAM.
Bluetooth/WiFi gateway. Bluetooth devices use less power than WiFi; the phones could automatically elect a gateway OpenMoko with the most battery to run WiFi, and then everyone else can use Bluetooth to access the net.
Q: Are there studies to show how long Bluetooth/WiFi/GPS can run?
A: The power management software is changing all the time, so those studies would be premature. The trends are going up. Amusingly, the battery is the same form factor as a Nokia battery, but FIC are likely to sell spares soon too.
Graphics tablet. The screen is touch sensitive. The accelerometer could even be used as a pointer. There are two of them, so that the accelerometers accurate enough for that kind of thing.
Q: Can you do voice recognition? It could be a security aid.
A: Voice recognition is a hard problem, but that could be useful to stop you calling when drunk.
Profiles. Time and location based, and can have a timeout. You can have a silent mode come up when a meeting is in the calendar. The phone can tell when you leave the location of the meeting, so it will stay in silent mode if the meeting runs longer than expected. Or maybe you want all business calls to go to voicemail when you are at home. In the cinema, they tell you to turn off your phone, but we often forget to turn it back on afterwards. You can turn it off for a set amount of time, and then turn back on automatically.
VOIP. Voicemail on the phone; Asterisk. I think we will pay flat rates for mobile phone calls within a few years, and when that happens, we will see spam calls. I’d like a small puzzle, like a voice message saying “What is three plus ten?” and if they can’t answer that, I don’t want to talk to them ;-) And if a computer can figure that out, I do want to talk to it! ;-)
Firewalling. Time based; so when I am in Singapore, I get calls late at night. So I can record a message for late night calls that says, “If you really want to wake me up, press 123, or hold for voicemail.” And I could have white-listing to let specified numbers through straight away.
Voice Text. I can make a physical gesture that is recognised by the accelerometer, and start a small recording, and then I can send those audio files to a typist to type them. That might be me in the future, a real secretary, or voice recognition software.
Q: No touch feedback with touchscreen phones
A: Yes, not good for less well sighted people.
My dad had an idea, when he goes golfing his heart might pack in, so it can tell if he stops moving when he is within the golf club grounds and call home after noticing he’s been still, and sounding a loud reminder sound.
Q: You could have another Bluetooth devices so you could be alerted if you leave your phone behind, like in a a restaurant.
Q: A GPS-Friends style feature can tell you where you left it.
Dasher input. I’ll demonstrate this later.
Distance measuring. The soundcard can do up to 90kHz, so if you can control the speaker and microphone, you can make a sonar with this. So you can see now, people are thinking very outside the box with this - you can do very interesting things with this device impossible with other phones. I don’t know how useful this exact feature is.
Q: Can you adjust the ringtone volume to the ambient sound?
A: Sure! So its always loud enough, and never too loud.
Cheap Data Transfer. Different subscriptions give different ideas. If you have free voice, you can write a soft-modem, and send data pretty slowly, but still for zero price - perhaps sending SMS via a cheaper gateway online via an Asterisk machine you can call free. Free data means free VOIP calls, and free SMS messages could also be converted into other kinds of data - “IP over SMS” ;-) And when you call someone, you can see what number is calling, right? That number is controlled by the handset! So if we have a 16 digits for data there; start all of them with 111, which no number does, and then you can share data with the rest of the digits. I’m not sure how legal that is ;-)
Q: Simultaneous calls?
A: You can with VOIP; you can hold a call and make another though.
Games. I gave a talk at a university who makes computers games. I’m not a computer guy. They loved the accelerometer. They have already implemented a game called “drainers’n’gainers” and it requires Bluetooth. You scan the room for Bluetooth devices, and measure the signal strength to map how far away they are roughly. I assign positive and negative values to each of the devices, and some add to my value and some of them drain my value. So if you have a bunch of people in the room, there will be this mad dash around the room to stay close to people who gain you and away from people who drain you.
And many more advanced ideas are out there. BUT!
Software patents. Some of the ideas I have presented are patented for sure in the USA. Software, firmware and hardware patents. In the EU, a complete system can be patented - hardware running software.
So we need help to fight software patents: Join the EFF, FFII, FSF, FSFE and ORG. We have won several battles, but the war isn’t over. Right now in the EU, we don’t know which way it will go, we fought it off, but it might return. These organisations are working on this problem, help them so we are all able to write these ideas.
Q: You described a lot of ideas that need servers online to store data.
A: Some things are implemented, many are not - but you can take part and contribute. There is a great opportunity to change things, nothing is set in stone in this project.
Like any GNU/Linux system, OpenMoko has a packaging system. There is a Stable branch in the FIC repository, which is stable and tested and security patched by FIC. There is a Experimental Branch like Debian testing, which FIC is testing, and many development branches out there that other people host. You can easily recover if you brick the phone if you get the development hardware.
The Neo1973 came out on 12th July 2007, and was USD$300 (base model) and $450 including additional development hardware. The FreeRunner is due in about 6 weeks or so, and will be $450 base and $600 including additional development hardware. If you know someone with the development hardware, you probably don’t need to get one yourself, you’ll use it so rarely.
Q: Pulse, in Germany, are advertising themselves as an official FIC distributor.
Q: When will the software be good enough to make a phone call?
A: I made my first call 3 weeks ago! I couldn’t make two phone call though, but the power management is being improved. When will it be like a normal phone? I don’t know, but all the resources are into getting the hardware done - once the hardware is done and stable, you can work on the software being
Q: Which Christmas?
Q: I’m at o-hand.com and have a FreeRunner - here! - and you can make phone calls and so on. It will work by the time you buy a FreeRunner. There are about 2 or 3 in the UK, and the battery life is pretty good, say 12 hours. Its a lot better than the Neo1973, and the power management software will help a lot.
Q: Are other mobile hardware makers going to be make OpenMoko compatible hardware?
A: Lots of email addresses from those companies are subscribed to the lists, although they don’t post much…
Q: Does it take SIM cards?
A: Yes, just one. People have said taking two SIM cards would be a killer feature, but no its not planned. Can you make a software SIM? Not any more.
Q: Can you swap the SIM while the phone is running?
A: The SIM is behind the battery, so no, and that’s probably on purpose.
Q: Is there a danger that too much developer time is spend on nonsense stuff like we talked about, instead of the core stuff?
A: There are people paid to work on the core stuff, like o-hand guy, and all this other fringe stuff is done by the community.
Q: How does the OpenMoko community feel about Google Android?
A: Its basically a hardware Java Virtual Machine. When we get the source code for that, I think we can compile it for the Neo, and run Android on the Neo - and maybe even on the OpenMoko GNU/Linux platform. So we don’t see it as a competitor.
Q: Someone mentioned that “moko” is Spanish for “snot”. Will this change?
A: I did this talk in Spain, and it was funny, but no.
Q: Some people are addicted to the UI of certain phones. KDE puts things where they are expected to be for a Windows user. Will there be a Nokia UI skin?
A: This is a computer, so I expect people in the community to make Nokia UI clones, for sure. Menu structures, everything.
FIC see this as an opportunity to experiment; if you make a USB device and connect it to this phone, and everyone wants that as a combined unit, they will help you develop that product and share the profits. They want everyone to do this; maybe make a braille display in a larger case, and use the innards of this device to make it possible.
So, we’ve talked about the FreeRunner hardware, the OpenMoko software and ideas for what you can do, how much one costs and when you can get it, and the potential future developments. Please see http://www.openmoko.org and http://wiki.openmoko.org for more details.
Q: Bulk orders?
A: Yes, FIC will do that for orders of more than 10.
Okay, break for a bit, then we’ll take it apart and demonstrate Dasher.
Postscript: When introducing the Neo FreeRunner hardware, and talking about the USB cable, Ole showed us another USB cable with a proprietary connector for his digital camera, noting that it is not possible to get a replacement. An hour after we all left UCL, he txt Alain Williams asking for a contact at UCL since he had lost the cable. He went back the following day but could not find it. This illustrates why anything proprietary creates artificial costs for us all.
The Notes from an Introduction to OpenMoko, by Ole Tange for UKUUG by David Crossland, except the quotations and unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.