“วิธีการเรียนรู้/การเริ่มต้นงาน”: Trick ง่ายๆ ที่หลายคนมองข้าม

“การเรียนรู้” มันเป็นเรื่องโลกแตกสำหรับใครต่อใครหลายๆ คน ที่มีปัญหามากมาย แล้วก็ไม่ว่าจะเรียนรู้อะไรเท่าไหร่ ก็เหมือนกับจะไม่รู้เรื่อง หรือทำไม่ได้สักที …. ไม่ว่าจะเป็นการเรียนรู้ภาษาโปรแกรมใหม่ๆ หรือการเขียนโปรแกรมบนอุปกรณ์ใหม่ๆ การเรียนภาษาอังกฤษ หรือการเรียนรู้เรื่องอื่นๆ อีกหลายๆ เรื่อง … แล้วในที่สุดก็ต้องพึ่งพาทางลัดทั้งหลายทั้งปวง เพื่อให้ได้ผลลัพธ์ที่ตัวเองต้องการอย่างเร่งด่วนฉาบฉวย

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

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

Continue reading

Let it “Burn”

ไม่ค่อยได้เขียนเรื่อง Software Development สักเท่าไหร่ (ทั้งที่จริงๆ เป็นเรื่องที่เดินสายพูด เดินสายบรรยาย สอน และถนัดที่สุดแล้วในบรรดาเรื่องทั้งหมด) แต่เมื่อคืนน้องในทีมพัฒนา Sticgo (http://www.sticgo.com) Startup ที่ผมเป็น Mentor อยู่ในโครงการ True Incube (http://incube.truecorp.co.th) ดันเอา Chart อะไรบางอย่างขึ้นใน Facebook แล้วพี่ Roofimon (www.roofimon.com) เข้ามาบอกเลย “บาป” แล้วก็งงว่ามันคือ Chart อะไร ผมก็เลยสัญญากับพี่รูฟไปว่าจะเขียนเรื่อง Chart ตัวนี้ใน Blog ด้วยความเป็นลูกผู้ชาย ก็เลยต้องรักษาสัญญาซะหน่อย

เป็นที่รู้และเข้าใจกันดี ว่าการพัฒนาซอฟต์แวร์ตัวหนึ่งมันไม่ใช่เรื่องเล็กๆ มันมีเครื่องไม้เครื่องมือมีกระบวนการมี Mindset อะไรหลายต่อหลายอย่างเอาไว้ให้เราใช้ในการช่วยพัฒนาซอฟต์แวร์

Mindset โบราณที่ลอก Metaphor มาจากการก่อสร้าง หรือที่เรียกว่ากระบวนการแบบ Waterfall ก็มีเครื่องมือหลากหลาย และตัวหนึ่งที่เราต้องเจอกันมาตลอดก็คือ “Gantt Chart” ซึ่งไอ้เจ้า Gantt Chart ตัวนี้เป็นเครื่องมือนำ “แผนการทำงาน” มาวางต่อเนื่องบน Timeline เพื่อดูว่าเราวางแผนการทำงานอย่างไร อะไรต้องทำก่อนทำหลังอะไร แล้วเวลาที่จะใช้คือประมาณเท่าไหร่ ฯลฯ

สิ่งที่ Gantt Chart ตอบได้อย่างชัดเจนก็คือ การให้เห็นแผนการทำงาน ระยะเวลาของงาน และปริมาณงานที่เสร็จไปแล้ว ซึ่งนี่คือสิ่งที่จำเป็นมากในการทำงานอะไรก็ตามในโลกความเป็นจริงที่เราต้องอยู่กับชาวบ้าน ทำงานกับคนอื่น (ลูกค้า เจ้านาย ฯลฯ) เพราะว่ามันจะมีความถามเราตลอดเวลากับคำถามต่อไปนี้ “แล้วจากนี้จะทำอะไร ต่อจากนั้นทำอะไร ใช้เวลาประมาณเท่าไหร่ เหลืองานอีกเยอะมั้ย เสร็จไปแล้วเท่าไหร่” ฯลฯ (ซึ่งพวกนี้จะเกี่ยวข้องกับค่าจ้างเราด้วยนะ)

แน่นอนว่า ในโลกบางใบ คนหลายคนต้องการที่จะเห็นรายละเอียดทั้งหมดเหล่านี้ Up-Front ซึ่งหมายความว่าเห็นรายละเอียดของแผนการดำเนินการ ระยะเวลา และงบประมาณทั้งหมดก่อนที่จะเริ่มดำเนินการ ซึ่งในขณะที่แนวคิดแบบนี้ใช้ได้กับงานบางประเภท มันกลับไม่เหมาะเอาซะเลยกับการพัฒนาซอฟต์แวร์ โดยเฉพาะอย่างยิ่งการพัฒนาซอฟต์แวร์ที่ “เป็นของใหม่ ไม่มีใครทำมาก่อน” ซึ่งมันมี Unknown เยอะ (ถ้าเป็นโปรแกรมประเภท Data Entry ธรรมดาๆ นี่อีกเรื่อง อันนี้พอจะประมาณได้จากประสบการณ์ แต่ต้องมีประสบการณ์เยอะพอที่จะทำได้นะ — บอกตรงๆ ว่าโดยทั่วไป ต่อให้เป็นผมหรือเก่งกว่าผมก็มองเห็นทุกอย่าง Up-Front ขนาดนั้นไม่ได้หรอก)


1.jpg

Continue reading

A New Kind of Design (จากการสอน “Design for iOS7”)

** เนื้อหาของบทความนี้ ตัดทอนมาจากการสอน “Design for iOS7 Workshop” ที่ผมจัดเมื่อปลายเดือน ต.ค. 2556 ที่ Hubba **

เกริ่นก่อน…

เมื่อพูดถึง iOS7 สิ่งหนึ่งที่มักจะโผล่มาในการสนทนาและเป็นประเด็นเสมอ ก็คือเรื่องของ “การออกแบบ” ซึ่งหลายต่อหลายคนจะพูดเป็นเสียงเดียวกันว่า “iOS 7 ใช้ Flat Design” และได้ทิ้ง “Skeuomorphic Design” ซึ่งเป็นเอกลักษณ์ในการออกแบบของ iOS มาตลอดไปแล้ว และเป็นประเด็นต่อเนื่องสะท้อนจากนักออกแบบหลายคนให้ได้ยินบ่อยๆ ว่า “แบบนี้ออกแบบให้สวยงามน่าดึงดูดยากจังเลย”

ก่อนที่จะไปต่อ ผมขอบอกเสียงดังๆ ตรงนี้ก่อนเลยครับ ว่า

“iOS7 ไม่ใช่แค่ Flat Design และไม่ได้ทิ้ง Skeuomorphic!
ตรงข้าม …. iOS7 นี่แหละ โคตร Skeuomorphic เลย!!
มันไม่ใช่ Flat vs Skeuomorphic ตั้งแต่ต้นแล้ว!!!”

ห๊ะ?!?!? iOS7 เนี่ยนะ Skeuomorphic?!?!?! บ้าหรือเปล่า?!?!?

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


1.jpg

Continue reading

ว่าด้วย iOS 7 “Developer Beta”

[update 29/06] เพิ่มกรณีตัวอย่างของแอพที่เจ๊ง และเพิ่มบทส่งท้ายจากการเขียนเพิ่มเติมของคุณ Prem Sichanugrist ผ่านทาง Facebook


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

แล้วมันมีเรื่องอะไรให้ผมต้องเขียนถึงล่ะครับ ก็ในเมื่อมันเป็นเรื่องปกติ๊ปกติขนาดนั้น?

เรื่องของเรื่องก็คือ เมื่อไม่นานมานี้ Apple ได้ประกาศ iOS รุ่นใหม่ คือ iOS 7 ซึ่งมีการเปลี่ยนแปลงแบบล้างบางในเรื่องการออกแบบและการใช้งานหลายๆ อย่าง ซึ่งเป็นการเปลี่ยนแปลงใหญ่ขนาดที่ทาง Apple เองบอกว่า “ใหญ่ที่สุดตั้งแต่ออกไอโฟนมา” เลยทีเดียว และแน่นอนว่าก็เช่นเดียวกับการเปลี่ยนแปลงทุกครั้ง Apple ก็จะออกรุ่นทดลองใช้มาให้ทดลองใช้ก่อน

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

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

ก็…. มันไม่ใช่ “Beta” ปกติน่ะสิครับ …..


dev_beta.png

ครับ มันคือ “Developer Beta” ไม่ใช่ Public Beta หรือ Consumer Beta แล้วมันหมายความว่ายังไงล่ะ?

Continue reading

จุดยืน ต้นทุน มูลค่า ซอฟต์แวร์ และ “แอพตู้”

เคยสัญญาว่าจะเขียนภาคต่อของบทความ “ต้นทุน/มูลค่า” ที่แท้จริงของซอฟต์แวร์” ที่เป็นประเด็นต่อเนื่อง แต่ไม่มีเวลาและไฟพอที่จะเขียน แต่พักหลังๆ เนื่องจากตัวเองได้ involve กับการบ่มเพาะและสร้าง Startup Tech Industry ในประเทศไทยค่อนข้างมาก ก็เลยคิดว่าถึงเวลาที่ผมจะต้องเขียนเรื่องนี้ต่อเสียที

จากบทความก่อน ที่ผมลงท้ายว่า

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

มันเป็น The price we all have to pay … สิ่งที่พวกเราทุกคนต้องจ่ายด้วยกัน

ที่จริงแล้วผมต้องการจะสื่อถึงอะไรกันแน่หรือสื่อถึงอะไรบ้างเหรอ อะไรคือ “สิ่งที่เราทุกคนต้องจ่าย” แล้วทำไมเราถึงต้องแคร์กับมัน?

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

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

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

Continue reading

“ต้นทุน/มูลค่า” ที่แท้จริงของ “ซอฟต์แวร์”

ผมว่าจะไม่เขียนเรื่องนี้แล้วเชียว แต่นับวันมันยิ่งมีแต่ดราม่า นับวันมันยิ่งมีแต่ความคิดประหลาดๆ ซึ่งทำให้ผมต้องมาเขียนเรื่องนี้จนได้

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

ผมว่าคนบ้านเรามันประหลาดแท้ ผมเคยได้ยินความฝันเฟื่องมาเยอะว่าเราอยากจะมีนักพัฒนาที่ประสบความสำเร็จระดับโลก อยากมี Bill Gates เมืองไทย อะไรประมาณนั้น และเรามักจะรู้สึกหน้าใหญ่ใจโตเสมอ เวลาที่ยืดว่า “คนไทยเก่ง” เมื่อเด็กเราได้รางวัลเหรียญทองโอลิมปิคหรืออะไรก็ตาม

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

การที่เราไปไหนไม่ได้ เพราะว่าเรา “ตีค่าของซอฟต์แวร์ต่ำเกินไป” ย้ำอีกครั้งนะครับ เราตีค่ามันต่ำเกินไปมาก ที่ๆ เค้าเจริญเค้ารู้กันมานานแล้ว อย่างที่ Steve Jobs เคยพูดเสมอว่า “It’s Software, Stupid” น่ะแหละ สิ่งที่สำคัญทีสุดในคอมพิวเตอร์ คือ “ซอฟต์แวร์” ครับ ไม่ใช่ฮาร์ดแวร์ หรือคอนเทนท์ (Content) อย่างที่หลายคนเข้าใจ ถ้าซอฟต์แวร์อ่อนซะอย่างเดียว ฮาร์ดแวร์จะดีแค่ไหน มันก็ด้อยไปด้วย ถ้าซอฟต์แวร์ห่วยซะอย่างเดียว ต่อให้เตรียมคอนเทนท์ดีแค่ไหน มันก็กากทั้งนั้น เพราะการใช้งานคอนเทนท์มันก็ต้องผ่านซอฟต์แวร์ (แต่ที่เราพูดถึงคอนเทนท์โดดๆ ได้ ก็เพราะว่าสำหรับมีเดียหลายๆ อย่าง มันมักมีซอฟต์แวร์ดีๆ อยู่แล้ว ทำให้มองถึงคอนเทนท์ดีๆ ได้ แต่ถ้าต้องการพัฒนาคอนเทนท์เฉพาะทาง เช่น Interactive Learning ทั้งหลาย ไม่มีซอฟต์แวร์ดีๆ มันก็ทำไม่ได้

อะไรบ้างที่มันตามมา? ผมเห็นความพยายามในการหา “ของเถื่อน/ของโจร” (ผมใช้คำว่า “ของเถื่อน/ของโจร” นะ ไม่ใช่คำว่า “ของฟรี”) ของคนหลายคนแล้วผมเศร้าใจนะ แล้วพวกนี้ก็มักจะมีแต่ความเห็นแก่ตัวเต็มไปหมด ยกตัวอย่างให้เห็นชัดๆ มั้ยล่ะ

  • บางคนต้องการทำร้านขายหนังสือออนไลน์ ขายเพลงออนไลน์ ขายนี่นั่นโน่นออนไลน์ แล้วกลัวแทบเป็นแทบตายกับการที่คนอื่นจะมาก๊อปปี้ของๆ ตัวเอง แต่ขอโทษนะ ดันถามหา crack, serial โปรแกรม เอา iPhone ไปลงโปรแกรมตามมาบุญครอง
  • มันเคยมีคนอยากให้ผมพัฒนาซอฟต์แวร์บน iPhone ให้นะ แล้วก็กลัวเหลือเกินว่าคนอื่นจะ crack ไปใช้ แล้ววันหนึ่งเขามาถามผมว่าจะเอาโปรแกรมไปทดสอบบนเครื่องพวกเขาได้มั้ย ผมบอกวิธีการไปว่าต้องทำแบบนี้นั้นโน้นก่อน เค้าบอกว่า “เครื่องพวกผม jailbreak ทั้งบริษัท” พอถามไปถามมา ก็หากันแต่ของเถื่อนจากมาบุญครอง แถมจ่ายเงินอีกตะหากนะนั่นน่ะ
  • ช่างภาพหลายคนนะ จะเป็นจะตายเวลารูปถูกคนเอาไปใช้ แต่ขอโทษนะ ถ้ากูใช้ Photoshop/Lightroom เถื่อนได้ กูเก่ง กูฉลาด กูไม่โง่เสียเงิน
  • อาจารย์มหาลัยหลายคน เด็กลอก paper ด่าเด็กแทบเป็นแทบตาย บอกว่าจะไม่ให้จบ แต่ท่านก็ขโมยโปรแกรมชาวบ้านเค้าใช้ เจอหน้ากันทีไรถามหาแต่วิธีใช้โปรแกรมแบบไม่ต้องจ่ายเงิน ทำได้มั้ย หา serial ให้หน่อย crack ให้หน่อย
  • คนที่ปล้นมาให้คนอื่น ก็ชอบบอกว่า “เป็นคนไทยต้องช่วยกัน เราไม่ช่วยกันใครจะช่วยเรา เราก็ต้องเอามาแบ่งปันกันใช้”

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

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

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

ถ้า 30 บาทที่จะจ่ายให้นักพัฒนา มันเยอะแยะมากมายมหาศาลมากนักล่ะก็ ลองคิดอะไรกันดูเล่นๆ มั้ยครับ ว่าเดือนๆ นึงเราเอาเงินไปทำอะไรบ้าง ที่มันพอๆ กัน

  • เคยให้เงินทิปเด็กเสิร์ฟกันเดือนละกี่บาทครับ? บางคนเงินทอนไม่เก็บกันทีละสิบกว่าบาท ป๋ามากครับ จ่ายได้ไม่ยาก (ยิ่งเด็กเสิร์ฟสวยนี่ยิ่งยัดแบงค์ยี่สิบลงไปด้วยไม่ยากเลย) ทำแบบนี้ทุกมื้อเป็นเงินเท่าไหร่ อย่าบอกนะครับ ว่าเด็กเสิร์ฟฐานะยากจน ทำงานหนักต้องนี่นั่นโน่น แล้วโปรแกรมเมอร์ล่ะครับ เราไม่ได้ทำงานเหรอ เรารวยนักเหรอ เด็กเสิร์ฟมีเงินเดือน แต่เราหลายคนไม่มีเงินเดือนแบบประจำ ก็มีแค่เงินจากการรับจ้างทำงาน กับเงินจากการกดซื้อโปรแกรมทีละ 30 บาทเท่านั้นนะครับ อย่าลืมข้อนี้ไป การมีคอมใช้ก็ไม่ได้แปลว่ารวยนะ มันก็สิ่งจำเป็นสำหรับการทำงานของพวกเราน่ะแหละ
  • หนักกว่านั้นครับ เคยโชว์ป๋าด้วยการให้เงินขอทานเวลาเดินข้ามสะพานลอยกับแฟนมั้ยล่ะ? ลองคิดๆ ดูซิ ว่าเท่าไหร่ ถ้าทำเลดีๆ หน่อย รายได้ต่อเดือนอาจจะมากกว่าโปรแกรมเมอร์บ้านเราโดยเฉลี่ยซะอีกนะครับ
  • แย่กว่านั้นหน่อย เราเคยให้เงินคนที่ “หาของโจรมาขาย” กันเท่าไหร่กันเหรอครับ ลง app ที่ขโมยมาครั้งละ 500 บาท ได้ app เต็มเครื่อง ที่เราก็ไม่ได้ใช้หรอก ใช้จริงๆ จังๆ ก็อาจจะแค่ 7-8 ตัว ถ้าจ่ายให้นักพัฒนาตรงๆ ก็ไม่ต่างอะไรกันมากมายนักหรอก

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

แล้วไอ้ข้อสุดท้ายนี่มันต่างกันตรงไหนล่ะ?

หลายคนคิดง่ายๆ ตื้นๆ แค่ “เงินออกจากกระเป๋าเราเท่ากัน ให้ได้มากที่สุดดีกว่า ไม่เข้ากระเป๋านักพัฒนาเลยก็ช่างมันประไร” แต่ลองมองถัดไปสักนิดนะ นักพัฒนาได้เงินไปแล้วเอาไปทำอะไรเหรอครับ ก็ต้องเอาไปศึกษานี่นั่นโน่นเพิ่มขึ้น เอาไปเพิ่มทรัพยากรในการทำงาน ไม่ว่าจะเป็นคน ความรู้ หรือเครื่องที่พอจะทำงานได้ดีขึ้น หรือจ้างคนมาเป็น customer service คอยตอบคำถามผู้ใช้ ฯลฯ อย่าคิดว่าเอาไปซื้อเรือยอร์ชซื้อรถสปอร์ตแบบไร้สาระกันทุกคนสิครับ (จริงๆ ถ้ามีเงินไว้ละลายเล่นเมื่อไหร่ หลายคนอาจจะทำงั้นนะ แต่โปรแกรมเมอร์แทบจะ 100% ของบ้านเรา ไปไม่ถึงจุดนั้นเด็ดขาด แค่ไม่อยู่ในภาวะเดือนชนเดือน ก็หรูพอควรแล้ว)

ผมก็เห็นว่าคนไทยควรช่วยกันนะ แต่เราอยากได้อะไรล่ะ? เราอยากได้สังคมนักพัฒนาที่เก่งๆ กันหรือเปล่า เราอยากได้คนไทยที่เก่งไม่น้อยหน้าใครในโลกบ้างไหม? … ไปๆ มาๆ ผมเชื่อว่า “เราไม่อยากได้มันหรอก” ทำไมน่ะเหรอ ก็เพราะคนไทยมันไม่ช่วยกันเองไงล่ะครับ แล้วเราจะได้นักพัฒนาเก่งๆ สังคมนักพัฒนาเก่งๆ แบบที่เราฝันมาจากไหน (หรือว่าผมฝันไปคนเดียววะ)

ทีนี้เราจะเห็น “ค่า” จริงๆ ของซอฟต์แวร์ล่ะครับ … cost จริงๆ ที่พวกเราทุกคนต้องจ่ายก็คือ วงการที่นักพัฒนาถีบตัวเองไม่ขึ้น scale ตัวเองไม่ได้ สร้างทรัพยากรในการรองรับงานที่ใหญ่ขึ้น มี demanding สูงขึ้นไม่ได้ เพราะทุกอย่างต้องใช้เงิน ใช้ใจและมาม่าอย่างเดียวไม่ได้ (ขนาดมาม่ายังต้องซื้อเลย) ซึ่งยิ่งจะทำให้เราเสียศักยภาพในการแข่งขันในภาพรวมมากขึ้นๆ ทุกวัน

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

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

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

นักพัฒนา มันก็คนเหมือนๆ กับทุกคนน่ะแหละครับ ต้องกินข้าว ต้องมีชีวิต ต้องจ่ายค่าเช่า ต้องเลี้ยงครอบครัว ต้องแบกภาระของครอบครัว ถูกครอบครัวฝากความหวัง ฯลฯ เหมือนกับพวกคุณทุกคนน่ะแหละครับ

ผมอยากจะตะโกนดังๆ ตรงนี้เหลือเกินครับ

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

มันไปไหนไม่ได้หรอกครับ เพราะวุฒิภาวะ (maturity) และทัศนคติ (mindset) ของ “สังคมผู้ใช้” ของเราไปไม่ถึง ไม่สนับสนุนให้พวกเราไปได้ ไม่ยอมให้ไป และต้องการให้นักพัฒนามันตายกันหมด

ถ้าจะอ้างว่า “เป็นคนไทยต้องช่วยกัน” … ผมก็อยากจะกราบทุกท่านตรงนี้ ว่าท่านพูดได้โดนใจผมเหลือเกิน

แล้วพวกเราล่ะ … ไม่ใช่ “คนไทย” กระนั้นหรือ? แล้วทำไมท่านไม่ช่วยเราบ้าง?

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

มันเป็น The price we all have to pay … สิ่งที่พวกเราทุกคนต้องจ่ายด้วยกัน

ด้วยความเคารพ
รวิทัต ภู่หลำ, ศิลปินซอฟต์แวร์ นักเขียน และอาจารย์มหาวิทยาลัย


[อัพเดท 10/07/2555] ป.ล. ผมเขียนเรื่องนี้ ตั้งใจเพื่อเป็น wake up call ด้วยส่วนหนึ่ง ดังนั้นจะแรงหน่อย และผมต้องการชี้ให้เห็นภาพที่มันใหญ่ขึ้นอีกนิดหน่อย ของอุตสาหกรรม IT ว่ามันเป็นเรื่องของพวกเราหลายต่อหลายคน รวมถึงผู้บริโภคด้วย มากกว่าแค่นักพัฒนา

นาฬิกาปลุก มันต้องดังหน่อย ต้องแรงหน่อย ไม่งั้นคงจะหลับกันต่อไป แล้วมันก็จะกลับมาเดินปกติต่อไป จนถึงเวลาที่จะต้องปลุกอีกครั้ง

ก่อนที่มันจะกลายเป็นนาฬิกาตาย … เมื่อถ่านมันหมดไฟ และใจมันหมดลาน

[ประกาศ] iOS SDK 5 & Xcode 4.2 Training

ทีมงาน Code App จัด Training สำหรับ iOS 5 SDK & Xcode 4.2 ครับ จัดเต็ม 4 วัน 17, 18, 24, 25 ธันวาคม รายละเอียดดูได้จากเว็บไซต์ของ Code App ครับ

พัฒนา iOS Application ด้วย iOS 5 SDK & Xcode 4.2

หลังจากนี้จะมี Training ระดับ intermediate และ advanced แบบเจาะเฉพาะเรื่องมาเรื่อยๆ ครับ เช่น Data Persistent & Core Data, Web Services, Core Image, Social Network Applications เรื่องละ 1-2 วัน คอยติดตามนะครับ แต่สำหรับแต่ละเรื่องพวกนี้จะไม่ลงพื้นฐานแล้ว จะเจาะเข้าเรื่องเลย เพราะว่าผมไม่อยากทำ Training แบบกว้างๆ เรื่อยๆ แต่ไม่ได้อะไรแบบลงลึกเท่าไหร่

สำหรับคอร์สนี้ ลงทะเบียนได้ในลิงค์ข้างบนครับ

iOS หรือ Android?

เร็วๆ นี้ผมไปบรรยายเรื่อง Mobile Application Development ให้กับแลบ MSCIM ซึ่งก็มีคำถามน่าสนใจ ว่าจะทำบน iOS หรือ Android ดี

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

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

ผมมีข้อคิดแบบนี้ก็แล้วกัน

  • เขียน app ลง iOS จริงๆ มันต้องทำบน Mac ด้วย ดังนั้นถ้าไม่มี Mac หรือไม่ได้วางแผนจะซื้อ Mac ภาษีสำหรับการคิดจะซื้อ iOS แพลตฟอร์มมาเพื่อพัฒนาโปรแกรม ก็ลดน้อยลงไปด้วย (แต่ใช้ VMWare ก็ได้นะ แต่ผมเองก็ไม่เคยใช้ Xcode บน OS X บน VMWare สำหรับการพัฒนาลงเครื่องเหมือนกัน)
  • เช่นเดียวกัน (แต่ตรงกันข้าม) เท่าที่ผมทราบนะ เครื่องไม้เครื่องมือสำหรับพัฒนา Android บน Mac มันค่อนข้างจะสู้แพลตฟอร์มอื่น (เช่น Windows) ไม่ได้นะ
  • จะเอา app ลงเครื่องจริง สำหรับ iOS ต้องเสียตังค์ $99 ให้กับ Apple นะ นอกจากมหาวิทยาลัยจะมีคอร์สสอน iOS Development และ register กับ Apple (ไม่มีค่าใช้จ่าย) ก็จะให้ น.ศ. เอา app ลงเครื่องได้ แต่ขายไม่ได้ ถ้าจะขาย ก็ต้องเสียเงินเอง
  • ผมไม่มีข้อมูลเรื่องนี้สำหรับ Android
  • iOS vs Android ถ้ามองในมุมมองนักพัฒนาแล้ว มันมีข้อดีข้อเสียต่างกันนะ ในแง่ของ Hardware Diversity แล้ว iOS เหนือกว่าเยอะ เพราะว่ามันแทบไม่มี diversity … ซึ่งสำหรับนักพัฒนาที่ต้องเขียนโปรแกรม support อะไรต่ออะไรแล้ว diversity เยอะเป็นเรื่องไม่ค่อยจะดีเท่าไหร่ แค่ iPhone 3Gs กับ iPhone 4 ที่มีความละเอียดหน้าจอต่างกัน ต้องเตรียมภาพ 2 resolution ไหนละจะ iPad อีก แค่นี้ก็รำคาญแย่แล้ว
  • แต่สุดท้าย มันต้องเริ่มด้วยการเป็น “ผู้ใช้” ก่อน แล้วจะเริ่มจากการใช้อะไรดี?
  • ข้อแนะนำง่ายๆ คือ หน้าด้านไปยืนเล่นเรื่อยๆ ว่าชอบอะไรมากกว่ากัน ต่อให้มันดีแค่ไหน ถ้าใช้แล้วไม่ชอบ มันก็แค่นั้นแหละ ความชอบมันวัดแทนกันไม่ได้เสียด้วยสิ ไปยืนเล่นเลย ถ้าร้านเริ่มมองหน้า ก็เปลี่ยนร้าน
  • ลองใช้โปรแกรมพื้นฐานทั้งหลายทั้งแหล่ โทรเข้าโทรออกทำไง ดูปฏิทินทำไง เล่นเน็ตทำไง download โปรแกรมเพิ่มทำไง พอใจความเร็วมั้ย ฯลฯ เอาแค่นี้แหละ ลองสัก 1-2 สัปดาห์ ก็น่าจะรู้แล้ว ว่าชอบอะไร
  • อย่าลืมเรื่อง form factor ด้วยนะ เอาให้เหมาะมือ เอาให้ถือสบาย เพราะว่ายังไงเราก็ต้อง “ถือ” มันเวลาใช้งาน หยิบขึ้นมา ถือไว้นิ่งๆ สัก 5 นาทีเป็นอย่างน้อย ถ้ารำคาญ ก็ไม่ต้องเอา จากนั้นลองเอานิ้วโป้งลูบให้ทั่วหน้าจอ ถ้ามีส่วนไหนลูบไม่ถึง หรือว่าฝืนมือ ก็ไม่ต้องเอา เพราะว่านี่คือการใช้งานพื้นฐาน ว่างั้น
  • อย่าลืมคิดถึงเรื่องคุณภาพของ app ไว้ด้วยนะ จิตใต้สำนึกของผมมันบอกว่า iOS app บน AppStore จะมีคุณภาพ “โดยเฉลี่ย” และมีความ consistency ในเรื่องการใช้งานมากกว่า Android app บน Market ด้วยเหตุผลเรื่อง “ความเปิด” ของการให้นำ app ขึ้น store ดังนั้นมองจากมุมของ “คนที่ต้องเรียนรู้ลักษณะของ app” (ย้ำนะ จากมุมนี้เท่านั้น ไม่ใช่จากมุมมองของ consumer ทั่วไป) แล้ว iOS มีภาษีดีกว่ามาก
  • อย่ารอรุ่นใหม่มากนัก เพราะว่าต้องรอต่อไปเรื่อยๆ เล่นก่อนก็ได้เรียนรู้ก่อน

ประมาณนี้แหละ หวังว่าจะเป็นประโยชน์บ้างนะครับ

ป.ล. บรรยายโคตรสนุก สนุกมากๆ

Update 1: ที่สำคัญนะครับ อย่ามัวแต่เถียงกัน หรือก่อสงครามว่าอะไรดีกว่ากัน มือถือที่ดีที่สุด คือมือถือที่เราชอบที่สุด ใช้ประโยชน์ได้สูงสุด อย่าเอา spec มาเถียงกัน อย่าฉะกันว่าไอ้นั่นไม่มีนี่ ไอ้นี่ไม่มีนั่น ตัวเองคิดว่าอะไรดี ก็ไม่ต้องไปบอกให้คนที่ไม่เห็นด้วยเขาเห็นด้วย ถึงจะเถียงชนะ คุณก็ไม่ได้เงินหรือว่าเครดิตอะไรจากทั้ง Apple ทั้ง Google อยู่ดี ทำประโยชน์อะไรให้ชาวโลกก็ไม่ได้ เสียเวลาเปล่าๆ เอาเวลาทำแบบนั้น ไปนั่งหัดเล่น หัดเขียน app ดีกว่า อาจจะได้เงินใช้บ้าง ได้ทำประโยชน์จริงๆ ให้คนที่อยากใช้ app เราบ้าง

Buying List & Buying List Free

โปรแกรมทำ Shopping List ที่เน้นความเรียบ ความง่าย และความรวดเร็วในการใช้งานเป็นหลัก เกิดจากความขี้เกียจในการดึงเศษกระดาษกับหาปากกามาจดว่าจะซื้ออะไร ถ้าซื้อได้ก็รอดตัวไป ถ้าซื้อไม่ได้ ก็มักจะลืม เพราะกระดาษชิ้นนั้นจะถูกทิ้งไป พยายามหาโปรแกรมทำ Shopping List, To do list, To buy list หรืออะไรก็แล้วแต่แบบนี้ตั้งนาน มีแต่ซับซ้อนไปทั้งนั้น (จากความต้องการของตัวเอง) ก็เลยตัดสินใจพัฒนาโปรแกรมนี้ขึ้น

เป้าหมายง่ายๆ คือ “ต้องไม่ช้ากว่าหรือลำบากกว่าการหยิบกระดาษขึ้นมาจดๆๆ” ดังนั้นฟีเจอร์อะไรก็ตาม ที่จะทำให้มันไม่บรรลุเป้าหมายนี้ (พวกที่โดยส่วนตัวผมคิดว่าเป็น Nice to have แต่อาจจะใช้บ้างไม่ใช้บ้าง) ผมหั่นทิ้งเรียบ และโฟกัสกับการทำยังไงก็ได้ ให้มันไม่ช้ากว่า ลำบากกว่าการดึงกระดาษขึ้นมาจด …​ ต้องดึงมาใช้งานและเก็บลงกระเป๋าได้ในเวลาน้อยที่สุดเท่าที่จะทำได้ … ผมคิดว่า ถ้าต้องการฟีเจอร์ที่ผมตัดทิ้งไปเหล่านั้น มีทางเลือกอีกเยอะมาก ใน App Store ครับ


screenshots.jpg
Screenshot จาก iTunes App Store

โปรแกรมมี 2 รุ่นครับ คือ รุ่นจ่ายเงิน ($0.99) และ รุ่นฟรี ซึ่งจะจำกัด Favorite Items ไว้ที่ 10 items และใช้ iAd support (แต่ไม่มีผลกับ account ประเทศไทย เพราะ iAd ยังมาไม่ถึง ถ้าไม่ใช่ account อเมริกา ก็ไม่มี Ad โผล่มา) และสุดท้าย ต่างกันที่ไอคอน รุ่นจ่ายเงินเป็นสีดำ Metallic ออกแบบโดยใช้ Theme แบบ MacBook Pro ส่วนรุ่นฟรี เป็นสีขาวเรียบๆ แบบ MacBook


large_icon.png large_icon_free.png

ลองใช้กันดูนะครับ … ถ้าชอบ และอยากให้พัฒนาโปรแกรมต่อไป ก็ช่วยกันสนับสนุนกันหน่อยนะครับ


as_available_appstore_icon_20091006.png

AppDiscover badge

ล่าสุด โปรแกรมนี้ถูกรีวิวโดย AppDiscover Blog ใน entry Buying List by Rawitat Pulam ครับ ขอ Quote ไว้ตรงนี้ด้วยก็แล้วกัน

Buying List is a sweet little list building app for the iphone by Rawitat Pulam. It allows you to manage items you wish to buy now and in the future efficiently with two simple lists, your shopping history, and a customizable list of favorites.

Once you learn Buying List’s interface, it’s a joy to use. There are four tabs at the bottom: buying now, buy later, history, and favorites. Here’s how it works:

You can add items directly to the buying now or buy later list. Tap any item on the buying now list once you’ve purchased it. When you’ve completed your shopping, press the new list button and the items you’ve purchased are moved to the history along with the date you purchased them. Any items that you have not purchased are automatically moved to your buy later list.

From the buy later list, selecting a few items and pressing the new list button adds them to your current buy now list.

Additionally, any item on your lists can be added to your favorites by tapping a star icon. Your favorites list functions much like the buy later list. Tap a few items, hit new list, and they’re added to your current buy now list.

The interface is a bit complicated to describe, but once you get used to it you can quickly build manageable lists from a large set of items you need to buy. If you are a shopping list person, I would highly recommend it. The free version allows only 10 favorites. Get the full version for $0.99

Setup Aquamacs for Erlang

A quick note about how to setup Aquamacs (Cocoa Emacs distribution) for coding Erlang (the next kid in town).

I assume you install Erlang via Macports so if you install it via any other mean, something will vary (I used to install it, along with everything else, from source; but currently the Macports is just easier).

The setup is simply adding the following lines into your ~/.emacs file

(setq load-path (cons "/opt/local/lib/erlang/lib/tools-2.6.4/emacs" load-path))
(setq erlang-root-dir "/opt/local/lib/erlang")
(setq exec-path (cons "/opt/local/lib/erlang/bin" exec-path))
(require 'erlang-start)

Please note that the actual path may vary from installation to installation (version numbers, most probably). So check yours.