Wednesday, March 28, 2007

Low Power Microprocessors for General Purpose Computing

While researching devices for my home brew mobile phone, I've realized that the current generation of CPUs for mobile devices are actually seriously powerful, very low cost and use almost no power. The performance per watt and per dollar seems to be an order of magnitude better than the PC-class CPUs that are common in commodity servers nowadays. The absolute performance and memory capacity is lower, but is comparable to common PC hardware from a few years ago, and could be useful for more than running a high end phone or portable games machine. Devices such as the Marvel PXA270 and Freescale i.MX31 run at over 500MHz, some include floating point units, they support at least 128MB of RAM (a single chip), and a myriad of I/O interfaces, with Linux 2.6 support.

While the current mainstream CPUs were driven by the development of the home PC market, this generation is driven by the development of the mobile, battery powered device market, which is a very large. For example the worldwide cellphone market is something like a billion devices a year.

I think that there could be some interesting general purpose computer systems built from low power devices (CPUs that use less than one watt). I looked around but wasn't sure what to search for... I do know about the systems that are sold for embedded use, but they are typically configured using lower speed and lower memory options.

Does anyone know of vendors selling general purpose systems, or a category name for this space?

[Update: I asked around, and thought a while, and decided that this is interesting enough to have its own name "millicomputer" and its own blog "millicomputing"].

Thursday, March 01, 2007

The OpenMoko Story

Here is a link to the OpenMoko slide set presented at ETel. Worth a read, there is a lot of activity building around this platform at the OpenMoko community site.

Picture of myPhone

Here are the CAD pictures of the phone, I made the rear case cover translucent so that some of the parts inside can be seen. The big dark block is a Treo650 battery, the block in front of it is the Telit 862 GSM/GPS module that does all the phone stuff... Its 130mm long and 75mm wide, quite big, but thats a 3.7" 480x640 LCD, and its easier to fit off the shelf parts inside :-)



MyPhone Making Progress and ETel Conference

I'm at the O'Reilly ETel conference this week, lots of new and interesting things happening. I've met the OpenMoko people and held the phone (nice hardware, quite compact).

Several people from the SVHMPC are also attending, we have been showing off the cases I made a few weeks ago, and I've been spending way too long on a new and much cooler case design. I've posted my design including all the cad files (this is a completely open source project, including hardware designs) to a page on the Homebrew Mobile Wiki.

Thats the main reason there have been relatively few postings in the last week...

Joost sends out a batch of beta invites

I only got two, they are both already take and I don't have any spare, but several people are selling Joost invites on eBay for a few bucks...

Friday, February 16, 2007

Skype downloads approach 500 Million

In the next few days, Skype will pass the 500 million downloads mark. I seem to remember someone saying that Kazaa was the most downloaded program ever, and looking at the Kazaa home page, they currently show 389 Million. Skype is at 498 Million as I write this, and is downloading at almost a million a day. The download rate was over 1M a day when they made a new release available and existing users were getting updates. Compared to Kazaa, Skype is downloading every day, what Kazaa is downloading every week.

How are the competition doing? Vonage added a few hundred thousand users last quarter. Thats a few orders of magnitude away from being a competitor!

Of course, Kazaa is based on an earlier version of the P2P technology that powers Skype, and which is about to come to the world again via Joost. Joost just released a new beta for Windows, and their first beta for Intel based OSX. I still can't justify upgrading from my own Powerbook G4 (it just works) so I'll have to wait for them to backport to the older systems, and use my work laptop.

Monday, February 12, 2007

AMD Enhanced Power Now - Variable Cores and Clock Rates

There is an interesting article in The Register about the latest variant of AMD's enterprise power management system.

As I've mentioned before, in the interests of saving power, some enterprise server systems are varying their clock rates so that they end up showing a higher utilization at low load levels that you would expect. This non-linear relationship of load to utilization is one of the things I highlighted in my CMG06 paper called "Utilization is virtually useless as a metric".

The latest twist: in AMD's upcoming four core systems, individual cores will be stopped completely if there isn't enough work for them to do.

The effect on utilization metrics will depend upon how each operating system interacts with the power management capabilities...

