10 years

วันนี้ 18 กพ. 2018 เป็นวันครบรอบ 10 ปีของเวป macfeteria พอดิบพอดี แทบไม่น่าเชื่อว่า blog ที่ผมคิดว่าจะเขียนเล่นๆ มันจะมีอายุอยู่มายาวนานถึง 10 ปี … มานั่งนึกย้อนก็แบบว่า เห้ยยยมันยาวนานถึง 10 ปีเลยเหรอว่ะ นี่เราแก่ไปขนาดนี้เลยเหรอ

ลองกลับไปอ่านโพสแรกของผม เมื่อ 10 ปีก่อน http://macfeteria.com/2008/02/18/firstword 

จำไม่ได้ด้วยซ้ำไปว่า ตัวเองเคยใช้ blogspot มาก่อน แต่ว่าอันนั้นเขียนเรื่องส่วนตัวล้วนๆ  แต่ macfeteria นี่เขียนด้วย wordpress มาตั้งแต่แรก

และเนื่องในอากาสครบรอบ 10 ปี .. วันนี้ผมจะขอเล่าสิ่งต่างๆที่ผ่านเข้ามาในเวปตลอด 10 ปีให้ฟังแล้วกันครับ

The beginning

จุดเริ่มต้นของ macfeteria นั้นจริงๆ เกิดมาจากว่าในช่วงที่ผมเพิ่งจะจบจาก มหาวิทยาลัย ตอนนั้นอยากเขียนเกมส์มาก (ตอนนี้ก็ยังอยากเขียนอยู่นะ) แต่ด้วยข้อจำกัดของประเทศไทย มันไม่มีบริษัทเกมส์ให้ผมทำ ก็เลยต้องหางานอย่างอื่น และสุดท้ายก็มาลงเอยด้วยการทำบริษัทที่ทำเกี่ยวกับ 3D  Engine ซึ่งตอนนั้นมีโปรเจค ที่ทำ 3D plugin ให้กับ web browser อย่าง IE , Firefox แต่มันก็อยู่บน windows หมดเลย และด้วยความอยากใช้ mac กับเหตุผล ง่ายๆว่า เครื่องมันสวย จึงไปขอหัวหน้าที่เป็นฝรั่งว่า เห้ยยย.. ยู  ไออยากจะเขียน plugin บน mac อ่ะ ขอเครื่อง mac สักได้ไหม ? หัวหน้าใจดี บอกว่า “OK” ถ้ายู อยากทำ ไอ ก็จัดให้เลย (เอาตรงๆนะ จากวันนั้นผ่านมาสิบปี ผมไม่เคยเจอหัวหน้าที่เฮฮา ชวนลูกน้องตี Dota ,  ซื้อคอมแรงๆให้ใช้ คือแบบจัดเต็มแทบทุกอย่างให้กับคนในออฟฟิศ ขนาดนี้เลย)

และจากคำขอวันนั้น อีก 1 อาทิตย์ต่อมาบริษัท ก็มีเครื่อง Mac Pro มาใช้ใน ออฟฟิศ และมีเพียงแค่ผมคนเดียวที่ใช้ Mac

(รูปที่เห็นนี่คือ หลังจากที่ผมได้เครื่องมาแล้วประมาณ 1-2 ปี มีจอ 3 – 4 จอ เพราะว่าต้องเขียน app บน windows และ mac)

ได้ mac มาใช้แบบง๊ายง่าย แต่โลกมันไม่ได้สวยงามขนาดนั้น เพราะหลังจากที่ได้ mac มา  ผมก็พบความจริงที่ว่า มันเท่ ก็จริง แต่งานเข้าเต็มๆ

เพราะว่า เมื่อ 10 ปีก่อนนั้น มันไม่มีคนเขียน app บน mac เลย ในสมัยนั้น คนไทยที่เป็นโปรแกรมเมอร์ ส่วนมากยังเขียน Visual Basic, ASP , PHP อะไรแบบนั้นกันอยู่เลย  .NET นี่ก็เพิ่งจะเกิดขึ้นมา .. ทำให้ผมต้องค้นคว้า เองทุกๆอย่าง .. ตั้งแต่

  • การเขียน Plugin บน Safari
  • การ port โปรเจคจาก windows ไปเป็น mac ด้วย C/C++
  • OpenGL บน mac
  • Objective-C
  • Tools ต่างๆ อย่าง XCode และ Interface Builder

พวกคุณอาจจะบอกว่า พี่ครับ จะไปยากอะไร ถ้าอยากรู้อะไรเกี่ยวกับ programming ก็พิมพ์ๆ หาเอาหาข้อมูลใน stackoverflow สิครับ ไม่เห็นจะยากเลยยย

แหม่ วัยรุ่น ลองนึกภาพตามนะครับ .. ย้อนไป 10 ปีก่อน ตอนนั้น Stackoverflow ยังไม่เกิดเลยครับ !!!!    วันที่ผมเริ่มเขียนบล็อกครั้งแรกคือ 18/2/2008 แต่เวป Stackoverflow เกิดเมื่อ Sep 2008 พูดง่ายๆคือ เวปผมเกิดก่อน Stackoverflow ไป 7 เดือน แล้วจะไปหาข้อมูลมาจากไหนกันละครับ

ในเมื่อข้อมูลทุกๆอย่างมันหายาก ผมเลยต้องค้นหาข้อมูลเองทั้งหมด ตั้งแต่ การใช้ XCode ( ตอนนั้นเป็น version 3 มั้ง ) อย่างการเขียน Objective-C ผมก็ต้องอ่าน manual ของ apple เองหมด เปิดอ่านมันให้หมด

เวลาที่เจอ error เหรอ .. มันจะไปถามใครได้ละครับ ก็ต้องแก้ปัญหาเอง ประเภทแบบว่า ขอตัวอย่างโค้ดนี่ยิ่งแล้วใหญ่ มันจะมีตัวอย่างโค้ดที่ไหนให้ดูครับ .. มันก็ต้องแก้เอง อ่าน document เอาเองทั้งหมด

การจะเริ่มต้นเขียน App บน Mac ด้วยการไม่มีข้อมูล อะไรใดๆ นี่มันช่างยากเย็นเหลือเกิน ยิ่งเป็นภาษาไทย มันไม่มีหรอก .. ผมเลยมีความคิดว่า ในแต่ละวันที่ผมลองนั่งทำผิดๆถูกๆ ก็น่าจะเขียนสรุป อะไรสั้นๆ ที่ได้เรียนรู้ ในแต่ละวันไว้หน่อย เผื่อว่า สักวัน คนอื่นๆ ที่เพิ่งหัดเริ่มต้นเขียน App บน Mac อาจจะเปิด มาเจอ จะได้ไม่ต้องหาข้อมูลเหนื่อยๆ แบบผม

และนั่นก็เป็นที่มาของ การกำเนิด web blog แห่งนี้

บางทีผมก็ คิดว่าโปรแกรมเมอร์สมัยนี้ สบายกว่าสมัยก่อนเยอะนะ มีทั้ง stackoverflow ให้ถาม หรือ fb group ก็เยอะมากมายให้เข้าไป หาความรู้

iOS

อย่างที่บอกไปว่า จริงๆแล้ว ตอนแรกผมคิดแค่ว่า จะเขียนเกี่ยวกับ การพัฒนา App บน Mac เท่านั้น แต่ด้วยโชคชะตา ที่ผมเริ่มเขียน Objective-C เพราะต้องการจะเขียน Plugin สำหรับ Safari มาก่อน จึงกลายเป็นโชคดีของผม เพราะว่าในปี 2008 นั่นเอง ก็เป็นปีที่กำเนิด iPhone ขึ้นมา และ สตีฟ จ๊อบ ก็บอกว่า ถ้าอยากจะเขียนแอปบน iOS ก็ต้องใช้ภาษา Objective-C มันเลยทำให้ ผมไม่ต้องเริ่มใหม่ เพราะเขียน Objective-C เป็นมาก่อน .. ใครจะไปคิดว่า Objective-C ที่ผมต้องค้นคว้าเอง เป็นภาษาที่ไม่มีคนเขียนเลย เมื่อ 10 ปีก่อน ..  มันจะกลายมาเป็นสิ่งที่ได้ใช้งานในภายภาคหน้า

และนั่นก็เป็นจุดเปลี่ยนของเวปแห่งนี้

Objective-C Books & Tutorials

หลายคนคงเข้าเวปนี้มาดู tutorials ที่ผมเขียนไว้ และก็อาจจะมาอ่าน Objective-C มันก็เลยเกิดโปรเจคเขียนหนังสือ Objective-C ขึ้นมา

จริงๆแล้ว จุดเริ่มต้นมันเกิดมาจากว่า ณ ตอนนั้น .. ผมอ่าน text ต่างประเทศ แล้วพบว่า มันเขียนละเอียดมาก ไปเจอหนังสือโปรแกรมมิ่งของอาจารย์เกาหลี เค้าก็มีหนังสือดีๆ ที่เป็นภาษาเกาหลี ซึ่งเขียนละเอียดมาก  แต่มองไปยังร้านหนังสือไทย ผมกลับเจอแต่หนังสือ programming ที่เขียนแบบ ลวกๆ ไม่มี fundamental อะไรเลยสักอย่าง  อย่างหนังสือเขียนโปรแกรมนี่ ไม่มีเล่มไหนเลย ที่อธิบายว่า เวลาไหนที่เราต้องใช้ short หรือใช้ long หรือ int  มีแต่อธิบายว่า int เป็นจำนวนเต็ม แค่นี้จริงๆนะ  แม้กระทั่ง concurrent กับ parallel หนังสือบางเล่ม ก็ยังเข้าใจผิด อธิบายผิดๆ .. ผมคิดว่าทำไมบ้านเรามันไม่มีหนังสือดีๆให้อ่านเลยว่ะ .. มีแต่หนังสือแบบฉาบฉวย คืออย่างหนังสือเขียนโปรแกรม ต่างประเทศ เค้าหนาประมาณ 800 หน้า แต่ขอไทยนี่ แค่ 200 หน้าเองมั้ง แถมมีแต่โค้ด อธิบายว่า บรรทัดนี้ทำอะไร ไม่มีบอกเหตุและผลที่ต้องเขียนแบบนี้ทั้งสิ้น

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

คือส่วนตัวผมเชื่อว่า ถ้าเรามีหนังสือดีๆ ประเทศเราจะพัฒนากว่านี้  ผมเลยตั้งใจว่า จะเขียนหนังสือสักเล่มที่เขียนเนื้อหาตั้งแต่พื้นฐาน เขียนเอาแบบละเอียดๆ เหมือน text ต่างประเทศ แล้วก็เปิดแจกฟรี  เพื่อที่ว่า .. ถ้าใครคิดจะเขียนหนังสือ เกี่ยวกับ Objective-C เค้าต้องเขียนละเอียด และดีกว่าที่ผมเขียน เพราะถ้าเขียนห่วยกว่าผม คนจะก็ไม่ซื้อ แล้วหนังสือห่วยๆ มันจะได้หมดไป คนก็จะเขียนแต่หนังสือดีๆออกมา

