사람들이 꼽은 Yahoo! BrowserPlus에 대한 세부 사항중 하나는 그것이 Yahoo! 계열 사이트에서만 작동한다는 것이었습니다.

하지만, 이 제한을 풀고 로컬에서 동작하도록 하는 사람들이 있고, 아마도 Yahoo!는 이를 달가워하지는 않을 것 같습니다.

Yahoo!의 Skylar Woodward 씨는 해킹이 별 문제 될 것이 없다는 글을 작성하셨습니다. 그리고는 제한을 해제하는 방법에 대해서 보여주셨네요(Yahoo! 직원이 Yahoo! 제품을 해킹하는군요 -_-a).
현재, BrowserPlus 사용은 Yahoo! 계열 사이트로만 제한되어있습니다. 로컬 파일 실행에 대한 제한도 포함되어있습니다. 에러를 표현하기 위해 테스트 파일에 간단한 코드를 추가합니다.
[code:js]
else {greeting = "BrowserPlus is hiding. ("+res.verboseError+")";}
BP_EC_UNAPPROVED_DOMAIN 에러가 로컬 도메인(file://)은 허가되지 않았다고 확인시켜줍니다. 이것은 BP 설정 파일을 파헤쳐 봐야 한다는 뜻도 됩니다. 맥이라면 아래 경로에 있습니다.
/Users/[you]/Library/Application Support/Yahoo!/BrowserPlus/
WindowsXP 라면...
c:\\Documents And Settings\[you]\Local Settings\Application Data\Yahoo!\BrowserPlus\
Windows Vista 라면...
c:\Users\[you]\AppData\Local\Yahoo!\BrowserPlus\
Permissions 폴더를 열어보면 우리가 찾는 것과 비슷한 이름을 가진 파일이 있을 것입니다. 열어보면 이런 코드를 볼 수 있습니다.
[code:js]
"whitelist" : [
        "^http(s?)://(.*)\\.yahoo\\.com$",
        "^http(s?)://(.*)\\.yahoo\\.com:[0-9]+$"
    ],
이렇게 목록에 추가해주시면 됩니다:
[code:js]
"whitelist" : [
        "^http(s?)://(.*)\\.yahoo\\.com$",
        "^http(s?)://(.*)\\.yahoo\\.com:[0-9]+$",
        "^file://$"
    ],
파일은 수정되었지만, 아직 BrowserPlus는 변경 사항을 적용하지 않습니다. 강제로 적용하는 확실한 방법은 모든 브라우저 창을 다 닫는 것입니다(BrowserPlus는 그것을 사용하는 페이지가 없을 때 종료됩니다). 다른 불편한 방법은 BrowserPlusCore를 프로세스 목록에서 찾아 종료하는 것입니다. 어느 쪽이든, test.html 파일을 연 후 "Hello World."가 보이면 사용할 준비가 된 것입니다.
from Hacking BrowserPlus to work locally on Ajaxian
Posted by 행복한고니 트랙백 0 : 댓글 0
사용자 삽입 이미지
Yahoo! 에서 Yahoo! BrowserPlus의 정보를 조금 공개했습니다.

웹을 확장하는 플랫폼: 최종 사용자는 BrowserPlus를 설치하고, 개발자는 작은 JavaScript 라이브러리를 통해 그것의 기능을 사용합니다. 오늘 플랫폼에 포함한 기능 몇 가지입니다:

  • 데스크탑에서의 드래그-앤-드랍
  • 클라이언트측 이미지 관리 (자르기, 회전 & 필터)
  • 데스크탑 알림
관련 서비스에 대해 더 아시고 싶으시면 BrowserPlus 랜딩 페이지를 참고하세요.

TTS 서비스도 있나봅니다.
[code:js]
// the "service specification" that we'll activate
var ttsService = {
  service: "TextToSpeech",  
  version: "1",  
  minversion: "1.0.2"  
};
  
// check for the presence of TextToSpeech, and dump results in the
// specified div
function checkForTextToSpeech(divName) {
  YAHOO.bp.isServiceActivated(
    ttsService,
    function() {
      var _divName = divName;
      return function(haveIt) {
        var d = document.getElementById(_divName);
        d.innerHTML = haveIt;            
      };
    }());
}
 
YAHOO.bp.init(function(res) {
  if (res.success) {
    checkForTextToSpeech("before");
    YAHOO.bp.require({services: [ ttsService ]},
                     function(r) {
                       checkForTextToSpeech("after");
                       if (r.success) {
                         YAHOO.bp.TextToSpeech.Say(
                           { utterance: "text to speech is activated" },
                           function() {} );
                       }
                     });
  }
});
이미지의 드래그앤드랍과 그들을 자르는 것을 합쳐놓은 좋은 데모가 있습니다.

Yahoo! 웹 확장에 동참해줘서 반갑다네! (...라고 Dion씨가 그랬어요)

from Yahoo! BrowserPlus: Sneak Peak on Ajaxian
Posted by 행복한고니 트랙백 0 : 댓글 0

Yahoo! BrowserPlus에 대한 글 이후, 많은 문의가 있었나봅니다. 그래서, strings 명령을 이용해 몇가지 사실을 밝혀낸 모양입니다:

  • 컴포넌트는 Corelets라고 불리는 것 같습니다.
  • Corelets를 제공하는 배포 서버가 있습니다. 기본값은 browserplus.yahoo.com 이지만 아무 것이나 가능합니다.
  • "동적 Corelets" 라는 개념이 있습니다. 이는 시스템에 새로운 Corelets 를 가져오거나 시스템을 프로그램하는데 동적 언어를 사용할 수 있는 것 같습니다.
  • OpenSSL이 포함되어 있고, 올바른 코드가 실행중인지 검증할 것으로 보입니다. SSL primitive를 이용할 수 있는지는 모르겠습니다.
  • 네이티브 JSON 구현체가 포함되어있습니다. 아마도 config 파일을 해석하는 용도인 것 같은데 개발자들에게는 노출되어있지 않습니다.
  • "업로드 Corelte"이라는 개념이 있습니다. 시스템에 새 Corelet을 업로드 하거나 (제발)파일 업로드를 개선하는 방법일 것 같습니다.

또한, 설치 디렉토리를 보신다면 시스템이 Netscape Portable Runtime을 사용한다고 알려주는 NSPR을 보실 수 있습니다. Netscape Portable Runtime(= NSPR)은 지원하는 모든 운영체제를 Mozilla와 같아 보이게 하는 플랫폼 추상 라이브러리입니다.

Netscape Portable Runtime(이하 NSPR)은 지원하는 모든 운영체제를 Mozilla와 같아 보이게 하는 플랫폼 추상 라이브러리입니다. NSPR은 GUI가 아닌 운영체제 기능에 플랫폼 독립성을 제공합니다. 이러한 기능에는 스레드, 스레드 동기화, 일반 파일과 네트웍 I/O, interval timing과 달력 시간, 기본적인 메모리 관리(malloc과 free), 공유 라이브러리 링크 등이 있습니다.
from Yahoo! BrowserPlus: Why wait for the news when you have strings? on Ajaxian
Posted by 행복한고니 트랙백 0 : 댓글 0