Photo
오늘은 Cinedition을 만들었던 이유와 지금도 만들고 있는 이유에 대해서 잠깐 이야기해볼까 한다.
Cinedition은 2010년에 발표했던 조그만한 비디오 유틸리티이다. 이 유틸리티의 주 기능은 맥에서 영화를 보면서 자막을 함께 보고 자막 편집 및 직접 작성을 할 수 있는 기능을 제공하는 유틸리티이다.
단순히 보면 그저 그런 유틸리티이지만 나름 큰 계획을 가지고 개발을 하게되었다. 이 프로그램을 만들게된 가장 큰 이유는 우리 큰놈의 영어 공부를 위해서였다. 평소 외국어는 귀가 열리면 입도 열린다는 나름 원칙(?)이 있다보니 당시 외국어라는 것에 대해 선입견이 없던 어린 딸을 대상으로 영화를 통한 외국어 학습 임상실험을 해봤던 것이다.
실제 개발에 들어가면서 딸의 습관 및 원하는 기능들을 여러 가지 측면에서 이야기하고 이를 적용하는 과정은 몇년을 되풀이했다.
원하는 기능을 구현해주고 이를 적용해보고 딸의 피드백을 받다보니 어느덧 개발한 지 3년 가까이 지나게 되었고 큰놈은 어느 정도 외국어에 익숙해지기 시작했다. 릴리즈하던 때 막 알파벳을 인지하고 자기 이름 정도를 읽을 수 있던 큰 놈이 생각난다. 약 3년동안 Cinedition으로 6편의 영화를 보고, 외우고, 자막을 만들어보고 등을 반복했더니 큰 놈의 입에는 한국말 외 다른 언어가 하나 더 달려있었다.
부모로서 외국어 공부에 전혀 도움을 주지 못하기 때문에 선택했던 영화를 통한 학습 및 아빠로서 해줄 수 있는 최선의 방법을 통해 서로 노력한 결과가 있었던 것이였다.
Cinedition이라는 프로그램이 나에게 좋은 제품으로서 부를 안겨주지는 않았지만 나의 사랑스러운 자식에게 삶의 원동력 한 부분을 채워줬다는 부분에서 큰 의미가 있다.
현재 나는 Cinedition 2를 개발하고 있다. 당연히 Cinedition 2는 둘째를 위한 프로그램이고 둘째의 성향과 원하는 내용들을 기반으로 개발중이다. 큰놈과는 달리 아이폰, 아이패드에 많이 노출된 까닭에 요구 조건은 무진장 높지만 덕분에 새로운 기술들을 접할 수 있게 되어 나역시 공부가 된다.
목표는 내년에 릴리즈를 하는 것이고 이를 통해서 둘째에게도 큰 원동력을 마련해줄 수 있었으면 하는 바램이다.

오늘은 Cinedition을 만들었던 이유와 지금도 만들고 있는 이유에 대해서 잠깐 이야기해볼까 한다.

Cinedition은 2010년에 발표했던 조그만한 비디오 유틸리티이다. 이 유틸리티의 주 기능은 맥에서 영화를 보면서 자막을 함께 보고 자막 편집 및 직접 작성을 할 수 있는 기능을 제공하는 유틸리티이다.

단순히 보면 그저 그런 유틸리티이지만 나름 큰 계획을 가지고 개발을 하게되었다. 이 프로그램을 만들게된 가장 큰 이유는 우리 큰놈의 영어 공부를 위해서였다. 평소 외국어는 귀가 열리면 입도 열린다는 나름 원칙(?)이 있다보니 당시 외국어라는 것에 대해 선입견이 없던 어린 딸을 대상으로 영화를 통한 외국어 학습 임상실험을 해봤던 것이다.

실제 개발에 들어가면서 딸의 습관 및 원하는 기능들을 여러 가지 측면에서 이야기하고 이를 적용하는 과정은 몇년을 되풀이했다.