แต่หลังจากที่ผมเขียนเสร็จไป 1 เดือน apple ก็เล่นตลก บอกว่า เห้ยยย ตอนนี้มีภาษา Swift แล้วนะ .. Objective-C ไม่ต้องไปเขียนหร๊อออกกกก

เฟดเฟ่ …

โปรเจคเขียนหนังสือ ของผมทำเสร็จหมดแล้ว ก็เลยกลายเป็นว่า ไม่ได้ตีพิมพ์เป็นเล่ม ออกมา เพราะข้อมูลมันตกยุคไปแล้ว แต่ผมก็ไม่เสียใจนะ เพราะมันเป็นเรื่องปกติของ technology ที่มันต้องตกรุ่นเป็นธรรมดา หลังจากโปรเจคหนังสือ ต้องจบไป โปรเจคใหม่ผมก็ผุดขึ้นมาคือ เขียนหนังสือ Swift แต่ว่า ครั้งนี้ผมอยากให้ทุกคนช่วยกันเขียน ก็เลยไปเอา Swift Book ที่ Apple ได้แจกฟรี มาแปล ทำเป็นโปรเจคบน Git hub แต่ผม ก็พบความจริงว่า ตั้งแต่ทำโปรเจคนี้มา มีคน contribute นอกจากผม แค่ 1 คน โปรเจคหนังสือเขียน Swift ก็เลยหยุดไป

Swift Course

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

ก่อนที่จะทำคอร์ส Swift นี่ผมก็สำรวจตลาดอยู่นะว่า ในไทยเค้าเปิดสอน iOS หรือสอน programming เนี่ย อันไหนที่มันประสบความสำเร็จ หรืออันไหนมันเป็นเพียงแค่คอร์สแบบห่วยๆ ฉาบฉวย สอนแบบโค้ดตามอย่างเดียว ซึ่งผมก็พบว่า มันก็มีคอร์สเจ๋งๆ นะ อย่างเช่นคอร์สสอน Android ของหนูเนย Nuuneoi เค้าก็ละเอียดดีมากนะ .. แต่ว่าเค้าก็ไม่ได้สอน Java นะ .. เปิดมาก็เขียน android เลย

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

คือถ้าสอนนักเรียนที่อยากเขียน iOS แต่เขียน Swift ไม่เป็นเนี่ย ผมเชื่อว่า คนๆนั้นจะทำการ copy code โดยที่ไม่ได้เข้าใจว่าทำไมต้องเขียนแบบนี้ เรียนจบ มันไปต่อเองไม่ได้ คือไปต่อได้ก็จะแบบไปหาโค้ดจาก net ไง ไม่ได้แก้ปัญหาด้วยการเข้าใจปัญหาจริงๆ คือสอนแบบนั้นผมได้เงินนะ แต่ว่าเค้าคนนั้นจะกลายเป็นคนที่เขียน iOS แบบ copy code แล้วมันไม่สามารถพัฒนาตัวเองต่อได้  ซึ่งมันไม่ใช่สิ่งที่ผมอยากให้เป็น ดังนั้นผมก็เลยเปิดคอร์ส Swift ขึ้นมาเพื่อปูพื้นฐานก่อน .. ซึ่งหลังจากนี้ ผมจะทำคอร์ส iOS แบบเต็มๆได้สักที

ปล. ขอแทรกโฆษณา ตอนนี้ก็ยังลดราคาอยู่นะครับ ที่ UDEMY

Mechanical Keyboard

นอกจาก Objective-C และ iOS แล้ว กล้าพูดได้เต็มปากว่า เป็นเวป แรก ที่เขียน review และให้ความรู้เกี่ยวกับ Mechanical Keyboard โพสแรกที่ผมเขียนเกี่ยวนี่คือ http://macfeteria.com/2011/06/08/review-filco-majestouch-ninja-keyboard/  ถึงวันนี้ ก็นับเป็นเวลา 7 ปีแล้วนะครับ  (ปัจจุบัน keyboard filco ตัวที่เขียน review ไปก็ยังใช้งานอยู่ ถ้าใครคิดจะซื้อ mechanical ผมก็ยังแนะนำ filco นะครับ โคตรคุ้ม)

ตอนนั้นวงการ Mechanical Keyboard ในบ้านเรา ยังไม่เกิดเลยครับ คนยังไม่เข้าใจ เลยว่า red switch , blue switch มันคืออะไร ที่ผมเขียนไว้นี่ก็ด้วยเหตุผลคล้ายๆกันคือ ตอนนั้นอยากซื้อ keyboard ดีๆ ก็เลยไปหาข้อมูล ต่างๆมา แล้วก็พบโลกใหม่ ที่ชื่อ Mechanical Keyboard แต่ในไทย มันยังไม่มีข้อมูลอะไรเลย คนใช้ keyboard แบบนี้น้อยมากๆ ผมก็เลย มาเขียน บันทึกไว้ .. มันก็เลยทำให้เวปแห่งนี้เป็น ที่แรกๆ  ที่เขียนเรื่องพวกนี้ไว้ ย้อนไปเมื่อ 6-7 ปีก่อน ผมก็เชื่อว่า ถ้าหาคำว่า mechanical keyboard จะเจอเวปผมเป็นอันดับแรกๆ

ตอนนี้ mechanical keyboard ก็มีขายกันเต็มตลาด สายเกมส์ทุกๆคน ก็รู้จัก cherry switch รู้จัก keyboard มากขึ้น รวมไปถึง มีเวป , fb เกี่ยวกับ keyboard ต่างๆมากมาย  ก็นับว่าเป็นเรื่องที่ดีมากๆครับ 🙂

แต่สารภาพตรงๆ ตอนนี้ความสนใจใน mechanical keyboard ของผมมันลดลงเยอะมากเลย อาจจะเพราะหลังจากทำ keyboard แบบ PCB และ hand wire ด้วยตัวเองได้แล้ว มันก็ไม่มีอะไรตื่นเต้นแล้วมั้ง ในตลาด keyboard ในไทยตอนนี้ก็มีแต่แนว ติดไฟกระพริบ หรือสายสะสม keycap อีกทั้งหลังๆ มันเป็นของหาง่าย พวก key cap ก็ออกมาเต็มไปหมด แต่ผมหนักไปทางสาย DIY อยากจะทำเองทั้งหมด ซึ่งการทำ handwire กับบัดกรีเอง ก็ทำมาหมดแล้ว มันก็เลยไม่ค่อยตื่นเต้นกับวงการนี้เท่าไหร่ ..  จริงๆเหลืออีกอย่างที่อยากทำคือ ออกแบบ PCB ด้วยตัวเอง กัดแผ่นปริ๊นเอง อะไรแบบนั้น แต่มันใช้เวลานานไปหน่อย เลยพักโปรเจคไว้ก่อน

NO ads.

ตั้งแต่ก่อตั้งเวปผมไม่เคยติดโฆษณาเลย  ไม่ใช่ว่า ไม่มีคนติดต่อจะซื้อพื้นที่โฆษณาเข้ามานะ มันก็มีมาบ้าง แต่ผมปฎิเสธไปหมด เพราะด้วยตัว เวป มันเป็น เฉพาะทางมากๆ คนทั่วๆไปเค้าไม่เข้ามาอ่านเวปของผมหรอก จะมีก็แต่ Dev และก็ต้องเป็น Dev สาย iOS ด้วยนะ .. ถ้าคิดจะหาเงินจากโฆษณา คงได้แค่ ไม่กี่ร้อยบาท ดังนั้น จะเอาโฆษณามาติดรกหูรกตาทำไม ?  ตลอด 10 ปีมานี้ ผมก็เลยไม่ติด ads หรือรับโฆษณา อะไรเลย

ส่วน review สินค้า อย่าง mechanical keyboard นี่ก็มีเข้ามานะ แต่ว่าผมมองตัวเองว่าเป็น Dev มากกว่าจะเป็น นักรีวิว ก็เลยไม่ได้รับงาน review สินค้า

University

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

สังคม Dev  ไทยในสายตาของผม ตลอด 10 ปีที่ผ่านมา

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

ในบ้านเรามีกลุ่ม FB ทั้ง iOS และ Swift แต่ผมก็พบว่า  เราไม่ค่อยจะแชร์ อะไร หรือสอบถามอะไรกันเลย คือ คนที่แชร์เนื้อหาดีๆ ไปเจออะไรดีๆ เอามาแบ่งปัน มันก็คนเดิมๆ ซึ่งมีแค่ 2-3 คนเท่านั้น จากคนในกลุ่มมีร่วม 2 พัน คน คิดเป็น % ก็แค่ 0.1% เท่านั้น ถ้าจะเจอโพสบ่อยๆ ก็เป็นสมัครงานซะงั้น

คือมันอาจจะด้วย วัฒนธรรมการศึกษาเรามั้ง ที่เวลา อาจารย์ถามว่า มีใครสงสัยอะไรไหม .. ก็ไม่มีคนยกมือถาม .. ผมว่ากรณีนี้ก็อาจจะแบบเดียวกัน

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

แจกฟรีตลอด 10 ปี

เวปผมเน้นแจกฟรี คือการเขียนแจกฟรีเนี่ย ก็อย่างที่บอก มันไม่ได้เงินเป็นก้อนๆ หรือทำให้รวย .. แต่ว่า มันจะย้อนกลับมาในรูปแบบอื่นๆ เช่น การติดต่องาน หรือการที่มันช่วยพัฒนาทักษะด้านอื่นๆของคุณ ซึ่งผมก็ยังแนะนำให้ทุกๆคน เขียนบทความ หรือ ไป contribute โปรเจค open source กัน เพราะมันจะทำให้คุณก้าวกระโดด กว่าคนอื่น ** ถ้าอยากได้เงินเดือนเยอะๆ ผมแนะนำว่า ยิ่งต้องเขียน ต้อง contribute นะ  ไม่เกิน 3 ปี คุณจะมีเงินเดือนเพิ่มมากกว่าเดิม อย่างน้อย 2 เท่า ผมรับประกัน **

