Expression Blend 2.5

Expression 2008.02.29 20:55

놀랍게도, 차기 Expression Blend에 대한 소식을 거쓰리 아저씨가 직접 올렸네요.
First Look at Using Expression Blend with Silverlight 2

실버라이트 2만큼, Expression Blend 2.5도 많은 기능적 향상이 이뤄졌어요. 자세한 내용은 거쓰리 아저씨 블로그를 방문해 보시고 여기에서는 간략하게 둘러보기로 하죠.

드디어 지원되는 기본 컨트롤들! ㅠ.ㅜ
그러나 기본 컨트롤은 어디까지나 기본 컨트롤일 뿐이죠. 진짜 RIA를 지향한다면 아마도 기본 컨트롤을 그대로 사용하는 경우는 많지 않을 거라고 생각해요.

역시 기본으로 지원하는 달력 컨트롤. 그러나 Rich란 말을 붙이기엔 좀 부족해보이죠? ^^ 블렌드를 잘 활용하면 아마도 그리 어렵지 않게 이것보다 훨씬 더 멋진 컨트롤을 디자인할 수 있을 거에요.

한가지 눈여겨 볼 부분은 컨트롤과 디자인 영역 테두리를 연결하는 ∞이런 마크. 네, WPF와 비슷한 앵커, 마진 기능이 들어갈 것으로 기대되네요:D

와우! WPF처럼 그리드 패널도 있고 레이아웃도 굉장히 직관적인 방법으로 구성이 가능하겠네요.

 

자세한 설명은 역시 거쓰리 아저씨 블로그를 참고하면 되겠고 여튼, 중요한 건 블렌드에서 비주얼 스튜디오의 코드 비하인드에서 작성된 데이터에 대해 직접 바인딩을 수행할 수 있게 되었군요. 이건 상상 이상인데요?

또한 Style이라는 엘리먼트를 통해 컨트롤에 대한 템플릿 구성이 가능하게 되었네요. XAML의 진정한 강점은 바로 이런식으로 구조화된 디자인, 구조화된 개발이 가능하게 된다는 것인 것 같아요.

스타일과 템플릿의 활용을 보여주는 인상적인 케이스죠. 아까 실버라이트가 제공하는 기본 컨트롤을 '그대로' 사용하는 경우는 별로 없을 거라고 했죠? 바로 스타일과 템플릿을 잘 활용하면 위와 같이 단지 템플릿을 선택하는 것 만으로도 기존 컨트롤의 기능을 그대로 사용하면서도 룩&필을 변경할 수 있기 때문이죠. 이를 위해 WPF와 같이 애플리케이션과 사용자 컨트롤에 대한 Resources 탭이 부활한 것도 중요한 변화!

거쓰리 아저씨가 얘기했듯이, 이게 다가 아니에요. 또한 이 기능들은 WPF와 실버라이트 모두에서 작동하기 때문에 앞으로 개발자 뿐만 아니라 디자이너도 한번 디자인한 애플리케이션을 데스크탑과 웹 모두에서 '고통없이' 활용 할 수 있는 날이 가까워진거죠!

2008/02/24 - [프로그래밍/Silverlight] - WPF에 가까워지는 Silverlight에서 얘기한 것처럼 실버라이트와 WPF는 서로 가까워지고 있고 이 둘 모두를 디자인할 수 있는 블렌드와 디자이너의 역할은 더 없이 중요할 거에요.

한 가지 아쉬운 점이라면 여전히 SourceSafe나 TFS와의 연동에 대한 얘기는 없네요. 물론, 블렌드의 프로젝트 단위 관리 체계만 해도 디자이너에게 충분히 어색하기 때문에 이런 기능을 넣는다고 해서 크게 얻을 수 있는 장점은 없을 것 같긴 하지만요. 향후 디자이너와 개발자가 원격지에서의 협업도 가능해지려면 이런 기능도 필요하리라 생각되네요.

여튼, 실버라이트 2도 그렇지만 블렌드 2.5역시 변화의 폭이 상당하고 기대도 커요. 처음 툴에 적응하기까지 어느정도 힘든 시기가 있겠지만 이 시기를 극복한다면 강력한 RIA 개발 플랫폼을 얻을 수 있을거라 믿어요.

신고
Posted by gongdo

트랙백이 없는 네이버 카페ㅠ.ㅜ
http://cafe.naver.com/mssilverlight/1742 글에 대한 답변이에요.
참 'XX에게의 편지' 따위의 제목을 쓰고 싶진 않았는데 더 적당한 말이 떠오르지 않네요;


