ความประทับใจ Thailand Next Web Apps 2008
ว๊าวว ผมกลับมาแล้วครับหลังจากไปเข้าร่วมกับงานตั้งแต่เวลา 10.00 - 19.00 ประมาณนี้นะครับ ไปงานนี้ก็ได้ทั้งความรู้ใหม่ๆ แนวคิดใหม่ๆ แล้วก็โลกปัจจุบันที่เปลี่ยนแปลงในทุกๆด้านไปมากแล้ว ขอเล่าเพียงย่อๆนะครับ ตอนนี้มีคุณ ifew บล็อคเรื่องนี้แล้ว แถมมีรูปด้วยลองเข้าไปดูกันได้ครับ ตอนนี้ผมจะพูดถึงความรู้ที่ได้กลับมานะครับ ผมได้เขาร่วมดังนี้เลยครับ
Lighting Session ตอนเช้า (10.30 - 11.15)
ตอนนี้จะเปิดโอกาสให้คนขึ้นพูดคนละ 5 นาที เพื่อขาย idea หรือโปรโมต concept ต่างๆของ website ตัวเองโดยจริงๆ ตั้งใจไว้ 5 นาทีแต่ทุกคนพูดประมาณ 15 นาที แต่ได้ idea มาเยอะครับ โดยคุณ @sugree ก็ขาย concept Brainstorm โดยผมว่า ผมก็เคยคิดเรื่องนี้ แต่ไม่ได้คิดเป็น business model ที่ใหญ่อย่างเขา ลองไปอ่านในบล็อค ifew กันได้ครับ น่าสนใจอย่างมาก ต่อมาก็คุณ GreenDog มาพูดเรื่อง User Experience ผมก็ชอบที่มีคนมา share เรื่องดีๆแบบนี้ให้คนฟังกัน
โดยผมก็เคยศึกษาเรื่องนี้มาบ้างเลย รู้ว่ามันเป็นเรื่องสำคัญ ต่อมาในช่วงเช้าด้วยการเวลามันค่อนข้างตรงในอีกห้องหนึ่ง ผมเลยได้ฟังคนสุดท้ายคือคุณ pittaya ผมทึ่งกับเว็บ fwdder.com ที่เขาเสนอมาเพราะเมื่อก่อนไม่รู้ว่าเขาทำ แล้วมันยังไม่ดีขนาดนี้ พอกลับมาดูอีกทีโอโห้สุดยอดไปเลย แต่ผมก็ฟังคุณ pittaya เป็นคนสุดท้ายเพราะผมอยากไปดู 10 Reason That I Love Rails อีกห้องหนึ่ง
10 Reason That I love Rails (11.15-12.40)
จริงๆแล้ว session มันถึงแค่ 12.00 แต่ข้าวมันมาช้าก็เลยต่อกันยาว โดยเขาก็คุยเรื่อง Rails ให้ฟังกันก็สนุกมากเพราะผมก็กำลังชอบ Rails อย่างจริงจัง โดยผมได้จดมาคิดว่าจะไปอ่านต่อก็คือบทความ
“Treating Code as an essay” ในหนังสือ “Beautiful Code”
เขาก็บอกว่ามี Framework อะไรบ้างที่ทำตามแนวทางของ Rails ก็มี CakePHP , Symfony , TurboGear , Django (แต่เท่าที่ไปฟังคนเขียน Django พี่บอลเขาพูดผมว่า Concept ต่างกันอยู่) โดยส่วนใหญ่เหมือนจะอธิบายมากกว่า ว่า Rails ทำงานเช่นไร แต่เนื้อหาก็พยายามบอกข้อดีของมันออกมาอยู่ดี Rails มีอะไรดีบ้าง
- มีการใช้ Filter เช่น before_save , before_create
- ในฝั่ง view จะเป็น variable ได้จาก controller ทันที
- มีคำสั่ง render :partial เหมือน include ของ php แต่อ่านเข้าใจกว่าแถมใส่ collection ได้ด้วย
- มีตัว validation ใน model ให้ด้วย เช่น validates_length_of :name เป็นต้น
- มี Callback ในฝั่ง Model ได้เช่นจะทำการแปลงค่าก่อนนำไป validate
- มี Ajax Helper ด้วยครับ (แต่ผมว่า code มันยังไม่สวย แค่ Readable)
- plugin ดีๆที่เขาแนะนำมา HAML , ActiveScaffold , MakeResourceful , Capistrano , Rpec โดยส่วนตัวผมชอบ ActiveScaffold , Capistrano แล้วก็ Rspec แต่ HAML ก็ีดีเหมือนกันแต่ว่า ยังไม่โดนใจ
- พูดเรื่อง RESTFUL ครับโดย Rails 2 นี้ค่อนข้างเน้นมาก แต่ก็ถูกต้องแล้วครับ !!
จบไปกับอีกหนึ่ง Session แต่ว่า Session นี้ค่อนข้างเข็มข้นเพราะมีคนเสนอ idea จาก framework ตัวอื่นกันเช่น Django ซึ่งพอได้มีโอกาสคุยกับพี่เขาตอนกินข้าวนี้ ผมว่ากินกันค่อนข้างยาก เพราะฟังจากแนวคิด Django แล้วเขาขาย idea คือ loosely couple แล้วก็ reuseable , elegant url แล้วอะไีรอีกอันจำไม่ได้ แต่แค่นี้ก็ Work มากๆผมว่าเจ้าสอง framework นี้คงตีกันไปอีกนานครับ
Web Standard (หลังจากนี้จะไม่พูดเรื่องเวลาแล้วเพราะผมไม่ได้ดู + จำไม่ได้)
เรื่องเว็บ Standard เนี้ยผมก็ค่อนข้าง OK แต่ผมก็ค่อนข้างรู้ดีอยู่แล้ว ว่ามันเป็นยังไงเลยเข้าไปฟัง เพราะ Session นี้หน้าฟังกว่าอีก Session หนึ่ง (สำหรับผมนะครับ) โดยผมจะเอาเฉพาะที่ผมได้ความรู้เพิ่มมานะครับ ในส่วนนี้เขาก็พยายามให้ยึดหลัก Web Standard ให้มากที่สุดแต่ไม่ต้อง 100% ครับเพราะมันอาจจะมีเหตุการณ์ที่เราต้องใช้แต่ไม่ถูก W3C เช่น กรณีผมต้องการให้ปิด autocomplete ใน form ต่างๆแต่ถ้าใส่ไปแล้วก็จะไม่ถูก w3c โดยเขาให้ยึดตาม standard มากที่สุดแต่ ไม่จำเป็นต้อง 100% เพราะให้เน้นให้ความสำคัญเกี่ยวกับ User มากกว่าครับ โดยใน session นี้ก็พูดเรื่อง tableless layout , เหตุผลที่ควรทำตาม , html 4 + microformat กับ xhtml เป็นยังไง , ฯลฯ แต่ก็ได้ความรู้เพิ่มมาหน่อยแต่ก็ ok ครับ
Web Accessibility
เขาก็ขาย idea ว่าทำไมต้อง XHTML + CSS แบบ Strict โดยพอผมฟังแล้วก็ชอบเหมือนกัน พึงรู้เกี่ยวกับ attribute ที่ผมไม่เคยรู้มาก่อนว่ามันมีข้อดีอย่างไร อย่าง lang(uage) ก็สามารถทำให้ bot อ่านรู้ว่าเนื้อหาตรงนี้เป็นภาษาอะไร การทำ link jump ภายในหน้าก็มีข้อดี เพื่อที่คนใช้ที่พิการทางสายตาจะได้ เลือกข้ามไปส่วนเนื้อหานั้นได้เลย หรือถ้าทำจากมือถือก็จะเข้าถึงข้อมูลได้เร็วขึ้น โดยจะมีเรื่อง accesskey ที่ทำให้กด link ด้วย shortcut ได้ เช่น accesskey=”1″ จริงๆแล้วผมก็ตอนแรกยังไม่เข้าใจแต่พอพูดเรื่องมือถือกดแล้ว ก็เข้าใจเลย ว่ามือถือมันกดยาก การมี accesskey จะช่วยให้เข้าถึงข้อมูลเร็วขึ้น
แล้วก็พูดเรื่องข้อดีของ ของการใส่ label ผมก็พึงรู้ว่ามันกดจากตัวอักษรได้ด้วยถ้าใส่ label !! แล้วข้อมูลก็ดู semantic มากขึ้นแล้วก็ถูกกฎ w3c แถมถูกกฎเอาไว้สำหรับคนพิการทางสายตาดูด้วย ส่วนเรื่อง table เราต้องมีการใส่ summary และ caption ไว้เพื่อที่ให้ bot เข้ามาอ่านได้ง่าย โดยเขายึดหลัง W3C และ WAI ครับ
Flexible Rails
มาถึงหัวข้อนี้โอ๋วไม่น่าเชื่อว่าผมโชคดีมากที่ได้มาฟัง Session นี้ทั้งฮา แล้วก็พูดจากคนฝั่ง Java ได้อย่างดี ผมขำตลอดที่เขาพูดถึงเกี่ยวกับกัด Java ฮามาก โดยเนื้อหาจะเป็นเรื่องของ Flex กับ Rails โดยเจ้า Flex เนี้ยผมก็เคยลองแต่ตอนนั้นยัง version 2 อยู่แล้วก็ชอบนะแต่ผมว่ามันยังเขียนยากนิดหน่อย ผมก็เลยยังลาๆไปบวกกับ tools มันยังไม่มีตัว free แต่แล้วพอมา version 3 มี tools ฟรีแล้วครับเป็น plugin ของ eclipse tools ที่ดีที่สุดในโลก (555+) โดยเขาแนะนำว่า ถ้าทำงานกับ Rails อาจจะมีปัญหานิดหน่อยเรื่องการเรียก REST วิธีแก้คือไป deploy บน folder เดียวกันกับ Rails ก็หมดปัญหาครับ โดยเรื่องนี้อาจจะยุ่งยากนิดหน่อย แต่ถ้าเขียน ANT หรือ MAVEN ก็ทำให้ง่ายขึ้นนะครับ
โดยวิธี Flex กับ Rails จะติดต่อกันได้งั้นมี 2 วิธีครับก็คือ 1. WebORB 2.REST (3.SOAP แต่มี REST มาให้จะใช้ทำไม) โดยถ้าใครอยากรู้ว่าทำไม Rails ให้ความสนใจกับ REST มากต้องอ่านที่นี้ครับ WorldOfResources เป็น pdf ครับโดยก็ได้ขาย idea อีกว่้าเวลาใช้ Flex เป็น Front-end แล้วสามารถเรียกราคาเพิ่มได้ง่าย ! (ก็จริงครับเพราะมันสวย) แต่ผมก็คิดว่าถ้าไม่เน้นสวยเน้น functional html css แบบเดิมก็น่าจะเป็นทางออกเหมือนกันครับ โดยเขาก็เสนอว่า Ruby นั้นไม่ต้องพึ่ง IDE ก็เลยโชว์ด้วย Vi Text Editor (ของฟรีและดีครับ ใช้แรกๆงงนิดหนึ่ง) แล้วก็โชว์ Demo ให้ดูครับก็จบครับแต่ผมจะรอวันที่ได้ไป Tranning Rails นะครับจาก Narisa.com
Duocore.TV เกือบท้ายแต่ไม่ท้ายสุด
ผมแฟนรายการ DuoCore คนหนึ่งครับ ผมเคยคิดจะ Email ไปถามเรื่องที่เขาพูดวันนี้พอดีไม่ต้อง Email แล้วครับวันนี้กระจ่างทุกเรื่อง คำถามหายหมด โดยเขาเสนอ Solution ของเขาทั้งหมดไม่ว่าหน้าแรกของ DuoCore ใช้ Pligg ในการทำ แล้วก็แก้ไข้ Template ของ Smarty ของ Pligg แล้วในหน้า Video ก็ใช้ Wordpress มาคุมโดยใช้ Plugin เพียงไม่กี่ตัว โดยเข้าใช้เพียง Akismet กัน Spam , WordTube บล็อค video ง่าย , JW FLV Media Player เขาใช้เพียง 3 ตัวนี้ครับ แต่สำหรับ version 2.6 ขึ้นไปก็จะมี Add Video ที่สมบูรณ์มากขึ้นแล้ว ถ้าไม่ต้องเปลี่ยน style ให้เหมือน YouTube ใช้เพียง Akismet ก็พอครับ
เสร็จแล้วก็บอกว่า DuoCore ใช้ Server อะไรอย่างไร ในที่นี้ไม่รู้ว่าผิดมารยาทไหม แต่ถ้าเขาขอมาให้เอาออกเดียวจะเอาออกทีหลังครับเขียนก่อน เขาบอกว่าใช้เครื่อง Server เพียงดังนี้ครับ
Dell Xeon 3.2 GHz
Ram 1GB ECC (Error Correcting Code Ram Server นั้นและ)
HD 160 gb SATA x 2 = 320gb
ผมกำลังคิดว่าเขาจะจบแล้ว กำลังจะยิงคำถามสรุปว่าเหมือนรู้ใจครับตอบให้ เลยนั้นคือเขาใช้อะไรในการทำ Download หลาย Format เขาก็เฉลยมาว่าใช้กันตั้งแต่ Adobe Flash , QuickTime , FinalCutStudio(Mac) , Video Convert Master ที่เขาบอกว่าดีๆก็มีดังนี้ครับ แต่เขาก็บอกว่าเราก็เคยใช้ Ulead แล้วก็ Premier มาแล้วด้วย โดยเขาบอกว่าเจ้าพวก Open Source ที่มีอยู่ยังไม่สามารถทำให้คุณภาพออกมาดี ขนาดเล็กได้เท่าตัว Commercial โดย Format ต่างๆมีรายละเอียดอย่างไรดังนี้เลยครับ
FLV Format
Video 400kbps
Audio : 64kbps
Algorithm : On2 (มีใน Adobe Flash 8 ขึ้นไป)
Resolution : 480×270px (16:9)MP4 Format
Video 400kbps
Audio : 64kbps
Algorithm : H264 Algorithm
Resolution : 480×270px (16:9)WMV Format
Video 576kbps
Audio : 64kbps
Algorithm : WMV 8 Algorithm
Resolution : 480×270px (16:9)
โดย Format พวกนี้เขาก็ได้คุณภาพที่เหมือนใน Duocore เลยครับ โดยเขาบอกว่า WMV ต้องเพิ่ม bit rate ไม่งั้นภาพที่ได้ออกมามันยังไม่ดี ก็เลยต้องเพิ่มเป็น 576kbps ครับจบไปกับ Session นี้ความรู้ที่กรองมาแล้วเยี่ยมมากครับ
Hello World 3D สุดท้ายแล้วโคตรเทพ
ผมคนหนึ่งที่ไม่ค่อยรู้เกี่ยวกับ Flash ว่าเขาพัฒนากันไปถึงไหนแล้ว พอมาเจอ Session นี้เอ้อ…. สุดยอดครับ ผมไม่คิดเลยว่า Flash จะไกลมากแล้ว (ไม่ติดตามข่าว Flash เลย) ส่วนนี้ก็จะเขียนเท่าที่เข้าใจนะครับ โดย Flash สมัยนี้สามารถ Render 3D ได้เร็วพอสมควรแล้วครับ แต่ทั้งนี้ขึ้นอยู่กับจำนวน face ของ Model ที่เราทำว่ามันเยอะหรือน้อย ยิ่งน้อยยิ่งเร็วครับ โดยเขาก็พูดถึงพวก component ดังนี้ครับ
- papervision
- nd3d
- Alternativa3D
- Away3d
โดย Format ต่างๆที่เข้ามาช่วยทำงานเรื่อง deal ข้อมูลเนี้ยมากขึ้นก็พูดถึง ASE , DAE Format รวถึง Collada ซึ่งเ้จ้า Collada เข้าพูดแล้วน่าสนใจมากครับ มันจะสามารถทำให้เรา map ตำแหน่งของ data ได้เช่น ปกติเรามี model คนกับดาบ แยกกันจะเอาให้มันมา map ต่อกันแล้วมี animation รวมกันก็สามารถใช้ Collada Map เองได้เลยมันก็จะแสดงผล ณ runtime ให้เสร็จแล้ว เขายังพูดอีกว่า เีดียวนี้ Square Enix ก็จะชอบแยกของเป็นส่วนๆ โดยมี Bone , Animation , Component แยกกันหมดแล้วค่อยประกอบด้วย Collada (ไม่รู้ถูกไหม)
โดยเข้ายังบอกอีกว่า 3D สมัยนี้สามารถ Render 2D ได้แล้วนะครับ เราทำ Story เป็น 3D แต่ Render เหมือนการ์ตูน 2D นี้เป็นไปได้แล้วนะครับ แต่เจ้าพวก 3D ที่เขาโชว์เนี้ยเขาได้ลองใช้กับ Flash 10 นะครับเพราะ Flash 10 จะช่วยเรื่อง 3D Shading และ Effect แบบ Pixel มากขึ้นทำให้แสดงผลได้เร็ว โดยใน Flash 10 นั้นต้องมีการ์ดจอรองรับน้อยที่สุดคือประมาณ Geforce 6600 โดยมีเว็บตัวอย่างที่สุดยอดหลายเว็บมากเลยครับ เช่นดังนี้เลย
สวยๆทั้งนั้น ตอนนี้เขาก็ฝากตอนจบไว้นิดสำหรับคนที่มีความคิดอยากจะทำเกม ดังนี้ครับ
- รู้ Engine ที่จำทำ
- รู้ Model ว่าควรจำทำเท่าไร
- คำนวนเรื่อง Face ที่ใช้น้อยๆเน้น Texture
จบแล้วครับสำหรับทุก Session วันนี้ผมเขียนเยอะแล้วเหนื่อยขอลาอาบน้ำนอน ก่อนนะครับ ไว้เจอกันที่ BarCamp Bangkok2 กันนะครับสำหรับคนที่สมัครไปแล้ว
เนื้อหาคล้ายกันที่น่าสนใจ

