From Design pattern
Jump to: navigation, search
(Andriod_BBC)
(Andriod_BBC)
Line 20: Line 20:
  
 
=== Andriod_BBC ===
 
=== Andriod_BBC ===
* 동기화 버튼을 통해 화면에 나타난 기사를 가장 최신의 것으로 업데이트한 상황으로, 비록 구현의 형태는 다르지만 [[Pull to refresh]]라고도 볼 수 있다.
+
* 동기화 버튼을 통해 화면에 나타난 기사를 가장 최신의 것으로 업데이트한 상황으로, 비록 구현의 형태는 다르지만 [[Pull to refresh]]에도 해당된다.
 
{{#Widget:Vimeo|id=95630488|width=300|height=541}}
 
{{#Widget:Vimeo|id=95630488|width=300|height=541}}
  
  
 
[[category:Refresh]]
 
[[category:Refresh]]

Revision as of 11:56, 2 August 2014

Sync(Synchronization)는 서로 다른 위치에 저장된 파일의 버전을 서로 일치하도록 하는 패턴이다. 사용자가 원할 때 최신 정보를 업데이트할 수 있는 하나의 패턴으로 동기화라는 명칭으로 활용하기도 한다.

단 방향 동기화는 파일을 기본 위치에서 보조 위치만으로 이동시키는 경우로 apple 제품을 활용할 때 itunes가 이러한 구성을 취한다. 양방향 동기화는 파일을 양방향으로 복사하여 두 위치의 동기화 상태를 유지하여 항상 파일의 최신 버전을 유지하는 경우에 적합하다. 사용자가 파일을 다루는 두 개 이상의 장치가 서버를 통해 연동되는 클라우드 형태일 경우, 각각의 장치는 직접적으로 연결되는 것이 아니라 서버와 동기화하는 과정을 거쳐 한 장치에서 동기화를 진행할 때, 다른 장치에까지 동기화가 진행되지는 않는다.

With this pattern, we can solve...

서로 다른 위치에서 파일을 항상 마지막에 작업한 최신의 형태로 공유하고 싶거나, 복수의 서버나 장치 간에 유선 혹은 무선의 형태로 자료를 공유하고 싶을 때 동기화 작업이 필요하다.

  • 동기화는 사용자의 설정에 따라 두 서버나 장치가 연결될 경우 자동으로 진행되거나 수동으로 진행할 수 있다. 자동으로 진행하는 경우, 동기화 빈도가 조절 가능한 경우도 있다.
  • 동기화는 단방향 또는 양방향 동기화를 수행하도록 자동 설정되지만 선택 가능한 경우도 있다.
  • 동기화를 진행할 때 현재의 진행단계나 진행완료 상황을 사용자에게 명확하게 피드백해주어야 한다.
  • 만약 저장된 특정 상태로 되돌리는 형태라면 동기화보다는 Reset이나 복원에 가깝다.
  • Export and import 또한 동기화의 일종이지만, Export and import는 동기화 파트너 관계에 위치한 두 개 이상의 서버나 장치에서 동기화 설정을 통해 진행되는 것이 아니라, 특수한 기능을 가진 앱이나 프로그램, 서비스로 특정 위치에 있는 파일을 추출하는 경우에 해당한다.
  • Pull to refresh 또한 동기화의 일종이지만, Pull to refresh는 특정 위치에 있는 자료를 실시간으로 업데이트하여 보기 위한 목적으로 그 동작과 그로 인한 피드백이 사용자에게 자연스럽게 인식되어 규칙을 형성한 경우이다. 일반적으로 Pull to refresh에서 업데이트, 곧 새로고침의 경우 파일 자체가 업데이트되기 보다는 서버에 새로 생성된 파일이 업데이트되는 형태로, 사용자의 파일이 변환되지 않아 파일 자체에 피해를 입지 않는다. 반면 동기화의 경우는 사용자의 경우에 따라 원하지 않는 손실을 입을 수 있기 때문에 pull to refresh와 같은 화면 전체를 조작하는 형태보다는 버튼을 활용하며, 동기화의 진행여부를 묻는 alert를 동반할 수 있다.
  • 백그라운드에 작동되고 있던 앱을 활성화하는 과정에서 최신 정보를 적용하여 구동함을 알려주는 역할로 Splash screen이 나타날 수 있다.

Example


Andriod_BBC

  • 동기화 버튼을 통해 화면에 나타난 기사를 가장 최신의 것으로 업데이트한 상황으로, 비록 구현의 형태는 다르지만 Pull to refresh에도 해당된다.