Droidcon SG 2022 Review แบบบ้าน ๆ ตอนที่ 1

Komkrit Kunanusont
3 min readOct 16, 2022

--

เชื่อว่าใครที่เป็น Android Developer น่าจะรู้จัก Community ที่ชื่อว่า Droidcon กันอยู่แล้ว เพราะเป็นแหล่งรวม Events ของ Android Developers จากทั่วโลก จัดขึ้นในหลายประเทศตั้งแต่เริ่มต้นครั้งแรกที่กรุงเบอร์ลินในปี 2009 ข้อมูลเพิ่มเติมไปตำกันได้ที่ https://www.droidcon.com/

Format ของ Events ก็จะคล้ายกับ Tech Conferences ที่เราคุ้นชิน ก็คือมี Talks หัวข้อต่าง ๆ เป็นหลัก และในช่วงเวลาว่างก็จะเป็นจังหวะ Networking ของผู้เข้าร่วมงาน แต่ที่เป็นจุดเด่นมาก ๆ ของ Droidcon คือหัวข้อและ speakers ที่ได้รับการคัดกรองคุณภาพมาแล้วแบบเน้น ๆ ทั้งนั้น ที่สิงคโปร์เองก็ไม่ต่างกัน

ปีนี้งาน Droidcon ที่สิงคโปร์ถูกจัดขึ้นในวันที่ 13–14 ตุลาคม 2022 ที่ Google Asia Pacific ผมได้มีโอกาสเข้าร่วมงานทั้งสองวัน และยืนยันได้เลยว่าเป็นสองวันที่คุ้มค่ามากจริง ๆ จนทำให้ผมตั้งใจไว้ว่าปีหน้าจะมาอีกถ้ามีโอกาส

รีวิวนี้ผมอาจจะไม่ได้ลงรายละเอียดถึงแต่ละหัวข้อ เพราะไม่ได้จดไว้ (พลาดแล้ว) และยังแอบมีความหวังนิด ๆ ว่าเขาจะมี recordings ไว้ให้มาดูภายหลังได้

มาเริ่มกันเลยครับ

วันที่ 1

วันแรกงานเปิดให้ลงทะเบียนเวลา 9:30 โดย Opening Remarks (session แรกของงาน) จะเป็นตอนสิบโมงเช้า ผมเขียนวิธีการเดินทางมาไว้ในอีกบทความหนึ่ง

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

งานวันแรกจัดที่ Google Developer Space ซึ่งบรรยากาศค่อนข้างสบาย ๆ และรายล้อมไปด้วย Android Artwork เต็มไปหมด

Speaker area ที่ Google Developer Space

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

พอ 10 โมง (ที่นี่ตรงเวลามาก ๆ) session แรกก็เริ่มขึ้น เป็น Keynote จากผู้จัดงาน เดี๋ยวผมจะเลือกมาเฉพาะเรื่องที่ผมจำรายละเอียดได้เยอะหน่อย

Ahmed Tikiwa — XML to Compose

Speaker คนนี้เป็น Android GDE จาก South Africa ครับ พูดภาษาอังกฤษชัดมาก แล้วก็เสียงนุ่มน่าฟัง เขามาเล่าให้ฟังว่าขั้นตอนที่เขาต้องทำในการ migrate จาก XML ไปเป็น Jetpack Compose สำหรับแอปของเขาที่ขนาดใหญ่มาก (เพราะ maintain มาหลายปีละ) เขาทำยังไงบ้าง เจอ challenges อะไรบ้าง

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

แล้วก็เขาแนะนำ library หนึ่งมา ที่ใช้จัดการเรื่อง Navigation เพราะว่าถ้าทำเองจะมี boilerplate code เยอะมาก แต่ผมไม่ได้จดมา เสียใจมาก T_T

ผมมีไปคุยกับเขาตอนช่วงเที่ยง ถามเขาเรื่อง Test ว่ามันยากกว่ารึเปล่า เขาบอกว่าสิ่งที่เขาทำคือต้องติด tag เข้าไปใน Compose เพื่อให้ตอนทำ UI Test สามารถหยิบออกมาได้ พูดง่าย ๆ ก็คือเหมือนใช้ tag แทน id ของ XML ที่เราคุ้นชินกันนี่แหละ

Sidiq Permana — KMM

คนนี้เป็น Android GDE จาก Indonesia ครับ เขามาเล่าให้ฟังว่าเขาใช้ KMM (Kotlin Multiplatform Mobile) ยังไงบ้างในการขึ้นแอปใหม่ 2 รอบ และถ้าต้องทำรอบ 3 จะทำยังไง ผมจำได้หลัก ๆ คือรอบแรกเขาใช้วิธี Monorepo แล้วรอบสองใช้วิธีแยก น่าจะตาม Features นะ แต่ไม่แน่ใจ ต้องไปคอนเฟิร์มอีกที