모든 것에 앞서 얘기드리고 싶은 건, 전 골수 개발자에요. 전혀 디자인 관련 공부를 해본적도 일을 해본적도 없을 뿐더러 디자인 감각조차 꽝이라는(그 점이 제일 가슴아프네요) 거죠. 따라서 제가 싸질러 놓은 모든 글들은 디자이너의 입장에서 전혀 공감되지 않을 수도 심지어 완전히 헛소리일 수도 있음을 감안해 주세요. 만약, 제가 그런 헛소리를 해대고 있다면 어떤 점이 잘못되었는지, 디자이너가 느끼는 진짜 문제는 뭔지에 대해 댓글로 남겨주시면 개발자와 디자이너가 소통하는 데 중요한 키가 될 수 있을 거에요. 주저 없이 의견을 날려 주세요.


이제 많은 사람들이 같은 고민을 하게 될 것 같네요.

먼저 실버라이트와 관련된 디자인에 나름 참고가 될만한 제 글들을 링크해 볼께요.

http://gongdosoft.com/228

http://cafe.naver.com/mssilverlight/1615

http://gongdosoft.com/category/Expression

제 글 외에도 UX에 관한 사항은 마이크로소프트의 UX 이반젤리스트인 리건님이 운영하는 http://uxfactory.net 가 도움이 될 것 같고요.

현재로서는 명쾌한 답 같은건 없다는게 제 결론이에요.

반대로, 개별 상황을 해결할 수 있는 최선의 방법이 있다 라고 얘기할 수도 있겠죠. 돌가님이 제기한 의문에 대한 나름의 답을 생각해봤어요.


1. 과연 디자이너에게 있어서 UX란 무엇인가!

UX는 굉장히 넓은 범위로 얘기될 수 있는 주제지만, 저는 '사람들이 쓰고 싶어하고 또 쉽게 쓸 수 있는 사용자 경험'이라고 요약하고 싶네요.

전통적인 디자인의 목표라면 '쓰고 싶게 하는 것', 바로 디자인의 감성적인 측면으로, 어도비의 많은 툴들은 바로 이런 점에 촛점을 맞춰서 디자인되었고 또 많은 디자이너들이 여기에 익숙해져있죠.

반면, '쉽게 쓸 수 있는 것'은 디자인의 기능적인 측면이라고 볼 수 있는데요, 초기 RIA에서 나타난 문제점 중에 하나는 화려하고 현란하고 멋지긴 한데... 도무지 쓰기가 어렵고 반응성도 좋지 않았다는 점들이죠. 이런 점들은 어떤 툴을 사용하든 사용자 경험에 대한 배려와 노력이 없으면 이룰 수 없을 거에요.

저는 이런 UX에 대한 고민의 답을 게임들의 인터페이스에서 어느 정도 찾을 수 있을 거라고 생각해요. 게임은 UI라곤 단지 사각형과 텍스트밖에 없던 오래전부터 보다 화려하고 현란하고 멋진 그래픽을 표현함과 동시에 사용자들이 보다 쉽게 조작하고 쉽게 사용할 수 있는 인터페이스를 구현하는 엄청난 노하우가 집약된 분야라고 생각해요. 과거에는 이런 게임들의 인터페이스를 웹이나 데스크탑 애플리케이션에서 구현한다는 것은 굉장히 어려운 일이었지만 아시다시피, 현재는 플래시와 같이 강력한 툴의 지원으로 상당 부분 따라갈 수 있게 되었죠.

현재 웹에서의 그래픽 표현(2D)은 거의 한계에 가까워졌다고 생각해요. 툴들이 보다 지능적이고 자동화 되는 발전 과정이 있을 뿐 남은 것은 디자이너 개개인의 창조성에 달려있다는 거죠. 반면, 사용자 경험에 대한 전반적인 논의와 고민은 아직 많은 쟁점을 가지고 있고 보다 더 고민하고 개척해야할 분야라고 생각해요. UX의 관점에서 전자는 기본이요, 후자의 중요성이 점점 더 커질 수 있다는 거죠.


2. 그렇다면 우리나라의 UX는?

이 부분에 대해서는 저도 심각하고 심지어 절망적이기까지 해요. 아시다시피 우리나라의 UX는 모든 것을 한꺼번에 차린 밥상 이라고 표현할 수 있는 다소 난잡한 포털식이잖아요? 이게 사용자가 원해서인지 아니면 초기 포털이 그런식으로 발전해 왔고 사용자들은 단지 적응을 한 것 뿐인지는 잘 모르겠어요. 만약 후자라면 그나마 가능성은 있어보이죠. 요컨대, 수년 전 인터넷 비즈니스는 '야후'때문에 할게 없다 라고 툴툴거려왔고 지금은 '구글'때문에 할게 없다 라고 하죠. 야후는 전통적인 포털 서비스와 같은 UX를 제공해왔고 구글은 단순함에 기반한 UX를 추구하고 있기 때문에 많은 것을 시사하고 있다고 봐요.