원하는 기능을 구현해주고 이를 적용해보고 딸의 피드백을 받다보니 어느덧 개발한 지 3년 가까이 지나게 되었고 큰놈은 어느 정도 외국어에 익숙해지기 시작했다. 릴리즈하던 때 막 알파벳을 인지하고 자기 이름 정도를 읽을 수 있던 큰 놈이 생각난다. 약 3년동안 Cinedition으로 6편의 영화를 보고, 외우고, 자막을 만들어보고 등을 반복했더니 큰 놈의 입에는 한국말 외 다른 언어가 하나 더 달려있었다.

부모로서 외국어 공부에 전혀 도움을 주지 못하기 때문에 선택했던 영화를 통한 학습 및 아빠로서 해줄 수 있는 최선의 방법을 통해 서로 노력한 결과가 있었던 것이였다.

Cinedition이라는 프로그램이 나에게 좋은 제품으로서 부를 안겨주지는 않았지만 나의 사랑스러운 자식에게 삶의 원동력 한 부분을 채워줬다는 부분에서 큰 의미가 있다.

현재 나는 Cinedition 2를 개발하고 있다. 당연히 Cinedition 2는 둘째를 위한 프로그램이고 둘째의 성향과 원하는 내용들을 기반으로 개발중이다. 큰놈과는 달리 아이폰, 아이패드에 많이 노출된 까닭에 요구 조건은 무진장 높지만 덕분에 새로운 기술들을 접할 수 있게 되어 나역시 공부가 된다.

목표는 내년에 릴리즈를 하는 것이고 이를 통해서 둘째에게도 큰 원동력을 마련해줄 수 있었으면 하는 바램이다.

Tags: development

Video

프로그램을 사용하면서 사용자의 실수는 당연히 발생할 수 있다.

이를 최선을 다해서 막아야 하는 역할은 당연히 개발자의 역할이다. 사용자의 실수를 처리한다는 것은 그 프로그램의 기반이 그만큼 튼튼하다는 것을 의미한다.

다만 사용자의 실수가 어떤 부분에서 발생하고 이를 정확히 파악하기는 직접 보지않으면 알기가 참 어렵다.

첨부한 동영상은 매우 단순한 광경을 보여주고 이를 예방해주는 기능이 구현되어 있다. 동영상을 보면 알 수 있겠지만 파일 사이즈 단위가 바뀔때 이를 적절하게 판단하여 조건이 성립하는 단위로 선택되도록 해주는 부분을 설명한다.

만약 위 동영상 처럼 처리를 하지 않게 되면 기본적인 논리가 틀어지게 되고 이를 데이터에 반영하는 경우 적절한 값이 나오지 않을 가능성이 높다.

사용자의 실수를 막는 기본적인 방법은 눈에 보이는 부분들부터 세심하게 처리하는게 우선이다. 로우레벨 부분은 눈에 보이는 부분들에 대한 기본적인 처리 능력을 배양한 후 처리해도 늦지 않다. 이게 기본이며 이런게 쌓여서 디테일이 높아지게 된다. 너무 당연한 이야기인가?

Tags: Development

Photo
나는 비교적 주변을 깔끔하게 정리하는 편이다.
정리하는 것은 참으로 귀찮지만 미래를 위한 투자라고 생각하고 주변을 잘 정리를 할려고 무진장 노력을 한다. 이 버릇은 맥을 사용하기 시작하면서 시작된 버릇으로 지금으로부터 약 20년전부터 그래왔던 것 같다.
맥 때문에 좋은 버릇(?)이 생긴 것에 대해서는 개인적으로 바람직하다고 생각하지만 왜 맥 때문에 이런 버릇이 생겼는지에 대해서는 곰곰히 생각해본 적이 별로 없었다.
가만히 생각을 해보니 다음과 같은 이유가 이런 버릇을 만들게 되지 않을까 추측을 해본다.
맥은 무조건적으로 아껴주고 싶다.
먼지 하나 들어갈까 가끔 노심초사한 적이 있다.
맥의 데스크탑이 깔끔하면 물리적인 데스크탑도 깔끔하게 하고 싶다. 물론 그 반대도 그런 듯 하다.
윈도우와는 달리 작업 우선 순위에 따라 정렬을 직관적으로 할 수 있는 인터페이스가 실생활에 영향을 준 듯 하다.
결론은 항상 청결하고 정리하는 삶을 살자는 것이다. ^^

