Apr 7, 2010
Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.
As the Principal Engineer for QuIC’s Web Technology team, one of the most common questions I’m faced with is, “Why is QuIC expending energy to help optimize Webkit?” Perhaps some people feel that actively participating in open source runs contrary to traditional business models. Or, some may even wonder why QuIC doesn’t just sit back and leverage the work of other corporations and the rest of the WebKit community.
Provide desktop browsing experience in mobile footprint
Mobile browsing has become a key application offering users access from almost anywhere key services and applications on the Web. However, until recently, browsers have been optimized primarily for PCs, causing them to be inefficient for power, for rendering and for network performance. Efficient use of RAM and multicore processors is just one area that comes to mind. Further, WWAN networks have inherently higher RTTs (round trip times) than WLAN or LAN networks, and so HTTP requests and DNS lookups need to be more carefully considered on mobile devices.
Optimize multimedia and graphics elements for hardware acceleration via open standards
A key to power efficiency is to use dedicated hardware where appropriate. I have been a member of teams that have been longtime participants in the standards development process and have contributed to many open source standards, such as Khronos. In my opinion, support of open standards is important in order to leverage hardware engines for audio, video and image decoding, as well as for HW-accelerated composition.
Close the gap on “bleeding edge”
The Internet is constantly evolving and the emergence of HTML5 is bringing forth a lot of new and powerful features. Support for the new standards requires optimization at all layers – multimedia, rendering, composition – and integration of these optimizations with the large and dynamic WebKit project. The WebKit contributor community is over 100 strong, so the amount of effort that goes into WebKit each month is considerable. In fact, in my opinion, a 3-4 month gap between commercial browser releases and bleeding edge WebKit is too long.
Provide a unique mobile-centric browser experience
The mobile browsing experience has the ability to greatly exceed that of desktop browsing. Specifically, device APIs for camera, geolocation and sensors open the door to a wide range of new and exciting applications and services. If these APIs are crafted well, soon Web developers will be writing pages and applications that go far beyond the scope of what runs on a PC. Shall I dare say “Web 3.0?” I believe that there is value in participating with SW partners as well as with the larger community to drive the evolution of these APIs to make more interesting and powerful capabilities available to application developers.
Reuse and common framework
WebKit is the core browser engine across many chipset platforms. In addition, it is fast becoming a central rendering engine (ala WebOS) for an increasing number of platforms. As such, optimizing WebKit presents a great opportunity for reuse of development across high level operating systems.
QuIC has already contributed several patches to the V8 project, and a few to WebKit itself. As many of you read this blog from devices connected using Qualcomm application processors, you should know that QuIC’s engineers are working tirelessly to improve the experience.