그렇지만, 다시 현실로 돌아오면 분명히 말해 현실의 서비스는 정확히는 서비스 제공자들은 구글과 같은 혁신적인 모험을 원치 않을거에요. 처음 계획에는 뭔가 새로운걸 시도하기 위해 이런저런 회의를 하겠지만 시간이 지날 수록 사람들은 당장의 현실에 한계를 짓는 경우가 많죠.

분명히 말해서, 아직까지 국내에서 혁신적인 UX를 말한다는 것은 무리일지 몰라요. 그러나 UX가 반드시 단순하고 깔끔한 디자인 또는 화려하고 멋진 UI만을 얘기하는 것은 아니잖아요? 네이버나 다음과 같이 난잡한 UI속에서도 사용자들이 좀 더 쉽고 편안하게 쓸 수 있는, 그런 것이 바로 UX겠죠.

그렇지만 저는 좀 더 혁신적인 UX를 가진 웹 서비스를 만들어보고 싶고, 제 바램을 구현할 수 있는 직장과 일을 선택하고 싶어요.


3. Microsoft Expression Studio가 어도비의 툴들과 경쟁력이 있는가?

물론 당장은 아니죠. 하지만 시간이 지나면 어떨지 아무도 예측할 수 없겠죠. 심지어 저는 폐쇄적으로 닫혀있는 어도비보다 열려있는 마이크로소프트의 그것이 훨씬 더 큰 발전 가능성을 가지고 있다고 생각해요.

단순히 툴만으로 비교하자면 십수년간 디자이너를 위한 그래픽 툴을 만들어온 어도비가 압도적으로 유용하고 유리하겠죠. 그러나 Expression Studio는 단순히 그래픽 툴로서의 가치만을 가지는게 아니라고 생각해요. Expression Studio는 마이크로소프트의 UX, 그 중에서도 Presentation 분야에 특화된 툴이고 마이크로소프트의 Presentation은 XAML이라는 잘 설계된 방향을 향하고 있죠. 아시다시피 XAML은 완전히 열려있는 플랫폼이기 때문에 설사 마이크로소프트의 Expression Studio가 좋은 툴을 제공할 수 없다고 해도 서드 파티에서 보다 완벽하고 보다 디자이너 친화적인 툴을 만들어낼 수 있을거에요.

예를 들어보죠.

포토샵은 현존하는 가장 유명하고 가장 많이 사용되는 그래픽 툴이고 PSD는 바이너리 포맷으로 닫혀 있는 포맷이죠. 그럼에도 불구하고 페인터와 같은 툴들은 포토샵이 긁어주지 못한 곳을 파고들어 하나의 영역을 구축하는데 성공했어요. 저는 이들이 어도비와 어떤 파트너쉽을 가지고 있는지 모르겠지만, 만약 제가 페인터와 같은 툴을 만든다고 하면 눈앞이 깜깜해 질거에요. PSD와 같은 거대한 바이너리를 맨땅에서 분석해내야 하기 때문이죠.

반면, Expression Studio(정확히는 Blend에 한정되지만 개념상)는 기본적으로 완전히 열려있는 XAML을 기반으로 하고 있고 누구나 마음만 먹으면 그 스펙을 열람하여 훨씬 더 좋은 툴을 개발할 수 있다는 점이 달라요. 벌써 WPF쪽으로는 3D 디자인을 위한 ZAM 3D라는 서드파티 툴이 Blend에 비해 훨씬 더 좋은 기능을 제공해주고 있죠.

어쩌면 이런 생각이 질문과는 거리가 멀지 모르겠어요. '툴'자체의 유용성은 시간이 지나면서 변하기 나름이라고 생각해요.

제 생각에 단기적으로는 혹은 조금 더 많은 시기 동안은 어도비 포토샵과 일러스트레이터의 아성은 견고할거에요. 그러나 웹 디자인, RIA에 있어서 중요한 표현은 단지 그래픽이 아니라 UX라는 점이죠. 단지 툴만으로 경쟁이 되는 것이 아니라 기획자와 디자이너, 그리고 궁극적으로 사용자가 원하는 UX를 보다 생산성 있게 운용할 수 있는 기술, 그것이야 말로 경쟁의 포인트가 된다고 생각해요.

적어도 수 년간(소심스럽긴...^^)은 어느 한쪽이 일방적인 승리를 거둘 수는 없을 거에요. 마이크로소프트의 UX전략은 어느정도 시장에 진입하기 시작했고 그리 쉽게 떨어져 나가지는 않을 거라고 예상해요. 이런 상황에서 물론 가장 좋은 것은 모든 툴을 잘 다룰 수 있는 능력이겠지만 현실적으로 그것이 어렵기 때문에 디자이너에게 다음과 같은 제안을 해볼께요.

