Google I/O Extended 2023 Seoul Review
Google I/O Extended 2023 Seoul
On July 29, 2023, I attended the Google I/O Extended event held at COEX Conference Room (South), 4F, organized by GDG SEOUL. The conference covered a variety of topics related to web development and other areas that were quite familiar to my usual work. However, as always, seeing people passionately working in fields different from mine was highly motivating. The ticket for the event cost 10,000 KRW, which I thought was about the same as lunch money, so I bought it without much thought.
Upon entering the venue, we received a schedule and event information sheet along with drinks and water, and they put an entrance wristband on our wrists. Personally, I liked getting lanyards with badges at conferences because seeing more lanyards around my neck made me feel good, but I was slightly disappointed that it was a wristband this time.
The conference ran from 1 PM to 5 PM, with each presentation lasting either 20 or 40 minutes. There were many presentations related to Android, which was somewhat unfamiliar to me as a web developer who only dabbled in app development.
Welcome Remarks Keynote
The keynote was delivered by Manikantan Krishnamurthy, who has worked at Google for about 6-7 years. Since he presented in English without subtitles or interpretation, I couldn’t understand most of it. However, from what I gathered, he started by saying he wasn’t good at Korean but would study for the next meeting. He introduced the venue and Google I/O Extended. He also talked about things like hailing taxis through smartphones and some market insights in Korea, mentioning how Google is moving towards AI in mobile. As someone who doesn’t understand English well, I just sat there, mostly zoning out.
Session
What’s new in android development tools
After the keynote, the next session took place in the same room (401). It was presented by Hyunseok Noh, who works at Kakao Bank. In summary, the presentation covered new features in Android Studio such as Flamingo, Giraffe, and Hedgehog. As someone who last worked with Android back in 2013 during my school days, it was mostly an introduction to things I hadn’t encountered before.
Flamingo
Since I am not well-versed in app development, I may not have fully grasped everything, but here’s what I understood from the presentation about Android Studio’s Flamingo version:
With the version update, changes in namespaces and default build options may cause build failures post-update. While I’m not an app developer, attending such sessions helps recognize potential issues quicker when they arise. My experience with Unity, where version changes led to certain functionalities failing due to configuration issues, and dealing with framework versions and upgrades in web development made this part particularly interesting. Additionally, a new setting plugin allows configuring identical Android settings across the entire project. This facilitates smoother collaboration among multiple developers. The presentation also highlighted support for previewing icon colors and dynamic colors. Reflecting changes immediately during development can significantly reduce time consumption. Moreover, testing on actual devices, previously requiring mirroring, can now be conducted directly within Android Studio. The demonstration video showcased a smooth and rapid synchronization process. Other aspects, such as task categorization and the APP Quality Insights feature, were also covered, although these details remain somewhat vague in my memory due to the unfamiliarity with the subject matter. In summary, the key points of the Flamingo update were effectively summarized in the final slide of the presentation.
Giraffe
The next part of the presentation was about Android Studio’s Giraffe version. It included details about the new UI Preview and the Android SDK Upgrade Assistant. The SDK upgrade part was particularly impressive. Documents can be accessed directly from the IDE, reducing the need to switch between the browser and IDE. IDE provides necessary information for upgrades. Additionally, thanks to the Gradle Version Catalog, Giraffe improves auto-completion accuracy, making it easier to identify unclear completions. There was also an explanation of Kotlin DSL and build area download information, showing where and how long downloads took. The live editor has been optimized for faster reflection compared to Flamingo, and triggers have been added to the Composer Animation Preview, which already existed. Additionally, there is an optimization feature that builds only the target API level. Like Flamingo, the presentation concluded with a summarized screen highlighting the key points of Giraffe.
Hedgehog
The final part of the presentation focused on Android Studio’s Hedgehog version. New path information for specifying the Android Gradle JDK path was added, and there was a mention of Studio Bot, currently only available in the USA. Studio Bot allows users to request explanations of code, create comments, calculate greatest common divisors, and run them for testing. However, it sometimes provides inaccurate answers or responds in English even when asked in Korean. Studio Bot is still in an experimental phase, occasionally giving different answers to the same question and providing better readability and step explanations with the AI Assistant. The presentation concluded with a hope that Studio Bot will show more advanced features when it eventually supports Korea. Other new features like embedded layout inspectors were also discussed, but due to my limited knowledge in this area, the exact details were hard to grasp. The final screens shown at the end of the presentation summarized the key points of Hedgehog.
Dagger Hilt for Dependency Injection(Dagger Hilt로 의존성 주입하기)
The presentation by An Seong-yong from NAVER WEBTOON was about Dagger Hilt. Although I am not well-versed in Android, I was curious about how dependency injection works in Android since I had encountered it with Spring. The presenter mentioned that Hilt offers the best versatility among frameworks and plugins for dependency injection. The overall content covered the usage of Hilt and Dependency Injection (DI). Since DI was already familiar to me, the parts about integrating Hilt didn’t quite stick, likely because they weren’t directly relevant to my current tasks.
Applying Clean Architecture in Flutter(Flutter에 Clean Architecture를 얹어보자)
The third presentation was by Yang Soo-jang from GDG Songdo, focusing on Clean Architecture in Flutter. It provided a general overview of Clean Architecture, and the slides were designed to be easily understandable.
How Do Productive Developers Work in Companies?(일 잘하는 개발자는 회사에서 어떻게 일할까?)
Park Sang-kwon from Heydealer presented this session. Unlike the others, it was a session without any code, and it attracted the largest audience. Due to lack of space, I ended up sitting crisscrossed in a corner by the stairs. The content seemed familiar, with topics like eliminating implicit knowledge, which exists in any company, not just in development. From my own experience, receiving handovers or documentation was rare; most knowledge came verbally or through trial and error. The presenter emphasized the importance of documenting everything and finding solutions beyond just technical means. Examples included extending dial tones to reduce perceived wait times or installing mirrors in elevators to address slow elevator speeds. He also stressed offering alternatives instead of simply saying “no” to designers or planners, though he acknowledged that practices vary by company. The session advised using clear language, automating repetitive tasks, and regularly reflecting on work, at least quarterly. While the content was beneficial for developers, its applicability might differ depending on the company and team dynamics.
Apache Airflow in Google Cloud
The final session by Baek Jae-yeon discussed operating Apache Airflow in Google Cloud. Having no prior experience with it, I found myself curious. However, since the originally intended session was full, I chose this one. Unfortunately, the room was half-empty, suggesting that swapping venues with another session might have been more effective. I ended up leaving midway, so I didn’t catch the entire presentation.
후기
The event provided several memorable moments, but there were also areas for improvement. Perhaps due to the summer season, managing the crowd became challenging. Some presentations were overcrowded, making it difficult to find seats, leading to attendees standing or sitting in corners. The event space, while sizable, seemed cramped with too many participants, making it hard to engage with event booths. In some sessions, even if there were empty seats, they were often occupied by bags left by other attendees, restricting movement and brief exits.
Despite these issues, the value for money was apparent. For a modest 10,000 KRW ticket price, attendees received bottled water, drinks, and a high-quality T-shirt. Those who actively participated in event games would have enjoyed the conference even more.
While the low price and opportunity to attend an offline conference were positives, a larger venue or better planning regarding session placements based on participant interests could have enhanced the experience. Despite the minor inconveniences, it’s important to acknowledge the hard work of the organizers, sponsors, and staff.
The event itself was inspiring, especially meeting numerous passionate developers in person. Gaining diverse insights and collecting swag items, including earning 50 miles from the Devotion booth, added to the benefits. Although the specific sessions were not publicly disclosed, learning about various fields was enjoyable.
In summary, while there were some logistical challenges, the event was overall rewarding, offering both professional and personal growth opportunities.