나는 비교적 주변을 깔끔하게 정리하는 편이다.

정리하는 것은 참으로 귀찮지만 미래를 위한 투자라고 생각하고 주변을 잘 정리를 할려고 무진장 노력을 한다. 이 버릇은 맥을 사용하기 시작하면서 시작된 버릇으로 지금으로부터 약 20년전부터 그래왔던 것 같다.

맥 때문에 좋은 버릇(?)이 생긴 것에 대해서는 개인적으로 바람직하다고 생각하지만 왜 맥 때문에 이런 버릇이 생겼는지에 대해서는 곰곰히 생각해본 적이 별로 없었다.

가만히 생각을 해보니 다음과 같은 이유가 이런 버릇을 만들게 되지 않을까 추측을 해본다.

  • 맥은 무조건적으로 아껴주고 싶다.
  • 먼지 하나 들어갈까 가끔 노심초사한 적이 있다.
  • 맥의 데스크탑이 깔끔하면 물리적인 데스크탑도 깔끔하게 하고 싶다. 물론 그 반대도 그런 듯 하다.
  • 윈도우와는 달리 작업 우선 순위에 따라 정렬을 직관적으로 할 수 있는 인터페이스가 실생활에 영향을 준 듯 하다.

결론은 항상 청결하고 정리하는 삶을 살자는 것이다. ^^

Tags: Mac

Photo
Tublme의 보완되어야 할 사항이 있다.
그림처럼 포스팅에 실패한 경우 대부분의 사용자라면 포스팅의 재시도를 해볼 것이다. 하지만 내용에 신경을 쓴 경우라면 내용만이라도 건지고 싶은 생각이 대부분 들 것이다.
하지만 Tublme 자체는 포스팅에 실패한 글의 내용을 볼 수 있는 기능이 없다는게 무척이나 아쉽다. 서비스 자체에서 에러가 나서 포스팅이 되지 못하는 경우는 이해할 수 있지만 이를 회복하기 위해서 무조건적인 포스팅 재시도만 존재한다는 것은 큰 옥의 티가 아닌가 싶다.
다음 버전에는 이에 대한 부분들이 보강되었으면 하는 바램이다.

Tublme의 보완되어야 할 사항이 있다.

그림처럼 포스팅에 실패한 경우 대부분의 사용자라면 포스팅의 재시도를 해볼 것이다. 하지만 내용에 신경을 쓴 경우라면 내용만이라도 건지고 싶은 생각이 대부분 들 것이다.

하지만 Tublme 자체는 포스팅에 실패한 글의 내용을 볼 수 있는 기능이 없다는게 무척이나 아쉽다. 서비스 자체에서 에러가 나서 포스팅이 되지 못하는 경우는 이해할 수 있지만 이를 회복하기 위해서 무조건적인 포스팅 재시도만 존재한다는 것은 큰 옥의 티가 아닌가 싶다.

다음 버전에는 이에 대한 부분들이 보강되었으면 하는 바램이다.


Text

스마트 폴더를 만드는 2가지 방식

요즘 공을 들여서 만드는 기능이 스마트 폴더 기능이다.

스마트 폴더 기능은 OS X에서 제공하는 아주 매력적인 기능이고 이를 응용하는 소프트웨어는 무진장 많다.

아무 생각없이 따라한다면 그냥저냥 만들면 되겠지만 요즘 고민은 스마트 폴더를 만드는 과정에 대한 고민이 많다. 그래서 아래 2가지 경우를 검토해보기로 했다.

방식 1:

  • 스마트 폴더라는 아이템을 무조건 만든다.
  • 만들어진 폴더의 세부 항목을 띄워주는 인터페이스를 보여준다.
  • 사용자가 설정하고 저장한다.

방식 2:

  • 스마트 폴더를 만들 수 있는 인터페이스를 보여준다.
  • 사용자가 설정하고 저장한다.
  • 저장한 스마트 폴더 아아템이 생성된다.