ฉะนั้น ถ้าอยากเก่ง อยากได้เงินเดือนเยอะๆ อยากมีคอนเน็กชั่น ผมแนะนำให้คุณทำอะไรสักอย่าง เพื่อคนอื่นครับ แล้วสิ่งเหล่านั้นมันจะกลับมาหาคุณเอง .. เหมือนกับที่เวลาคุณยิ้มนั่นแหละครับ ถ้าเราอยากได้รอยยิ้มจากคนอื่น เราก็ควรจะเป็นคนที่ยิ้มให้กับคนอื่นก่อน มันก็แบบเดียวกัน

ผมไม่ค่อยไปปรากฎตัวที่ไหน

อันที่จริง มันก็เป็นทั้งเรื่องดี และไม่ดีนะ คือ 10 ปีมานี้ ผมไม่ค่อยไปออกงาน อะไรพวกนี้เท่าไหร่เลย พวกคุณคงไม่ค่อยคุ้นหน้าผมเท่าไหร่ จริงไหม ?

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

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

10 ปีในวงการ iOS Dev

จนถึงวันนี้ ผมเชื่อว่า คนเขียน iOS ในไทย มีเยอะมากๆนะ คนเขียนเก่งๆ กว่าผมก็มีเยอะ เวปสอน คนสอนก็มีเต็มไปหมด (สอนมั่วก็เยอะ) มันต่างจากสมัยก่อนมากๆ  และสำหรับคนที่มาทางสาย iOS เนี่ย คุณต้องทำใจอย่างหนึ่งนะ คือมันจะเป็นสายแบบ มึงเก่ง ก็ไม่ได้มี Apple สนับสนุนอะ คือ บางทีก็แอบอิจฉา สาย android อยู่นะ เพราะว่าสายนั้น เนี่ย Google เค้าจะมีตรา GDE ประทับให้ .. คือประมาณว่า ถ้าคุณเก่ง android คุณก็รับตรา GDE นี้ไป เดินไปไหนก็ราวกับมีแสงออร่า รอบตัว .. แล้วพอมีงานประชุมอะไรเกี่ยวกับ android เค้าก็จะเชิญคุณไปพูด ไปร่วมงานฟรี ในบางกรณี ก็ไปต่างประเทศ ได้โทรศัพท์รุ่นใหม่แจกบ้างอะไรแบบนี้ .. แต่สาย iOS เนี่ย ไม่มีนะครับ .. อยากไป WWDC เหรอ ก็ต้องออกเงินเอง ซื้อบัตรเอง .. อยากได้  iPhone ใหม่เหรอ .. ไม่มีแจกนะครับ ต้องซื้อเอง .. แล้วก็งานประชุม Dev iOS ในไทยเหรอ .. แทบจะไม่มี ถ้ามีก็จัดกันเองอ่ะ  .. ไม่เหมือน android อะ มี Google จัดแทบจะทุกปี .. ในบางครั้งแจกโทรศัพท์รุ่นใหม่ฟรีด้วย ฉะนั้น ถ้าหากคุณคิดจะเป็น Dev สาย iOS  แล้วละก็ .. ต้องทำใจกับเรื่องนี้ซะนะครับ

จากนี้ทำอะไร

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

  • เขียน  compiler ด้วย swift เล่นๆสักอัน คืออันนี้เป็นโปรเจค ที่ผมอยากจะทำมานานแล้ว คือมันเกิดจาก สมัยเรียน ป.ตรี มันเรียนแล้วไม่เข้าใจ มองไม่เห็นภาพ มีแต่สอนด้วยภาพ ไม่มีการลองเขียนแบบจริงจัง .. ผมก็เลยคิดว่า อยากจะลองเขียนดู ทำความเข้าใจกับมันดู ไว้เพื่อที่ว่า นศ. หรือใครที่สนใจอาจจะเห็นภาพ ง่ายขึ้น
  • เขียน OS เล่นๆ อีกสักอัน อันนี้ก็เป็นความบ้า ส่วนตัว คือตอนนี้เราก็มีบอร์ด ราคาถูกมากมาย อย่าง raspberry pi ซึ่งผมว่า ถ้าเราลองเขียน OS เอง มันก็น่าจะทำให้เราเข้าใจพื้นฐานของคอมพิวเตอร์ มากกว่าเดิม
  • ทำครอส iOS ให้เสร็จ อันนี้ผมสัญญาไว้กับคนที่ลงเรียนคอร์ส swift ซึ่งปีที่แล้ว ผมไม่ได้ทำเลย แต่ปีนี้ผมจะเริ่มทำ
  • เขียนเรื่องเกี่ยวกับ Home Automation  อันนี้เนื่องด้วยว่า ผมกำลังสร้างบ้านใหม่ ก็อยากให้บ้านมันมีระบบพวกนี้ .. แต่หาข้อมูล มันก็ไม่เจอเหมือนเดิม มีแต่ขายของ ไม่บอกเลยว่าอะไรทำงานยังไง ก็เลยคิดว่าจะเขียนไว้ เผื่อใครสนใจ จะได้เริ่มต้นได้ถูก
  • เรื่อง IT อื่นๆ เช่น ระบบ IT ในสถาบันการศึกษาของสวีเดน เค้าทำยังไง อะไรแบบนั้น อันนี้มันเกิดจาก ผมเห็นระบบบ้านเรามันล้าหลังมากครับ เอาแค่ลงทะเบียนเรียน นี่ก็ยุ่งยากวุ่นวายชิบหาย

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

Thanks

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

และในโอกาสครบรอบ 10 ปี ผมก็จะถือโอกาสแจกของรางวัล สักหน่อยเพียงแค่ตอบคำถามว่า ก่อนที่เวป macfeteria.com จะก่อตั้งขึ้นมา

ผมเคยใช้ชื่อเวปว่าอะไร ..

1. macfeteria แบบเดิมนี่แหละ
2. bacteria
3. maccafe
4. macter
5. mcintoch

คนที่ตอบถูกจะได้ร่วมลุ้นรับรางวัล

ร่วมสนุกด้วยการตอบคำถามใน comment ที่ FB

ภายใน 28 กพ นี้นะครับ

Home Automation – Part 2 (Z-Wave)

ครั้งที่แล้ว ผมเล่าเรื่องของระบบ บ้านอัจฉริยะ smart home หรือ home automation ว่ามันแบ่งออกเป็นหลายระบบ แต่ละระบบ ก็มีข้อดี ข้อเสีย แตกต่างกันไป แล้วในที่สุดได้ตัดสินใจเลือก Z-Wave และก็ได้ทิ้งท้ายว่า แม้ว่าจะเลือก Z-Wave เพราะว่ามีอุปกรณ์รองรับมากมาย แต่ว่ามันก็มีหลายอย่างที่ต้องพิจารณา และเดี๋ยวในวันนี้ผมจะมาต่อด้วยเรื่องของ Z-Wave

What you need to know to get started with Z-Wave ?

อย่างที่ได้เคยอธิบายไปว่า Protocol ที่ใช้เชื่อมต่อ Home Automation มีหลายโปรโตคอล ซึ่งในแต่ละโปรโตคอล จะมีอุปกรณ์ที่จำเป็นต้องใช้งาน แตกต่างกัน ซึ่งโปรโตคอลที่นิยมอย่าง Zigbee หรือ Z-Wave จะมีอุปกรณ์ 2 ประเภทที่ต้องใช้คือ

  • อุปกรณ์ควบคุม หรือเรียกว่า Z-Wave Controller
  • อุปกรณ์ไฟฟ้าที่รองรับ Z-Wave หรือเราอาจจะเรียกว่า Z-Wave Devices

สำหรับอุปกรณ์ตัวแรก Z-Wave Controller จะเป็นอุปกรณ์ที่ใช้ในการ ควบคุม ซึ่งอาจจะเป็น Z-Wave Remote Control ที่หน้าตาเหมือนๆกับรีโมทอันเล็กๆ เพื่อเอาไว้ควบคุมอุปกรณ์ต่างๆ อย่าง สวิตช์ไฟ  หรือ ปลั๊กไฟ

ส่วนอย่างที่สอง Z-Wave Devices มันก็คือ อุปกรณ์ไฟฟ้าที่รองรับสัญญาณ Z-Wave เช่น หลอด LED

Z-Wave Devices

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

In-wall Switch (สวิตช์เปิดปิดไฟแบบฝังผนัง )

อย่างแรกที่เราจะต้องพิจารณา เมื่อเลือกสวิตซ์เปิดปิดไฟแบบฝังผนัง ก็คือกระแสไฟฟ้า (Voltage) อันที่จริงแล้วถ้าหากเราซื้อสวิตซ์ไฟแบบธรรมดา ประเด็นนี้เราไม่ต้องพิจารณาเลย เพราะก็รู้กันอยู่แล้วว่าสวิตซ์ไฟที่ขายในไทยนั้นทำมาสำหรับกระแสไฟฟ้า 220V แต่เนื่องจากเราไม่สามารถหาสวิตซ์ไฟที่มี Z-Wave ในไทยได้ ก็ต้องสั่งจากเวป ซึ่งเวปที่ผมมักจะใช้อยู่บ่อยๆก็คือ Amazon  และหากเราไปค้นดูสวิตซ์ไฟก็จะพบว่ามีให้เลือกหลายยี่ห้อมากมาย อย่างเช่น ยี่ห้อ GE หรือ Lutron แต่ปัญหาหลักของมันก็คือรองรับกระแสไฟฟ้าแค่ 110V เท่านั้น ไม่สามารถใช้กับกระแส 220V ในไทยได้

ดังนั้นแล้วการซื้ออุปกรณ์ไฟฟ้าต่างๆในเวป Amazon US นั้นแทบจะเป็นไปไม่ได้เลย เพราะมันมีแต่อุปกรณ์ที่ใช้ไฟฟ้า 110V ทั้งนั้น

ทำไงละ ?

เนื่องจากในประเทศไทยใช้ไฟฟ้าที่ 220V , 50 Hz. ซึ่งมันจะใช้กระไฟฟ้าคล้ายกับยุโรปคือ 230V, 50 Hz  ดังนั้นอุปกรณ์ไฟฟ้าจากไทย กับ ยุโรป จะใช้ร่วมกันได้ ทางออกของผมก็คือ ซื้อสั่งซื้อสวิตช์ไฟฝังผนังจาก ยุโรป ก็น่าจะสามารถใช้งานได้แล้ว .. แต่ว่า ..

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

ในประเทศไทยใช้ขนาดประมาณ 11 x 7 CM เป็นสี่เหลี่ยมผืนผ้า เช่นดังรูป

ส่วนประเทศทางยุโรปอย่างสวีเดน สวิตช์ไฟฝังผนัง ที่ใช้กันคือขนาด 8 x 8 CM. ในลักษณะสี่เหลี่ยมจตุรัส

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

