Header

  1. View current page

    실용주의를 꿈꾸며...

Profile_image?t=1224205604&type=big
14

[매쉬업 경진대회] Snow Note

2008 대한민국 매쉬업 경진대회에 제출한 Snow Note의 사용설명서입니다.

SnowNote(눈공책)란?

Snownote는 생각이 자라나는 스프링노트를 오프라인에서도 사용하도록 지원하기 위한 매쉬업 어플리케이션입니다.  "스프링노트"가 인터넷에 연결된 상태의 따뜻한 봄기운을 연상한다면 "스노우노트"는 인터넷에 연결되지 않은 추운 겨울을 연상해 이름 지었습니다. 오프라인 상의 추운 겨울이지만 "눈 꽃"같은 아름다음을 표현하고 싶었습니다.

 Snownote는 사용자의 스프링노트 페이지 전체를 내려받아 인터넷에 접속할 수 없는 어디에서라도 항상 자신이 작성할 글을 볼 수 있고 기존 글의 수정, 새로운 글의 작성을 지원합니다. Springnote와 유사한 사용자 경험을 제공하므로 별도의 학습이 필요 없습니다.

 

Snownote만의 장점

Snownote를 계획하면서 정리한 기존 Springnote 사용자의 불편함

  • 회사에서는 지정된 사이트를 제외한 모든 사이트에 접속할 수 없어요. 집과 회사에서 모두 Springnote를 활용하고 싶어요.
  • 외국 출장이 잦아서 인터넷을 사용할 수 없는 환경이 많습니다. 항상 자료를 이용하려면 워드 문서로 저장해놓는 방법뿐이지만 자료를 찾기가 쉽지 않습니다.
  • Springnote의 로딩 속도가 너무 느립니다. WikiWiki는 페이지간의 연관관계가 중요하기 때문에 여러 페이지를 자주 옮겨다니는데 페이지간 이동 시간이 너무 길어요.
  • Springnote에 한번에 여러개의 페이지를 열어두고 동시에 작업하고 싶은데 마땅한 방법이 없네요.

 

위의 불편함을 해소하고 Snownote만의 장점을 제공합니다.

  • 언제, 어디서도 사용 가능 (오프라인/온라인 어디든 자신의 컴퓨터와 함께라면 사용할 수 있다)

  • 빠른 속도 (매번 서버에 자료를 요청해서 처리하지 않기 때문에 인터넷 속도나 현재 스프링노트의 처리속도와는 무관하게 빠른 결과를 보여준다.)
  • 여러개의 페이지를 한번에 열어두고 작업할 수 있다.

 

실행환경

Snownote는 eclipse Rich Client Platform (RCP) 기반의 독립 어플리케이션으로 다음의 환경에서 동작합니다.

  • Java 5 (JRE 5 다운로드 하기)
  • 주) Java 5부터 지원이 맞지만 매쉬업 경진대회에 제출된 버전은 Java 6로 빌드되었습니다. 시스템에 함께 설치된 Java 6를 이용해서 배포된 걸 확인하지 못했습니다. Java 6를 설치해야 합니다. (Java 6 다운로드 하기)

    • 시스템에 다른 자바가 이미 설치되어있어서 Java 6 경로가 설정되지 않는 경우 처리방법: 내컴퓨터 -> (오른쪽 마우스) 속성 -> 고급 -> 환경변수 -> (시스템 변수) 새로만들기/ 이미 있다면 편집 -> 변수이름: JAVA_HOME, 변수값: 자바 6 설치 경로

 

