iPhone or Other Phone?
The iPhone has captured the imagination of everyone. It's a very cool phone, and Apple has done a brilliant job of designing and promoting it. Their application store has been a huge success, and has changed — entirely — the nature and structure of the cell phone software market.
Still, I don't think the iPhone is, at present, a good platform for beginners in a classroom. Here's why:
- iPhone development can only be done on Macintosh computers. This is impractical in schools without them
- iPhone development must be done in Objective C. I have no objection to Objective C as a programming language. I don't, however, believe it is well suited to beginners, and it is not used for much beyond iPhone programming
- software developed for the iPhone won't run on anything else. It isn't portable because Objective C isn't widely supported
- the iPhone is a single, uniform platform, so the benefits of platform diversity (described in the previous section) are lost on the iPhone
- the iPhone has 2.2% of the world market. Programs for the iPhone won't run on 97.8% of the phones around the world
Please don't get me wrong. I love the iPhone. It's a brilliant piece of technogy. I just don't think it's a good platform on which to study computer science.
Why I Chose Nokia
I've been working with Nokia phones. Nokia is the largest cellp hone producer in the world. They have just under 40% (much less in the US) of the market. They produce a broad range of phones in all price categories. Also:
- they also have a great, free web site for developers (forum.nokia.com). It's chock full of technical information, specifications, white papers, and software tools. The site includes forums in which to ask questions and get answers. They recently posted 400 Code Snippets for Your Use. Nokia's web site provides the best developer support I have found
- Nokia freely distributes (through forum.nokia.com) a program called Nokia PC Suite. This program works seamlessly with NetBeans to download programs from the desktop computer (on which they get developed) into Nokia cell phones using Bluetooth (no cables needed!)
- Nokia freely distributes (through forum.nokia.com) software emulators for their phones so that most testing can be done on the desktop computer, without having to download to a cell phone.
Let me add that none of these are reasons not to use other phones.
Samsung, LG, Motorola
I have also downloaded free emulator software from Samsung, LG, and Motorolo. This let's me run and test cell phone software on a huge assortment of virtual phones. Taken together, Nokia (40%), Samsung (20%), LG (10%) and Motorola provide 75% of the cell phones across the world (~1.1 billions phones were sold in 2009).