위 내용을 보면 당연히 “방식 2”가 훨씬 효율적이다. 그러나 이는 글로만 봤을 때 그럴 것 같지 실제 동작하는 상황 및 UX를  고려해보면 “방식 1”도 설득력이 있는 부분이 있다.

"방식 2"는 애플의 일반적인 애플리케이션들에서 사용하는 가장 직관적인 방식이고 "방식 1"은 프로 애플리케이션들에서 사용하는 방식이다.

이는 어떤 차이가 있을까?

곰곰히 이에 대해서 생각을 해보니 사용자의 레벨에 따른 분류라고 정리를 했다.

"방식 1"은 "무조건" 스마트 폴더를 만든 이후에 사용자 설정이 들어가는 약간 어색한 방식이지만 프로 애플리케이션들에서 이를 채용한 이유는 프로 애플리케이션에서 스마트 폴더를 사용하겠다고 생각한 사용자는 이미 이성적 판단에 의해 스마트 폴더의 개념이나 이에 대한 장점을 충분히 이해를 하고 있는 상태이고 어떤 조건을 만들것인지에 대한 생각이 이미 존재한다고 판단한 듯 하다.

이는 사용자 수준에 대한 분석을 통해 같은 기능에 대한 접근 방식을 달리하고 있는 애플의 접근 방식이 약간 이해가 안되기도 하지만 분명 수준에 따른 접근 방식이라는 부분을 소프트웨어적 공학적으로 해석하고자 하는 큰 의미가 있다고 보여진다.

덕분에 나도 이러한 고민을 하고 있고 어떤 방식이 가장 자연스럽고 편리한가에 대한 생각부터 적용 방식에 따른 중복성이 없는 코드 작성까지 생각을 하다보니 약간 혼잡스럽긴 하지만 나름대로 판단 기준을 일차적으로 마련하고 이에 따른 작업을 진행해볼까 한다. 현재까지 파악한 부분의 핵심은 중복적인 인터페이스 및 코드 발생을 막으면서 위 2가지 방법을 적절하게 녹여 넣어야 한다는 점이다.

Tags: Development

Photo
흔히들 애플의 놀라움을 이야기할 때 “깨알같은 디테일”이라는 표현을 자주 사용한다.
"깨알같은 디테일"은 깨알처럼 자세하게 사용하는 사용자들 눈에 들어오는 일종의 고급기능(?)을 의미하며 정말 이런 부분까지 신경을 써서 제품 개발을 했다는 부분에 매력을 느끼니 애플을 좋아할 수 밖에 없게 되는 것이다.
오늘 내가 발견한 애플의 또 다른 깨알은 그림에서 보는 것처럼 iTunes에서 발견한 부분이다.
그림을 보면 상단 부분의 연한 색상으로 하일라이트된 부분은 기존에 선택한 부분이고 그 아래쪽의 진한 부분은 현재 마우스 위치가 있는 곳이다.
여기서 핵심은 사용자에게 기존 선택한 부분과 현재 선택하고자 하는 부분을 정확하게 보여준다는 부분이다. 과연 이런 작은 부분까지 애플이 신경쓰리라 과연 누가 생각했을까?
애플은 참으로 간단한 부분에 정말 많은 신경을 써준다. 이는 단순히 스펙이 그렇게되서 개발을 하는 것도 있지만 이런 부분들을 모두 염두에 둔 상태로 일을 진행하는 절차에서 비롯되는 듯 하다. “우리는 우리 마음에 들지 않으면 제품을 만들지 않는다.”라는 애플의 정신에 다시 한번 경의를 표하는 바이다.

흔히들 애플의 놀라움을 이야기할 때 “깨알같은 디테일”이라는 표현을 자주 사용한다.

"깨알같은 디테일"은 깨알처럼 자세하게 사용하는 사용자들 눈에 들어오는 일종의 고급기능(?)을 의미하며 정말 이런 부분까지 신경을 써서 제품 개발을 했다는 부분에 매력을 느끼니 애플을 좋아할 수 밖에 없게 되는 것이다.

