SlideShare a Scribd company logo
1 of 20
Final Presentation




                     Mouse Free
                      Browsing
                Presenter 0815024 김주리
Table of Contents

•   Project Overview
•   Project Software Architecture
•   Demo
•   Q&A

                  It’s so NEWWWWS!




                  2011-2학기 컴퓨터공학종합설계   2
PROJECT
OVERVIEW

       2011-2학기 컴퓨터공학종합설계   3
How many
HOURS do
you spend
online in a
year?




              2011-2학기 컴퓨터공학종합설계   4
2011-2학기 컴퓨터공학종합설계   5
2011-2학기 컴퓨터공학종합설계   6
2011-2학기 컴퓨터공학종합설계   7
New Interface via new services, wi

       2011-2학기 컴퓨터공학종합설계     8
However, …
Can I apply my experience to THI
     2011-2학기 컴퓨터공학종합설계     9
Overcome the fence with a
   Browser Extension!!
                                 Go Up


                   Go Previous             Go Next




                                 Go Down




        2011-2학기 컴퓨터공학종합설계                           10
PROJECT
SOFTWARE
ARCHITECTURE
        2011-2학기 컴퓨터공학종합설계   11
Backgroud.html
              Option.html
             localStorage



           Manifest.json
    Content-script(script injection)
     MFB logic (evtDetect, etc.)



         Bookmark access
        Pavicon & Browser UI
        Message passing, etc.
2011-2학기 컴퓨터공학종합설계                     12
Key board
   event Detection
                        Mouse
                         Free
                       Browsing
  Passing appropriate URL,
  Then execute
  page moving process



                                Option
                                Values
                             In localStorage


2011-2학기 컴퓨터공학종합설계                             13
option.html
    Manifest.json

 browser_action                                   jQuery framework :
                                                     attr manage
    default_icon
    default_title                                     option value
default_popup:option
                                                     window.onload
                                              - localStorage : value storage

    Content_scripts
                                                      Additional UI
          matches:
 ["http://*/*", "https://*/*"]                     toggleButt(node)
   exclude_matches:                              - Display more options
 ["*://*.facebook.com/*",                         Framework function
"*://search.naver.com/*"]                          - Manage attribute
 run_at:document_start                            chrome.extension.
          js:exec.js                            onRequest.addListene
                                                          r
                                 2011-2학기 컴퓨터공학종합설계                            14
Backgroud.html

chrome.extension.onConnect.addListener(callback1); (27)     Message
port.onMessage.addListener(callback2(callback3)); (24/27)   Passing



chrome.browserAction.setBadgeText(); (1)                    Browser
chrome.browserAction.setBadgeBackgroundColor(); (1)            UI



next(port); (143)
                                                             Paging
prev(port); (143)                                             logic
bookMark(msg, port); (18)
- chrome.bookmarks.getTree(callback4); (14)



                        2011-2학기 컴퓨터공학종합설계                        15
exec.js : javascript injection

                                                           Event
Keydetect(evt)::bookMark(evt);, paging(evt.keyCode); (8)
                                                           detect


bookMark(evt); (12)
- chrome.extension.connect(); (1/12)
- port.postMessage(); (1/12)
- port.onMessageaddListener(); (3/12)
                                                           Page
paging(evt.keyCode); (9)
                                                           Move
- chrome.extension.connect(); (1/9)
- port.postMessage(); (1/9)
- port.onMessage.addListener(); (3/9)




                        2011-2학기 컴퓨터공학종합설계                          16
Pavicon UI                         option page




                     Badge UI




They were some problems..


                            1. Variety of the url policy and default event listener
                                   각 사이트의 url을 분석하여 별도 처리 루틴을 두었으며,
                                   Extension setting에서 javascript injection기법을 사용하였고
                                   injection 시점을 document_start로 설정하여 해결하였다.


                            2. Separate execution of the each pages,
                            then they CANNOT share important values.

                                   Chrome message passing API로 필요한 값들을 각 페이지에게 전
                                   달하는 방법으로 해결하였다.


                                2011-2학기 컴퓨터공학종합설계                                    17
DEMO


       2011-2학기 컴퓨터공학종합설계   18
Q&A


      2011-2학기 컴퓨터공학종합설계   19
Thank you for listening =)




                         20

More Related Content

Similar to 완료발표

Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Channy Yun
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개Sunghyouk Bae
 
HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향Jonathan Jeon
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론Hankyo
 
