แอปก็ทำแบบอาหารทำเองที่บ้านได้ (2020)
(robinsloan.com)- BoopSnoop คือ แอปส่งข้อความที่เรียบง่ายมาก ซึ่งทำขึ้นให้คนในครอบครัว 4 คนใช้ โดยหลังเปิดตัวในสัปดาห์แรกของเดือนมกราคม 2020 ก็มีคนสี่คนในสามโซนเวลาดาวน์โหลด และหลังจากนั้นก็รักษาจำนวนผู้ใช้ประจำวันไว้ที่ 4 คน พร้อมอัตราการเลิกใช้ 0
- หลัง Tapstack ยุติลง จึงสร้างแอปสำหรับครอบครัวเองแทนการใช้กลุ่ม Instagram หรือ WhatsApp และยังคงแนวทางให้ข้อความภาพถ่ายและวิดีโอแสดงแบบ เต็มหน้าจอ ก่อนจะหายไป
- แอปประกอบด้วยเพียงหน้าจอกล้อง, ป้ายแสดงข้อความรออ่าน, AWS S3, AWS Lambda และการแจกจ่ายผ่าน TestFlight เท่านั้น และยิ่งเรียบง่ายขึ้นเพราะเป็น situated software ที่ไม่ต้องมีการล็อกอินหรือจัดการรายชื่อติดต่อ
- ใช้เวลาสร้างประมาณ 1 สัปดาห์ โดยเกือบครึ่งหนึ่งหมดไปกับปัญหา code signing และ provisioning ของ Xcode แต่คอมโพเนนต์โอเพนซอร์สและโค้ดตัวอย่างก็ทำให้การพัฒนาเป็นไปได้
- แม้จะไม่ใช่ซอฟต์แวร์ระดับมืออาชีพหรือขยายระบบได้มาก แอปที่ทำขึ้นเพื่อคนใกล้ตัวก็สามารถเป็น ซอฟต์แวร์แบบบ้านๆ ที่จะเปลี่ยนก็ต่อเมื่อผู้ใช้ต้องการเปลี่ยน โดยไม่มีการรีดีไซน์กะทันหัน โฆษณาถาโถม หรือการ pivot
ช่องทางครอบครัวที่ Tapstack ทิ้งไว้
- Tapstack เป็นแอปที่แสดงกริดใบหน้าของคนหรือกลุ่มไว้ใต้ภาพสดจากกล้องมือถือ
- แตะเพื่อถ่ายรูป และกดค้างเพื่อบันทึกวิดีโอ
- ทันทีที่ยกนิ้ว ข้อความก็ถูกส่งออกไป โดยไม่มีขั้นตอนแก้ไขหรือพรีวิว
- ข้อความที่ได้รับจะสะสมอยู่ใน “stack” แล้วหายไปหลังผู้ใช้ปัดดู
- กริด Tapstack ของครอบครัวมี 4 ช่อง คือ แม่ พ่อ น้องสาว และกลุ่มที่รวมทั้งสามคน
- จุดเด่นของแอปนี้ไม่ได้อยู่ที่การติดต่อเรื่องงานจิปาถะหรือจัดตาราง แต่คือ ambient presence
- เพราะไม่มีเธรดหรือประวัติ จึงไม่กดดันว่าต้องตอบกลับ
- เซลฟี่คู่กาแฟ รูปบ่อน้ำแข็งที่กลายเป็นน้ำแข็ง และวิดีโอขี้เล่นของหลานๆ ล้วนเป็นวิธีส่งความรู้สึกว่า “กำลังนึกถึงคุณอยู่นะ”
- Tapstack ดูเหมือนจะไม่เคยมีผู้ใช้จำนวนมาก ไม่มีโฆษณา และไม่เคยขอให้ผู้ใช้จ่ายเงิน
- หลังการอัปเดตหยุดลงในปี 2019 ก็ประกาศยุติบริการในช่วงฤดูใบไม้ร่วง พร้อมให้วิธีส่งออกข้อมูลแก่ผู้ใช้ก่อนปิดตัว
BoopSnoop แอปทดแทนสำหรับครอบครัว
- หลัง Tapstack ยุติลง ครอบครัวก็ต้องการทางเลือกอื่น แต่กลุ่ม Instagram หรือ WhatsApp ให้ความรู้สึกเหมือนมีสิ่งอื่นๆ มาห้อมล้อมช่องทางอันอบอุ่นของครอบครัว
- BoopSnoop คือแอปเหมือน หน้าต่างวิเศษ ที่ทำขึ้นเพื่อครอบครัวเท่านั้น
- ใช้ถ่ายภาพและวิดีโอส่งให้ครอบครัว
- ข้อความจะรออยู่ในคิวและหายไปเมื่อถูกเปิดดู
- หน้าจอการดูจะแสดงเต็มหน้าจอเสมอ และไม่มีองค์ประกอบที่ชวนให้คอมเมนต์หรือแชร์
- อินเทอร์เฟซแทบไม่มีอะไรเลย
- มีปุ่มกล้อง
- มีป้ายสีเขียวเรียบๆ ที่มุมจอ แสดงจำนวนข้อความที่รออยู่
- เปิดตัวในสัปดาห์แรกของเดือนมกราคม 2020 และมีคนสี่คนในสามโซนเวลาดาวน์โหลด
- หลังจากนั้นก็รักษาจำนวนผู้ใช้ประจำวันไว้ที่ 4 คน และอัตราการเลิกใช้ 0 กลายเป็นความสำเร็จที่เกินความคาดหวังทั้งหมดของผู้สร้าง
การออกแบบที่ทำให้ความเรียบง่ายเป็นไปได้
- BoopSnoop ถูกออกแบบให้เรียบง่ายกว่า Tapstack
- ไม่ต้องมีระบบล็อกอิน
- ไม่ต้องมีอินเทอร์เฟซสำหรับสร้างหรือจัดการรายชื่อติดต่อ
- เพราะรู้อยู่แล้วอย่างชัดเจนว่าใครเป็นผู้ใช้
- เช่นเดียวกับแนวคิด situated software ของ Clay Shirky มันไม่ใช่ซอฟต์แวร์ที่ต้องมาปรับให้เป็นส่วนตัวภายหลัง แต่เกือบจะเป็นซอฟต์แวร์ส่วนตัวมาตั้งแต่ต้น
- แกนหลักคือหน้าจอกล้องสำหรับรับภาพถ่ายและวิดีโอ
- ใช้วิธีควบคุมที่คุ้นเคย คือแตะเพื่อถ่ายรูปและกดค้างเพื่อบันทึกวิดีโอ
- ส่วนนี้ใช้คอมโพเนนต์โอเพนซอร์ส SwiftyCam
- หากไม่มีคอมโพเนนต์นี้ โครงการก็คงทำได้ยาก
- ฝั่งแบ็กเอนด์มีองค์ประกอบน้อยมาก
- S3 bucket ของ AWS ใช้เก็บรูปภาพและวิดีโอ
- ฟังก์ชัน AWS Lambda ไม่กี่ตัวทำงานที่จำเป็นเมื่อมีการอัปโหลดข้อความใหม่
- การแจกจ่ายให้ครอบครัวทำผ่าน TestFlight และแอปก็ยังคงเป็น “เบต้าถาวรอันแสนอบอุ่น” ต่อไป
สิ่งที่เจอระหว่างพัฒนาจริง
- ถ้าโลกดีกว่านี้ นี่คงเป็นแอปที่สร้างได้ภายในวันเดียวด้วยเครื่องมือแนว HyperCard สมัยใหม่ที่ยืดหยุ่นสำหรับ iOS
- แต่ในความเป็นจริง ใช้เวลาราว 1 สัปดาห์ และเกือบครึ่งหนึ่งหมดไปกับการจัดการปัญหา code signing และ ID provisioning
- ถึงอย่างนั้น คอมโพเนนต์โอเพนซอร์สและโค้ดตัวอย่างก็ทำให้โปรเจกต์นี้เกิดขึ้นได้ ซึ่งหมายความว่าโลกทุกวันนี้ก็ยังไม่ได้พังไปเสียทั้งหมด
- การเขียนโปรแกรมในศตวรรษที่ 21 เมื่อทำงานภายในขอบเขตของเทคโนโลยีสมัยใหม่ สามารถให้ความรู้สึกเหมือน ประกอบ Lego ได้
- การเปิดเผยโค้ดอาจเป็นแนวทางให้คนอื่นได้ แต่ในโค้ดของแอปนี้มีค่าต่างๆ และคีย์ยืนยันตัวตนเฉพาะแอปปะปนอยู่มาก
- แอปนี้ไม่ใช่เฟรมเวิร์กหรือเทมเพลต แต่เป็น แอปที่เป็นตัวมันเอง
- คุณลักษณะเช่นนี้แยกไม่ออกจากเจตนาที่ใช้สร้างแอปขึ้นมา
การเขียนโปรแกรมแบบ “อาหารทำเองที่บ้าน”
- ผู้สร้างมองตัวเองว่าเป็น โปรแกรมเมอร์แบบพ่อครัวแม่ครัวประจำบ้าน มากกว่าจะเป็นวิศวกรซอฟต์แวร์มืออาชีพ
- คำว่า “ไปเรียนเขียนโค้ดสิ” มักเชื่อมโยงกับมูลค่าในตลาด อำนาจต่อรองทางเศรษฐกิจ การเปลี่ยนอาชีพ และเรซูเม่
- แต่คำว่า “ไปหัดทำอาหารสิ” ไม่ได้มีไว้เพื่อให้กลายเป็นเชฟเท่านั้น
- เรียนเพื่อกินให้ดีขึ้นก็ได้
- เรียนเพื่อกินให้ประหยัดขึ้นก็ได้
- เรียนเพื่อสืบทอดประเพณีก็ได้
- หรือจะเรียนเพราะว่าง หรือเพราะอยากใช้เวลากับคนที่สอนก็ได้
- การทำอาหารเชื่อมโยงกับบ้าน ความอยากรู้อยากเห็น ประวัติศาสตร์ วัฒนธรรม การดูแล และความรัก มากกว่าจะอยู่แค่ในโลกของการซื้อขาย
- ในศตวรรษที่ 21 ผู้คนที่เรารักจำนวนมากต่างรออยู่ในคอมพิวเตอร์พกพาที่พวกเขาถือไว้ใกล้ตัวเสมอ ดังนั้นการเขียนโค้ดก็สามารถเชื่อมโยงกับสิ่งเหล่านี้ได้เช่นกัน
- เมื่อการเขียนโปรแกรมหลุดพ้นจากข้อกำหนดเรื่องความเป็นมืออาชีพและการขยายระบบ มันก็กลายเป็นกิจกรรมอีกแบบหนึ่ง
- เช่นเดียวกับที่การทำอาหารที่บ้านต่างจากการทำอาหารในครัวเชิงพาณิชย์ การสร้างแอปให้ครอบครัวก็ให้ผลตอบแทนคนละแบบ
- BoopSnoop จะไม่เปลี่ยน เว้นแต่ครอบครัวจะอยากให้เปลี่ยน
- ไม่มีการรีดีไซน์กะทันหัน โฆษณาล้นทะลัก หรือ pivot เพื่อตามหาฐานผู้ใช้ที่ไม่เข้าใจ
- ต่อให้วันหนึ่งมันหายไป นั่นก็จะเป็นการตัดสินใจของครอบครัวเอง
แอปที่ยังถูกใช้อยู่หลายปีต่อมา
- ตามอัปเดตเดือนกุมภาพันธ์ 2022 ครอบครัวยังใช้ BoopSnoop ทุกวันแม้ผ่านไปแล้ว 2 ปี และมีการเพิ่มฟีเจอร์หนึ่งตามคำขอของคุณแม่
- ในเดือนกุมภาพันธ์ 2023 ก็ยังใช้งานทุกวัน
- ในเดือนกุมภาพันธ์ 2024 ก็ยังใช้งานต่อเนื่อง และ TestFlight build อยู่ที่ 26
- ในเดือนกุมภาพันธ์ 2025 แอปแทบไม่ได้เปลี่ยนอะไรเลยตามตัวอักษร และ TestFlight build อยู่ที่ 30
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
นี่เหมือนบทกวีเลย ตลอด 10 ปีที่ผ่านมา ผมทำโปรเจกต์ส่วนตัวมาเรื่อย ๆ และแทนที่แอปที่ใช้ทุกวันอย่างอีเมล ปฏิทิน ฯลฯ ที่เคยใช้ทั้งหมด
ทุกครั้งที่มีคนเห็นผมใช้ เขาจะถามว่า “ว้าว เจ๋งมาก ดาวน์โหลดได้ยังไง?” แต่คำตอบก็เหมือนเดิมเสมอ: ดาวน์โหลดไม่ได้
การออกแบบอะไรสักอย่างเพื่อให้ตัวเองใช้คนเดียวมีความงามอยู่ และผมมั่นใจ 100% ว่าโปรเจกต์นี้ช่วยรักษา สุขภาวะทางใจ ของผมไว้
มันเป็นแหล่งของความหวังและความสุขต่ออนาคตที่ไม่มีบริษัทหรือเงินเดือนใดให้ได้ และเป็น ไพ่โจ๊กเกอร์ ส่วนตัวของผมในการรับมือกับโลก
เครื่องมือที่สร้างเองมีข้อดีที่ใหญ่กว่าที่คิดตรงที่ ตั้งแต่วันแรกคุณจะกลายเป็น ผู้เชี่ยวชาญอันดับหนึ่งของโลก สำหรับเครื่องมือนั้น มีซอฟต์แวร์สักกี่ตัวที่คุณพูดได้ว่ารู้ฟีเจอร์ทั้งหมด คีย์ลัดทั้งหมด และการทำงานภายใน 100%
ถ้าเป็นเครื่องมือทำงานหรือเพิ่ม productivity “การเชี่ยวชาญอย่างสมบูรณ์” นี้ทำให้มีประสิทธิภาพมากได้มหาศาล และเมื่อใช้ทุกวันพร้อมป้อนกลับการแก้ไขเล็ก ๆ กับการปรับให้เหมาะสม เครื่องมือก็เติบโตไปพร้อมกับเรา
ตอนนี้แอปจดโน้ตของผมรับหน้าที่ตั้งแต่ฐานความรู้ส่วนตัว การจัดการโปรเจกต์ รายการสิ่งที่ต้องทำ แผนรายวัน ไปจนถึงไดอารี และเพราะมีแค่ฟีเจอร์ที่ต้องการจริง ๆ จึงเบาและเร็ว
สรุปคือผมคิดว่าเราทุกคนควรทดลอง สร้างเครื่องมือของตัวเอง กันมากขึ้น
เป็นวิธีทำให้ความคาดหวังชัดเจนว่า คนอื่นใช้ เรียนรู้ และเอาไปต่อยอดได้ แต่ไม่ต้องการ feedback หรือ contribution
แต่ก็อาจขัดกับประโยคสุดท้ายที่ว่า “ไพ่โจ๊กเกอร์ส่วนตัวของผม”
ผมเดาว่าอาจเป็นการผสานแอปต่าง ๆ เข้าด้วยกัน เช่น สร้าง event จากข้อความ แล้วส่งต่ออีเมลไปยัง contact ใน Signal
ผมเองก็ automate งานซ้ำ ๆ ด้วยสคริปต์ได้เร็ว แต่ไม่ได้รวมสคริปต์ทั้งหมดเข้าเป็นหนึ่งเดียว ถ้าแยกไว้ภาระ maintenance จะน้อยกว่า เลยไม่แน่ใจว่าจะไปทางนั้นหรือไม่
ถ้ามีใครเขียนอะไรน่ารำคาญเกี่ยวกับมัน ก็แค่ไม่สนใจ และมันไม่กระทบวิธีที่ผมใช้งานเอง
ถ้าไม่อยากรับคำวิจารณ์ patch หรือ bug report ก็อาจเปิดเผยเฉพาะไฟล์ไว้ในที่อย่าง GitHub โดยไม่มี issue, pull request หรือพื้นที่สนทนา
คนที่เห็นต่างก็ทึ่ง และมีบางคนขอ config แต่ดูเหมือนไม่มีใครชินกับมันจริง ๆ
บทความดีมาก ทำให้นึกถึงแอป macOS ที่ทำให้ภรรยาเมื่อหลายปีก่อน
มันติดตามเวลาเปิดทำการของร้านที่ภรรยาชอบ และเมื่อกดไอคอนบน menu bar ก็จะแสดงว่าวันนี้แต่ละร้านเหลือเวลาอีกเท่าไรก่อนปิด
ยังบอกด้วยว่าช่วงนั้นคนแน่นไหม เพื่อให้ตรงกับความชอบของเธอที่อยากไปตอนคนไม่พลุกพล่าน
เป็น แอป Qt ง่าย ๆ ที่เก็บข้อมูลในไฟล์ข้อความ และตอนถามว่าจะตั้งชื่อว่าอะไร เธอบอกว่า “เหมือนชื่อดอกไม้ Gladiolus” ก็เลยตั้งชื่อนั้น
ในฐานะโปรแกรมเมอร์ ผมไม่เคยมีลูกค้าคนไหนที่รู้สึกขอบคุณมากกว่าผู้ใช้เพียงคนเดียวของ Gladiolus เลย
ส่วนที่บอกว่าพยายามปล้ำกับ code signing และ identity provisioning ของ Xcode แล้วจุดธูป โยนก้อนหิน ก่อนที่เทพเจ้าแห่ง Xcode จะอนุญาตให้ผ่าน นี่โดนใจมาก
นี่คือแรงเสียดทานขนาดใหญ่ใน modern software development เวลาจะแก้ความไม่สะดวกของตัวเองโดยตรง
มันไม่ใช่การคิดเชิงวิศวกรรมที่เข้าใจหลักการคอมพิวติ้งและประกอบส่วนต่าง ๆ อย่างมีเหตุผลเพื่อสร้างสิ่งใหม่ แต่เป็นการท่องคาถาที่หาได้จาก Google ซ้ำ ๆ เอาหัวโขกไปเรื่อย ๆ จนจู่ ๆ มันก็ใช้ได้
ถ้าใช้เกณฑ์นั้น Apple กับ Microsoft ก็แทบถูกตัดออกไป
การที่ Apple ทำให้การจัดการ profile, key signing ฯลฯ ใน Xcode มีปุ่ม “ครับ ช่วยทำให้ง่าย ๆ” นับว่าเป็นส่วนที่ดีขึ้น แต่ยังมีกรณีที่การตั้งค่าถูกลืมหรือพังแบบสุ่ม จนต้องกลับไปไล่หาปัญหาอีก
ไม่ต้องขออนุญาตใครเพื่อรัน service นั้น ผมรันแอป to-do แบบ custom บน Pi โดยไม่ต้องเปิด router ออกไป และรู้สึกอิสระมาก
ตอนบทความนี้ขึ้น HN ครั้งแรกเมื่อก่อน มันส่งผลกับผมมาก และช่วยเรียบเรียงเป็นคำพูดให้กับสิ่งที่ผมทำอยู่โดยไม่รู้ตัวอยู่แล้ว
หลายปีก่อนผมเริ่มทำ homelab เหมือนคนจำนวนมาก และมันค่อย ๆ กลายเป็นงานอดิเรกในการสร้างและ self-host แอปให้ครอบครัวกับเพื่อนสนิทประมาณ 5–15 คน
ผมทำแอปเล็ก ๆ กับ integration ใน group chat เยอะมาก เช่น การนัดคืนดูหนัง และผลก็คือทุกคนคุยกันและไปมาหาสู่กันบ่อยขึ้นมาก
กลุ่มเพื่อนที่อยู่ไกลกันและไม่เคยรู้จักกันมาก่อน ตอนนี้ถึงขั้นนัดเจอกันเองโดยไม่มีผม เพื่อไปงาน baby shower หรืองานแต่งงานแล้ว
ถ้าคุณมีกลุ่มเพื่อนแบบนี้ ลองสร้างอะไรสักอย่างให้พวกเขาดู
แฟนกับน้องของเธอต้องคอยจัดบัญชีเคลียร์เงินกันอยู่เรื่อย ๆ และมักลำบากกับการหาว่าใครติดหนี้อะไร เมื่อไร
ผมเลยทำ “แอป” ในรูปแบบสเปรดชีตฉลาด ๆ ที่แชร์บน Google Docs ให้ พอใส่ข้อมูลรายเดือนก็จะคำนวณว่าใครต้องจ่ายเท่าไร
ผมลืมมันไปเกินปี แล้วถามว่ายังใช้อยู่ไหม เธอตอบว่า “ใช้ตลอดเลย มันช่วยชีวิตจริง ๆ”
จริง ๆ แล้วก็แทบเป็นแค่การใช้สเปรดชีตธรรมดา แต่คนเก่งรายได้สูงกลับยังลำบากกับการเคลียร์เงินง่าย ๆ
ผมตั้งให้แต่ละแท็บใหม่ของแต่ละเดือนดึงรูปหมาที่ทั้งสองเลี้ยงร่วมกันมาแสดงด้วย ซึ่งพวกเธอชอบเป็นพิเศษ เครื่องมือเล็ก ๆ ที่ใช้เวลา 15 นาทีทำนี้ยังเป็นที่รักมาหลายปี
การทำ เครื่องมือเล็ก ๆ ให้คนกลุ่มเล็ก ๆ เป็นเรื่องดี
3 ปีก่อนผมทำแอปง่าย ๆ ให้ครอบครัวกับเพื่อนแชร์สูตรอาหารกัน และค่อย ๆ เพิ่มฟีเจอร์ที่ถูกขอเข้ามา จนผ่านไปประมาณ 2 ปีมันเริ่มแพร่แบบปากต่อปาก
เดือนตุลาคมมันโตถึงจุดที่ต้องเริ่มเก็บเงินผู้ใช้ใหม่เพื่อรับภาระค่าเซิร์ฟเวอร์ และตอนนี้ผมกำลังคิดถึงอนาคตที่อาจ ทำงานกับมันแบบเต็มเวลา
ขณะเดียวกันก็รู้สึกว่าช่องว่างระหว่างแอปแบบนี้กับแอปมืออาชีพกำลังกว้างขึ้น
การใช้แอปง่ายขึ้นแล้ว แต่การสร้างแอป “จริงจัง” สำหรับคนทั่วไปกลับยากขึ้น
ผมเขียนหนังสือ https://opinionatedlaunch.com มานานกว่า 3 ปี และต้องคอยอัปเดตบท “มือถือ” อยู่เรื่อย ๆ ไม่ใช่เพราะมีเฟรมเวิร์กใหม่เจ๋ง ๆ แต่เพราะ Apple กับ Google เพิ่ม ข้อกำหนด อยู่ตลอด
อย่างข้อจำกัดการเข้าถึง GPS ที่เข้มงวดขึ้นอาจเป็นเรื่องดี แต่ถ้าไม่ตามให้ทัน สักวันแอปก็จะถูกถอดออกจากแพลตฟอร์ม ในความหมายนี้จึงไม่มีคำว่า “เสร็จสมบูรณ์”
โปรแกรมเล็ก ๆ ที่เขียนด้วย Pascal ในปี 1990 อาจยังแจกจ่ายได้อยู่ แต่ผมไม่รู้ว่าสิ่งเทียบเท่าในโลกแอปมือถือคืออะไร พูดถึงการแจกจ่าย ไม่ใช่การรัน
ผมเอนเอียงไปทาง HTML มากขึ้นเรื่อย ๆ
ไม่มีอะไรต้องเปลี่ยน มันทำงานตรงตามที่ต้องการพอดี แต่ถึงจุดหนึ่ง Google ตัดสินว่ามันไม่เป็นไปตามมาตรฐานล่าสุด จึงต้องถอดออกจากสโตร์
ไม่ได้บ่นนะ และยังติดตั้งผ่าน
adbได้อยู่ แต่คนอื่นดาวน์โหลดไม่ได้อีกแล้ว ตอนนี้ผมยังจะบิลด์ไบนารีได้ไหมก็น่าจะยากยังทำให้มันใช้งานได้จริงไม่ได้ แต่ภาพคือถ้าจำกัด UI ให้เรียบง่ายพอ ก็สามารถคอมไพล์โค้ดเดียวกันเป็น Objective C สำหรับ iStuff, C++ สำหรับ Android และเดสก์ท็อป, และ Javascript สำหรับเว็บได้
แต่ละแอปสามารถประเมิน nimscript ใด ๆ ได้ในแบบที่ไม่ขึ้นกับแพลตฟอร์ม
ผมลืมไปนานแล้วว่าแอปที่อยากทำคืออะไร แต่ถ้านึกขึ้นมาได้อีก ก็หวังว่าจะไม่มีใครมาห้ามไม่ให้มันรันได้ทุกที่
แต่ก็คิดว่าซอฟต์แวร์ส่วนใหญ่คง “เสร็จสมบูรณ์” จริง ๆ ได้ยากเหมือนกัน
ถ้าไม่ใช่หมวดหมู่ที่แยกขาดจากวัฒนธรรมมหาชนโดยสิ้นเชิง ก็คงเรียกว่าฟีเจอร์ครบถ้วนได้ยาก GNU units หรือ grep อาจเรียกว่า “เสร็จแล้ว” ได้ แต่แอปส่วนใหญ่ต้องเปลี่ยนตามโลกแวดล้อมที่เปลี่ยนไป
เครื่องมือระดับล้ำสุดในสาขาของผมล้วนใช้ผ่านสคริปต์หรือ บรรทัดคำสั่ง แบบโต้ตอบ
ถ้าทำโดยตั้งเป้าอินเทอร์เฟซแบบนั้น จะเร็วและง่ายกว่าการทำ GUI ด้วยไลบรารียุคใหม่มาก และยังหาผู้ใช้ได้มากพอ แค่ผู้ใช้ conda ก็มีราว 40 ล้านคนแล้ว
บทความนี้ทำให้ความคิดของผมเกี่ยวกับ sideloading บน iPhone เปลี่ยนไป
เมื่อก่อนผมอยู่ฝั่ง “ต้องล็อกไว้เพื่อไม่ให้คุณยายโดนแฮ็ก” แต่ตอนนี้มองว่ามันขัดขวางไม่ให้ผู้คนสร้างแอปแบบอาหารทำกินเองที่บ้านแบบนี้
อีกทั้งยังแพร่ความเข้าใจว่าคอมพิวเตอร์คือเวทมนตร์ และมีแต่พ่อมดเท่านั้นที่ควรเขียนโปรแกรม ในบรรดานักพัฒนาซอฟต์แวร์ที่ผมเคยเจอ ไม่มีใครรู้สึกแบบนั้น และผมก็ไม่รู้สึกแบบนั้น
กระบวนการนั้นควรเต็มไปด้วยคำเตือนทำนอง “จากนี้ไปมีมังกร” โดยพื้นฐานคือทำให้มันคล้าย Mac หรือ Chromebook ทั่วไปมากขึ้น
โทรศัพท์ Pixel ยังอนุญาตให้รูทอยู่ไม่ใช่หรือ?
คุณยายมีโอกาสเสียเงินเก็บจากกลโกงวิศวกรรมสังคมแบบดั้งเดิมผ่านโทรศัพท์บ้านมากกว่าผ่านมือถือ
ถ้า Apple ใส่ใจเรื่องความปลอดภัยและสแปมจริง ๆ มากกว่าการทำเงินจาก App Store หรือสถานการณ์การซ่อม ก็คงลงมือจัดการสแปม iMessage ไปแล้ว
ถ้ามีทางที่ผมถูกปฏิบัติเหมือนบริษัทสำหรับกลุ่มเพื่อนและครอบครัวได้ ผมคงใช้ไปตั้งแต่หลายปีก่อนแล้ว แต่ TestFlight ใช้ง่ายมากและรองรับกลุ่มเป้าหมายใหญ่พอ ตอนนี้จึงแทบไม่มีอุปสรรค
ยังมีอุปสรรคด้านค่าใช้จ่ายคือต้องซื้อ Mac แต่ถ้าคิดรวมภาษีที่ว่าต้องมี Mac อยู่แล้ว ก็ไม่ได้สูงขนาดนั้น
เป็นความจริงที่คอมพิวเตอร์ถูกมองเหมือนเวทมนตร์ แต่การแจกจ่ายไม่ใช่สาเหตุ น่าเสียดายที่ผู้คนไม่อยากทำอะไรกับคอมพิวเตอร์ให้มากกว่านี้
เมื่อก่อนพ่อแม่ผมใช้แอปฐานข้อมูลพื้นฐานมาก ๆ บนเครื่อง 386 แต่ถึงจุดหนึ่งเครื่องจักรก็ใหญ่ขึ้นและน่ากลัวขึ้น และผู้คนก็อยากรู้อยากเห็นน้อยลง
อาจเป็นเพราะอายุ แต่ก็อาจเป็นเพราะเราสร้างเครื่องที่ไม่เป็นมิตรต่อการรับโค้ดใหม่ ๆ เท่าเดิม
มันเป็นแค่ปัญหาว่าใครเป็นคนหลอกเท่านั้น อาชญากรอาจปล้นได้ก้อนใหญ่ครั้งเดียว แต่บริษัทมือถือเคลื่อนไหวในแนวรบที่กว้างกว่ามาก และต้นทุนก็สูงกว่ามาก
คำอธิบาย ไอเดียแอป และวิธีลงมือในบทความนี้สดใหม่ดี
แนวคิดการทำเพื่อ ตลาดรวมที่เข้าถึงได้ทั้งหมด (TAM) แค่หลักหน่วย เป็นความแตกต่างที่ดีเมื่อเทียบกับสิ่งส่วนใหญ่
แอปแบบนี้อยู่เหนือโปรเจกต์เพื่อการเรียนรู้ขึ้นมาหนึ่งขั้น และมีประโยชน์มหาศาลต่อคนคนเดียวหรือคนไม่กี่คน ยิ่งไปกว่านั้น คนไม่กี่คนนั้นยังเป็นคนสำคัญที่สุดในชีวิต จึงน่าพึงพอใจกว่ามาก
การเปรียบกับการทำอาหารที่บ้านให้ครอบครัวนั้นสมบูรณ์แบบ
ตอนนั้นถือเป็นเรื่องปกติที่ผู้คนจะสร้างแอปพลิเคชันเพื่อตัวเองก่อน
เป็นไอเดียที่ยอดเยี่ยม ช่วงนี้ผมคิดเรื่อง “เว็บขนาดเล็ก” อยู่บ่อย ๆ เพราะเริ่มเหนื่อยกับเว็บระดับโลกมากขึ้นเรื่อย ๆ
ผมอยู่ในเมืองเล็ก ๆ ในแคนาดา เลยสนใจแค่เมืองของเรา และอยากมีอะไรสักอย่างใน ระดับเมือง ที่เข้ากับเมืองของเราได้พอดี
เพราะสเกลเล็ก ก็รันบนอุปกรณ์ในตู้เก็บของที่บ้านได้ และถ้ามันล่ม ก็ไม่มีบริษัทใหญ่ที่อยู่เบื้องหลังให้ต้องไปโกรธ มันก็แค่ผมเอง และที่นี่คนส่วนใหญ่ก็รู้จักกันหรืออย่างน้อยก็เคยได้ยินชื่อกัน
ต่อให้ล่มไปชั่วคราวเพราะไฟดับ เรื่องนั้นก็ยังเป็นเรื่องในพื้นที่อยู่ดี โดยเฉพาะช่วงพายุหิมะที่ไฟดับบ่อย และผู้ใช้ก็น่าจะเจอไฟดับแบบเดียวกันด้วย
ทั้งหมดอาจเป็นแค่อุดมคติ และในความเป็นจริงคงมีโอกาสสูงที่จะไม่ได้ทำ แต่ก็รู้สึกเหมือนกันว่าสุดท้ายคนส่วนใหญ่ก็คงใช้ของอย่างกลุ่ม Facebook ต่อไป
โดยพื้นฐานแล้วมันเป็นสภาพที่ มีแต่ตลาด แต่ยังไม่มีผลิตภัณฑ์ ดังนั้นนอกจากตัวคุณเองแล้ว มันอาจไม่ได้มีความหมายมากนัก
แน่นอนว่าการเกาคันให้ตัวเอง หรือทำขึ้นมาเพราะอยากทำเฉย ๆ ก็เป็นเรื่องชอบธรรมโดยสมบูรณ์ และนั่นก็เป็นซอฟต์แวร์แบบอาหารทำเองที่บ้านเหมือนกัน
ชอบตรงที่ฮาร์ดแวร์ราคา 25 ดอลลาร์ ไม่มีเซิร์ฟเวอร์กลาง ไม่ต้องมีใบอนุญาตวิทยุสมัครเล่น และควบคุมผ่านมือถือได้
สักวันหนึ่งอยากทำโปรเจกต์ที่เจ๋งจริง ๆ มากกว่าแค่ฟังก์ชันพื้นฐาน แต่ตอนนี้ยังไม่รู้ว่าควรทำอะไร
ผมหัวเราะออกเสียงกับประโยคที่ว่า “จุดธูปแล้วโยนหิน จากนั้นเทพเจ้าแห่ง Xcode ก็อนุญาตให้ผ่าน”
ผมเองก็เคยสู้ศึกกับเทพเจ้าเหล่านั้นมานับไม่ถ้วน และพวกเขาคือสัตว์ประหลาด
ถ้าคุณชอบประโยคนั้น ขอแนะนำอย่างยิ่งให้อ่านนิยายเล่มแรกของเขา Mr Penumbra's 24 Hour Bookstore
เรามาถึงจุดที่ยอมรับสภาพแบบนี้ได้อย่างไร? MAGA(Microsoft Apple Google Amazon) กำลังทำให้ชีวิตการแชร์ซอฟต์แวร์อึดอัดจนหายใจไม่ออกแล้ว
ในบริษัทมีแอปเล็ก ๆ สำหรับใช้ภายในอยู่ มันเป็นแค่ Rails app แยกต่างหาก และไม่แตะระบบธุรกิจภายใน
แต่ถ้าต้องการที่วางโค้ดเล็ก ๆ ก็จะเอาไปใส่ไว้ตรงนั้น มีเครื่องมือเชื่อมต่อแบบสุ่ม ๆ เช่น กราฟการเติบโต เสิร์ชเอนจินเล็ก ๆ สำหรับข้อมูลภายใน สคริปต์แจ้งเตือนงานซ้ำ ๆ และสคริปต์ RSS→Email สำหรับบล็อก
ผมคิดว่าทุกคนควรมีแอป “สารพัดของจิปาถะ” ที่แยกจากข้อมูลลูกค้าไว้สักตัว
ถ้าอุปสรรคในการสร้างอะไรสนุก ๆ ต่ำ ใจก็จะรู้สึกเป็นอิสระขึ้น และโค้ดทุกชิ้นไม่จำเป็นต้องเป็นงานธุรกิจที่มีความเสี่ยงสูง