OpenMoko's Neo FreeRunner: Open to the Core
Although the FreeRunner includes all the internal components you need to develop something interesting, a few things are frustrating and could use improvements. For example, there is no hardware volume control and no way to switch to vibrate mode. Now, the FreeRunner has two buttons that can control software, so it may be just a matter of implementing the feature, but this is something that should be present on every phone. There are only two hardware buttons on the phone, which in itself isn't bad. However, the buttons are placed in awkward places on the sides of the phone. It is quite difficult to press either button while holding the phone in one hand. Powering on the device can be rather tricky, as you must hold the power button for just the right amount of time in order to get the device to boot. My girlfriend was unable to power on the FreeRunner even after studying it for a few minutes.
The phone charges over its USB port, which is quite convenient, but unfortunately, the port also is located in an awkward spot. It is difficult to make a call while the phone is plugged in, as the port is on the right-hand side of the phone, where your hand is normally gripping the phone.
Also, the battery must not be completely drained. According to the OpenMoko wiki, “this is an issue because the internal charging circuitry cannot be turned on until the FreeRunner has booted, and booting through USB power alone does not work.” It's the little things.
It's also the big things, like the stylus that comes with the FreeRunner. Every time I showed the FreeRunner to people, they laughed (out loud) when they saw the enormous stylus. In addition to being a stylus, it also functions as a full-sized pen, a flashlight and a laser pointer. Making matters worse, it contains four small batteries (to power the flashlight and laser pointer) at the opposite end from the tip that weigh it down and make it difficult to focus on small points on the screen, such as the keyboard. The “Matchbox” keyboard that is provided with the Debian distribution is marginally better than the one used by OM 2008.8 and Qtopia, but they both are painful to use.
I also found it rather annoying that I needed to remove the back of the case, the battery and the SIM card to swap out the microSD card. I was really looking forward to being able to boot multiple distributions during testing, but having to jump through these loops made that task a bit more tedious.
Speaking of loops, for the life of me, I cannot figure out why there is a lanyard loop on the bottom of the phone.
Oh, and it would really be nice if the FreeRunner provided a standard headphone jack rather than the 2.5mm jack that is included.
Despite these issues, I still feel that the OpenMoko team is doing tremendous work, and I am continually impressed as I dig deeper into the project. They are very clear that the FreeRunner is just a canvas for the community to build upon, as stated in this quote from OpenMoko developer Sean Moss-Pultz:
Think of our products as museums. We're building the environment. Each one different from the next. You'll get all the free art supplies you could imagine because we want you to add your own meaning. You choose: consume, create or both. Either way, you create your own meaning. It's about you.
I think that the OpenMoko team should reconsider the goal of eventually producing a consumer-usable phone. There are already plenty of those, and there isn't much else out there that is similar to the FreeRunner. Personally, I love the fact that I can run Debian on my phone. Having said that, I think there are a few areas where the OpenMoko team should focus their efforts.
First, the phone stack really needs work. The FreeRunner becomes a much more compelling alternative when I can use it as a phone. The call quality is currently bad enough that I would not recommend relying on it as your primary phone. I would rather carry a single device, rather than the FreeRunner in addition to a phone.
Second, the documentation is a mess. There is a lot of information on the OpenMoko wiki, but it is horribly organized, poorly written and often out of date. Many pages seem to hold the answer to your question, until you realize that the page was written for the Neo 1973, the FreeRunner's predecessor. Although a wiki follows in the spirit of a community-organized project, I'm not sure it's the best way to present official documentation. I spent a lot of time reading the wiki, only to become more confused.
Finally, OpenMoko should make a strong effort to support more microSD and SIM cards. Dealing with these two issues was probably the most frustrating thing about my experience with the FreeRunner.
Oh, and a note for the OpenMoko Marketing department. The people who buy the FreeRunner at this point are doing so because they really want to get involved and play with this cutting-edge device. This is the community; these are your fanboys and fangirls. They will support you and advertise for you, so how about including a couple OpenMoko stickers in the box?
I look forward to seeing what develops around OpenMoko and the Neo FreeRunner. There is still a long way to go before it is a usable phone, but as a geek gadget, the FreeRunner is a lot of fun. Linux geeks don't mind getting their hands dirty, so it is nice to have a gadget that can challenge us.
|Using tshark to Watch and Inspect Network Traffic||Aug 31, 2015|
|Where's That Pesky Hidden Word?||Aug 28, 2015|
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
|My Network Go-Bag||Aug 24, 2015|
|Doing Astronomy with Python||Aug 19, 2015|
- Using tshark to Watch and Inspect Network Traffic
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- Concerning Containers' Connections: on Docker Networking
- A Project to Guarantee Better Security for Open-Source Projects
- Where's That Pesky Hidden Word?
- Firefox Security Exploit Targets Linux Users and Web Developers
- My Network Go-Bag
- Doing Astronomy with Python
- Build a “Virtual SuperComputer” with Process Virtualization
- diff -u: What's New in Kernel Development