ตอนแรกของชุดบทความพัฒนาผลิตภัณฑ์อิสระของผม
ในฐานะนักพัฒนาอุปกรณ์เคลื่อนที่ ความปรารถนาสูงสุดของผมย่อมเป็นการ เขียนแอปแล้วนั่งรอเงินไหลมา ( ͡° ͜ʖ ͡°) นั่นเอง
เราจะพบปัญหาอะไรบ้างระหว่างสร้างแอปด้วยตัวเอง เมื่อไม่นานมานี้ผมเพิ่งเผยแพร่แอปของตัวเอง จึงอยากแบ่งปันปัญหาที่พบและวิธีแก้ไข
1. กำหนดความต้องการ
เหตุผลที่แต่ละคนอยากสร้างแอปอิสระอาจแตกต่างกันเล็กน้อย
ในภาพใหญ่ คุณอาจมองเห็นความต้องการเร่งด่วนที่หากแก้ได้ก็เปลี่ยนโลกได้ ขาดเพียงโปรแกรมเมอร์คนหนึ่ง
ในภาพเล็ก คุณอาจแค่อยากเห็นแอปของตัวเองใน App Store อาจเป็นการทดลองเทคโนโลยีใหม่ เช่น หลัง iOS 8 เปิดตัวส่วนขยาย Today ก็มีแอปโดดเด่นจำนวนมากที่สร้างจากแนวคิดนี้ หรืออาจเป็นเครื่องมือที่แก้ความไม่สะดวกในชีวิต เช่น แอปจัดการไฟล์หรือแอปสภาพอากาศที่มีฟีเจอร์ใส่ใจผู้ใช้
ค้นหาความต้องการสักอย่าง ไม่ว่าใหญ่หรือเล็ก สิ่งนั้นจะเป็นแรงผลักดันให้คุณทำต่อไป
ผมสร้างแอปจัดการไฟล์ชื่อ “File Manager” เพื่อตอบโจทย์ของภรรยา
File Manager เปลี่ยนโทรศัพท์ให้เป็นเซิร์ฟเวอร์ อุปกรณ์อื่นในเครือข่าย Wi-Fi เดียวกันจัดการไฟล์ผ่านเบราว์เซอร์ได้ ทั้งจัดกลุ่มโฟลเดอร์ คัดลอก ย้าย อัปโหลด และดาวน์โหลดไฟล์
หลังตัดสินใจทำความต้องการนี้ ผมใช้เวลาราวสามเดือนก่อนเผยแพร่โครงการ และได้เรียนรู้ Swift ไปด้วย
2. ต้นแบบและการโต้ตอบของแอป
เมื่อมีความต้องการและวิธีแก้ คุณน่าจะมีภาพคร่าว ๆ ของต้นแบบและวิธีที่ผู้ใช้จะใช้งาน ขั้นต่อไปคือกำหนดหน้าจอและการโต้ตอบจริง
ผมลองเครื่องมือสร้างต้นแบบอยู่หลายตัว แล้วก็เลิกใช้
ผมพบว่าเวลาที่ต้องเรียนเครื่องมือและจัดหน้าจอนั้นมากพอจะสร้างหน้าจอด้วย xib ได้เลย สุดท้ายจึงแก้ปัญหาต้นแบบด้วยภาพร่างที่วาดด้วยมือ
ต่อมาเมื่อทำผลิตภัณฑ์อื่น ผมจึงตระหนักว่าต้นแบบยังจำเป็น การทำต้นแบบคือกระบวนการจัดระเบียบตรรกะให้สอดคล้องกัน
3. แล้วไอคอนเล็ก ๆ ในแอปล่ะ?
เมื่อต้นแบบลงตัว ผมก็พอมองเห็นโครงสร้างโดยรวมของโครงการ แต่นอกจากโค้ดแล้วยังมีอีกปัญหาที่นักพัฒนาอิสระทุกคนหลีกเลี่ยงไม่ได้!
จะทำอย่างไรกับไอคอนเล็ก ๆ ทั้งหมดที่ใช้ในโครงการ?
ต่อไปนี้คือคลังไอคอนบางส่วนที่ผมเคยใช้:
- คลังไอคอนของ Alibaba → ชุดไอคอนเวกเตอร์ครบถ้วน ปรับสีและขนาดได้อย่างอิสระ ถือเป็นแหล่งที่ใจกว้างมาก แต่การใช้เชิงพาณิชย์ยังต้องขออนุญาตผู้สร้าง
- icons8 → ไอคอนแบบแบนฟรี 56,500 ชิ้น! มีไอคอนสำหรับแพลตฟอร์มต่าง ๆ และยังมีแอป Mac
- iconfinder → มีชุดไอคอนครบเช่นกัน โดยมีรูปแบบเชิงพาณิชย์ที่ชัดเจนกว่า
4. การทดสอบเองและทดสอบเบตา
ในบริษัท เรามีผู้ทดสอบ เพื่อนร่วมงานด้านผลิตภัณฑ์ และทีมอื่นช่วยกันปรับปรุงแอป นักพัฒนาอิสระจะค้นหาและป้องกันบั๊กให้ได้มากที่สุดตั้งแต่เนิ่น ๆ อย่างไร?
4.1 ทดสอบด้วยตัวเอง
ตอนนี้ผมต้องทำงานที่เคยส่งให้ทีมทดสอบเอง นอกจากการทดสอบด้วยมือ เรายังเลี้ยง ลิงทดสอบ ไว้ช่วยทดสอบได้
4.2 รับสมัครผู้ทดสอบเบตา
การสร้างแอปอิสระหมายถึงต้องรับหลายบทบาทนอกเหนือจากนักพัฒนา ทั้งผลิตภัณฑ์ ปฏิบัติการ บริการลูกค้า และอื่น ๆ การประชาสัมพันธ์ก็เป็นหน้าที่ของเรา เริ่มจากเพื่อน เพื่อนร่วมชั้น และครอบครัว แล้วโพสต์บนเครือข่ายสังคมว่า แอปของฉันใกล้เสร็จแล้ว มาช่วยลองกันหน่อย!
ผู้ใช้เบตาไม่ได้มีหน้าที่แค่หาบั๊ก ความต้องการและข้อเสนอแนะใหม่ ๆ ของพวกเขายังช่วยเติมเต็มและปรับปรุงแอปได้มากกว่าเดิม
4.3 แจกจ่ายรุ่นทดสอบ
หากขอรหัสอุปกรณ์ของผู้ทดสอบเบตาได้สะดวก คุณใช้แพลตฟอร์มโฮสต์เบตาอย่าง Pgyer หรือ fir.im ได้ โดยมีข้อจำกัดเรื่องอุปกรณ์
หากขอรหัสอุปกรณ์ได้ยาก คุณใช้ TestFlight ของ Apple ซึ่งเปิดให้ใช้หลัง iOS 8 และรองรับผู้ทดสอบเบตาได้สูงสุด 10,000 คน
5. ภาพหน้าจอ App Store
ทำไมภาพหน้าจอสำหรับเผยแพร่จึงต้องมีหัวข้อของตัวเอง? นักพัฒนาอิสระมีช่องทางประชาสัมพันธ์ไม่มาก ภาพหน้าจอและคำอธิบายในหน้าผลิตภัณฑ์ App Store คือทางเข้าและหน้าร้านของแอป
หากภาพเหล่านั้นดูไม่ดี เราอาจเสียผู้เข้าชมที่เพิ่งค้นพบแอปไป
ในบริษัทมีนักออกแบบ UI และเพื่อนร่วมงานด้านผลิตภัณฑ์ช่วยทำภาพหน้าจอ แต่เมื่อทำงานคนเดียว เราจะได้ภาพขนาดที่ถูกต้องอย่างไร?
5.1 ถ่ายภาพในโปรแกรมจำลอง
คุณจับภาพหน้าจอแอปโดยตรงในโปรแกรมจำลองได้ แม้ผลลัพธ์อาจดูหยาบไปบ้าง
5.2 เติมความสวยงามอีกเล็กน้อย
ผมแนะนำเว็บไซต์ฟรีชื่อ shotbot อัปโหลดสื่อของคุณแล้วเว็บไซต์จะสร้างชุดภาพหน้าจอผลิตภัณฑ์รูปแบบเดียวกันให้ครบ
หมายเหตุ 2022-04-11: ภายหลังผมเขียนแอป Mac โดยเฉพาะเพื่อทำภาพหน้าจอสำหรับเผยแพร่แอปของตัวเองใน App Store
6. ทรัพยากรอื่นที่ผมใช้
เมื่อทำการโต้ตอบและงานออกแบบเฉพาะบางอย่าง เครื่องมือบุคคลที่สามและไอคอนสำเร็จรูปอาจไม่ตรงใจทั้งหมด
ถ้าอย่างนั้นก็แก้ภาพเอง!
แน่นอนว่านักพัฒนาส่วนใหญ่ไม่ถนัด Photoshop มากนัก และบางคนไม่เคยใช้เลย เราจะทำอย่างไร?
มีสองเว็บไซต์คือ PS ออนไลน์ และ เครื่องมือแก้ภาพบนเว็บของ Meitu
คุณแก้ภาพง่าย ๆ ในเบราว์เซอร์ได้โดยไม่ต้องดาวน์โหลดซอฟต์แวร์ Adobe ขนาดใหญ่ ถือเป็นข่าวดีสำหรับคนที่ไม่ถนัด Photoshop
นอกจากการแก้ภาพ ตัวไอคอนแอปเองก็ชวนปวดหัว เว็บไซต์อีกแห่งที่ผมแนะนำคือ MakeIcon: อัปโหลดโลโก้ขนาด 1024×1024 แล้วระบบจะสร้างไอคอนขนาดอื่นทั้งหมดโดยอัตโนมัติ และยังรองรับ iMessage บน iOS 10
7. ส่งท้าย
ผมพัฒนาเสร็จด้วยทรัพยากรที่มีอยู่โดยไม่มีนักออกแบบ UI ช่วย ถ้าคุณมีนักออกแบบก็เชิญออกทางนี้ได้เลย  ̄ヘ ̄
ผมอยากทำแอปของตัวเองมานาน เพิ่งได้เริ่มจริงจังไม่นานนี้หลังจัดสิ่งที่ต้องใช้ให้เรียบร้อย ที่สำคัญที่สุดคือในที่สุดผมมีความต้องการชัดเจนให้แก้ และได้เรียน Swift ไปพร้อมกัน
ระหว่างพัฒนา ผมเคยแทบไม่ได้เขียนโค้ดตลอดหนึ่งสัปดาห์ จึงตระหนักว่าเมื่อทำแอปอิสระ ความต้องการคือแรงผลักดันที่แท้จริงให้เราทำต่อ ขนาดไม่สำคัญ การแก้ปัญหาต่างหากที่สำคัญ
เมื่อพัฒนาต่อ ความต้องการก็เพิ่มขึ้น ทั้งการแชร์ AirDrop การเชื่อม iCloud และการพัฒนา ShareExtension ยังไม่เสร็จ เดินหน้าต่อและค่อย ๆ ปรับปรุงทีละนิด! ʘʚʘ (ผมจะไม่ยอมรับเด็ดขาดว่าเหตุผลแรกที่ทำแอปนี้คืออยากแชร์ “collection.avi” ระหว่าง PC โทรศัพท์ และ iPad)
นี่คือลิงก์แอปของผม: วิธีจัดการไฟล์ที่เรียบง่ายที่สุด File Manager
หมายเหตุ 2022-04-11: ตอนนี้ค้นหาแอปไม่พบแล้ว เนื่องจากไม่มีวิธีสร้างรายได้ที่ดี ผมจึงขายให้บริษัทรับจ้างพัฒนาแห่งหนึ่ง การขายครั้งนั้นทำให้ผมทบทวนหลายอย่าง บทความถัดไปจะเล่ารายละเอียดมากขึ้น
บทความต้นฉบับเผยแพร่บน Jianshu ต่อมาบัญชี Jianshu ของผมถูกยึด และบทความอื่นถูกบล็อกอยู่เรื่อย ๆ ตอนนี้ผมจึงย้ายบทความทั้งหมดไปยัง github.io