Gyuyoung Kim

Software Engineer / WebKit and Chromium developer

 - E-mail: gyuyoung.kim at chromium.org  and gyuyoung.kim at webkit.org
- Blog: http://blogs.igalia.com/gyuyoung
- Twitter: https://twitter.com/gyuyoung_kim


Projects

Whale Browser in Naver Labs (Dec. 2016)

Project Description

The Whale Project aims to develop Naver's own internet browser (Website: http://whale.naver.com/), addressing the absence of a dedicated browser from Naver, the largest internet company in Korea. Unlike Google and Apple, Naver lacked its own internet browser. To address this, Naver embarked on creating an internet browser based on WebKit from 2011 onwards. This initiative led me to transition from Samsung to Naver. However, in June 2016, Naver shifted its focus to Chromium instead of WebKit due to challenges in supporting Korea's unique internet landscape. Notably, various Korean banking and government websites exclusively supported IE using ActiveX or Chrome with extensions. Moreover, there was a demand for Chrome-like extensions among many Koreans. With the transition to Chromium, our primary focus shifted to UI implementation and integration with Naver's services, given the stability of Chromium's core logic. Our goal was to enhance browser convenience and user experience. After meticulous planning, the Whale browser introduced features such as split view, sidebar, smart popup, quick search, efficient translation, mouse gestures, embedded IE view, embedded music player, widgets, and more. Currently, the Naver Whale browser is in high demand and is undergoing closed beta testing in Korea.


Participation Description

In the Whale project, my responsibilities encompass security, geolocation, and the implementation of the Whale UI. Notably, I'm closely involved in refining the UI of the IETab. Given the significance of IE mode within Korea's internet ecosystem, particularly for websites associated with banks and the government, our team integrated IE compatibility using the Chrome extension framework. This entailed combining an executable for accessing COM objects, JavaScript, and native UI. My primary focus lay in managing Chromium's native UI and JavaScript aspects to interface with the executable. Additionally, I've been instrumental in crafting various native UI elements. This includes creating Omnibox bubbles and dialog boxes in accordance with Whale's user experience guidelines using the Chromium view framework, designing a global sound mute button, implementing the Whale updater, and more. Although the Whale browser is still in its closed beta phase, I remain actively engaged in its ongoing development.

Demo videos related to my implementation

  - https://drive.google.com/file/d/0B_oE69uAXsk9b0lCZmRmcmwtZms/view
  - https://drive.google.com/file/d/0B_oE69uAXsk9ejBRdjlRSVA5b00/view
  - https://drive.google.com/file/d/0B_oE69uAXsk9bVdBdk40Qk1rUm8/view


Samsung SUHD TV based on Tizen (Mar. 2015)

Project Description

This product is the first TV based on the Tizen platform. There were many prototype TVs that runs on Tizen. Finally, Tizen TV is unveiled to the market. Major features are below,
    - Nano Crystal Color
    - 4K UHD
    - Smart TV, Smart View 2.0
    - Peak Illuminator Pro, Contrast Enhancer
    - Precision Black
    - Quad-Core Processor

  You can see the video to introduce SUHD TV on the link.
     - https://www.youtube.com/watch?v=wVmW8dUY1JE
     - https://www.youtube.com/watch?v=xHsyuqPJOWw (Browser demo)


Participation Description

In my involvement with the browser engine, I took charge of the core aspects of the WebKit engine. My primary focus encompassed addressing a wide range of issues such as layouts, scrolling, crashes, viewport meta tags, and more. During my time at Samsung, the work culture emphasized swift bug resolution, requiring software developers to promptly address assigned bugs. This often meant that my team members and I remained dedicated to resolving assigned issues without returning home until they were fixed. The demanding nature of this schedule posed challenges in terms of planning and managing urgent bugs that arose daily.

Despite the challenges, Tizen TV, a project I was part of, gained substantial traction in the Korean market. Notably, around 10,000 devices had already been sold. To sum up, this project marked the culmination of my tenure at Samsung Electronics. Subsequent to my contributions to this project, I made the decision to depart from Samsung.


