ปัญหาการแจ้งวันและเวลาแข่งขันกีฬาที่อยู่ระหว่างช่วงเปลี่ยนวันของสื่อไทย

สิ่งที่บ่นนี้ มันเป็นปัญหามานานมาก และเป็นปัญหาไม่ยอมที่จะแก้ไขกันสักที ไม่รู้ว่าองค์กรสื่อเค้าคิดยังไงกับวิธีการสื่อสารต่อประชาชนแบบนี้

ตัวอย่างที่เห็นได้ชัดก็คือ Euro 2016 ในวันที่ 11 มิถุนายน 2559 จะมีโปรแกรมการแข่งขัน ที่สื่อไทยส่วนใหญ่ใช้คือ

11 มิถุนายน 2559

  • 20:00 น. แอลเบเนีย VS สวิตเซอร์แลนด์
  • 23:00 น. เวลส์ VS สโลวาเกีย
  • 02:00 น. อังกฤษ VS รัสเซีย

นี่คือตัวอย่างขนาดสื่อ Official ของไทยยังเป็นไปกับเค้าด้วย (อ้างอิง)

310(1)

แต่ในความเป็นจริงเวลาเราไปดูสื่อต่างประเทศ หรือสื่อไทยที่แจ้งเวลาตรงตามสื่ออย่างเป็นทางการจะได้ข้อมูลแบบนี้

11 มิถุนายน 2559

  • 02:00 น. ฝรั่งเศส VS โรมาเนีย
  • 20:00 น. แอลเบเนีย VS สวิตเซอร์แลนด์
  • 23:00 น. เวลส์ VS สโลวาเกีย

12 มิถุนายน 2559

  • 02:00 น. อังกฤษ VS รัสเซีย
  • 20:00 น. ตุรกี VS โครเอเชีย
  • 23:00 น. โปแลนด์ VS ไอร์แลนด์เหนือ

ดูตัวอย่างที่ดีจาก Google ก็น่าจะได้มั้ง

2016-06-11_220350ซึ่งจากปัญหาดังกล่าว ผมอยากถามสื่อไทยบางสื่อที่กำลังทำแบบผิดๆ ว่า พวกพี่จะย้อนเวลาหาอดีตกันเหรอครับ คือที่เจอนี่เจอกันเยอะเลย เป็นมานานมาก คือผมหล่ะหน่ายกับพวกพี่มานานมาก ช่วยแจ้งให้มันตามเวลามาตรฐานหน่อยเหอะ เพราะเรื่องวันและเวลานี่สำคัญมากๆ แจ้งผิดๆ ถูกๆ ไม่มีมาตรฐานเวลาชัดเจนแบบนี้คนตามดูมันลำบากมาก จนตอนนี้เวลาจะดูโปรแกรม ผมไม่ดูจากสื่อที่แจ้งเวลาผิดๆ พวกนี้เลย และถ้าพวกพี่กลัวคนไทยบางกลุ่มสับสนวันช่วงคาบเกี่ยว ก็แจ้งว่าคืนวันที่ X เช้าวันที่ Y แต่ยังคงเวลาที่ถูกต้องไป ก็น่าจะช่วยพี่ได้เยอะ (พี่แจ้ง time zone มาเลยก็ได้ GMT +7 อะไรแบบนี้กำกับมาด้วย คนจะได้เข้าใจว่าเวลาไทย)

ผมคงไม่หวังว่าจะได้รับการเปลี่ยนแปลงในเร็ววัน แต่อยากให้คนที่ได้อ่าน ได้รับทราบถึงปัญหาชวนปวดหัวพวกนี้ว่า มันมีปัญหาจริง ยิ่งติดตามกีฬาหลากหลาย หรือหลายลีค หลายทีม-สโมสร ที่มีการแข่งขันติดต่อกันหลายคู่จะปวดหัวมาก

แนะนำการใช้ HTTP Public Key Pinning (HPKP) เพื่อป้องกัน Certification Authority ออก TLS Certificate ซ้ำซ้อน

กระบวนการรับรอง SSL/TLS Certificate หรือ “ใบรับรองอิเล็กทรอนิกส์” (ต่อไปจะเรียกว่า TLS Certificate) จะผ่านทาง Certificate Authority หรือ “ผู้ออกใบรับรองอิเล็กทรอนิกส์” (CA)

โดยเว็บเบราว์เซอร์หรือระบบปฏิบัติการ (ต่อไปจะเรียกว่า client) จะมีรายการที่เรียกว่า Trusted Root Certification Authorities หรือ “รายการใบรับรองอิเล็กทรอนิกส์ของผู้ออกใบรับรองอิเล็กทรอนิกส์สำหรับผู้อื่น” อยู่ภายใน โดยมากมักอ้างอิงกับตัวระบบปฏิบัติการเป็นหลัก ซึ่งจะบรรจุ Root Certificate หรือ “ใบรับรองอิเล็กทรอนิกส์ลำดับชั้นบนสุด” เพื่อให้ client สามารถเชื่อใบรับรองอิเล็กทรอนิกส์ที่ได้รับรองจาก Certificate Authority เหล่านั้น (Trust any certificates issued by the Certificate Authorities)

การที่ Certificate Authority จะสามารถอยู่ในรายการดังกล่าวได้ จะต้องผ่านการตรวจสอบคุณสมบัติตามมาตรฐานจากหน่วยงาน CA/Browser Forum เพราะผู้ผลิต client ต่างๆ จะใช้ข้อมูลจาก CA/Browser Forum ในการบรรจุ Root Certificate ลงไปในซอฟต์แวร์ของตน (สมาชิกของ CA/Browser Forum)

รูปภาพจาก Root certificate

รายการ Trusted Root Certification Authorities ภายใน operating system ของ Windows

ปัญหาที่ระดับ Trusted Root Certification Authorities

จากการรับรองข้างต้น ดูเหมือนจะไม่มีปัญหาหากเครื่องของผู้รับบริการมีความปลอดภัย ไม่ถูกเพิ่มรายชื่อ Trusted Root Certification Authorities ใหม่แทรกเข้ามาได้ แต่หากพบปัญหา โดยมากมักถูกเพิ่มเข้ามาผ่านการติดตั้งซอฟต์แวร์ตัวอื่นๆ ภายหลัง ซึ่งมักจะเป็นจุดที่เจอได้ง่าย ตัวอย่างเช่น กรณีผู้ใช้โน้ตบุ๊ก Lenovo หลายรายพบว่าถูกติดตั้ง Adware มาจากโรงงาน, ดักฟังเว็บเข้ารหัส

แต่ยังมีอีกปัจจัยเสี่ยงคือ Trusted Root Certification Authorities เจ้าใดเจ้าหนึ่งในรายการที่เครื่องของผู้รับบริการถูกแฮก หรือเลินเล่อออกใบรับรองอิเล็กทรอนิกส์ของเว็บไซต์ซ้ำซ้อน จนทำให้มี TLS Certificate ที่เหมือนกับเว็บที่เราให้บริการ โดยเราที่เป็นผู้ให้บริการไม่ทราบ จึงทำให้การสื่อสารของบริการของเราสามารถถูกถอดรหัส และดักฟังได้โดยที่เรายังคงให้บริการได้เป็นปรกติ เหตุการณ์นี้ได้เกิดขึ้นแล้วกับ Google.com ผ่าน DigiNotar (รายละเอียดดูใน แฮกเกอร์สร้างใบรับรอง SSL สำหรับโดเมนของกูเกิลได้สำเร็จ, ทุกเว็บของกูเกิลเสี่ยงต่อการถูกดักฟัง) หรือ กูเกิลเตือนใบรับรองดิจิทัลปลอมจากอินเดีย มาแล้ว

Rogue-SSL-Certificate-Authority

รูปจาก What is Certificate Transparency? How It helps Detect Fake SSL Certificates

วิธีการต่างๆ ในการป้องกัน

