My post-symbian blog is PaulB on Mobile at http://paulbonmobile.wordpress.com/
I’m moving on from my role as Head of Tools for the Symbian Foundation. I’ve appreciated the opportunity and the experiences with tools, mobile, web and open source.
From my start in June 2009, it has been quite an adventure. After having led tools for Wind River, I was ready for a new challenge. Instead of just platform tools, I was now also responsible for application tools. Instead a staff of 80, we were a few people working with a nascent open source community. There was universal consensus that Symbian’s existing tools solution needed to be dramatically improved to attract and retain developers to the platform.
Now sixteen months later, there is still a long way to go, but the Symbian tools community has made some major progress:
- There is a modern open source compiler (gcc) and debugger (gdb) for Symbian – available in the Qt SDK
- QEMU is well on its way to improving the emulation solution for Symbian developers
- Qt SDK dramatically improves the Symbian application developer experience
- Carbide.c++ is making major strides towards usability and improved debugging in the upcoming 3.0 release
- Symbian has become the mobile industry leader in open source web development tooling
This will be my last post on this blog, other than perhaps a pointer to my next one.
You can reach me at first.last @ gmail dot com
I wish the Symbian community the best.
Android Froyo Highlights
Android and Symbian
As I sat through the keynotes and the Android sessions, it became clear that a deep developer enablement ethos permeates the Android team. While Symbian has traditionally viewed phone manufacturers as the primary customer, Android views the developer as the primary customer with phone manufacturers being a conduit to get to the developers. Symbian is strong at security, hardware enablement, and power management. Android is strong at responsiveness, usability, and developer attractiveness. Symbian can learn from some of Android’s strengths at enabling the community to create applications to enrich the mobile platform vibrancy.
On the flip side, it’s interesting that many of the Google I/O Android sessions focused on helping developers with power management, asynchronous programming and performance — areas that Symbian programmers have addressed for years.
The Device is Step One
The Symbian community is making admirable progress at replicating the Symbian Limited product model in open source. Providing a platform for device manufacturers is no longer enough. The platform also needs to attract developers.
Developer Enablement Permeation
Symbian is improving its developer experience by adding the cross-platform Qt development environment and runtime to the platform. Qt is purposely a layer on top of the platform. It does not permeate the whole platform to improve application creation and usage. I was particularly impressed by the “Writing zippy Android apps” session, in which a Google engineer talked about finding performance, responsiveness, and usability issues and then communicating to the multiple responsible teams to get the issues fixed. The Symbian community should empower similar types of initiatives. Too often, developer and application improvement initiatives are rejected or delayed because of concerns about hardware shipping deadlines, cross-functional challenges, or security concerns.
Speed and Urgency
Android is making plenty of mistakes, but iterating fast enough so that mistakes get quickly fixed. Froyo is the fourth release since April 2009.
Tools for Mobile Web
Despite a lot of information about programming for the web and developing for Android separately, I did not see any content at Google I/O to improve web programming for Android. From a developer perspective, it would be ideal to write a program once and have it work on any mobile device. This will not likely to be possible anytime soon with Objective C, Dalvik Java or Qt C++. However, devices are converging to all supporting WebKit html5 supported web browsers. At the same time, there is increasing access from the browser directly to device capabilities like contacts, location, and camera. In addition to supporting emerging Web mobile runtime standards like phonegap and BONDI, I’d like to see Android join with the Symbian Foundation, Eclipse Foundation, and others in advancing developer tools for mobile web developers with the Tools for the Mobile Web project.
There is clearly a need for more than one open mobile platform. Choice will benefit everyone in the mobile eco-system and spur further innovations. As the most deployed smart-phone OS in the world, Symbian is well-positioned to be one of those platforms. To do so, it should leverage its strengths and learn from the successes and innovations of the newer market players, especially around developer enablement.
Linux, Mac, and Windows versions of the GNU compiler, the GDB debugger and the QEMU emulator are now available for Symbian development here.
Thanks to CodeSourcery, the world’s leading GNU tools consulting company, for producing these tools. And CodeSourcery is in the process of incorporating the changes into the relevant open source repositories.
At this stage, the tools are likely only ready for experts. They’re in raw form and not integrated with IDE’s, build systems or SDKs. They can provide a foundational basis for community members to create broader development kits. In fact, the Qt Creator team is already working to integrate this GDB.
If you’re more energetic, you could build some of the other tools yourself from the Symbian source.
Related existing community initiatives include :
- Software Freedom Fighters – Build the Symbian Platform with gcc.
- Developing for Symbian on Linux
- Using GDB from Carbide.c++
- Using GDB from Vanilla Eclipse
I’m happy to say that the beta edition of the Symbian Web Tools is now available for download
Our goal with this product is to help web developers create applications for the Web Runtime(WRT). The main release criteria was to provide an IDE that had at least feature parity with the alternatives. We believed we met that, as well as providing some additional improvements.
The key difference is this IDE is developed with purely open source components from Eclipse JSDT, Chromium, and Nokia. We plan to collaborate with Eclipse, Symbian, and other open source communities to rapidly innovate and improve these tools to enable developers to create more and more compelling mobile web apps.
Read more about the release at Web Tools Wiki.
Read the lead engineer’s recent blog.
Discuss in the forum.
Or just start developing a cool web app for mobile NOW!
It’s been a busy two weeks for Symbian and the Tools team. Last week was the SEE conference as well as several meetings with our London Symbian colleagues. This week was Qt Developer Days and the Silicon Valley Symbian SIG. In this blog, I want to give an update on another meeting that took place in London on October 29th.
We had the first Symbian Foundation Tools SIG. Twenty-nine Symbian eco-system tools creators spent the day sharing plans, strategies and goals. We had representatives from handset manufacturers, package owners, chip vendors, startups, tools vendors, and service providers.
Here are some of the highlights:
- Platform Creation – Use tools to support, ease, and encourage platform creation and collaboration
- Getting Started – Focus on simplicity
- Understand the Tools Portfolio – There are a few hundred different tools in the Symbian eco-system. There needs to be a good way to understand them and find what you need
- Tools Package Owners – make the “leap of faith” and contribute even if there are no known collaborators
- Symbian Foundation Tools team and community – Encourage collaborators to express interest in contribution
- Meet the community on its own turf – mailing lists, IRC, forums
- Contributors must see value in their contribution
- Consider using more existing well known open source tools instead of open sourcing comparable historically closed source tools
There are more SIG meeting details and presentations on the Symbian wiki.
One of the things about joining a new industry is needing to learn a new set of terminology. Since joining the mobile industry earlier this year, I’ve been most puzzled by the word “widget”. This is the story…
Web Development Trends
While the programming languages for the web mature, there is also progress being made with the core markup language (assembly language) of the web browser. Two important addtions of html5 are the canvas tag which enables dynamic scriptable rendering of bitmap images and the ability to do offline storage to better enable web apps to deal with intermittent connections.
Check out bespin to get a sense of the growing power of the web application platform. Bespin is on its way to becoming a fully functional development environment developed purely on the web. In addition to typical IDE features like editing and building, it takes advantage of the web to innovate around developer collaboration.
The word “widget” may be too entrenched to change, but whether they’re web apps or widgets, web applications are here to stay and will only get more important. There are an order or two more web developers in the world than native developers. The mobile platform is transforming into an innovation convergence and acceleration point for the web, embedded devices, and the cloud. So the mobile eco-system providers that do the best to enable mobile apps with the right browsers, enabling APIs, powerful development tools and usable deployment tools will lead the way in attracting web developers to create a rich set of applications.