Samsung Gear S (Sep. 2014)

Project Description

The Samsung Gear S stands as Samsung's third wearable device, running on the Tizen operating system. It boasts a 2-inch curved super AMOLED screen with a resolution of 360 x 480 pixels. Powered by a dual-core 1.0 GHz CPU, the device offers both 3G and Wi-Fi connectivity options. Notably, the Gear S made a significant impact in the market, with over 30,000 units sold in Korea alone. It holds the distinction of being the most popular wearable device in the Korean market to date.

One of the standout features of the Gear S is its ability to make calls independently, without requiring a paired smartphone. This is made possible through the inclusion of a 3G modem within the Gear S itself. This feature has resonated well with users, especially in scenarios where calling is needed without the presence of a phone. The convenience of untethered communication has contributed to the widespread adoption and usage of the Gear S in such contexts.

For a visual overview of the Samsung Gear S, you can watch the promotional video on

  - Youtube: https://www.youtube.com/watch?v=5eIoaATECzQ 


Participation Description


In the Gear S project, I undertook the responsibility of supporting the web engine. Specifically, my focus centered on addressing numerous layout bugs, refining the web speech feature, and optimizing the viewport meta tag. Just like other Tizen devices, the Gear S relied on the WebKit EFL engine. However, what set the Gear S apart was its utilization of the latest version of WebKit EFL, a departure from the versions used in previous Tizen devices. As a result, a significant number of bugs and layout challenges emerged due to the transition.

In my role, I dedicated myself to rectifying issues within both the Gear S-specific implementation and the open-source WebKit EFL. When encountering bugs that affected both the Gear S and the broader open-source version, I made it a priority to address these issues concurrently. This approach ensured that improvements and fixes were consistently applied to both contexts, contributing to the enhancement of the Gear S web engine and aligning it with the larger WebKit EFL ecosystem.



Tizen TV Prototype (Jun. 2014)

Project Description

The Tizen TV prototype was revealed at the Tizen Developer Conference 2014 in San Francisco. Tizen, a genuine Linux open-source operating system, brings forth qualities of stability and rapidity. The Tizen TV is designed to support the sideloading of standard Tizen tpk and widget applications. As of now, definitive product features have not been formally determined, considering that this TV is in its prototype stage. Consequently, it's not anticipated to be feature-rich at this juncture.

  - Youtube video: http://www.youtube.com/watch?v=GKUBg9o9sgc

Participation Description

Within this project, my responsibilities encompassed overseeing page zoom, implementing smooth scrolling, and managing the viewport functionality within the web browser. The Tizen TV web browser team, comprising around 10 members, was dedicated to enhancing multimedia capabilities, refining smooth scrolling mechanics, and optimizing the overall user experience.

Our collective objective was to create a TV browser that mirrored the user-friendliness of mobile browsers on smartphones. In pursuit of this goal, my team concentrated on enabling features like smooth scrolling, the tiled backing store, and synchronized graphics functionality. These improvements aimed to enable users to navigate the TV browser with the same fluidity as they would on their smartphones.

However, our journey was not without its challenges, especially given the various defects encountered within WebKit EFL. Consequently, I dedicated time and effort to address these issues across both prototype products and the open-source environment. This comprehensive approach allowed us to enhance the Tizen TV browsing experience while also contributing to the broader WebKit EFL ecosystem.


NX300 Mirrorless Camera (Feb. 2013)

Project Description