จากเหตุการณ์ข้างต้น มีวิธีหลายวิธีในการป้องกันเหตุการณ์ดังกล่าว อย่าง การทำ DNS-Based Authentication of Named Entities (DANE) บน TLSA record ที่ระดับ DNS ร่วมกับการทำ DNSSEC แต่มีความยุ่งยากที่ต้องติดตั้งและดูแลระบบ DNS ที่มีการปรับปรุงเพื่อให้รองรับ DNSSEC และ DANE เพิ่มมากขึ้น รวมไปถึง client ก็ยังไม่รองรับเป็นการทั่วไปสักเท่าไหร่

2016-06-10_020012

แต่ก็ยังมีวิธีที่ง่ายกว่า และมีการรองรับโดยเบราว์เซอร์เจ้าใหญ่อย่าง Google Chrome และ Mozilla Firefox แล้ว คือHTTP Public Key Pinning (HPKP) เป็นกลไกที่ระบุว่าจะใช้ TLS Certificate ใดบ้าง ในการเชื่อมต่อเพื่อใช้งาน โดยจะรับรองผ่าน Certificate Authority เพียงเจ้าเดียว หรือหลายเจ้าก็ได้

รู้จัก HTTP Public Key Pinning (HPKP)

ขั้นตอนการทำงานของ HPKP คือตรวจสอบจากค่าแฮชของ TLS Certificate นั้น ว่าตรงกับที่ระบุไว้ใน HTTP Header ในครั้งแรกที่ได้เข้าใช้บริการนั้นหรือไม่ (เทคนิคที่ว่าคือ Trust on First Use หรือ TOFU) เพราะหลังจากได้ข้อมูลดังกล่าวแล้ว client จะเชื่อค่าแฮชนั้นบนระยะเวลาที่กำหนดไว้ และจะอัพเดตค่าแฮชใหม่อีกครั้ง หลังจากที่ระยะเวลาดังกล่าวสิ้นสุดลง หากในระหว่างนั้นค่าแฮชของ TLS Certificate มีการเปลี่ยนแปลงไปจากที่รับรู้มาก่อนหน้านี้ จะไม่เชื่อถือ TLS Certificate ดังกล่าว

2016-06-09_230144

วิธีการเปิดใช้งานคือ เพิ่ม header ที่ชื่อ Public-Key-Pins หรือ Public-Key-Pins-Report-Only เมื่อมีการเข้าถึงผ่าน HTTPS โดยมีรูปแบบในตัวข้อมูลดังต่อไปนี้

Public-Key-Pins: pin-sha256="base64=="; max-age=expireTime [; includeSubDomains][; report-uri="reportURI"]

Public-Key-Pins-Report-Only: pin-sha256="base64=="; max-age=expireTime [; includeSubDomains][; report-uri="reportURI"]

อธิบายโค้ดแต่ละส่วน

  • pin-sha256 required
    ชุดตัวอักษรแบบ Base64 ซึ่งแปลงจากชุดตัวอักษรแฮชแบบ SHA-256 โดยข้อมูลดังกล่าวได้จาก Subject Public Key Information (SPKI) fingerprint ของไฟล์ Private Key, ไฟล์ Certificate Signing Request หรือไฟล์ Certificate (ที่ได้จาก Certificate Authority)
    หมายเหตุ ในอนาคตอาจจะใช้ชุดตัวอักษรแฮชแบบอื่นๆ นอกจาก SHA-256 ก็ได้ ขึ้นอยู่กับมาตรฐานในอนาคต
  • max-age required
    ระยะเวลาที่บอก client ว่าจะจำค่าแฮชดังกล่าวไว้นานเท่าใดหน่วยเป็นวินาที
  • includeSubDomains Optional
    เป็นชุดพารามิเตอร์ที่ไว้ระบุว่าค่าแฮชดังกล่าวรวมถึง subdomain ด้วย
  • report-uri Optional
    เป็นชุดพารามิเตอร์ที่บอกว่าหากพบการตรวจสอบแล้วผิดพลาด ให้แจ้งไปยัง URL ที่ระบุไว้ โดยจะเป็นการ POST ชุดข้อมูลเป็น JSON ในรูปแบบต่อไปนี้

    {
         "date-time": date-time,
         "hostname": hostname,
         "port": port,
         "effective-expiration-date": expiration-date,
         "include-subdomains": include-subdomains,
         "noted-hostname": noted-hostname,
         "served-certificate-chain": [
           pem1, ... pemN
         ],
         "validated-certificate-chain": [
           pem1, ... pemN
         ],
         "known-pins": [
           known-pin1, ... known-pinN
         ]
    }

    ข้อมูลเพิ่มเติมอ่านต่อที่ Reporting Pin Validation Failure

จุดแตกต่างของ Public-Key-Pins และ Public-Key-Pins-Report-Only คือ

Public-Key-Pins จะตรวจสอบค่าแฮชของ TLS Certificate หากไม่ตรงตามที่กำหนดไว้จะไม่ยินยอมให้ client เข้าใช้งาน ถ้ามีการกำหนด report-uri ไว้ จะส่งรายงานไปยัง URL นั้น

Public-Key-Pins-Report-Only จะตรวจสอบค่าแฮชของ TLS Certificate หากไม่ตรงตามที่กำหนดไว้จะรายงานไปยัง URL ที่กำหนดไว้ที่ report-uri แต่ยังยินยอมให้ client เข้าใช้งาน

เมื่อทราบองค์ประกอบของตัวชุดข้อมูลบน HTTP header แล้ว ส่วนที่สำคัญคือชุดข้อมูล Base64 ที่จะใช้ใน pin-sha256 ซึ่งจะได้จากไฟล์ Private Key, ไฟล์ Certificate Signing Request หรือไฟล์ Certificate

ชุดคำสั่งที่จะได้ค่าดังกล่าวมานั้นมีดังนี้

1. ดึงค่า Base64 จาก Private Key

openssl rsa -in private.key -outform der -pubout | openssl dgst -sha256 -binary | openssl enc -base64

2. ดึงค่า Base64 จาก Certificate Signing Request

openssl req -in cert-signing-request.csr -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

3. ดึงค่า Base64 จาก Certificate

openssl x509 -in certificate.crt -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

ตัวอย่างเมื่อรันคำสั่งตามข้างต้น จะได้ผลดังภาพด้านล่าง

2016-06-10_003753

ค่าที่ได้จะต้องเหมือนกันทั้ง 3 คำสั่ง แล้วนำเอาข้อมูลที่ได้ไปใส่ลงใน HTTP Header

ปรกติ ก่อนใช้ Public-Key-Pins มักจะทดสอบด้วย Public-Key-Pins-Report-Only ก่อน เพื่อไม่ให้เกิดการ block การใช้งานเกิดขึ้นหากกำหนดค่า pin-sha256 ผิดพลาด เมื่อทดสอบเสร็จแล้วจึงกำหนดค่า Public-Key-Pins อีกครั้ง แต่บางคนอาจจะกำหนด Public-Key-Pins แล้วปรับ max-age ไว้ไม่เยอะก็ได้ (ตรงนี้แล้วแต่สะดวก) แล้วจึงกำหนด max-age ที่มีระยะเวลายาวนาน 1-2 เดือน เป็นอย่างน้อยที่สุด

Public-Key-Pins: max-age=5184000; 
pin-sha256="C8XLmj2eoYs1gqjNksWfsIA89sIAKNraGspBaXU/l+4="; 
report-uri="https://thaicyberpoint.report-uri.io/r/default/hpkp/enforce"

Public-Key-Pins-Report-Only: max-age=5184000; 
pin-sha256="C8XLmj2eoYs1gqjNksWfsIA89sIAKNraGspBaXU/l+4="; 
report-uri="https://thaicyberpoint.report-uri.io/r/default/hpkp/reportOnly"

คำแนะนำเพิ่มเติม