코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우Arawn Park
 
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for Appspresso[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for AppspressoKTH, 케이티하이텔
 
[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료
[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료
[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료Hannah Kim
 
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성
웹표준 프레임워크   메타웍스3의 적용 사례와 생산성웹표준 프레임워크   메타웍스3의 적용 사례와 생산성
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성영재 김
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.효근 박
 
차세대 웹 환경에서의 UI/UX 기술 표준화 동향
차세대 웹 환경에서의 UI/UX 기술 표준화 동향차세대 웹 환경에서의 UI/UX 기술 표준화 동향
차세대 웹 환경에서의 UI/UX 기술 표준화 동향Jonathan Jeon
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정Kenu, GwangNam Heo
 
20201121 코드 삼분지계
20201121 코드 삼분지계20201121 코드 삼분지계
20201121 코드 삼분지계Chiwon Song
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기John Kim
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER Engineering
 
HTML5 스펙 소개
HTML5 스펙 소개HTML5 스펙 소개
HTML5 스펙 소개Toby Yun
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 

Similar to 완료발표 (20)

Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개
 
Web workers
Web workersWeb workers
Web workers
 
HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향HTML5 융합 기술 표준화 동향
HTML5 융합 기술 표준화 동향
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우코틀린 멀티플랫폼, 미지와의 조우
코틀린 멀티플랫폼, 미지와의 조우
 
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for Appspresso[H3 2012] Bridge over troubled water : make plug-in for Appspresso
[H3 2012] Bridge over troubled water : make plug-in for Appspresso
 
2015 oce specification
2015 oce specification2015 oce specification
2015 oce specification
 
[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료
[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료
[uengine.org-uEngine Day] SNS와BPM의만남: 프로세스코디 프로젝트 발표자료
 
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성
웹표준 프레임워크   메타웍스3의 적용 사례와 생산성웹표준 프레임워크   메타웍스3의 적용 사례와 생산성
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.
 
차세대 웹 환경에서의 UI/UX 기술 표준화 동향
차세대 웹 환경에서의 UI/UX 기술 표준화 동향차세대 웹 환경에서의 UI/UX 기술 표준화 동향
차세대 웹 환경에서의 UI/UX 기술 표준화 동향
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
 
20201121 코드 삼분지계
20201121 코드 삼분지계20201121 코드 삼분지계
20201121 코드 삼분지계
 
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기NODE.JS 글로벌 기업 적용 사례  그리고, real-time 어플리케이션 개발하기
NODE.JS 글로벌 기업 적용 사례 그리고, real-time 어플리케이션 개발하기
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 
HTML5 스펙 소개
HTML5 스펙 소개HTML5 스펙 소개
HTML5 스펙 소개
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 

완료발표

  • 1. Final Presentation Mouse Free Browsing Presenter 0815024 김주리
  • 2. Table of Contents • Project Overview • Project Software Architecture • Demo • Q&A It’s so NEWWWWS! 2011-2학기 컴퓨터공학종합설계 2
  • 3. PROJECT OVERVIEW 2011-2학기 컴퓨터공학종합설계 3
  • 4. How many HOURS do you spend online in a year? 2011-2학기 컴퓨터공학종합설계 4
  • 8. New Interface via new services, wi 2011-2학기 컴퓨터공학종합설계 8
  • 9. However, … Can I apply my experience to THI 2011-2학기 컴퓨터공학종합설계 9
  • 10. Overcome the fence with a Browser Extension!! Go Up Go Previous Go Next Go Down 2011-2학기 컴퓨터공학종합설계 10
  • 11. PROJECT SOFTWARE ARCHITECTURE 2011-2학기 컴퓨터공학종합설계 11
  • 12. Backgroud.html Option.html localStorage Manifest.json Content-script(script injection) MFB logic (evtDetect, etc.) Bookmark access Pavicon & Browser UI Message passing, etc. 2011-2학기 컴퓨터공학종합설계 12
  • 13. Key board event Detection Mouse Free Browsing Passing appropriate URL, Then execute page moving process Option Values In localStorage 2011-2학기 컴퓨터공학종합설계 13
  • 14. option.html Manifest.json browser_action jQuery framework : attr manage default_icon default_title option value default_popup:option window.onload - localStorage : value storage Content_scripts Additional UI matches: ["http://*/*", "https://*/*"] toggleButt(node) exclude_matches: - Display more options ["*://*.facebook.com/*", Framework function "*://search.naver.com/*"] - Manage attribute run_at:document_start chrome.extension. js:exec.js onRequest.addListene r 2011-2학기 컴퓨터공학종합설계 14
  • 15. Backgroud.html chrome.extension.onConnect.addListener(callback1); (27) Message port.onMessage.addListener(callback2(callback3)); (24/27) Passing chrome.browserAction.setBadgeText(); (1) Browser chrome.browserAction.setBadgeBackgroundColor(); (1) UI next(port); (143) Paging prev(port); (143) logic bookMark(msg, port); (18) - chrome.bookmarks.getTree(callback4); (14) 2011-2학기 컴퓨터공학종합설계 15
  • 16. exec.js : javascript injection Event Keydetect(evt)::bookMark(evt);, paging(evt.keyCode); (8) detect bookMark(evt); (12) - chrome.extension.connect(); (1/12) - port.postMessage(); (1/12) - port.onMessageaddListener(); (3/12) Page paging(evt.keyCode); (9) Move - chrome.extension.connect(); (1/9) - port.postMessage(); (1/9) - port.onMessage.addListener(); (3/9) 2011-2학기 컴퓨터공학종합설계 16
  • 17. Pavicon UI option page Badge UI They were some problems.. 1. Variety of the url policy and default event listener 각 사이트의 url을 분석하여 별도 처리 루틴을 두었으며, Extension setting에서 javascript injection기법을 사용하였고 injection 시점을 document_start로 설정하여 해결하였다. 2. Separate execution of the each pages, then they CANNOT share important values. Chrome message passing API로 필요한 값들을 각 페이지에게 전 달하는 방법으로 해결하였다. 2011-2학기 컴퓨터공학종합설계 17
  • 18. DEMO 2011-2학기 컴퓨터공학종합설계 18
  • 19. Q&A 2011-2학기 컴퓨터공학종합설계 19
  • 20. Thank you for listening =) 20