The NX300 stands as the latest flagship model within the NX series, showcasing an upgraded iteration of SMART Camera 2.0 that incorporates a range of pioneering connectivity features. Key highlights include a 20-megapixel imager, enhanced by on-sensor phase detection AF sensors, delivering swift and accurate focusing. An articulated OLED touchscreen offers intuitive control, while seamless Wi-Fi connectivity streamlines image sharing. The camera exhibits an ISO sensitivity range spanning from ISO100/21° to ISO25,600/45°, enabling versatile shooting in various lighting conditions. With a maximum shutter speed of 1/6000 sec and an 8.6fps continuous shooting mode, the NX300 is well-equipped to capture fleeting moments with precision. The incorporation of a 5-way manual key interface and i-Depth feature, facilitated by the unique i-Function system of the NX Series, empowers users to effortlessly adjust the depth-of-field in their images.

  - Youtube Video: http://youtu.be/bQoPyCgN-II

Participation Description

My involvement in this project focused on providing partial support for internet access. Fortunately, I didn't encounter significant challenges, unlike some of the complexities often present in commercial projects. My contributions primarily entailed addressing various bugs present in web pages and refining user experiences. I hold genuine anticipation that the NX300 will gain popularity within the market, given the enhancements and efforts invested in its development.


Tizen Project (Aug. 2011 ~ Apr. 2015)

Project Description


Tizen represents an open-source and standards-driven software platform, garnering support from major mobile operators, device manufacturers, and silicon suppliers across diverse device categories. These categories encompass smartphones, tablets, netbooks, in-vehicle infotainment systems, smart TVs, and more. Pioneering an innovative operating system, applications, and a seamless user experience, Tizen enables consumers to transition effortlessly across different devices.

The Tizen initiative operates under the auspices of the Linux Foundation, overseen by a Technical Steering Group. This group functions as the core decision-making entity for the open-source project, centering its efforts on platform advancement and deployment. Concurrently, the Technical Steering Group establishes working groups to cater to specific device verticals. To coordinate the industry aspect of Tizen, the Tizen Association was established. This entity plays a vital role in shaping Tizen's industry involvement, including requirement gathering, service model formulation, industry marketing, and educational initiatives.

Tizen provides a dynamic and adaptable environment for application developers, predominantly relying on the capabilities of HTML5. The flexibility and cross-platform nature of HTML5 have positioned it as a preferred development platform for mobile applications and services. The Tizen SDK and API empower developers to leverage HTML5 and associated web technologies, crafting applications that span various device segments seamlessly.


Participation Description


Tizen is notably built upon the foundation of SLP (Samsung Linux Platform). Originally, SLP was a proprietary project developed by Samsung for internal use. In contrast, Tizen is positioned as an open-source initiative. Currently, the project has garnered participation from 12 companies, with Samsung and Intel being the prominent contributors. My professional journey naturally shifted from SLP to Tizen. Specifically, I'm engaged in the WebKit-Tizen port, which builds upon the WebKit EFL port but incorporates distinct functionalities.

This port of WebKit-Tizen integrates Tizen-specific features such as geolocation, multimedia, and network information. My efforts within this realm encompass both bug fixing and enhancements to the WebKit engine. I have been guided on the intricacies of collaboration within the WebKit community, leading to productive interactions between Samsung's WebKit engineers and the existing WebKit contributors.

Tizen's first commercial product is currently under development, with an impending launch on the horizon. My active involvement in open-source initiatives, including contributing to the Network Information API feature in HTML5, culminated in my recognition as a WebKit reviewer in October 2012.


Samsung Linux Platform v1.0 / v2.0 (Nov. 2008 ~ Jul. 2011)

Project Description

Samsung Linux Platform (SLP) is a mobile operating system built on the foundation of the Linux 2.6 kernel and X.org server. Originating from XO v1.0, SLP underwent substantial evolution, incorporating numerous advancements. These included transitioning from the XO v1.0 window system to the X Window System, as well as adopting the Enlightenment Foundation Library (EFL) to support applications.

SLP's adaptability extended its scope from mobile phones to encompass various devices like TVs, cameras, MP3 players, tablets, and laptops. Notably, SLP exhibited compatibility with LiMo and positioned the SLP team as prominent contributors within the LiMo foundation.

