Japanese Mobile Support for Cake PHP
CakePHP is a development framework for PHP that borrows many ideas from Ruby on Rails. I first heard about it when reading through the Merb camp keynote, which states Ruby On Rails is more then 10 times faster then CakePHP (and Merb is even faster). At mobalean, we prefer using Ruby, but if you happen to be using PHP, check out Ktai Library for CakePHP1.2.
The features of this library include:
- Handset detection by user agent (docomo, SoftBank, KDDI, emobile, iPhone)
- Carrier detection by email
- Cross carrier emoji lookup
- Entire page emoji conversion
- accesskey attribute for links
- Display emoji on PC
I had a quick look through the code, and unfortunately while CakePHP is Object Oriented, this code is not. This code, like much of the code for Japanese mobiles make extensive use of a "carrier code" variable. If the library used carrier objects instead, it would be much cleaner. Additionally, there is a lot of duplicated boilerplate code in the KtaiHelper and KtaiComponent class that code be removed in Ruby through the use of the Forwardable module. Nevertheless, if you are using PHP, you might be able to find something that helps you.
(Hat tip: matsuiさん)
mobalean to present at next Tokyo 2.0
I will give a quick presentation on mobile video in Japan at the next Tokyo 2.0 (March 9). The presentation will highlight some of the issues faced with mobile video on Japanese handsets, describe some existing mobile video services, and introduce a mobile video service created by mobalean. I hope to see you there.
emobile wireless Internet access with Linux 1
emobile has a nice offer here in Japan: a wireless 7.2mbps Internet connection for a bit under 6,000yen a month. We are using the D02HW, a USB HSDPA/HSUPA (3.5G technology) modem, but the following probably also applies to some of their other devices.
To get it to run under Linux, using a modern distribution such as Mandriva, Ubuntu or Slackware, not much configuration is needed. When the device is plugged in, it should be recognized automatically and two serial devices, /dev/ttyUSB0 and /dev/ttyUSB1 are created.
The easiest method to get an Internet connection up and running is to use wvdial (usually part of your distribution). The configuration is relatively easy, you only need to edit /etc/wvdial.conf (as root) and add the following section:
[Dialer em] Modem Type = USB Modem Modem = /dev/ttyUSB0 Baud = 460800 Init1 = ATZ Init2 = ATS0=0 Stupid Mode = on Phone = *99***1# Username = em Password = em
The phone number, username and password are from the device's manual.
Once this is done, you can use "wvdial em" to connect to the Internet.
Tip: if you set the user s-bit on wvdial ("chmod u+s /usr/bin/wvdial" as root), you don't need to be root to successfully create the connection.
A note about emobile and configuration tools which come with your distribution:
- Mandriva will try to configure the device as a "GPRS/Edge/3G" device using
comgt, but that won't work correctly because this tool doesn't know emobile (yet, this is with v0.32). - Other distributions using the GNOME NetworkManager also might not be able to get you connected, at least with Ubuntu it was not successful.
More success / failure stories? Please feel free to post them here!

