14. But we cannot give up the fascinating
features of Japanese mobile phones ...
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
15. Motivation:
want to build websites for Japanese
mobile phones in Rails way.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
21. SHIDARA Yohji dara
? Jpmobile the author of Jpmobile
? http://d.hatena.ne.jp/darashi
http://twitter.com/darashi
in Japanese)
?
born in Sapporo, live in Sapporo,
love Sapporo
-- 1.5hrs. from Tokyo by air ? {Ruby c200 8 Sf[^
? a graduate student? { ? ^ Cg ?
? Ruby Sapporo Staff
? { ? ^ Cg ¡§
? RubyKaigi2008 Staff ? { ? ^ Cg ?
? { ? ^ Cg ¡§
31. You can ?nd the nearby soupcurry
restaurants with your mobile (using
GPS). -- if you are in Japan ;-)
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
32. You can ?nd the nearby soupcurry
restaurants with your mobile (using
GPS). -- if you are in Japan ;-)
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
33. The reusable component dragged out
from soupcurry.info is the origin of
Jpmobile.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
38. with Jpmobile,
<% if request.mobile? %>
from mobile!
<% else %>
from PC!
<% end %> ? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
39. case request.mobile
when Jpmobile::Mobile::Docomo
# for DoCoMo
when Jpmobile::Mobile::Au
# for au
when Jpmobile::Mobile::Softbank
# for SoftBank
when Jpmobile::Mobile::Willcom
# for Willcom
when Jpmobile::Mobile::Emobile
# for EMOBILE ? {Ruby c200 8 Sf[^
else
? { ? ^ Cg ?
# for PC ? { ? ^ Cg ¡§
end ? { ? ^ Cg ?
? { ? ^ Cg ¡§
41. If you want to switch templates for PCs
and for mobiles, or for each operator,
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
42. just put mytemplate.html.erb and
mytemplate_mobile.html.erb, or
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
51. It should be frustrating to input the
password with your mobile every time
you are going to login.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
52. Usually the identi?er of the device or
the subscriber can be obtained.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
53. Of course they are based on the various
speci?cations!
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
55. Note that they are not creditable
because these identi?ers are just
passed as plain text.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
56. The security will be slightly improved
with combining IP-address veri?cation.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
58. We may want to block PCs for some
(marketing?) reasons,
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
59. or we may want to check if the
identi?ers (for a device or a subscribe)
is surely passed from mobile.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
60. The operators provides the information
of the IP-address ranges on the website
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
61. of course in various formats, and even
worse, usually they are not machine
readable (dirty scraping is needed).
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
62. Since Jpmobile contains the tables
obtained from these machine-unfriendly
websites,
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
69. The screensize differs according to the
model.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
70. In order to optimize the output, we
need the information about the screen.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
71. The information may be passed via
HTTP header, or not.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
72. We need to scrape the of?cial websites
in case that the information in the
header is not available.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
83. Some mobiles do not support UTF-8 or
stop sending emoticons under UTF-8
communication.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
84. We need to communicate with them in
Shift-JIS (a legacy but one of the most
commonly used encoding).
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
85. in a controller:
class MyController <
ApplicationController
mobile_filter
end
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
91. I¡¯m a student, so I don¡¯t have many
mobile-phones to test Jpmobile on.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
92. I often ask my colleagues for help,
paying a canned coffee.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
93. So, if you ?nd out some problems or if
you make any improvement of
Jpmobile, please let me know.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§
94. It may take long, but I¡¯d like to work
on it.
? {Ruby c200 8 Sf[^
? { ? ^ Cg ?
? { ? ^ Cg ¡§
? { ? ^ Cg ?
? { ? ^ Cg ¡§