블로그 이미지
dreaming

Am I dreaming? Yes, I am dreaming. and I am dreaming now.

Rss feed Tistory
Learning 2008/02/28 21:51

Flash 3D FPS를 위한 Paradox Engine!!!

Paul Spitzer가 진행하고 있는 Flash FPS 3D engine Paradox업데이트되었습니다. ActionScript 3기반으로 작성되었습니다. 이번 업데이트에서는 proximity object가 추가되었습니다. 이건 어떤 object가 특정 거리안에 들어오면 작동하게 되는 object입니다. activated, deactivated시 event를 뿌리게 되는거죠. 그 특성은 Map을 정의하는 xml을 통해서 이루어집니다. 여기서 예제를 만들어서 보여준 것은 mine입니다. Flash에서 접근을 하다가 mine위치에 가까워지면 BOOOOM!

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

아직 로고도 없는 걸로 봐서는 조금 불안하긴 합니다만 이번 예제를 보니 조만간 조력자들을 끌어모을 수 있지 싶습니다. 저야 머 어디에다가 저걸 (게임말고도) 써먹을지 고민해야 합니다만 말입니다. ^^;;;;

앗 예제! 여기를 클릭해주셔요 :)
키보드는 이동에 E,S,D,F를 그리고 시점 이동은 클릭하고 마우스이동 입니다. 아직 총은 못쏴요.


Working 2007/12/21 15:24

Flash개발자는 필독! Flash Player 9의 Security정책 변경

사용자 삽입 이미지
며칠전 Flash Player 9 Update 3 (9.0.115.0)이 배포되기 시작했습니다. Adobe페이지는 하루에도 수십번 드나드는 관계로 Mac에서는 언젠가 업데이트가 되었습니다. 그 이후 제 블로그의 상단 flash로 만든 navigation이 작동하지 않게 되었습니다. 이게 그냥 Mac이라서 그러려니 했습니다만... 그게 아니라 Security정책에 변화가 있군요.

특히 policy file에 대한 것이 많이 바뀌였습니다.

나름 변화의 폭이 커서 이번 Security정책 변화는 2단계로 이루어집니다.
  • 1단계 - Flash Player 9.0.115.0 (바로 지금 버젼입니다.) 일부 소규모의 즉각적인 제한조치. 변화되는 대부분의 내용은 warning으로 처리. Debug버젼의 Player에서 확인이 가능합니다.
  • 2단계 - 다음 release에서 반영됨. 1단계에서의 warning이 모두 error로 변경됨
해당 update를 반영하는 권장 단계는 다음과 같습니다.
  • 즉시 해야할 일 - 즉각적 제한에 대한 확인 그리고 수정
  • 시간이 허용될 때 - meta-policies관련 사항 check!, meta-policy반영
  • 역시 시간이 허용될 때 - socket policy file확인, socket policy file반영
그럼 살펴보죠.

