การเปิดตัวแบบทีละขั้นสำหรับ WordPress Plugin & Theme Developers: หลีกเลี่ยง “Clusterbug Release”

เผยแพร่แล้ว: 2020-12-23

คุณจำครั้งสุดท้ายที่คุณเปิดตัวปลั๊กอินหรือธีม WordPress เวอร์ชันใหม่เพื่อค้นหาอย่างรวดเร็วว่าคุณได้เพิ่มจุดบกพร่องหลักใหม่ที่เล็ดลอดผ่านรอยแตกของลำดับการทดสอบของคุณโดยไม่ได้ตั้งใจหรือไม่?

Yoast SEO 3.0 ทำลายเว็บไซต์จำนวนมากในปี 2015 Elementor 3.0 ทำเช่นเดียวกันในปีนี้ และนี่เป็นเพียงสองตัวอย่างจากหัวหน้าบริษัทที่ยอดเยี่ยมในพื้นที่ของเราที่มีพนักงานมากกว่า 100 คนและเจ้าหน้าที่ QA ที่ทุ่มเท (และไม่ มันไม่เกี่ยวข้องกับเวอร์ชัน 3.0 แต่อาจเป็นสัญญาณที่จะข้ามเวอร์ชันนั้นในซอฟต์แวร์ของคุณ )).

ไม่ว่าคุณจะเป็นนักเขียนโค้ดที่เรียนรู้ด้วยตนเองหรือวิศวกรซอฟต์แวร์ นักพัฒนาอินดี้ หรือเป็นส่วนหนึ่งของร้านปลั๊กอิน/ธีมขนาดใหญ่ เราทุกคนล้วนต้องรับมือกับจุดบกพร่อง เป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์อย่างหลีกเลี่ยงไม่ได้

ไม่ว่าคุณจะใส่ CI/CD/การทดสอบอัตโนมัติแบบใดก็ตาม คุณจะไม่สามารถทดสอบได้ทั้งหมด จำนวนการกำหนดค่าเซิร์ฟเวอร์ (PHP, MySql, แคช, เว็บเซิร์ฟเวอร์), เวอร์ชัน WP, การผสมผสานของปลั๊กอินและธีม... ไม่มีที่สิ้นสุด

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

แม้ว่าคุณจะไม่สามารถหลีกเลี่ยงจุดบกพร่องได้ แต่คุณก็สามารถและควรลดความเสี่ยงได้มากที่สุด

หากคุณมีสมาร์ทโฟน คุณอาจสังเกตเห็นว่าเพื่อนของคุณบางคนได้รับการอัปเดต Android/iOS เป็นเวลาหลายวัน หลายสัปดาห์ หรือหลายเดือนก่อนที่จะได้รับ นั่นไม่ใช่เรื่องบังเอิญ และไม่ ไม่ใช่เรื่องส่วนตัวสำหรับคุณ เป็นกระบวนการปรับใช้แบบก้าวหน้าโดยตั้งใจที่เรียกว่า Staged Rollouts ซึ่งช่วยให้บริษัทต่างๆ เช่น Apple จัดส่งการอัปเดตซอฟต์แวร์ที่สำคัญไปยังอุปกรณ์กว่าพันล้านเครื่อง

ใช่พันล้าน!

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

กลไกการเปิดตัวแบบทีละขั้นทำงานอย่างไร คุณจะนำไปปฏิบัติได้อย่างไร? และ WordPress.org รออะไรอยู่? นี่คือหัวข้อที่ฉันจะกล่าวถึงด้านล่าง

การเปิดตัวแบบทีละขั้นสำหรับปลั๊กอินและธีมของ WordPress คืออะไร

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

ภาพรวมกลไกการเปิดตัวแบบทีละขั้นของ Freemius

ประโยชน์ของการเปิดตัวแบบทีละขั้นคืออะไร

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

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

John Turner ผู้ก่อตั้ง SeedProd

