พบกับนักพัฒนา

การคำนวณที่สวยและฉลาดมาก

วิธีแก้สมการการออกแบบเครื่องคิดเลขให้สวยงามของนักออกแบบวิชวลเอฟเฟกต์

Calzy 3 เป็นอีกหนึ่งแอพเจ้าของรางวัล Apple Design Award ปี 2018 ซึ่งเป็นรางวัลเพื่อยกย่องความสร้างสรรค์และความสำเร็จด้านเทคนิคของเหล่านักพัฒนาที่สร้างมาตรฐานใหม่ให้กับการออกแบบและนวัตกรรมการพัฒนาแอพบนแพลตฟอร์มของ Apple

ถ้าคุณสงสัยว่าความงามในตัวเลขนั้นแฝงอยู่ในไหน ให้ลองถาม Raja Vijayaraman นักออกแบบวิชวลเอฟเฟกต์ผู้สร้างแอพเครื่องคิดเลขที่สวยที่สุดแอพหนึ่งใน App Store ดู แต่ก่อนหน้าที่เขาจะมาทำ Calzy 3 เขาคือหนึ่งในทีมงานเบื้องหลังภาพยนตร์ไซไฟสัญชาติอินเดียเรื่อง Robot ที่ออกฉายในปี 2010 โดย Raja ได้ออกแบบ Calzy เวอร์ชันแรกขึ้นมาเพื่อเป็นต้นแบบของแอพเครื่องคิดเลขแบบโมเดิร์นแทนแบบเดิมที่ฟังก์ชันด้านความจำยังไม่ดีพอ

แต่ Calzy 3 ไม่ได้มีดีแค่ที่ภาพลักษณ์ เพราะแอพนี้ทำให้การบันทึกผลลัพธ์ คำนวณภาษีซื้อขาย และปัดเศษเงิน เป็นเรื่องง่ายสำหรับทุกคน ในปีที่แล้วหลังจากที่ Raja ได้ศึกษาเรื่องการเขียนโปรแกรมภาษา Swift เขาก็กลับมาปรับแอพของตัวเองใหม่อีกครั้ง พร้อมกับเพิ่มฟีเจอร์ลากและวางให้กับการคำนวณและฟีเจอร์ที่จะอ่านผลลัพธ์ของคุณออกมาในภาษาอื่นๆ เข้าไปด้วย

วันนี้ Raja ในวัย 33 ปีที่อาศัยอยู่ในเมืองเจนไน ประเทศอินเดีย จะมาอธิบายว่าเขาเรียนเขียนโค้ดจากหนังสือ PDF ได้อย่างไร และสิ่งที่นักออกแบบแอพทุกคนควรยึดถือไว้ให้ขึ้นใจมีอะไรบ้าง

Raja Vijayaraman ขึ้นรับรางวัล Apple Design Award ปี 2018

ปัญหาอะไรที่คุณพยายามจะแก้ด้วย Calzy 3?
เครื่องคิดเลขบน iPhone เป็นแอพที่ผมใช้บ่อยที่สุด ผมคิดว่ามันน่าจะดีถ้าเรามีการแสดงวิธีทำแบบละเอียดและสามารถเก็บบันทึกการคำนวณนั้นไว้เผื่อใช้ในอนาคตได้ ซึ่งเวอร์ชันล่าสุดของ Calzy 3 เป็นผลพวงจากความคิดของผมว่าเครื่องคิดเลขสามารถพัฒนาไปได้ในทางไหนบ้างด้วยเทคโนโลยีใหม่ล่าสุดใน iOS ผมใช้การลากและวางในการออกแบบระบบการจำใหม่ บวกกับ 3D Touch เพื่อทำให้แอพมีฟีเจอร์ที่เยอะขึ้นแต่ในขณะเดียวกันก็ไม่รกรุงรังสำหรับคนใช้เหมือนกัน

อะไรคืออุปสรรคที่ใหญ่ที่สุดในการสร้างแอพของคุณและคุณก้าวข้ามมันมาได้อย่างไร?
ตัวผมไม่มีปริญญาด้านโปรแกรมมิ่งหรือการออกแบบ การเขียนโปรแกรมจึงเป็นโจทย์ที่ท้าทายสำหรับผมมาก มีหนังสือ PDF เล่มหนึ่งที่ชื่อ “How to Think Like a Computer Scientist: Learning with Python” ที่ช่วยให้ผมเข้าใจพื้นฐานต่างๆ ในขณะนั้นยังมีหลายแนวคิดมากที่ผมยังไม่ค่อยเข้าใจเท่าไหร่อย่างคลาส (Classes) และการสืบทอดคลาส (Inheritance) รวมถึงการเขียนโปรแกรมเชิงวัตถุ (Object-oriented programming) แต่ผมก็สามารถเชื่อมโยงบางสิ่งเข้ากับแอพได้ เช่น การที่ผมควรได้ input แบบ “float” การคำนวณโดยใช้ฟังก์ชัน และการเก็บข้อมูลเป็นแบบสตริง เป็นต้น

มีอะไรที่ง่ายกว่าที่คุณคิดไว้บ้าง?
ตอนที่ผมเริ่มต้นบนเส้นทางนี้เมื่อห้าปีที่แล้ว ประสบการณ์ของผมแทบจะเป็นศูนย์ ผมไม่เคยขายซอฟต์แวร์มาก่อน แต่ผมก็ค้นพบว่ามันง่ายมากสำหรับใครก็ตามที่อยากจะเริ่มต้นขายแอพของตัวเองให้กับผู้ใช้ทั่วโลก เพราะคุณเพียงแค่ต้องสมัครเข้า Apple Developer Program ที่มีค่าสมัครเพียงแค่ 99 ดอลลาร์เท่านั้น

จุดไหนคือจุดที่คุณรู้สึกว่าทุกอย่างกำลังก่อร่างสร้างตัวไปในทิศทางที่ดี?
ตอนที่ผมเริ่มรู้สึกแบบนั้นคือตอนที่ผมนำองค์ประกอบด้านอินเทอร์เฟซของผู้ใช้มาใส่ใน Xcode Interface Builder และเห็นแอพของตัวเองใช้งานได้จริงบน iPhone

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

โปรเจกต์ต่อไปของคุณคืออะไร?
ตอนนี้ผมกำลังอัพเดทแอพทุกตัวสำหรับ iOS 12 และผมก็ตื่นเต้นกับ Core ML 2 และ ARKit 2 มากๆ ด้วย