แสดงบทความที่มีป้ายกำกับ mobile แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ mobile แสดงบทความทั้งหมด

วันพฤหัสบดีที่ 10 มกราคม พ.ศ. 2556

ยุคนี้ถ้าไม่ App แบ้วแล้วจะ App อะไรดี??

เจอมาเยอะ เจ็บมาเยอะ (พี่สมจิตเค้า) เขียนโปรแกรมไว้ขึ้นหิ้ง ไม่มีใครใช้ ไม่มีใครโหลด ไม่เว้นแม้กระทั้ง App ใหญ่ๆ ฟีเจอร์เจ๋งๆ คนเขียนก็เทพ concept ก็สุดยอด ทำไมมันขายไม่ออกหว่า (อันนี้น่าคิด เพราะถ้ามันไม่เกี่ยวกับหน้าตาขอคนเขียน มันต้องมีสาเหตุ)

ความแตกต่างระหว่าง Project กับ Product
   ก่อนอื่นมาทำความเข้าใจกันก่อนว่า Application มันแบ่งได้หลายแบบ แต่ถ้าจะให้เกี่ยวเป็นเรื่องเดียวกันผมขอแบบตามที่มาของ Requirement
  • Project  ส่วนใหญ่จะมี requirement ที่ชัดเจน โจทย์มาจากลูกค้า หรือผู้ว่าจ้าง ผู้ใช้จะเป็นเฉพาะกลุ่ม หรือเฉพาะธุรกิจ ที่ต้องการปรับปรุงประสิทธิภาพการทำงานขององค์กร หรือปรับปรุงบริการให้กับลูกค้า ตัวอย่างเช่น ระบบ บัญชี , ERP, CRM เป็นต้น
  • Product  เป็นสิ่งที่สร้างจากสมมติฐาน เพื่อแก้ไขปัญหาเฉพาะอย่างเหมือนกัน แต่โดยมากมาจากการคาดเดาความต้องการ หรือจากการสอบถามความคิดเห็นของกลุ่มเป้าหมาย ตัวอย่างเช่น พวก App บน Mobile ส่วนใหญ่ที่เปิดให้ download , พวก Software สำเร็จรูป อย่างพวก MS.Office โปแกรมแต่งรูป (ซึ่งบางครั้งมันอาจจะไม่ได้ตอบโจทย์การใช้งานทั้งหมดของคุณ ทำได้อย่างเดียวคือการ update version)
คุณเข้าใจความต้องการของผู้ใช้จริงเหรอ???
    ผมจะไม่พูดเรื่องของ Project นะครับ เพราะส่วนใหญ่จะเป็นระดับองค์กร และมีทีมงานขนาดใหญ่สำหรับพัฒนาระบบ กลุ่มเป้าหมายชัดเจนอยู่แล้ว แต่ก็สามารถเอาไปประยุกต์ใช้ได้
    ถ้าคุณต้องการสร้าง Product หรือ Application เพื่อที่จะขาย โดยเฉพาะขายให้กับคนหมู่มาก ก็ต้องมามองกลุ่มผู้ใช้ให้ออกก่อนว่าเป็นใคร การใช้งานเป็นรูปแบบส่วนบุคคล กลุ่มคน องค์กร หรือกลุ่มสังคม ซึ่งแต่ละรูปแบบ ก็มีความแตกต่างกันอย่างมาก บางคนคิดแค่ว่าอยากเขียน อยากทำ แต่ไม่รู้ว่าจะมีใครมาใช้ด้วยรึเปล่า นั่งทำไป 2 เดือน โปรแกรมเสร็จ ไม่มีใครเอาไปใช้ (มองในแง่ดีคือได้ประสบการณ์ ... แต่ถ้าได้เงินด้วยมันจะไม่ดีกว่าเหรอ??)
    บางอย่างเราพยายามยัดเยียดเทคโนโลยี ขั้นตอนการทำงานที่ซับซ้อน สีสันที่ดึงดูด ซึ่งอาจจะไม่ใช่สิ่งที่ผู้ใช้ต้องการจริงๆ เพราะมันไม่ได้ช่วยให้ปัญหาของพวกเค้าได้รับการแก้ไข