การมีค่า pin-sha256 เพียงค่าเดียวกัน อาจจะมีปัญหาในช่วงที่ Certificate กำลังจะหมดอายุ หรือ Private Key ชุดเก่าหลุดจนเกิดปัญหา ทำให้ต้องมีการใช้ Private Key ชุดใหม่ เราจึงควรสร้าง Private Key สำรองเพื่อใช้สำหรับต่ออายุ Certificate หรือเหตุการณ์ที่ไม่คาดคิดในอนาคตไปสัก 2-3 ชุด แล้วใส่ค่า Base64 ของ Private Key ชุดดังกล่าวที่ยังไม่ได้ถูกใช้งานลงไปพร้อมกันด้วย

Public-Key-Pins: pin-sha256="pzel6nQW2KK7geOhEeaci3qEDf1TJeg7CNCFqU9RvkQ=";
pin-sha256="IlsUjvSKCiDJYyuVTifR07/qaIKCUn0ZK8z9mG1rAZ0=";
pin-sha256="Rlef6668r6l11a8M2Ahf46PqK0Q4q+vnk/aRUCU+PeM="; 
max-age=5184000;
report-uri="https://thaicyberpoint.report-uri.io/r/default/hpkp/enforce"

Public-Key-Pins-Report-Only: pin-sha256="pzel6nQW2KK7geOhEeaci3qEDf1TJeg7CNCFqU9RvkQ=";
pin-sha256="IlsUjvSKCiDJYyuVTifR07/qaIKCUn0ZK8z9mG1rAZ0=";
pin-sha256="Rlef6668r6l11a8M2Ahf46PqK0Q4q+vnk/aRUCU+PeM="; 
max-age=5184000;
report-uri="https://thaicyberpoint.report-uri.io/r/default/hpkp/reportOnly"

การใช้งาน HPHK ในเว็บเซิร์ฟเวอร์

พอได้ข้อมูลครบตามนี้ ก็เอาไปใส่ในเว็บเซิร์ฟเวอร์ โดยบทความจะยกตัวอย่าง 3 ตัว คือ Apache, Nginx และ IIS โดยขออ้างอิงเพียง Public-Key-Pins ส่วน Public-Key-Pins-Report-Only ก็ใส่ไปคล้ายๆ กัน ต่างกันแค่ชื่อเริ่มต้นเท่านั้น

  1. Apache – (ต้องเปิด mod_headers ด้วย) เพิ่มในส่วนของ Web Server config อาจจะใส่ในส่วนของ vhost ก็ได้
    Header always set Public-Key-Pins "pin-sha256=\"pzel6nQW2KK7geOhEeaci3qEDf1TJeg7CNCFqU9RvkQ=\";pin-sha256=\"IlsUjvSKCiDJYyuVTifR07/qaIKCUn0ZK8z9mG1rAZ0=\";pin-sha256=\"Rlef6668r6l11a8M2Ahf46PqK0Q4q+vnk/aRUCU+PeM=\"; max-age=5184000;report-uri=\"https://thaicyberpoint.report-uri.io/r/default/hpkp/enforce\""
  2. Nginx – (ต้องเปิด ngx_http_headers_module ด้วย) เพิ่มในส่วนของ Web Server config อาจจะใส่ในส่วนของ vhost ก็ได้
    add_header Public-Key-Pins 'pin-sha256="pzel6nQW2KK7geOhEeaci3qEDf1TJeg7CNCFqU9RvkQ=";pin-sha256="IlsUjvSKCiDJYyuVTifR07/qaIKCUn0ZK8z9mG1rAZ0=";pin-sha256="Rlef6668r6l11a8M2Ahf46PqK0Q4q+vnk/aRUCU+PeM=";max-age=5184000;report-uri="https://thaicyberpoint.report-uri.io/r/default/hpkp/enforce"';
  3. IIS – แก้ไขที่ Web.config
    <httpProtocol>
     <customHeaders>
     <add name="Public-Key-Pins" value="pin-sha256=&quot;pzel6nQW2KK7geOhEeaci3qEDf1TJeg7CNCFqU9RvkQ=&quot;;pin-sha256=&quot;IlsUjvSKCiDJYyuVTifR07/qaIKCUn0ZK8z9mG1rAZ0=&quot;;pin-sha256=&quot;Rlef6668r6l11a8M2Ahf46PqK0Q4q+vnk/aRUCU+PeM=&quot;;max-age=5184000;report-uri=&quot;https://thaicyberpoint.report-uri.io/r/default/hpkp/enforce&quot;" />
     </customHeaders>
    </httpProtocol>

เมื่อตั้งค่าต่างๆ เรียบร้อยแล้ว ลองทดสอบผ่านทาง SSL Server Test เพื่อดูผลว่าตัวทดสอบสามารถตรวจจับข้อมูลที่เราได้ตั้งค่าได้หรือไม่

2016-06-10_013750

2016-06-10_150936

โดยหากเจอปัญหาค่าแฮชที่ตรวจสอบไม่ตรงตามขั้นตอนข้างต้น จะขึ้นข้อความตามด้านล่างนี้ บน Google Chrome และ Mozilla Firefox (อาจจะเปลี่ยนแปลงไปบ้างในแต่ละรุ่นที่ออกมาในอนาคต)

hpkp_test_chrome

รูปจาก What is Public Key Pinning / HPKP ? 

รูปจาก About Public Key Pinning 

ส่วนในกรณีที่ใช้การเขียนซอฟต์แวร์สำหรับเชื่อมต่อผ่าน API นั้น เราสามารถใช้การตรวจสอบในลักษณะนี้ ในการตรวจสอบความน่าเชื่อถือของการเชื่อมต่อได้ด้วยการเขียนชุดคำสั่งตรวจสอบได้เช่นกัน ตัวอย่างเช่น Designing Evolvable Web APIs with ASP.NET – Chapter 15. Security โดยเราจะใช้ลักษณะ Trust on First Use ตามแบบเว็บเบราว์เซอร์ หรือจะใช้การบันทึกค่าแฮชของ TLS Certificate ไว้ในตัวซอฟต์แวร์ก็ได้ เพราะการพัฒนาซอฟต์แวร์ที่เราควบคุมสภาพแวดล้อมได้ หากบันทึกค่าแฮชไว้ภายในตัวซอฟต์แวร์ก็จะช่วยลดความเสี่ยงในเรื่อง Trust on First Use ได้

อะไรคือความเสี่ยงของ Trust on First Use?

คำตอบคือ หากในครั้งแรกที่เข้าใช้บริการ เครื่องที่เข้าใช้งานได้รับข้อมูลที่เป็นค่าแฮชปลอมบน HTTP Header ไปก่อนแล้ว วิธีการนี้ก็จะไม่สามารถตรวจสอบได้อีกต่อไปว่าจะเชื่อค่าแฮชชุดใดกันแน่ที่เป็นค่าแฮชจริง การใช้เทคนิค Trust on First Use จึงเป็นเพียงแค่ช่วยเพิ่มความสะดวกสำหรับคนใช้งานเบราว์เซอร์ทั่วไป

สุดท้าย ในปัจจุบัน (ณ วันที่ 10/6/2016) มีเบราว์เซอร์อย่าง Google Chrome และ Mozilla Firefox รองรับ และหวังว่าจะมีเบราว์เซอร์ตัวอื่นๆ ในอนาคตที่จะเพิ่มเติมการตรวจสอบนี้เข้ามาในตัวเบราว์เซอร์ น่าจะช่วยให้เราให้บริการกับลูกค้าได้ปลอดภัยมากขึ้น รวมไปถึงซอฟต์แวร์ต่างๆ ที่พัฒนาจะใช้การจดจำค่าแฮชเหล่านี้เป็นค่าเริ่มต้น เพื่อช่วยป้องกัน และควบคุมการใช้ TLS Certificate ที่เราเป็นผู้รับผิดชอบเองจริงๆ ไม่ใช่เกิดจากการสวมรอย หรือออก TLS Certificate ที่ผิดพลาดจาก Certificate Authority ที่เราไม่ได้ใช้บริการอยู่

อ้างอิงจาก

ตรวจสอบ favicon ให้ดี อาจมีการใช้ favicon เพื่อทำให้เข้าใจผิดว่ากำลังใช้ https ที่มีใบรับรองที่ถูกต้อง

