International Web Application Development

Sarah Allen
Sarah AllenInnovation Catalyst
International Web Application Development
ookina umi no youni gengo ga arimasu.

There is an ocean of language.


     http://www.flickr.com/photos/jimbrekke/429292020/
demo watashitachiwa webu apurike-shon o
            kaihatsusuro toki...

But when we develop web applications...
ido no nakano kaeru no youni

we are like the frog in the well,

    http://www.flickr.com/photos/clickykbd/2650909663/
jibuntachi no gengo dake o kangaemasu

only thinking about our own language

        http://www.flickr.com/photos/clickykbd/2650909663/
demo webu wa ookina umi noyouina mono desu.

      but the web is a big ocean.

         http://www.flickr.com/photos/jimbrekke/429292020/
Sarah Allen
             @ultrasaurus




                   Mightyverse
sara aren desu. mightyverse o kaihatsu shite imasu
San Francisco




            san furanshisuko ni sunde imasu.
Mightyverse
mojibake
Character Encoding
UTF8      JIS
UTF16     Shift-JIS
UTF32     EUC
Encoding Vocabulary

Code point one or
more bytes that represent
a single character
Unicode
UTF8 - variable length
       (1, 2, 3, or 4 bytes)
UTF16 - variable length
      (2 or 4 bytes)
UTF32 - fixed width (4 bytes)
UTF8
U+000 to U+127 1 byte
ASCII = UTF8
High bit indicates more bytes
High bits are used to indicate how many bytes are used to
represent a specific character. Software can easily read a
         UTF8 stream, even starting in the middle.
                http://tools.ietf.org/html/rfc3629#section-3
UTF8
Common for internet and file system
format
• XML: default encoding
• Flash: only encoding
UTF8 Disadvantages
UTF-8 encoded text may be larger
Possible to split a string mid-character
Excessive unification
Caution

Not all implementations are complete
For example, MySql5
       supports only 3 bytes for UTF8
Most spoken languages can be represented in 3 bytes,
           the "Basic Multilingual Plane"
                           http://www.siriusict.com/2010/08/06/
    character-encoding-unicode-utf-8-and-a-bit-of-chauvinism-explained-for-the-masses-2/
http://globalmoxie.com/blog/klingon-not-spoken-here.shtml




In May 2001, the Unicode Technical Committee rejected the Klingon proposal;
  however, Michael Everson created a mapping of pIqaD into the Private Use
    Area of Unicode, which are listed in the ConScript Unicode Registry
                           (U+F8D0 to U+F8FF).
                   http://en.wikipedia.org/wiki/Klingon_writing_systems
The tengwar font has been proposed for the Unicode standard. The codepoints
    are subject to change; the range U+016080 to U+0160FF in the SMP is
 tentatively allocated for tengwar according to the current Unicode roadmap.
                         http://en.wikipedia.org/wiki/Tengwar
You need to have an appropriate font installed
              to use unicode.




            http://en.wikipedia.org/wiki/Tengwar
Web Application Story
1. HTML Form post
2. Ruby code
3. Write to Database
4. Output HTML for Display
HTML Form Post
HTTP headers

• You can specify what character set you
  want back when you send a form post
• This is informational for the server
• Just setting these won’t change how your
  app behaves, unless your web app has code
  for that
Ruby code
Ruby code


Most web applications don’t parse text
If yours does, you will need to think about
Ruby 1.8 vs. Ruby 1.9
Ruby 1.8
  >> name = "Yukihiro”
=> "Yukihiro”
>> name[4]
=> 104
>> name[4].chr
=> "h"

>> name = "        "
=>"3432012233432022233432012043432012413432
 257”
>> name[2]
=> 147
>> name[2].chr
=> ?
Ruby 1.9
name = "yukihiro”
=> "yukihiro”
>> name[4]
=> "h"

>> name = "         ”
=> "          ”
>> name[2]
=> " ”
>> name[0]
=> " "
Ruby

       Use Ruby 1.9


For Ruby 1.8 (if you must)....
        require 'jcode'
Database
Database
A) Character encoding
   i. client
   ii. connection
   iii. server
B) Collation
SQL client   connection   database
check database settings
   always use the same character set
Collation


 Different Languages
Alphabetize Differently
Collation
Swedish          German

Alingsås         Ägypten
Borgholm         Äthiopien
Eslöv            Afghanistan
Flen             Bolivien
Hässleholm       Dänemark
Tranås           Deutschland
Vetlanda         Jamaika
Växjö            Marokko
Ängelholm        Österreich
Örnsköldsvik     Venezuela
Östersund
Collation