ซื้อ Z-Wave Module  เอามาต่อกับสวิตช์ตัวเดิมในบ้าน ซึ่งวิธีการนี้ เราไม่ต้องไปเจาะผนังบ้านใหม่ แต่ว่า เราต้องแน่ใจว่า ขนาดของกล่องสวิตช์ไฟเรานั้น ใหญ่พอที่จะรองรับ Z-Wave Module

สำหรับ Z-Wave Module นั้นก็มีหลายยี่ห้อให้เลือกใช้ อย่างเช่น Fibaro Z-Wave Module หรือ Aeotec Nano Switch  ซึ่งมันจะเป็นอุปกรณ์ที่เอามาต่อเข้ากับสวิตซ์ไฟที่มีอยู่แล้ว เพื่อให้สวิตซ์ไฟสามารถเปิดปิดได้ด้วย Z-Wave

ปัญหาเรื่องของ ขนาดสวิตซ์ไฟ และกระแสไฟฟ้า ก็น่าจะจบแล้ว แต่ว่าสิ่งที่ต้องพิจารณาเพิ่มมันก็ยังไม่จบ (ห๊ะ อะไรนะ !! ยังไม่จบ ?) .. ใช่ครับมันยังไม่จบ และถึงตรงนี้ ผมจะขอพักเบรกไว้ก่อน เดี๋ยวมาต่อ ว่าทำไม แค่สวิตซ์ไฟง่ายๆแค่นี้ มันทำมันดูยุ่งยากจัง

Hub

แม้ว่าเราจะใช้ Z-Wave Remote Control เพื่อควบคุมอุปกรณ์ในบ้านได้ แต่มันก็ไม่ได้ฉลาดมากนัก เพราะ Z-Wave Remote นั้นมันก็เหมือนๆกับ Remote ทั่วๆไป ที่อาจจะทำหน้าที่แค่เปิดหรือปิด อุปกรณ์นั้นๆ ซึ่งถ้าหากเราต้องการจะความคุมอุปกรณ์ต่างๆ ผ่าน Internet นั้น มันต้องมีอุปกรณ์เสริมเข้ามา นั่นก็คือ Hub

Hub นั้นมันก็คือ Z-Wave Controller แบบหนึ่งที่ใช้สำหรับควบคุมอุปกรณ์ต่างๆที่รองรับ Z-Wave เหมือนกับ Remote และที่มากไปกว่านั้นคือมันทำหน้าที่เป็นตัวเชื่อมต่อระหว่าง internet กับ อุปกรณ์เหล่านี้ รวมไปถึงเป็นสมองของระบบ Home Automation ซึ่งโดยทั่วไปแล้ว บริษัทที่ทำอุปกรณ์ไฟฟ้า Z-Wave ก็มักจะทำ remote , แผงควบคุม หรือ hub ออกมาเป็นของตัวเอง อย่างเช่นบริษัท Firabo นี่ก็ทำปลั๊กไฟ, เซ็นเซอร์, กันขโมย แล้วก็มี hub ของตัวเองอย่างเช่น Home Center

ดังนั้นแล้ว Z-Wave Hub นั้นถือเป็นอุปกรณ์ที่สำคัญมากสำหรับการทำ Home Automation เพราะถ้าขาดสิ่งนี้ไป ก็เหมือนกับบ้านทั่วๆไปที่มีรีโมทเปิดปิดแอร์ ปิดทีวี อะไรทำนองนั้น ฉะนั้นการเลือก Hub เพื่อมาใช้งานนั้นเป็นสิ่งสำคัญไม่น้อยไปกว่าการเลือกซื้ออุปกรณ์ไฟฟ้าเลย

นอกจากบริษัทที่ผลิตอุปกรณ์ไฟฟ้าที่รองรับ Z-Wave จะผลิตตัว  Hub ของตัวเองแล้ว ก็ยังมีอีกหลายบริษัทที่ผลิตแต่ Hub ออกมาจำหน่ายโดยเฉพาะ อย่างเช่น

ขอพูดถึง Hub จากสองเจ้านี้เพิ่มอีกสักหน่อย

Wink VS Smartthings

คือในโลกของ Home Automation ผลิตภัณฑ์จากสองบริษัทนี้ แทบจะเป็นสิ่งที่จะต้องมีแทบจะทุกบ้าน เพราะมันอำนวยความสะดวกต่างๆหลายอย่าง ในการต่อไฟเข้ากับ Hub สองตัวนี้จะใช้ไฟผ่านอแดปเตอร์แปลงไฟเป็นกระแสตรงเหมือนกับโน๊ตบุ๊ค หรือ iPhone นั่นแหละ ไม่ต้องต่อกับไฟฟ้ากระแสสลับตรงๆ ดังนั้นเราไม่ต้องห่วงเรื่อง Voltage ของไฟฟ้า

โดยทั่วไป Hub ไม่ว่าเจ้าไหนๆ (รวมถึง Fibaro) จะมี Mobile App ให้ใช้งาน และเราก็จะสามารถใช้ App เพื่อควบคุมอุปกรณ์ต่างๆภายในบ้านได้ สำหรับสองตัวนี้ก็เช่นกัน มี Mobile App มาให้ใช้เช่นเดียวกัน หน้าตาก็ประมาณในรูป

 

และนอกไปจากนี้เราสามารถเชื่อมต่อกับ Alexa ของ Amazon ได้ นั่นหมายถึงว่า เราสามารถสั่งงานด้วยเสียงผ่านทาง Alexa ได้ (ณ เวลาที่เขียนบทความนี้ ทำได้เฉพาะภาษาอังกฤษ)

Hub ทั้งสองรุ่นรองรับโปรโตคอล Z-Wave และ Zigbee ในอุปกรณ์เดียวกัน ไม่ได้จำกัดแค่ Z-Wave เพียงอย่างเดียว คือถ้าหากใครใช้ Zigbee ก็ยังสามารถซื้อมาใช้งานได้เช่นเดียวกัน

จากที่หาข้อมูลมา ผมสนใจตัว Wink Hub มากกว่า Smartthings เพราะว่า ตัว Mobile App นั้นมี User Interface ที่มันใช้งานง่ายกว่า

แต่ Smartthings นั้นจะมีแบตเตอรี่คอย backup ข้อมูล และมี community ที่ใหญ่กว่า wink มาก ส่วนหนึ่งก็เพราะว่า smartthings นั้นอนุญาติให้ custom module เองได้

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

Z-Wave Frequency

พอหาข้อมูลเพิ่มเติมเรื่องของ Z-Wave แล้ว ก็พบว่า อุปกรณ์ Z-Wave ที่ใช้ในแต่ละประเทศนั้นใช้ช่วงของคลื่นสัญญาณ ไม่เท่ากัน กล่าวคือ

  • อเมริกา 908.42 MHz
  • ยุโรป 868.42 MHz

นั่นหมายถึงว่า ถ้าผมซื้ออุปกรณ์ที่ผลิตและใช้ใน us อย่าง wink เนี่ย มันจะเป็นความถี่ 908.42 MHz

หลายคนอาจจะคิดในใจว่า แล้วคลื่นความถี่มันมีผลยังไงอ่ะ ? ซื้อในอเมริกาก็ใช้คลื่น 908 ถ้าซื้อในยุโรปก็ 868 แค่นั้น ไม่น่าจะต้องคิดอะไรเยอะ .. เอาละครับ งั้นจากเรื่องที่ผมเบรกไว้ก่อนหน้านี้ เราขอย้อนกลับมาเรื่องของสวิตซ์ไฟอีกรอบ

จำได้ไหมครับ ว่าผมเล่าว่า เนื่องจาก ผมต้องหาอุปกรณ์ ที่รองรับกระแสไฟฟ้า 220V ซึ่งมันก็จะมีแต่อุปกรณ์จากยุโรป ดังนั้น หากซื้ออุปกรณ์จากยุโรป เราก็จะได้ใช้ Z-Wave ที่ความถี่ 868.42 MHz

และนี่ก็คือตัวปัญหาที่ใหญ่มาก เพราะว่าถ้าหากซื้อ Wink จาก US มา จะไม่สามารถใช้งานร่วมกับ Z-Wave Module จากยุโรปได้ เนื่องจากคลื่นความถี่ไม่เท่ากัน … Onz โอ้ววววว โน้วววววววววววว

ดังนั้นโครงการที่จะซื้อ Wink มาใช้งาน ก็ต้องพับไป ผมจึงลองไปดู Smartthing ใน Amazon แต่ก็พบว่า มันใช้ความถี่ 908.42 MHz เช่นเดียวกัน (เนื่องจากขายใน US) ความหวังที่จะใช้ Z-Wave ก็แทบจะพังทลาย อุตส่าห์คิดว่าแก้ปัญหาเรื่อง Voltage และขนาดกล่องไฟได้ กลับต้องมาตายเรื่อง Hub แค่นี้จริงๆนะเหรอ .. ก็นั่งคิดอยู่หลายวันว่า ซื้อ Zigbee มาใช้แทนดีไหม ก็ลองๆค้นข้อมูลดูอีก 2-3 วันแล้วก็ Bingo

ผมพบว่าล่าสุดทางซัมซุง smartthing ได้เปิดขายที่อังกฤษ ก็เลยเข้าไปดูรายละเอียด ก็พบว่า เห้ยยยยย มีขายและใช้คลื่น 868.42 MHz ด้วย ก็เลยสั่งซื้อ Smartthings จาก Amazon UK มา พร้อมกับซื้อ Firabo Z-Wave Module มาเพื่อจะเอามาต่อกับสวิตซ์ไฟที่บ้าน

ในที่สุดปัญหาทั้งหลายก็แก้ไขได้

เล่ามาซะเยอะ สรุปให้ง่ายๆ ก็แล้วกันคือ

  • US ใช้ความถี่ 908.42 MHz
  • Europe ใช้ความถี่ 868.42 MHz
  • ความถี่ไม่เหมือนกัน ใช้งานด้วยกันไม่ได้
  • ใน US ใช้ไฟ 110V
  • ในยุโรปใช้ไฟฟ้า 230V
  • เนื่องจากไทยใช้ไฟฟ้า 220V เราจึงต้องซื้ออุปกรณ์ไฟฟ้า เช่นสวิตซ์ไฟจากยุโรป เพราะทางนั้นใช้ไฟใกล้ๆกับบ้านเรา นั่นก็หมายถึงว่า เราต้องใช้ความถี่ 868.42 MHz ไปโดยปริยาย
  • แต่ถ้าจะซื้อสวิตซ์เปิดปิดหลอดไฟ จากยุโรป ก็จะติดปัญหาเรื่องขนาดของกล่องไฟ หากซื้อพวก Z-Wave Module มาต่อกับสวิตซ์เดิมน่าจะดีกว่า ไม่อย่างนั้นก็ต้องซื้อกล่องไฟมาจากยุโรปด้วย
  • เมื่อใช้คลื่นเดียวกับทางยุโรป หากจะซื้อ Hub ก็ต้องหาที่มันใช้คลื่นเดียวกันกับทางยุโรป