For Solaris the so-called "idle loop" is actually quite busy. An idle CPU watches its neighbors to see if they have too many jobs on their run queues, and gets work by migrating processes that won't get to run soon to itself. Interrupts are also bound to individual CPUs, so that data structures don't have to migrate between caches at high interrupt rates.

It will be interesting to see how these technologies interact.

Adrian

Wednesday, February 07, 2007

Embedded songs from iJigg

This is a very nice embeddable player from iJigg, below is Continuum from my friends in Fractal, and also Smuggled Mutation by Estradasphere, which is from Palace of Mirrors, one of my most-played CDs in recent history. Its so varied and well played its impossible to get bored by it.



Fractal on iJigg

Another music website, where users tag and vote for songs they like - kind of Digg for music. Worth a try, so I created an account and uploaded Fractal's title track from their first CD - Continuum.

What do you think?

Adrian

New Joost Beta

They just released a new build, it fixes some problems and has some minor user interface enhancements. I left it running for a while and now I'm starting to run out of content that I want to watch... There are about 30 channels for beta testing. probably the most demanding are live music videos, Joost has fine sound quality and keeps up with very rapid on-screen action better than I would expect in full-screen mode on my Dell laptop. It becomes a bit more pixellated when its working hard to keep up, and the sound glitches to repeat a sub-second fragment now and again if it gets behind due to network slowdowns. On low action images, its very nice and clear.

In comparison, I've noticed that on my Slingbox TiVo, it does constant pitch sound stretching to slow down the display at the start of a show, thats how it sneakily builds up a buffer without making you wait.

The Joost folks are promising new content, an OSX version and an expansion of the beta program soon. I've had a few comments requesting beta invites, and I haven't had any to give. If and when I have any spare invites, I'll post it, so hold your comments...

Saturday, February 03, 2007

You can help search for Jim Gray

I met Jim last year when he gave a talk at eBay. His sailboat went missing, and a lot of people have collaborated to allow up to date satellite images to be posted on the web for anyone to take a look at and see if they can see anything that might be his boat.

My (ex-Sun DE) friend Geoff Arnold now works at Amazon, he blogged that they have configured a web service called Mechanical Turk to support parcelling out the work of looking at images. If you already have an Amazon.com account, then sign up for the service takes a couple of clicks.

I hunted through images for a while, and found a cargo ship, that's all :-(

Geoff's blog
Werner's blog
Search for Jim

Please take a look yourself and pass the Mechanical Turk search for Jim URL on...

Friday, February 02, 2007

Who needs a custom built Myphone?

The mainstream phone manufacturers are looking for hits in the mass market, and looking for large niches to broaden their market. However if you take a "long tail" viewpoint, everyone wants a slightly different phone, and many people have phones that are the least bad one they could find.

How about phones for people with poor eyesight? If you are over 50, can you read the small print on your phone's screen without reading glasses? I have a friend who has a medical condition that causes very poor eyesight, and sets her 17" laptop screen resolution very low so she can read it. She would like a phone that has just the applications she needs, big easy to find icons for them, and big fonts on a large screen for the address list and other applications. Hard to find in the shops, but easy to custom build.

Thursday, February 01, 2007

Making a case for Myphone


I mean that in both senses of the phrase "making a case". I have produced a lump of plastic, and I have good reasons why I want to build my phone.

Here are the first parts I made, two copies of an LCD bezel with a rounded outside surface and a cutout to locate the LCD. The standing part is as it was made in the 3D printer, sideways on to get a smoother finish, and with additional "support material" that holds everything in place while the "model material" sets. The part lying flat is the same, but is face down and has the support material removed. The size is about 5" by 3" and the bezel is 0.1" thick. It took about 7 hours to print the pair of bezels, each contains 0.6 cubic inches of model material and the total including support material was about 1 cubic inch. The bezels cost $10 each to make at Techshop in Menlo Park ($100/month for membership, $10/cu inch to use the 3D printer).