1. Sorting
2. Equality
International Web Application Development
e   é
International Web Application Development
International Web Application Development
International Web Application Development
4
Output HTML for Display
Content Type

• Setting the content-type tells the browser
  how to display the text
  • meta tag
  • http header
Questions?




http://www.flickr.com/photos/daswunderkind/2689195410/
1 of 46

Recommended

Browser extension by
Browser extensionBrowser extension
Browser extensionCosmin Stefanache
555 views34 slides
CSS @font-face : Personalized fonts by
CSS @font-face : Personalized fontsCSS @font-face : Personalized fonts
CSS @font-face : Personalized fontsYves Van Goethem
2.1K views25 slides
Introduction to Web Browser Extension/Add-ons by
Introduction to Web Browser Extension/Add-onsIntroduction to Web Browser Extension/Add-ons
Introduction to Web Browser Extension/Add-onsPranav Gupta
1.1K views14 slides
Using disqus & facebook comment in wordpress themes by
Using disqus & facebook comment in wordpress themesUsing disqus & facebook comment in wordpress themes
Using disqus & facebook comment in wordpress themescodebangla
1.8K views14 slides
Firefox 3 Thai inbreif by
Firefox 3 Thai inbreifFirefox 3 Thai inbreif
Firefox 3 Thai inbreifPatipat Keng Susumpow
3.3K views73 slides
Zotero step by-step by
Zotero step by-stepZotero step by-step
Zotero step by-stepSarika Sawant
2K views10 slides

More Related Content

What's hot

Introduction To Browser Extension Development by
Introduction To Browser Extension DevelopmentIntroduction To Browser Extension Development
Introduction To Browser Extension DevelopmentSteven James
815 views10 slides
Zotero: for Legal Scholars by
Zotero: for Legal ScholarsZotero: for Legal Scholars
Zotero: for Legal ScholarsKaren Schneiderman
1.1K views19 slides
WordPress Theming by
WordPress ThemingWordPress Theming
WordPress Themingcodebangla
2.6K views14 slides
Zotero Workshops - Zotero Universe by
Zotero Workshops - Zotero UniverseZotero Workshops - Zotero Universe
Zotero Workshops - Zotero Universeadam3smith
833 views5 slides
WordPress Theme & Plugin i18n & L10n by
WordPress Theme & Plugin i18n & L10nWordPress Theme & Plugin i18n & L10n
WordPress Theme & Plugin i18n & L10ncodebangla
2K views32 slides
ISBF presentation by
ISBF presentationISBF presentation
ISBF presentationUni-variety
36 views1 slide

What's hot(9)

Introduction To Browser Extension Development by Steven James
Introduction To Browser Extension DevelopmentIntroduction To Browser Extension Development
Introduction To Browser Extension Development
Steven James815 views
WordPress Theming by codebangla
WordPress ThemingWordPress Theming
WordPress Theming
codebangla2.6K views
Zotero Workshops - Zotero Universe by adam3smith
Zotero Workshops - Zotero UniverseZotero Workshops - Zotero Universe
Zotero Workshops - Zotero Universe
adam3smith833 views
WordPress Theme & Plugin i18n & L10n by codebangla
WordPress Theme & Plugin i18n & L10nWordPress Theme & Plugin i18n & L10n
WordPress Theme & Plugin i18n & L10n
codebangla2K views
All About Browsers by lwtc
All About BrowsersAll About Browsers
All About Browsers
lwtc467 views
Zotero: collecting, managing, sharing and citing references made easy by Raphael Grolimund
Zotero: collecting, managing, sharing and citing references made easyZotero: collecting, managing, sharing and citing references made easy
Zotero: collecting, managing, sharing and citing references made easy
Raphael Grolimund5.8K views

Viewers also liked

Transparency Wins by
Transparency WinsTransparency Wins
Transparency WinsSarah Allen
1.2K views94 slides
Ruby conditionals by
Ruby conditionalsRuby conditionals
Ruby conditionalsSarah Allen
683 views11 slides
Crafting Software Products by
Crafting Software ProductsCrafting Software Products
Crafting Software ProductsSarah Allen
1.2K views52 slides
Rhodes Overview by
Rhodes OverviewRhodes Overview
Rhodes OverviewSarah Allen
489 views31 slides
Full text search adventures by
Full text search adventuresFull text search adventures
Full text search adventuresSarah Allen
1.3K views77 slides
Let's pretend by
Let's pretendLet's pretend
Let's pretendSarah Allen
976 views106 slides

