keyboard-and-small-screen design, and newer touchscreen models. "We build the file and send it through to the simulator and it's good, but it's detached from the Eclipse IDE," Larcombe explains. "You can do more with the emulator than you can with the emulators for the iPhone and Android, but you don't have the overview aspect and have to drive everything from your code. You almost have to write different versions of your code for different BlackBerry phones. It's all a bit less user-friendly for beginners; the harder it is to build apps, the less likely users are to accept it." Easier development For seasoned developers, the shift between IDEs and development languages may just be shrugged off as an occupational hazard. But in terms of the market skills base, it presents a very real challenge: university students typically come out with Java and/or iPhone skills, but, with a strong interest in Android's openness, it's likely they will end up writing for either Apple's or Google's platforms. This leaves rivals at a disadvantage that's hardly aided by obscure or badly-realised development tools. Google, for one, has actively recognised the importance of building a base of developers and has recently taken the significant step of releasing App Inventor (see our story here ), a substantially different type of IDE that's designed to let non-programmers build Android applications. App Inventor. App Inventor is based on the Open Blocks Java library, which allows the creation of programming languages that use 'building blocks' that are stacked