먼저 포토샵(취향에 따라 일러스트레이터)은 디자이너로서 가지고 있는 창조성을 보여주기에 무리가 없을 정도로 숙련도를 높일 필요가 있을 거에요. 적어도 수 년간(^^)은 포토샵과 일러스트레이터의 아성은 깰 수 없을 테고, 실제로 현재로서는 가장 좋은 그래픽 퀄리티를 낼 수 있는 툴이니까요.

다음으로 시장의 요구에 따라 -회사의 요구에 따라^^- 실버라이트와 플래시or플렉스의 선택을 강요받게 되겠죠? 이 때는 자신이 선택에 달려 있을 거에요. 플래시/플렉스는 지금 당장은 더 많은 리소스와 커뮤니티 그리고 금쪽같은 노하우를 더 많이 얻을 수 있기 때문에 안전한 선택이 되지만 그만큼 더 많은 경쟁이 기다리고 있겠고, 실버라이트/WPF는 초기 기술에서의 갖은 문제점과 부족한 리소스와 정보 때문에 상당히 시달릴 거에요. 그렇지만 보다 적은 경쟁에서 닷넷 개발자들의 열렬한 환호와 도움을 받으며 새로운 시장을 개척해볼 수 있는 기회를 얻게 되죠. 참고로, 전 디자이너는 아니지만 후자에 걸겠어요^-^


4. 디자이너로서 긍정적인 방향으로 준비할 것은?

먼저 개발(협업) 프로세스의 어려움에 대해 얘기해 보죠. 디자이너와 개발자와의 협업 프로세스에서 가장 어려운 점은 심지어 개발자들조차도 UX를 지향하는 웹 애플리케이션을 어떻게 만들어야 하는지 모른다는 점이 아닐까 싶어요. 누구도 그런 완전한 경험을 해보지 않았기 때문이죠. 잘은 모르겠지만, 실버라이트와 가장 비슷한 개발 모델인 플렉스에서도 훨씬 먼저 나왔지만 지금까지도 그런 협업 프로세스에서의 문제점으로 골치아픈 걸로 알고 있어요. 하물며 프로젝트의 파일 교환이 훨씬 더 어려운 플래시는 더 할테고요.

이런 문제는 서로 많은 공부를 하고 좋은 구조와 방법론을 사용하는 것도 하나의 방법이겠지만, 그보다 더 중요한 것은 디자이너가 표현하고자 하는 바를 좀 더 구체적으로 설명하고 좀 더 세부적으로 나누어서 표현하는 것, 그리고 개발자는 개발 플랫폼에서 디자이너의 오브제들이 어떤식으로 운용되고 디자이너의 니즈를 어떻게 만들 수 있는지에 대해 잘 설명하는 것, 즉 진부하지만 디자이너와 개발자는 더 많은 대화와 소통을 필요로 한다는 거죠.

플래시는 전통적으로 '디자인'으로 간주되는 영역이기 때문에 거의 개발자가 해야할 임무인 스크립팅 까지도 디자이너가 하지 않으면 안되었죠. 디자이너는 그렇게 어려운 싸움(?)을 해왔고 노하우를 습득해왔는데 이제와서 개발자들이 옆에서 궁시렁거리면 당연히 기분 나쁘겠죠? '니들이 뭘 알어 엉?' 이러면서요. 그래서 오히려 더 서로 좋은 협업이 어려워지는 것 같아요.

반면 실버라이트는 태생이 개발자 중심적인 환경이었고 모든 것들이 디자이너에게 다소 생소한 개념으로 다가 올 수 있어요. 그래서 콧대가 높아진 개발자들은 우쭐해져서 디자이너를 가르치려 들거에요. 반대로 '니들이 뭘 알어 엉?'이러면서요^^

자 이런 상황이 되면 뭘 선택하든 결과는 마찬가지일 거에요. 제가 무슨 얘기를 하고 싶은지 아시겠죠? :D

다시 처음 했던 얘기를 반복해 볼께요. 모든 상황에 들어맞는 개발/협업 프로세스 따위는 존재하지 않아요. 모든 프로젝트는 현재 구성원이 처해있는 상황과 능력, 기술, 취향, 성격에 따라 완전히 달라질 수 밖에 없죠. 바로 이 점을 명확하게 이해하고 인정해야 할 거에요. 몇 가지 전형적인 상황에 따른 협업 프로세스 혹은 대처 방안은 http://cafe.naver.com/mssilverlight/1615 2.19 네이버 실버라이트 카페 세미나에서 정리한 적이 있어요.

현실은 늘 이상과는 멀게만 느껴지지만 그래도 이상을 지향하는 것이 훨씬 더 발전적이고 즐거운 일이 될거에요. 그런 의미에서 제가 생각하는 디자이너와 개발자와의 이상적인 협업 모델을 얘기해 볼 께요.

