Home / Java


Luca Passani

WURFL Java API
Java API
-  Javadocs
Download & Installation
(includes WALL)

Examples
How to Submit bug reports

License

WALL
the Wireless Abstraction Library

WALL
Tutorial (PDF)
Reference (PDF)
NEW: Cool Menus

Demos:
-  Body
-  Menu
-  Coolmenu
-  Simple Forms
-  Forms in WML Compatibility Mode
JSTL integration
-  Portal

Useful Trick

Credits

Source Code
CVS at SourceForge

Other Java/WURFL efforts
Murray Brandon:
Modified WALL

Nicholas Albion:
More Modified WALL


Bill Ray:
MyWURFL


SourceForge.net Logo
 

WURFL Tag-Library: a Compelling Demo

Imagine you are a network operator in GSM. Lots of cool phones out there, but..Geee! there is not one like the other.
Yet you need to come up with a portal that makes sense to all of your users: from those who surf wirelessly on their legacy 7110 bananas to the proud owners of expensive MMS/J2ME/Built-in camera technology jewels.
The solution to this problem is not simple. You can code several pages, but the problem is that the features you support distribute randomly across devices and there is no way you can keep up with more and more different devices coming up each day.

The WURFL makes all this so much easier. With the WURFL you don't need to care about those device capabilities any longer. You just need to focus on the capability of the device when you build your application (as opposed to caring about the device).
You can say things like "create this link if device supports MMS" (as opposed to "create this link if device is Nokia 7650 or SonyEricsson T68i"). If you are not convinced, just think of what happens to users of a new MMS phone when they hit your application.

The demo that follows shows a fictional operator portal that gives each device a list of services tailored for the capability of the phone.
You can also hit a live demo of the application at http://dlade.net/wurfl/portal.jsp (courtesy of David Johansson).



<%@ page contentType="text/vnd.wap.wml" %><?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org//DTD//wml_1.1.xml">
<%@ taglib uri="/WEB-INF/tld/wurfl.tld" prefix="wurfl" %>

<wml>
 <head>
   <meta content="max-age=10" http-equiv="Cache-Control"/>
 </head>
 <card>
  <p mode="nowrap">
<wurfl:ifmc> 
  <wurfl:condition capability="gif"/>  
<wurfl:then>
  <img src="/logo.gif" alt="Global TEL" />
</wurfl:then>
<wurfl:else>
   <img src="/logo.wbmp" alt="Global TEL" />
</wurfl:else>
</wurfl:ifmc>
<br/>
<wurfl:if capability="midp_10" match="loose">
 <a href="portal.jsp">Try Java on your phone</a><br/>
</wurfl:if>


<wurfl:ifmc logic="AND">
 <wurfl:condition  capability="midp_10" match="loose"/>
 <wurfl:condition  capability="j2me_colors" relation="GT" value="8" match="loose"/>
 <wurfl:then>
  <a href="portal.jsp">More Better Java!</a><br/>
 </wurfl:then>
</wurfl:ifmc>


<wurfl:if capability="wap_push_support" match="loose">
 <a href="portal.jsp">Keep informed with WAP Push</a><br/>
</wurfl:if>


<wurfl:if capability="receiver" match="loose">
 <a href="portal.jsp">Get some Cool MMS Pics</a><br/>
</wurfl:if>


<wurfl:if capability="Sender" match="loose">
 <a href="portal.jsp">Send MMS? here is how</a><br/>
</wurfl:if>

<wurfl:if capability="downloadfun_support" match="loose">
 <a href="portal.jsp">Download Fun</a><br/>
</wurfl:if>

<a href="portal.jsp">News</a><br/>

 </p>
 </card>
</wml>


Here is what different devices will get when visiting the page:
Siemens SL45i


Try Java on your phone
News

Siemens SL45


News

Nokia 7650


Try Java on your phone
More Better Java!
Keep informed with WAP Push
Get some Cool MMS Pics
News

Nokia 7110


News

Nokia 3410


Try Java on your phone
Keep informed with WAP Push
News

Mitsubishi Eclipse


Keep informed with WAP Push
Download Fun
News

Motorola V66i


Try Java on your phone
Keep informed with WAP Push
Download Fun
News
Siemens C45


Keep informed with WAP Push
Download Fun
News

Sony Ericsson T68i


Keep informed with WAP Push
Get some Cool MMS Pics
News
 

Copyright © 2008, Luca Passani