ปัญหาคืออะไร ทำยังไงถึงจะมีปัญหา
   ถ้าใครที่เรียนสาย Com.Eng หรือ Com.Sci หรือสาขาอื่นๆ ที่ต้องทำ Senior Project ก็จะรับทราบข้อนี้เป็นอย่างดี บางคนคิดแค่ว่าตอนนี้เขียนอะไรได้ ทำอะไรเป็น แล้วค่อยคิดหัวข้อตามนั้น (ใช่แล้วครับ มันเหมือนกับการคิดหัวข้อโปรเจ็คจบนั่นแหละ) ถ้าสิ่งที่เราทำมันไม่ได้ช่วยแก้ปัญหาใดๆกับชาวโลกเลย ก็เปล่าประโยชน์ที่จะทำ มาลองดูว่าปัญหาอะไรบ้างที่ควรได้รับความสนใจ (แค่ยกตัวอย่างให้ดูนะครับ)
  • ปัญหาส่วนตัว    เช่น บัญชีส่วนบุคคล, รายการที่ต้องทำ, บันทึกประจำวัน 
  • ปัญหาของกลุ่ม เช่น การสื่อสารภายใน, การกำหนดนัดหมาย, การประชุมย่อย
  • ปัญหาองค์กร    เช่น การจัดการบุคคล, สื่อสารองค์กร, ประชาสัมพันธ์, จัดการลูกค้า
  • ปัญหาสังคม      เรียกได้ว่าเป็นปัญหาของคนหมู่มากก็ได้ เช่นการสื่อสาร สิ่งแวดล้อม
   เมือได้ปัญหาแล้วค่อยมาวิะเคราะห์ดูว่า เรามีศักยภาพพอที่จะแก้ปัญหานั้นด้วยโปรแกรมได้หรือไม่ ต้องใช้กำลังและทรัพยากรอะไรบ้าง บางครั้งปัญหาก็อาจจะเกิดจากการแก้ปัญหาก่อนหน้านี้ก็เป็นได้ เช่น

ข้อมูลอยู่คนละที่-> นำมาขึ้น Internet -> สร้างระบบค้นหา (Google)  -> ได้ผลการค้นหาแล้ว ข้อมูลก็ยังเยอะและไม่อยู่ใน 10 อันดับแรกที่เราต้องการ

อีกตัวอย่างหนึ่ง
อยากมีเพื่อนเยอะๆ -> social network -> มีเพื่อนเยอะละ -> อยากกันเพื่อนเป็นกลุ่มๆ
ส่งข้อความธรรมดาไม่สวย -> ระบบ Sticker, Emo -> มี Sticker เยอะเกิน หาไม่เจอ (ฮา)

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

สนใจชาวโลกบ้างก็ดี เค้าเดือดร้อนอะไรกัน เงินมันมาทีหลัง
   บางครั้งปัญหาที่เราพบก็อาจจะกลายเป็นปัญหาสารธาณะ (ของชาวโลก) ก็เป็นได้ และถ้าคุณมีวิธีแก้ไขที่ดีพอ ค่าใช้จ่ายไม่สูงมาก ถึงเวลาอาจจะกลายเป็นมหาเศรษฐี ชั่วข้ามปี ก็เป็นได้ ตัวอย่าง
  • อยากพูดคุยและแชร์ความรู้สึกกับเพื่อน -> Facebook
  • อยาก chat มันส์ ๆ หรือส่งข้อความโดยไม่ต้องเสียตังค์ -> LINE
  • อยากเก็บข้อมูลแล้วเข้าถึงจากที่ไหนก็ได้ -> Dropbox
  • อยากค้นข้อมูลของทั้งโลก -> Google
  • อยากเพิ่มช่องทางขายหนังสือ -> Amazon
  • อยากแชร์วิดีโอให้ครอบครัวกับเพื่อนๆดู -> Youtube
   ตัวอย่างที่ list มาเป็นบริษัทที่ทำรายได้ต่อปีอยู่ในอันดับต้นๆ รวมถึงบริษัทหน้าใหม่ที่เริ่มจากแนวคิด ความต้องการในการแก้ปัญหา แต่พอดีว่ามันไปตรงกับคืนอื่นๆ อีกหลายล้านคนทั่วโลก บวกกับระบบการทำเงินในลักษณะของการโฆษณา และการแบ่งรายได้ที่ฉลาดขึ้น ทำให้ตอนนี้ นับเงินกันไม่ทันเลยทีเดียว (ตอนเริ่มต้นอย่าเพิ่งไปคิดถึงเรื่องเงิน หรือการยอมรับ เพราะอาจจะทำให้ท้อและล้มเลิกกลางคันได้ ให้ค่อยๆคิด ค่อยๆทำ เดินอย่างมั่นคงทีละก้าว แล้วความสำเร็จจะตามมาเอง)

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

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

Aj.Bee

วันพุธที่ 9 มกราคม พ.ศ. 2556

จับสาย Mobile ค่ายไหนรุ่ง \o/

ส่วนใหญ่สิ่งที่ผมเขียนมักจะมาจากคำถามของคนรอบๆตัว คราวนี้ถึงรอบคำถามยอดฮิตคืองานสาย Mobile Programming เพราะตอนนี้มือถือกลายเป็นปัจจัยที่ 6 แล้วใครๆ ก็ใช้ Smart Phone (ของผมยังใช้ Smart คนอยู่เลย ฮา) ความเห็นของผม มาจากการอ่าน การพูดคุย วิเคราะห์ สังเคราะห์ ไม่ได้ขอให้เชื่อ แต่ให้ลองนำไปพิจารนาดู จะได้ไม่พลาดโอกาสดีๆ ตกขบวนรถไฟไป