오늘 내가 발견한 애플의 또 다른 깨알은 그림에서 보는 것처럼 iTunes에서 발견한 부분이다.

그림을 보면 상단 부분의 연한 색상으로 하일라이트된 부분은 기존에 선택한 부분이고 그 아래쪽의 진한 부분은 현재 마우스 위치가 있는 곳이다.

여기서 핵심은 사용자에게 기존 선택한 부분과 현재 선택하고자 하는 부분을 정확하게 보여준다는 부분이다. 과연 이런 작은 부분까지 애플이 신경쓰리라 과연 누가 생각했을까?

애플은 참으로 간단한 부분에 정말 많은 신경을 써준다. 이는 단순히 스펙이 그렇게되서 개발을 하는 것도 있지만 이런 부분들을 모두 염두에 둔 상태로 일을 진행하는 절차에서 비롯되는 듯 하다. “우리는 우리 마음에 들지 않으면 제품을 만들지 않는다.”라는 애플의 정신에 다시 한번 경의를 표하는 바이다.

Tags: Development

Photo
아침부터 왜 이걸 보고 있을까?

아침부터 왜 이걸 보고 있을까?

Tags: iPad

Photo
즐거운 카메라 생활을 위해서 세로 그립을 구입했다.
현재 가진 카메라는 캐논 650D와 아빠백통이다. 아빠백통은 나에게 있어서 새로운 세계를 열어준 고급 렌즈이다. 그러나 고급 렌즈인만큼 전력 소모도 생각보다 많았고 이를 해결하기 위해서는 추가적인 배터리를 장착할 수 있는 옵션이 필요했다. 바로 이를 충족시켜줄 수 있는 가젯이 세로 그립이였다.
세로 그립을 장착하면 무게는 더 나가겠지만 그만큼 효율이 있을 것이라 기대한다. 다만 구입한 세로 그립이 정품이 아닌 호환용이라는 게 함정~

즐거운 카메라 생활을 위해서 세로 그립을 구입했다.

현재 가진 카메라는 캐논 650D와 아빠백통이다. 아빠백통은 나에게 있어서 새로운 세계를 열어준 고급 렌즈이다. 그러나 고급 렌즈인만큼 전력 소모도 생각보다 많았고 이를 해결하기 위해서는 추가적인 배터리를 장착할 수 있는 옵션이 필요했다. 바로 이를 충족시켜줄 수 있는 가젯이 세로 그립이였다.

세로 그립을 장착하면 무게는 더 나가겠지만 그만큼 효율이 있을 것이라 기대한다. 다만 구입한 세로 그립이 정품이 아닌 호환용이라는 게 함정~

Tags: Photo

Photo
오늘은 메뉴 이야기를 해볼까 한다.
사용자 입장에서 메뉴는 훌륭한 네비게이션 역할을 해주는 좋은 요소이다. 메뉴의 큰 장점이라면 단축키를 들 수 있는데 조금만 맥 환경에 익숙한 사용자라면 금방 단축키를 익히고 이를 통해서 쉽게 프로그램을 제어할 수 있는 환경을 스스로 갖추게된다.
이를 위해서는 개발자가 충분히 메뉴에 대한 인지도를 가지고 정성스럽게 메뉴 프로그래밍을 해야한다.
하지만 실제 메뉴 프로그래밍을 하다보면 화면상에 보이는 메뉴를 담당하는 객체가 다른 탓에 여기 저기에서 메뉴를 인터럽트를 걸고 업데이트하는 여러 동작을 코드상에서 처리해야 하고 이를 일관된 형태로 구현해야지만 개발의 노고도 줄어들게 된다.
특히 토글의 의미를 보여줘야 하는 메뉴같은 경우에는 2가지의 로컬라이즈 스트링 준비는 물론 이를 적절하게 판단해서 업데이트를 해줘야 한다. 아울러 Checked, Unchecked, Mixed 모드 역시 이와 비슷한 노력을 필요로 한다.
실제 사용자의 편의를 진심으로 이해하고 이를 제대로 구현할려고 맘먹고 덤벼드니 여간 힘든게 아니다. 하지만 화면에 나오는 결과물은 왜 내가 이런 노력을 들였는지를 왜 해야하는지를 정확히 알려준다.
역시 해봐야지만 무언가를 알 수 있기 마련이다.