The architectural design of SLP revolved around adapting the principles of a standard Linux desktop for the mobile realm. By leveraging numerous Open Source components, SLP's software architecture remained accessible to individuals familiar with a conventional Linux desktop environment. Its software stack followed a layered architecture, comprising applications, middleware, and the Linux kernel. This framework facilitated a structured approach to building and extending functionalities within the platform.


Participation Description

Within this project, my primary focus was on the WebKit EFL port. Samsung and Profusion, a Brazilian software company, jointly embarked on contributing to the initial WebKit EFL port (http://trac.webkit.org/wiki/EFLWebKit). Profusion engineers laid the groundwork for the initial EFL port implementation, following which I undertook the task of refining and enhancing this initial implementation.

My contributions encompassed diverse areas, including addressing build issues, resolving crashes, and implementing essential missing features. These features ranged from download functionality and context menus to video and audio support, viewport meta tag integration, and geolocation capabilities. Notably, a crucial contribution I made was the establishment and management of Buildbot and EWS (Early Warning System) for the EFL port. These tools played a pivotal role in stabilizing the EFL port, facilitating efficient development and testing.

As many in the open-source community can attest, maintaining a project within the fast-paced WebKit development environment presents challenges. The rapid pace of WebKit's evolution necessitated frequent integration of the latest changes into our WebKit Tizen implementation. This process often led to conflicts during merging. To address this, I advocated for my colleagues to contribute their local patches, aiding in conflict resolution. Consequently, numerous Samsung WebKit developers actively engaged by contributing numerous patches.

Through this extensive involvement, I earned the privilege of becoming a WebKit committer, culminating in a valuable milestone in my journey.


XO v1.0 - LiMo Compatible Linux Platform (Sep. 2007 ~ Oct. 2008)

Project Description


XO stands as a Linux-based mobile platform renowned for delivering robust high-level features, exceptional performance, and unwavering reliability. This platform accommodates a range of Board Support Packages (BSP), Window Systems, and Mobile Browsers, showcasing its versatility. Furthermore, XO maintains compatibility with LiMo Release 1, positioning itself within the contemporary Linux-based Operating System landscape for mobile handsets.

As its window system of choice, XO opted for DirectFB. DirectFB is a streamlined library offering hardware graphics acceleration, input device management, and abstraction. It operates as an integrated windowing system, boasting support for features like translucent windows and multiple display layers. These capabilities extend beyond the Linux Frame Buffer Device, contributing to an enhanced user experience and greater visual sophistication.


Participation Description

In this project, I held the responsibility of overseeing the internet framework. Within the XO platform, the internet functionality was built upon the Mozilla platform. My area of expertise was centered around the JavaScript Engine, known as SpiderMonkey. A major focus of my work involved addressing memory consumption and performance concerns, particularly within the context of a mobile device environment.

To tackle these challenges, I introduced an innovative solution. I implemented a preference option that allowed control over the threshold value for memory utilization within the SpiderMonkey JavaScript Engine. If memory consumption exceeded this threshold, I devised a mechanism where SpiderMonkey would initiate the garbage collector until sufficient memory was reclaimed.

This pioneering approach, aimed at optimizing memory usage and enhancing performance, culminated in the creation of a patch. I proudly contributed this patch to the broader Mozilla community. Significantly, this contribution extended its impact beyond the XO project and was adopted within mobile Firefox as well. This highlights the significance and broader applicability of my endeavors in optimizing memory management and performance within a mobile browsing context.


SCH-W290 - 3G UMTS/WCDMA HSDPA Phone (Jul. 2007 ~ Aug. 2007)

Project Description


The SCH-W290 is a mobile phone specifically designed for SK Telecom, the largest telecommunications service provider in Korea, tailored to operate on their 3G network. This device is fully compatible with both UMTS and WCDMA networks, providing advanced connectivity.

With a slider form factor, the SCH-W290 offers a range of capabilities that cater to modern mobile needs. Notable features include HSDPA support, enabling faster data transfer speeds, MP3 playback, expandable memory for storage flexibility, and a unique built-in printer functionality.

The phone is equipped with dual camera modules, enhancing its multimedia capabilities. A front VGA digital camera supports various functions including video recording, playback, streaming, and call-related features. The rear 1.3-megapixel CMOS digital camera offers features like video recording, playback, streaming, a flashlight, and digital zoom, enriching the device's photography capabilities.

In addition to its multimedia prowess, the SCH-W290 supports a range of general features. These include multi-tasking, MOD (music on demand), VOD (video on demand), an MP3 player, video player, STK (SIM Tool Kit) functions, downloadable pictures and animations, a "my pet" application, English dictionary, file viewer, photo album, photo editor, wallpapers, and 3D messaging.

Overall, the SCH-W290 combines a diverse range of features and capabilities, making it a versatile mobile device catering to various user needs in communication, entertainment, and productivity.


Participation Description

In this pivotal commercialization project, I undertook the critical responsibility of managing the PIMS (Personal Information Management System), which encompassed crucial functionalities like the scheduler, calendar, and alarms. Notably, the unique aspect of this project was that the phone supported the brew platform, diverging from the conventional mobile Java platform (J2ME).

An interesting development in this project was the outsourcing of the brew platform to a third-party software company. Consequently, a significant portion of my role entailed rectifying numerous bugs within the PIMS segment, a task necessitated by this shift in the platform's management. Despite the usage of base source code across multiple commercial products, the presence of numerous bugs persisted due to the lack of a cohesive and standardized architecture. This scenario, while challenging, is not uncommon when striving to meet stringent product deadlines.

The intensity of this project was notable, as it demanded my dedication without any breaks for possibly around two months. The urgency stemmed from Samsung's drive to reclaim its standing in the 3G network phone domestic market, where it was competing against LG. Through this determined effort, Samsung managed to regain its position as the market leader, thus reaffirming the significance and impact of this project. Looking back, I am convinced that the intense involvement in this venture was indeed worthwhile, considering the favorable outcome achieved.


SGH-P930 - 3G DVB-H Phone (May. 2007 ~ Jun. 2007)

Project Description


The SGH-P930 stands out as a globally roaming phone tailored to the distinctive realm of DVB-H mobile television. This feature-rich device encompasses diverse functionalities, including HSDPA data transfer, DVB-H mobile television support, a 2-megapixel camera, Bluetooth connectivity, a swiveling 262k color TFT display, and a microSD memory card slot.

One of its defining characteristics is its comprehensive support for the DVB-H standard, which empowers the phone with the ability to provide a Picture in Picture (PIP) function. This allows users to simultaneously watch two TV channels, adding to the multimedia versatility of the device. Connectivity options include 3G, EDGE, GPRS, HSDPA, Bluetooth, and USB, fostering seamless communication capabilities.

Designed primarily for Asian and European markets such as Vietnam and Italy, the SGH-P930 extends its versatility by supporting a roaming service channel in the United States. Its innovative design and mobile television functionality have garnered favorable responses from various review sites.

Samsung's prominence within the mobile TV market is highlighted by its leadership across three distinct standards: DVB-H in Europe, MediaFLO in the United States, and DMB in Korea. The company achieved numerous milestones, including supplying the world's first S-DMB and T-DMB phones in Korea, Europe's premier T-DMB phone in Germany, Europe's inaugural DVB-H phone in Italy, and a successful demonstration of MediaFLO mobile TV technology at the 'CTIA Wireless 2006' event in the U.S. market. This extensive involvement underscores Samsung's impactful presence within the evolving landscape of mobile television technologies.

   - Youtube video : http://youtu.be/KXu0nwf8adg


Participation Description

In this commercial endeavor, I assumed the pivotal role of overseeing the mobile Java platform (J2ME) and the mobile browser aspects of the project. As part of the larger Samsung product initiative, this project adhered to an exceptional deadline, fostering a demanding work environment. From what I recall, my team consistently put in extra hours, often exceeding 8 hours beyond the regular workday on weekdays.

My involvement extended beyond conventional office spaces, as I journeyed to both Vietnam and Singapore for a month to provide on-site support for local testing and debugging. During this period, I meticulously tested a multitude of issues spanning phone call functionalities, mobile browser behavior, mobile content downloads, and more.

A vivid memory from this project involves a specific challenge related to the mobile browser's handling of WML (Wireless Markup Language) pages from a mobile operator. Regrettably, the main WML page failed to render properly on the mobile browser of this particular phone. After thorough investigation, it was revealed that the root cause of the issue lay in an erroneous comment within the problematic WML page's code. This instance serves as a testament to the intricate nature of software development and how seemingly minor details can have significant impacts on functionality.

In sum, this project exemplifies the high-pressure environment that often characterizes commercial ventures, requiring diligent efforts, extensive testing, and hands-on support across various geographical locations to ensure successful outcomes.


JRobo Online Project (Mar. 2003 ~ Jun. 2003)

Project Description


During my college years, I enthusiastically joined the JStorm academic club, which was dedicated to exploring various aspects of the Java platform, encompassing J2EE, J2SE, and J2ME. This club undertook significant contributions to the Java field, publishing numerous books on Java technologies and providing articles for prominent programming magazines, most notably the micro software magazine.

As part of this vibrant community, I became involved in the JRobo online project. The overarching objective of this endeavor was to create an online battle environment for the JRobo game. To provide context, JRobo is a simulation game where players control units using Java programming. JRobo gained traction in the latter part of 2002 and was a captivating platform for honing algorithmic skills and enhancing Java programming proficiency.

The JStorm members envisioned a dynamic setting where JRobo users could engage in battles against units programmed by other users. Additionally, we aspired to contribute our development journey and experiences to the micro software magazine.

Despite our ambitions, this project ultimately faced challenges that led to its failure. Our collective knowledge and expertise were lacking in areas essential to creating an online game environment, such as establishing a game server, optimizing network performance, and rendering effectiveness. Although we did not succeed in launching the online game, I believe our efforts were not in vain. The experience allowed us to showcase the real-world hurdles and complexities inherent in such endeavors. Through our candid sharing of the difficulties faced and lessons learned, we contributed valuable insights to our colleagues and readers of the micro software magazine. In that sense, our attempt, although unsuccessful, still managed to convey important lessons and foster a spirit of learning within the Java community.


Participation Description


This project comprised three distinct modules: an online game server, a user client, and the JRobo compiler. Within this initiative, I was entrusted with the pivotal responsibility of overseeing the online game server component. Our team strategically leveraged EJB (Enterprise Java Bean) within the J2EE architecture to effectively manage the substantial network traffic that an online game entails.

In designing the server layers, I embraced the facade pattern, one of the essential design patterns. This pattern provided a structured approach to developing the server components, streamlining the implementation and enhancing the project's maintainability.

My contributions within the online server domain encompassed several key areas. I meticulously designed and implemented chat room server modules, game room server modules, and a user database system crucial for user logins.

While the ultimate outcome of the project was not as intended, the journey proved invaluable in terms of learning experiences. Despite the project's challenges, I gained proficiency in a wide spectrum of areas, including source code management, collaboration dynamics, and the intricacies of setting up and configuring servers. These lessons, even though learned through a project that did not succeed as planned, equipped me with valuable skills and insights that I could carry forward into future endeavors.


Patent

Method and apparatus for selecting hyperlinks

US 20110197116 A1

ABSTRACT

A method and apparatus for selecting a hyperlink are provided, including obtaining a coordinate corresponding to a touch or a click input
when the touch or click input to a web page is sensed; searching for at least one candidate hyperlink existing near the coordinate; enlarging
a region including the at least one candidate hyperlink; and changing the at least one candidate hyperlinkto be distinguishable from other hyperlinks.

(http://www.google.com/patents/US20110197116?dq=hyperlink+click+samsung&hl=en&sa=X&ei=vyZqUbC5M_CRiQeO2IGoAw&ved=0CDQQ6AEwAA)