นั่นแหละครับ ที่เขียนๆมา จากการค้นคว้าหลายวัน และลองผิดถูกหลายๆอย่าง เกือบจะซื้อของผิดก็หลายที มาเขียนเล่าให้ฟังก็น่าจะพอเป็นข้อมูลให้ผู้ที่จะสนใจติดตั้ง Z-Wave มือใหม่ ไม่ต้องซื้อของผิดมาใช้นะครับ 🙂

ก่อนจากกันขอทิ้งท้ายไว้หน่อยเกี่ยวกับความถี่ Z-Wave ในไทย

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

ไว้คราวหน้าเดี๋ยวจะมาเขียน ตอนที่ 3 ต่อ

Home Automation : Part 1

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

ผมว่าเปลี่ยนใหม่ดีกว่า ถ้าหากเราเรียกมันใหม่ด้วยภาษาที่ไม่ได้ฟังเวอร์วังอลังการ มันควรจะใช้คำว่า Home Automation หรือ ระบบบ้านอัตโนมัติ น่าจะดูตรง และสื่อความหมาย มากกว่าที่จะใช้คำว่า Smart Home แล้วมาเรียกเป็นภาษาไทยแบบเท่ๆว่า บ้านอัจฉริยะ นี่ถ้าเติม 4.0 ไปก็คงจะดู digital เข้ากับสมัยนี้มาก :p

เข้าเรื่องเลยดีกว่า คือพอดีว่าผมกำลังซื้อบ้านใหม่ และด้วยความที่ผมก็คุ้นเคยกับ Embedded System , IOT แล้วก็พวก Mobile App มาบ้าง ก็เลยสนใจอยากทำระบบ ควบคุม ต่างๆภายในบ้าน ด้วยมือถือดูบ้าง เผื่อว่าวันหนึ่งอยู่ต่างประเทศ อยากจะเปิดไฟรอบบ้านเพื่อเพิ่มความปลอดภัย หรือ ลืมรดน้ำต้นไม้ก็สั่งให้มัน รดน้ำเอง รวมไปถึงระบบกล้อง CCTV กันขโมย อะไรแบบนั้น ผมเลยเริ่มต้นลองหาข้อมูลในกูเกิ้ลศึกษาดู แต่ก็พบว่า ข้อมูลภาษาไทย หรือเวปไทยนั้น มีข้อมูลน้อยมากๆ คือ เวลาที่หาข้อมูลเนี่ย พวกเวป Smart Home ในไทยก็มีหลายเวปนะ แต่ว่า ขายของกันอย่างเดียว ประมาณว่า อยากได้แบบนั้น แบบนี้ ก็โทรสอบถามที่บริษัท เสร็จแล้วเค้าก็คิดราคามาให้ อะไรทำนองนั้น หรือไม่ก็มีเป็นคลิป demo ให้ดูว่า เออ อุปกรณ์มันเชื่อมต่อกับมือถือได้ เปิด ปิด ไฟได้ โดยที่เราก็ยังไม่ได้รู้เลยว่าหลักการทำงานยังไง ใช้ระบบอะไร เกิดอยากจะซื้ออุปกรณ์มาเพิ่มมันเชื่อมต่อกันได้ไหม และสุดท้ายที่ผมจะเจอบ่อยก็คือ เวปโปรเจคของทาง Arduino  หรือ Raberrry Pi ทำเป็นโครงงาน ต้องซื้ออุปกรณ์เสริม มาบัดกรี ทำวงจร เขียนโปรแกรม ปิดเปิดไฟ อะไรทำนองนั้น ซึ่งดูแล้วมันออกไปทางโครงงานทดลองมากกว่า ยังไม่เห็นว่ามีใครเอาไปใช้งานจริงจัง แบบติดทั้งบ้าน ผมก็ไม่แน่ใจว่าถ้าเอามันมาใช้งานแบบจริงจัง มันจะโอเคไหม ? เสียแล้ว ซ่อมยังไง อะไรแบบนั้น อันที่จริงมันก็พอจะมีเวปที่อธิบายเรื่องพวกนี้บ้าง ในเชิงของวิชาการ แต่มันทาง IOT กับไฟฟ้าซะเยอะมาก อธิบายแบบหลักการไฟฟ้า ซึ่งคนทั่วๆไป  หรือแม้กระทั่งคน IT เองก็ไม่น่าจะเข้าใจได้ง่ายสักเท่าไหร่

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

Home Automation

เล่าให้ฟังแบบเบสิกจาก Fundamental กันก่อนละกันว่า  Home Automation หรือ Smart Home ? เนี่ยมันคืออะไร

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

ในโลกของ Home Automation นั้นมีบริษัทผู้ผลิตอุปกรณ์ไฟฟ้าต่างๆมากมาย เช่น หลอดไฟ ,สวิตช์  ปลั๊ก เซ็นเซอร์ต่างๆ ซึ่งบริษัทต่างๆเหล่านี้ได้ร่วมมือกันก่อตั้งเป็นกลุ่ม (เรียกว่า Alliance) และกำหนด มาตรฐานต่างๆที่ใช้ในการ เชื่อมต่ออุปกรณ์ต่างๆเข้าด้วยกัน หรือที่เรียกว่า Protocol ซึ่งมันก็มีหลายมาตรฐาน เพราะแต่ละบริษัทก็ร่วมมือกันตั้งกลุ่มของตัวเอง มันก็คล้ายๆกับ ไฟฟ้า นั่นแหละครับ บางประเทศใช้ 220V บางประเทศใช้ 110V  หรืออย่างปลั๊กไฟ ถ้าหากไปยุโรปก็ใช้ปลั๊กแบบหัวกลม สามขา ถ้าเป็นที่อังกฤษ ก็อีกแบบ ญี่ปุ่น ไทย ก็ใช้ขาแบนสองขา  ถ้าหากเอาอุปกรณ์ที่มีขา ไม่เหมือนเต้ารับ มันก็ใช้กันไม่ได้ อะไรแบบนั้น เช่นเดียวกัน Home Automation มันก็ต้องมีการกำหนดวิธีการเชื่อมต่ออุปกรณ์ต่างๆ เช่นเดียวกัน

Protocol

จากการค้นข้อมูลมา พอจะสรุปได้ว่า Protocol ที่เค้าใช้กันก็จะมีหลักๆคือ

  • WiFi
  • Zigbee
  • Apple HomeKit
  • Z-Wave
  • X10
  • อื่นๆ (Insteon, Bluetooth, Thread)

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

ก่อนที่จะไปดูแต่ละอัน ลองคิดกันเล่นๆครับว่า ถ้าเดาจากชื่อเลย เนี่ย พวกคุณจะใช้อะไร ?

เดาว่า ก็น่าจะเป็น WiFi ใช่ไหมครับ ?

WiFi

ผมก็เหมือนๆกับคนทั่วๆไปแหละครับ ที่เวลาคิดเรื่อง ระบบความคุมในบ้าน ผ่านมือถือ นี่คงคิดเรื่อง ระบบ WiFi ก่อน เพราะว่าเราคุ้นเคยกับสัญญาณ แบบนี้อยู่แล้ว  ถ้าหากลองค้นหา คำว่า “ควบคุมไฟผ่านมือถือ” ใน Google  เนี่ยจะเจอเวปเกี่ยวกับโปรเจค Arduino หรือ Raspberry Pi ควบคุมไฟ มากมาย ซึ่งโปรเจคเหล่านี้มักจะเป็นการควบคุมผ่านทาง  WiFi แทบทั้งสิ้น คือประมาณว่า เอา Raspberry Pi ต่อ WiFi แล้วก็มี บอร์ด ความคุมไฟ จากนั้นเราก็สั่งงานผ่านตัว Raspberry อีกที อะไรทำนองนี้

แต่ว่า จริงๆแล้วระบบนี้ มันไม่ค่อยได้รับความนิยม เท่าไหร่นะครับ ว่ากันตามตรง ถ้าหากลองไปหาอุปกรณ์ไฟฟ้าง่ายๆ อย่างสวิชต์ไฟ เนี่ยจะเจอแบบที่ใช้ WiFi เนี่ยน้อยมาก หรือ ถ้าเจอ ก็อาจจะเจอยี่ห้อแบรนด์ไม่คุ้นชื่อจากจีน ถ้าจะมีของที่เป็น แบรนด์ดังหน่อย ก็จะมีของ Belkin ที่ทำออกมา อย่าง Belkin WeMo นี่ก็ใช้สัญญาณ WiFi แต่ผู้ผลิตเครื่องใช้ไฟฟ้าคนอื่นๆ เนี่ย ไม่ได้ใช้กันเลย

ตามที่ผมค้นเจอในเวป ก็พอจะมีบริษัทในไทย  ที่ทำอุปกรณ์พวก Home Automation (แบบ SME) อยู่บ้างนะครับ ซึ่งแทบจะทั้งหมด จะใช้สัญญาณแบบ Wifi หมดเลย ส่วนหนึ่งเพราะว่ามันทำง่าย มีบอร์ดราคาถูกให้ลองทำเล่นกัน ก็เลยไม่แปลกใจที่มีโปรเจคอย่าง Raberry Pi หรือ Arduino เต็มไปหมด แม้ว่ามันจะพัฒนาง่าย ทำเองก็ได้ แต่ปัญหาของ  Wifi คือ เมื่อเราเชื่อมต่อ อุปกรณ์หลายตัว มันจะตอบสนอง (response) ช้าลง และการใช้สัญญาณ  WiFi เนี่ยมันใช้พลังงานมากในการส่งและรับสัญญาณ ซึ่งแทบจะเป็นไปไม่ได้เลยที่จะพัฒนาอุปกรณ์ที่ใช้ถ่านไฟฉายหนึ่งก้อน แล้วให้มันทำงานอยู่ได้สัก 1 ปี เพราะอย่างที่บอกไปว่ามันกินไฟ ผมไม่ได้บอกว่า อุปกรณ์ที่ใช้สัญญาณนี้มันไม่ดีนะ เพียงแต่มันไม่ได้รับความนิยมจากปัญหาที่ผมบอกไป

Apple HomeKit

