Gyuyoung Kim

Software Engineer / WebKit and Chromium developer

 - E-mail: gyuyoung.kim at webkit.org, gyuyoung.kim at chromium.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 is to make Naver own internet browser. (Homepage: http://whale.naver.com/). Though Naver (https://en.wikipedia.org/wiki/Naver) is
   the biggest internet company in Korea, Naver hasn't internet browser, unlike Google or Apple. So Naver has been trying to develop internet browser
   based on WebKit since 2011. That's why I
   decided to join to Naver from Samsung. However, Naver decided to use Chromium instead on WebKit in June 2016, because it was very hard to support
   unique internet environments in Korea. For instance, many Korea bank sites and government sites have only supported IE using ActiveX or Chrome with
   extensions. Besides many Koreans want to use useful extensions as Chrome. After changing to use Chromium, first of all, we needed to focus on UI
   implementation and integrating with our Naver services instead of Google's one because core logic of Chromium is stable. So we consider how to make
   our browser easier and convenient. After a lot of planning, The whale browser has supported the split view, sidebar, smart popup, quick search, efficient
   translation, mouse gesture, embedded IE view, embedded music player, widget, and so on. The Whale browser is very popular and closed beta test in Korea
   now.

 Participation Description
  In Whale I'm in charge of security, geolocation, and Whale UI implementation. Especially I'm focusing on UI of IETab. IE mode is important in Korea internet
  environment because many websites of bank and government still only support IE. We have added IE using Chrome extension framework. The IE
  implementation is consist of an executable of accessing COM object, javascript, and native UI. I have mainly handled Chromium native UI and javascript for
  handling the executable. Besides I implement many native UI. For example, many omnibox bubbles and dialog according to Whale UX using the Chromium
  view framework, global sound mute button, Whale updater and so on. Whale browser is still closed beta test, I continue to develop many things in Whale.

  Demo videos related to my implementation


Samsung SUHD TV based on Tizen (Mar. 2015)


 Project Description
  This product is the first TV based on Tizen platform. There were many prototypes TV which runs on Tizen. Finally, Tizen TV is unveiled for 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
  As other projects, I was involved in the browser engine. I led the core part of WebKit engine and concentrates on fixing many layouts, scrolling, crash,
 
viewport meta tag, and so on. In Samsung, software developers should fix assigned bugs as soon as possible. So my team members and I couldn't
  back to home until fixing  assigned issues. It was very hard to schedule and there were too many urgent bugs every day. Anyway this Tizen TV is
  spreading to the Korea market well. I heard that 10,000 devices were already sold. In conclusion, this project was my last project at Samsung Electronics.
  I left from Samsung after this project.


Samsung Gear S (Sep. 2014)
 Project Description
  Samsung Gear S is a third wearable device launched by Samsung, based on Tizen. It has 2 inches curved super AMOLED (360 x 480) screen, dual-core 1.0 GHz CPU, 
 
as well as 3G/WIFI is available. Samsung Gear S was over 30,000 sold in Korea market. This is the most popular wearable device in the Korea market so far. A favorite
 
feature in Gear S is that we can call without phone thanks to 3G modem supported by Gear S. Many people are using Gear S when they need to call without a phone.

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


 Participation Description
  I was in charge of supporting web engine in Gear S project. Especially I had mainly fixed a lot of layout bugs, web speech feature, viewport meta tag.
  As other Tizen devices, Gear S is based on WebKit EFL as well. However, version of WebKit EFL is the latest version which wasn't used for previous
  Tizen device. Thus, there were too many bugs and layout issues. If bug exists both Gear S and open source WebKit EFL, I tried to fix the bugs on
  both together.



Tizen TV Prototype (Jun. 2014)

TizenTV1
TizenTV2
 Project Description
  The Tizen TV prototype was unveiled in Tizen Developer Conference 2014, San Francisco. Tizen is a true Linux open-source operating system, which brings with it stability and
  speed. The Tizen TV should be able to side load standard Tizen tpk and widget applications. There has been no formal decision on product features yet, and this being a
  prototype TV it is not expected to feature rich at this point.

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

 Participation Description
  In this project, I was in charge of a page zoom, smooth scrolling, and viewport in the web browser. The Tizen TV web browser team consisted of 10 members approximately.
  My team had focused on multimedia, smooth scrolling, and user experience. We want that user handles TV browser like the mobile browser on the smart phone. For it, my team
  enabled smooth scrolling, tiled backing-store, and coordinated graphics features. However, there were many defects in WebKit EFL. So, I fixed those bugs both on  prototype
  products and open source together.


NX300 Mirrorless Camera (Feb. 2013)


 Project Description
  NX300 is the new flagship model in the NX series and boasts the updated version of SMART Camera 2.0, a hub of innovative connectivity features. Highlights include a
  20-megapixel imager with on-sensor phase detection AF sensors, an articulated OLED touchscreen, Wi-Fi connectivity, a sensitivity range of ISO100/21°—ISO25,600/45°,
  a maximum shutter speed of 1/6000 sec, 8.6fps continuous shooting, a 5-way manual key interface and i-Depth, an easy and simple way to adjust the depth-of-field of an
  image using the NX Series’ unique i-Function system.

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

 Participation Description
  I have participated in this project partially in order to support to access the internet. There was no hardness unlike other commercial projects on my side.
  I fixed some bugs in the web pages and user experiences. I really hope NX300 will be popular in the market.


Tizen Project (Aug. 2011 ~ Apr. 2015)
    
   
             Tizen Reference Device

                                                                                  
    

 Project Description
  Tizen is an open source, standards-based software platform supported by leading mobile operators, device manufacturers, and silicon suppliers for multiple device categories,
  including smartphones, tablets, netbooks, in-vehicle infotainment devices, smart TVs, and more. Tizen offers an innovative operating system, applications,
  and a user experience that consumers can take from device to device.

  The Tizen project resides within the Linux Foundation and is governed by a Technical Steering Group. The Technical Steering Group is the primary decision-making
  body for the open source project, with a focus on platform development and delivery, along with the formation of working groups to support device verticals. The
  Tizen Association has been formed to guide the industry role of Tizen, including the gathering of requirements, identification and facilitation of service models, and overall
  industry marketing and education. Tizen provides a robust and flexible environment for application developers, based on HTML5. With HTML5's robust capabilities and cross
  platform flexibility, it is rapidly becoming the preferred development environment for mobile apps and services. The Tizen SDK and API allow developers to use
  HTML5 and related web technologies to write applications that run across multiple device segments.

 Participation Description
  Actually, Tizen is based on SLP. SLP was only Samsung independent project. In contrast, Tizen claims to stand for the open-source source. Currently, 12 companies have
  participated in this project. Samsung and Intel are the major players among them. My work was changed from SLP to Tizen naturally. I'm still working for WebKit-Tizen port.
  Although WebKit Tizen port is based on WebKit EFL port, there are some differences. WebKit-Tizen uses Tizen specific functionality for geolocation, multimedia, network
  information and so on. I'm planning to this port to contribute to WebKit community as well in the near future. I'm fixing many bugs inside WebKit as well as improving it. I have
  been guided how to collaborate with WebKit community. In result, many Samsung WebKit engineers are collaborating with existing WebKit engineers.  First Tizen commercial
  product is being developed. I expect the first one will be launched soon.

  Thanks to many open source activities including Network Information API feature in HTML5, I became a WebKit reviewer on Oct. 2012.


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


 Project Description
  Samsung Linux Platform (SLP) is a mobile operating system based on the Linux 2.6 kernel and X.org server. Evolving from XO v1.0, SLP changed and developed
  several features, such as the replacement of the window system to X Window, as well as the support of EFL (Enlightenment Foundation Library) for applications.
  Furthermore, SLP has gradually expanded its target devices from mobile phones to TVs, cameras, MP3 players, tablets, and laptops. Not only has SLP been compatible with
  LiMo, but the SLP team has become LiMo foundation's leading contributor. SLP’s design is based on the principles of the standard Linux desktop, suitably adapted for the mobile
  environment. SLP reuses a large number of Open Source components. Hence, its software architecture is easy to understand for anyone familiar with a
  standard Linux desktop. The SLP software stack has a layered architecture consisting of applications, middleware, and the Linux kernel.

 Participation Description
  In this project, I focused on WebKit EFL port. Samsung and Profusion which is Brazil software company started to contribute initial WebKit EFL port
  (http://trac.webkit.org/wiki/EFLWebKit). Profusion engineers set initial EFL port implementation up. Then, I had been improved the initial EFL port. I fixed build breaks,
  crash as well as implemented missing features, e.g. download feature, context menu, video and audio, viewport meta tag, geolocation and so on. The most important stuff
  I contributed was to run Buildbot and EWS for EFL port. Those bots have been helped to let EFL port be stabilized. As you many people might know, I felt again it was difficult to maintain a project based on open source. Because  WebKit development speed is too fast. So, we should pull the latest changes into our WebKit Tizen frequently.  
  Whenever I merged the latest with our source, there were many conflicts. I encouraged my co-workers to contribute their local patches in order to solve these problems. Many
  Samsung WebKit developers have contributed a lot of patches since then. Thanks to this project, I got WebKit committer permission.



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

 

 Project Description
  XO is a Linux-based mobile platform that provides high level features, performance, and reliability while supporting multiple sets of BSP, Window System, and Mobile
  Browser. XO is compatible with LiMo Release 1. The LiMo Platform is a modern Linux-based Operating System for mobile handsets. As a window system, XO adopted 
  DirectFB, a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent
  windows, and multiple display layers, not only on top of the Linux Frame Buffer Device.

 Participation Description
  I was responsible for internet framework in this project. XO had used Mozilla platform as its internet platform. My specialize area was JavaScript Engine which was called
  SpiderMonkey. I struggled with memory consumption and performance for mobile device environment. I added a preference option to control threshold value which 
  SpiderMonkey can use memory. If memory consumption is over the threshold value, I let SpiderMonkey call garbage collector until it has free memory. I contributed this
  patch to Mozilla community. That was used for mobile firefox as well.


SCH-W290 - 3G UMTS/WCDMA HSDPA Phone (Jul. 2007 ~ Aug. 2007)
  
 Project Description
  SCH-W290 is a mobile phone designed for the 3G network of SK Telecommunication Ltd., which is the biggest telecommunication service provider in Korea.
  SCH-W290 is compatible with UMTS and WCDMA. It is a HSDPA phone featuring a slider form factor, MP3 capability, expandable memory, and built-in printer support.
  It also has dual camera modules: a front VGA digital camera with video recorder/playback/streaming/call functions, and a back 1.3M resolution CMOS digital camera
  with video recorder/playback/streaming, recorder/playback/streaming, flashlight and digital zoom functions. As general features, it supports multi-tasking, MOD(music
  on demand), VOD (video on demand), MP3 player, video player, STK (SIM Tool Kit), downloadable pictures and animations, my pet application, English dictionary,
  file viewer, photo album, photo editor, wallpapers, and 3D messaging.

 Participation Description

  In this commercialization project, I was responsible for PIMS(scheduler, calendar, alarm and so on) because this phone supported brew platform instead of mobile Java
  platform (J2ME). The brew platform was taken over by outsourcing SW company. Thus, I should have fixed many bugs related to PIMS for this project. Although base
  source code had been used for many commercial products, there were still too many bugs because the source code wasn't considered as common architecture. I'm sure
  that the problems like that may occur in order to meet product deadline.

  I couldn't get any holidays for this project (probably for two months). This project was very urgent because Samsung was turned over LG in the 3G network phone domestic
  market. Samsung won back first market leader thanks to this product. I feel it was worth to have participated in the project.


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

  

 Project Description
  SGH-P930 is a global roaming phone specialized in DVB-H mobile television. It features HSDPA data transfer, DVB-H mobile television, a 2-megapixel camera, Bluetooth,   
  swiveling 262k color TFT display, and microSD memory card slot. This phone supports the DVB-H standard, providing the Picture in Picture (PIP) function to watch two TV
  channels simultaneously. Connectivity support includes 3G, EDGE, GPRS, HSDPA, Bluetooth, and USB. SGH-P930 is designed primarily for Asian and Europe markets
  such as Vietnam and Italy, but also supports a roaming service channel in the United States. It has received good responses from review sites due to its novel design and
  mobile television functionality.

  The mobile TV market is served by three different standards: DVB-H in Europe, MediaFLO in the United States, and DMB in Korea. Samsung was leading all three standards
  by supplying the world's first S-DMB and T-DMB phone in Korea, Europe's first T-DMB phone in Germany, Europe's first DVB-H phone in Italy and by successfully
  demonstrating the MediaFLO mobile TV technology at ‘CTIA Wireless 2006' in the U.S. market.

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

 Participation Description
  I was in charge of mobile Java platform(J2ME) and mobile browser in this commercial project. As general Samsung product project, this project also had an unusual deadline.
  If I remember correctly, my team had overworked at least 8 hours except for regular working time weekday.

  I went Vietnam and Singapore to support local testing and debugging during a month. I tested many defects regarding phone call, mobile browser, mobile content download and so
  on. One of my memories is that a WML main page of the mobile operator wasn't displayed on the mobile browser in this phone properly. The problem caused by the wrong
  comment in the problematic WML page.


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

         

 Project Description
  When I was a student in my college, I joined JStorm academic club, which was interested in Java platform including J2EE, J2SE, and J2ME. The JStorm had published many books related to
  Java technologies as well as contributed many articles to programming magazine, especially, the micro software magazine. As a part of the contributions, I joined JRobo online project. The goal of
  this project is to support online battle environment for JRobo game. For your understanding, JRobo is a simulation game controlled by Java programming. JRobo was started to become known from
  the end of 2002. It was very interesting game in order to improve algorithm's and Java programming's knowledge. JStorm members decided to make an environment JRobo users are able to battle with
  other users JRobo unit. In addition, we decided to contribute our development story to the micro software magazine.

  As a result, this project was failed because we didn't have plenty of knowledge regarding the online game, for example, how to setup game server, how to show rendering effectiveness,
  how to optimize network performance and so on. Nevertheless we failed to launch this online game, I think we succeeded to let magazine readers know what was problems, how to
  collaborated with other developers.

 Participation Description
  This project has consisted of three modules which were an online game server, user client, and JRobo compiler. I was in charge of the online server component. We decided to use EJB
  (Enterprise Java Bean) in J2EE components. Because EJB is to handle huge network traffic effectively. I designed server layers using facade pattern among design patterns.
  I designed/implemented chatting rooms serve modules, game room server modules, user DB for login. Although this project was failed, I could learn many kinds of stuff, for example,
  source code management, collaboration, and server setup knowledge, by means of this project.



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.