ที่จริงแล้วคนในงานให้ความสนใจ KMM กันค่อนข้างมากเลย หลัก ๆ คงเป็นเพราะคนในงานคุ้นเคยกับ Kotlin กันอยู่แล้วด้วย ยิ่งมันเพิ่งจะประกาศเป็น Beta ไปเมื่อไม่กี่วันมานี้ด้วย อาจจะถึงเวลาลองไปเล่นดูกันแล้วล่ะถ้ายังไม่เคย

Sagar Begale & Angie Sasmita — Compose Performance

ในตารางเหมือนจะแยกเป็น 2 sessions แต่จริง ๆ เป็นอันเดียวกันครับที่เขาสลับกันพูดแต่ละส่วน ถ้าใครแอบดู events ของ Google Singapore กันบ่อย ๆ น่าจะรู้จักสองคนนี้อยู่แล้ว โดยเฉพาะ Angie

หลัก ๆ ก็คือเขามาแชร์ให้ฟังว่าใน Android Studio Layout Editor สามารถดู Compose Tree ได้ว่า Compose Element แต่ละส่วนนี่ถูก recompose ไปกี่ครั้ง ซึ่งเราก็จะสามารถ optimize แต่ละส่วนได้เลยเพื่อ improve performance ของแอปเราครับ

ตอนท้าย session เขาขอผู้เข้าร่วมทำ Focus Group กับเขาด้วย มีสองเวลา คือตอนเย็นวันนั้น กับเช้า (มาก ๆ) วันถัดไป เนื่องจากผมนัดเพื่อนไว้ตอนเย็นผมเลยเลือกตอนเช้าไปแทน

Aung Kyaw Paing (Vincent) — Accessibility

ใครที่เข้าร่วม Android Bangkok Conference ปี 2022 คงจะทราบเนื้อหากันอยู่แล้ว และคุ้นหน้าคุ้นตากับพี่ Vincent กันเป็นอย่างดี ผมชอบหัวข้อนี้มากเป็นการส่วนตัว เพราะผมอยากจะให้ทุก ๆ คนได้ใช้แอปที่เราทำขึ้นมาด้วย experience ที่ดีจริง ๆ

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

อย่างอื่นก็จะเป็นแบบ พวก element ที่มีเพื่อความสวยงาม (เช่นรูปไอคอนนาฬิกาหน้าเวลา) แต่ไม่ได้สื่อความหมายอะไรในตัวเอง ให้ยุบมันไว้กับอีกอัน ไม่ก็ให้ใส่ keyword ที่บอกกับ Accessibility system ของ Android ว่าให้ ignore ไป

ที่จริงรายละเอียดมีอีกเยอะครับ แต่เกรงจะยาวไป ขออนุญาตตัดจบตรงนี้ก่อน :)

Jeannie Lee — Security

Speaker ท่านนี้เป็นอาจารย์ครับ เคยเป็น Software Engineer มาก่อน แกมาพูดถึง Security Standard ที่ชื่อว่า OWASP ซึ่งหลาย ๆ คนน่าจะรู้จักกันดี มีอยู่ 10 ข้อ แล้วก็แต่ละส่วนมัน Apply กับพวกเราในทาง Mobile ยังไงบ้าง โดยสามารถไปอ่านแบบละเอียด ๆ กันได้ที่ https://mas.owasp.org/MASVS/

เนื้อหาบางส่วนของหัวข้อในวันที่ 1 ก็จบลงราว ๆ นี้ครับ มีแต่หัวข้อดี ๆ ทั้งนั้นเลย อันอื่นที่ผมไม่ได้หยิบมาก็ดีมาก ๆ เหมือนกัน แค่ผมจำรายละเอียดไม่ค่อยได้ (รอบหน้าจะจดมาอย่างตั้งใจครับ)

ขอบคุณมาก ๆ ที่อ่านมาถึงตรงนี้ครับ ใครอยากอ่านต่อของวันที่ 2 ดูได้ที่นี่เลยครับ

สามารถพูดคุยติชม หรือสอบถามสิ่งที่สนใจอยากรู้กันได้ในช่อง comment เลยนะครับ :)

--

--

Komkrit Kunanusont

Mainly a Mobile developer, sometimes leading a small software devs team, sometimes thinking, sometimes coding, sometimes dreaming and coding in parallel