This experiment went quite well, and the next step was to extend the design to form a complete top and bottom case that fit together. This was kicked off using black rather than white plastic, and lying flat, face down. This prints more quickly, but uses more support material to create the base. The base will give the phone a textured surface, which can be made shiny by dipping in acetone, and I'm hoping it will look cool, like a carbon fibre finish. Pictures of the design, cad files, and a photo of the 3D printer in action can be found at the SVHMPC Wiki, I'm updating them as work progresses. The case walls are thicker than they need to be, so the final design will use less plastic and cost less than the $40 I was charged to make this complete case.

The purpose of this build is to figure out where to put the contents, so I can mold support brackets into the design and make an attempt at a working prototype.

Why am I doing this? Some of us are attending the Emerging Telephony conference in March, and I want to have something to show. Also its fun to make things, fun to hang out at Techshop, I'm learning a lot from the 3D printer instructor, and in the end I will have a phone that evolves rather than being thrown away every few years. If I want more memory, a bigger LCD, or different trade offs in features/size/battery life, I don't have to start from scratch or accept someone else's set of compromises. That's why I call it my phone.

Friday, January 26, 2007

myPhone will be a TuxPhone

There is lots of interest and activity in the Silicon Valley Homebrew Mobile Phone Club right now centered around building a phone with a large touch screen. I'm calling it "myPhone", and TuxPhone is the generic name for the open software and hardware components we are using. The hardware design is based on components that are openly available with freely available spec sheets, we will make our schematics, design details and cad files freely available, and its quite likely that no two phones will be built the same way. If you want it thinner and lighter, go for fewer features, a smaller battery and tweak the cad file before making the case.

The size is driven primarily by the screen, and we've settled on the screen that is used by the Sony PSP, with a touchscreen overlay added. Its a 4.3" diagonal, and is widely available, low cost. We will include a standard GSM/EDGE module, so I can just pop the SIM card from my Treo into it, and we can add GPS, WiFi, Bluetooth, Accelerometer, SDcards or hard disks, whatever custom mix we feel like. The CPU and other parts will be based on Gumstix modules.

Friday, January 19, 2007

More on Open Phones

Thanks to a comment on my previous open phone post, I am reminded that I forgot to mention OpenMoko. This is a neat looking touch screen Linux phone that should be available in February 2007. I haven't seen one yet, although I have played with the Greenphone and I know someone who has ordered and received a Greenphone, so they are ahead by a couple of months.

In the homebrew mobile club, we are talking about making something with a physically bigger (perhaps 3.7" VGA) touch screen than the OpenMoko (2.8" VGA) or Greenphone (smaller QVGA), big enough to show a more usable keyboard. The existence of multiple open phone projects is great, since the nature of the open source community is that we can all share and reuse code for device drivers, user interface components and applications. We aren't building from scratch every time we want a new feature. In the meantime several of us will have Greenphone's, OpenMoko's and TuxPhone's to play with.

The big screen is pretty much the most expensive part. I like the concept of building a phone, keeping the screen and CPU for a long time, but do upgrades like replacing the GSM modem with a 3G one by performing electronic surgery inside the case.

Thursday, January 18, 2007

Joost and The Venice Project Beta Testing

I signed up for TVP's beta program a month or two ago, and got accepted recently, so I've been playing with it. A few days ago they launched under the name Joost, which I find amusing since I have a very good Dutch friend called Joost (pronounced yoast) and I'm not sure if I'm supposed to say it as yoast or juiced....

I've had a TiVo for years now, and Joost has a very nice user interface that works for me like a TiVo that I can run anywhere, and which has tens of terabytes of stored programs, not just the 30GB or whatever that I have inside my TiVo. The other thing that is better than TiVo is the finding experience. I was able to type "Lotus" into a search box, and find two episodes from "5th Gear" where they were track testing my favorite car. The content is largely European TV at present, and they have enough programs to keep beta testers happy for a while, but are going to need a lot more as the program launches.

The display quality is good, and there is a short delay when a program is first selected, especially if its one of the more obscure programs. The networking is something like a securely encrypted in-order bittorrent. You don't have to wait for the whole program to load before you start watching it.