สำหรับ แอปเปิ้ลโฮมคิท นั้น เปิดตัวมาได้ 2-3 ปีแล้ว ตัวของ Apple HomeKit นั้นใช้  Wifi ร่วมกับ Bluetooth ข้อเสียหลักๆ มันก็เหมือนๆกับ Wifi นั่นแหละครับ แถมมันผูกไว้กับ Apple เจ้าเดียว แล้วก็อุปกรณ์ต่างๆที่ออกมารองรับ ก็น้อยมากๆ เมื่อเทียบกับเจ้าอื่นๆ ในส่วนข้อดีของ Apple HomeKit คือ มันสามารถเชื่อมต่อกับ Siri ได้ แล้วก็ควบคุมอุปกรณ์ผ่านทาง iOS ได้โดยตรง ซึ่งถ้าหากที่บ้านมีทั้ง Apple TV , iPhone , iPad , Apple Watch เป็นสาวกเต็มตัวขนาดนี้แล้ว ก็อาจจะเป็นทางเลือกที่ดี

X10 (RF 433)

สำหรับโปรโตคอลแบบนี้ถือว่าค่อนข้างเก่า เพราะเกิดมานานแล้ว ตั้งแต่ปี 1975 หลักการของมันก็คือใช้สัญญาณ วิทยุความถี่ RF 433 เป็นตัวส่งสัญญาณ คืออะไรก็ตามที่ผมเห็นว่ามันใช้คลื่น 433 นี่ขอรวมเอาไว้ในหมวดนี้หมดเลยละกัน แม้ว่าบางอันอาจจะไม่ได้ใช้ Protocol X10 ก็ตาม พวกโครงงาน Raspberry Pi หรือ Arduino ก็นิยมนำมาใช้เหมือนกัน ข้อดีของมันคือ อุปกรณ์ส่วนมากจะราคาถูก แต่เนื่องจากความถี่ย่านนี้ ค่อนข้างต่ำ มันจึงถูกรบกวนได้ง่าย (มี noise ในสัญญาณเยอะ) และไม่ค่อยเสถียร นอกจากนี้ปัญหาหลักๆของ X10 คือมันช้ากว่าโปรโตคอลอื่นๆ และไม่มีการ encryption ข้อมูลเลย เหมือนๆกับ remote รถยนต์ ,ทีวี ,แอร์นั่นแหละครับ  ไม่มีการเข้ารหัสข้อมูล ซึ่งเราอาจจะไปเอารีโมทบ้านข้างๆ มาเปิดแอร์ บ้านเราได้ ซึ่งอันนี้ก็แบบเดียวกัน และอุปกรณ์ใหม่ๆที่รองรับ  X10 นั้นก็มีให้เห็นบ้าง ซึ่งมักจะเป็นอุปกรณ์จากจีน ดังเช่น BROADLINK , SONOFF (เจ้านี้ทำ Wifi ด้วย)

หรืออย่างของไทย ก็มี GRATIA (เข้าไปดูในเวปก็เห็นทำให้หมู่บ้านดังๆ หลายเจ้าอยู่ ขอนอกเรื่องนิดหนึ่ง ถ้าเข้าไปดูในเวป

นี่ผมเห็นบางหน้ามี แฝง Google Ad-sense อยู่ด้วย ไม่แน่ใจว่า ฝังเอง หรือว่าคนทำเวปแอบเนียนใส่มาให้)

Zigbee

Zigbee ออกมาตามมาตรฐานของ IEEE 802.15.4 ใช้ความถี่ที่ 915 MHz หรือใช้ความถี่ 2.4 GHz (ความถี่เดียวกับ Wifi) โปรโตคอล Zigbee นี้มีการเข้ารหัสด้วย AES128 และในปัจจุบันคือ version 3 มันได้ถูกออกแบบมาสำหรับ Home Automation ตั้งแต่แรก ดังนั้นมันจึงใช้พลังงานต่ำ และมีการทำงานเป็นลักษณะเครือข่าย mesh คือมันจะเชื่อมต่ออุปกรณ์ใกล้ๆตัวได้มากกว่า 1 อย่าง แล้วเมื่อมีการส่งสัญญาณ อุปกรณ์ต่างๆก็จะคอยทวนสัญญาณ กันไปเป็นทอดๆ และเนื่องจากมันมีการเข้ารหัส ก็ไม่ต้องกังวลใจในระดับหนึ่งว่าจะมีใครแอบมาเปิด อุปกรณ์ไฟฟ้าของคุณหรือเปล่า

ซึ่งเจ้าใหญ่ๆที่ทำก็จะมี LG, Logitech, Samsung รวมไปถึง Philips อย่างเช่น  Philips Hue lights ถ้าสังเกตดูจะเห็นว่า บริษัทส่วนมากจะมาทาง เอเชียกันหมดเลย ส่วนบริษัทคอมพิวเตอร์จากจีนที่หันมาทำอุปกรณ์ ที่เราพอจะคุ้นกับชื่อ ก็จะมี Xiomi ซึ่งก็ได้ทำ Xiomi Aquar Switch ออกมา รวมไปถึงลำโพงสั่งงานด้วยเสียง (ภาษาจีน) ข้อเสียเท่าที่ผมหาข้อมูลมาได้ก็คือ อุปกรณ์ที่ต่างยี่ห้อกัน มักจะทำงานร่วมกันไม่ค่อยราบลื่น หรือใช้กันไม่ได้ (ซึ่งผมก็ไม่เคยใช้ เลยบอกไม่ได้เหมือนกันว่าจริงหรือเปล่า)

Z-Wave

ตัวนี้ก็ออกมาตามมาตรฐานของ IEEE เช่นเดียวกันกับ Zigbee มีการเข้ารหัสเช่นเดียวกัน ได้ออกแบบมาสำหรับ Home Automation เหมือนกันดังนั้นมันจึงกินไฟน้อย และ Z-Wave ก็มีการทำงานเป็น mesh network เช่นเดียวกัน มันใช้ความถี่ในช่วง 800-900 MHz โปรโตรคอลนี้พัฒนามาตั้งแต่ปี 2001 ซึ่ง ณ ตอนนี้ ก็ได้พัฒนามาเป็น Z-Wave Plus เนื่องจากโปรโตคอลนี้มีบริษัทใหญ่ๆ สนับสนุน เป็นจำนวนมาก อย่างเช่น GE Electronic , Samsung , Honeywell, Bosh, Belkin  ดังนั้น มันจึงมีอุปกรณ์รองรับมากมาย เมื่อเทียบกับโปรโตคอลอื่นๆ

Insteon, Bluetooth, Thread

สำหรับโปรโตรคอลอื่นๆก็มีหลายอย่างครับ เช่น Insteon แต่อุปรกรณ์รองรับน้อย หรืออย่าง Thread นี้ก็พัฒนามาจาก Google อุปกรณ์ที่ใช้งานก็จะมี แต่ของ Nest (ถูก Google ซื้อไป) หรือ อย่าง Bluetooth นี่ก็ไม่ค่อยมีคนใช้ทำ Home Automation สักเท่าไหร่

What’s next ?

เราต้องกังวลไหม กับการเลือก โปรโตคอล จริงๆมันก็ไม่มีคำตอบตายตัวนะครับว่า จะใช้อะไร ถ้าเป็นสาวก Apple เลือกใช้ HomeKit ก็อาจจะโอเค ถ้าอยากเชื่อมต่อกับอุปกรณ์อื่นๆ อย่างเช่น sensor หลายอย่าง ก็อาจจะเลือกเอา zigbee , z-wave หรือถ้ามีงบน้อย หันไปมอง RF433 ก็อาจจะโอเค หรือถ้ามาสาย Hack อยากทำเอง ก็ลองหา Rasberry Pi , Arduino มาต่อเองทำให้มันควบคุมผ่าน Wifi ก็ได้ แล้วแต่ต้องการเลย

จากที่เล่าให้ฟังทั้งหมดนั้น ตัวผมเอง ตัดสินใจเลือกใช้ Z-Wave ด้วยเหตุผลคือ มีผู้ผลิตเครื่องใช้ไฟฟ้าทำอุปกรณ์รองรับเป็นจำนวนมาก คือผมไม่ได้ต้องการแค่ควบคุมไฟ แต่อยากจะเชื่อมต่อพวก sensor อื่นๆ ด้วย การใช้ Z-Wave น่าจะเหมาะสมสุดละ  แต่เดี๋ยวไว้ Blog หน้า ผมจะมาเล่าให้ฟังว่า เห้ยยย มันไม่ได้ง่ายเลย กว่าที่จะมาเขียนๆ และสรุปให้ฟัง และแม้ว่าผมจะเลือก Z-Wave ที่มีอุปกรณ์หลายอย่างสุด แต่มันก็ยังเจอปัญหา  เดี๋ยวมาเล่าให้ฟังในครั้งหน้า ว่าผมเจออะไรมาบ้าง (ไม่ได้น่ากลัวหรอก แต่มันทำเอาผมสับสนอยู่หลายวัน)

Vapor

ไม่ได้เขียน blog ทาง  technical หลายเดือน เพราะในช่วงนี้ผมต้องเขียน api backend  สำหรับ mobile app ตัวหนึ่ง หลังจากการลองผิด ลองถูกอยู่นาน ก็เลยเลือกเขียนด้วย Vapor และบทความนี้ ผมคงไม่ได้เขียน tutorial การใช้ vapor อย่างเช่นให้แสดง Hello world อะไรง่ายๆแบบนั้น แต่ผมจะมาเล่าให้ฟังถึง ปัญหา , สิ่งที่เจอ , feature ต่างๆจากที่ได้ลองเขียน Vapor มาประมาณเดือนหนึ่ง

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

คือในช่วงหลายเดือนที่ผ่านมา ผมได้ทำโปรเจคอยู่ตัวหนึ่ง ซึ่งเป็นโปรเจคใหญ่ที่ประกอบไปด้วยโปรเจคย่อยๆสามอย่างหลักๆด้วยกันคือ อย่างแรกเป็น api backend ทำหน้าที่เป็นตัว core service หลัก ในส่วนต่อมาคือ web front end  และสุดท้ายคือ mobile app ซึ่งสองตัวหลังนี้จะเชื่อมต่อไปยัง api backend ตัวเดียวกัน

ในช่วงที่เริ่มโปรเจค ด้วยความที่ไม่เคยทำ backend มาก่อน จึงได้ตัดสินใจเลือกที่จะใช้ Go Language ตามคำแนะนำของเหล่าทวยเทพ และเหล่า Gopher เซียน backend ว่ามัน เจ๋งงงง สุดยอด .. ดีกว่า  NodeJS, เป็น type safty, ทำงานได้เร็วมาก, concurrency เจ๋งๆ,  blah blah ๆ ชาบู Google อะไรก็ว่ากันไป