Snownote는 기존의 많은 단독어플리케이션과는 다르게 Windows 이외의 플랫폼도 지원합니다. 지원플랫폼:

  • Windows
  • Linux (현재 직접 소스 빌드해서 사용해야 함. 곧 바이너리 제공 예정. http://code.google.com/p/snownote 에서 소스코드 받아서 빌드 후 사용 가능. eclipse 플러그인 빌드 방식을 이해하고 있어야 함.)
  • Mac (껌뻑임 등 불안정. 추후 지원 예정.)

다운로드 및 설치

Snownote를 다운로드 설치함은 발생할 수 있는 모든 문제에 대한 책임은 본인이 진다는 것을 의미한다. 즉, Snownote의 문제로 자신의 Springnote 계정의 자료가 의도되지 않은 삭제/변경되는 등의 문제가 발생해도 Snownote와 Springnote에는 아무런 책임이 없음을 의미한다. (이후 모든 과정은 Windows 플랫폼 기준으로 설명한다. 하지만 다른 플랫폼도 거의 동일한 방식으로 실행할 수 있다.)

1. 다운로드 

Snownote의 Windows용 압축 파일을 내려받는다. (주: 경진대회 제출버전이 시스템에 설치된 Java 6로 빌드되어 배포되었음. 제출버전으로 테스트하기 위해서는 Java 6를 설치하고 제출버전용을 다운로드한다. Java 5용 버전은 제출버전과 동일(실행 아이콘만 변경됨)한 내용으로 Java 5로 빌드되었다.)

2. 설치하기
Snownote는 별도의 설치과정없이 다운로드 받은 파일의 압축해제 만으로 설치가 끝난다. 설치하고자 하는 경로에 압축을 해제한다. 

실행하기

참고) Snow Note의 처음 공개버전은 매쉬업 경진대회에 제출한 버전으로 편의성을 위해서 데모용 Springnote 사용자 계정, Flickr 계정 정보가 등록되어있다. 개인 계정이므로 일반 사용자는 부디 자신의 계정에서 작업하길 바란다.

 

1. 압축을 해제한 폴더에서 Snownote.exe 파일을 더블클릭한다.

2. 시작화면(Splash)이 나오면서 Snownote가 실행되고 있음을 알 수 있다.

splash.jpg

Snownote 실행화면

3. Snownote를 처음 실행하면 사용자 정보를 묻는다.

login.jpg