อ่านข่าวเรื่องอัพเดท Firefox 47 บน Android แล้วเอา favicon ออกจาก address bar เลยสนใจว่าเรื่องนี้ว่าเอาออกทำไม

อธิบายก่อนว่า favicon หรือ favourite icon เป็นรูปขนาดเล็ก (ไอคอน) ที่มักแสดงอยู่ แถวๆ URL ของเว็บ หรือเดี่ยวนี้คงไว้ใกล้ๆ กับหัวข้อเว็บกัน (title bar) ตามภาพด้านล่าง

favicon-in-desktop-browsersรูปนำมาจาก นำมาจาก https://css-tricks.com/favicon-quiz/

พอมาดูใน Firefox รุ่นบน Android และตำแหน่งที่ไว้ favicon ก็เข้าใจประเด็นว่าทำไมถึงต้องนำออกไป ตามภาพด้านล่าง

Mozilla_Firefox_Favicon_Removal

รูปนำมาจาก https://blog.mozilla.org/blog/2016/06/07/tab-video-improvements/

นั้นแสดงว่ามีรายงานว่าการไว้ favicon ตรงนั้น น่าจะถูกนำไปใช้ประโยชน์ในการหลอกผู้ใช้ว่าเว็บใช้ SSL/HTTPS ที่ปลอดภัยอยู่ (ซ้ำราย บนมือถือมักตรวจสอบ SSL/TLS fingerprint ได้ยาก iOS นี่เช็คไม่ได้เลย) ซึ่งใน browser เก่าๆ หรือบนมือถือที่มีพื้นที่จอจำกัด มักเอามาไว้ใกล้ๆ กัน หรือแสดงผลสลับกันตอนเปลี่ยน tab ทำให้สับสน ซึ่งประเด็นนี้ใน browser อื่นๆ เราก็ควรจะใส่ใจเช่นเดียวกัน เพราะบางครั้งก็สร้างความสับสนได้มากเช่นกัน (ตัวอย่างตามภาพท้ายเนื้อหา)

จากทั้งหมดที่กล่าวมา อยากให้คอยสังเกตและระมัดระวังในการใช้งานเว็บที่เราต้องส่งข้อมูลส่วนบุคคลเข้าไปกันสักหน่อย

2016-06-09_142953

 

2016-06-09 14.32.55

การขอข้อมูลในแอปเกินความจำเป็น และข้อมูลส่วนตัวของเรา ไม่ใช่ของนักพัฒนาแอป แม้เก็บข้อมูลไปแล้วก็ตาม

ผู้พัฒนาแอปที่มีการขอ permission จาก OS อย่าง iOS หรือ Android หรือจากบริการบนเว็บอย่าง Facebook หรือTtwitter ควรขอ permission เพียงส่วนที่จำเป็นต้องใช้ จะขอเผื่อๆ ไว้ ก็ควรยอมรับคำถามของผู้ใช้บริการด้วยว่าขอไปเผื่อทำไม จัดเก็บอย่างไร เอาไปทำอะไรบ้างอย่างชัดเจน และเป็นทางการ

การมาต่อว่าดราม่าใส่คนตั้งคำถามต่อการขอ permission ถือเป็นสิ่งที่ผู้พัฒนาแอปไม่ควรทำ เพราะมันเป็นเรื่องความรับผิดชอบที่ควรชี้แจงและอธิบายให้สิ้นสงสัยอย่างเป็นมิตร

ส่วนผู้ตั้งคำถามจะยอมรับคำตอบหรือไม่ ถือเป็นสิ่งที่นักพัฒนาต้องยอมรับผลที่ตามมาเอง เพราะสิ่งที่นักพัฒนาขอไปนั้น คือ “ข้อมูลส่วนบุคคลของผู้อื่น เขามีสิทธิ์ในการตั้งคำถามที่เกี่ยวกับการจัดเก็บข้อมูลส่วนตัวของเขา ไม่ใช่นักพัฒนาที่ไปเก็บข้อมูลแล้วยึดสิทธิ์ในข้อมูลส่วนตัวของเขาไป เพราะข้อมูลที่จัดเก็บไป เราไม่ได้ให้ความยินยอมในสิทธิ์ของข้อมูลนั้นตลอดไป เราเพียงให้สิทธิ์ในการนำไปใช้เพียงช่วงเวลาหนึ่งเท่านั้น”

แน่นอนว่า เมื่อตอบไปแบบนี้ เราก็จะเจอความคิดเห็นกลับมาเพิ่มเติมว่า “ก็เราเป็นคนกดยินยอมให้เค้าไปเอง แล้วจะบ่นอะไรอีก คงเอากลับคืนมาไม่ได้แล้ว” ซึ่งหากมองในมุมนี้ นั้นหมายถึงผู้ออกความคิดเห็นชุดนี้ มิได้ตระหนักถึงสิทธิ์ในข้อมูลส่วนบุคคลของตนเท่าใดนัก ซึ่งไม่ใช่ทุกคนที่ยอมรับได้ และเราควรสร้างความตระหนักว่า ข้อมูลส่วนบุคคลเป็นสิทธิ์ของเราที่จะให้ใครดูแล และไม่ให้ใครดูแลก็ได้ ซึ่งแอปที่ทำตามข้อเรียกร้องนี้ได้อย่าง Facebook หรือ Twitter เองมีความสามารถในการ Delete Account เพื่อลบข้อมูลส่วนบุคคลเหล่านี้ออกไปจากระบบ และบริการ social network หรือแอปรายอื่นๆ ที่มีความโปร่งใส ก็มักจะเห็นความสามารถในการ Delete Account อยู่เสมอ เพราะกฎหมายในหลายประเทศระบุให้ทำบนพื้นฐานสิทธิ์ข้างต้น หากบริการใดๆ จะแสดงออกซึ่งการควบคุมดูแลในการให้บริการที่โปร่งใส ใส่ใจต่อสิทธิ์ในข้อมูลส่วนบุคคลของผู้ใช้งาน ก็ควรจะต้องมีความสามารถดังกล่าวด้วย

สุดท้าย ในร่างกฎหมายข้อมูลส่วนบุคคลฉบับล่าสุด (เท่าที่หาได้) มีระบุไว้ชัดเจนในเรื่องราวข้างต้น และหากว่าร่างกฎหมายนี้มีการปรับแก้ และหวังว่าจะไม่มีการเปลี่ยนแปลงในส่วนนี้ มันจะถูกบังคับใช้ นั้นหมายความถึงบริการ และแอปทุกๆ ตัว ต้องรองรับการร้องขอนี้ด้วยเช่นกัน

2016-06-05_124631

หมายเหตุ
ไฟล์รูปได้มาจากส่วนหนึ่งในเอกสาร “ร่างพ.ร.บคุ้มครองข้อมูลส่วนบุคคล (ฉบับความมั่นคงดิจิทัล)”
อ้างอิงจาก http://ilaw.or.th/node/3405

สุนทรพจน์โดย สัตยา นาเดลลา ซีอีโอ ไมโครซอฟท์ ในงาน Thailand Developer Day

ทางบริษัท ฮิลล์ แอนด์ นอลตัน สแตรทิจีส์ ผู้เป็นมีเดียให้กับไมโครซอฟท์ได้ส่งมาให้เพื่อเผยแพร่ ผมคิดว่าเป็นประโยชน์จึงถือโอกาสนำมาลงให้ได้อ่าน พร้อมทั้งวิดีโอภายในงานพร้อมกันนี้ครับ

Satya Nadella - Keynote

คำแปลสุนทรพจน์โดย สัตยา นาเดลลา ซีอีโอ ไมโครซอฟท์ ในงาน Thailand Developer Day

วันพุธที่ 25 พฤษภาคม 2559 ณ ห้องแอทธินี คริสตัล ฮอลล์ ชั้น 3 โรงแรมพลาซ่า แอทธินี รอยัล เมอริเดียน, กรุงเทพฯ, ประเทศไทย


