Successfully reported this slideshow.
Your SlideShare is downloading. ×

From Japanese mobile-web world, to Latin-1 developers. (a part of "East Meets West")

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

From Japanese mobile-web world, to Latin-1 developers. (a part of "East Meets West")

  1. East Meets West Yuki Sonoda Yoji Shidara Akira Matsuda Shintaro Kakutani
  2. East Meets West Yoji Shidara Yuki Sonoda Akira Matsuda Shintaro Kakutani
  3. From Japanese mobile- web world, to Latin-1 developers. yoji.shidara@enishi-tech.com
  4. My name is Yoji SHIDARA.
  5. Enishi Tech Inc. Small Company. Only 2 staffs.
  6. Small Office. (CEO’s flat)
  7. “Tech” is for technology. “Enishi” implies: relationship, link, bound, fate, chance...
  8. We’re from Japan! @darashi (me) Sapporo 1.4hrs 9.5hrs Tokyo San Fransisco! @yugui @a_matsuda @kakutani
  9. Sapporo is a beautiful provincial city of Japan.
  10. Delicious foods are waiting for you!
  11. My works:
  12. Real-time trends tracker for twitter. http://buzztter.com
  13. jpmobile
  14. jpmobile: A Rails Plugin for Japanese Mobile Phones.
  15. jpmobile absorbs
  16. Chaotic Specifications of Japanese Mobile Phones.
  17. Today,
  18. I’m going to take you to the chaotic world.
  19. By the way,
  20. We have kinds of characters.
  21. I’m so nervous We have kinds of characters. at San Fransisco!
  22. We have lots of characters.
  23. Not only characters,
  24. But also encodings!
  25. Major Encodings: Shift_JIS Windows ISO-2022-JP E-Mail EUC-JP traditional UNIX UTF-8 modern systems
  26. UTF-8 is not the only option.
  27. We’re still using these encodings as the situation demands.
  28. Ruby 1.9 works nice with this situation.
  29. For example,
  30. 1.8 require ‘kconv’ Kconv::kconv(" ", Kconv::JIS, # to Kconv::UTF8 # from ) #=> "e$B;%KZe(B" We must care about the encoding of “ ” 1.9 " ".encode("ISO-2022-JP") #=> "e$B;%KZe(B" Ruby cares about the encoding of “ ”
  31. Now we’re happy!
  32. ... in most cases.
  33. Do you know
  34. Emoji
  35. Emoticon
  36. E + Moji + Picture + Character
  37. Emoji makes the situation worse.
  38. We have three major mobile phone carriers in Japan.
  39. They define their own emoticon charset.
  40. >A DoCoMo au SoftBank >> (Japanese usually paint the sun red) ><
  41. DoCoMo au SoftBank >> Unicode U+E63E U+E488 U+E04A SJIS F89F F660 $Gj JIS >< 7541 w/escape SJIS’ EB60
  42. Regular Encodings x Emoticon Encodings
  43. That’s not all.
  44. Five sad stories:
  45. (1)
  46. Sometimes the corresponding emoticon is not available on the other carriers.
  47. “Snow crystal” DoCoMo au N/A SoftBank N/A
  48. (2)
  49. Nuances may be lost during the translation.
  50. “Really nonsense, but I had a quarrel with my girlfriend because of a problem with mobile phones.” - Mr. A (20-year-old office worker, Tokyo) … 20 http://www.j-cast.com/kaisha/2009/07/31046442.html
  51. (3)
  52. Machine-readable tables are not published.
  53. !"#$%&'()*+,-./01 v¶·y!]^ v¶·y!]^ ¢QQ£&'(¤ 7´µ¤ª£¥ ¢QQ£&'(¤ 7´µ¤ª£¥ &'( !²¬³´µ¤ &'( !²¬³´µ¤ 45 -.67 ¥¦§”¨©ª£¥«¬ ¯°§’±“$ ¸^lž¹º 45 -.67 ¥¦§”¨©ª£¥«¬ ¯°§’±“$ ¸^lž¹º 23 ª£¥«¬-® 23 ª£¥«¬-® -® »¼¥¦§”¨©ª£¥ -® »¼¥¦§”¨©ª£¥ ¸^l ¸^l 8 9 : ; < = ! > ? 8 @ < A B ! C < = AD EFGH : @ < ! ! < > D @ @ A : ! I < ! D 9 : ; < B ! > ? D @ < A C ! C < B AA JFGH : @ < : ! < > A @ @ > K ! I < : A L : ; < C ! > ? A @ < A I ! C < C A> EFGM : @ ; K ! < > > @ @ > 8 ! I ; K > L : @ > ? ! < D I @ @ D = ! I > ? A< JFGM : @ ; 8 ! < > < @ @ > D ! I ; 8 < NOPFGH : @ > = ! < D Q @ @ D B ! I > = A; RSTH : @ ; D ! < > ; @ @ > A ! I ; D ; UOPFGH : @ > B ! < D ! @ @ D C ! I > B A@ RSTM : @ ; A ! < > @ @ @ > > ! I ; A @ NOPFGM : @ > C ! < D : @ @ D I ! I > C A? VRWGH : @ ; > ! < > ? @ @ > < ! I ; > ? UOPFGM : @ > I ! < A K @ @ D Q ! I > I A= VRWGM : @ ; < ! < > = @ @ > ; ! I ; < = XWGH : @ > Q ! < A 8 @ @ D ! ! I > Q >K RYH : @ ; ; ! < > B @ @ > @ ! I ; ; http://www.nttdocomo.co.jp/service/ 8K XWGM : @ > ! ! < A D @ @ D : ! I > ! >8 RYM : @ ; @ ! < > C @ @ > ? ! I ; @ .Z[]^_`Z 88 : @ > : ! < A A @ @ A K ! I > : >D : @ ; ? ! < > I @ @ > = ! I ; ? imode/make/content/pictograph/basic/ JbcM _Za7 8D d.Zefg : ; = B ! > I 8 @ < @ B ! C = B >A EbcM : @ ; = ! < > Q @ @ > B ! I ; = 8A gh^i : ; ! B ! < 8 8 @ ; ; I ! C ! B >> jk : ; ; K ! > ? ? @ < > 8 ! C ; K 8> l7 : @ = ; ! < @ = @ @ @ ; ! I = ; >< mna^7 : ; = A ! > C B @ < @ A ! C = A 8< oH : ; < ! ! > ? ; @ < A : ! C < ! >; pq : @ C 8 ! < = > @ ? A A ! I C 8 8; rstu : ; < : ! > ? @ @ < > K ! C < : >@ oMvwxPy : ; ; 8 ! > ? = @ < > D ! C ; 8 8@ zWGH : @ < K ! < A > @ @ A 8 ! I < K >? {7 : ; ! C ! < 8 D @ ; ; Q ! C ! C /|_}hZv4 8? zWGM : @ < 8 ! < A < @ @ A D ! I < 8 >= ~y : @ @ I ! < ; K @ @ < Q ! I @ I 8= XSTH : @ < D ! < A ; @ @ A A ! I < D <K Xw : ; Q A ! > : B @ ; < < ! C Q A DK XSTM : @ < A ! < A @ @ @ A > ! I < A <8 •^6 : @ C D ! < = < @ ? A > ! I C D €•‚^ƒvi„• D8 RWGH : @ < > ! < A ? @ @ A < ! I < > <D 7efgy : ; = C ! > I D @ < @ C ! C = C DD RWGH : @ < < ! < A = @ @ A ; ! I < < <A Wx… : ; ! I ! < 8 A @ ; ; ! ! C ! I 6†^l€^„ DA XYH : @ < ; ! < A B @ @ A @ ! I < ; <> v‡ˆy : @ ; B ! < > ! @ @ > C ! I ; B D> XYD : @ < @ ! < A C @ @ A ? ! I < @ << ‰Š‹ : @ ; C ! < > : @ @ > I ! I ; C D< http://www.au.kddi.com/ Œpq : @ = @ ! < @ B @ @ @ @ ! I = @ <; '•H : @ @ Q ! < ; 8 @ @ < ! ! I @ Q http://creation.mb.softbank.jp/ ezfactory/tec/spec/pdf/typeD.pdf web/web_pic_01.html D; /fg : @ < ? ! < A I @ @ A = ! I < ? <@ ŽpqH : @ = ? ! < @ C @ @ @ ? ! I = ? D@ €.•g : @ < = ! < A Q @ @ A B ! I < = <? •‘‘‘%‘‘‘’‘‘‘“‘‘‘$‘‘‘”‘‘ ŽpqM : ; < > ! > @ I @ < A < ! C < > [–|h^—‚g„ D? •H : @ < B ! < A ! @ @ A C ! I < B <= H : @ @ ! ! < ; D @ @ < : ! I @ !
  54. (4)
  55. The official tables are not complete. (e.g. emoticons of prior company name are hidden)
  56. (5)
  57. Assignments of Unicode private area are partially overlapping between two carriers.
  58. Solution:
  59. jpmobile
  60. Automatically translate = B the emoticons. >A Eb ! B Rails >> jk App jpmobile
  61. jpmobile supports GPS, session management, subscriber identification, template switching, ...
  62. Conclusion:
  63. If you are asked to build a website for Japanese mobile phones,
  64. Say “No.”
  65. Or use jpmobile.
  66. Future works:
  67. Reimplement jpmobile on Ruby 1.9 m17n framework!
  68. Thank you!
  69. Questions: After the last speech. Thank you.
  70. We’ll have Regional RubyKaigi in Sapporo on 5th Dec 2009 :-) Visit Sapporo! Sapporo! 1.4hrs 11.15hrs Tokyo San Fransisco

×