Viewers also liked(7)

Transparency Wins by Sarah Allen
Transparency WinsTransparency Wins
Transparency Wins
Sarah Allen1.2K views
Ruby conditionals by Sarah Allen
Ruby conditionalsRuby conditionals
Ruby conditionals
Sarah Allen683 views
Crafting Software Products by Sarah Allen
Crafting Software ProductsCrafting Software Products
Crafting Software Products
Sarah Allen1.2K views
Full text search adventures by Sarah Allen
Full text search adventuresFull text search adventures
Full text search adventures
Sarah Allen1.3K views
Power of Transparency by Sarah Allen
Power of TransparencyPower of Transparency
Power of Transparency
Sarah Allen1.5K views

Similar to International Web Application Development

Bruce Lawson HTML5 South By SouthWest presentation by
Bruce Lawson HTML5 South By SouthWest presentationBruce Lawson HTML5 South By SouthWest presentation
Bruce Lawson HTML5 South By SouthWest presentationbrucelawson
2.8K views40 slides
Introduction to HTML5 and CSS3 (revised) by
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
10.6K views156 slides
Intro to Perfect - LA presentation by
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentationTim Taplin
661 views47 slides
Php intro by
Php introPhp intro
Php introJennie Gajjar
257 views25 slides
Php intro by
Php introPhp intro
Php introJennie Gajjar
341 views25 slides
Php intro by
Php introPhp intro
Php introJennie Gajjar
475 views25 slides

Similar to International Web Application Development(20)

Bruce Lawson HTML5 South By SouthWest presentation by brucelawson
Bruce Lawson HTML5 South By SouthWest presentationBruce Lawson HTML5 South By SouthWest presentation
Bruce Lawson HTML5 South By SouthWest presentation
brucelawson2.8K views
Introduction to HTML5 and CSS3 (revised) by Joseph Lewis
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
Joseph Lewis10.6K views
Intro to Perfect - LA presentation by Tim Taplin
Intro to Perfect - LA presentationIntro to Perfect - LA presentation
Intro to Perfect - LA presentation
Tim Taplin661 views
Software Internationalization Crash Course by Will Iverson
Software Internationalization Crash CourseSoftware Internationalization Crash Course
Software Internationalization Crash Course
Will Iverson2.1K views
Multi Lingual Websites In Umbraco by Paul Marden
Multi Lingual Websites In UmbracoMulti Lingual Websites In Umbraco
Multi Lingual Websites In Umbraco
Paul Marden4.6K views
Mind Your lang — Accessibility Camp Toronto 2016 by Adrian Roselli
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016
Adrian Roselli1.7K views
Training report on web developing by Jawhar Ali
Training report on web developingTraining report on web developing
Training report on web developing
Jawhar Ali59.5K views
Web Development From the Ground Up, a Series for Novice ... by webhostingguy
Web Development From the Ground Up, a Series for Novice ...Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...
webhostingguy2.6K views
Internationalised Domain Names & Internet Investigations by Vere Software
Internationalised Domain Names & Internet InvestigationsInternationalised Domain Names & Internet Investigations
Internationalised Domain Names & Internet Investigations
Vere Software3.3K views
Web Introduction by asim78
Web IntroductionWeb Introduction
Web Introduction
asim78629 views
Apache Flex and the imperfect Web by masuland
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland2.2K views

More from Sarah Allen

Internet security: a landscape of unintended consequences by
Internet security: a landscape of unintended consequencesInternet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequencesSarah Allen
439 views49 slides
RTMP: how did we get to now? (Demuxed 2019) by
RTMP: how did we get to now? (Demuxed 2019)RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)Sarah Allen
405 views32 slides
Communication is a Technical Skill by
Communication is a Technical SkillCommunication is a Technical Skill
Communication is a Technical SkillSarah Allen
2.6K views73 slides
Improving Federal Government Services by
Improving Federal Government ServicesImproving Federal Government Services
Improving Federal Government ServicesSarah Allen
1.1K views86 slides
A Short History of Computers by
A Short History of ComputersA Short History of Computers
A Short History of ComputersSarah Allen
1.1K views15 slides
Making Software Fun by
Making Software FunMaking Software Fun
Making Software FunSarah Allen
1.6K views82 slides

More from Sarah Allen(20)