Satya Nadella in Thailand | Satya Nadella in Thailand | Channel 9 

ผมมีความยินดีมากครับที่ได้มาเยือนกรุงเทพฯ ในวันนี้ และได้เห็นใบหน้าที่เต็มไปด้วยความสดใสและตื่นเต้นของทุกคนในที่นี้ หลายคนคงยังไม่เคยทราบว่าผมเคยพักอาศัยอยู่ในกรุงเทพฯ เป็นเวลา 5 ปี ในวัยเด็กผมเคยมาพักร้อนที่นี่เป็นประจำ และคุณพ่อของผมก็เคยทำงานในกรุงเทพฯ มาก่อน ผมได้สัมผัสพีซีเครื่องแรกของผมในกรุงเทพฯ นี่เอง เมื่อตอนที่พ่อของผมซื้อเครื่องสเปกตรัม Z80 จากสิงคโปร์มาให้ผมที่นี่เมื่อราวปี 1981 หลังจากนั้นเป็นต้นมา ผมก็สนใจในวิทยาศาสตร์คอมพิวเตอร์และเครื่องคอมพิวเตอร์ต่างๆ มาโดยตลอด ผมดีใจจริงๆ ครับที่ได้กลับมาที่นี่อีกครั้ง และได้มีโอกาสมาพูดถึงต้นกำเนิดและอนาคตของบริษัทของเรา

สำหรับไมโครซอฟท์แล้ว ทุกสิ่งที่เราทำล้วนเริ่มต้นมาจากพันธกิจของเรา ซึ่งก็คือการเป็นกำลังสำคัญให้ทุกคนและทุกองค์กรในโลกนี้ให้บรรลุผลสำเร็จได้ดียิ่งขึ้น เมื่อพูดถึงการเป็นกำลังสำคัญในด้านการเสริมสร้างศักยภาพแล้ว คงไม่มีจุดเริ่มต้นไหนที่จะดีไปกว่าการเพิ่มศักยภาพของผู้ประกอบการและนักพัฒนา เพราะว่าคนกลุ่มนี้ถือเป็นจุดเริ่มต้นของบริษัทของเราด้วย เมื่อตอนที่บิล [เกตส์] และพอล [อัลเลน] เปิดบริษัทไมโครซอฟท์ขึ้นมา ผลิตภัณฑ์แรกที่ทั้งคู่สร้างขึ้นก็คืออินเตอร์พรีเตอร์ภาษาเบสิก นับจากวันนั้นเป็นต้นมา เราได้เห็นเทคโนโลยีต่างๆ มากมายถือกำเนิดขึ้นและผ่านเลยไป ส่วนหัวใจหลักของไมโครซอฟท์อยู่ที่การสร้างสรรค์แพลตฟอร์มให้นักพัฒนาได้แสดงออกถึงความคิดสร้างสรรค์ จนเกิดเป็นผลงานที่เปลี่ยนทั้งชีวิตของผู้คนและผลงานขององค์กร เรารู้สึกตื่นเต้นมากครับกับเป้าหมายนี้

ในวันนี้ ผมอยากพูดถึงโอกาสครับ เหมือนกับสมัยปี 1981 ที่ผมโตขึ้นมากับการปฏิวัติวงการพีซี ในฐานะผู้ประกอบการและนักพัฒนา พวกคุณทุกคนจะมีโอกาสได้ทำอะไรอีกบ้างในอนาคต?

เรามาเริ่มต้นกันกับสิ่งที่ผมเรียกว่า โลกยุคโมบายและคลาวด์ (mobile-first, cloud-first world) เรามีมุมมองที่เฉพาะเจาะจงมากครับว่าคำว่าโมบายในที่นี้หมายถึงอะไร เราไม่ได้พูดถึงเพียงแค่ดีไวซ์สักเครื่องหนึ่งที่พกพาไปไหนมาไหนได้นะครับ แต่เราพูดถึงอะไรที่กว้างขวางกว่านั้น เรามองไปที่ประสบการณ์การใช้ชีวิตที่โลดแล่นไปบนอุปกรณ์คอมพิวเตอร์แต่ละชิ้นที่เราได้สัมผัส ลองนึกดูสิครับ อีก 5 ปีข้างหน้า คุณจะมีจออะไรต่างๆ ให้ใช้งานอีกมากมาย ทั้งจอเล็ก จอใหญ่ เซนเซอร์ในห้องแบบนี้ที่สามารถจดจำตัวคุณได้ และคุณก็จะอยากให้แอพและข้อมูลของคุณทั้งหมดถ่ายโอนข้ามกันระหว่างอุปกรณ์ทุกชิ้นในชีวิตของคุณด้วย ทั้งหมดนี้จะเกิดขึ้นได้ด้วยเทคโนโลยีคลาวด์ครับ การเคลื่อนที่และขยับขยายของประสบการณ์ที่ว่านี้ เกิดขึ้นได้เพราะการควบคุมของระบบคลาวด์

สำหรับเราแล้ว คลาวด์ไม่ใช่จุดหมายปลายทางเพียงจุดเดียวนะครับ คลาวด์เป็นแพลตฟอร์มที่กระจายตัวออกไปอย่างกว้างขวาง เมื่อพูดถึงคลาวด์ เราจะคิดถึงทั้งระบบคลาวด์ขนาดใหญ่ของเราเอง ที่ประกอบด้วยคอมพิวเตอร์กว่าล้านเครื่องใน 40 ภูมิภาคทั่วโลก แต่ยังรวมถึงส่วนขอบของคลาวด์ ซึ่งก็คือเทคโนโลยีคอมพิวเตอร์ที่แฝงตัวอยู่ทุกหนแห่ง เป็นแหล่งข้อมูลอยู่รอบตัวเรา และเป็นส่วนหนึ่งของมุมมองของเราเมื่อพูดถึงโลกยุคโมบายและคลาวด์

ในโลกยุคนี้ เรากำลังเดินหน้าสร้างแพลตฟอร์มที่เปี่ยมศักยภาพถึง 3 แพลตฟอร์มด้วยกัน โดยมีแพลตฟอร์มคลาวด์อัจฉริยะเป็นแพลตฟอร์มแรก ผมรู้สึกตื่นเต้นมากๆ ครับที่ได้เห็นแอพพลิเคชันที่พวกคุณทุกคนกำลังพัฒนาสร้างสรรค์กันอยู่ พวกคุณกำลังสร้างแอพ SaaS รูปแบบใหม่ขึ้นโดยมีบริการขนาดเล็กเป็นส่วนประกอบ พวกคุณกำลังสร้างแอพ IoT ที่เก็บข้อมูลจากเซนเซอร์มาประมวลผล ตีความออกมาเป็นข้อสรุปที่นำไปใช้คาดการณ์อนาคต เช่นในกรณีของการบำรุงรักษาอุปกรณ์แบบล่วงหน้า เป็นต้น พวกคุณกำลังสร้างแอพสำหรับอุปกรณ์พกพาโดยใช้ระบบคลาวด์เป็นกลไกเบื้องหลัง และพวกคุณก็กำลังสร้างแอพพลิเคชันบนเว็บด้วย จึงเท่ากับว่าในวันนี้ เราได้เห็นรูปแบบแอพที่หลากหลายมากๆ

เรามีระบบโครงสร้างพื้นฐานคลาวด์ที่ยืดหยุ่นและเปิดกว้างที่สุด เพื่อรองรับการพัฒนาแอพพลิเคชันทั้งหมดนี้ คุณสามารถเขียนแอพด้วย .NET หรือจาวาก็ได้ทั้งนั้น คุณสามารถสร้างแอพได้ทั้งบนวินโดวส์และลินุกซ์ คุณสามารถนำเครื่องมือและเฟรมเวิร์กที่คุณคุ้นเคยมาใช้งานบนอาชัวร์ แพลตฟอร์มที่พร้อมรองรับเทคโนโลยีเหล่านี้อย่างเต็มที่ เราอยากทำงานร่วมกับคุณทุกคน ไม่ว่าคุณจะใช้เครื่องมือหรือเฟรมเวิร์กใดอยู่ก็ตาม