คำถามยอดฮิต เขียนของค่ายไหนดี
    ที่ถามอย่างนี้เพราะปัจจุบันมีอยู่ 3 ค่ายหลักที่กำลังอยู่ในกระแสบ้านเราคือ iOS, Android และ Windows Phone (ส่วนของ BB ผมว่าหลังๆ เงียบถึงเงียบที่สุด) ซึ่งจริงๆ ถ้าไปดูชาวโลกเค้ามันมีมากกว่านี้นะครับ แล้วประชากรส่วนใหญ่ของโลก ก็ไม่ได้มี Smart Phone ครบทุกคน ลองมาวิเคราะห์ ข้อได้เปรียบเสียเปรียบของแต่ละค่ายดู

 iOS (Apple)
   คือเขียนรองรับอุปกรณ์ iDevice ทั้งหมดได้แก่ iPod, iPhone, iPad จุดเด่นของค่ายนี้คือระบบ Eco System ที่เป็นแรงดึงดูดเหล่าสาวกทั้งหลาย และผู้ใช้ส่วนใหญ่ก็มีกำลังซื้อและพอใจที่จะซื้อ Application อย่างเต็มใจเพื่อแลกกับคุณภาพและความประทับใจในการใช้งาน ตัว Hardware ไม่ต้องพูดถึงเพราะดีอยู่แล้ว(ของเค้าแรงจริง) จุดแข็งอีกอย่างหนึ่งคือ เรื่องของการควบคุมการแสดงผลที่จัดการเรื่อง Multi Screen size และ rotation รวมถึง Gingure ได้อย่างยอดเยี่ยม ทำให้นักพัฒนาเหนื่อยน้อยลง
  อุปสรรค์สำหรับการพัฒนาบน platform นี้คือการพัฒนาที่ค่อนข้างเป็นระบบปิด โดยถ้าไม่เสีย $99 เหรียญ (จริงๆ ถือว่าไม่เยอะสำหรับสิ่งที่ได้) ก่อนก็จะไม่สามารถลอง deploy app ลง device จริงได้ แต่พี่ไทยก็มีทางแก้นะ คือการสมัครและใช้ account ร่วมกัน แต่สิ่งที่ยากก็คือการฝ่าด่านอรหันต์กว่าจะเอาแอพฯ ขึ้น App Store ได้บางคนถ้าไม่เคยมาก่อน อาจถึงขั้นน้ำตาหยดเป็นเลือดก็เป็นได้

Android (Google)
  รองรับอุปกรณ์ที่ใช้ระบบปฏิบัติการ Android ทั้งหมดโดย hardware หลักในบ้านเราส่วนใหญ่จะเป็น Samsung พวก Galaxy Sx, Galaxy Tab และ Galaxy Note ... ยังไม่พอยังมีของค่ายอื่นๆ รวมถึงของพี่จีนด้วย เรียกว่าเยอะรุ่น คละขนาด ประสิทธิภาพจนลายตากันเลยทีเดียว ... คนใช้ Android ส่วนใหญ่จะเชื่อในเรื่องสังคมของการแบ่งปัน และนิยมของฟรี ... ทำให้นักพัฒนาต้องคิดหนัก ว่าทำยังไงถึงผู้ใช้ถึงจะยอมควักเงินจากกระเป๋าซื้อ App ของตัวเอง ...รวมถึงกลไกในการป้องกันการลง App เถื่อนเองก็ยังมีประสิทธิภาพไม่ดีพอ แต่ด้วยจำนวนผู้ใช้ ที่มากกว่า iOS หลายเท่าก็พอจะถัวเฉลี่ยกันไปได้
  จุดเด่นของการพัฒนาบน platform นี้คือถ้ามีพื้นฐานเดิมจาก Java ก็เริ่มกับ Android ได้ไม่ยาก รวมถึง Community ที่ค่อนข้างเปิด มีพวก Greek ให้ปรึกษาเยอะ ที่สำคัญคือ ทุกอย่างฟรี  รวมถึงระบบสนับสนุนของ Google หลังๆก็เปิด API ให้ใช้เพิ่มขึ้นเรื่อยๆ ทั้งการพัฒนาด้านของตัว UI เองก็เริ่มจะมีลุ้นและสูสีกับค่ายด้านบน  อีกทั้งนักพัฒนายังสามารถทดสอบ App ของตัวเองบน Hardware จริงโดยที่ไม่ต้องเสียเงิน (ถ้าจะเอาขึ้น Market ค่อยเสียค่าสมัคร  ...อืมม แต่ว่าตัว Emulator นี่ยังอืดๆ อยู่นะ ฮาา)