ด้วยความที่ไม่เคยเขียน Go มาก่อน ก็ต้องมาเริ่มต้นเขียน  Go และเรียนรู้ คอนเซ็ปของ Go อย่างเช่น go pointer ที่ไม่เหมือน c pointer หรือการที่มันเป็น paradigm แบบ structure ไม่ใช่แบบ OOP ที่คุ้นเคย รวมไปถึงสไตล์การเขียนอะไรย่อๆ อย่างชื่อตัวแปร ตามสไตล์ Go ซึ่งมันขัดกับสาย Swift ที่ชอบเขียนชื่อยาวๆ (แอบ แซะไปเยอะ 555+) จะอะไรก็ตาม นั่นไม่ใช่ปัญหาใหญ่สำหรับผม เพราะผมเรียนรู้มันได้

แต่ปัญหาหลักๆที่ผมเจอคือ ปริมาณงานที่ต้องทำมันเยอะมาก .. มันทำไม่ทัน เมื่อมันทำไม่ทันดังนั้น ผมจึงตัดสินใจที่จะหา Developer และ Freelance เพิ่ม แต่ปัญหาที่ใหญ่มากคือ .. คนที่เขียน Go มีน้อยมากกกกก ย้ำว่า น้อยยยยมาก  ในระยะเวลกลายเป็นว่า โปรเจคมันดีเลย์ไปหลายเดือนมาก เพราะคนไม่พอ จะไปจ้างคนเขียน ก็หาคนยากมากกก นี่ผมใช้เวลาไป 3 เดือน ยังไม่ได้ซักคน

ทำไงดีละ ?

อย่างที่บอกไปคือ โปรเจคมันทั้งหมด 3 ส่วนคือ  web front end กับ backend  แล้วก็มีส่วน mobile app ดังนั้น ผมจึงเอา api บางส่วนที่ mobile ต้องใช้งาน แยกออกมาเขียนเป็นอันใหม่ กลายเป็น backend 2 ตัว (เหมือนงานจะเพิ่ม แต่เดี๋ยวผมมีเหตุผลที่แยกออกมา ซึ่งจะกล่าวต่อไป) ในส่วนของ web front end ก็ยังเชื่อมต่อกับ backend ที่เขียนด้วย  GO เหมือนเดิม จะมีก็แต่ mobile app ที่มันจะเชื่อมต่อกับ backend ตัวใหม่ที่เขียนด้วย swift

การเริ่มต้นใหม่นี้ ผมเลือกเอา Swift มาเขียนเป็น backend ก็นับว่าความเสี่ยงอยู่มาก เพราะด้วยตัวภาษา Swift เองที่มันเปลี่ยนอยู่ตลอด และยังเป็นเรื่องค่อนข้างใหม่สำหรับการนำเอา swift มาใช้เขียนเป็น backend ผิดกับภาษา GO, Node ที่ได้ออกแบบมาสำหรับ การเขียน backend โดยเฉพาะ

มีคนถามผมนะว่า ในเมื่อมันเสี่ยง ทำไมเลือกเอา Swift ละ ไม่ใช้ Node , PHP , Ruby, JAVA บลาๆๆๆๆ ?

ผมเลือกใช้ Swift ด้วยปัจจัยหลักๆคือ

  • Node, PHP, Ruby สำหรับผม ต้องเรียนรู้ใหม่ กว่าจะทำความเข้าใจ เขียนให้คล่อง โปรเจคก็คงเลื่อนไปอีก
  • แม้ว่าจะเขียน Java พอได้ และ Java ก็มีเฟรมเวิร์คทาง backend หลายตัวเช่น spring boot แต่ผมไม่ชอบ JAVA เป็นการส่วนตัว (ผมเขียน Android ด้วยนะ แต่ใช้ Kotlin) ดังนั้นการเลือกใช้ Java จึงไม่ใช่คำตอบสำหรับผม
  • จำนวนคนที่เขียน Swift เป็นนั้น มีเยอะกว่า Go ในกรณีที่เราต้องจ้าง Freelance , Outsource นั้น หาคนง่ายกว่ามาก
  • Backend ที่จะเขียนใหม่ เป็นของ mobile ถ้าหากต้องแก้ไข ก็ให้ Mobile Dev แก้ไขทันที เพราะใช้ภาษาเดียวกัน ( Full-Stack )

ปัจจัยที่สำคัญที่สุดของผมคือ สอง อย่างหลัง เพราะ การหาคน เป็นอะไรที่ยากมากจริงๆ ถ้าหากเป็น บริษัทใหญ่ๆ มีเงินจ้างคนแพงๆ คงไม่ใช่ปัญหา แต่ว่าถ้าหากมีคนน้อยๆ งบน้อยๆ ผมขอให้พิจารณา ให้ถี่ถ้วนก่อนนะครับ ว่า กำลังในทีม เพียงพอ หรือเปล่า บางทีการตัดสินใจเลือก technology บางตัว มันกระทบ กับ การหาคนมาเขียน รวมไปถึงการ maintain code ในอนาคตด้วยนะครับ

Vapor

ก่อนหน้านี้ผมเคยลอง Kitura มาสักพัก แต่หลายๆของ Kitura มันยังไม่ค่อยโอเค เท่าไหร่ อย่างเช่น การเชื่อมต่อ postgres และสุดท้ายก็นั่นแหละ มันก็มาลงเอยด้วยการใช้ vapor และหลังจากการเขียน Vapor มาสักพัก ผมจะเล่าถึงประสบการณ์ ที่ได้ใช้ Vapor เป็น API และสิ่งต่างๆที่ได้เจอออกเป็นหัวข้อละกันนะครับ และเนื่องจากผมใช้มันเป็น API Backend ไม่ได้ใช้เป็น Web Server ดังนั้นในส่วนที่เกี่ยวข้องกับ web อย่าง server rendering , web template นี่ผมขอไม่พูดถึงนะครับ

Tools

Vapor มีเครื่องมืออำนวยความสะดวกมาให้ คือ Vapor Command Line ซึ่งมันจะช่วยให้เราเริ่มต้นสร้างโปรเจคได้ง่าย เลือกได้ว่าจะเอา template แบบไหน เป็น web หรือ แค่ api และมันยังมีคำสั่งในการ update package , dependency ต่างๆ รวมอยู่ในตัวเอง รวมไปถึงการสร้าง xcode project คืออันที่จริงเราไม่ต้องใช้ xcode project เพราะ backend มันมักจะถูก compile และทำงานบน linux (คงไม่มีใครใช้ Mac OS เป็น Server กันเท่าไหร่จริงไหม ?) แต่เราต้องวาง source code folder อะไรต่างๆให้ให้ถูกต้อง แต่เหตุผลหลักที่เรายังต้องการ xcode project เนี่ย ก็เพราะว่า เราพัฒนาบน Mac เป็นหลัก การใช้ Xcode เป็นเครื่องมือในการเขียน code มันดีกว่าการไปเขียนด้วย text editor ตัวอื่นๆ และถ้าหากเราไม่ใช้ command line tool  คุณก็ต้องมาจัดการ กับ dependency และ source code ใน xcode project ด้วยตัวเอง ซึ่งมันเสียเวลา ดังนั้นการที่มีเครื่องมือมาให้ นับว่าเป็นข้อดีอย่างมาก

Code Style

ในการเขียน backend นั้นจะมี framework หลักๆ อยู่หลายเจ้า อย่างเช่น Kitura ของ IBM หรืออาจจะเป็น Perfect และ Zewo อะไรก็ว่ากันไป แต่ถ้าหากเทียบกันแล้ว Vapor นั้นมีการเขียน coding style ที่ดูเหมือนจะเป็นสไตล์ swift มากกว่าเจ้าอื่นๆ .. อย่างกรณีของ Kitura นั้น ได้ออกแบบมาให้เหมือนกับ express ของ Node JS ดังนั้นแล้ว วิธีการในการเขียนมันก็เลย เหมือนเขียน NodeJS  ผมว่า Vapor นี้มันเข้ากับสไตล์ของผมมากกว่า

Database Support

ในการเขียน backend แน่ๆคือมันต้องเชื่อมต่อกับ database สักตัว ข้อดีที่เห็นได้ชัดมากคือ มันมี framework ที่เรียกว่า fluent ซึ่งเราไม่ต้องไปจัดการเขียน code พวก sql เอง เราสามารถสร้าง model เพื่อให้มัน จัดเก็บลง database ได้เลย  และมันก็รองรับ postgres , mongo, sqlite โดยจะทำงานผ่านสิ่งทีเรียกว่า provider และข้อดีอีกอย่างของ fluent คือเขียน unit test ง่าย (ถ้าใครเคยเขียน  unit test ที่เชื่อมต่อกับ database จะเข้าใจว่ามันปวดหัวแค่ไหน)

JSON Suport

ข้อดีอีกอย่างของ fluent คือมันแปลง json เป็น model ได้ค่อนข้างง่าย รวมไปถึง การเปลี่ยน model กลับไปเป็น json ก็ง่าย มันสะดวกมากเวลาที่จะตอบ response กลับไปเป็น json

Authentication

การยืนยันตัวตน เป็นฟีเจอร์ที่แทบจะทุก service ต้องมี ซึ่งใน vapor มันจะทำงานผ่านทาง provider (เหมือนกับกรณี database) และมันก็รองรับการ authen หลายอย่างมาก ไม่ว่าจะเป็นจะเป็นแบบ username – password หรือว่า ใช้ token ก็ได้ และรองรับ JWT ด้วย ซึ่งตรงนี้ผมว่ามันค่อนข้างสะดวก ผมยังไม่เคยลองทำพวก third party authen นะ อย่างเช่น facebook , google ว่ามันทำงานได้ดีแค่ไหน

Route

การสร้าง Route ของ Vapor นั้นก็ค่อนข้างจะง่าย ไม่ว่าจะเป็นแบบ Rest หรือแบบ static path การเข้าถึง query หรือ parameter ของ request ที่เข้ามาก็มีฟังก์ชั่นมาครบ หรือถ้าหากต้องการจะกำหนด สิทธิการเข้าถึงแต่ละ path ก็ทำได้ค่อนข้างสะดวก

REST

หากต้องการจะให้ api เป็น แบบ rest ตัวของ vapor เองก็ทำได้ง่ายๆผ่านทาง controller builder ยิ่งถ้าใช้ร่วมกับ fluent แล้ว มันเป็นอะไรที่แจ่มมาก เพราะมันลดงานในการเขียน code ลงไปได้เยอะมาก แค่กำหนดว่า PUT , POST , UPDATE เรียกฟังก์ชั่นอะไรก็จบละ (คือมันลดการเขียน code DB sql แล้วยังลดการเขียน code ในส่วนของ route อีก)

Middleware

ใน vapor มี middleware ให้ใช้งานอยู่หลายตัว อย่าง redis ,facebook auth , realm และการเขียน middle ware ขึ้นมาใช้งานเอง ผมว่ามันง่ายนะ เพราะว่ามันมี protocol รองรับไว้อยู่แล้ว