นอกจากนี้แล้ว เรายังให้ความสำคัญกับศักยภาพในการสร้างสรรค์ผลงาน ซึ่งเป็นหัวใจหลักของบริษัทเรามาโดยตลอด หากกล่าวถึง Visual Studio แล้ว ผมพูดได้เลยว่าไม่มี IDE (Integrated Development Environment) ไหนที่ดีกว่า Visual Studio ในการสร้างสรรค์ผลงานแอพออกมา ถ้านำ Visual Studio ไปจับคู่กับ TFS หรือ Visual Studio Online คุณจะสามารถทำงานได้คล่องตัวและต่อเนื่องกว่าที่เคย

เท่านั้นยังไม่พอครับ แม้แต่ใน Visual Studio เรายังเปิดกว้าง พร้อมรองรับชุดเครื่องมืออื่นๆ เรารองรับ Git อย่างเต็มที่ โดยคุณสามารถดึงโค้ดจาก GitHub หรืออัพโหลดขึ้นสู่ GitHub ได้ทันที แนวคิดของเราก็คือ คุณจะต้องมีเครื่องมือที่ยอดเยี่ยมที่สุดไว้ใช้งาน เพื่อให้คุณสามารถมุ่งเป้าไปที่การพัฒนาแอพพลิเคชันได้ตามเป้าหมาย นี่คือหัวใจหลักในแนวทางการพัฒนาอาชัวร์ของเราครับ

ส่วนองค์ประกอบสุดท้าย ซึ่งอาจถึงขั้นสำคัญที่สุดเลยก็ว่าได้ คือการเสริมให้แอพพลิเคชันของคุณมีความฉลาด อีก 5 ปีข้างหน้า เมื่อเรามองย้อนกลับมาที่แอพที่คุณสร้างไว้ในยุคนี้ คุณจะเห็นว่าคุณสมบัติที่ตรงกับความต้องการของผู้ใช้ในยุคนี้มากที่สุดคือความฉลาดที่ว่านี้เอง ไม่ว่าจะเป็นความสามารถในการทำความเข้าใจคำพูด ใบหน้าและการแสดงอารมณ์ หรือการตีความภาษามนุษย์แบบธรรมชาติ

ผมเพิ่งได้พบกับทีมชนะเลิศจากการแข่งขัน Imagine Cup ในประเทศไทยทีมหนึ่ง ที่กำลังสร้างแอพสำหรับสอนภาษาอังกฤษให้กับเด็กนักเรียนไทย โดยพวกเขานำเอา API สำหรับการตีความคำพูดและการสื่อสารในรูปแบบธรรมชาติของเรามาปรับใช้ในแอพพลิเคชัน ในอนาคต เราจะได้เห็นการพัฒนาแอพแบบนี้กันอีกครับ

เมื่อเช้านี้ ผมยังมีโอกาสได้พบกับสตาร์ทอัพจำนวนหนึ่งที่กำลังสร้างแอพพลิเคชันที่ยอดเยี่ยมมากๆ และขยายระบบให้รองรับการใช้งานอย่างกว้างขวางยิ่งขึ้น โดยสตาร์ทอัพรายแรกได้แก่ Semantic Touch ที่ถือเป็นผู้ให้บริการอี-คอมเมิร์ซหรือแอพร้านค้าชั้นนำสำหรับกลุ่มธุรกิจขนาดกลางและขนาดย่อม ปัจจุบัน พวกเขากำลังขยายธุรกิจอยู่ และยังประสบความสำเร็จอย่างมากอีกด้วย แอพนี้เป็นหน้าร้านที่ครอบคลุมทุกช่องทาง จึงทำให้ร้านค้าของคุณปรากฎตัวอยู่ได้ทั้งบนเฟซบุ๊ค เว็บไซต์ และโทรศัพท์มือถือ โดยมีระบบหลังบ้านเพียงระบบเดียว

นอกจากนี้ ผมยังได้พบกับผู้ก่อตั้ง Ookbee ซึ่งผมประทับใจมากที่ได้เห็นว่าประเทศไทยมีคู่แข่งของ Amazon Kindle ที่มีส่วนแบ่งตลาดถึง 85% และมีฐานผู้ใช้รวม 10 ล้านคน ขณะนี้ Ookbee กำลังขยายธุรกิจออกไปทั่วเอเชียตะวันออกเฉียงใต้ และทางผู้ก่อตั้งก็ได้บอกกับผมว่าเขามีสตาร์ทอัพอีกหนึ่งบริษัทที่ตั้งเป้าหมายว่าจะแข่งขันกับ Airbnb ในเมืองไทย เป็นเรื่องที่น่ายินดีจริงๆ ครับ

อีกหนึ่งบริษัทที่ผมได้พบกับผู้ก่อตั้งในโอกาสนี้คือ Buzzebees ที่นำเอาแนวคิดธุรกิจแบบ business to business to consumer (B2B2C) มาปรับใช้กับข้อมูลในรูปแบบดิจิทัลทั้งหมด เพื่อนำมาสร้างโปรแกรมสำหรับมัดใจลูกค้า หรือเท่ากับเป็นระบบหลังบ้านสำหรับการทำธุรกรรมในเศรษฐกิจดิจิทัลทุกภาคส่วนของเมืองไทยนั่นเอง ทั้งหมดนี้ถือเป็นเป้าหมายที่ยิ่งใหญ่มาก แต่เท่านี้ยังไม่พอนะครับ ผู้ก่อตั้งบริษัทนี้มีเป้าหมายที่จะทำงานร่วมกับเรา และขยายธุรกิจต่อยอดออกไปให้ทั่วภูมิภาคเอเชีย และประเทศอื่นๆ ทั่วโลก เขามาถามผมด้วยว่าไมโครซอฟท์จะช่วยเขาขยายธุรกิจต่อไปได้อย่างไรบ้าง

นี่ล่ะครับคือความเป็นไปได้ที่เรามีอยู่ในปัจจุบัน ผมมองว่าโลกยุคโมบายและคลาวด์นี้ได้เปลี่ยนแปลงระดับการตั้งเป้าหมายของเราไปในทุกประเทศ และผมก็ได้เห็นความเปลี่ยนแปลงนี้ด้วยตัวเองจากการพบปะกับสตาร์ทอัพไทยเมื่อเช้านี้ ซึ่งถือว่ายอดเยี่ยมมากครับ

แพลตฟอร์มถัดไปที่เรากำลังพัฒนาอยู่คือแพลตฟอร์ม Office 365 ครับ เราต้องการเสริมประสิทธิภาพในการทำงาน และพลิกโฉมรูปแบบการดำเนินธุรกิจด้วยคลาวด์ ปัจจุบัน มีธุรกิจขนาดใหญ่หลายรายในประเทศไทยที่เลือกใช้งาน Office 365 ซึ่งเป็นแพลตฟอร์มที่มีกระแสแรงมาก ในตอนนี้ เราไม่ได้หยุดอยู่เพียงแค่การย้ายจาก Exchange Server หรือ SharePoint Server ไปสู่คลาวด์ หรือจาก Lync ไปสู่ Skype for Business นะครับ การย้ายระบบงานไปสู่คลาวด์เป็นเรื่องที่ยิ่งใหญ่กว่านั้นมาก