즉각적인 변화
  • Malformed policy file
    • 9.0.47.0에서 반영된 것이지만 9.0.115.0부터는 새로운 logging mechanism을 통해 쉽게 문제확인이 가능함
    • 적절하지 않은 format의 policy file은 무조건 reject!
      • 예1) <cross-domain-policy> 앞에 text가 존제
      • 예2) </cross-domain-policy> 뒤에 text가 존제
      • 예3) XML top-level이 <cross-domain-policy>가 아닌 경우
      • 예4) 코멘트가 아닌 어떤 text정보가 tag안에 있을 경우
  • Within-domiain redirects
    • 지금까지 Flash Player가 policy파일을 요청할 때 http server가 다른 domain으로 redirect를 할 경우 policy file을 무시해왔음. 같은 domain일 경우는 허용되었음. 그리고 그 처음 요청한 location을 effective location으로 간주했었음.
    • 9.0.115.0에서는 여전히 redirceting을 허용하지만 마지막 location을 effective location으로 간주함.
  • Content-type whitelist
    • 9.0.115.0부터 Content-Type값이 없이 들어오는 HTTP policy file은 무시함
    • 허용하는 Content-Type은
      • text/*
      • application/xml
      • application/xhtml+xml
  • Strict Sockets
    • 9.0.115.0부터 Socket Policy을 위한 더 재한적인 rule을 정의
    • 이전은 같은 Domain의 높은 port로의 socket connection은 policy파일 없이 가능하였음
    • 이전은 http policy file의 정의에 따라 높은 port로의 socket connection이 가능하였음
    • 9.0.115.0부터는 어떤 socket connection도 socket policy file가 필요.

이 정도가 이번에 도입된 즉각적인 변화라고 하지만 좀 더 많은 부분에 policy file의 적용을 받도록 한 듯 합니다. 일 예로 제 Blog의 flash는 아주 old fashion한 방법. _root.getURL을 통해서 페이지를 이동하도록 했습니다만 domain이 다른 cfs.tistory.com에 존재하는 swf파일은 더 이상 policy file 정의 없이 다른 domain 그러니까 i-dreaming.com안에서 페이지를 이동하게 되는 getURL을 호출할 수 없게 되었습니다.

아주 쉬운 방법은 embeding하실 때 allowScriptAccess="always"를 추가하는 방법입니다. javascript를 통한 꽁수도 생각을 해봤습니다만 아 그리고 시도도 해봤습니다만 역시나 allowScriptAccess선언이 없을 경우 실행도 안되는 상황이니....

사용자 삽입 이미지

그리고 새롭게 도입된 META-POLICIES

한마디로 policy파일들을 위한 policy파일입니다. "Policy on Policies"
즉 policy file을 허용/비허용/특별한 파일들만 허용 등 policy file자체에 대한 제한입니다. Flash Player를 위한 content가 없는 경우에도 방어책으로 쓸 수 있다는 설명입니다.

자세한 내용은 Flash Player Developer Center에서 Deneb Meketa의 Security changes in Flash Player 9를 참고하십시요. 아 그리고 logging쪽은 확실하게 개선이 되었습니다. 이젠 왜 그런 움직임을 보이는지 상상하지 않고 확인이 가능하게 되었습니다. 나름 다행!





ps) 이전의 security whitepaper를 보면 안되야 정상인 듯 보이는 많은 부분이 이제 안되게 된 것으로 보입니다. 그렇지만 그런 구멍을 이용해서 많은 일들을 했던 것 또한 현실입니다. 확인 작업을 하신 후 변경하셔야 하지 싶습니다. 이젠 좀 Sandbox처럼 보입니다. 예전은... 이해하기 힘든 모습이였죠. 저희 팀원은 "Java같네 이젠"이란 반응을... ^^;

머리는 깨운해 지는데 한편으로는 조금 아쉽기도 하군요.



Learning 2007/10/02 04:31

Adobe MAX 2007 Keynote+Flash Player "Astro"+Flash Lite 3

오늘은 일도 많고 해서 그냥저냥 잘려고 했는데... 이것 저것 건이 크긴 하군요. 정리를 할 필요가 있다 싶어서...결국 밤잠을 설치고 있습니다. :) 이번엔 지금 보는 책에 대한 이야기를 하고 싶었는데... 또 조금 뒤로 미뤄지는군요. 그래도 내일 정도에는 포스팅하려고 하겠습니다만... :)

사용자 삽입 이미지

사용자 삽입 이미지
드디어 MAX가 열렸습니다. Chicago에서 현지시간으로9월 30일부터 4일간 열리게 되는 행사입니다. 아무래도 Keynote에 관심이 많이 가는 행사죠. 특히나 Astro에 대한 이야기도 나온다는 루머(?)아닌 루머가 돌아서 더더욱 가보고 싶은 행사였습니다. 아쉽게도 이번에는 한국에서는 행사를 가지지 않습니다. (그래서... 일본을 가기로 했습니다 :) ㅋㅋㅋㅋ)


아직 사진같은 것들이 활발하게 올라오진 않고 있습니다. 당연 거기는 행사시간 중이니까요. 지금 정리된 노트들을 참고해서 몇가지 정리해봤습니다. 일단 큰 건이 몇가지가 터졌습니다.

   
사용자 삽입 이미지사용자 삽입 이미지

  • 새로운 Adobe Developer Connection의 런칭, Demo by Kevin Lynch
  • 가장 많은 인원이 참석한 MAX (sold out입니다.) by Shantanu Narayen

사용자 삽입 이미지

  • Adobe's vision of the future "combines the power of the desktop with flexibility of the Internet."

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

  • "Content is King"인 현 새로운 application시대를 위한 rules
    • Make It Personal
    • Less Is (Still) More
    • Movement Has Meaing
    • Create an Experience Not a UI
  • 위의 rules에 해당하는 Demo
    • Cell Phones
    • the Premier Express
    • Adobe Media Player (glide UI라는 새로운 UI를 장착!) - Adobe Labs에서 같은 시간 공개되었습니다. 현재 download가능하며 AIR를 설치해야합니다. 기존 AIR설치자는 제거 후 다시 설치. (아직 beta니까요. ㅋㅋㅋ) 많이 늦어진다더니....

  • Kevin Lynch가 video의 현황에 대한 이야기
    • web상의 동영상 70%가 flash 기반
    • H.264와 HD content의 지원을 강화하여 이 lead를 지킬 것
    • Yahoo!에서 H.264를 어떻게 이용할 것인지에 대한 이야기
    • 1080p (한국에선 Full HD라고 하는게 이해가 빠르겠죠.) 지원 발표
    • Microsoft의 flash video로 무장한 Halo 3 site 대모. (센스젱이~ ;) )

  • Kevin Lynch가 Adobe Media Player를 다시 대모
    • 광고를 통한 수익 창출에 대한 예를 보여줌 - (의미있는 것인지는 확인해봐야겠죠. 저 모델은 쉽진 않습니다... 막상 하려고 할 땐 누가 무얼 하는 가에대한 논쟁으로 빠지기 딱 좋죠.)
    • 그렇지만 큰 발표! CSI비디오를 AMP로 보여주다가 같은 비디오를 핸드폰으로 보여줌. 다음달에 있을 Flash Lite 3에 대한 살짝 이야기
  • Kevin Lynch의 adobe tech에 기반한 site에 대한 demo
    • Flash + Flex + ColdFusion + PDF + CS3 tools
    • 구현기간 1주일
    • Scott Fegette + Ben Forta
  • Kevin Lynch가 ScrapBlog를 시연
    • Flex를 이용한 image scrapbooks을 만드는 툴
  • AIR에 대한 이야기로 넘어감
    • SalesForce.com을 위한 application에 대한 Demo
    • Ed Rowe가 AIR beta 2, Flex 3 beta 2를 announce

  • Kevin Lynch + Heidi Williams가 Flex 3에 대한 이야기
    • Profiler
    • Language Intelligence
    • Advanced Visualization
    • Flex framework caching
  • AIR Derby 결과 발표
  • Kevin의  Buzzword 시연
    • Buzzword - Flex기반의 word processing application
    • Virtual Ubiquity
    • Word document도 지원
    • 그래서 Adobe가 Virtual Ubiquity를 인수하였음을 announce

사용자 삽입 이미지

사용자 삽입 이미지

  • Kevin의 다음 Flash버젼인 Astro 공개 - Emmy Huang에 의해 진행
    • 다국어 지원 text components
      • bidirectional, multilingual line-breaking rules, word warpping 등등
    • 새로운 layout 기능
      • multi-columns 등등
    • 3D effects!!!!!!
    • custom filters, blends, fills
      • "Hydra"라는 새로운 effect language를 사용
      • Labs에서 공개
사용자 삽입 이미지

여기서 Flash Lite 3에 대해서 조금 더 살펴보면 큰 기능으로 다음과 같은 것들을 이야기하고 있습니다.

  • FLV support - On2 VP6 코덱과 Sorenson Spark을 다 지원합니다! 대박이죠. On2사는 한숨 돌렸군요.
  • Improved web browsability with support for most Flash 8 content
  • Faster performance
  • MMI extensions for UI design
  • Integrated authoring environment
  • Multiplatform support
구성도를 보면
사용자 삽입 이미지

계속 내용은 추가됩니다. :)
Learning 2007/09/19 14:53

Flash 3D - Away3D VS Papervision3D 점점 더 잼있어집니다.

Papervision3D가 동네를 다 평정하는 듯 보였습니다만... 드디어 다른 쪽도 달리기 시작하는 군요. Away3D쪽도 요즘 나오는 example들을 보니 기대가 큽니다. 자자 다들 보시고... :) 무얼 해볼지 고민들 해보셔요.

사용자 삽입 이미지

Papervision3D에 접속하시면 조금만 기다려 보셔요. Flash로 구현된 멋진 3D example을 보실 수 있습니다.

Papervision + Tweener + AS3 - Flipping Banner


여기에선 Google Code에 있던 Tweener와 Papervision3D as3버젼을 가지고 베너를 돌리는 것을 깔끔하게 구현한 예제를 보여주고 있습니다.

Away3D쪽은 3D예제중에 아주 잼있는 것들이 많군요. 주로 mapping쪽이긴 합니다만.... 방문하시면 보게될 예제입니다.

사용자 삽입 이미지

사용자 삽입 이미지

ㅎㅎㅎ 멋지죠?
어서 Papervision3D이던가 Away3D든가 Flash에 기본으로 들어갔으면 좋겠습니다. 물론 H/W 가속까지 된다면 더할 나위가 없겠습니다만 말입니다.

그렇지만 Papervision3D가 조금 더 어떻게 service를 할 수 있을까에 대한 고민을 하는 분들이 많군요. Away3D같은 경우는 아직 조금 학구파적인 느낌입니다. :)
Learning 2007/04/27 01:49

Adobe! Flex가 Open source로 갑니다.

사용자 삽입 이미지

오늘도 평소처럼 밤 12시 조금 전에 회사일을 마치고 집에 와서 MacBook과 마주 앉았습니다. 그래도 오늘은 오픈할 기능의 구현이 완전 마무리가 되고 들어온 터라 아주 아아아주 편한 마음에 평소 처럼 safari를 켜고 북마크를 봤습니다. 평소처럼 읽어야 할 post의 수가 1400개 정도 되더군요. 머 눈대중으로 볼 것만 뽑아서 다시 google doc으로 정리하면 끝이니... 자 자기전 또 1시간 달려볼까? 하는 마음에 열어봤습니다. 아 그런데 오늘은 일이 쉽게 끝나더군요. 거의 제가 보는 feed들은 머 한가지 주제로 도배가 되었습니다.

사용자 삽입 이미지

이런 발표도 아주 참 맛깔스럽게도... labs을 통해 했습니다.

사용자 삽입 이미지

간략하게 설명하면 미국현지 시간으로 26일 Adobe는 Flex를 Mozilla Public License에 준하여 오픈소스로 운영하겠다는 계획을 발표했습니다. 이전과 무엇이 틀리는가 하면

이전에 오픈한 부분
  • Flex SDK의 ActionScript components의 소스
이번에 오픈하겠다는 부분
  • ActionScript를 위한 Java source
  • MXML compiler
  • ActionScript debugger
  • Core ActionScript libraries

그야말로 level이 다른 발표인 것입니다.

이전의 Flex SDK를 이용하여서 Flex를 개발하려면 어떤 일이 있는지 아실겁니다. Daum내에서도 시도하신 분들이 몇몇 계시더군요. (아... 기운들 내셔요) 이제 정말 builder의 구현말고는 모든 것이 오픈되는 상황입니다. 이렇게 되면 adobe의 버젼업이 없더라도 정말 많은 종류의 도구들이 쏟아지게 되겠내요.

일정은 다음과 같습니다.

이전에 오픈한 부분
  • Flex framework
여름까지 오픈하겠다는 부분
  • infrastructure의 대부분 - Flex SDK를 오픈 소스 프로젝트로 돌리기 충분할 정도
년말까지 오픈완료

대단히 공격적인 방식의 운영입니다.
어찌되었든 이 한방은 아주 큰 한방입니다. 거기다가 MS의 역습이 시작되려는 상황에서 더 많은 개발자들의 발을 묶어두고 거기에다가 더 많은 개발자를 포섭하려는 것이 멀리서도 느껴집니다.

아직 큰 성과를 전 잘 못느끼는 Flex2, 아직 실체가 나오지도 않은 Apollo 그렇지만 이미 대부분의 이 바닥 개발자들에겐 귀에 딱지가 앉을 정도로 흔들어 놓는데 성공했습니다. 이제 성과를 내기 위해 안착을 하기 위해 또 한방을 나름 적절한 시점에 날렸내요. 또 다른 의미는 여러 시장 상황이 애매한 지금 도덕적 우위 확보에 나섰다는 느낌도 드는군요. MS가 하기엔 좀 거시기한 전략임은 틀림없으니까요. MS Silverlight의 다음 움직임은 정말 대단한게 아니면 글쌔요. Flash로 다 하는 것을 굳이 배워가며 마음대로 못하는 것을 하려할까요?

어찌되었든 일단 다들 크게 환영하고 크게 놀라는 분위기입니다.


그리고 Flex team의 비디오 포스팅을 연결합니다.


어찌되었든 저도 무척이나 기쁘고 또 이런 격동기에 한목판에 서있다는게 너무 신납니다. 적어도 한국에서는 동영상에 대해선 나름 큰 영향력을 행사하고 있습니다. 오오오 그런 Daum의 동영상개발팀의 다음 행보는?


Working 2007/01/18 01:47

Actionscript 3, Flash 9으로의 이전 시작!

요즘 동영상쪽 통합작업이 진행되고 있습니다. 이제 beta로 오픈하였던 다음 동영상과 tvPot과의 통합작업입니다. 다음 동영상의 틀에 tvPot의 장점을 흡수하려는 노력이지요. 아쉽게도 시간도 얼마없는 상황이여서 브랜드는 유지하기로 결정된 상태입니다. 넵 tv팟! 이렇게가 오피셜이군요. :)

사용자 삽입 이미지
그 와중에도 개발쪽에서는 flash 9에 대한 준비를 좀 더 빨리 해야하는 것이 아닌가란 생각이 들었습니다. 그래서 잠깐 고민을 한 후 이번 새로운 탑에는 Flash 9을 활용해보는 것이 어떨까? 라는 생각이 들었습니다. 머 예전부터 Actionscript 3로 넘어가야지 공부해야지 생각은 많았지만... 쉽게 시간 투자가 되지 않더군요. 게다가 Flex를 통한 개발은 머 좋아보이기는 하지만 한편으로는 timeline이 없는 flash, motion에서 재미없는 물건 그런 것이 나오지 않을까 걱정도 되고, 또 아무리 봐도 VB같이 보이는 그 녀석은 어플단의 개발이 아니면 크게 재미없어 보여서 시도하지 않았었습니다. 그렇지만 이번에 한번 질러보기로 한거죠. 그래서

사용자 삽입 이미지

  • Flash 9 ActionScript 3 preview alpha(!) version으로 작업한다.
  • AS3의 performace 확인
  • Flash 3D의 가능성 타진
  • 기존 AS2의 AS3 전환에 대한 방법 확인
위와 같은 조금 작은(!) 목표를 가지고 작업을 시도했습니다. 결과적으로는
  • alpha이긴 하지만 작업을 할 만 하다.
  • AS3의 performance향상은 분명 눈에 띈다.
  • 따라서 3D적인 것의 적용도 더욱 쉽다.
  • AS3는 글쎄 다들 좋아할까?
머 이런 결과를 얻었습니다. 일단 몇가지 문제점도 있었는데 당연 alpha버젼이라 투덜거릴 수는 없지만 help파일이 없다는 것은 큰 문제였습니다. 또 flex에는 이미 들어가있는 tween관련 class가 하나도 포함되어 있지 않다는 것도 많이 피곤하게 만들더군요. 사실 들어있다고 해서 쓰지는 않을 것입니다만... 좀 무겁자나요. light한 것을 급하게 만들기도 좀 버거웠습니다. open source쪽도 아직은 대부분 as2기반이고... 일단 적당한 녀석을 찾아서 결국 조금 손봐 쓰긴 했습니다. 많이 가볍고 또 귀찮지도 않은 것을 어케 찾았죠. 또 3D도 일전에 소개했던 papervision같은 경우는 정말 쓸만한 수준까지 온 것 같습니다. 이번에는 사용하지 않았지만 조만간 써볼 생각입니다. as3는 글쎄요. 개발 base가 아니였던 flasher들에겐 조금 문제가 되지 않을까? 그런 생각이 들었습니다.

일단 이번 탑이 이전의 탑 (전광판이라고 불렀습니다) 보다는 사내에서는 반응이 훨씬 좋습니다. 얼른 오픈하고 싶군요. 담주까지 조금 더 달려봐야 겠습니다.

Learning 2006/10/13 02:39

ActionScript관련 소식 3가지!-AS3첫책/새로운시도/슬픈소식

ActionScript관련 포스팅을 한지도 꽤 되었군요. 오늘 많이 저의 radar에 걸려서... 3가지 소식을 한 포스팅에 :)

첫번째 소식 : 드디어 손에 잡히는 ActionScript 3책이 나왔습니다.
저같은 분들이 많은 지는 모르겠습니다만, 대량의 프린팅을 해서 보긴 합니다만 여전히 손에 잡히는 책맛이 없으면 당췌 끝까지 보지를 못하는 사람들에게 드디어 이야기할 수 있게 되었습니다. "당신들도 AS3를 공부하실 수 있습니다"

ActionScript 3.0 Cookbook이 나왔습니다. 여전히 O'Reilly에서 동물원으로 나왔고 다행인 것은 저처럼 앞뒤없이 덤비는 사람에게는 더없이 좋을 Cookbook입니다. 휴우 바이블도 좋지만 저런 책이 전 더 좋습니다.
대락 내용은 다음과 같은 모양입니다.

Detect the user's Flash Player version or their operating system - 항상 꽁수를 동반했었는데... 이번엔 어떨지
Build custom classes - 문법이 좀 바뀌였나?
Format dates and currency types - 항상 걸리적거리죠.
Work with strings - 흐음
Build user interface components - 아마도 flex기반의 설명이 주일껍니다.
Work with audio and video - 오호 수박 겉햩기겠지만..
Make remote procedure calls using Flash Remoting and web services - pass!!!
Load, send, and search XML data - 흐음 search...

얼른 주문해야 겠습니다. 혹시나 사실분들을 위해 아마존은 여기! (간만에 밀려있던 dvd랑 한꺼번에 질러야겠내요)

두번째 소식 : Windows Vista의 glass look을 flash로 구현한 샘플!
Vista에서는 색다른 look이랄 것은 (적어도 저에겐!) 별로 없어보이던데... 거기서 뒤에 blur가 먹는 look을 구현하고 싶었던 분이 있었군요.  Pixelfumes을 운영하시는 분이신데... 자신의 블로그에 샘플을 공개하셨군요. 물론 소스까지입니다. beta니깐 좀 비효율적이더라도 참아주삼~이란 귀여운 멘트까지 붙여서 올리셨내요. :) 옙 귀엽습니다!

세번째 소식 : Google Codesearch에 ActionScript가 없습니다! (물론 ColdFusion도)
상당히 뒷북이겠지만...전 Google에 codesearch가 있는걸 오늘 알았습니다. ㅠ_ㅠ 이런 그렇지만 중요한건 ActionScript는 없다는 것입니다! (머 사실 python,ruby,java가 있으니 전 그걸로 족합니다만...) 정확하게는 Adobe에 관련된 소스코드는 search가 안됩니다. 흐음 이런
Working 2006/09/06 01:57

The Fuse Kit - AS2.0 ani & filter management tools

이런 것이 있었군요! 처음부터 알고 참고 했었으면 좋았겠다는 생각은 들지만 한참 저의 radar에 안잡힌 것은 머 어쩔수 없지요. 지금이라도 잡혔으니 다행이라고 생각하고 있습니다. (지난 주에 1.1z버젼을 릴리즈한게 rss를 통해 잡혔습니다. 휴우 다행)


The Fuse Kit은 위의 제목처럼 ActionScript 2.0을 위한 code를 통한 animation이나 filter management tools입니다. timeline을 이용한 motion이 조금만 복잡한 UI를 구성하려고 하면 전혀 맞지 않는 녀석이 되고 또 이상한 행동을 한다는 것은 이미 많이 알려진 사실입니다. 그래서 많은 사람들이 ActionScript를 이용한 tween같은 것들을 구현해 두었습니다. 공용으로 쓸만한 것들이라고 나오는 것들은 대부분 너무 거대하거나! 너무 작거나! 결국 저같은 경우는 나름 제가 만들어 쓰는 아주 간단한 library식으로 쓰고 있는 것이 있습니다. event처리도 결국 library까지는 아니지만 pattern이 생겨서 cut&paste로 처리하고 있습니다. 요즘 들어서 자꾸 그런 것들이 걸리적 거리는 것이 "인수/인계"라는 문제를 만나면서 그래도 좀 더 maintenance 편한 녀석으로 바꿀려면 어떤게 있을까라는 고민을 하게 됩니다. 그럴 때 아에 외부에서 버젼업이 되고 있는 좀 더 견고한 library를 사용하면 어떨까 하는 생각을 하게 됩니다.

이 녀석이 solution이 될지 아닐지는 모르겠습니다만... 최근에 찾은 sandy와 같이 한번 try해봄직한 녀석같습니다. 일단 구성도 마음이 듭니다.

견고한 tween engine인 zigo, timeline이 한없이 필요해지던 animation sequences system-Fuse. 그리고 filter와 tween을 담당하는 Fuse FMP.

일단 한번 써보고 또 포스팅하겠습니다.

아! 이 분, FlashFoward에 speaker로 나오시나 보내요. 심하게 가보고 싶습니다. 언제 기회가 오려나..
Working 2006/09/03 01:32

Flex의 적은 UI Design!

상당히 도발적인 제목의 글이지만... 상당히 공감이 가는 터라 언급하려 합니다. 원제목은 UI Design Becomes Flex Adoption Hurdle입니다. flex888에 올라온 글이고 현재 제가 겪고 있는 문제와 상당히 닿아있어 공감이 가더군요. 많은 분들도 그러하지 싶고... 그래서 Flash쪽 인력시장도 이상하게 구성되어 있다는 생각이 듭니다.

Flex2가 나왔을 때 상당히 사람들이 들떴던 것으로 기억합니다. 저 또한 그랬었고, 기존의 많은 개발자가 달려들어 web단의 새로운 바람이 될 것이라고 생각했습니다. 몇가지 이유가 있었습니다.
  • 일단 머니머니해도 Money.. 가격이 무자게 저렴하죠. Flex 1.5를 생각하면 정말 대단합니다.
  • Not server side solution. 이상한 모양새로 서버단 솔루션들과 경쟁하던 옛날은 뒤로 하고 이제 local tool로 자리를 새로 잡았습니다.
  • Eclipse based 기존 java개발자들이 혹 할만큼 편하게 느낄 작업환경입니다.
이러한 환경에서 런칭을 했습니다. Flash 9 professional이 아직도 안나오고 alpha이름을 달고 있는 것은 그냥 보기엔 Flex2에게 시간을 벌어주기위한 조치라고 밖에 생각안되는 것도 사실이구요. 그렇지만... 크게 반응을 못끌어내고 있습니다.

사실 실재 만들어 가면서 보여주는 샘플 예제들을 보면서 마음 속으로 "Holy Shit!"을 외치긴 했었지만... 마음 한구석에 어정쩡한 마음도 있었습니다. 대표적인게 "저걸로 개발자가 결과물을 만든다면 다 똑같은 모양이 아닐까? 그게 flash라는 솔루션을 사용하고 싶은 이유랑은 반대방향아냐?" 일단 포스팅에서 나열한 이유를 살펴보면 다음과 같습니다.  
  • 툴이 좋다고 해서 저절로 좋은 제품이 나오는 것이 아니다. - 툴이란 것은 능력을 제공하는 것이고 거기에 상상력과 창조력을 넣어야 좋은 제품이 나오는 것이다. 개발 loss를 줄인다고 해서 revolution이 일어나진 않는다.
  • Flash에 집중되어 있는 인지 - Flex의 output이 flash, 그렇다면 사람들의 관심사는 dynamic한 움직임, 아름다움, 에니메이션 이런 것들이다. 그렇지만 flex로 만든 어플들은 재미없고 지루하다. application이라면 당연 재미보단 기능에 중점이다. 그렇지만....
  • tool이나 platform이 바뀔 때의 기대감은 크다. 그렇지만....
  • 기존 개발자는 디자이너가 아니다!
  • 기존 디자이너는 개발자가 아니다!
  • Developer generation gap! - 웹개발자들은 어플개발에 대해서 다시 배워야 한다. 사용성도 다르다.
위의 문제는 지금 flash 8기반에서도 있었습니다.
Flash가 마구마구 커져서 지금의 위치에 왔지만 사실 갑작스럽게 너무 커버린게 아닌가란 생각을 계속 합니다. 그리고 태생이 vector animation tool이였던 것에서 부터 당연히 나오는 것이긴 하지만 정말 사람들은 flah로 만든 ui에서는 기능 이외의 다른 쾌감을 원합니다. 그걸 맞춰주어야 진정한, 그리고 멋진 flash ui로 인정을 받는 것이죠.

그렇다 보니 지금 거의 반 app이 되어버린 솔루션들을 보면 참으로 난감합니다. java를 잘 아는 개발자는 쉽게 ActionScript를 공부할 수 있습니다. 그들이 만든 솔루션은 기능은 잘 작동합니다. 그렇지만 재미없습니다. 또 사용성, 심미성? 머 머라 말하기 힘든 투박함을 보통 자랑합니다.

Motion에 능통했다. 아이디어가 날라다닌다. 그런 디자이너가 flash를 이쁘고 아름답고 헉!소리 나게 만들 수 있습니다. 그렇지만 쓸모가 없습니다. 기능에 대한 이해도가 떨어집니다. 역시나 사용성? 고려가 별로 없습니다. 머라 말하기 힘든 화려함을 보통 자랑합니다.

그러다 보니 좀 어렵습니다. 시장에는 Flash개발자를 뽑기가 아주 힘듭니다. 개발자들은 좀 공부하다가 아 남들이 안좋아하내? 이러는 분들이 대다수고, 디자이너분들은 아에 그런 이쁜 쪽만 하던가 아님 역시나 안하는 분들이 많구요.

방법은 하나죠. 정말 flash단에서 잘 하고 싶은 개발자는 디자인을 이해하는 것이고, 잘 하고 싶은 디자인은 개발을 이해하는 것입니다. (잘하기까지 바라기엔...참.. ㅠ_ㅠ) 그러기엔 참 너무나들 바쁜게 문제겠지만요. 어떻게 합니까? 이게 업이라고 생각하면 이왕이면 잘해야죠. web단도 마찬가지로 보입니다. server단의 미들웨어같은 프로그램에서 승부를 낼 생각이 아닌 개발자들은 어쩔 수 없이 front단에 대한 지식이 없는 개발자는 힘들지 싶습니다.

그러고 보니 궁금하내요. 앞으로는 디자인을 아는 개발자가 강할까? 개발을 아는 디자이너가 강할까? 개발을 아는 기획자가 강할까? 기획을 아는 개발자가 강할까? 역시 최강자는 개발자 + 디자이너 + 기획자 겠죠? 어디 살고 계시나요? ㅋㅋㅋ (이런 비슷한 이야기를 아마도 Daum 개발자 컨퍼런스에서 하지 싶습니다.)
Working 2006/06/29 02:32

어이없는 Flash 8의 BitmapData draw()의 BUG

요즘 여전히 Dreaming은 Flash로 여러가지 prototyping에 열중입니다. (곧 공개될 버젼도 몇개 있습니다. ㅋㅋㅋ - 아 물론 Mac에서도 돌아야죠.) 그중 예전부터 좀 먹어주던 8버젼 sample들이 있었죠. 기억을 하실련지 모르겠지만... Flash에서 object의 BitmapData를 이용하여 화면의 일부를 capture하는, 또 아주 비효율적이긴 하지만 pixel의 RGB값들을 서버에 전송하여 jpg로 저장하는... 그런 예제를 봤을 것입니다.

열심히 제 짝꿍이랑 관련 실험들을 했습니다. server쪽은 준비 되었삼? 짠 것들 배포했삼? 오케이, local에서 페이지 괜차너? okay. 서버에 올려서 test? 에잉 머야~ flash인데 local에서 되면 되야지... 그게 오산이였습니다.

제가 서버에서 capture를 이용한 proto하나를 돌려봤더니... 이런 "흰색"의 화면들만 줄줄이 찍히는 것입니다. -_-;;;; "OH MY GOD!!! CTO한테 보여주기로 한게 이번주 아냐~ 아아아악! 기획자에게도 큰소리쳤는데!!!"

머 얼굴은 울그락불그락... proto 하고 곧바로 오픈준비하겠다고 제주도로 도망쳤지만 이제 돌아가야할 시간은 다가오고... 그래서 머 어쩔수 있나요. Google님에게 물어봤습니다. 그런데 이런 어처구니가 없는

몇몇 해외블로그에서도 posting이 올라왔지만... 머 결정적으로 livedoc에서 이야기되는 거만 봐도 상황은 알 수 있습니다. http://livedocs.macromedia.com/flash/8/main/00001950.html

머 코멘트들을 보면 자기들 나름 머라고 하지만 문제는 다음과 같습니다.

Flash에서는 다양한 방법으로 외부자원을 가져올 수 있습니다. 주로 많이들 쓰는 것들은 이미지겠죠. 머 다른 것들도 있습니다. 이때 "장난삼아서 만들어 보는 어떤 것"이 아닌 다음에야 그런 이미지들은 다들~ 다른 서버에 올려서 사용하게 됩니다. 결국 domain이 같지 않을 수 있다는 것이죠. Flash의 security모델은 거기에 대한 해답으로 crossdomain셋팅을 하게 되면 피해갈 수 있습니다. Flickr이나 Daum Pie나 또 이번 작업했던 Daum 동영상 인코딩팜이나 다들 domain이 다른 서버를 사용하면서 그 방법을 통해 접근 권한을 얻습니다.

But.... 여러분이 권한을 가지고 있다고 하더라도, BitmapData의 draw를 이용할 수는 없습니다. 같은 domain에 있지 않으면 말입니다. -_-;;;;;;;;;;;;;;;;; 어이없음이죠. 명백한 Bug죠. 권한을 가져서 이미지를 뿌리기까지 했는데... 유독 저 녀석만 거기 반하다니... 머하자는 건지...

물론 Flash를 이용한 대규모서비스를 다들 생각하지 않아서, 게다가 저런 기능까지 고민하진 않아서 별반 issue가 안되었나 봅니다만.... 그리고 livedoc에 코멘트에 달린 해결방법이란 것들은... 천진발랄하여서.. 그런 방법이 적용가능할 정도 서비스라면 같은 domain에 두는 것도 문제가 아닐텐데...

하여간 오늘 아니 어제밤에 그 사건은 그렇게 이유를 찾았습니다. 그렇지만 또 집에서 생각해보니 피해갈 방법이 있긴 하군요.

Flash만큼 버그가 작은 녀석도 없다고 생각했었는데... 요즘들어서 그건 단지 ani이상으로 사용하지 않았을 때 뿐인거 같습니다. 하긴 doc처럼 안움직이는게 이 녀석 뿐일까요. 가끔 그 버그들을 피해가는 방법을 짝꿍이랑 구현하다보면 내부에 어떤 식의 소스인지 대충 감이 옵니다.

역시 다 사람이 만드는 것이군요. :) (편하게도 넘어간 부분일꺼란 느낌이 팍팍 옵니다.)

하여간 혹 BitmapData의 draw를 이용하여 dynamic한 capture를 원하시면, 간단한 것은 일단 같은 domain에 두고 하십시요. 아직 그 이상의 해결방법은 없습니다.

TOTAL 1,462,009 TODAY 273