การใช้ Staged Rollouts เป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับการเผยแพร่ซอฟต์แวร์อย่างมีความรับผิดชอบ ซึ่งเป็นกระบวนการที่หลายบริษัท (โดยไม่คำนึงถึงขนาด) นอกกรอบ WP ปฏิบัติตาม

มีโอกาสใหญ่สำหรับชุมชน WordPress ที่จะใช้ประโยชน์จาก Staged Rollouts ซึ่งฉันจะพูดถึงในอีกสักครู่

โปรแกรมเบต้าคล้ายกับการเปิดตัวแบบทีละขั้นหรือไม่

การตั้งค่าโปรแกรมเบต้าสำหรับผลิตภัณฑ์ WordPress ของคุณเป็นจุดเริ่มต้นที่ดี แต่ก็ยังห่างไกลจากประสิทธิภาพเท่ากับการเปิดตัวแบบทีละขั้น และมีจุดประสงค์และไดนามิกที่แตกต่างกันโดยพื้นฐาน

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

คุณคิดว่าจะมีกี่คนที่เห็นกระบวนการทั้งหมดนี้? ไม่มาก.

Meme การทดสอบเบต้า

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

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

วิธีจัดการการเปิดตัวแบบทีละขั้นสำหรับปลั๊กอินหรือธีม WordPress ของคุณ

จากการวิจัยของฉันเกี่ยวกับ Staged Rollouts ฉันมีโอกาสได้พบกับ Amir Helzer ทางอิเล็กทรอนิกส์และเรียนรู้จากประสบการณ์กว่า 2 ปีของพวกเขาในการใช้ Staged Rollouts กับ WPML และ Toolset ปลั๊กอินที่ทำงานบนเว็บไซต์ WordPress มากกว่า 1,000,000 แห่ง

นี่คือสิ่งที่ Amir แชร์เกี่ยวกับการนำ Staged Rollouts ไปใช้:

เมื่อเว็บไซต์ติดตั้งปลั๊กอินใดๆ ของเรา เราจะสุ่มตัวเลขระหว่าง 1 ถึง 100 และจัดเก็บไว้ในฐานข้อมูลของเว็บไซต์เพื่อให้จำ วิธีนี้จะแบ่งเว็บไซต์ออกเป็น 100 ถังขยะแบบสุ่ม

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

กลไกการเปิดตัวแบบทีละขั้นของ WPML จะแจกจ่ายการอัปเดตไปยังถังขยะของผู้ใช้

เพื่อกระจายสภาพแวดล้อมโดยใช้เวอร์ชันที่อัปเดตและหลีกเลี่ยงการมี "เหยื่อ" รุ่นแรก ๆ ซ้ำ ๆ Amir ยืนยันว่าการเปิดตัวใหม่ทุกครั้งไปที่ถังขยะของผู้ใช้ที่แตกต่างกันก่อน

แนวทางนี้ยังหมายความว่ารอบการเผยแพร่โดยเฉลี่ยจะใช้เวลาประมาณหนึ่งเดือนสำหรับผู้ใช้ทุกคน

ต้องใช้เวลาจนกว่าผู้คนจะเห็นการเปิดตัวใหม่ใน WP Admin และอัปเดตเวอร์ชันของพวกเขา และแม้หลังจากดำเนินการแล้ว อาจต้องใช้เวลาหลายวันกว่าพวกเขาจะพบปัญหา

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

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

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

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

OnTheGoSystems เป็นบริษัทขนาดใหญ่ที่มีพนักงานเกือบ 100 คน ดังนั้นจึงสมเหตุสมผลที่พวกเขาทำให้กระบวนการเปิดตัวแบบทีละขั้นสมบูรณ์แบบ แต่ถึงแม้ในฐานะนักพัฒนาผลิตภัณฑ์รายเดียวที่มีระดับการสนับสนุนระดับเดียว (คุณและตัวคุณเอง) ข้อมูลเชิงลึกของ Amir สามารถสอนเราได้ว่าการจัดสรรทรัพยากรเฉพาะสำหรับการเผยแพร่เป็นสิ่งสำคัญ แนวปฏิบัติที่ดีในการจัดลำดับความสำคัญของตั๋วสนับสนุนที่ "มีกลิ่น" ที่เกี่ยวข้องกับการเปิดตัวใหม่ของคุณและลดความเสี่ยงจากปัญหาใหม่ให้มากที่สุด