ความเปลี่ยนแปลงที่เราได้เห็นในจุดนี้ ครอบคลุมถึงข้อมูลทั้งหมดของทุกองค์กร ไม่ว่าจะเป็นธุรกิจขนาดเล็กหรือขนาดใหญ่ ผู้คน ความสัมพันธ์ระหว่างแต่ละบุคคล หรือระหว่างบุคคลกับโครงการ เอกสาร และตารางเวลา ทุกสิ่งทุกอย่างนี้ได้ถูกแปรรูปไปเป็นกราฟและ API สำหรับนักพัฒนา ในช่วงเช้าวันนี้ ผมได้พบกับเจ้าของธุรกิจผู้สร้างสรรค์แอพพลิเคชัน SaaS สำหรับบริหารจัดการงานก่อสร้าง แน่นอนว่าใครก็ตามที่กำลังสร้างแอพพลิเคชันแบบนี้จะต้องอยากนำฟังก์ชันการบริหารจัดการโครงการและตารางเวลาของ Office 365 มาใช้ ซึ่งการผสมผสานฟังก์ชันเหล่านี้เข้าไปก็ทำได้อย่างราบรื่น เป็นธรรมชาติ ทุกวันนี้ การผนึกเอาฟังก์ชันเหล่านี้ไว้ในแอพได้กลายเป็นเรื่องง่ายกว่าแต่ก่อนมาก ด้วยศักยภาพของชุดเครื่องมือบนคลาวด์ และการที่ Office 365 เปิดให้นักพัฒนาสามารถเข้าถึงข้อมูลทั้งหมดเพื่อนำไปใช้งานได้อย่างสะดวกสบาย

เราไม่ได้หยุดอยู่เพียงเท่านี้ครับ ผมรู้สึกตื่นเต้นมากๆ กับนวัตกรรมคลื่นลูกใหม่ที่กำลังจะมาถึง ซึ่งจะพลิกโฉมเทคโนโลยีคอมพิวเตอร์ไปอย่างสิ้นเชิง เราเรียกนวัตกรรมนี้ว่า “conversations as a platform” ครับ สิ่งที่เชื่อมโยงมนุษย์ทุกคนเข้าถึงกันได้คือภาษา ลองนึกดูสิครับว่าจะเกิดอะไรขึ้น ถ้าเราสามารถสอนให้อุปกรณ์คอมพิวเตอร์รอบตัวเราสามารถนำพลังของภาษามาใช้งานได้ ทุกอย่างจะเปลี่ยนไปครับ ทุกๆ คนทั่วโลกจะสามารถเข้าถึงเทคโนโลยีคอมพิวเตอร์ได้โดยปราศจากอุปสรรค เพราะทุกวันนี้ ยังมีอีกหลายคนที่สับสนกับไอคอนมหาศาลบนหน้าจอสมาร์ทโฟน และเว็บแอพต่างๆ ที่มีโครงสร้างเมนูแตกต่างกันไปทุกแอพ

แทนที่คุณจะต้องเลือกแอพ เปิดแอพ หัดใช้แอพ แอพจะสามารถเข้าหาคุณได้ เพียงแค่คุณพูดกับเครื่องคอมพิวเตอร์เท่านั้น เทคโนโลยีนี้จะเกิดขึ้นได้ ต้องมีตัวละครหลักอยู่สามตัว ตัวแรกคือมนุษย์และพื้นที่สำหรับการสนทนา ซึ่งอาจจะเป็น Skype, LINE เฟซบุ๊ค ซึ่งเป็นพื้นที่ๆคุณใช้พูดคุยหรือเขียนข้อความถึงผู้อื่น ดังนั้นเมื่อพูดถึงเทคโนโลยีนี้คุณก็จะมีสองตัวละครด้วยกัน

สำหรับตัวละครแรกในพื้นที่นี้ ถือเป็นตัวละครที่มีคุณสมบัติพิเศษ นั่นก็คือผู้ช่วยส่วนตัวแบบดิจิทัล ซึ่งสำหรับไมโครซอฟท์เอง เรามีคอร์ทานาอยู่ คอร์ทานาเป็นผู้ช่วยส่วนตัวที่เข้าใจในตัวคุณ องค์กรของคุณ และโลกรอบตัวเรา คอร์ทานาสามารถช่วยงานคุณได้ด้วยความรู้เหล่านี้ พร้อมนำเสนอแอพพลิเคชันที่ตรงกับความต้องการในแต่ละสถานการณ์ เพื่อเริ่มงานและทำงานให้บรรลุผลไปได้

ส่วนตัวละครสุดท้ายคือบอทครับ จากเดิมที่ธุรกิจทุกรายต่างพากันสร้างเว็บไซต์ หรือที่พวกคุณทุกคนสร้างแอพสำหรับโทรศัพท์มือถือ ในอนาคต พวกคุณจะได้สร้างระบบติดต่อสื่อสารกับบอทครับ ระบบที่ว่านี้จะสามารถเข้าใจบทสนทนา สามารถโต้ตอบกับมนุษย์ได้ แทนที่คุณจะต้องสร้างเมนูไว้ในแอพพลิเคชันของคุณ คุณจะสามารถสอนให้แอพเข้าใจภาษามนุษย์ได้ เพื่อให้แอพเหล่านี้สามารถตอบโต้กับมนุษย์ได้อย่างเป็นธรรมชาติ

“Conversations as a platform” จะทำให้การโต้ตอบในรูปแบบต่างๆ เหล่านี้เป็นไปได้ครับ มาถึงตรงนี้แล้ว ผมขอเปิดคลิปวิดีโอสักคลิปหนึ่งให้ชมกัน เพื่อให้คุณได้เห็นภาพว่าเทคโนโลยีทั้งหมดนี้จะมีหน้าตาเป็นอย่างไร มาชมกันเลยครับ

เรารู้สึกตื่นเต้นมากๆ ครับกับความเป็นไปได้ใหม่ๆ สำหรับนักพัฒนากับเทคโนโลยีนี้ และเราได้ประสานงานกับนักพัฒนาหลายทีมทั่วโลกเพื่อใช้เฟรมเวิร์กของบอทมาพัฒนาบอทใน Skype, LINE เฟซบุ๊ค และช่องทางอื่นๆ เรามองว่าแพลตฟอร์มนี้จะเปิดกว้างมาก จนบอทเพียงตัวเดียวสามารถเข้าถึงได้จากทุกหนแห่ง

แพลตฟอร์มต่อไปที่ผมจะพูดถึงในวันนี้คือวินโดวส์ 10 ครับ วิสัยทัศน์ของเราสำหรับวินโดวส์ 10 คือการสร้างแพลตฟอร์มหนึ่งเดียวสำหรับทุกสิ่ง นับตั้งแต่ Internet of Things ไปจนถึงโฮโลเลนส์ แพลตฟอร์มนี้มี API และรันไทม์เพียงหนึ่งเดียว มีหน้าร้านแอพเพียงหนึ่งเดียว และในวันนี้ เรามีดีไวซ์กว่า 280 ล้านเครื่องทั่วโลกที่ใช้งานวินโดวส์ 10 ในแต่ละวัน สำหรับนักพัฒนาแล้ว การสร้างแอพพลิเคชันที่สามารถเข้าถึงฐานผู้ใช้ทั้งหมดนี้ได้ ถือเป็นโอกาสที่ยิ่งใหญ่ทีเดียว

เมื่อพูดถึงวินโดวส์ 10 สิ่งที่ผมรู้สึกตื่นเต้นมากที่สุดคือคอมพิวเตอร์รูปแบบใหม่ๆ ที่เรากำลังสร้างสรรค์กันขึ้นมา ที่จริงแล้ว ประวัติศาสตร์ของอุตสาหกรรมไอทีที่ผ่านมา เต็มไปด้วยจังหวะเวลาเด่นของการสร้างสรรค์ผลิตภัณฑ์ประเภทใหม่แบบนี้ครับ

ผมรู้สึกตื่นเต้นที่จะได้เห็นว่าวินโดวส์ 10 ทำอะไรได้บ้างบน Raspberry Pi หรือกับอุปกรณ์แบบทูอินวันอย่างเซอร์เฟสและดีไวซ์ต่างๆ ที่ผู้ผลิตหลายรายกำลังพัฒนาอยู่ แม้แต่แอปเปิลยังมีดีไวซ์ทูอินวัน ซึ่งผมเองก็ดีใจที่เราได้จุดประกายให้เขาสร้างผลิตภัณฑ์นี้ขึ้นมาครับ (หัวเราะ)