그래픽 디자이너는 전문적이고 아름다운 그래픽 오브제와 레이아웃 그리고 전체적인 주제를 결정하고 만들어 내는 역할을 할 거에요. 아마도 이 그래픽 디자이너는 익숙한 포토샵과 일러스트레이터를 사용하거나 혹은 조금 더 개방적이라면 Expression Design과 Blend를 함께 사용할 수도 있겠죠. 그래픽 디자이너는 과거와는 달리 모든 디자인을 '통짜'로 만들지 않고 각 오브제들의 상관 관계와 계층 관계를 고려하여 적절하게 그룹화 하고 사전에 협의된 중요한 오브제에 대해 적절한 이름도 붙여주는 것도 잊지 않았을 거에요.

인터랙티브 디자이너는 디자인과 적당한 코드 작성 능력을 갖추고 그래픽 디자이너가 만들어 놓은 오브제들에 생명을 넣는 일을 하게 되죠. 또한 인터랙티브 디자이너는 사용자의 반응에 대해서도 충분한 고민을 하고 보다 역동적이면서도 편리하게 쓸 수 있는 UI를 구성할 거에요. 또 로직 개발자들이 제공하는 데이터를 바인딩 하여 애플리케이션이 더 의미 있는 정보를 보여줄 수 있게 할 거에요.

로직/서버 개발자는 애플리케이션에서 사용될 데이터의 흐름과 가공을 모델링하고 보편적이고 단순화된 방법으로 인터랙티브 디자이너가 필요로 하는 데이터를 전달해주는 역할을 해요.

그리고 이 모든 과정에는 아마도 디자이너/개발자와의 협업에서 싸우는 것보다 훨씬 더 많이 싸우게 될 기획자(내지는 팀장님^^)가 있고 특히 디자이너들은 기획자의 기획의도를 어떻게 잘 표현할 수 있을지 그리고 개발자는 그러한 요구에 필요한 개발과 프로덕션에 필수적인 전반적인 개발 일정을 주도하게 될 거에요.

물론 이 모델에도 구체적인 파일 교환, 수정 사항에 대한 대응 등 많은 문제가 있겠지만 제 생각에는 이 정도로 이상적인 모델을 구축할 수 있다면 다른 기술적인 문제도 함께 해결 할 수 있을 거라고 봐요.


마지막으로, 디자이너와 개발자의 공통점을 찾자면 '창조'가 아닐까 싶어요. 다만 그 창작물에 이르기까지의 관점이 다를 뿐이죠. 더 창조적인 디자이너와 개발자가 되기 위해서는 자신이 만들고 싶은 것들을 어떻게 하면 더 좋게 더 멋지게 그러면서도 현실적인 시간의 범위 안에서 구현해 낼지에 대해 끊임 없이 고민하고 노력하고, 결정적으로 즐기는 것이 필요하다고 생각해요. 답답하고 꽉 막힌 현실에서 뜬 구름 잡는 얘기 같지만, 이런 노력들 하나하나도 바로 현실 속에서 일어난다고 생각하면 한번쯤 해볼 만한 가치가 있을 거에요.

돌가님이 제기한 의문에 자극 받아서 다다다다 타이핑을 했네요. 부디 이런 고민들이 더 많이 모이고 더 나은 현실을 만드는 데 도움이 되길 바래요.

신고
Posted by gongdo

Expression Blend에서의 이야기에요.

아마 블렌드를 처음으로 실행한 디자이너가 처음으로 부딪치는 문제는 이걸거에요.

뭐지 이건?

개발자들에게야 이 프로젝트 타입이 의미하는 바는 명백하고 WPF와 실버라이트 모두를 지원하는 블렌드로서는 필연적인 선택일거에요. 어쨌거나, 블렌드 툴에 대해 설명해야 할 때 시작부터 막히게 되는거죠. 그래도 이 정도야 단순히 'WPF용과 실버라이트용 프로젝트를 시작하는거에요~'라고 대충 설명해도 '아 그냥 이 중에 하나 선택하면 되는구나'하고 넘어갈 수 있죠.

그렇게 하나를 잡고 시작해보면...

도대체 내가 뭘 손대야 하는거야?

역시 비주얼 스튜디오를 사용해왔던 개발자들에게는 프로젝트 탭이 당연히 있어야 하는 거고 알아보는데 별 문제도 없겠죠. 그러나 포토샵/일러스트레이터/플래시를 사용했던 디자이너들에게 일단 '프로젝트 단위'의 관리 개념은 혼란을 줄 수 있을 거에요. 익스프레션 디자인은 포토샵/일러스트레이터와 아주 유사한 환경을 갖추고 있어서 파일 단위의 디자인이 되지만 블렌드는 그렇지 않죠. 물론 블렌드는 디자인과는 달리 애플리케이션 프로덕션까지도 가능한 툴이고 특히 XAML은 플래시의 fla나 swf와는 다르게 단독 실행파일이 아니기 때문에 이런 구성은 필연적이죠.

