This is the HAWHAW website.
HAWHAW stands for
HTML and WML hybrid adapted Webserver
and is a toolkit to create universal mobile (multimodal) web applications.
The HAWHAW toolkit comprises the following components:
- hawhaw.inc - The PHP class library
- HAWHAW XML - The markup language
- HAWXY - The HAWHAW proxy for HAWHAW XML documents
- HAWHAW.NET - The HAWHAW ASP.NET solution
- HawTags - The HAWHAW JSP Tag Library
<?php
require("hawhaw.inc");
$myPage = new HAW_deck("Welcome");
$myText = new HAW_text("Hello WAP!");
$myPage->add_text($myText);
$myPage->create_page();
?>
hawhaw.inc is a PHP class library that allows fast and easy implementation of mobile web applications. PHP programmers can implement HAWHAW applications as shown above. If you want to use the HAWHAW PHP class library you need a PHP-enabled webserver and little experience with server-sided scripting. There is a FAQ and the HAWHAW PHP class lib reference available for getting started. |
<?xml version="1.0"?>
<hawhaw>
<deck title="Welcome">
<text>Hello WAP</text>
</deck>
</hawhaw>
HAWHAW XML is an XML-based Markup Language and offers an easy way to create web applications for mobile devices. Neither XML programming skills nor special webserver support are required to use HAWHAW XML. There is a HAWHAW XML FAQ and a HAWHAW XML reference available for getting started. The final conversion from HAWHAW XML into the markup language accepted by the requesting device is done by a HAWHAW proxy (HAWXY). |
<%@ Page Language="C#" Inherits="HawhawPage" %> <%@ Register Assembly="Hawhaw" Namespace="Hawhaw" TagPrefix="Haw" %> <Haw:Deck runat="server"> <Haw:Label runat="server" Text="Hello world!" /> </Haw:Deck> HAWHAW.NET is the HAWHAW-based mobile solution for Microsoft's .NET framework. ASP.NET developers can use any .NET language of their choice (C#, Visual Basic, etc.) in order to create mobile applications for the IIS. HAWHAW.NET is based on the hawhaw.inc PHP library, that has been compiled into a .NET assembly by means of the Phalanger compiler. More information about HAWHAW's ASP.NET solution can be found in the FAQ. |
<%@ taglib uri="/hawtags" prefix="haw" %>
<haw:haw>
<haw:deck title="Welcome">
<haw:text>Hello WAP!</haw:text>
</haw:deck>
</haw:haw>
HawTags is the HAWHAW JSP custom tag library. Java developers can use this tag library within Java Server Pages as shown above. HawTags users need a JSP web container and knowledge about Java web technologies. The HawTags implementation uses Caucho's Quercus PHP5 engine in order to run HAWHAW's PHP code in a native Java environment. There is a FAQ and the HawTags reference available for getting started. |
Features
HAWHAW creates the following markup languages for a wide range of mobile devices:
- HTML
- WML 1.x
- XHTML Mobile Profile (WAP 2.0)
- iMode (cHTML)
- HDML
- MML
- VoiceXML
HAWHAW supports the following browsers (list is not complete):
- Internet Explorer, Firefox, Opera, Safari, Chrome, Lynx
- Cellphone browsers (WAP)
- Smartphone browsers (WAP 2.0)
- PDA browsers
- Opera Mini
- AvantGo
- iPhone
- Android
- Minimo
- PIE
- Blackberry
- Nintendo DS
Further characteristics:
- Built-in device simulator (requires neither Java nor Javascript)
- Barrier-free output
- dot-mobi compliant
- W3C mobileOK compliant
- Open Source
Demo
You can see a HAWHAW demo on both your PC and your mobile device at this address:
This simple demo can be implemented either with the HAWHAW class library, with HAWHAW XML, HAWHAW.NET or with the HawTags JSP tag lib. The result of all these approaches is the same. Take a look at the source code, to find your favorite solution.
To get an impression what VoiceXML is all about, you can listen to the sound files or call the HAWHAW server from your phone.
| HTML/WML Link | PHP Source | HAWHAW XML Source | HawTags | HAWHAW.NET | VoiceXML |
|---|---|---|---|---|---|
| http://wap.hawhaw.de/ | demo.php | demo_a.xml , demo_b.xml | demo.jsp | demo.aspx |
|
| http://wap.hawhaw.de/e1.wml | e1.php | e1.xml | e1.jsp | e1.aspx |
|
| http://wap.hawhaw.de/e2.wml | e2.php | e2_a.xml , e2_b.xml | e2.jsp | e2.aspx |
|
| http://wap.hawhaw.de/e3.wml | e3.php | e3_a.xml , e3_b.xml | e3.jsp | e3.aspx |
|
| http://wap.hawhaw.de/e4.wml | e4.php | e4_a.xml , e4_b.xml | e4.jsp | e4.aspx |
|
| http://wap.hawhaw.de/e5.wml | e5.php | e5_a.xml , e5_b.xml , e5_c.xml | e5.jsp | e5.aspx |
|
| http://wap.hawhaw.de/e6.wml | e6.php | e6.xml | e6.jsp | e6.aspx |
|
| http://wap.hawhaw.de/e7.wml | e7.php | e7_a.xml , e7_b.xml | e7.jsp | e7.aspx |
|
| http://wap.hawhaw.de/e8.wml | e8.php | not applicable | not applicable | e8.aspx |
|
| http://wap.hawhaw.de/e9.wml | e9.php | e9.xml | e9.jsp | e9.aspx |
|
For those interested in VoiceXML, text-to-speech conversion or automatic speech recognition: Voxeo provides some dial-in numbers, where you can interactively navigate through the HAWHAW demo on your phone! You don't need a WAP cellphone or something special. This demo can be "browsed" from nearly every phone out there in the world.
(By the way, this probably makes this demo to one of the best-accessible internet application of the world, considering all those phones and browsers out there, which are able to interact with it :)
+1 407 386 3678
Attention: This is an international call to the US and will be charged accordingly! Discrimination digits and country code can vary from country to country. If you are calling e.g. from Germany, you have to dial: 001 407 386 3678
(where 00 in Germany are the discriminating digits for international calls and 1 is the german country code for phone calls to USA)
Skype users can call the demo free-of-charge by clicking on the following number: +990009369991420757
Free World Dialup users can call the demo free-of-charge by directing their IP phone towards this address:
If you want to see some more intelligent HAWHAW applications you can take a look at the HAWHAW gallery, where you can get a feeling what kind of mobile sites big players (e.g. Wikipedia), small enterprises and hobbyists have built with HAWHAW.
Download area
hawhaw.inc - Source code: HAWHAW PHP class library V5.23
hawxy.php - Source code: HAWHAW proxy V1.9.1
HAWHAW.NET_0.5.23.2.zip - HAWHAW.NET for ASP.NET
hawtags-0.1.9.1.1.tar.gz - HawTags JSP tag library
hawtags-0.1.9.1.1-src.tar.gz - HawTags JSP tag library (Sources)
nihao_1.1.tar.gz - Nihao - Norbert's HAWHAW Objects for the iPhone
hawhaw_ref.tar.gz - Reference: HAWHAW PHP class library V5.23
hawxydoc_ref.tar.gz - Reference: HAWHAW XML V1.9
hawtagsdoc.tar.gz - Reference: HawTags JSP tag library V0.1.9.1.1
Back to top
Reference
- Online Reference HAWHAW PHP class library
- Online Reference HAWHAW XML
- Online Reference HawTags JSP tag library
Meanwhile there is a book available at Wrox Press which contains (among many other topics):
- the HAWHAW PHP reference
- a tutorial why and how to use HAWHAW
- a detailled case study (coffeeshop finder application based on HAWHAW, MySQL and the GD library)
License terms
HAWHAW PHP class library (hawhaw.inc)
The HAWHAW PHP class library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Library General Public License for more details.
If you modify this library, you have to make sure that the "Powered by HAWHAW (C)" copyright link below the display area is kept unchanged.
Users who want to get rid of the copyright link honestly have the option to register for a HAWHAW Enhanced License.
HAWHAW proxy (hawxy.php)
The HAWHAW proxy PHP script is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This PHP script is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
HAWHAW.NET for ASP.NET
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
HawTags JSP tag library
The HawTags JSP tag library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
Links
If you're interested in WAP, wireless, handheld or VoiceXML, it's not wrong to visit the following sites:
- dev.mobi
- Open Mobile Alliance (OMA)
- The Wireless FAQ
- Openwave
- Ken Rehor's World of VoiceXML
- Voxeo
- MobileTiki
- Mark Headd's HAWHAW/VoiceXML Tutorial
There is a HAWHAW YAHOO! Group available that you can join in order to be informed about future software releases. Feel free to start threads or ask questions of general interest.
Support
You need support
If you encounter a HAWHAW problem please:
You want to support HAWHAW
If you or your company wants to support the project for whatever reason, maybe because you are earning money from your hawhaw-created website, you are welcome to donate something (money, test devices, computer equipment, etc.) or to subscribe for banner placement on the HAWHAW web site.
Special thanks go to SIMPLEHQ for providing webspace, proz.com for their translations, Wrox Press for donating paperware, Voxeo for powering the VoiceXML demo and Ayna Corp. for giving development support.
About HAWHAW
Mobile applications are becoming more and more important all over the world.
But for many programmers XHTML, WML, HDML, etc. are synonyms for:
Just another markup language!
To make the life of web developers easier I wrote HAWHAW.
My goal was to hide all these markup languages behind a simple API. And many developers downloaded HAWHAW, tried it and now love it.
If you are the first time here on this site, I recommend to start with these two sections:
In the demo section some (dumb) examples will give you an overview about HAWHAW's capabilities.
In the HAWHAW gallery you can see a collection what kind of mobile web applications people have created with HAWHAW.
My name is Norbert Huffschmid and I live in Germany nearby Munich.
I write this kind of software not for commercial purposes.
Contact: Norbert.Huffschmid@hawhaw.de
Have fun with HAWHAW
and keep on laughing ...