เหตุใดจึงมี (เกือบ) ไม่มีปลั๊กอินหรือธีมที่รองรับการเปิดตัวแบบทีละขั้น

ในการเตรียมตัวสำหรับการเขียนบทความนี้ ฉันพยายามขอให้ชุมชนเห็นว่าใครกำลังใช้การเปิดตัวแบบทีละขั้นเพื่อรับคำติชมเกี่ยวกับประสบการณ์ของพวกเขา สิ่งที่พวกเขาเรียนรู้ ฯลฯ

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

แบบสำรวจบน Facebook โดย Vova Feldman ส่วนใหญ่ไม่ใช้ Staged Rollouts

นักพัฒนาปลั๊กอินและธีมส่วนใหญ่ที่ไม่ได้ขายผ่าน Freemius จะขายจากเว็บไซต์ของพวกเขาผ่าน EDD หรือ WooCommerce ซึ่งทั้งคู่ไม่รองรับ Staged Rollouts ผู้ที่ขายผ่านตลาดกลางเช่น CodeCanyon และ ThemeForest ยังไม่มีโซลูชันที่พร้อมใช้งานทันที และส่วนใหญ่มักจะไม่มี

แม้แต่นักพัฒนาที่ตระหนักถึงแนวคิดนี้ก็ไม่มีทางเลือกอื่นนอกจากต้องพัฒนากลไกของตนเองเพื่อรองรับการเปิดตัวแบบทีละขั้น การพัฒนาโครงสร้างพื้นฐานนี้โดยปกติเป็นเรื่องยากมากที่จะจัดลำดับความสำคัญภายในบริษัทผลิตภัณฑ์

สมัครสมาชิกและรับสำเนาของเราฟรี

หนังสือธุรกิจปลั๊กอิน WordPress

วิธีสร้างธุรกิจปลั๊กอิน WordPress ที่เจริญรุ่งเรืองในระบบเศรษฐกิจการสมัครสมาชิก

แบ่งปันกับเพื่อน

ป้อนที่อยู่อีเมลของเพื่อนของคุณ เราจะส่งอีเมลให้เฉพาะหนังสือเล่มนี้ เพื่อเป็นเกียรติแก่หน่วยลาดตระเวน

ขอบคุณสำหรับการแชร์

ยอดเยี่ยม - เพิ่งส่งสำเนา 'The WordPress Plugin Business Book' ไปที่ . ต้องการช่วยให้เรากระจายข่าวมากยิ่งขึ้นหรือไม่? ไปต่อ แบ่งปันหนังสือกับเพื่อนและเพื่อนร่วมงานของคุณ

ขอบคุณสำหรับการสมัคร!

- เราเพิ่งส่งสำเนา 'The WordPress Plugin Business Book' ของคุณไปที่ .

อีกครั้ง

มีการพิมพ์ผิดในอีเมลของคุณ? คลิกที่นี่เพื่อแก้ไขที่อยู่อีเมลและส่งอีกครั้ง

ปกหนังสือ
ปกหนังสือ

การเปิดตัวแบบทีละขั้นทำให้คุณได้เปรียบในเชิงพาณิชย์อย่างไร

เนื่องจากแทบจะไม่มีใครใช้ประโยชน์จาก Staged Rollouts ในขณะนี้ หากคุณเริ่มใช้ Staged Rollouts และทำการตลาดบนเว็บไซต์ของคุณอย่างเหมาะสม เพื่อให้ผู้เยี่ยมชมทราบว่าคุณมีรอบการเผยแพร่อย่างมีความรับผิดชอบ จะทำให้คุณได้เปรียบในการแข่งขันและเพิ่มความไว้วางใจในผลิตภัณฑ์ของคุณ /ยี่ห้อ!

หากคุณวิเคราะห์ตลาดจากมุมมองของนักพัฒนา คุณจะสังเกตเห็นว่านักพัฒนาซอฟต์แวร์จำนวนมากติดตามคู่แข่งอย่างใกล้ชิด และมักจะกำหนดราคาให้อยู่ในช่วงราคาของตลาดในแนวดิ่ง ซึ่งนำไปสู่ผลิตภัณฑ์ WordPress ที่แข่งขันกันซึ่งนำเสนอคุณสมบัติที่คล้ายคลึงกันในช่วงราคาเดียวกัน

จากมุมมองของผู้ซื้อ นั่นหมายความว่าบ่อยครั้งที่ผลิตภัณฑ์ที่จะซื้อเนื่องจากมีคุณสมบัติและราคาที่เทียบเคียงกันได้ แต่เมื่อคุณประเมินปลั๊กอินหลายตัวที่มีราคาเท่ากัน และให้หรือรับ มีคุณสมบัติเหมือนกัน คุณจะไม่อยากลองใช้ผลิตภัณฑ์ที่นำเสนอ Staged Rollouts บ้างหรือเพราะรู้ว่ารุ่นที่ใช้งานจริงควรมีเสถียรภาพมากกว่าคู่แข่ง

การเปิดตัวแบบทีละขั้นช่วยเพิ่มความมั่นใจในผลิตภัณฑ์และธุรกิจของคุณ เป็นข้อได้เปรียบที่คุณสามารถใช้ประโยชน์ได้ก่อนที่ Staged Rollouts จะกลายเป็นแนวทางปฏิบัติมาตรฐาน (ซึ่งฉันหวังว่าพวกเขาจะทำได้จริงๆ)

Freemius รองรับการเปิดตัวแบบทีละขั้นสำหรับปลั๊กอินและธีมที่ต้องชำระเงิน

เรารู้สึกตื่นเต้นที่จะเป็นผู้บุกเบิก Staged Rollouts ในปลั๊กอิน WordPress ระดับพรีเมียมและระบบนิเวศของธีม พันธมิตรการขายของเราสามารถเผยแพร่การอัปเดตได้อย่างปลอดภัย มั่นใจ และเชื่อถือได้ โดยไม่มีการย้อนกลับไปยังผู้ใช้หรือทรัพยากรการสนับสนุน/การพัฒนา

เราทราบดีว่าการเปิดตัวครั้งสำคัญที่ท้าทายและน่าวิตกเพียงใด โดยเฉพาะอย่างยิ่งเนื่องจากมีความเสี่ยงที่อาจส่งผลเสียต่อแบรนด์ของคุณหลังจากการเปิดตัว “Clusterbug” อยู่เสมอ

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

การดำเนินการนี้จะเป็นประโยชน์ต่อลูกค้าของพันธมิตรของเรา เมื่อผู้ใช้ซื้อผลิตภัณฑ์ที่ขายผ่าน Freemius พวกเขาสามารถมั่นใจได้ว่าพวกเขากำลังเลือกใช้โซลูชันที่ขับเคลื่อนโดย Staged Rollouts และพวกเขาสามารถคาดหวังรุ่นที่มีความเสถียรมากขึ้นจากปลั๊กอินและธีมระดับพรีเมียมที่ใช้กลไกนี้

หากคุณกำลังขายกับ Freemius ต่อไปนี้คือวิธีใช้กลไกการเปิดตัวแบบทีละขั้นอย่างเหมาะสม

Freemius ดำเนินการเปิดตัวแบบทีละขั้นอย่างไร

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

จากนั้น เราปรับปรุงตารางที่รับผิดชอบในการจัดเก็บข้อมูลการเปิดตัวด้วยคุณสมบัติใหม่สองประการ: limit , uniques กัน

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

ขีดจำกัดการเปิดตัว Freemius Staged Rollouts ตามเปอร์เซ็นต์หรือจำนวนไซต์

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

สุดท้าย เราได้อัปเดตจุดปลาย API ที่เว็บไซต์เรียกเพื่อตรวจสอบว่ามีรุ่นใหม่หรือไม่ และแนะนำตรรกะต่อไปนี้ (ในโค้ดหลอก):

  latest_version = load latest version of product X
  If (website is on latest_version)
  	return “no new version”

  If (last_served_update_version of website same as latest_version)
  	return “no new version”

  If (latest_version is limited)
  	If (latest_version is limited AND uniques >= limit)
  	      return “no new version”

  	previous_version = load the previous version of product X

  	If (previous_version is limited too AND uniques <= previous_version.uniques)
  		If (website not using previous_version AND
  	  	  	last_served_update_version different from previous_version)
  			  	return “no new version”
  	else If (random({true, false}) )
  		return “no new version”

  	Set last_served_update_version of website to latest_version
   	Increment uniques by 1

  return latest_version
  

อัลกอริทึมนี้ช่วยให้แน่ใจว่า:

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

ไม่เหมือนกับสถาปัตยกรรม Staged Rollouts ของ WPML ที่รับรองว่าแต่ละรุ่นจะไปยังชุดย่อยที่แตกต่างกันของฐานการติดตั้งโดยใช้ถังแบบลอจิคัล การใช้งานของเราอาศัยการสุ่ม ดังนั้น เว็บไซต์อาจได้รับการเผยแพร่ขั้นต้นสองครั้งในสองรอบการเผยแพร่ติดต่อกัน อย่างไรก็ตาม ประโยชน์ของแนวทางนี้คือ เราสามารถจัดส่ง Staged Rollouts ให้กับลูกค้าของพันธมิตรทั้งหมดของเราโดยไม่ต้องพุชการอัปเดต SDK ซึ่งอาจใช้เวลาหลายเดือนหรือหลายปีในการเผยแพร่ให้กับลูกค้าทั้งหมด

เหตุใดการเปิดตัวแบบทีละขั้นจึงจำเป็นสำหรับอนาคตของ WordPress

เมื่อฉันถาม Amir ว่าอะไรเป็นตัวกระตุ้นให้พวกเขาพัฒนา Staged Rollouts สำหรับรอบการเผยแพร่ WPML นี่คือสิ่งที่เขาบอกฉัน:

3 ปีที่แล้ว ที่ WordCamp Europe ฉันใช้เวลาพูดคุยกับลูกค้า WPML เพื่อรวบรวมคำติชมทุกประเภทเกี่ยวกับประสบการณ์โดยรวมของพวกเขา ความผิดหวังอันดับ 1 ที่ฉันพบคือลูกค้าของเรากลัวที่จะอัปเดตปลั๊กอิน เนื่องจากอาจทำให้ไซต์ของพวกเขาเสียหายโดยไม่คาดคิด

อาเมียร์ เฮลเซอร์,

ผู้ก่อตั้ง OnTheGoSystems (WPML, ชุดเครื่องมือ)

ฉันเกี่ยวข้องกับสิ่งนั้นอย่างแน่นอน

นโยบายภายในของเราที่ Freemius เมื่อพูดถึงการอัปเดตปลั๊กอินและธีมคือ... อย่าเลย! โดยมีข้อยกเว้นสองประการ: หากมีปัญหาด้านความปลอดภัยที่ทราบหรือมีคุณลักษณะที่มีอยู่ในเวอร์ชันใหม่กว่าที่เราต้องการสำหรับไซต์ของเรา

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

WordPress มีการพัฒนาไปเล็กน้อยตั้งแต่นั้นมา และตอนนี้เรามีการปิดใช้งานอัตโนมัติเมื่อปลั๊กอินล้มเหลว อย่างไรก็ตาม สิ่งนั้นใช้ไม่ได้กับธีมและการปิดใช้งานปลั๊กอินที่มีความสำคัญต่อภารกิจสำหรับเว็บไซต์ของเรายังคงเป็นปัญหาใหญ่

สิ่งสำคัญที่สุดคือหากฉันในฐานะนักพัฒนาปลั๊กอินและซีอีโอของบริษัทที่ช่วยนักพัฒนาปลั๊กอินและธีมหลายพันรายให้เติบโตธุรกิจของพวกเขา ฉันกังวลเกี่ยวกับการทำลายไซต์ของเราทุกครั้งที่เราอัปเดตปลั๊กอินหรือธีมบนไซต์ของเรา นั่นย่อมหมายความว่าอย่างแน่นอน ผู้ใช้ส่วนใหญ่ไม่มั่นใจในการอัปเดตซอฟต์แวร์ในพื้นที่ของเรา

การขาดการเปิดตัวแบบทีละขั้นทำให้เราและระบบนิเวศ WP ทั้งหมดกลับมา และช่วยให้โซลูชันการแข่งขันที่ใช้ SaaS มีความได้เปรียบอย่างมาก ผู้ใช้ WiX และ Shopify ไม่จำเป็นต้องคิดถึงการอัปเดตเลย! การอัปเดตจะเกิดขึ้นในเบื้องหลัง และซอฟต์แวร์อัปเดตอยู่เสมอ ความปลอดภัยและคุณลักษณะที่ชาญฉลาด

การขาดการเปิดตัวแบบทีละขั้นช่วยยึดระบบนิเวศ WP ทั้งหมดกลับคืนมา และช่วยให้โซลูชันที่ใช้ SaaS ได้เปรียบอย่างมาก ผู้ใช้ WiX และ Shopify ไม่จำเป็นต้องคิดถึงการอัปเดตซอฟต์แวร์ – จะเกิดขึ้นในเบื้องหลังเท่านั้นTweet

หากคุณดู State of the Word เมื่อสัปดาห์ที่แล้ว Matt Mullenweg ผู้ร่วมก่อตั้ง WordPress จะเห็นถึงความสำคัญของซอฟต์แวร์ที่อัปเดตอย่างชัดเจน นี่คือวิสัยทัศน์ของ Matt สำหรับการอัปเดต WP:

… ให้คุณเลือกรับการอัปเดตอัตโนมัติสำหรับ Core นี่เป็นก้าวแรกสู่เป้าหมายของเรา โดยให้ WordPress ของคุณรักษาตัวเองโดยพื้นฐานแล้ว เมื่อคุณสามารถตั้งค่าและลืมมันได้ และมันจะได้รับการอัปเดตอัตโนมัติในเบื้องหลังและปลั๊กอิน ธีม และแกนหลักทั้งหมดของคุณ ทวีต

วิธีเดียวที่ฉันสามารถจินตนาการได้ว่า WordPress กลายเป็น "ชุดและลืม" คือถ้าการอัปเดตซอฟต์แวร์สามารถเชื่อถือได้และเชื่อถือได้มากขึ้น และสามารถเกิดขึ้นได้เฉพาะกับ Staged Rollouts เท่านั้น

WordPress.org: นี่คือวิธีที่คุณสามารถแนะนำ Staged Rollouts สำหรับ Plugin and Theme Repository

เช่นเดียวกับการใช้งานของเรา จำเป็นต้องเพิ่มตัวเลือกเมตาใหม่สองตัวเลือกในทุกปลั๊กอินและการเปิดตัวธีมในฐานข้อมูล WordPress.org: limit และ uniques

การแก้ไขตัวเลือก meta limit สามารถเปิดเผยในมุมมองขั้นสูงสำหรับเจ้าของที่บันทึกไว้ (และอาจสำหรับผู้คอมมิตอื่น ๆ ):

WordPress.org แนะนำกลไกการเปิดตัวแบบทีละขั้นโดย Vova Feldman

นักพัฒนาซอฟต์แวร์จะมีวิธีการควบคุมการเปิดเผยของทุกรุ่น ตลอดจนความสามารถในการกำหนดขีดจำกัดสำหรับรุ่นถัดไป

เนื่องจาก WordPress.org ไม่ได้จัดเก็บข้อมูลที่มีโครงสร้างสำหรับทุกเว็บไซต์ที่ได้รับการอัปเดตจาก WordPress.org แทนที่จะจัดเก็บข้อมูลเวอร์ชันล่าสุดที่เว็บไซต์ "เห็น" ในฐานข้อมูล WordPress.org จึงสามารถมอบหมายการจัดเก็บข้อมูลไปยังเว็บไซต์ได้ . ซึ่งหมายความว่า 'update_plugins' ชั่วคราวและข้อมูลที่ส่งไปยัง WordPress.org API เมื่อตรวจสอบการอัปเดตจะต้องได้รับการเสริมด้วย last_served_update_version

สุดท้าย WordPress.org อัปเดตตำแหน่งข้อมูล API สามารถเสริมด้วยตรรกะเดียวกับที่เราใช้สำหรับการติดตั้ง Freemius Staged Rollouts แทนที่จะอาศัย last_served_update_version จากฐานข้อมูล wp.org กลไกจะขึ้นอยู่กับค่าที่ส่งจากเว็บไซต์ตามคอร์

ง่าย ๆ สบาย ๆ ไม่?

กำลังจ้าง
นักพัฒนา PHP อาวุโส
สร้างแกนหลักของผลิตภัณฑ์ บริการ และ API ของ Freemius และดูผลกระทบโดยตรงต่อธุรกิจปลั๊กอินและธีมของ WordPress
ผู้เชี่ยวชาญด้านการโยกย้ายอีคอมเมิร์ซ
จัดการการย้ายใบอนุญาตและกระบวนการรวมผลิตภัณฑ์สำหรับธุรกิจปลั๊กอินและธีมที่เริ่มขายด้วย Freemius
นักการตลาดเนื้อหา
แบ่งปันความรู้ของเราผ่านเนื้อหาที่เป็นลายลักษณ์อักษร ภาพและเสียง เกี่ยวกับวิธีที่ดีที่สุดในการขายปลั๊กอินและธีม

มาดึงความมั่นใจของผู้ใช้กลับคืนมาเพื่อกดปุ่มอัปเดต

เราทุกคนต้องการเห็น WordPress ประสบความสำเร็จและเติบโตอย่างยิ่งใหญ่และดีขึ้นอย่างต่อเนื่อง!

ด้วยทรัพยากรจำนวนมากที่เข้าสู่ Gutenberg เป็นที่ชัดเจนว่าผู้นำของ WordPress ยอมรับว่าเราต้องทำให้แพลตฟอร์มสามารถเข้าถึงได้มากขึ้นสำหรับ Joe ที่ไม่ใช้เทคโนโลยีโดยเฉลี่ย ประเด็นก็คือ ตราบใดที่การอัปเดตซอฟต์แวร์ไม่สามารถเชื่อถือได้ แม้แต่ Gutenberg และเครื่องมือสร้างเพจที่น่าทึ่งทั้งหมดที่เรามี บุคคลที่ไม่มีเทคโนโลยีก็จะหนีไปที่ Wix ในการอัปเดตครั้งแรกที่มีปัญหา และผมไม่สามารถตำหนิได้ พวกเขา.

ฉันกำลังโทรหาผู้ก่อตั้ง EDD, Pippin Williamson, WooCommerce CEO, Paul Maiorana และทีม WordPress.org: เรามีโอกาสที่จะทำให้ปลั๊กอินและระบบนิเวศของธีมมีเสถียรภาพมากขึ้นสำหรับชุมชน WordPress ที่ยิ่งใหญ่กว่า ให้ผู้ใช้รักษาซอฟต์แวร์ของตนให้ปลอดภัยและเป็นปัจจุบันโดยไม่ต้องกลัวและหงุดหงิดน้อยลง แม้ว่าจะดูไม่มีความสำคัญสูงในระยะสั้น แต่ฉันแน่ใจว่าเราทุกคนจะได้รับประโยชน์จากสิ่งนี้ในระยะยาว