그렇지만 때로는 간단한 레이아웃이나 애니메이션을 테스트하고 싶을 때도 있는데 이럴 때에도 풀 프로젝트 파일을 올려서 작업을 한다는게 뭔가 어색함 내지는 무거운 느낌을 줄 수 있는 것 같아요.

[제안]
전혀 코드를 사용하지 않는 디자이너를 위해 이런 기능이 있으면 어떨까요?

  • XAML과 디자인 리소스를 제외한 다른 파일을 숨기기 옵션
  • 단순한 디자인 및 애니메이션을 위해 단일 XAML만 열어서 실행할 수 있는 기능
신고
Posted by gongdo
이거 또 몇 번 안하고 그만둘 시리즈일지도 모르겠지만^^; RIA의 중요한 동반자, 디자이너들이 Expression Studio를 사용하면서 느끼는 문제점, 어색함, 어려운 점에 대해 다뤄볼까 해요.

그간 작업을 해오면서 느낀 것은 Expression Studio(특히 Design과 Blend)이 개발자들에게야 적당히 쓸모있고 편리한 툴이지만 디자이너에게는 영 아니올씨다로 다가왔던 것 같아요.
이 시리즈는 디자이너들이 느끼는 문제점, 어색함, 어려운 점들을 정리해나가면서 Expression Studio가 어떤 것을 고쳐야 할지, 어떤 기능을 추가해야 할지에 대해 생각할 수 있는 계기가 되었으면 해요.

또, 제보를 받고 있어요. 이 시리즈의 어디에라도 평소 느끼던 바를 코멘트 해 주시면 정리해서 시리즈로 올릴께요. 굳이 시리즈로 하는 것은 절대로 포스팅을 늘리기 위한 수작이 아님을 밝혀두는 바입니다. :D
신고
Posted by gongdo

조금 늦었지만 블렌드의 새 프리뷰가 나왔어요. 바뀐 점들을 리뷰해 볼게요. WPF에만 해당하는 기능은 제가 테스트하기 애매한 부분이 있어서 뺐으니 원문은 What's new in Expression Blend 2를 참고하세요.

닷넷 프레임워크 3.5
이제 블렌드2는 정식 닷넷 프레임워크 3.5에서 동작합니다. VS2008 Beta2와 함께 설치되었던 닷넷 프레임워크 3.5 preview에서는 설치할 수 없네요.

비주얼 스튜디오 2008 지원
이제 블렌드2는 VS2008의 솔루션과 프로젝트를 정상적으로 열 수 있고 WPF 프로젝트는 기본적으로 VS2008의 솔루션을 만든다는 군요.

실버라이트 지원
실버라이트 1.0 프로젝트 템플릿이 바뀌었네요. 이전에는 웹 애플리케이션 프로젝트였지만 지금은 웹 사이트로 만들어지고 VS2008과의 상호 운용이 향상되었다네요. 또한 실버라이트 프로젝트에서 사용할 수 없는 기능들은 이제 완전히 보이지 않게 되었어요.

 
새 프로젝트 생성 창


예를 들어 TextBlock의 경우 실버라이트에서 사용할 수 없는 정렬 관련 속성이 모두 제거 되어 있어요. 마찬가지로 오른쪽위의 Resources탭이 없어진 걸 볼 수 있죠.

파일 변경 동기화, 컨트롤 작성
VS2008에서 수정된 사항이 블렌드 2에 즉시 반영된다는데 테스트해보면 이 전과 똑같이 '변경되었습니다 바꾸시겠습니까?'라는 메시지가 뜨네요. 컨트롤 작성도 이 전과 똑같은 것 같은데 이 부분은 뭐가 바뀐건지 모르겠어요.

Split View와 XAML View 및 에디터 향상
화면에서 개체를 선택하면 XAML View에 해당 개체에 대한 코드가 하이라이트되어서 빠른 편집이 가능해졌네요. 또 옵션에 XAML View의 폰트나 탭 간격등 에디트 환경도 변경할 수 있게 되었다는군요. 또한 이제 자바스크립트(js)파일을 더블클릭하면 기본으로 내장된 편집기에서 열리게 되어 있기 때문에 조금더 통합된 환경에서 작업이 가능해졌어요. 이 기능은 1.0프로젝트를 사용하는 인터랙티브 디자이너/개발자에게 유용할 것 같군요. 다만 cs파일 등은 여전히 비주얼 스튜디오로 연결되니까 1.1 프로젝트의 경우엔 역시 비주얼 스튜디오를 사용하는게 편할거에요.

 
선택된 오브젝트가 하이라이팅.

 
나름 편리해진(?) 코드 에디터. 하지만 인텔리센스 없는 코드 에디터는 별 의미가 없죠^^

 
하지만 역시 인텔리센스는 지원하지 않으므로 전문적인 코딩은 비주얼 스튜디오에서 하는게 백배 낫겠죠?