I posted last year on disruptive innovation as it applies to the moving pictures industry, discussing the concept of a maturity model for innovation, evolution from the cinema to thepiratebay, and a more abstract maturity model. In the final part I made this statement:
The final phase in the evolution of a market occurs as the cost of replication and distribution of the product approaches zero. There is no end user cost to use the Internet to download a movie. A central utility such as YouTube can use a mixture of advertising and premium services (for a minority of power users) to offset their own costs. Peer to peer systems distribute the load so that there is no central site and no incremental cost in the system. The only service that is needed is some kind of search, so that peers can find each other's content to exchange it.
I was talking about how bittorrent based video is inevitably going to dominate over centralized services like YouTube, and there have been reports that most of the traffic on the internet is bittorrent. The inconvenience of bittorrent is that it is basically an overnight batch job to get a program. Joost fixes the problems of bittorrent, while staying as close as possible to free distribution. Joost inserts a small number of short adverts that the Joost client figures out how to target to your interests. These are intended to be enough to pay for the central seeding servers, and to pay the content owners so good programs become available, without becoming intrusive enough to switch off the users.

Based on my own maturity model, Joost is nicely setup to be the end game for this market. That doesn't mean that we stop going to the cinema or watching YouTube, just that Joost could end up being "bittorrent for the masses", and be an order of magnitude bigger than everything else.

Tuesday, January 16, 2007

Template Update

I just realised that my blog wasn't displaying properly in Internet Explorer. I couldn't figure out why, so I upgraded to a fresh new Blogger.com template that has a lot more configurability, and dropped the ads etc back into it. The formatting is still a bit off, and it looks better in Flock/FireFox but at least the basic blocks are all in the right place now.

The archive of old posts is also easier to navigate with the new template.

Build your own phone, any way you want it!

As an antidote to all the grumbling about the lack of an open developers approach to the Apple iPhone I'm going to talk about some projects that are building open phone platforms.

I'm a member of the Silicon Valley Homebrew Mobile Phone Club, and there are several projects in existence to create a free, open source, software stack and applications for mobile phones. The hardware parts are available off the shelf, so you can buy a complete open phone or use whatever parts you like. All you need is an enclosure, and you are on your way to whatever spec you wanted, with whatever applications you wanted.

Actually, if someone out there knows Autocad and wants to help design some enclosures, the assistance would be appreciated. The SVHMPC often meets at Techshop, where they have a 3D printer that can make anything that can be described by a CAD file in ABS plastic.

The phones use off the shelf GSM modems, that take a SIM card and deal with the network. They operate like any unlocked phone would work, and the GSM modem module prevents anything bad from happening to the network. The command set looks a lot like the old hayes modem AT codes, and Linux device drivers exist to manage some of the common ones. Some of the GSM modems include GPS location services as well, most of them are based on the relatively slow GPRS/EDGE standards for Internet connections.

My own ideal phone starts with a 3.7" VGA resolution touch screen and includes WiFi, bluetooth GPS and a 3G network, but I may have to put up with GPRS for now. The CPU is based on 400MHz ARM chips from Gumstix, and the parts list from the OpenCell project gives you some idea of what's available.

Its going to cost more than an iPhone, won't be as thin, and as cute, but I will be able to make it do whatever I want, and it will be runing as much of the standard Linux 2.6 distribution as I feel like.

I built my first three home computers up from bare PCBs, I still have my soldering iron, and I'm not afraid to use it :-)

Monday, January 15, 2007

What the iPhone doesn't do (yet) and thoughts on why not.

There has been a lot of commentary, complaints and opinions on the iPhone. I haven't seen much discussion of its features and strategy from the perspective of the realities of product development. In my opinion, what Apple have done is the right set of strategic and tactical moves for the first product in a new family. What was announced and shown is not the final feature set for the initial device and it does not include the full vision of the product.

Lets look at the timing of the announcement. As a new entrant in the mobile phone marketplace, the correct strategy is to pre-announce. There is no existing product from Apple to cannibalize, and there is only partial overlap with the iPod market. The announcement was made after the holiday shopping season, and the timing is setup to get a volume ramp in place for the 2007 holiday shopping season. The initial launch is based on the minimum marketable features (MMF) required to address the Apple oriented consumer marketplace. Rather than wait until the full feature set is ready or create low quality solutions for a wide feature set, the Apple strategy is to develop a small number of features to an extremely high level of quality and integration, and focus on the needs of their core market of existing OSX and iPod users.