Windows Phone (Microsoft)
    ถือเป็นน้องใหม่ (จะว่าใหม่ก็ไม่เชิง แต่ของเดิมมันไม่ค่อยรุ่ง) ที่แก้จุดด้อยของตัวเองคือเรื่องของ UI และ Screen Flow และการดึงพันธมิตรร่วมอย่าง Nokia และ HTC เข้ามาทำให้ขยายฐานผู้ใช้ได้อย่างมาก และแล้วแนวคิดของการมองข้ามเรื่องของ Hardware platform ก็เริ่มนำมาใช้ คือเขียนทีเดียวได้ทั้ง Mobile, Tablet, PC รวมไปถึง Big Screeen device (พวก TV จอยักษ์) ทั้งในแง่ของการพัฒนาก็สามารถดึงนักพัฒนาจาก version เดิมขึ้นมาได้ ...จะมีที่ดูแปลกใหม่หน่อยตรงส่วนของการเขียนแบบ JavaScript+HTML5 แต่ก็ถือว่าไม่ใหม่มากสำหรับใครที่อยู่ในวงการอยู่แล้ว
   จุดที่เห็นจะเป็นการบ้านหนักของ MS คือการพยายามดึงนักพัฒนาและสร้างจำนวน Application ให้เพิ่มขึ้นอย่างมีนัย ให้เพียงพอที่จะดึงดูดลูกค้าจากค่ายอื่นให้มาลองใช้ดู (แต่เรื่อง Marketing หลังๆรู้สึกพี่แกจะแผ่วๆไปนะ) ถ้าใครเคยลง Windows 8 หรือเล่นพวก Windows Phone (Lumia 920) ก็จะพบว่ามี App หรือ เกมส์ ให้เล่นยังไม่เยอะนัก ทำให้ลูกค้าส่วนใหญ่ยังลังเลกันอยู่

สรุปเลือกตัวไหนดี ?? ชักงงละเนี้ย  -_-"
   ถ้าเพิ่งเริ่มเขียน Mobile App ผมแนะนำให้เขียนกับ Android จะง่ายที่สุด เพราะต้นทุนไม่เยอะ รวมถึงเครื่อง Android ที่จะนำมาทดสอบราคาก็ไม่สูงมาก อีกทั้งมีคนเขียนกันเยอะหาที่ปรึกษาได้
   แต่ถ้าเริ่มมองหาตลาดที่จริงจัง กลุ่มผู้ใช้ใน class premium มากขึ้น และคาดหวังกับยอดขาย App ให้เริ่มลงทุนกับ iOS แน่นอนต้องลงทุนกับเครื่อง Mac (หรือไม่งั้นก็จัดเครื่องแรงๆ RAM เยอะๆ มาลง VM ...แต่เชื่อเถอะเขียนบน Mac ลื่นกว่าเยอะ) รวมถึงต้นทุนอีก $99 US ต่อปี (ถ้าได้กลุ่มเพื่อนอาจจะขอแชร์กันได้)
   ส่วนของ Windows Phone ส่วนตัวผมคิดว่าเป็นตัวที่ไล่หลังมา กลไกในด้านของการ ซื้อขาย รวมถึงฐานผู้ใช้ ยังค่อนข้างคลุมเคลืออยู่มาก แต่ก็มีแนวโน้มที่ดีในอนาคต (ถ้ามี Hardware เจ๋งๆ ออกมาเยอะๆ อะนะ) ที่สำคัญต้อง Dev บน Windows 8 และใช้ VS.Studio .NET ในการพัฒนา (แต่ถ้าให้เทียบกันตัวนี้ Emulator เร็วสุด ...ถ้าเขียนเป็นแบบ HTML5 +Javascript นะ)

สุดท้าย หากต้องการเก็บฐานลูกค้าทุกกลุ่ม ก็ต้องเขียนมันทั้ง 3 Platform อยู่ดี ...สังเกตุจากค่ายเกมส์ หรือค่าย Mobile App ส่วนใหญ่จะมีให้บริการในทุก Platform และมีตัวช่วยในการเชื่อมโยงข้อมูลด้วยระบบ Cloud Storage  บางเจ้าที่ลงในระดับที่ไม่ลึกถึง Hardware มากนัก อย่างเช่นการทำ Catalog on mobile , eMagazine ก็จะหันไปใช้ Mobile Web ที่เขียนด้วย HTML5 + jQuery Mobile (หรือ Javascript Framework ค่ายอื่นๆ) ก็เพียงพอแล้ว ถ้าต้องการแปลงให้เป็น Native ก็ค่อยใช้เครื่องมือพวก PhoneGap มาช่วยแปลงอีกที (แต่ยังไงก็ต้องมี Environment ของแต่ละ platform ด้วยอยู่ดี)

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

Aj.Bee