사용자 정보 입력 다이얼로그

  • 오픈아이디: 자신의 Springnote 계정에서 사용하는 ID를 입력한다. (예: http://sakim.myid.net)

  • 사용자 도메인: 위의 오픈아이디가로 등록된 Springnote 도메인을 입력한다. (예: sakim)

  • 사용자키: Snownote를 사용하기 위해서는 오픈마루의 API센터를 통해서 자신만의 Snownote용 개인키를 발급 받아야 한다. "https://api.openmaru.com/delegate_key/springnote?app_id=2def9265&openid=사용자의_오픈아이디"에 접속해서 발급 받을 수 있다. (예: https://api.openmaru.com/delegate_key/springnote?app_id=2def9265&openid=http://sakim.myid.net)

  • "저장하고 다시 묻지 않기"를 체크하면 다음번 실행시에 사용자에게 다시 물어보지 않는다. 입력된 정보는 어플리케이션이 실행된 후 설정을 통해서 변경할 수 있다.

4. 이제 Snownote가 실행되었다. Snownote는 인터넷에 연결되지 않아도 사용할 수 있지만 최초 한번은 인터넷이 연결된 환경에서 동기화를 수행해야 한다.

synchronize.jpg

5. 동기화가 수행되면 자신의 Springnote 계정에서 모든 페이지와 첨부파일을 다운로드한다. 글과 첨부파일의 수에 따라서 처음으로 수행하는 동기화는 다소 시간이 걸릴 수 있다.

 

이제 모든 준비는 끝났다. 언제 어디서도 나만의 글을 작성하고 인터넷에 연결되면 "동기화"를 통해 모든 글을 Springnote 계정에 올려 온라인과 오프라인에서 항상 최신의 정보를 유지할 수 있다.

 

모든 페이지/최근 페이지 화면

동기화되면 좌측 페이지 화면에 모든 페이지를 계층 구조로 볼 수 있는 화면과 최근 페이지(오늘, 어제, 지난 1주, 최근 1개월)를 볼 수 있는 화면에 페이지 목록이 표시된다. Springnote에서 제공하는 방식과 동일하다. (추후 태그 페이지 제공 예정)

pages.jpgrecent.jpg

 

편집창 (에디터) 화면

 페이지 목록에서 편집을 원하는 페이지를 더블클릭하면 페이지를 편집할 수 있다. 이미 열려있는 페이지인 경우 한번 클릭하면 열려진 에디터 중 해당 페이지가 편집가능한 상태가  된다.

Snow Note의 에디터는 Springnote의 에디터와 유사한 Look & Feel을 제공할 뿐 아니라 WYSIWYG 방식의 지원으로 오프라인에서도 편리한 편집을 지원한다.

editor.jpg

첨부파일 화면

에디터에 활성화된 페이지의 모든 첨부파일 목록을 보여준다. 파일의 이름과 종류, 사이즈, 사용자의 컴퓨터에 저장한 위치가 기록된다. 현재 첨부파일 화면에서 제공하는 기능은 새로운 사진을 등록하는 기능 (Flickr로 업로드)과 기존 스프링노트 계정에서 업로드한 사진자료를 본문에 넣는 기능만을 제공한다. 새로운 첨부파일 추가(스프링노트 계정 업로드)와 기존 자료(사진 자료 제외)의 본문에 내용추가 기능은 추후 제공 예정이다.

image.jpg

첨부파일 화면의 팝업 메뉴를 통해서 사진을 본문에 삽입할 수 있다.

Flickr를 통한 사진 업로드 기능은 하단의 Flickr 지원 기능을 참조한다.

페이지 생성하기

모든 페이지 화면에서 오른쪽 마우스 팝업이나 툴바의 새 페이지 만들기 버튼(메뉴 설명 절 참조)을 통해서 새 페이지를 생성할 수 있다. Snownote의 새 페이지 만들기 창은 Springnote를 사용해본 경험이 있다면 쉽게 사용할 수 있도록 비슷한 느낌의 UI를 제공한다. 페이지의 이름, 태그, 페이지 생성 위치를 정할 수 있다. 다른 위치 선택하기를 통해서 쉽게 페이지를 생성하고자 하는 위치를 결정할 수 있다.

Springnote와 마찬가지로 다음의 규칙을 따른다.

  • 페이지 이름을 입력하지 않으면 "2008-2-8"의 형식의 날짜를 이름으로 하는 페이지를 생성한다.

  • 태그는 선택사항이다.

  • 같은 위치에 동일한 이름을 가진 페이지를 만들 수 없다.

 

new_page1.jpg

새 페이지 만들기 창

아이콘을 통해 쉽게 새로 생성된 페이지임을 알 수 있다 (아이콘별 상태에 대해서는 "페이지 상태"절을 참고).

new_page2.jpg

Snownote에서 새로 생성된 페이지

페이지 제목/태그/위치 수정하기

모든 페이지 화면에서 오른쪽 마우스 팝업이나 툴바의 수정하기 버튼(메뉴 설명 절 참조)을 통해서를 통해서 페이지의 페이지의 제목, 태그, 위치를 변경할 수 있다. 페이지 생성과 동일한 화면을 제공하므로 어려움 없이 변경할 수 있다. 단, 최상위 페이지는 위치를 변경할 수 없으며 옮기려는 페이지가 자신의 하위 페이지일 수 없다 (순환구조 허용 안됨).

 

드래그 앤 드랍(Drag and Drop) 지원

모든 페이지 화면에서는 드래그 앤 드랍을 통해서 페이지의 위치를 쉽게 변경할 수 있다.

 


drag1.jpgdrag2.jpgdrag3.jpg

 

드래그 앤 드랍 화면 (허용하지 않음, 허용 상태, 드랍 후 화면)

다음의 경우는 드래그 앤 드랍이 허용되지 않는다.

  • 최상위 페이지의 이동
  • 자신의 하위 페이지로의 이동 (순환구조 허용하지 않음)

 

동기화

동기화는 전체 동기화, 업로드 동기화, 다운로드 동기화의 세 가지 방식을 제공한다. (추후 페이지별 업로드, 다운로드 동기화 지원 예정)

업로드

업로드는 Snownote의 변경 사항을 Springnote에 반영하는 작업으로 다음의 작업을 수행한다.

  • 생성(Create): Snownote에서 새로 생성한 페이지를 Springnote에 반영한다.
  • 갱신(Update): Snownote
    에서 변경한 페이지를 Springnote에 반영한다.
  • 삭제(Delete): Snownote에서 삭제대상으로 설정한 페이지를 Snownote와 Springnote에서 삭제한다.
다운로드

다운로드는 Springnote로부터 최신 정보를 가져오는 작업으로 다음의 작업을 수행한다.

  • 생성(Create): Springnote에서 생성한 페이지를 Snownote에 반영한다.
  • 갱신(Update): Springnote에서 변경한 페이지를 Snownote에 반영한다.
  • 삭제(Delete): Springnote에서 삭제된 페이지를 Snownote에서 삭제한다. (Under Development)

 

충돌 해결

현재 버전에서는 별도의 충돌 해결 기법이 적용되지 않는다. Springnote나 Snow Note 중 수정시간이 더 최신인 페이지로 무조건 대체한다. 의도하지 않은 변경이 발생하지 않도록 주의한다. Springnote계정에 의도하지 않은 변경을 생성했다면 변경사항보기에서 돌려두면된다. 추후 버전에서 충돌이 발생한 내용을 사용자에게 알리고 사용자가 비교 후 갱신할 수 있는 방법을 제공할 계획이다.

 

설정

Windows -> Preferences 메뉴를 통해서 Snow Note의 정보를 설정할 수 있다.

preference.jpg

설정화면

  • 스프링노트(Springnote) 페이지: 최초로 Snow Note를 실핼할 때 사용자에게 물어봤던 스프링노트 사용자 계정을 편집할 수 있는 기능을 제공한다.
  • 플리커(Flickr) 페이지: 사용자의 플리커 API Key와 Shared Secret을 등록하고 인증 받을 수 있다. 여기서 반드시 인증 받아야지만 플리커 서비스를 이용할 수 있다. 플리커 계정은 사용이 허용되면 녹색 글씨로 "사용허용됨"이 표시된다.
  • 스노우노트(Snownote) 페이지: 삭제에 대한 경고를 다시 보이지 않기 등 Snow Note 전반적인 사용자 선호를 설정할 수 있다.
  • 키배열(Keys) 페이지: 사용자의 키보드 단축키를 취향에 맞게 조정할 수 있다.

Flickr 사진 업로드 하기

Flickr 사진 업로드 기능은 설정 페이지에서 사용자의 플리커 계정이 제대로 등록된 경우에만 동작한다. 새로운 사진의 등록은 첨부파일 화면 우측 상단이 가져오기 버튼을 클릭해서 새로운 사진(현재 그림 파일만 첨부가능)을 가져온 후 마우스 팝업메뉴의 "본문에 넣기" 메뉴를 통해서 사진을 등록하면 다음 동기화 시 사진을 플리커에 업로드하고 이미지 경로도 플리커의 경로로 변경된다.

미리보기ScreenSnapz001.jpg

페이지 상태

SnowNote의 페이지는 아래와 같은 상태를 가진다. 동기화되지 않은 내용은 서버에 반영되지 않은 것이므로 서로 최신의 정보를 유지하기 위해서는 주기적으로 동기화해주는 것을 권장한다. 특히, 현재 SnowNote는 Springnote 서버와 SnowNote에서의 동시 수정을 처리하지 못하므로 동기화되지 않은 페이지를 수정할 때는 주의하자 (충돌해결 절 참조).

페이지 아이콘 설명 상태
treeHome.gif 최상위 페이지로 삭제나 이동할 수 없다. 동기/비동기
page.gif Springnote 서버와 동기화된 상태의 페이지. 동기
page_added.gif 사용자가 SnowNote에서 생성한 페이지. 동기화되지 않은 페이지. 비동기
page_modified.gif SnowNote에서 수정된 페이지. 비동기
page_deleted.gif 삭제 예정 페이지. 다음 동기화 시 삭제된다. 동기화 이전에는 삭제를 취소할 수 있다. 비동기
툴바 메뉴와 모든 페이지 화면의 팝업 메뉴
 아이콘 메뉴  설명  활성화 조건
 new_page.gif  새로운 페이지  선택된 페이지 아래 새로운 페이지를 생성한다. 항상
 modify_page.gif  수정하기  선택된 페이지의 제목, 태그, 위치를 변경한다. 단, 최상위 페이지의 위치는 변경할 수 없다. 항상
 delete.gif  삭제하기  선택된 페이지를 삭제한다. 다음 동기화 시 삭제되며 동기화 이전에는 삭제는 취소할 수 있다. 선택 페이지가 삭제예정 상태가 아닌 경우
 delete_all.gif  모두 삭제하기  선택된 페이지와 하위의 모든 페이지를 삭제한다.

적어도 하나의 하위 페이지가 삭제예정 상태가 아닌 경우

 delete_cancel.gif  삭제 취소하기  선택된 페이지의 삭제를 취소한다. 선택 페이지가 삭제예정 상태인 경우
 delete_cancel_all.gif  모두 삭제 취소하기  선택된 페이지와 하위의 모든 삭제 대상 페이지의 삭제를 취소한다.

적어도 하나의 하위 페이지가 삭제예정 상태인 경우

오류보고/문의

Snownote와 관련된 모든 문의 사항은 김성안 (ccoroom at gmial.com)으로 보내주시면 됩니다.

Tags

History

Last edited on 02/11/2008 11:38 by 김성안

Comments (0)

You must log in to leave a comment. Please sign in.