Lets look at disclosure related issues. For a phone to be released as a product it has to go through FCC testing that takes a month or two, and the FCC process is relatively open. All the new phones are scooped by Engadget Mobile before they turn up in stores. For the big splash product announcement, it needed to be scheduled before Apple turns over an iPhone to the FCC test process. In order to keep details on the product quiet for as long as possible, it is also much easier to do the initial launch before completing negotiations with key third party application developers like Adobe and Microsoft. I've heard that there is no Adobe Flash support in the device at present, and there is a clear need to support Microsoft Office at some point in the future. These omissions are easily fixed, its just a matter of time.

New models in the iPod range are announced when they are basically in stock in the stores. If you take the iPhone package, and remove the phone parts, keeping the iTunes music and video functionality, and WiFi/web connectivity, you are left with a very nice looking wide-screen networked iPod. Its main issue would be the relatively small capacity flash, so that could be increased, or a hard disk could possibly be crammed into the package. I would not expect anything like this to be announced until it is completely ready and in-stock, but if it exists, it could end up being released this summer around the same time as the iPhone actually ships. Since it isn't a phone, its outside the Cingular agreement, but adding a WiFi only VOIP client like iChat or Skype would create a product that competes with the Sony Mylo.

During the demo's no-one tried to show the iPhone's camera, this indicates to me that it isn't finished, and I hear elsewhere that they are still working on video capture. For use as a video-phone, the camera is on the wrong side, you can't see the display while you are on-camera. This makes it seem less likely that a full iChat function will be included in the initial package.

Apple is getting a lot of criticism for its locked down and controlled approach to third party software on the iPhone, and lack of a developers program. Developer support falls outside the minimum marketable features required for initial launch into the consumer marketplace. By taking full control of the product, Apple can make sure that very high quality standards are in place, and that applications integrate with the iPhone experience. The reality of product development also makes it hard to build a stable developer API until the product is finished, so I fully expect a phased developer program. The initial phase included applications like Google Maps and Cingular Visual Voicemail from development partners (and I expect some kind of GPS location service to appear in the product soon - perhaps even in the initial release). The second phase will be a closed private developer program including big partners like Microsoft and Adobe. The third phase will start to open up to the Apple developer community, with stable public APIs and developer tools. Extensibility is a MMF for the professional/consumer (prosumer) and enterprise marketplaces, along with Microsoft Office support. This may take a year or so to arrive, its inevitable, but I can see why its not a feature of the initial product launch.

There has also been a lot of grumbling about Cingular and the lack of 3G service. Apple have dropped hints that they will support 3G sooner rather than later. My guess is that 3G is considered an MMF for the European and Asian markets, so I wouldn't be surprised if the models launched in those markets in late 2007 and 2008 included 3G support, and as Cingular's own 3G network continues to roll out over the USA the timing would make sense here as well. The real alternative to Cingular for Apple would be to setup their own Mobile Virtual Network Operator (MVNO) like Helio or Virgin Mobile. This is a big complicated thing to do without any experience, so my guess is that they decided that the highest priority was to get the product launched with a big network partner like Cingular, and to decide later on whether it is worth creating an MVNO for a less compromised product. So when the exclusivity arrangement with Cingular expires, they may well focus on their own MVNO services.

So thats my opinion, as someone who has developed products and strategies in the past and understands the compromises, but with no inside information on their actual plans. My own plan is to avoid the initial release, and see what the product looks like for the Xmas 2007 shopping season.

iPhone and Treo at MacWorld

I went to MacWorld to check out the Apple iPhone. I think that it is even more impressive in person than I was expecting. Its smaller and much thinner than I imagined from looking at pictures, and watching the live on-stage demos made it clear just how much of a step forward in usability this is for a mobile device.
I took the picture above using my Treo650 of someone else taking a picture with a Treo650, so the size can easily be compared. I was embarrased to get the Treo out anywhere near the iPhone, it just felt wrong. The overall width and length of the device is similar, but the Treo is about twice as thick. I tried to take a picture edge-ways to show how thin the iPhone is, but the Treo camera is a crappy low resolution one and the iPhone is so thin it effectively disappeared in the photo.