Bookmark and Share
Check Google Page Rank Locations of visitors to this page
Click to get Free offers

Monday, June 9, 2008

Business Opportunities for PHP in the Wireless Market

by Roland Schmidt

The benefits of PHP as a server-side, cross-platform HTML scripting language are generally acknowledged.

However, PHP's advantages for developing wireless applications are less well known. PHP is a great tool to generate Wireless Markup Language (WML) for the WAP protocol, and cHTML (a subset of HTML) for i-Mode.

For example, PHP can generate different markup languages for the same URL request depending on device requirements (does the client need HTML, WML, cHTML, etc.?). It can also adapt this generated output to display properly on different-sized screens, such as a Palm display or a web-enabled mobile phone.

In other words, PHP is a great choice for dynamic web-based interfaces. And as we look at the emerging wireless markets, PHP could provide open-source developers with an opportunity to work in these potentially profitable arenas.
Revenue sharing in wireless marketplaces

The i-Mode protocol, developed in Japan by NTT DoCoMo, currently has 24 million subscribers, and is starting to make inroads in Europe. Given DoCoMo's 16 percent stake in AT&T, it's only a matter of time before i-Mode arrives in North America.

As these new wireless services emerge, so is a new business model -- revenue sharing. Here the carriers, application service providers (ASPs), and in some cases developers, share the revenue stream. One successful application in Japan has 14 million subscribers paying the equivalent of $1 per month to receive a daily comic on their i-Mode enabled cell phones.

At present the availability of wireless applications remains somewhat limited. This creates an exciting opportunity for the open-source community to develop compelling new wireless "push" and "pull" applications.
Hurdles for PHP to overcome in this arena

This opportunity does not come about without some issues, however. One of the most significant issues is the stringent requirements of major wireless carriers. The services must:
Generate no disruption to network operations
Be scalable to millions of subscribers
Provide very high availability (24/7)
Be flexible when it comes to provisioning the service
Allow billing for service use

Because of all this, PHP applications currently hosted by ASPs require extensive testing and certification prior to their release. These concerns include:
Resource use (memory, CPU, disk)
PHP function library calls
Messaging services bandwidth use
Billing fraud
Creating a PHP sandbox to meet these challenges
We at Contec Innovations are looking at solutions to some of these challenges. One area that we're particularly interested in is the concept of the "PHP sandbox." The concept is that an application monitor controls execution of PHP scripts via an extended PHP interface. This application monitor provides means to account for resource use and to limit the available PHP functionality according to application-specific configuration parameters set up by the system administrator.

The PHP sandbox doesn't exist yet. We're still working toward verifying this approach with the PHP community so we can set up a project to develop the sandbox. Our proposed extension of PHP would address these functions:
Application authorization
Resource management and accounting
Application-specific limitation of PHP functionality
Application, resource, and functionality management

At this point, Contec sees the PHP sandbox providing application, resource, and functionality management.

Application Management uses a PHP extension and an associated application manager. Here every application needs to register with the application manager, which identifies a particular application by its URL. A set of configuration parameters (like the maximum resource limit or usage counter) is available per application. The parameters are updated according to resource use. The application manager prevents the application from execution if its resource limits are exceeded. Application authorization could be implemented via an URL check prior to script execution. Here the application manager determines whether the application is allowed to run on the host.

Resource Management determines resource use during runtime and forwards this information to the application manager for accounting purposes. Some functionality required for resource management already exists in PHP. The intention is to establish a checkpoint at the start of every PHP script and another one at the end. The existing PHP output buffering functions could be used to implement this. At the later checkpoint, the resource use gets determined and accounted for. Safeguards (like the existing max_execution_time and memory_limit) can be established to prevent unlimited resource use within loops.

Functionality Management is responsible to limit the feature-rich set of functions available in PHP to an application-specific subset. This assures that one application cannot harm another application or the host it is running on. PHP already provides some means to limit the functionality via the php.ini file, but a more sophisticated approach is recommended.
PHP poised for success

I'm convinced that PHP provides the best platform to address the upcoming challenges in the wireless realm. Compared to MS-ASP, Allaire-ColdFusion, Perl, or other approaches, PHP provides the highest flexibility and best coverage of functionality.

The documentation is well-maintained and structured in a way that solutions can quickly be derived. Even though PHP has been built as open source, it is in my opinion, not restricted for use by the Open Source community. Based on its superior functionality and moderate licensing model, I see a promising future for PHP in the business world.

Roland Schmidt is Vice President Research & Development at Contec Innovations.
View blog reactions

No comments: