แม้ว่าสมาร์ทโฟนสมัยใหม่จะทำงานบน Android หรือ iOS แต่ครั้งหนึ่งเคยมีผู้เล่นรายใหญ่อันดับสามที่ครองตลาดมือถือ นั่นคือ Symbian ระบบปฏิบัติการนี้เกิดจากความร่วมมือระหว่าง Psion และ Nokia ใช้งานในอุปกรณ์หลายล้านเครื่องและมีความสำเร็จทางเทคนิคที่น่าประทับใจ แต่ในปัจจุบัน แม้จะเป็น open-source และมีให้ใช้งานใน GitHub แล้ว Symbian ก็ยังคงถูกลืมไปเป็นส่วนใหญ่ เรื่องราวของการขึ้นและตกของมันเผยให้เห็นบทเรียนสำคัญเกี่ยวกับสิ่งที่ทำให้แพลตฟอร์มเทคโนโลยีประสบความสำเร็จหรือล้มเหลว
ไทม์ไลน์ของ Symbian และเหตุการณ์สำคัญ
- ปลายทศวรรษ 1990: Symbian OS ได้รับการพัฒนาจาก Psion EPOC32
- 2003-2004: อุปกรณ์ Symbian รุ่นแรกเปิดตัว
- 2006: Nokia เปิดตัว N770 (ใช้ระบบ Linux ไม่มีช่องใส่ซิมการ์ด)
- 2007: iPhone เปิดตัว Nokia S60 3.x ยังไม่รองรับหน้าจอสัมผัส
- 2008: Android เปิดตัว Nokia รีบเร่งเพิ่มการรองรับหน้าจอสัมผัสให้กับ Symbian
- 2010: Nokia ซื้อกิจการ Symbian ทั้งหมดและทำให้เป็นโอเพนซอร์ส
- 2011: Nokia หันไปใช้ Windows Phone และยกเลิก Symbian
- 2014: Microsoft ยุติหน่วยงานโทรศัพท์ Nokia
ความเก่งกาจทางเทคนิคไม่เพียงพอ
รากฐานทางเทคนิคของ Symbian น่าประทับใจอย่างแท้จริงในยุคนั้น microkernel EKA2 ที่ออกแบบโดย Dennis May เป็นตัวแทนของแนวทางที่ซับซ้อนต่อการคำนวณบนมือถือ มันมี real-time nano-kernel ที่สามารถรันทั้งฟังก์ชันโทรศัพท์พื้นฐานและแอปพลิเคชันที่ซับซ้อนบนโปรเซสเซอร์คอร์เดียวกัน สิ่งนี้มีค่าอย่างยิ่งเมื่อโปรเซสเซอร์ ARM มีราคาแพงและการใส่หลายคอร์ในอุปกรณ์เดียวไม่คุ้มค่าทางเศรษฐกิจ
ระบบปฏิบัติการถูกสร้างขึ้นตั้งแต่เริ่มต้นโดยใช้ C++ ในช่วงปลายทศวรรษ 1990 ปรับให้เหมาะสมเฉพาะสำหรับอุปกรณ์ที่มี RAM เพียง 1MB และอายุแบตเตอรี่จำกัด อดีตพนักงาน Nokia เล่าว่าเคอร์เนลเร็วเหมือนฟ้าผ่า พร้อมด้วย Active Object model ที่มีประสิทธิภาพซึ่งจัดการเครือข่าย เสียง และฟังก์ชันอื่นๆ ด้วยการใช้ทรัพยากรน้อยที่สุด
การเปรียบเทียบข้อมูลจำเพาะทางเทคนิค (ประมาณปี 2008)
แพลตฟอร์ม | การใช้งาน RAM | ภาษาการพัฒนา | ประเภท Kernel | การรองรับ Touch |
---|---|---|---|---|
Symbian | 5-10 MB (แอปพลิเคชันดั้งเดิม) | Custom C++ dialect | Real-time microkernel | เพิ่มเข้ามาทีหลัง (รีบร้อน) |
Android | ผันแปร | Java (ไม่ถูกจำกัด) | Linux kernel | รองรับโดยธรรมชาติ |
iOS | ผันแปร | Objective-C | XNU kernel | รองรับโดยธรรมชาติ |
Qt บน Symbian | 40-50 MB | Standard C++ | Real-time microkernel | จำกัด |
ปัญหาประสบการณ์นักพัฒนา
แม้จะมีข้อดีทางเทคนิค Symbian กลับมีข้อบกพร่องร้ายแรง นั่นคือการพัฒนาที่ยากเย็นมาก เส้นโค้งการเรียนรู้สูงชันอย่างฉาวโฉ่ นักพัฒนาอธิบายว่ามันเป็นฝันร้าย template ที่ต้องเชี่ยวชาญ C++ dialect เฉพาะของ Nokia นี่ไม่ใช่ C++ มาตรฐาน แต่เป็นเวอร์ชันพิเศษที่มีแนวทางเฉพาะในการจัดการหน่วยความจำ สตริง และการจัดการข้อผิดพลาด
โมเดลการจัดการหน่วยความจำยากต่อการเขียนโปรแกรมและสามารถ crash ได้ง่าย
เครื่องมือพัฒนาทำให้เรื่องแย่ลง Carbide.c++ ซึ่งเป็น IDE ที่ใช้ Eclipse ของ Nokia ถูกวิจารณ์อย่างกว้างขวาง การ debug บนอุปกรณ์จริงยังดิบ emulator มีข้อจำกัดร้ายแรง และระบบ build อาศัย GCC 2.x compiler เก่าจนถึงปี 2011 การได้รับใบรับรองเพื่อลงนามแอปพลิเคชันเพิ่มความซับซ้อนอีกชั้นหนึ่งที่ทำให้นักพัฒนาอิสระหงุดหงิด
ความท้าทายด้านประสบการณ์นักพัฒนา
- ระบบ Build: ระบบ build แบบกำหนดเองที่ใช้ Perl พร้อมกับคอมไพเลอร์ GCC 2.x ที่ล้าสมัย
- IDE: Carbide.c++ (รูปแบบหนึ่งของ Eclipse) ที่มีความสะดวกในการใช้งานต่ำ
- การ Debug: ความสามารถในการ debug บนอุปกรณ์จริงที่จำกัด
- การจำลอง: เครื่องจำลองที่มีข้อจำกัดไม่สามารถทดสอบเสียง Bluetooth หรือฟีเจอร์ฮาร์ดแวร์อื่นๆ ได้
- การรับรอง: ต้องมีใบรับรองจากผู้ผลิตเพื่อลงนามในแอปพลิเคชัน
- การกระจัดกระจาย: ความละเอียดหน้าจอและเฟรมเวิร์ก UI หลายแบบที่เข้ากันไม่ได้ในอุปกรณ์ Nokia ต่างรุ่น
- เอกสารประกอบ: ภาษา C++ แบบพิเศษที่ต้องเรียนรู้รูปแบบการเขียนโปรแกรมเฉพาะของ Nokia
ความผิดพลาดเชิงกลยุทธ์และการเมืองภายใน
การเมืองภายในของ Nokia ขัดขวางการพัฒนาของ Symbian อย่างมาก บริษัทได้พัฒนาอุปกรณ์ที่ใช้ Linux เช่น N770 และ N800 ตั้งแต่ปี 2006 ซึ่งมีทัชสกรีนและอินเทอร์เฟซที่ทันสมัย อย่างไรก็ตาม การต่อต้านภายในจากผู้สนับสนุน Symbian ป้องกันไม่ให้อุปกรณ์เหล่านี้มีซิมการ์ด ซึ่งป้องกันไม่ให้พวกมันกลายเป็นสมาร์ทโฟนจริงๆ
การตัดสินใจนี้มีราคาแพง เมื่อ Apple เปิดตัว iPhone ในปี 2007 Nokia ถูกจับได้ด้วย S60 3.x ซึ่งไม่รองรับทัชสกรีน ความพยายามเร่งด่วนในการเพิ่มความสามารถสัมผัสส่งผลให้เกิดซอฟต์แวร์ที่ไม่เสถียรและใช้งานไม่ได้ซึ่งทำลายชื่อเสียงของ Nokia ในขณะเดียวกัน ทีม Android ของ Google รายงานว่าใช้อุปกรณ์ N800 ของ Nokia เองในการพัฒนาแพลตฟอร์มคู่แข่ง
ความท้าทายของการแตกแยก
แนวทางของ Nokia ต่อความเข้ากันได้ของอุปกรณ์สร้างปัญหาเพิ่มเติม บริษัทให้ความสำคัญกับความหลากหลายของฮาร์ดแวร์มากกว่าความสอดคล้องของซอฟต์แวร์ ส่งผลให้เกิดการแตกแยกครั้งใหญ่ในความละเอียดหน้าจอ วิธีการป้อนข้อมูล และความสามารถของฮาร์ดแวร์ที่แตกต่างกัน นักพัฒนาพบว่าเป็นไปไม่ได้เกือบจะสร้างแอปพลิเคชันที่ทำงานได้อย่างน่าเชื่อถือทั่วทั้งไลน์อัพอุปกรณ์ของ Nokia
การแตกแยกนี้ขยายไปถึงส่วนติดต่อผู้ใช้ด้วย Nokia เสียทรัพยากรจำนวนมากในการพัฒนา UI framework หลายตัวที่เข้ากันไม่ได้แทนที่จะมุ่งเน้นไปที่ประสบการณ์เดียวที่สวยงาม สงคราม UI ภายในระหว่างทีมต่างๆ แบ่งความพยายามในการพัฒนาและทำให้ตลาดสับสน
บทเรียนสำหรับแพลตฟอร์มสมัยใหม่
ความล้มเหลวของ Symbian แสดงให้เห็นว่าความเป็นเลิศทางเทคนิคเพียงอย่างเดียวไม่สามารถรักษาแพลตฟอร์มได้ แม้ว่าระบบปฏิบัติการจะมีประสิทธิภาพและความสามารถ แต่ประสบการณ์นักพัฒนาที่แย่ในที่สุดผลักดันผู้สร้างไปสู่ Android และ iOS Google และ Apple ประสบความสำเร็จไม่เพียงเพราะพวกเขามีการตลาดหรือจังหวะเวลาที่ดีกว่า แต่เพราะพวกเขาทำให้นักพัฒนาสร้างและแจกจ่ายแอปพลิเคชันได้ง่ายขึ้น
เรื่องราวนี้ยังเน้นย้ำความสำคัญของการมุ่งเน้นเชิงกลยุทธ์ ความลังเลของ Nokia ที่จะกัดกินธุรกิจโทรศัพท์ที่มีอยู่ป้องกันไม่ให้บริษัทยอมรับการปฏิวัติสมาร์ทโฟนที่ตัวเองช่วยสร้างขึ้นอย่างเต็มที่ เมื่อผู้นำตระหนักถึงภัยคุกคาม คู่แข่งได้สร้างตำแหน่งที่โดดเด่นในตลาดใหม่แล้ว
ในปัจจุบัน เมื่อระบบปฏิบัติการและแพลตฟอร์มใหม่ๆ เกิดขึ้น มรดกของ Symbian ทำหน้าที่เป็นเครื่องเตือนใจว่าประสบการณ์ผู้ใช้ สำหรับทั้งนักพัฒนาและผู้ใช้งานจริง มักจะสำคัญกว่าความสามารถทางเทคนิคที่ดิบ โค้ดที่สง่างามที่สุดไม่มีความหมายอะไรหากผู้คนไม่สามารถหรือไม่ต้องการใช้มัน
อ้างอิง: Open, free, and completely ignored: The strange afterlife of Symbian