Storyboard Picker 향상
스토리보드 선택 UI가 전보다 편리하게 바뀌었네요. 스토리보드를 선택하면 오른쪽에 사용가능한 메뉴가 드롭 버튼으로 나타나고 마우스 오른쪽 클릭으로 팝업 메뉴로 볼 수도 있어요.

또한 스토리보드 타임라인에서의 스냅인 해상도resolution를 변경할 수 있게 되었어요.

 
기본 값은 1초당 10번 즉, 100ms인데요 이 전에는 스냅 옵션을 켜고 끄는 것만 있어서 예를 들어 50ms 단위로 맞추고 싶을 때 정말 난감했었죠. 역시 작지만 환영할 만한 기능이에요 :)

Storyboard와 Keyframe 속성
이제 Storyboard를 선택하면 역재생 여부와 반복 재생 값을 수정할 수 있게 되었어요.

 
RepeatBehavior는 회수가 아닌 문자열 값인데요, 예를 들어 5번 반복은 "5x" 무한 반복은 "Forever" 이죠.

 
KeyFrame 속성도 향상되었는데요, 선택된 KeyFrame의 타입이 표시되고 개별 프레임에 대한 이름을 줄 수 있어요. 그리고 KeySpline을 Reset 할 수 있는 기능이 추가되었네요.

Vertex Animation
뭔소린고 하면 간단하게 말해서 Path 등에 포함된 점Point 성분을 개별적으로 애니메이션할 수 있게 되었다는 거에요. 이것은 엄청난 기능 향상을 뜻하는데요, 예를 들어 플래시에서 '마법'처럼 소개되었던 Shape의 모양을 변형하는 것도 이제 가능하게 되었다는 거죠. 또한 Path로 표현되는 Clip을 애니메이션 할 수 있게 되었다는 얘기가 되고요. 아래 동영상을 참고하세요.

Clipping Path 편집 및 Animation
앞서 얘기했듯이 Clipping Path도 애니메이션이 가능하고 일반 편집 모드에서도 Direct Selection(A)툴을 사용하여 Path를 직접 수정할 수 있게 되었어요. 또한 Clip을 Reset할 경우 원본 Shape의 모양을 그대로 유지할 수 있도록 처리되는군요. 이번 프리뷰에서 가장 큰 기능 향상이 바로 이 점이 아닐까 생각해요.


Clip을 편집할 경우에는 위와 같이 보라색 테두리가 표시되네요.

Drag & Drop 향상
이제 탐색기 창에서 곧바로 리소스 파일(이미지, 미디어 등)을 드래그&드랍으로 추가할 수 있어요. 이렇게 드랍된 리소스는 자동으로 프로젝트에 추가되고요. 하지만 대부분의 경우 리소스는 프로젝트의 특정 폴더에서 관리할 테니까 이렇게 사용하는 건 컨셉 잡을 때 외에는 잘 쓰지 않을 것 같네요.

이 외에도 많은 기능들이 업데이트 되었는데요, 더 캡쳐하기 귀찮아서 중요한 기능은 둘러 본 것 같으니 간략하게 소개만할께요.

  • Font Embedding ; 솔직히 말이 길어서 안읽어봤어요 -_-; 아마 WPF에만 적용되는 내용인 것 같아서 잘 안봤어요. 누가 좀 리뷰해주세요 :)
  • 빌드 옵션 ; 예... 뭔가 이런저런 과정을 거치면 빌드를 커스터마이징 할 수 있다는 건데 쓸일은 없을 것 같아서 패스.
  • 프로젝트 복사 ; 옙, 말그대로.
  • 단일 솔루션 내에 여러개의 프로젝트 추가 ; 역시 말 그대로.
  • 3D 개체 지원 추가 ; WPF를 하지 않아서 패스.
  • 개체 다루기 향상 ; Control키를 누른 상태로 움직이면 개체가 복사되네요. 다만 애니메이션에서 KeyFrame은 아직 이런 기능이 적용되지 않았군요.
  • 키보드 단축키 변경 ; 단축키가 Design하고 동일하도록 수정되었는데 이건 정말 안좋은 선택 같아요. 디자인은 다른 MS의 어떤 툴과도 단축키가 비슷하지 않아서 애를 먹었거든요. 여튼 Design과 Blend를 오갈때에는 그나마 나은 향상이 될 것 같네요.
  • 닫기 버튼이며 검색 박스 등등...

한가지 더 보너스.
공식 사이트에서는 얘기가 없었지만 지난 버전에서 TextBlock의 Foreground가 애니메이션으로 동작할 때 제대로 변경되지 않고 XAML이 꼬이는 현상이 수정되었네요. :D