อ๋าา เสียดายไม่ทันอยู่ฟัง Web Accessibility T-T ว่าแต่ไม่ได้ไปฟัง ExtJS หรอครับ
Great post!
เขียนเมลตัวเองก็ผิด แล้วจะแอดไปหาได้ไง - -”
เขียนดีครับ สรุปได้ดี
server spec บอกได้ครับ
ไม่ต้องเอาออก
[...] http://www.dominixz.com/blog/tech-news/tnwa2008-impression/ [...]
โห เขียนดีมากครับ
สรุปได้ดี
เสียดายที่ผมเป็นกลุ่ม Starter มากกว่า เลยฟังไม่ค่อยเข้าใจครับ
ตอนนี้ผมกำลังตามล่า หาบล็อกที่เขียนเกี่ยวกับงาน TWNA อยู่
เป็นกำลังใจให้ครับ
ผมอยู่แต่ biz track อย่างเดียวเลย
แหะๆขอบคุณครับ จริงๆอยากใส่รูปด้วยแต่ตัวผมเองไม่ได้เอากล้องไป รวมถึงถ้าเอากล้องไป เดียวสมาธิในการฟังจะหลุด น่าจะมี Open Picture & Video Event เอาไว้มาตกแต่งบล็อคให้ดูดี
ยังไงคราวหน้า Barcamp ก็คงไม่พลาดที่จะมาเขียนสรุป อีกทีครับ