오늘은 메뉴 이야기를 해볼까 한다.

사용자 입장에서 메뉴는 훌륭한 네비게이션 역할을 해주는 좋은 요소이다. 메뉴의 큰 장점이라면 단축키를 들 수 있는데 조금만 맥 환경에 익숙한 사용자라면 금방 단축키를 익히고 이를 통해서 쉽게 프로그램을 제어할 수 있는 환경을 스스로 갖추게된다.

이를 위해서는 개발자가 충분히 메뉴에 대한 인지도를 가지고 정성스럽게 메뉴 프로그래밍을 해야한다.

하지만 실제 메뉴 프로그래밍을 하다보면 화면상에 보이는 메뉴를 담당하는 객체가 다른 탓에 여기 저기에서 메뉴를 인터럽트를 걸고 업데이트하는 여러 동작을 코드상에서 처리해야 하고 이를 일관된 형태로 구현해야지만 개발의 노고도 줄어들게 된다.

특히 토글의 의미를 보여줘야 하는 메뉴같은 경우에는 2가지의 로컬라이즈 스트링 준비는 물론 이를 적절하게 판단해서 업데이트를 해줘야 한다. 아울러 Checked, Unchecked, Mixed 모드 역시 이와 비슷한 노력을 필요로 한다.

실제 사용자의 편의를 진심으로 이해하고 이를 제대로 구현할려고 맘먹고 덤벼드니 여간 힘든게 아니다. 하지만 화면에 나오는 결과물은 왜 내가 이런 노력을 들였는지를 왜 해야하는지를 정확히 알려준다.

역시 해봐야지만 무언가를 알 수 있기 마련이다.

Tags: Development

Photo
나는 이런 느낌의 사진을 좋아한다.

나는 이런 느낌의 사진을 좋아한다.

Tags: Photo

Video

디테일을 높이기 위한 전쟁은 항상 게속된다.

애플 제품의 디테일은 그냥 우수한게 아니라 이를 기획하고 개발하는 사람들의 마인드에서 나온다.

이들 또한 제품의 우수성 및 디테일을 높이기 위해서 아주 많은 시간을 할애할 것이다. 세계 1위를 꿈꾸는 나는 당연히 이런 과정들을 즐기며 아주 많은 시간을 이런 부분에 할애를 하는 편이다.

첨부한 동영상은 버튼을 클릭했을 때 화면 일부분을 감추는 부분이다.

단순히 일부분을 감추는데 끝나지 않고 해당 부분의 결과를 버튼을 통해서 확실하게 보여줄려고 노력하고 있다. 아울러 버튼에 마우스를 올렸을 때 현재 상태를 보여주는 것도 잊지 않고 구현을 했다.

이런 작은 노력들이 합쳐져서 결국 좋은 프로그램이 될 것이다.

Tags: Development

Photo
삼성 스마트 워치 갤럭시 기어가 나온지 얼마되지도 않아 사은품으로 전략했다.
사은품이라는 것은 메인 제품을 더 잘 판매하기 위해 자주 사용하는 마케팅 방식으로 대부분 있으나마나 하는 성격의 제품들을 의미한다.
나온지 얼마나 됐다고 벌써~

삼성 스마트 워치 갤럭시 기어가 나온지 얼마되지도 않아 사은품으로 전략했다.

사은품이라는 것은 메인 제품을 더 잘 판매하기 위해 자주 사용하는 마케팅 방식으로 대부분 있으나마나 하는 성격의 제품들을 의미한다.

나온지 얼마나 됐다고 벌써~

Tags: IT

Photo
Tublme 인터페이스 아주 멋지다.
블로깅을 하는 것이 또 하나의 즐거움이 될 수 있을 것 같다.

Tublme 인터페이스 아주 멋지다.

블로깅을 하는 것이 또 하나의 즐거움이 될 수 있을 것 같다.

Tags: Mac