와 Blend는 정말 빠르게 기능이 추가되는 것 같아요. 그에 반해 Design은 좀 아쉽지만요. :(
혹시 제가 놓친 것들이 있으면 알려주세요. 써보니까 공지된 사항 외에도 수정된 것들이 약간씩 있는 것 같네요.

신고
Posted by gongdo

와 드디어 Expression Design이 업데이트 되었어요!
대대적인 기능 업데이트는 아니고 그간 있었던 문제점 수정(fix)과 XAML Export 메뉴의 향상이 있네요.

Expression Design Service Pack 1 다운로드

Export가 상당히 심플해졌네요.

사용자 삽입 이미지


사용자 삽입 이미지

주요 변경점은,
- Output Type을 WPF Canvas, WPF ResourceDictionary, Silverlight Canvas로 선택 가능
- Text를 Path 또는 TextBlock으로 Export 선택 가능
- Always name objects on conversion 옵션으로 모든 개체에 항상 이름이 들어가도록 선택 가능

그 외에 Effect나 이미지 Stroke같은 개체에 대한 옵션도 있지만 사용해보지 않아서 패스.

자세한건 여기에서 : Service Pack 1에서 Fix된 내역

신고
Posted by gongdo

사우스 파크 좋아하시는 분 계시나요?
익스프레션 디자인으로 하루 종일 이런걸 만들고 있었어요^^
이 정도는 블렌드만 가지고도 만들 수 있지만 디자인도 좀 써볼 겸 습작 겸 해서 디자인으로 했죠. 몇 일 안에 이걸 사용해서 간단한 퍼즐 게임을 하나 만들어볼까 해요.
각자 세가지 표정을 가지고 있으니 궁금하신 분은 첨부 파일을 한번 열어보세요 :)

노파심에 하는 얘기지만 물론 모든 저작권은 사우스파크의 저작권자에게 있고 저는 이 파일들을 어떤 상업적인 용도로도 사용하지 않을 것이며 이 파일을 받는 모든 분들도 그렇게 해야 합니다.
신고
Posted by gongdo
Expression 카테고리를 새로 만들었어요. 첫 포스팅부터 불평이 되어버렸지만요^^;

익스프레션 디자인은 Adobe의 일러스트레이터랑 비슷하게 벡터 기반의 툴이면서 결과물을 XAML로 출력하여 WPF나 실버라이트에서 그대로 사용할 수 있게 하죠.

하지만 디자인은 블렌드에 비해 용어나 개체의 계층 구조가 모호하고 실제로 XAML과 별로 관련이 없어 보여요. 특히 각 path들을 그룹으로 묶을 수 있게 되어 있고 이것을 XAML로 출력하면 Canvas로 잡히게 되는데요, 정작 디자인에서는 이 그룹 자체는 개체로 평가되지 않기 때문에 이 그룹 자체에 Opacity나 Transform효과를 주었을 때 포함된 모든 개체가 path 자체의 변형이 일어나 버리죠.

아래는 디자인을 사용하여 사우스파크의 캐릭터들을 그려본건데요, 제일 화딱지 났던건 Group이란 개념이 일러스트레이터나 포토샵 처럼 단지 개체들을 모아둔 것일 뿐이지 그 Group자체는 개체로 취급되지 않기 때문에 그룹 전체에 어떤 작업을 할 때 불편함하다는 거였어요. 예를 들어 그룹의 Opacity를 조절하면 그룹 자체가 조절되는게 아니라 그룹내의 모든 구성원의 Opacity가 바뀌어 버리죠. 또 쫀쫀하게 굴자면 개체의 visibility를 조절하는게 레이어 단위로만 되고 그룹이나 그룹 내의 구성원에서는 안된다는 점이 있어요. 뭐 이런식의 자잘한 사용자 편의성 문제는 곳곳에 편재해 있고요.



반면 블렌드에서 작업하는 것은 직접 XAML을 수정하는 것이기 때문에 이런 이질감이 없고 Layer나 Group역시 Canvas라는 컨테이너 개체로 인식되기 때문에 다른 개체들과 동일한 레벨의 조작을 할 수 있어서 이해하기 쉽죠. 기본적인 편의성도 꽤 좋고요.



한 가지 덧붙이자면 디자인이나 블렌드나 기본적인 개체를 다루는 툴들 -선택툴, 펜툴, 버킷툴, 그래디언트툴, 줌툴, 쉐입툴 등-은 좀 같은 위치에 배치하고 단축키도 통일 해줬으면 좋겠어요. 또 여기에서도 디자인과 블렌드에 대한 모호성에 대해서 얘기할 수도 있겠지만 그건 나중으로 미루고요.

어쨌든 블렌드가 디자인에 비해 CTP로서 훨씬 더 빠르게 진화하고 있기 때문에 절대적인 비교는 불가능하겠죠. 하지만 익스프레션 스튜디오와 비주얼 스튜디오 간의 원활한 협업이 이루어지려면 이런 개념적인 통일성이 시급하다고 생각해요.
신고
Posted by gongdo


티스토리 툴바