Deployment

ในส่วนของการ deploy นั้น ตัว vapor เราจัดการ environment ได้ด้วย config ไฟล์ ซึ่งใน Vapor นี้มัน แยก มาให้เราเลยว่า เป็น development, staging หรือว่า production มันทำให้ เรากำหนดสิ่งต่างๆที่จำเป็นได้สะดวกมาก อย่างเช่นว่า ตอนพัฒนา ให้มันไปต่อกับ DB เครื่องตัวเอง แต่ตอน deploy จริงๆให้มันไปต่อกับ AWS แบบนี้ รวมไปถึงการจัดการ secret key ต่างๆ มันก็แยกให้เรา

หรือถ้าอยากจะ deploy เป็นแบบ container ผ่านทาง docker ก็ทำได้ คือตัว vapor มันมี docker file ที่ community ทำไว้ให้อยู่แล้ว ดังนั้นเราเลยไม่ต้องไปเริ่มเขียน docker file จากศูนย์

Debug

จากประสบการณ์ในการเขียน GO และ NodeJS ผมบอกได้คำเดียวสองอย่างนี้ ห่วยแตกในการ debug มาก คือในช่วงแรกๆ นี่ผมถามคนที่เขียน backend หลายคน (ทั้ง Go, NodeJS) นะว่า debug กันยังไง เค้าบอกว่า ใช้ print log ดูค่าเอา ผมนี่ถึงกับร้อง WTF !!!! คือส่วนตัวผมไม่ชอบเลยกับการที่ต้องมาดู log ว่าค่า มันเป็นอะไร แม้ว่า Go มันจะมี Debugger อย่าง Delve อยู่ แต่มันต้องมา config ให้มันทำงานร่วมกันผ่าน IDE ได้ ( ใช้ Gogland IDE อาจจะง่ายกว่า VS Code หน่อยหนึ่ง) และประสิทธิภาพของ debugger นี่ก็อ่อนด้อยมาก ในขณะที่ Swift นั้นการ debug มันง่ายมาก ถ้าหากเราทำผ่าน Xcode

Unit test

เท่าที่ลองใช้งาน ตัว vapor มัน build in พวก function ในการทดสอบ route (request / response) อยู่แล้ว ไม่ต้องไปเขียน XCTest กับแบบเพียวๆเท่าไหร่ และก็อย่างที่ได้บอกไปว่า ถ้าหากใช้ fluent การเขียน unit test จะทำได้ง่ายมาก เพราะว่า เราไม่ต้องให้มันไปเชื่อมต่อกับ database server จริงๆ แค่กำหนดให้มันสร้าง db ใน memory ในตอนที่เรา run testing เท่านั้นเอง ซึ่งในบางครั้ง มันลดการเขียน mock ไปด้วยนะ

Document / Community / Sample / Tutorial

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

Feature อื่นๆ

อันที่จริงมันมีอีกหลาย feature ที่ผมยังไม่เคยลองใช้งาน อย่างเช่น session , core หรือการใช้ให้มันเป็น web server ดังนั้นในส่วนนี้ก็เลยบอกไม่ได้ว่า เป็นยังไง

vapor.cloud

อันนี้ผมก็ไม่ได้ลองใช้งานนะครับ ที่ยกมาพูดถึงเนี่ย ผมแค่จะบอกว่า Vapor น่าจะมีอนาคตสดใสอยู่นะ เพราะว่า อาจจะเป็น cloud เจ้าแรก ที่ใช้ Swift เป็นหลัก

ข้อเสียละ ?

ข้อเสีย อย่างแรกของมันคือ เค้าบอกว่า มันทำงานได้ช้ากว่าตัวอื่นๆ ซึ่งก็มีคนลอง bench mark   ซึ่งก็มีผลว่า Vapor 2 ทำงานได้ค่อนข้างช้ากว่าคนอื่น เร็วสุดก็ Go และมั้ง แต่ว่าในส่วนนี้ผมไม่ค่อยแคร์เรื่อง performance สักเท่าไหร่ เพราะว่า จำนวนผู้ใช้งานอยู่แค่หลักพัน ไม่ได้ทำ server ที่จะรองรับผู้ใช้งาน หลักล้านคน ข้อเสียอย่างที่สองคือ ยังไม่มีค่อยมีคนเอา swift เป็น backend เจอปัญหาอาจจะต้องหาทางแก้เอาเอง

สรุป

ถ้าคุณสามารถใช้ firebase หรือพวก service สำเร็จรูปอื่นๆได้ก็ไม่ต้องเขียนเองหรอกครับ แต่ถ้าต้องเขียน backend เอง ผมว่า Vapor เป็นทางเลือกที่ดี ตัวหนึ่งเลยนะครับ เหมาะมากสำหรับทีม ที่มี iOS Dev เยอะๆ

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

Review Steelcase think – รีวิวเก้าอี้ steelcase think

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

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

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

พวกหนังที่หลุดออกมาเป็นชิ้นๆ แบบสีดำๆ ในเนี่ย เกลื่อนเต็มห้องเลยครับ ใช้เครื่องดูดฝุ่น ก็เอาออกยาก กลายเป็นปัญหาใหญ่ ทำให้ผมต้องหาเก้าอี้ใหม่

ผมเคยนั่งเก้าอี้ที่เคยนั่งตอนที่ทำงานที่ออฟฟิศ เป็นเก้าอี้ยี่ห้อ Logica ผมอยากได้เก้าอี้แบบในออฟฟิศบ้าง ก็เลยคิดจะซื้อใหม่ แต่ปัญหาคือว่า ไม่รู้ว่า ยี่ห้อนี้มันซื้อที่ไหน ก็ไปดูตามพวก SB Furniture บ้าง แต่ลองนั่งเก้าอี้ในโซนออฟฟิศ ก็คิดว่าของ SB มันไม่ใช่แบบที่ต้องการเลย

แล้วบังเอิญว่าได้ไป CDC จะไปดูเฟอร์นิเจอร์ ก็เลยแวะไป ดูเก้าอี้ สักหน่อย ในนั้นมันจะมี ร้านขายเฟอร์นิเจอร์สำนักงานสองร้านคือ Modern Form กับ Perfect อะไรสักอย่างนี่แหละ .. คือผมก็แวะ ไปที่ perfect ก่อนนะ ชอบเก้าอี้ตัวหนึ่งในนั้นมาก ราคาประมาณ 7,900 แต่ยังไม่ตัดสินใจซื้อ คือมันก็ราคาแพงอยู่ ก็เลยกะว่าเดินดูอีกสักร้านก่อน เผื่อมีตัวเลือกเลือกที่ถูกกว่า

จนกระทั่งมาเจอกับเก้าอี้ Steelcase รุ่น Think ในโชว์รูมของ Modern Form เห็นมันลดราคาเหลืออยู่ราวๆ 10,000 บาท คนขายบอกว่าเป็นเก้าอี้ ออกแบบตามหลัก Ergonomic เหมาะกับการทำงาน ก็เลยไปลองนั่งดู

สรุปก็เลย ซื้อ Steelcase Think มาแทนเก้าอี้ที่เล็งไว้ก่อนหน้านี้ จากตั้งงบเก้าอี้ไว้ แค่ 5000 คราวนี้ บานปลายกลายเป็นหมื่นเลย เอาละ ไหนๆ ก็ซื้อมาแล้ว มาดูกันว่า เก้าอี้ราคาขนาดนี้มันได้อะไรมาบ้าง

Review

ข้อดี

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

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

ในส่วนของที่วางแขนก็ปรับสูงต่ำได้เช่นกัน

นอกเหนือไปจากการปรับระดับความสูง เรายังสามารถ ปรับให้มันเอนเข้า-ออก ได้ตามชอบ แต่ข้อเสียคือ มันไม่สามารถล๊อกตำแหน่งได้

ในส่วนของ เบาะรองนั่ง นั้นนุ่มมากๆ และยังสามารถปรับ ให้มันชิด หรือห่างพนักพึงหลังได้

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

ตัวฐานล้อเป็นพลาสติก แอบเสียดายว่ามันน่าจะเป็นโลหะมากกว่า ในส่วนของล้อ ก็หมุนลื่นดี

ข้อเสีย

จากรูปจะเห็นว่า ที่วางแขนกว้าง ถ้าปรับให้มันกว้างสุด มันจะกว่าตัวโต๊ะ ทำให้ไม่สามารถเลื่อนเก้าอี้เข้าไปได้ (โต๊ะซื้อที่ IKEA ตัวนี้ก็ใช้งานดีนะ) ถ้าจะให้มันพอดีกับโต๊ะ ต้องปรับที่วางแขนให้เข้ามาอีก

ไม่มีที่รองคอ ทำให้ไม่สามารถเอนหลังพึงคอได้ ถ้าจะซื้อแบบมีที่พักคอ ต้องซื้อรุ่นที่มีที่พักคอ ราคาบวกไปอีก 3 พันบาท

สรุป

เป็นเก้าอี้ที่ดีมากๆ ตัวหนึ่ง แต่ราคาแพงเอาเรื่องอยู่ ตัวที่ผมซื้อมานี่เป็น Steelcase Think V1 ผมอยากได้สีดำมากกว่า สีเทา แต่คนขายบอกว่า บริษัทไม่นำเข้ามาแล้ว แล้วก็เหลือไม่กี่ตัว และคนขายเชียร์ให้ซื้อ V2 แต่ราคามันอยู่ที่ 17,000 แต่เมื่อก้มดูเงินในกระเป๋าแล้ว ไม่ไหวแพงไป แล้วก็อีกอย่างที่ตัดสินใจซื้อตัวนี้เพราะมันรับประกัน 12 ปี แต่ตัวใหม่ รับประกันแค่ 3 ปี

คือถ้าถามว่า เราจำเป็นต้องลงทุนกับเก้าอี้ขนาดนี้ไหม อันนี้ก็แล้วแต่คนเลยครับ คือส่วนตัวผมนั่งหน้าคอมพิวเตอร์ วันละ 6-8 ชม. เก้าอี้ มันจึงเป็นส่วนสำคัญในการทำงานมาก เพราะถ้าเก้าอี้ไม่ดี นั่งไปนานๆ มันให้เกิดพวก Office Syndrome ได้ ผมก็เลยตัดสินใจลงทุนซื้อเก้าอี้ดีๆสักตัว อย่างไรก็ตามถ้าจะซื้อเก้าอี้ที่ราคาขนาดนี้ ผมแนะนำให้ไปลองของจริงก่อนครับ ว่าชอบไหม เพราะแพงเอาเรื่องอยู่

เขียนโปรแกรมกันเถิดจะเกิดผล Programming and technology