Tag: M35Touch
플래시 UI 디자인상 주의할 점
by 세계의끝 on 12.29, 2008, under M35T Flash UI
어쩌면 이것은 메리테크의 메인에 들어가는 플래시 UI에 국한한 이야기가 아니라 모든 휴대용 디바이스의 UI 제작에도 해당되는 이야기일 것입니다.
UI 를 만들때 가장 고려해야할 것은, 당연한 말이지만 사용자 편의성, 그리고 접근성입니다. 디자인은 이 요소들을 뒤에서 지원사격하기 위한 역할인 경우가 많죠.
그러나 국내의 기업들은 외국 제품의 디자인에 현혹되어 겉모양은 표절 시비에 휘말리지 않을 정도로 적당히 베끼고, 표절과 관계 없어 보이는 것은 부담없이 베끼는 UI를 생산해 왔습니다. 도덕적으로 매우 해이하다고 할 수 있을 것입니다.
대기업이나 중소기업이나 정도의 차이가 있을 뿐, 고유한 색채를 가진 UI는 찾아보기가 힘듭니다.
이것은 디자인에 대한 잘못된 인식에서 출발합니다.
대부분의 기업에서 디자인은 1인 또는 소규모의 그룹에서 자신이 가진 디자인 적인 경험을 그대로 재생산하여 업무를 수행합니다.
여기에는 좋은 결과물을 만들어 내기 위한 투자나 지원은 없고 오로지 아웃풋만이 존재할 뿐입니다. 디자이너의 역량이 매우 뛰어나서 여태 어디에서도 본 적이 없는 기발하고 독창적인데다가 사용자 편의성이 매우 뛰어난 결과물이 나온다면 다행이지만, 대부분의 경우 그렇지 않죠. 이러한 디자이너(또는 개발자)에 대한 독촉과 종용이 어디선가 본듯한… 안전빵 디자인을 만들어 내는 것이라고 할 수 있습니다.
글 초반부터 좀 많이 샜는데
이 포스팅에서 하고싶은 말은 이겁니다.
메리테크의 M35T 의 UI도 위의 경우에 예외가 아니라는 겁니다.
제가 M35T의 UI 프로토타입을 제작할 때 가장 신경이 많이 쓰였고, 가장 많은 시간이 들어간 부분은 다름아닌 아이콘의 디자인 스타일이었습니다. 모든 아이콘과 이미지들은 제작자 자체적으로 만들거나, 원본이 존재하는 경우 상당히 많은 수준의 합성이나 수정을 통하여 원본과는 전혀 다른 이미지가 되어야 합니다.
M35T 카페 유저들의 UI선호도를 가늠해보면, 약간 과장을 포함해서, 80%는 아이폰(팟)스타일 원츄, 나머지 20%는 상관없음 이지만, Flash UI 제작을 위한 공식적인 fla파일(일종의 템플릿)을 만드는데, 아이폰 아이콘을 가져다 쓸순 없는 노릇이죠. 게다가 이 fla 파일은 광범위하고 불특정하게 배포되는 성질의 것이라 표절 시비에 휘말린다던가 하는 일이 전혀 생기지 않는다는 보장이 없습니다. (오히려 의도적인 표절 시비를 내서 마케팅 수단으로 삼는 경우도 있긴 하지만..)
결론은 뭐냐…
M35T의 UI를 제작하는 분은 사용되는 이미지, 또는 디자인에 대한 사용 권한이 자신에게 있는지 확인해야 합니다.
UI의 디자인 중에서도 아이콘 스타일에 관해서만 이야기 했지만, 사진을 사용하여 UI를 제작하는 것에도 주의가 따릅니다.
연예인 사진으로 UI를 만들어 본인만 사용할 것이라면 별 관계 없겠지만, 이 UI 가 널리널리 배포된다면 전혀 다른 문제가 되는 것이죠.
초상권이나 저작권 시비에 휘말릴 수도 있는 잠재적 가능성이 생기는 것입니다.
이러한 점에 유의해서 UI를 제작해 주시기 바랍니다.
플래시 UI 제작을 위한 API 완전 정리
by 세계의끝 on 12.11, 2008, under M35T Flash UI
M35Touch 의 플래시 UI에서 사용할 수 있는 명령어는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /*****각 기능 실행*****/ //dmb 실행 ext_fscommand2("PLATFORM", "executeApp", "dmb"); //동영상 플레이어 실행 ext_fscommand2("PLATFORM", "executeApp", "movie"); //뮤직플레이어(mp3) 실행 ext_fscommand2("PLATFORM", "executeApp", "music"); //라디오 실행 ext_fscommand2("PLATFORM", "executeApp", "radio"); //게임 브라우져 실행 ext_fscommand2("PLATFORM", "executeApp", "game"); //사전 실행 ext_fscommand2("PLATFORM", "executeApp", "dic"); //포토뷰어 실행 ext_fscommand2("PLATFORM", "executeApp", "photo"); //보이스레코더 실행 ext_fscommand2("PLATFORM", "executeApp", "voicerec"); //텍스트 뷰어 실행 ext_fscommand2("PLATFORM", "executeApp", "text"); //setting 메뉴 실행 ext_fscommand2("PLATFORM", "executeApp", "setting"); /*****M35T 기기 상태 체크*****/ //배터리 상태수준을 가져와 battery 변수에 저장 ext_fscommand2("PLATFORM","getBatteryLevel", "battery"); //LCD상태가 잠겨 있는지 여부를 가져온 후 lcdlocked 변수에 저장, lcdlocked = 0 잠기지 않은 상태, lcdlocked = 1 잠긴상태 ext_fscommand2("PLATFORM","isLCDLocked","lcdlocked"); //micro SD 카드의 상태를 가져와 sdcard 변수에 저장, sdcard = 0 없음, sdcard = 1 있음 ext_fscommand2("PLATFORM","isExistSDCard","sdcard"); /*****swf 파일 로드*****/ //메인 UI 상태에서 다른 swf을 호출하고 메인 UI는 메모리에서 삭제. ext_fscommand2("PLATFORM", "excuteFlash", "C:\\Config\\test.swf"); //다른 swf 가 불러와 있는 상태에서 메인 UI로 돌아간다 ext_fscommand2("PLATFORM", "runMainMenu"); |
메리테크 M35Touch API 추가 공개
by 세계의끝 on 12.11, 2008, under M35T Flash UI
메리테크 펌웨어 개발자분이 제게 보내온 기술 문서를 정리해서 포스팅 합니다.
이 내용은 11월 20일자 V1.0.3.6 펌웨어에 이미 적용되었지만 외부로 공개되지 않은 API 입니다.
플래시 UI가 로드된 상황에서 함수를 호출하여 M35T의 내부의 다른 swf 파일을 로드하고 메인 플래시 UI는 언로드 되도록 하는 내용 입니다.
언뜻 보기에 최상단에 loadMovie() 하는게 더 낫지 않냐? 하시겠지만,
실제 휴대용 디바이스의 플래시를 제작하다보면 가장 먼저 느끼는 점이 “퍼포먼스가 정말 안나온다” 라는 점입니다.
약간만 복잡한 모션이거나 움직임이있는 무비클립의 면적이 약간만 넓어져도 속도저하가 확 느껴질 정도 입니다.
그래서 onEnterFrame 같은건 너무나 당연히 delete 시켜줘야 하고, 데스크탑(윈도우) 상에서는 전혀 신경쓰지 않아도 되는, 심지어는 사용하지 않는 변수를 삭제시키는 등의 메모리 확보에 신경을 써야 합니다.
이런 환경이니 swf를 하나이상 loadMovie 하는것은 굉장한 부담이 되는 일입니다.
혼자만 사용하는거라면 뭐 상관 없을수도 있지만, 공개되어 배포되는 애플리케이션인 경우에는 이야기가 달라지죠.
뭐 그렇다는 이야기고…
사용 방법은 다음과 같습니다.
1. 메인 UI에서 다른 플래시 파일 호출
ext_fscommand2(arg1, arg2, arg3)
arg1: API의 종류( 무조건 “PLATFORM”)
arg2: 함수명( “excuteFlash”)
arg3: 플래시의 경로
1 2 | //메인 UI 상태에서 다른 swf을 호출하고 메인 UI는 메모리에서 삭제. ext_fscommand2("PLATFORM", "excuteFlash", "C:\\Config\\test.swf"); |
위의 코드에서 주의할 점이 경로 인데,
M35T의 기본 메모리 영역은 C 드라이브이고, sd카드는 D 드라이브 입니다.
그리고 디렉토리 구분 표시는 이스케이프 문자를 “\\” 이렇게 두개 겹쳐 써야합니다.(한글폰트에서는 “\\” 가 되겠죠.)
M35T 운영체제의 특성인듯 한데, 이것을 메리테크 개발진에서는 버그로 인식하고 다음번 펌웨어 패치때 수정할 계획인 모양입니다.
2. 다른 플래시가 화면에 표시된 상태에서 메인 UI로 복귀
ext_fscommand2(arg1, arg2)
arg1: API의 종류( 무조건 “PLATFORM”)
arg2: 함수명(“runMainMenu”)
1 2 | //다른 swf 가 불러와 있는 상태에서 메인 UI로 돌아간다 ext_fscommand2("PLATFORM", "runMainMenu"); |
그렇다면 이걸로 무엇을 할 수 있냐…
별도의 플래시 애플리케이션을 메인 UI에서 불러 사용할 수 있는 강력한 기능의 확장이라고 할 수 있습니다.
현재의 M35T의 메뉴는 setting 까지 포함해서 10가지 인데 이것이 무한대수로 증가할 수 있는 가능성이 열린 것이죠.
예컨대, 메모장 이라던가, 달력 이라던가(이건 메인 UI 위젯 형태로 개발되는것이 더 맞긴하겠지만), 플래시 갤러리 라던가, 간단한 그림판 같은 기능이 추가될 수 있다는 것입니다.
Blog under the Creative Commons Attribution-NoDerivs 3.0 License