How Symbian Plans to
Stay No. 1"> Whats different about developing applications for the mobile space as opposed to the enterprise space, other than things like screen size? And do you see the two worlds converging? Well, screen size is one thing. What were trying to do is to minimize the differences, because we want to take the pain out of development.So one thing weve done recently is weve introduced something called PIPS [a recursive acronym for: PIPS is Posix on Symbian] and it provides a Posix environment, so people who have written their application in standard C will be able to get that running fairly quickly on Symbian phones. That hides some of the differences. But then when it comes to the UI, the UI typically will need to be tailored to the small screen. And if theres computational intensity, people will have to think hard because you dont want to drain the battery. So thats where we will give plenty of advice. And there are tools to alert people to the fact that they are running in very tight loops, or things you get away with on the desktop but dont get away with on mobile. Another thing were doing is were promoting support for scripting languages, such as Python. And there have been some very interesting results from generalists, or non-technical people who within a week they can build an application using Python on mobile phones. Any reason why youre doing Python and not Ruby or PHP? Well, were doing Ruby as well. And when I say we, its not Symbian thats doing it. But Symbian is enabling other people to do this. And to an extent its a matter of choice. Python got there first, but there are ports of Ruby. Ive got a Ruby virtual machine running on my phone here, which has just been done. Its a port of Ruby 1.9, which has a different multithreaded infrastructure and is coming out around Christmas. And some people have got a hold of this and theyve done a port onto Symbian OS. To an extent, I would say let 1,000 flowers bloom. It depends on what people are familiar with. Thats why I say we want to take away the differences from mobile programming. So if theyre used to programming in Ruby then they can get Ruby on their phone. Your title is EVP of research. How far ahead do you look? Actually, what I do in research is slightly more complicated. Its not necessarily far ahead; its anything outside our current agreed scope. So its my job to make sure the management team at Symbian doesnt wake up one morning and say oh my goodness we should have seen this coming. Ive got to anticipate predictable surprises. If its an unpredictable surprise, thats another story. But, most of the time is spent on things we should have seen. And not only that we should have seen, but that we should prioritize to do something about them and then mobilize to do something about them. So its my job to raise a flag and say either this is something bad or this is a good opportunity. What are you raising a flag about right now? Scripting. Thats one reason Im interested in scripting environments. Thats something Ive pushed hard. What does your group do regarding the concept of usability? Because our phones have more and more technology, it always gets in each others way. So if theres only one thing the phone can do then you have a nice, easy UI. But if there are a hundred things the phone can do, then how do you organize it? Thats a hard problem. So one thing were doing is graphics. And graphics, canespecially if there are multiple layers of graphicsgive the user more of a clue as to whats likely to be hidden away under the next level down. So one of the big technologies weve announced at the show is ScreenPlay, which is support for something called graphics composition. Graphics composition is where different parts of the application and different parts of the software write in different layers and then the OS magically blends it together so that the right things are seen through. Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.
Now in reality you cant hide all the differences for applications that want to do really tough things. For an application that is not doing anything so tough, you could get by on more standard interfaces.