นอกจากนี้ ผมยังตื่นเต้นไปกับ เซอร์เฟส ฮับ ซึ่งเป็นคอมพิวเตอร์กลางในห้องประชุมที่ช่วยให้ทุกคนสามารถทำงานร่วมกัน ติดต่อสื่อสารถึงกัน ใช้ Skype for Business ไปพร้อมๆ กัน หรือเขียนโน้ตลงบนหน้าจอไปด้วยกันได้ เซอร์เฟส ฮับ จะช่วยให้ผู้ใช้สามารถทำงานร่วมกันได้ดีกว่าที่เคยครับ

แต่นวัตกรรมที่ทำให้ผมตื่นเต้นมากที่สุด คงไม่พ้น augmented reality และ mixed reality ครับ นี่ถือเป็นครั้งแรกที่เราสามารถนำเอาโลกอนาล็อกที่เรามองเห็นด้วยตา มาแปลงเป็นจอแสดงผลดิจิทัลที่ไร้ขีดจำกัด ซึ่งเท่ากับว่าเราสามารถมีวัตถุจากโลกดิจิตอลอยู่ในโลกอนาล็อกได้

ลองคิดดูสิครับว่าเทคโนโลยีนี้จะเปลี่ยนโลกได้มากขนาดไหน ตลอดระยะเวลาที่ผ่านมา เราทำได้แค่เพียงสร้างคอมพิวเตอร์ที่พยายามลอกเลียนวัตถุในโลกอนาล็อกมาไว้ในโลกดิจิทัล หรือพูดอีกอย่างได้ว่าเราได้สร้างโลกสะท้อนขึ้นมา แต่ในวันนี้ เราสามารถนำโลกดิจิทัลเข้ามาในโลกอนาล็อกได้แล้วเป็นครั้งแรกครับ

เท่านั้นยังไม่พอ คุณสามารถเข้าไปอยู่ในโลกนี้ได้ด้วยตัวเอง ไม่ว่าตัวคุณเองจะอยู่ที่ไหน คุณก็สามารถไปปรากฎตัวอยู่ได้ทุกที่ และเคลื่อนตัวไปมาได้โดยไม่มีสายเชื่อมโยง

การผสมผสาน 3 สิ่งนี้เข้าด้วยกัน ทั้งโลกผสมจากเทคโนโลยีการแสดงภาพโฮโลแกรม การจำลองสถานที่ และการเคลื่อนตัวไปมาได้แบบไร้สาย จะทำให้เกิดสื่อรูปแบบใหม่ที่เรามองว่ายิ่งใหญ่กว่าทุกนวัตกรรมคอมพิวเตอร์ในอดีต และอาจเป็นระบบการใช้งานคอมพิวเตอร์ที่เป็นธรรมชาติที่สุดสำหรับเราอีกด้วยครับ

สิ่งที่ทำให้ผมรู้สึกตื่นเต้นมากที่สุดกับเทคโนโลยีนี้ คือสิ่งที่พวกคุณทุกคนจะสร้างขึ้นในสื่อใหม่นี้ครับ ทั้งแอพพลิเคชันและไอเดียความฝันที่จะกลายเป็นแรงบันดาลใจในการประยุกต์ใช้เทคโนโลยีใหม่นี้ ทั้งในชีวิตประจำวันและการทำงาน

ผมขอเชิญชมคลิปวิดีโออีกคลิป เพื่อให้ทุกท่านเห็นว่ามีแอพพลิเคชันแบบไหนบ้างที่พัฒนาขึ้นสำหรับเทคโนโลยีนี้ครับ

ผมชอบมากๆ เลยกับคำอธิบายของเทคโนโลยี holographic computing หรือ mixed reality ที่บอกว่า เมื่อคุณเปลี่ยนวิธีการมองโลกแล้ว คุณก็จะเปลี่ยนโลกที่คุณมองเห็นไปด้วย ทั้งหมดนี้จะเกิดขึ้นได้ด้วยจินตนาการและพลังสร้างสรรค์ของนักพัฒนา และแอพพลิเคชันใหม่ๆ จากฝีมือของพวกเขาในโลกของคอมพิวเตอร์ยุคใหม่นี้ครับ

สุดท้ายนี้ ผมขอพูดถึงสิ่งที่ผมกล่าวไปในช่วงต้น นั่นก็คือพันธกิจของเราในการร่วมมือกับนักพัฒนาทุกคน เพื่อเสริมศักยภาพให้ทุกคนและทุกองค์กรบนโลกนี้ประสบความสำเร็จได้มากยิ่งขึ้น เราต้องการที่จะเริ่มต้นพันธกิจนี้ที่นี่ ในประเทศไทยแห่งนี้ครับ

เมื่อคุณนึกถึงเราในฐานะบริษัทผู้พัฒนาแพลตฟอร์ม และความเปลี่ยนแปลงที่เราต้องการผลักดันให้เกิดขึ้นนั้น คุณจะเห็นว่าเรามีมากกว่าเทคโนโลยีครับ เราต้องการสร้างความเปลี่ยนแปลงในวิถีชีวิตของผู้คน ช่วยให้พวกเขาสร้างผลลัพธ์ต่างๆ ในชีวิตได้ดียิ่งขึ้น เทคโนโลยีจะเป็นเครื่องมือที่ช่วยให้พวกเขาก้าวไปสู่ความสำเร็จ และเป็นสื่อกลางที่จะนำพาไปสู่จุดหมาย ไม่ใช่จุดหมายในตัวของมันเองครับ

เราได้มีโอกาสทำงานร่วมกับองค์กรไม่แสวงหาผลกำไรจำนวนมาก โดยหนึ่งในองค์กรที่เราได้ร่วมงานด้วยในประเทศไทยอย่าง PDA ได้ช่วยให้เรานำเทคโนโลยีคอมพิวเตอร์เข้าไปยังพื้นที่ชนบทอันห่างไกลของเมืองไทย

ที่โรงเรียนมีชัยพัฒนา เราไม่เพียงแต่นำทักษะการใช้งานคอมพิวเตอร์และอุปกรณ์คอมพิวเตอร์เข้าไปมอบให้กับเด็กนักเรียนเท่านั้น แต่ยังเปิดโอกาสให้พนักงานไมโครซอฟท์ในประเทศไทยได้เข้าไปทำงานในฐานะอาสาสมัคร เพื่อสอนทักษะการใช้คอมพิวเตอร์ พร้อมด้วยเนื้อหาวิชาวิทยาศาสตร์คอมพิวเตอร์และภาษาอังกฤษให้กับเด็กๆ ในท้องที่

ที่แห่งนี้ไม่ได้เป็นเพียงโรงเรียนเท่านั้น แต่ยังเป็นศูนย์กลางของชุมชน และเป็นที่ซึ่งชาวนาในพื้นที่สามารถเข้ามาขอความช่วยเหลือในการโฆษณาสินค้า เพื่อให้ขายของและเก็บเกี่ยวผลิตผลได้ราคาดียิ่งขึ้น เรื่องราวเช่นนี้ทำให้สิ่งที่เราทำไปมีความหมายขึ้นมา และแสดงให้เห็นว่าเทคโนโลยีสามรถเปลี่ยนชีวิตของผู้คนที่เราเข้าไปช่วยเหลือได้อย่างไรบ้าง

ผมรู้สึกยินดีเป็นอย่างมากครับที่ได้มาเยือนประเทศไทยในวันนี้ และได้พูดคุยกับนักพัฒนา ซึ่งเป็นกลุ่มคนกลุ่มแรกที่เราเรียนรู้ที่จะติดต่อสื่อสารด้วย และยังเป็นกลุ่มที่สำคัญมากๆ สำหรับเรา ผมหวังว่าทุกท่านจะออกจากห้องนี้ไปพร้อมกับความสนใจในแพลตฟอร์มที่เรากำลังพัฒนาขึ้นมา และความฝันอันยิ่งใหญ่ที่พวกคุณจะสร้างสรรค์ขึ้นมาบนแพลตฟอร์มนี้ เพื่อเปลี่ยนแปลงชีวิตของผู้คนทั้งในประเทศไทยและทั่วโลก

ขอบคุณมากๆ ครับ