Internet security: a landscape of unintended consequences by Sarah Allen
Internet security: a landscape of unintended consequencesInternet security: a landscape of unintended consequences
Internet security: a landscape of unintended consequences
Sarah Allen439 views
RTMP: how did we get to now? (Demuxed 2019) by Sarah Allen
RTMP: how did we get to now? (Demuxed 2019)RTMP: how did we get to now? (Demuxed 2019)
RTMP: how did we get to now? (Demuxed 2019)
Sarah Allen405 views
Communication is a Technical Skill by Sarah Allen
Communication is a Technical SkillCommunication is a Technical Skill
Communication is a Technical Skill
Sarah Allen2.6K views
Improving Federal Government Services by Sarah Allen
Improving Federal Government ServicesImproving Federal Government Services
Improving Federal Government Services
Sarah Allen1.1K views
A Short History of Computers by Sarah Allen
A Short History of ComputersA Short History of Computers
A Short History of Computers
Sarah Allen1.1K views
Making Software Fun by Sarah Allen
Making Software FunMaking Software Fun
Making Software Fun
Sarah Allen1.6K views
Designing for Fun by Sarah Allen
Designing for FunDesigning for Fun
Designing for Fun
Sarah Allen3.4K views
Ruby in the US Government for Ruby World Conference by Sarah Allen
Ruby in the US Government for Ruby World ConferenceRuby in the US Government for Ruby World Conference
Ruby in the US Government for Ruby World Conference
Sarah Allen1.4K views
Identities of Dead People by Sarah Allen
Identities of Dead PeopleIdentities of Dead People
Identities of Dead People
Sarah Allen2K views
3 Reasons Not to Use Ruby by Sarah Allen
3 Reasons Not to Use Ruby 3 Reasons Not to Use Ruby
3 Reasons Not to Use Ruby
Sarah Allen1.3K views
Ruby Nation: Why no haz Ruby? by Sarah Allen
Ruby Nation: Why no haz Ruby?Ruby Nation: Why no haz Ruby?
Ruby Nation: Why no haz Ruby?
Sarah Allen947 views
Why no ruby in gov? by Sarah Allen
Why no ruby in gov?Why no ruby in gov?
Why no ruby in gov?
Sarah Allen1.8K views
People Patterns or What I learned from Toastmasters by Sarah Allen
People Patterns or What I learned from ToastmastersPeople Patterns or What I learned from Toastmasters
People Patterns or What I learned from Toastmasters
Sarah Allen1.2K views
Blazing Cloud: Agile Product Development by Sarah Allen
Blazing Cloud: Agile Product DevelopmentBlazing Cloud: Agile Product Development
Blazing Cloud: Agile Product Development
Sarah Allen1.9K views
Crowdsourced Transcription Landscape by Sarah Allen
Crowdsourced Transcription LandscapeCrowdsourced Transcription Landscape
Crowdsourced Transcription Landscape
Sarah Allen808 views
Lessons Learned Future Thoughts by Sarah Allen
Lessons Learned Future ThoughtsLessons Learned Future Thoughts
Lessons Learned Future Thoughts
Sarah Allen3K views
Mobile Web Video by Sarah Allen
Mobile Web VideoMobile Web Video
Mobile Web Video
Sarah Allen2.1K views
Elementary Computer History by Sarah Allen
Elementary Computer HistoryElementary Computer History
Elementary Computer History
Sarah Allen3.6K views
Sarah Allen Computer Science Entrepreneur by Sarah Allen
Sarah Allen Computer Science EntrepreneurSarah Allen Computer Science Entrepreneur
Sarah Allen Computer Science Entrepreneur
Sarah Allen1.2K views
Agile Business Development by Sarah Allen
Agile Business DevelopmentAgile Business Development
Agile Business Development
Sarah Allen1.8K views

Recently uploaded

Future of Indian ConsumerTech by
Future of Indian ConsumerTechFuture of Indian ConsumerTech
Future of Indian ConsumerTechKapil Khandelwal (KK)
21 views68 slides
The details of description: Techniques, tips, and tangents on alternative tex... by
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...BookNet Canada
127 views24 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
37 views69 slides
Design Driven Network Assurance by
Design Driven Network AssuranceDesign Driven Network Assurance
Design Driven Network AssuranceNetwork Automation Forum
15 views42 slides
Voice Logger - Telephony Integration Solution at Aegis by
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
39 views1 slide
Vertical User Stories by
Vertical User StoriesVertical User Stories
Vertical User StoriesMoisés Armani Ramírez
14 views16 slides

Recently uploaded(20)

The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada127 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker37 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri16 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10248 views

International Web Application Development

Editor's Notes

  1. Mightyverse is for people interested in language. We are collecting videos of words, phrases, and sentences translated from one language to another.