I'm here at the Intel Developer Forum 2010 in San Francisco, and this has been a great opportunity for a programmer such as myself. While most programmers might think of Intel as a hardware manufacturer and look to other companies (such as Microsoft) for their development tools, in fact that couldn't be further from the truth. In addition to creating some amazing hardware technology, Intel has a huge set of tools for developing software that runs on the devices and computers powered by their technology.
One such such device that has a whole set of tools is the Atom processor. The Atom is a very low-power x86-based processor meant for handheld devices, netbooks, and anything else that needs the power of x86 but without the overhead of a full microprocessor. (For example, here at the conference one company is presenting a pretty cool digial music stand that contains a dual-core Atom processor. Yes, dual core. Sweet.)
While not new (the first Atom was introduced in 2008), Intel has several developer programs for the Atom that they're continuing to role out. I had the opportunity to attend a presentation by Intel's Bill Pearson where he gave an hour-long introduction to developing for the Atom.
The developer program includes a complete app store, where you can publish and sell your Atom-powered apps. But what's cool about this particular app program is that you can also create components that other programmers can use and make money there too. The idea is that when other programmers use your components in their own apps, and they sell copies of their apps, you in turn get a cut of the money. Good deal.
The steps for creating apps (or components) are simple; you download the AppUp SDK, and obtain a GUID (a unique identifier) for your app. You develop your app (okay, that part might not be so easy, but we're programmers and that's what we do!), and run tests on the emulator that ships with the SDK. (But Mr. Perason made an important point: Make sure at some point to run the emulator on a separate PC from where you develop the app so that your app runs against the correct libraries and not the debug libraries.) Then you package it and upload it and begin beta tests. Finally when it's ready, you submit it to Intel, who will approve it and make it available for sale in the app store. And, of course, you choose the price for your app.
For developing the app, you have a couple of options. If you're a C++ programmer, you can use their C++ library in conjunction with Visual Studio 2008. (Right now it has to be 2008.) Or you can optionally use Adobe Air and develop with Adobe tools, and even Flash. (Hear that Apple?)
Included with the SDK are the tools for authorization. What that means is your code can call into the authorization library and verify that your app is authorized to run on the device. In other words, your app can make sure the user actually paid for it. If not, you'll get an error back from the library and you can exit gracefully. (He kept pointing out, "exit gracefully." I suppose we can interpret that to mean you shouldn't display a message telling off the user for allegedly stealing your app!)
Also included in the SDK are all the core classes that allow you to actually make use of the device's features.
Cool things are happening here. As I said yesterday, now is a great time to be a programmer. And as James Reinders told me yesterday during an interview (which I'll be writing up later today), he can't wait to see what kind of cool applications the world of programmers comes up with using Intel's technologies and SDKs. I think my next step will be to download the AppUp SDK and start building my first Atom application. And you can do it too by going to http://appdeveloper.intel.com . Have fun!