[AS3] Object 형의 독립

Programming/ActionScript 3.0 2007. 6. 15. 03:24
ActionScript 2.0에서는 아래의 경우 1번과 2번은 같은 형으로 정의하게 되는데 이는 형을 지정하지 않은 변수의 경우는 Object 형으로 치환되기 때문이었다.

1.    var obj:Object;
2.    var obj;

하지만 ActionScript 3.0에서는 형을 지정되어 있지 않은 변수라고 하는 개념이 도입되었다. 이는 다음의 1, 2번과 같이 2 개의 방법으로 지정할 수 있다.

1.    var obj:*;
2.    var obj;
3.    var obj:Object;

형이 지정되어 있지 않은 1번과 2번은 3번의 Object 형태의 변수와 같지는 않다. 주된 차이는 형이 지정되어 있지 않은 변수는 특별한 값 undefined 를 담을 수 있지만 Object 형태의 변수는 그 값을 보관 유지할 수 없다는 것이다. 오직 null값만이 존재할 수 있다. 이를 다시 말하면 ActionScript 3.0에서는 더 이상 형을 지정하지 않은 변수는 Object형이 아니라는 것이다. 이는ActionScript 2.0보다 형 변환에 따른 엄격한 규칙을 적용하고 있다고 할 수 있겠다.

    

설정

트랙백

댓글

[AS3] Understanding garbage collection in Flash Player 9

Programming/ActionScript 3.0 2007. 6. 13. 11:17

I've been playing around with ActionScript 3.0 for a while now, and I'm really excited by its capabilities. The raw execution speed by itself provides so many possibilities. Toss in E4X, sockets, byte arrays, the new display list model, RegEx methods, a formalized event and error model, and a few dozen other features for flavor, and you have a pretty heady brew.

With great power comes great responsibility, and this is very true for ActionScript 3.0. A side effect of all this new control is that the garbage collector is no longer able to make as many assumptions about what it should automatically tidy up for you. This means that Flash developers moving to ActionScript 3.0 will need to develop a very strong understanding of how the garbage collector operates, and how to work with it effectively. Building even seemingly simple games or applications without this knowledge could result in SWFs that leak like a sieve, hogging all of a system's resources (CPU/RAM) and causing the user's system to hang—potentially even forcing them to hard reboot their computer.

To understand how to optimize your code for ActionScript 3.0, you'll first need an understanding of how the garbage collector works in Flash Player 9. Flash has two processes for finding objects that are not in active use and removing them. This article looks at both techniques and describes how they are relevant to your code.

At the end of this article you can find a simulation of the garbage collector in Flash Player 9 that visually demonstrates the concepts explained herein.

About the garbage collector

The garbage collector is a behind-the-scenes process that is responsible for deallocating the memory used by objects that are no longer in use by the application. An inactive object is one that no longer has any references to it from other active objects. In order to understand this, it is very important to realize that when working with non-primitive types (anything other than Boolean, String, Number, uint, int), you are always passing around a reference to the object, not the object itself. When you delete a variable you remove the reference, not the object itself.

This is easily demonstrated in the code below:

// create a new object, and put a reference to it in a:
var a:Object = {foo:"bar"}
// copy the reference to the object into b:
var b:Object = a;
// delete the reference to the object in a:
delete(a);
// check to see that the object is still referenced by b:
trace(b.foo); // traces "bar", so the object still exists.

If I were to update the code in the example above and delete "b" as well, it would leave my object with no active references and free it for garbage collection. The ActionScript 3.0 garbage collector uses two methods for locating objects with no active references: reference counting and mark sweeping.

Reference counting

Reference counting is one of the simplest methods for keeping track of active objects, and has been used in Flash since ActionScript 1.0. When you create a reference to an object, its reference count is incremented. When you delete a reference, its reference count is decremented. If the reference count of an object reaches zero, it is marked for deletion by the garbage collector.

Here's an example:

var a:Object = {foo:"bar"}
// the object now has a reference count of 1 (a)
var b:Object = a;
// now it has a reference count of 2 (a & b)
delete(a);
// back to 1 (b)
delete(b);
// the reference count down is now 0
// the object can now be deallocated by the garbage collector

Reference counting is simple, it doesn't carry a huge CPU overhead, and it works well in most situations. Unfortunately, the reference counting method for garbage collection is not optimal when it comes to circular referencing. Circular referencing is the situation when objects cross-reference each other (directly, or indirectly via other objects). Even if the application is no longer actively using the objects, their reference counts remain above zero, so the garbage collector never removes them. The code below illustrates how this works:

var a:Object = {}
// create a second object, and reference the first object:
var b:Object = {foo:a};
// make the first object reference the second as well:
a.foo = b;
// delete both active application references:
delete(a);
delete(b);

In the code shown above, both of the active application references have been deleted. I no longer have any way of accessing the two objects from my application, but the reference counts of both objects are 1 because they reference each other. This situation can become much more complex (a references c, which references b, which references a, etc.) and can be difficult to deal with in code. Flash Player 6 and 7 had issues relating to circular referencing in XML objects: each XML node referenced both its children and its parent, so they were never deallocated. Fortunately, Flash Player 8 added a new garbage collection technique called mark and sweep.

Mark sweeping

The second strategy employed by the ActionScript 3.0 (and Flash Player 8) garbage collector to find inactive objects is a method called mark and sweep. Flash Player starts at the root object of your application (which is conveniently called the "root" in ActionScript 3.0) and walks through every reference in it, marking each object it finds.

Next, Flash Player iterates through each of the marked objects. It continues this behavior recursively until it has traversed the entire object tree of your application, marking everything it can reach through an active reference. At the end of this process, Flash Player can safely assume that any objects in memory that are not marked no longer have any active references to them and can be safely deallocated. Figure 1 illustrates how this works: The green references were followed by Flash Player during marking, the green objects are marked, and the white objects will be deallocated.

Objects that no longer have active references are identified by Flash Player using the mark and sweep method

Figure 1. Objects that no longer have active references are identified by Flash Player using the mark and sweep method

Mark and sweep is very accurate. However, because Flash Player has to traverse your entire object structure, the process is costly in terms of CPU usage. Flash Player 9 reduces this cost by carrying out iterative mark and sweep—the process occurs over a number of frames, instead of all at once—and by running this process only occasionally.

Deferred garbage collector and indeterminacy

In Flash Player 9, the garbage collector's operations are deferred. This is a very important thing to understand. Your objects will not be removed immediately when all active references are deleted. Rather, they will be removed at some indeterminate time in the future (from a developer standpoint). The garbage collector uses a set of heuristics that look at the RAM allocation and the size of the memory stack, among other things, to determine when to run. As a developer, you must accept the fact that you will have no way of knowing when, or even if, your inactive objects will get deallocated. You must also be aware that inactive objects will continue to execute indefinitely, until the garbage collector deallocates them, so your code will keep running (enterFrame events will continue), sounds will keep playing, loads will keep happening, other events will keep firing, and so on.

It's very important to remember that you have no control over when the garbage collector in Flash Player will deallocate your objects. As a developer, you will want to make the objects in your games and applications as inert as possible when you are finished with them. Strategies to manage this process will be the focus of my companion article, Resource management strategies in Flash Player 9.

Notice the sawtooth pattern of the total memory in the following garbage collection simulation (click Figure 2 or the link below it). The dips are caused when the collector carries out a sweep. Click on the chart to focus it, then press Spacebar to pause or restart, and hold the up/down arrows to change the memory usage trend as it runs.

Garbage collection simulation

Figure 2. Garbage collection simulation

As shown in the following simulation (click Figure 3 or the link below it), drag out objects (round rectangles) and references to those objects. Then run reference counts or mark and sweep to see which objects would be collected. The number in an object indicates the number of references to that object.

Garbage collection simulation: mark and sweep

Figure 3. Garbage collection simulation: mark and sweep

Where to go from here

Understanding garbage collection is going to be one of the most important steps for writing optimized code that ensures that your Flash project runs with minimal impact on the user's computer. Read my companion article, Resource management strategies in Flash Player 9, and visit the Flash Developer Center and Flash Player Developer Center.

Also check out my blog at gskinner.com to read more about weak references and download helper classes that I've written.

About the author

Grant Skinner is the CEO and chief architect of gskinner.com, a Flash development and consulting company. He works with leading new media agencies and progressive corporate clients to create cutting-edge applications, games, and multimedia pieces. His expertise in fusing coding with interface design, usability, marketing, and business logic has garnered him international acclaim and resulted in a number of prestigious industry awards, including Best Canadian Developer at FITC 2005. Grant maintains an active blog at gskinner.com/blog/ and an exhibit of his experimental work at incomplet.org.


국문 : http://www.adobe.com/kr/devnet/flashplayer/articles/garbage_collection.html
    

설정

트랙백

댓글

[AS3] ActionScript 3 Tip of the Day

Programming/ActionScript 3.0 2007. 6. 13. 10:03
ActionScript 3 Tip of the Day

The release of Flex Builder 2 is around the corner and though the next version of Flash is still a ways away, ActionScript 3 will be a big part of Flex 2 and the impending release of Flash Player 9 (which arrives with Flex). ActionScript 3 is the next step forward and to help with the transition (for those of you deciding to make it), I thought, since I've been working with AS3 a bit lately, I'd make a new Tip of the Day thread for ActionScript 3.0 to help people prepare. So here we go:

ActionScript 3 Tips and Tricks:
  1. 06-19-06: Change the frame rate of your movie
  2. 06-20-06: Class scope is now bound to class methods
  3. 06-21-06: Graphics Object and the Drawing API
  4. 06-22-06: New Variable Types
  5. 06-23-06: Display Objects
  6. 06-24-06: New Import Directive
  7. 06-25-06: Type Casting and the as Operator
  8. 06-26-06: Unique Class Variables
  9. 06-27-06: New MouseMove Behavior
  10. 06-28-06: The delete Keyword and Class Members
  11. 06-29-06: The Dictionary Class
  12. 06-30-06: Label Statements
  13. 07-01-06: Detecting When the Mouse Leaves the Movie
  14. 07-02-06: SimpleButton Instances
  15. 07-03-06: Commas in Shorthand Array Definitions
  16. 07-04-06: Package Block
  17. 07-05-06: Same-file Helper Classes
  18. 07-06-06: Access Attributes
  19. 07-07-06: Abstract Classes
  20. 07-08-06: The override Keyword
  21. 07-09-06: Using prototype
  22. 07-10-06: Regular Expression (RegExp) Support
  23. 07-11-06: Approach to Depth Sorting
  24. 07-12-06: Deep Object Copies with ByteArray
  25. 07-13-06: Similarly Named Instance and Static Properties
  26. 07-14-06: EventDispatcher
  27. 07-15-06: Events and Event Types
  28. 07-16-06: Writing Inline XML
  29. 07-17-06: Determine Instance Class or Superclass
  30. 07-18-06: super() Placement (Now Anywhere)
  31. 07-19-06: Determining Current Frame Label
  32. 07-20-06: Multiple Arguments in trace()
  33. 07-21-06: Calling Event Handlers without Events
  34. 07-22-06: URLRequest for URL Strings
  35. 07-23-06: XML vs. XMLDocument
  36. 07-24-06: Loading Text and XML with URLLoader
  37. 07-25-06: is Operator (vs instanceof)
  38. 07-26-06: Flash 9: Timelines as Classes
  39. 07-27-06: RegExp: Email Validation
  40. 07-28-06: Render Event
  41. 07-29-06: XML: @ Operator for Attributes
  42. 07-30-06: Event Propagation Support
  43. 07-31-06: Get Sound Spectrum Information
  44. 08-01-06: Number() Conversion No Longer Interprets Octals
  45. 08-02-06: Garbage Collection: Reference Counting & Mark and Sweep
  46. 08-03-06: Weak References
  47. 08-04-06: Flash 9: BitmapData and Bitmaps from the Library
  48. 08-05-06: Changes in typeof
  49. 08-06-06: getBounds() vs getRect()
  50. 08-07-06: for..in and for each..in
  51. 08-08-06: Default Values for Function Parameters
  52. 08-09-06: Undetermined Number of Arguments With ...(rest)
  53. 08-10-06: arguments
  54. 08-11-06: Support for Namespaces
  55. 08-12-06: Namespaces: Name Qualifier Operator (::)
  56. 08-13-06: dynamic is Not Inherited
  57. 08-14-06: Creating a mouseWithin Event
  58. 08-15-06: Prevent Overriding and Subclassing with final
  59. 08-16-06: MXMLC: SWF Metadata Tag
  60. 08-17-06: Proxy Class
  61. 08-18-06: in Operator
  62. 08-19-06: Proxy: getProperty and setProperty
  63. 08-20-06: Flash 9: Display Object Variables and Instance Names
  64. 08-21-06: XML: XML and XMLList
  65. 08-22-06: Constants
  66. 08-23-06: duplicateMovieClip Replacement
  67. 08-24-06: Proxy: callProperty
  68. 08-25-06: Creating graphics Copies
  69. 08-26-06: TextField.appendText()
  70. 08-27-06: include Directive
  71. 08-28-06: Duplicate Variable Definitions
  72. 08-29-06: mouseEnabled and Event Blocking
  73. 08-30-06: mouseChildren with Event Propagation
  74. 08-31-06: rollOver and rollOut vs. mouseOver and mouseOut
  75. 09-01-06: DisplayObjectContainer contains()
  76. 09-02-06: Cleaning Up Event Listeners
  77. 09-03-06: Detecting Addition to or Removal from Stage
  78. 09-04-06: Event Phases and Event Capturing
  79. 09-05-06: Determining Event Phase
  80. 09-06-06: Preventing Event Propagation
  81. 09-07-06: Global Events
  82. 09-08-06: Detecting a mouseUp Outside
  83. 09-09-06: Flash 9: Document Class
  84. 09-10-06: Access to stage and root
  85. 09-11-06: Namespaces: use namespace Directive
  86. 09-12-06: No More Color Class; Use ColorTransform
  87. 09-13-06: Runtime Errors; Error Class
  88. 09-14-06: Errors: try..catch..finally and Exception Handling
  89. 09-15-06: Errors: Asynchronous Exception Handling
  90. 09-16-06: XML: Children (.) and Decendants (..)
  91. 09-17-06: Array.indexOf (Array.lastIndexOf())
  92. 09-18-06: asfunction: Now event:
  93. 09-19-06: Proxy: Property Enumeration (nextName(), nextValue(), and nextNameIndex())
  94. 09-20-06: Event Capturing and mouseEnabled
  95. 09-21-06: Flash 9: Strict Mode
  96. 09-22-06: System.totalMemory
  97. 09-23-06: Closing Net Connections
  98. 09-24-06: Timer Class
  99. 09-25-06: AVM2 (AS3) to AVM1 (AS2/AS1) Communication via LocalConnection
  100. 09-26-06: ByteArray Class


100 AS3 tips! After tip 100, no longer will they be added daily

    

설정

트랙백

댓글

[AS3] ActionScript 3.0 첫 프로그래밍

Programming/ActionScript 3.0 2007. 6. 13. 02:36
늦은 감이 없지 않지만 처음으로 AS3를 가지고 코딩을 해봤다. 간단한 결과물이지만 여러 가지로 사소한 것부터 이벤트 처리에 이르기까지 적지 않게 AS2에서 AS3으로 migration한 것을 볼 수가 있는데 이 결과물을 만들고 보니 참 재미있다는 생각이 든다. 플래시의 actionscirpt의 변천사를 보면 참으로 잘 짜여진 시나리오라는 생각과 동시에 엄청난 잔머리의 위대함이라는 생각도 들기 때문이다.

간단한 코딩이지만 직접 접하고 보니 이제야 비로소 정리가 되는 듯 하다. 기존에 호환성 문제로 인해서 불필요하게 사용되었던 군더더기가 많이 빠지고 깔끔해 졌다는 느낌이다. 형식적이고 자율적인 구조로 인해서 혼돈이 왔던 부분들은 간결한 형태로 변화되었고 그 형태 또한 만족스럽다.

하지만 그 동안 편리하게 사용되었던 기능들도 그러한 진화를 바탕으로 다소 불편한 부분도 없지 않다. 그러나 그 불편함 또한 개발자에게 동기와 목적을 확실하게 이미지화 하기 때문에 납득할 만한 변화라는 생각이다.

앞으로 플래시를 사용하는 모든 분야의 발 빠른 변화가 상당히 재미있어질 것 같다…

[Flash] http://jasu.tistory.com/attachment/cfile30.uf@222F35385880210F23FEAD.swf





// Rec.as
package{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

public class Rec extends MovieClip{
public function Rec(){
trace(this.name +" is created");
this._mc.buttonMode = true;
this._mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this._mc.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
this._mc.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
this._mc.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
this._mc.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
}
private function mouseDownHandler(event:MouseEvent):void{
trace(this.name + " : mouseDownHandler");
this.startDrag();
}
private function mouseOutHandler(event:MouseEvent):void{
trace(this.name + " : mouseOutHandler");
var myTween:Tween = new Tween(this, "scaleX", Elastic.easeInOut, this.scaleX, 1, 1, true);
var myTween2:Tween = new Tween(this, "scaleY", Elastic.easeInOut, this.scaleY, 1, 1, true);
}
private function mouseOverHandler(event:MouseEvent):void{
trace(this.name + " : mouseOverHandler");
var topPosition:uint = this.parent.numChildren - 1;
this.parent.setChildIndex(this, topPosition);
var myTween:Tween = new Tween(this, "scaleX", Elastic.easeInOut, this.scaleX, 1.4, 0.7, true);
var myTween2:Tween = new Tween(this, "scaleY", Elastic.easeInOut, this.scaleY, 1.4, 0.7, true);
}
private function mouseUpHandler(event:MouseEvent):void{
trace(this.name + " : mouseUpHandler");
this.stopDrag();
}
private function mouseWheelHandler(event:MouseEvent):void{
trace(this.name + " : mouseWheelHandler");
}
}
}

// RecDocumentClass

package{
import flash.display.Sprite;
import flash.display.MovieClip;
public class RecDocumentClass extends MovieClip{
private var rootChild:Sprite;
public function RecDocumentClass(){
rootChild = new Sprite();
addChild(rootChild);
init();
}
private function init():void{
var Rec1:Rec = new Rec();
Rec1.x = Rec1.y = 100;
rootChild.addChild(Rec1);

var Rec2:Rec = new Rec();
Rec2.x = Rec2.y = 200;
rootChild.addChild(Rec2);

}
}
}





    

설정

트랙백

댓글

플래시를 느끼며...

Miscellaneous/Story 2007. 6. 12. 02:31

오랜만에 포스트를 쓰게 된다.
플래시라는 툴을 알게 된지 벌써 10년 가까이 되어가는 듯 하다. 그때는 액션스크립트라는 개념 보다는 웹디자인을 위한 저작도구로서의 가치가 급부상 하던 시절이었기 때문에 언어 형태의 작업을 할 일은 거의 없었다.

대학시절 내가 졸업을 하고 무엇을 하며 살 것인가를 고민할 때 플래시는 안중에도 없었다. 단지 개인 홈페이지를 만들 때 보기 좋게 하기 위한 방법에 불과했고 그런 작업 자체가 그냥 나의 작은 즐거움이었기에 관심만 갖고 있을 뿐이었다.

대학 졸업과 여러가지 우여곡절 끝에 난 지금의 회사에서 자리를 잡게 되었다. 집에서 개인 홈페홈페이지를 만들 때 사용했던 MX는 더 이상 실무에서는 사용되지 않고 있었다. 한번도 사용해 보지 않았던 Mx 2007 플래시를 열어보고 툴 사용법부터 하나하나 책을 뒤져가며 다시 공부해야 했고 그 과정속에서 짧지만 좌절도 겪었다.

혼자 서울로 상경하여 두번째 직장인 이곳에서 과연 내가 살아남을 수 있을 까 하는 의구심도 들었고 무엇보다도 내가 하는 작업 자체에 만족할 수 없는 경험의 연속이었기 때문에 더더욱 내가 작게만 느껴졌었다.

2년 3개월이라는 시간은 적으면 적은 시간이고 길다고 하면 긴 시간이다. 그 기간동안 내가 할 수 있는 최선의 노력을 다 했는가라는 질문을 스스로 던져보면 쉽게 ‘예’라고 대답할 수가 없다. 마땅히 집에서 할일 없어서, 또는 해야하는 일이였던 경우가 많았다. 물론 그 속에서 재미를 느꼈기 때문에 지금까지 플래시를 만지고 있지만 그것만으로 부족한 것이 사실이다.

얼마전에 플래시 모임에 처음으로 나가게 되었다. 회사내 팀 회식이 같은 날에 잡혔었는데 두 모임 모두 공교롭게도 1주가 밀리면서 같은 날자에 잡혔으나 약간의 슬럼프에 빠져있는 나에게 조금이나마 돌파구를 찾아보고자 플래시 모임에 참가를 했다.

온라인 상에서 안면이 있던 많은 분들을 만날 수 있었다. 나보다 나이 많은 형님들도 있었고 나보더 나이어린 동생들도 볼 수 있었는데 그 두 부류 모두 하나의 공통점은 배울점이 있다는 것이다.

나는 항상 배움이라는 것을 생각하면 눈에 보이고 머리로 익혀야 하는 배움 보다는 눈으로 보이지 않지만 느낌으로 배우는 배움이 더 중요하다고 생각한다. 눈에 보이는, 머리로 배우는 배움은 단편적인 영화라고 한다면 눈이 보이지 않으나 느낌으로 배울 수 있는 배움은 소설과도 같다.

후자는 시간과 장소를 떠나서 언제 어느 때나 배울 수 있다. 다만 그 배움이란 것은 남이 알려주는 것이 아니라 내 안에서 느끼는 것이기에 자신의 것으로 만들기 위해서는 긍정적인 생각속에서 살아갈 필요가 있을 듯 싶다.

나는 한참 플래시를 공부하는 후배들에게 하고싶은 말이 있다면 이것 하나만 기억했으면 좋겠다.플래시라는 툴은 공부하는 것이 아니라 느끼는 것이라고 말이다.

오랜만에 좋은 분들과 즐거운 이야기 속에서 작지만 큰 배움을 얻었던 하루였다. 그날 참석했던 모든 분들에게 고마움을 전한다.


    

설정

트랙백

댓글

Van Halen on violin

Miscellaneous/Violin 2007. 6. 3. 21:13


손가락에 쥐나겠다는....굿.... 그런데 꼭 김래원 닮았다는...쿠쿠
    

설정

트랙백

댓글

Scottish reels

Miscellaneous/Violin 2007. 5. 30. 21:45


흥겹습니다.
    

설정

트랙백

댓글

바이올린의 다양한 음색...

Miscellaneous/Violin 2007. 5. 30. 20:47


ALEX DEPUE DAZZLES OPEN MIC NIGHT
바이올린의 다양한 음색... 음색이 재미있다는 표현이 좋을 것 같다...
    

설정

트랙백

댓글

Alex Mitchell Looping

Miscellaneous/Violin 2007. 5. 29. 23:15


Alex Mitchell은 electric violinist로 유튜브에서 알게 되었는데 연주가 참 감미롭다...
그의 홈페이지 : http://www.alexmitchell.org/
    

설정

트랙백

댓글

캐논 변주곡...

Miscellaneous/Violin 2007. 5. 29. 13:53

캐논 변주곡 전자바이올린 버전

    

설정

트랙백

댓글

Awesome Electric Violin - Ed Busking Chester

Miscellaneous/Violin 2007. 5. 28. 22:24

영국 잉글랜드 체셔카운티의 카운티 타운


요즘 전자바이올린에 관심을 갖게 되었다. 음악이라고는 초등학교때 콩나물을 오선지에 올려놓던 기억밖에는 없는 내가 말이다. 저주받은 손가락의 길이 때문에 여러가지로 좌절을 갖어다 주었던 기억이지만 앞으로 배우게 될 바이올린에는 나에 대한 하나의 도전 과제로 생각해 보려한다...

앞으로 4년 정도 지나면 이름모를 나의 아내에게 좋은 선물을 할 수 있지 않을까...^^
    

설정

트랙백

댓글

생활에 변화를 꾀하고 싶다.

Miscellaneous/Story 2007. 5. 23. 16:47
    

설정

트랙백

댓글

OdedEzer의 타이포그라피 세계...

Design/Etc 2007. 5. 22. 11:54
2D적인 정적인 타이포를 벗어나 대비가 뚜렷한 컬러와 입체감을 통해 혼돈 속에서 독특한 그만의 세계를 보여준다. 그의 작품은 화려함 보다는 "이상한 독특함"이다.

http://www.odedezer.com
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지



    

설정

트랙백

댓글

Flickr Searcher 1.8 업로드

Project/Programming 2007. 5. 13. 13:49

사용자 삽입 이미지


사용자 삽입 이미지

사용자 삽입 이미지


Flickr의 Open API를 이용한 사진 검색 어플리케이션 'FlickrSearcher'
version 1.8

http://dicaland.cafe24.com/flickr/FlickrSearcher1_8.swf
====================================================================================================

FlickrSearcher1_8.exe

Version 1.8  Release date : 2007/05/13
Change log
1. photo 썸네일 클릭시에 나타나는 왼쪽 중앙에 있는 information 버튼의 가독성을 위하여 색 변경
2. Search history 기능 추가 : 특정 모드(tags, name, email, nsid)를 통해 검색한 history를 저장할 수 있도록 함.
(최근 검색한 검색어와 페이지 수를 통해서 되돌아 갈 수 있도록 함)
====================================================================================================


    

설정

트랙백

댓글

Flickr Searcher 1.7 업로드

Project/Programming 2007. 5. 10. 11:45
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

Flickr의 Open API를 이용한 사진 검색 어플리케이션 'FlickrSearcher'
version 1.7

====================================================================================================
Version 1.7  Release date : 2007/05/10
Change log
1. 1.6에서 'VIEW AUTHOR PHOTOS'로 검색을 할때 search mode 'name'으로 이동하면서 textField 길이가 불규칙하게 변했던 버그 수정.
2. 정보 TextField를 선택가능 하도록 변경.
3. Photo Information에서 이미지의 exif 정보를 볼 수 있도록 기능 추가.
====================================================================================================
    

설정

트랙백

댓글

Flickr의 Open API를 이용한 사진 검색 어플리케이션

Project/Programming 2007. 5. 9. 09:23



Flickr의 Open API를 이용한 사진 검색 어플리케이션 'FlickrSearcher'


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

====================================================================================================
Version 1.6  Release date : 2007/05/08
Change log
1.    search mode를 tag, name, email, nsid와 같이 4개 모드로 검색 가능하도록 기능 추가.
2.    tag로 검색할 경우에는 ‘,’ 구분자를 통해 복수 tag 검색 가능 추가. ex) quality, blue, yellow
3.    author & photo information 확인 가능.
4.    author의 정보에 있는 “VIEW AUTHOR PHOTOS” 버튼을 통해 author의 사진들을 볼 수 있는 기능 추가.
5.    photo information에서 이미지의 크기별로 view가 가능하며 해당 이미지를 download하는 기능 추가.
6.    license 적용(크리에이티브 커먼즈의 저작권 규약 표시)
7.    author의 icon 이미지 표시(이미지에 대한 모든 정보를 사전에 습득할 시, 속도 문제를 감안하여 해당 이미지를 클릭한 이후 적용됨).
8.    편의성을 고려하여 1.0버전에 있던 fullscreen 모드 삭제,
9.    기타 1.0버전에 없는 다수 기능 추가.
====================================================================================================
Version 1.0  Release date : 2007/05/03
Change log
최신 버전 업데이트시 자동 알림 기능 추가 ====================================================================================================

    

설정

트랙백

댓글

새벽이면 듣게 되는 인터넷 방송...

Miscellaneous/Story 2007. 5. 3. 02:50
평택 촌놈이 서울로 상경한지 벌써 만 2년을 넘기고 있는 듯하다. 사실 그 전에는 나의 앞날에 대한 구체적인 구조를 짜놓지 않은지라 어디서부터 어떻게 시작해야 할지 고민한적이 많은 것 같다.

컴퓨터 공학을 전공하고 내가 하고 싶은 일이 무엇인가를 생각해보면 딱히 내 전공을 살려서 서버관련, 프로그래밍관련 IT업에 종사를 하고 싶은 막연한 생각은 하고 있었지만 그것에 대한 구체적인 생각은 졸업을 할 때까지 결정된 것은 아무것도 없었던 것 같다.

초등학교(국민학교) 때는 막연히 대통령, 비행기 조종사, 과학자 등등으로 광대하지만 어설픈 꿈을 꾸고 있었고 중학교에 가서는 국문학을 전공하며 신춘문예 당선으로 베스트셀러 작가가 되고 싶은 생각도 했고 고등학교에 올라와서는 컴퓨터를 접하면서 프로그래머를 꿈꾸게 되었다.

문과에서 이과계열로 대학을 선택한다는 것은 어쩌면 큰 손해일 수도 있었지만 난 하고 싶은 일을 하지 않으면 삶에 의미를 찾을 수 없는 외골수 가치관을 가지고 있기에 컴퓨터를 전공하게 되었다.

대학을 다니면서 아는 것 없이 JAVA를 가지고 수정 불가능한 코딩을 시작하면서 재미를 붙였지만 학교 공부에 대해서는 별로 신뢰하지 않았던 것 같다. 지금에 와서는 그때 기초적인 부분부터 탄탄하게 공부를 해둘 것을… 하는 아쉬움도 남지만 그래도 그때 프로그래밍을 하면서 느꼈던 스파게티 코딩에서의 말도 안 되는 에러 수정 능력은 나에게 도움을 주기도 한다. ^^

어학연수라는 부풀은 꿈을 안고 대학 졸업식 바로 다음날 나는 캐나다로 떠났다. 가족의 반대와 형의 충고가 있었지만 기회가 찾아왔을 때 하지 않는 것 보다는 실패하더라도 해보는 것이 내 자신에게 보내는 자책감을 줄일 수 있는 방법이라는 판단에서 떠나게 되었던 것이다.

결과적으로는 나는 외국생활에 실패를 했다. 처음 품었던 야망은 생활한지 얼마지 않아서 사라져버렸고 우울증과 대인 기피증도 있었던 것 같다. 그나마 홈스테이 가족들과 학원에서 알게 된 친구들의 도움을 많이 받을 수 있어서 그나마 생활할 수 있었지 않았나 싶다.

재미있는 것은 한국에 있을 때는 한국을 떠나기가 어려웠었는데 막상 캐나다에서 생활하다 보니 그곳의 생활이 어떠하든 다시 한국으로 돌아가기가 힘들었다. 주위 사람들에게 죄송한 마음도 컸지만 무엇보다도 돌아가는 것은 곧 내 자신에게 실패자라는 낙인을 찍는 것이라 생각해서 였을 것이다.

나는 캐나다로 떠나기 전보다 다시 한국으로 돌아오겠다는 결심이 더욱 어려웠다. 그렇게 3개월동안 캐나다에서의 생활을 마감하고 나는 다시 한국으로 돌아왔다. 지금 와서 생각해 보면 그때 캐나다를 가지 않았으면 지금은 더 큰 후회를 하고 있었을 것 같다는 생각이 든다. 그래도 해보았고 캐나다 땅을 밟아 봤기 때문에 내가 느낄 수 있는 감정은 가보지 않은 것과는 다르다. 그때 배려를 해주고 도움을 주었던 분들을 나는 잊지 못할 것이다.

나는 돌아와서 얼마동안 근신을 하고 1년 정도 수원에 있는 회사에 첫 취직을 하여 근무를 하게 되었다. 취미와 알바로 하던 일이 웹이라 웹마스터 개념으로 뽑고 있는 식품회사에 입사를 하게 되었다. 초기에는 회사 홈페이지를 구상하고 외부 제작자와 커뮤니케이션을 하고 유지보수를 하면서 나름 업무성격에 맞는 일을 하고 있다고 생각은 했으나 얼마지 않아서 점점 내 본업과는 다르게 백화점에서 영업도 하게 되고 공장에서 일하기도 하면서 내 길을 제대로 찾지 못했던 것 같다.

만 1년이 되는 날에 나는 회사를 그만 두었다. 그 1년이라는 시간은 내가 앞으로 무엇을 하고 싶은가에 대한 자신의 질문을 정리할 수 있는 시간이었다고 생각한다.

지금은 어느 정도 내가 무엇을 할 것인가는 정리가 되어가고는 있지만 여전히 2% 부족한 부분은 채워지지 않는다. 이제는 ‘무엇’ 알았고 그것을 어떻게 할 것인가가 나의 과제로 남아 있다. 이 부분은 행동하며 생각할 부분이라 ‘무엇’을 알기 위해 고뇌했던 것보다는 재미있을 것으로 기대한다. ^^

집에 케이블 TV 방송이 나오지 않아서 새벽이면 주로 인터넷방송을 듣는다는 이야기를 하려고 했는데 이야기를 하다보니 이야기가 엉뚱한 방향으로 흘러 버렸다…나도 참…

내가 자주 듣는 인터넷 방송은 뮤클케이스라는 인터넷 방송이다. 가지고 있는 mp3음악을 듣는 것 보다 가끔 맨트도 나오고 유익한 정보도 얻을 수 있는 것 같아서 새벽에는 항상 틀어 놓고 공부든 작업이든 하고 있다.

http://ad.mukulcast.com/mukul_player/?skin=2&auto=y

위 링크를 들어가면 바로 방송을 들을 수 있으니 인터넷 방송을 접해보지 않았던 분이라면 들어보기 바란다…난 빨래 널고 이것저것 정리하고 자야겠다…모두 좋은 꿈 꾸시길….^^



    

설정

트랙백

댓글

크로스도메인 정책과 플래시의 bitmapData 문제

Programming/ActionScript 2.0 2007. 4. 30. 02:01
요즘 집에서 flickr api를 이용하여 이미지 갤러리를 만들고 있는데 한 가지 문제로 인하여 구현 하고자 하는 기능을 진행하지 못하는 상황이 발생했다.

문제는 로컬에서 load한 이미지(http://경로를 포함한 flickr의 이미지)를 bitmapData로 변환하면 제대로 작동하지만 이것은 개인 계정이나 flickr와 도메인 정책이 다른 웹에 올려놓고 이미지를 load한 후 그 load한 무비클립을 bitmapData로 변환 후 draw하게 되면 작동하지 않는다.

그 동안은 한 계정, 또는 플래시 라이브러리에 있는 이미지를 사용했기 때문에 이러한 문제를 확인하지 못하였으나 flickr를 이용하여 만들다 보니 서로 다른 도메인 계정에서 load한 이미지는 bitmapData로 만들 수 없다는 결론이다.

상식적으로는 도메인이 다르더라도 일단 무비클립에 이미지를 load한 상황이라면 화면에 보이는 무비클립을 비트맵데이터로 전환할 수 있을 것이라는 생각을 했었는데…

    

설정

트랙백

댓글

픽토그램이란...

Design/Etc 2007. 4. 18. 09:55
픽토그램이란 ‘그림(picto)’과 메시지라는 의미를 갖는 ‘전보(telegram)’의 합성어로, 공공시설을 알리거나 주의를 환기하는 데 쓰인다. 우리말로는 ‘공공안내 그림표지’라 한다. 글로 안내하는 것보다 훨씬 간단하고, 문맹자나 외국인도 이해하기 쉬워 미국 등 선진국에선 1920년대부터 사용해왔다.

이처럼 픽토그램은 그림으로 쉽게 시설의 용도를 알려주는 것을 말한다. 예컨대 안내소는 영어소문자 i, 화장실은 남녀 표시를 그림으로 그려놓고 있다.

사용자 삽입 이미지

복잡해지는 생활습관 어려워지는 픽토그램

현대의 생활에서 Pictogram은 정보를 전달하는 것 외에도 시각적인 면으로도 많이 사용되고있다. 백화점이나 대형마트, 영화관 등 사람들이 많이 찾는 곳에서는 어김없이 여러 형태의 Pictogram을 볼수가있는데 다양해진 픽토그램의 형태나 표현 방식 만으로도 사람들의 이목을 끌게한다.

이러한 픽토그램이 문제가 되는 것은 우리나라의 경우, 지하철 픽토그램 하나만 해도 지방자치단체나 지하철공사, 철도청마다 제각각이어서 이용객이 그림만 보고는 지하철 식별이 불가능한 상태이기 때문이다.
사용자 삽입 이미지
사용자 삽입 이미지

화장실이나 엘리베이터 또는 금연 등과 같이 우리가 쉽게 알수 있는 Pictogram은 그 형태나 컬러가 조금 바뀌어도 쉽게 알수있기 때문에 다양한 방법으로 사용된다 해도 문제가 되지않는다.

하지만 모든 Pictogram이 쉽게 이해가 되는것은 아니다. 특정한 목적이 있거나 전문적인 목적을 알리는 픽토그램은 한번에 봐서는 이해가 쉽지가 않고 특히 사용방법을 알리는 Pictogram은 더욱 그러하다. 현대인의 생활습관은 점점 복잡해지면서 단순한 기호로는 쉽게 표현할수 없는 상황이 많아지고 있기 때문이다. 예를 들어 에스컬레이터를 놓고 보면 하지 말아야되는 행동을 알리는 픽토그램이 에스컬레이터 가득 붙어 있다

픽토그램은 일반적으로 세계규정이나 또는 각나라의 규정에 의해 그 형태가 정해져 있지만 공공기관을 제외한  장소에서는 특정한 경고나 제한 등의 Pictogram외에는 장소나 용도에 따라 여러가지 형태로 변형되어 쓰이고 있다. 또한 어떤한 부분에서는 규정되어 있는 Pictogram이 없어 상황에 맞게 만들어 지기도 하며 단순한 기호로는 표현되기 어려워 일러스트나 문자와 같이 쓰는 경우도 있다.

보호자 동반이라는 픽토그램은 백화점이나 대형마트에서 흔히 볼수있는 픽토그램이다.  하지만 보호자 동반이란 문자가 없다면 쉽게 이해할수 없는 픽토그램이기도 하다.  이처럼 문자가 없으면 이해하기 힘든 픽토그램은 외국인이나 문자가 모르는 경우는 이해하기가 쉽지가 않다.

이러한 경우 2가지의 픽토그램을 사용하는 경우도 있다.  어린아이출입의 금지 표시와 어른과 아이가 함께있는 표시를 같이 보여줌으로서 그 이해를 돕는것이다.
사용자 삽입 이미지
사용자 삽입 이미지

변화하는 픽토그램

2000년 2월부터 일본사인디자인협회에서 픽토그램의 리디자인에 직접 디자인을 담당했던 나카가와(中川憲造:NDC Graphics대표)씨는, 인물에는 살아있는듯한 표정을 주고 현대적이며 세련되고 독창적으로 디자인했다고 한다. 예를 들면, 다리부분을 뾰족할 정도로 반듯하게하여 멀리서도 알아보기 쉽게 했으며, 화장실 픽토그램에서 여자의 표현은 지금까지의 어린이같은 실루엣에서 어른인 여자로 성장했다.

사용자 삽입 이미지

또한 숙박시설의 표현에 있어서는 병원의 표시와의 혼돈을 피하기 위하여 램프를 곁들여 편안하게 휴식할 수 있는 곳이라는 표현을 하였고, 휴지를 버리는 곳은 사람이 허리를 굽힘으로서 좀더 적극적인 자세를 표현했다고 한다.

이는 픽토그램도 시대에 따라 그 형태가 조금씩 바뀐다는 것과 픽토그램이 사람들에게 편안하게 전달되었을때 그것이 행동으로 옮겨진다는 것을 얘기한다.

사용자 삽입 이미지

픽토그램은 단순한 그림문자가 아니다. 픽토그램이 또 하나의 언어로서 남기위해서는 쉽게 이해되는 것은 물론 그 의미가 정확히 행동으로 옮겨질수 있도록 설득력이 있어야 할것이다.

온라인과 영상등 여러 매체를 통해서 픽토그램의 변화가 시도되고 있다. 하지만 3D나 애니메이션과 같이 단순한 형태로서의 변화 만이 아닌 보다 설득력있고 보다 정확한 정보를 줄수 있도록 만들어 져야할것이다. 픽토그램은 우리의 편리한 생활과 안전을 돕는 문화이기 때문이다.

 
출처:미니아날로그 blog
    

설정

트랙백

댓글

MS, 어도비 플래시에 도전장

Miscellaneous/Etc 2007. 4. 17. 16:52
이번에 MS에서 플래시와 비슷한 실버라이트 제품을 출시한다. 소비자로서는 다양한 제품으로 인하여 선택의 폭이 넓어지고 그에 따라서 질적인 향상을 가져온다면 좋을 일일 수도 있겠지만 개발자 입장에서는 달갑지 않은 일일 수도 있을 듯 싶다. 더욱이 그 대상이 MS라는 것,

새로운 기술을 바탕으로 기존의 툴로 불가능 했던 것을 만들어 낸다던가, 기존의 제품보다 향상된 퍼포먼스를 자랑한다면 좋은 현상이겠지만 그런 것이 아닌 비슷한 제품으로 서로 힘의 논리로 시장을 형성해 나간다면 좋은 일은 아닐 것이다.

가만히 보면 MS라는 회사는 미국의 국수주의와 많은 부분 닮아있다는 생각도 든다. 물론 자본주의 사회에서의 자유시장원리를 무시할 수는 없는 일이지만 그로 인해서 피해를 보고 더 발전적인 방향으로 가지 못한 부분들도 많은 것 같다.



    

설정

트랙백

댓글

손을 움직여 음악 재생

User Interface/Etc 2007. 4. 17. 04:20
사용자 삽입 이미지

MIT 미디어 랩실














MIT 미디어 랩의 마에다 교수의 제자인 James와 Ben이 개발한 AudioPad는 다양한 비트음을 체스를 두듯이 서로간의 관계를 형성하면서 음의 크기와 파장을 만들어 낸다.

이러한 UI는 제퍼슨 한의 GUI 동영상에서 보았듯이 앞으로의 유비쿼터스의 발전 방향을 제시해 주고 있으며 지금도 많은 미디어 분야에서 비슷한 형태의 제품들이 나오고 있다.

현재는 새로운 개념으로 신기한 놀이라는 생각이 지배적이지만 앞으로 이러한 UI 형태가 생활 속에서 편리함과 즐거움을 준다는 것이 입증된다면 우리의 삶은 지금과는 많은 부분이 바뀌어 있을 것이다.

마에다 교수의 아버지는 장인정신으로 두부를 만들던 분이셨다고 한다. 아버지로부터 ‘기본과 전통을 이해하지 못하고는 새로운 것은 없다’라는 가르침을 받았다고 한며, 디지털 아티스트로도 많은 활동을 하고 있는 듯 하다. 마에다 스튜디오에 가면 그만의 세계를 조금이나마 엿볼 수 있을 듯 싶다.

사용자 삽입 이미지



-----------------------------------------
MIT의 오디오패드 유비쿼터스 패러다임에 있어 단순히 멋져 보이고 아주 신기한 기술만이 유비쿼터스 기기들은 아니다. 이는 융통성 있게 사용자에게 편리함과 단순성을 제공해야 한다. 대부분의 사람들은 채널 또는 볼륨 조절을 하기 위해 리모컨을 찾거나, TV 또는 비디오 앞까지 가서 버튼을 눌러서 자신이 원하는 메뉴를 찾아 누르게 된다. 그리고 DJ들이 새로운 음악을 믹싱하기 위해서는 물리적인 디스크를 가지고 스크래칭을 하게 된다. 하지만 유비쿼터스 환경에서는 볼륨 조절하는 것조차도 예술로 승격시킬 수 있다.

유비쿼터스는 인간과 가장 밀접한 예술로부터 시작하게 된다. 이 세상에는 피카소, 고흐와 같은 매우 어려운 예술 작품이 존재하는 반면, 쉽게 접할 수 있는 벤츠와 같은 멋진 디자인들이 존재한다. 인간이 보기에 멋있고, 만져보고 싶고, 즐기고 싶은 것이 바로 유비쿼터스의 첫 발검음이 될 수 있다. 인간과 가장 밀접한 관계에서 시작하여 예술로 승화되는 제어 컨트롤이 오늘 소개하게 될 미래의 버튼이다. James와 Ben은 MIT에서 존 마에다 교수의 제자로서 컴퓨터 인터페이스 기술을 예술로 표현하는 방식으로 기술들을 구현하고 있다.

존 마에다는 미국 MIT 미디어 랩의 교수로 21세기에 르네상스 시대를 기술적으로 표현하고 구현하고 있는 사람 중 한 명이다. MIT 미디어 랩의 James와 Ben 두 사람이 개발한 AudioPad는 앞으로 등장할 음악관련 기기들의 유비쿼터스 환경을 예시하게 된다. 이는 안테나 매트릭스가 내장된 비디오 프로젝터와 라디오 송수신 기능을 갖는 '퍽'의 결합을 통해 전혀 새로운 인터페이스를 제공한다.

사용자가 마치 장기 또는 체스를 움직이듯이 이러한 버튼을 작동시키며 다양한 인터페이스를 체험할 수 있게 된다. 실제로 AudioPad가 작동하는 환경을 보게 되면 매우 경이롭다는 느낌이 든다. 이는 '마이너리티 리포트'에서 나온 장면 보다 예술적인 면을 느낄 수 있다. '공학에 대한 접근 없이 컴퓨터 아트가 가능한 것인가'라는 질문을 가질 수가 있을 텐데 이는 마에다 교수가 추구하고 있는 것이기도 하고, 그의 제자들이 끊임없이 이끌고 있는 한 부분이기도 하다. 이는 유비쿼터스가 단순히 기술만으로 이루어져 있다는 틀을 깨는 개념을 제시한 예술적인 기술이다. 아마도 이에 대한 구현 방식이나 기술은 유비쿼터스 관련 세미나를 참석하면 볼 수 있을 것이다.

출처 : U Dream 유비쿼터스 드림 본문중(원문 : MIT 미디어 연구소)

    

설정

트랙백

댓글

블로그의 올플래시 페이지 infinite 메뉴 추가

Project/Web 2007. 4. 15. 02:26
예전 방문자 카운터 기능을 추가하면서 생각한 것이 있었다. div로 iframe을 잡고 상위 레이어를 올리면 올플래시 형태의 페이지를 만들 수 있을 거라는 생각에서 시도해 보았다.

이 구조를 넣으면서 여러가지 문제점이 생겼는데 문제점들은 아래와 같다.


1. 자바스크립트에서 플래시로 값을 넘겨주기 위해서는 플래시에서 ExternalInterface 클래스를 사용하게 된다. 이 클래스를 이용하면 html에 삽입된 javascript와 플래시간 상호 지정한 function을 호출할 수 있으며 return값도 전달 할 수 있다.
하지만 배경 화면에 해당하는 플래시에서 티스토리 스킨에 제공하고 있는 skin.html안에 삽입된 자바스크립트를 호출하는 것은 가능하나 그 자바스크립트에서 플래시로 값을 넘겨주지 못하는 문제점이 있다. 아마도 크로스 도메인 문제인 듯 싶다.

하루정도 고민 하다가 결국은 우회하기로 결정했다. 일단 하단에 있는 메뉴플래시에서 infinite 버튼을 클릭할 시에 상위에 있는 레이어를 display = block을 적용하고 플래시의 LocalConnection을 이용하여 레이어 안에 있는 플래시와 통신을 하는 방법이다.
여기도 또다시 문제점이 발생했는데 하위 플래시에서 레이어를 살리는 동시에 상위 플래시와 통신을 할 경우에는 기존에 있던 플래시가 포함된 레이어가 작동을 정지하면서 제대로 호출해주지 않는 문제가 발생했다. Display를 대신해 visibility을 이용해 보았지만 마찮가지였다.

상위 레이어가 살아났을 때 플래시에 레이어가 나타났다는 메시지를 전달함으로써 infinite의 초기 시작 모션을 적용해야 하는데 그 문제가 해결되지 않아서 발생하는 문제점이다.

익스플로러와 파이어폭스 두 브라우저에서 테스트해본 결과 두 브라우저 간의 약간의 차이가 발생했다.

그래서 LocalConnection으로 플래시간 통신을 하되 약간은 딜레이 타임을 적용하기로 하고 레이어를 살리고 초기 시작 모션들 들어가기 전에 0.5초간 로딩바를 보여주는 형태로 LocalConnection의 문제점을 해결했다. 사실 해결이라기보다는 궁여지책이다.


2. 두번째 문제는 익스플로러와 파이어폭스의 호환 문제다. document.all는 IE에서만 먹는 코딩 방식이라는 것을 알게 되었다.
보 통 IE에서 div의 style이나 레이어에 접근하기 위한 접근자 방식을 document.all.ID.style.display이런 형태로 썼는데, 이러한 코딩방식은 파이어폭스나 타 브라우저에서는 먹히지 않는 방식이다. MSDOM에서만 사용하는 것이며 W3C에서도 권하지 않는 방법이라고 한다. 우리나라의 경우는 90% 가량이 IE를 사용하고 있는 상황이기 때문에 IE를 사용하고 있다면 별 문제가 되지 않겠지만 타 브라우저를 사용하는 사용자에게는 치명적인 문제를 발생시킨다. 공든 탑이 이러한 표준 문제에서 무너질 수 있다.

W3C에서 권장하는 표준형은 document.getElementById("ID").style.display 이러한 형태로 접근하는 것이다.


3. 세번째 문제는 티스토리에 로그인한 상태에서 블로그에 접근했을 때는 오른쪽 상단에 티스토리 툴바가 보이게 된다.  테스트 과정에서 레이어의 index값을 아무리 올려도 상위에 있는 레이어보다 티스토리 툴바가 상위에 떠있는 것이다. 그래서 블로그 소스를 뒤져보니 상위에 뜨는 툴바의 index값이 무려 1000000라는 사실… 그래서 상위에 뜨는 레이어의 index 값을 1000001로 잡아서 해결했다.


4. 네번째는 문제라기 보다는 레이어를 올리는 과정에서 생겨난 부가적인 노동이다. 블로그에서 음악이 흘러나오도록 play를 시켜놓은 상태에서 infinite 페이지로 들어갔을 때는 끄고, play되고 있던 사용자라면 다시 나올 때 play를 시켜주는 것이다. 그리고 음악을 듣지 않고 있던 사용자라면 그대로 음악이 흘러나오지 않는 기능을 추가해야 했다. 그리고 블로그의 배경에서 랜덤으로 생겨나는 나비의 움직임이 infinite 페이지를 접근했을 때에 불필요하게 CPU의 낭비를 가져오고 있어서 infinite메뉴로 들어갔을 때는 나비들이 생성하지 않도록 interval을 clear시켜주고 다시 블로그로 나갔을 때는 생성하도록 설정해 놓았다.


Infinite메뉴를 추가하면서 가장 큰 문제는 자바스크립트에서 플래시로 통신하기가 어렵다는 것이 가장 큰 문제였던 것 같다. 일단 지금은 LocalConnection을 이용하여 플래시 간에 주거니 받거니 하고 있으니 나중에 알게 되면 수정해야 겠다.

Infinite 메뉴는 아직 구체적은 내용 구성과 구현 방법에 대해서는 생각해 둔 것은 없다. 일단 블로그에서 새로운 시도를 해본 것이고 캠버스에 어떤 것들을 담아갈지는 앞으로 시간 날 때 고민해 봐야 하겠다.

사용자 삽입 이미지


    

설정

트랙백

댓글

예의 바른 소프트웨어의 특성

Programming/Etc 2007. 4. 10. 23:54
요즘 전철을 오가며 읽고 있는 앨런 쿠퍼의 “정신병원에서 뛰쳐나온 디자인”을 보고 있는데 지옥철 2호선을 오가는 지라 하루에 10장 읽기도 어렵다. 그 본문 중에 예의 바른 소프트웨어의 특성에 관한 이야기가 나온다.

우리가 당연하게 받아들이고 있는 여러 가지 소프트웨어의 문제점들에 대한 이야기들이 나오는데 소프트웨어를 만든 사람으로서는 실용적이지 않은 귀찮은 질문들을 수없이 던지는 기능적인 요소들이 사용자에게 선택의 기회를 주었다고 생각하지만 사용자로서는 그다지 환영하지 않으며 선택의 여지들을 제공받는 것은 충복이 아니라 고문에 가깝다는 이야기가 나온다. 이러한 것들은 앨런 쿠퍼가 이야기 하는 무례한 소프트웨어다.

사실 이런 경험들은 무수히 많이 있다. 하루에도 수십 번씩 파일을 삭제할 것이냐, 프린트를 정말 할 것이냐, 창을 닫을 것이냐, 프로그램을 종료할 것이냐와 같은 메시지 창을 확인하게 되는데, 이러한 훈련 과정에는 대부분의 사람들은 자신의 어떤 행동에 대한 메시지로 인식하고 꼼꼼하게 읽고 확인하지 않는 듯 하다.

이런 바람직하지 않은 사용자의 훈련으로 그러한 소프트웨어의 무례한 행동에 대해 별로 거부감을 느끼지 않으며 그것이 잘못된 행동이든 잘 된 행동이든 무의식적으로 결정권을 컴퓨터에게 넘겨버린다.

물론 이러한 안내문이 없이 파일을 삭제하거나 덮어버릴 수 있는 여지도 다분히 있지만 안내창의 일련의 행동에 학습된 사용자가 과연 그것을 보고 삭제를 포기하거나 덮어쓰기를 취소하는 경우가 얼마나 있을까 하는 의구심이 든다.

예의 바른 소프트웨어의 특성
1.    나에게 관심을 갖는다.
2.    나에게 공손하다.
3.    사근사근하다.
4.    상식이 있다.
5.    내가 필요로 하는 것을 예측한다.
6.    빠르게 반응한다.
7.    자신의 개인적 문제에 대해 떠벌리지 않는다.
8.    정보에 밝다.
9.    통찰력이 있다.
10.    자신감을 갖고 있다.
11.    집중력을 유지한다.
12.    유연하게 대처한다.
13.    즉각적인 만족을 제공한다.
14.    신뢰할 수 있다.

책 에서도 이야기 했지만 이러한 무례한 소프트웨어의 행동들은 더 많은 문제점을 미리 예방하는 차원에서 행해지는 경우가 대부분일 듯 싶다. 나 또한 어떠한 기능적인 요소들에 대해서 작업을 진행할 때는 이보다 더 무례하고 돌이킬 수 없는 잘못을 사용자 탓으로 돌리기 위한 술책(?!)을 강구하는 편이다.

앞으로 어떠한 방향으로 소프트웨어가 변화해 갈지는 시대의 흐름에서 이미 밝혀진 것 같다. 하지만 그것을 구현하고 설계하는 것이 사람인 만큼 사람과 사람의 이해가 선행되지 않고서는 예의 바른 소프트웨어의 모든 요소들을 충족할 수 있는 소프트웨어는 나타날 수 없을 듯 싶다.
사용자 삽입 이미지
블로그에 추가한 사용자 방문 카운터



    

설정

트랙백

댓글

구글의 최종 목표는 인공지능 검색

Programming/Etc 2007. 4. 10. 00:46
구글을 위해 온갖 허드렛일을 마다하지 않을 사람을 꼽으라면 크레이그 실버스타인을 들 수 있을 것이다. 실버스타인은 구글의 핵심 멤버이자 기술 책임자이며 검색 분야에서 항상 “나쁜 짓은 하지 말라”는 구호를 외치는 사람으로 알려져 있다.

올해 31세인 실버스타인은 1998년에 스탠포드 대학에서 박사 과정을 밟던 중 서지 브린, 래리 페이지 등 학교 동창들과 함께 근처 차고에서 지금은 전세계적으로 유명해진 검색 엔진을 만들어냈다.

결국 이들의 노력은 성공을 거뒀다. 지금 이 검색 회사는 2000년 이래 IPO를 시행한 IT 업체들 중에서도 가장 큰 인기를 끌고 있으며 조만간 27억달러에 달하는 자금을 끌어모을 수 있을 것으로 기대되고 있다.

IPO 시행에 따라 엄청난 부도 챙기게 되겠지만 이와 별도로 실버스타인은 오랫동안 정말 열심히, 그리고 즐기면서 일한 것으로도 유명하다. 구글의 기술 책임자인 그는 검색이라는 비전을 가지고 사용자들이 실제로 정보에 접속하는 것은 도와주는 제품을 개발하는 임무를 수행중이다.

여기에는 구글 웹사이트를 각 개인에 맞춤화하는 새로운 기술과 무선 기기 활용 방안, 가격 비교 기능, 그리고 무료로 이메일을 1GB 용량까지 보내고 저장하고 관리할 수 있는 서비스 - 이것은 G메일이라고도 알려져 있다 - 등이 있다.

구글의 IPO 신청이 있기 이전에 가진 인터뷰에서 실버스타인은 사생활 옹호론자들의 G메일 반대 움직임과 구글의 문화적 변화, 그리고 페이지랭크(PageRank)에 대한 의존도가 변화하고 있는 현상에 대한 문제 등에 대해 얘기를 나눴다. 페이지랭크는 구글이 유명세를 떨치는데 크게 기여한 수학적 알고리즘이다. 최근 구글은 스탠포드 대학의 페이지랭크 라이선스를 2011년까지 연장한 바 있다.

검색 분야의 역사에 있어 구글이 한 역할에 대해 당신은 어떤 견해를 갖고 있는가?

구글은 사람들이 요구하는 딱 그 시점에 등장했다. 컴퓨터의 출현 이후 사람들은 점점 더 많은 정보를 가질 수 있게 됐다. 따라서 그 많은 정보들을 유용한 것으로 가공하는 우수한 기술을 필요로 했다. 그리고 바로 그때, 구글이 그 접점에 있었던 것이다.

당신은 그간 검색 엔진의 이상적인 모습을 스타트랙에 등장하는 스타쉽 엔터프라이즈가 갖고 있는 지적 능력이라든지 똑똑한 검색 애완동물들이 가득한 세상에 비유하곤 했다. 이에 대해 좀더 말해줄 수 있나?

좋다. 스타쉽 엔터프라이즈나 똑똑한 검색 애완동물에 이은 내 세 번째 생각은 컴퓨터가 도서관의 사서처럼 도움을 주는 것이다. 이것 또한 상당히 재미있다. 도서관 사서들은 검색하기 위해 물론 컴퓨터와 구글도 함께 사용하고 있지만 잘 보면 이들은 검색 작업에 컴퓨터만으로는 불가능한 어떤 지적인 요소를 집어넣고 있다.

결국 우리의 목표는 매우 영리한 컴퓨터를 만들어 상호 대화를 할 때 컴퓨터들로 하여금 실질적으로 더 좋은 검색 결과를 얻을 수 있도록 정보를 잘 활용할 수 있게 하는 것이다. 바로 이것이야말로 구글이 검색의 질을 향상시키기 위해 항상 생각하고 있는 부분이다.

설명한 것과 같은 인공지능적인 검색이 언제 가능해질 것이라고 생각하는가?

인공 지능의 마지막 미개척 분야는 언어 이해라고 본다. 이것이 이뤄진다면 컴퓨터와 대화를 나누는 것이 마치 도서관 사서와 얘기하는 것과 똑같은 경험이 될 것이다. 컴퓨터와 사서는 모두 우리가 살고 있는 이 세계와 우리 자신에 대해 매우 잘 알고 있다는 공통점을 갖게 되기 때문이다.

그러나 둘 간에는 큰 차이점이 있다. 바로 이 부분이 검색 애완동물이 필요한 지점인데 도서관 사서들은 컴퓨터가 완전히 이해할 수 없는 인간의 감정이나 다른 여러 상상속의 세계에 관한 정보들도 이해할 수 있다는 점이다.

언제 가능하냐고 묻는다면 나는 보통 200~300년이 걸릴 것이라고 말한다. 아마 300년보다는 더 짧아지지 않을까? 그러나 만약 200년이 걸리다 해도 어차피 나는 그 당시 살아잇지 않을 것이니까 아무도 나에게 뭐라고 말하진 못할 것이다.

정말 멋진 생각이다

좀 더 말해보자. 30년 내에 방금 언급한 것들이 이뤄질 것이라고 상정해보자. 사실 이런 문제들은 지난 60년대에 인공지능을 연구하던 사람들도 모두 생각했던 부분이다. 그렇다면 지금 우리가 사는 이 시대에 모든 문제가 다 해결됐어야 하지 않는가? 그러나 우리는 인공지능의 궁극적인 목표인 인간의 언어를 이해하기엔 아직 까마득한 수준이다.

몇몇 컴퓨터 연구가들은 페이지랭크가 이제 죽었다고 말한다. 인터넷 광고주들이 자사 사이트의 인기도를 허위로 만들어냄으로써 페이지랭크를 악용하고 있기 때문이라는 것이다. 사실인가? 그렇지 않다면 페이지랭크를 어떻게 수정한 것인가, 아니면 이젠 페이지랭크가 그리 큰 역할을 하지 않는 것인가?

페이지랭크가 죽었다는 주장은 우선 세계를 너무 정적으로 보기 때문에 나온 것이다. 페이지랭크는 언제나 순위 매김 방법 중 하나로 유효할 것이다.

그러나 시간이 가면서 우리가 순위를 매기는 방법에 대해 점점 더 새로운 아이디어를 개발해내고 기존 아이디어를 수정하거나 이 모든 것들을 함께 사용할 수 있는 새로운 방법을 생각해낼 것이기 때문에 우리가 사용하는 이런 모든 기술의 역할도 바뀔 수밖에 없다.

현재 구글에서 페이지링크보다 더 큰 역할을 하고 있는 알고리즘 기술이 있다면?

물론 우리는 현재 다른 기술도 사용하고 있다. 그러나 자세히 언급하는 것은 좀 곤란하다. 개괄적으로 말해보자면 우리는 약 2~3가지 종류의 기술을 사용하고 있다. 하나는 인간의 지능을 이해해 그것을 활용하는 종류다. 우리는 사람들이 어떤 한 페이지를 보고 있다가 다른 페이지로 넘어가기로 결정하는 것이라든지 아니면 그 텍스트가 어떤 것이라고 주석을 다는 행위에서 힌트를 찾아내고 있다.

현재 구글은 몇 대의 서버를 운영하고 있는가? 어떤 사람들은 10만대라고도 하고 어떤 사람들은 만대라고 추산하기도 한다.

몇몇 업계 관계자들은 구글의 컴퓨터 구성이야말로 일급비밀에 속하는 것이라고 하면서 그것만 잘 이용한다면 검색은 단지 한개의 애플리케이션에 불과하다고 말하기도 한다. 그러니까 G메일 같은 것이 가능하다는 것이다. 당신네들의 컴퓨터 구성이 바로 구글의 힘이라는 사람들의 평이 정당하다고 보는가?

재밌는 말이다. 검색의 역사는 실제로도 원래 검색을 위해 개발됐다기보다는 애플리케이션에 추가적으로 포함됐던 검색엔진의 역사에 그 궤를 같이 한다. 알타비스타와 같은 경우에도 원래는 알파 서버의 개념 증명(POC) 용도로 DEC에서 개발한 것이다.

구글에는 상업적 웹 검색 엔진 전용으로 1만대 이상의 컴퓨터를 갖고 있다. 그러나 이것은 물론 검색을 더 잘하기 위해 인프라스트럭처를 개발해온 결과다.

우리는 용이하게 확장시킬 수 있는 그 무언가를 원했다. 웹이 너무나 빨리 성장할 것이라는 사실을 이미 알고 있었기 때문이다. 우리는 컴퓨터만 추가시키면 코드를 새로 작성하지 않고 그 즉시 용량을 늘릴 수 있도록 확장성이 뛰어난 알고리즘을 개발해야만 했다.

이런 생각으로 시작했기 때문에 처음 회사를 설립했을 때는 지금보다 수천배나 작았던 것을 오늘날의 크기까지 키울 수 있었던 것이다.

여기에 우리는 이런 기술들이 많은 정보를 찾는 것과 같은 일상적인 업무에 상당히 유용하다는 것도 알게 됐다. G메일이 아주 좋은 예다. 게다가 이와 같은 정보들은 웹 자체만큼이나 클 수도 있으며 아니면 다 합쳤을 때 웹보다 더 클지도 모른다. 우리는 이런 종류의 정보도 다룰 수 있는 기술적 노하우를 갖고 있다.

현재 어떤 다른 애플리케이션을 개발하고 있는가?

자세히 말할 수는 없다. 일반적인 방향은 이미 위에서 언급한 것과 같다. 그러니까 사람들에게 좀더 많은 정보를 제공한다는 것이다. G메일은 사적인 정보를 검색할 수 있도록 하는 것으로 우리 노력의 첫 번째 실제 결과다.

사생활 옹호론자들부터 시작해 지금은 입법자들에 이르기까지 G메일에 부정적인 반응을 보이는 것을 보며 뭘 느꼈는가?

구글이 사람들의 생활에서 매우 중요한 역할을 하고 있으며 자극을 받는 것도 매우 가치 있다는 점들을 배웠다. 지난번에도 구글이 한 일에 대해 사람들이 흥분했던 것을 기억하고 있다.

바로 우리가 데자닷컴(Deja.com)으로부터 유즈넷(Usenet) 아카이브를 인수했을 때다. 이를 두고 유즈넷 공동체에서는 모두들 이제 유즈넷의 미래는 어떻게 되느냐면서 정보에 접속하는 문제에 대해 큰 우려를 표시했었다.

그러나 시간이 지나면서 상황에 익숙해지자 이들은 제품을 사용해보면서 정말로 좋다는 것을 알게 됐다. 그 사건은 지나갔지만 나는 이번에도 같은 일들이 일어날 것으로 보고 있다. 어떤 회사든지 모든 사람들에게 중요한 이슈로 간주되는 것에는 진지하게 임해야 한다. 나는 구글이 그런 회사라고 생각한다.

서비스는 어떻게 바뀔 것이라고 생각하는가?

어떤 변화가 생길 것이라고 추측하기엔 지금은 너무 이르다.

장기적으로 볼 때 하나의 거대한 검색 공간이 있는 것과 서로 다른 작은 검색 공간들, 그러니까 이 웹사이트에서는 이런 데이터베이스를 그리고 저 회사에서는 이메일 아카이브를 제공하는 식으로 존재하는 것 중 어떤 방식이 더 좋을 것 같은가?

사용자 입장에서는 한 개의 검색 공간을 가지고 싶어 할 것이다. 기술적인 면에서 나는 어느 것이나 상관없다. 나에게 중요한 것은 사용자들이 원하는 정보를 쉽게 얻을 수 있어야 한다는 것이다.

즉 한 공간에서 검색할 수 있어야 한다는 것이며 또한 그 단일한 검색 공간이 아주 영리해서 전세계 수억만 가지의 다른 정보 소스 중 어떤 결과가 적절한지 알아낼 수 있어야 한다는 것이다.

검색 기록이나 등록 데이터, 이메일 문서 등을 한 곳에 놓았을 때 사생활 보호 조치가 필요하다는 것에 대해서는 어떻게 생각하나?

정보를 만들어내고 정보를 소유하고 있는 사람들에게 정보 공개 방식에 대한 결정권이 있다는 것을 잘 알고 있다. 우리는 사람들이 구글을 통해 어떤 식으로 자기네 정보를 내보낼지 제어할 수 있도록 모든 종류의 방법을 제공하고 있다. 이것이 우리의 정책이 될 것이다.

구글의 알고리즘은 확장성이 있는가? 그러니까 예를 들어 당신네의 데이터베이스에 들어있는 데이터가 2배로 늘어나면 검색 결과를 보내주기 위해 단순히 컴퓨터만을 2배로 늘리면 되는 것인가?

우리 알고리즘은 물론 확장된다. 그리고 웹 크기가 2배로 늘어나면 컴퓨팅 기기도 물론 2배로 커져야할 것이다.

기계가 다운되는 특정한 경우가 있는가? 인위적으로 막대한 용량의 데이터를 입력시켜도 크게 상관이 없는가?

내가 아는 한도에서 볼 때 대용량 데이터가 인위적으로 들어와도 잘 돌아간다. 문제가 있을 수도 있겠지만 아직 실제로 그런 일이 일어나진 않았다.

검색 기능이 진보하려면 운영체제에 내장돼야 하며 MS가 개개인에 더 잘 맞는 툴을 만들어낼 수 있다고 생각하는가? 만약 그렇게 된다면 구글은 MS가 수집한 정보에 접속하기를 원하는가?

몇 년 전에 있었던 MS와 넷스케이프 간의 논쟁을 생각해보라. 당시에도 운영체제에 어떤 것이 들어가야 하는지, 들어가서는 안되는지 열띤 논쟁이 있었다. 주로 운영체제가 어떤 것이냐 하는 개념 정의에 관한 논쟁이었다.

사실 나에게 이런 것들은 그다지 흥미를 끌지 못한다. 나의 관심사는 사람들이 필요한 정보를 가능하면 가장 쉽게 얻어야 한다는 것이다.

MS 제품이 2006년도 이전에는 출시되지 않는다는 것을 상기해보자. MS가 검색 분야에서 이른바 FUD 전략을 사용하고 있다고 보는가?

그런 일에 별로 신경쓰지 않는다. MS는 검색이 사람들에게 매우 중요하다고 결론을 내렸고 공개적으로 표명한 적도 있다. 여기엔 우리도 확실하게 동의한다.

동영상이나 오디오 검색 엔진을 만드는데 있어 복잡성은 어느 정도인가?

텍스트가 아닌 정보를 어떻게 설명해야 하는지, 그리고 그런 정보들을 어떻게 활용할 것인지 등이 이런 복잡성에 속한다. 어찌 되든 간에 사람이 그것을 설명해야 하기 때문이다. 물론 쉬운 문제는 아니다. 그러나 오디오나 동영상에도 가능은 하다고 생각한다. 특히 학계에서 이 분야에 매우 큰 관심을 갖고 있다.

그러나 단기적인 문제점들은 그다지 기술적인 부분이 아니다. 이런 컨텐트를 갖고 있는 사람들은 공개를 꺼리고 사람들이 그것을 검색할 수 있도록 내놓으려 하지 않는다.

우리는 사람들의 의견을 존중한다. 언젠가 이런 정보를 웹상에서 검색할 수 있는 좋은 비즈니스 모델이 등장하거나 아무런 불편이 없는 어떤 방법이 나타날 때까지는 이와 관련한 기능을 제공하지 않을 작정이다.

현재 개인 맞춤화 툴들이 등장하고 있다. 아마존의 A9.com과 MSN에서는 각각 다른 기술로 개인화를 구현하고 있다.

구글의 툴은 이를테면 “우리에게 정보를 주면 검색을 도와주겠다”라는 식이다. 반면 다른 회사들은 “당신들의 방법을 배우고 싶다. 그런 이후에 당신을 돕겠다”라는 식이다. 구글의 접근 방식이 어떤 면에서 더 우월한지 설명해 달라.

후자의 경우에는 먼저 배우고 나서 방문자를 돕는다는 주의다. 컴퓨터는 2개의 다른 장소에서 각각 지적인 판단을 내려야한다. 이 방법이 나쁘다거나 전망이 없다는 것은 아니다. 그러나 이 방식을 사용하면 컴퓨터에 더 큰 부담을 준다. 컴퓨터에 당신의 관심사가 무엇인지 말하면 컴퓨터는 그 정보를 가지고 당신이 원하는 것을 찾아주는 정도만 수고하면 된다.

이 두가지 방법은 모두 사람들에게 개별적인 정보를 주자는 같은 목표를 가지고 있다. 다른 것은 단지 어떤 식으로 도달하느냐하는 것뿐이다. 미래에는 이런 검색이 더욱 더 흔해질 것이다.

당신은 구글의 첫번째 직원으로서 구글의 문화가 당신이 처음 시작했을 때와 비교해 어떻게 변했는지 말해줄 수 있는가?

분명히 많이 변했다. 과거에는 회사의 모든 사람들과 알고 지냈지만 지금은 그렇지 못하다는 것이 유감스럽다. 그러나 문화는 달라졌어도 구글의 기저를 이루는 기본 원칙들, 그러니까 제품에 있어서나 하나의 회사로서 내부 운영이 어떤 식으로 이뤄지느냐 하는 면에서는 시작할 때와 그다지 달라진 게 없다. 바로 이 점이 아직도 내가 감동하고 있으며 특히 아직도 구글에 있는 이유 중 하나다.

우리는 아직도 작업 분위기가 즐거워야 한다고 믿는다. 내가 처음에 시작했을 때처럼 지금도 이것은 지켜지고 있다. 구글 사무실에는 하루에도 몇 차례씩 마사지 치료사가 오는데 예전에는 한사람이 왔던 반면 지금은 몇 사람이 한번에 들어와서 마사지를 받고 싶어 하는 직원들에게 마사지를 해준다.

제품 면에서 구글은 매우 기술 중심적인 회사임과 동시에 사용자 경험에 매우 초점을 맞추고 있다. 물론 한 회사를 운영한다는 것은 어려운 일이다. 인터넷 회사로서 5년 반이라는 세월은 결코 짧지 않은 시간이다. 이런 저런 힘든 일이 있었음에도 불구하고 이렇게 늘 일관성 있게 운영되고 있다는 것은 대단한 일이다. 그리고 이 모든 것에 대해 나 자신은 감사하게 생각하고 있다.

출처 :  Stefanie Olsen ( ZDNet Korea )  

2004년 5월에 나온 기사인데 재미있는 내용들이 보이네요...^^

    

설정

트랙백

댓글

어도비, 모바일 개발용 디바이스 센트럴 발표

Miscellaneous/Etc 2007. 4. 3. 22:02
사용자 삽입 이미지
이번 주에 CS3 릴리스와 관련된 기사거리가 너무 많은 이유로 어도비의 디바이스 센트럴(Device Central) 발표를 놓칠 뻔 했다. 디바이스 센트럴은 보다 자연스러운 모바일 개발 프로세스를 목표로 한 애플리케이션 및 소셜 커뮤니티이다.

그 동안 모바일 애플리케이션을 개발하는 것은 매우 어려운 일이었다. 휴대폰 종류와 화면 크기가 매우 다양하기 때문에 사용자 인터페이스를 구성하는 것도 만만치 않았고 컴퓨팅 성능이 각양각색인 장치들을 개발하는 것도 쉬운 일이 아니었다.

그 동안 장치용 애플리케이션을 만드는 방법으로 플래시 라이트(Flash Lite)가 많은 인기를 끌었다. 하지만 디바이스 센트럴의 목표는 디자이너와 개발자들이 CS3 툴을 사용하여 멋진 모바일용 콘텐츠를 훨씬 더 쉽게 만들 수 있게 하는 것이다.

어도비 디바이스 센트럴은 플래시(Flash), 드림위버(Dreamweaver), 포토샵(Photoshop), 일러스트레이터(Illustrator) 및 기타 제품들을 포함하여 어도비의 많은 주력 제품들과 연계하여 판매된다.

그 모든 제품들에는 특정한 작업에 초점을 맞추어 각각 다른 버전의 디바이스 센트럴이 제공된다. 예를 들어, 플래시와 함께 판매되는 디바이스 센트럴 버전은 사용자 인터페이스를 만들고 싶어 하는 플래시 디자이너들을 겨냥한 것이다.

드림위버와 함께 판매되는 버전은 멋진 모바일 웹 환경을 만드는데 초점을 맞추고 있다. 포토샵에 초점을 맞춘 디바이스 센트럴을 이용하면 프로토타입을 빠르고 쉽게 만들 수 있다.

이 모든 툴은 함께 사용할 수 있으므로 포토샵에서 하던 일을 빠르고 쉽게 처리하여 플래시에 넣을 수 있으므로, CS3 제품군에서, 그리고 디바이스 센트럴 자체 내에서 일관성 있는 환경을 사용할 수 있다.

따라서 이 제품을 사용하는 디자이너들과 설계자들은 다채로운 모바일 애플리케이션을 만드는 방식에 있어 유연성을 즐길 수 있다.



워크플로를 제외하고 디바이스 센트럴은 개별적인 장치에 관한 풍부한 정보도 제공한다. 여러 가지 면에서, 이것은 시중에 나와 있는 휴대폰, 그리고 각 휴대폰의 규격과 기능에 대해 모든 것을 알려주는 백과사전이다.

개발자들과 설계자들은 디바이스 센트럴의 데이터베이스를 사용하여 기능에 따라 목표로 삼을 휴대폰을 구상할 수 있다. 개발 대상이 될 특정한 화면 크기와 같은 요소를 선택하면, 그 요소가 적용되는 모든 휴대폰이 나타난다.

이것을 이용하면 개발자들이 장치들을 신속하게 결합하여 특정한 요소에 맞추어 콘텐츠를 극대화할 수 있다.

디바이스 센트럴은 콘텐츠를 테스트하는 면에서도 상당한 발전을 하였다. 그것은 백과사전 내의 모든 장치들에 대해 완벽한 에뮬레이션을 제공하며, 테스터들이 배터리 전력, 신호 강도, 시스템 시간 등과 같은 요소들을 수정할 수 있다.

모바일 인터페이스에는 이런 요소들이 점점 더 많이 포함될 것이다. 날이 저물면 배경이 점점 어두워진다든지, 배터리 전력이 줄어들면 실제로 인터페이스의 일부가 흐려진다던지 하는 기능도 적용할 수 있다.

따라서 모바일 환경이 훨씬 더 다채로워지며, 개발자들이 그것을 테스트할 수 있다는 것이 중요하다. 디바이스 센트럴을 사용하면, 장치를 완벽하게 제어할 수 있으며 인터페이스와 콘텐츠가 정확하게 기능을 수행하고 있는지 확인할 수 있다.



장치의 수가 증가하고, 모바일 콘텐츠가 브랜드나 개개인이 사용자들에게 도달하는데 중요한 수단이 되면서, 모바일 세계에 맞게 디자인하는 것은 매우 수지 맞는 일이 되었다. 디바이스 센트럴은 그렇게 하는데 도움이 되는 멋진 프로그램이며 CS3의 숨겨진 보석 중 하나이다.

크리에이티브 제품군에 속한 다른 제품들과 마찬가지로, 디바이스 센트럴은 사람들이 멋진 환경을 만드는데 정말 도움이 되지만, 이번에는 모바일 세계에 도움을 준다. 필자의 디바이스 센트럴 갤러리에서는 새로운 프로그램을 캡처한 몇 가지 화면을 볼 수 있다.


출처 :  Ryan Stewart ( ZDNet )

    

설정

트랙백

댓글

다큐멘터리 미술 그리고 스튜디오 유니트

Miscellaneous/Etc 2007. 4. 3. 22:02
KBS에서 3월 한달 동안 미술에 대한 댜큐멘터리가 방송되었다. 그중 마지막 5편 '블루칩 아시아'를 보게 되었는데 참 흥미로웠다.

13억 인구의 잠재력을 가진 중국의 미술시장에 대한 국가적인 지원과 그 무서운 성장을 보며 나는 또다시 중국의 힘을 느끼게 된다.

나는 예전에 피카소 전시회를 가본 기억이 있다. 전시회를 관람하기 전에 피카소에 대한 배경 지식과 작품에 대한 기본적인 이해가 없이 관람하였던 탓에 지금 머리 속에 남아 있는 작품은 몇 점 되지 않는 듯 하다.

우리나라도 젊은 작가, 무명 작가들의 작품을 감상할 수 있는 공간과, 그러한 문화가 하루빨리 만들어 졌으면 좋겠다

젊은 작가들의 작품을 전시하는 곳 - 스튜디오 유니트
http://studiounit.cyworld.com

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



    

설정

트랙백

댓글

컬러코디네이터

Design/Etc 2007. 3. 30. 14:25
“색의 예술, 세상을 아름답게 만들 특권 있죠”
컬러 코디네이터 박귀동씨

다음트렌드컬러소재연구소 박귀동(49) 소장은 하루의 대부분을 색과 같이 보낸다. 출근할 때, 책을 볼 때, 사람을 만날 때, 출장을 갈 때 그는 온통 색에 집중한다. 저런 색은 어떻게 만들어졌을까, 안료에 뭐가 들어갔을까, 색깔 뒤에 숨은 소재는 무엇일까라며 매일같이 어린애같은 호기심을 키운다.

그럴 수밖에 없는 것이 그는 색으로 먹고 산다. 국민 1인당 1대씩은 가지고 있는 휴대폰의 색깔을 만들어내고, MP3, DMB폰 등의 색깔도 그의 손을 통해 태어난다. 자동차 신차에 유행할 색상을 결정하고 만들어내는 일도 15년간 해왔다. 그는 색채에 대한 전문 지식을 가지고 물건과 환경의 여러 가지 용도와 목적에 맞는 색채 설계를 하는 ‘컬러 코디네이터’ 1세대다.

“디자인은 많이 알고 있지만 컬러 디자인이라고 하면 낯설게 느낍니다. 하지만 색을 빼면 디자인의 80%는 빈껍데기로 남을만큼 컬러 디자인의 중요성은 커졌습니다. 그런 만큼 컬러 코디네이터도 새롭게 떠오르는 직종이라고 할 수 있죠.”

사용자 삽입 이미지
▲ 다음트렌드컬러소재연구소 박귀동 소장이 내년에 유행할 컬러 시판을 들어보이며 설명하고 있다.

가령 오래 전부터 컬러 디자인 작업을 많이 해온 기성복이나 승용차나 가전제품 등의 전통 제조업에서뿐만 아니라 백화점, 양판점, 소매점 등 유통업계에서도 상품 기획단계에서부터 컬러 코디네이터를 활용하고 있다. 또 공원이나 전시관, 박물관 등을 설계할 때도 초기 단계에서부터 컬러 코디네이터가 합류하며, 개인을 컬러를 조언해주는 컬러 컨설팅의 일도 컬러 코디네이터의 업무로 분류된다.

요즘은 상품의 종류가 많아지면서 소재에 따른 컬러 코디네이터들의 활약이 더 필요해지고 있다. 철이나 PET 같은 흔한 소재 외에도 강화 플라스틱이나, 각종 신종 합금, 금속과 플라스틱의 중간적 성질을 갖는 새로운 물질, 인공 섬유 등이 계속해서 나오면서 색을 입혀야 하는 소재에 따라 컬러 디자인 작업이 달라져야 하기 때문이다.

컬러 코디네이터 작업은 수요는 지속적으로 늘고 있지만 생각보다 고도의 전문성을 요구한다는 점에서 실력을 갖춰야 인정을 받는다. 박 소장의 경우 기아자동차 컬러 디자인팀에서 일했는데, 일단 작업을 시작하면 2~3년간 쉼없이 매달려야 했고, 과정도 수십 가지를 거쳐야 했다. 우선 소비자의 취향을 분석하고 국내외의 정보를 수집해 신차가 나올 시점의 유행 컬러를 미리 예측해야 한다. 이어 벽에 200가지 정도 컬러를 뿌려본 뒤 몇번의 심사를 거쳐 10가지로 줄인 뒤, 이를 가지고 접착력이나 햇빛노출시 변색도 등 물성 테스트를 1년간 진행한다. 물성 테스트를 통과하면 내외장재 색깔간의 조화와 ‘전착도장-> 하도 도장-> 중도 도장-> 상도 도장-> 코팅’ 복잡한 도장 공정상 문제가 없는지를 확인해야 한다.


“컬러가 좋아서 물건이 잘 팔리는 것은 아니지만, 컬러가 나쁘면 물건이 안팔린다는 말이 있습니다. 그런 만큼 끊임없이 연구하고 시도하고 수정하는 작업을 반복하면서 노하우를 쌓아가지 않으면 성공할 수 없는 직업입니다.”

그럼에도 컬러 코디네이터의 매력은 충분히 많다고 박 소장은 귀뜸했다. 사람들의 트렌드를 미리 알고자 하는 노력 속에서 한발 앞선 삶을 살아갈 수 있고, 자신이 독자적으로 개발해낸 색이 소비자들로부터 좋은 반응을 얻을 때는 세상의 주인공이 된 듯한 느낌을 가질 수 있다고 했다. 무엇보다 세상을 아름답게 만들 수 있는 특권을 컬러 코디네이터는 가지고 있다고 박 소장은 강조했다.

색채의 세계 꾸준히 눈썰미 길러야
자격증= 대학에서 디자인을 전공하면 컬러 코디네이터가 되는 데 큰 문제는 없다. 그렇지만 요즘 대기업이나 컬러 전문회사들은 자격증도 요구한다. 자격증으로는 ‘TOSHO 컬러 코디네이터 검정시험’이 국내외적으로 가장 인정을 받고 있다. 이 시험은 원래 일본으로만 응시가 가능했으나 내년부터는 하트앤컬러코리아(ccst.co.kr) 주관으로 한국어 시험도 시행된다. 1급, 2급, 3급 세 종류의 자격증을 취득할 수 있다. (031)726-1100.

적성과 진출분야= 천부적인 색채 감각이 있으면 가장 좋다. 평소에 주변의 색채에 관심을 갖고 자기 나름의 눈썰미를 기르면 감각을 키울 수 있다.

자동차나 전자회사는 컬러 코디네이션팀을 별도로 두고 있다. 자동차나 전자업종과 관련된 컬러 소재개발 회사들에 들어갈 수도 있다. 패션 산업에서도 상품기획 부분 중에 컬러 코디네이터가 포함된다. 페인트, 메이크업, 인테리어, 광고, 웹디자인 등의 분야에서도 컬러 코디네이터의 수요는 지속적으로 증가하는 추세다. 컬러 코디네이션을 전문으로 하는 전문회사들도 있다. 이들은 상품색의 설정뿐만 아니라 점포의 디스플레이, 건축의 내외장, 도시경관 만들기 등을 일을 한다.

출처 : 박창섭 기자 cool@hani.co.kr

----------------------------------------------------------------------

컬러코디네이터 어떤직업인가

오늘날 우리 주변에는 다양한 색체의 상품들이 있다. 그것은 패션 복식을 비롯한 승용차, 가전제품 등의 공업제품, 그리고 커튼, 카펫, 가구 등의 인테리어 제품 등 매우 다양하다. 또 상품으로서의 물건뿐만 아니라, 주택과 건축물의 내장, 외장, 점포의 디스플레이, 그리고 도시의 경관 등 공간과 환경에도 색채는 폭넓게 활용된다. 색채 코디네이터는 칼라리스트라고 호칭되는 경우도 있지만, 이러한 물건과 환경의 여러 가지 용도와 목적에 맞춰서 색채의 전문지식을 기초로 물건과 환경에 맞는 색채 설계를 하는 사람을 말한다. 칼라 코디네이터의 일은 상품과 환경에 따라 달라진다. 상품의 색채설계를 하는 기업 내에서는 일반적으로 상품기획 부문에서 일을 한다. 상품기획의 역할은 물건의 생산과 유통간에서 어떤 소비자를 대상으로 어떤 상품을 생산하면 좋은가라고 하는 상품의 방향 결정 즉, 상품 컨셉트를 설정하는 것이다. 상품기획부에 속하는 칼라 코디네이터의 경우도 그 상품의 상품 컨셉트에 알맞는 색채를 설정하는 것이 중요한 직무가 된다. 상품컨설팅의 설정은 먼저 여러 정보의 수집·분석의 작업에서 시작된다. 정보 중에서는 소비자 의식조사의 연구와 함께 그 상품을 소비자에게 제공했을 때 좋아하는 상품의 색, 디자인, 소재 등을 예측하는 "트랜드 예측정보"가 꼭 필요하다. 칼라 코디네이터는 여러 가지의 정보를 기초로 그 상품을 제공하는 소비자의 타겟 안에 맞는 상품 컨셉트를 설정한다. 그래서 그 상품컨셉트가 알맞는 상품의 색채를 색채 전문지식을 기초로 설정한다. 상품기획에서의 칼라 코디네이터의 일은 기성복 제조업체에 대표되는 복식품의 제조업체뿐만이 아니라 승용차와 가전상품과 같은 공업제품 제조업체에서도 똑같이 행해진다. 또 백화점, 양판점, 소매점 같은 유통업계에도 상품기획 부분이 있다. 그 중에 칼라 코디네이터 일은 어떠한 색채의 상품을 사용해서 어떤 고객에게 판매하는가 하는 것이므로 제조업체가 하는 일과 유사하다. 또 환경과 공간의 색채설계의 경우도 그 공간의 성격이나 사용목적에 맞는 색채를 선택한다는 점에서 상품의 경우와 같은 생각이 필요하다. 칼라 코디네이터의 일중 하나는 물건이나 환경이 아니고, 개인을 대상으로 해서 그 사람에 맞는 의상과 화장의 색, 말하자면 개인의 칼라를 충고하는 칼라 컨설팅의 일이 있다. 이런 경우도 대상자가 놓여있는 상황을 충분히 파악하면서 그 사람에게 알맞는 색채를 선정해서 조언한다는 점에서 물건과 환경색채 설계의 경우와 같은 과정을 밟는 일이라고 할 수 있다.


컬러 컬러코디네이터 종사하고 있는 사람들

기업 안에서 컬러코디네이터는 대부분 다른 직무와 겸임하는 것이 보통이다. 패션산업의 경우에는 상품기획 담당자, 승용차와 가정상품 등의 공업제품 제조업체의 경우에는 상품기획 부분 내에 있는 디자인부의 디자이너가 그 임무를 맡고있는 경우가 보통이다. 따라서 패션산업에서의 상품기획자, 공업제품 제조업체에 있어서 디자이너는 그 모든 사람들이 업무의 일부로서 컬러코디네이터로부터 일을 맡고 있다고 할 수 있다. 대기업의 경우에는 상품기획자와 디자이너 중에 전임 칼라 코디네이터를 두고 있는 경우도 있으나 그 수는 한 지점이나 사업소에 겨우 1∼2명 정도이다. 기업내의 칼라 코디네이터의 근무지는 기업 안의 기획부문과 디자인부가 본사 내에 있는 경우가 많으므로 대도시에 집중하고 있다. 남녀의 비율은 상품기획자와 공업제품의 디자이너 전체로서 남성의 비율이 높으나, 그 중에서 컬러코디네이터로써 전임을 맡고 있는 사람들은 남녀반반이고 여성비율이 약간 상회하는 정도이다. 패션 산업 중에서도 부인복의 상품기획 부분 중에 칼라 코디네이터의 임무를 맡고 있는 사람들은 특히 여성의 비율이 높다고 할 수 있다. 상품 기획이나 디자이너로서 컬러코디네이터의 직무를 담당하는 사람들은 그 직무의 경험을 쌓은 뒤에 독립하는 사람도 있는 듯하나 그 경우도 상품기획 사무소와 디자인 사무소를 설치하고 그 일의 일부로서 컬러코디네이터로서 컨설팅하는 경우가 많이 보여진다. 아직 숫자는 적으나 컬러코디네이션을 전문적으로 하는 회사도 있다. 이런 전문회사에 근무하는 컬러코디네이터의 일에는 상품색의 설정뿐만이 아니라 점포의 디스플레이 등 건축의 내외장, 도시 경관 만들기의 등 환경의 색채설계도 포함되어 있다. 또 개인 컬러코디네이터에 의해서 행해지는 경우가 많은 듯 하다. 전문의 컬러컨설팅 회사가 아니더라도 도료나 페인트 색체제조업체 등에서는 고객인 기업에 대한 제공에 있어 서비스의 일환으로 전용의 컬러코디네이터를 상주시켜서 칼라 컨설팅을 하고 있는 곳도 있다.


컬러코디네이터 종사하려면

컬러코디네이터가 되려면 색채에 관한 세밀한 감각과 뛰어난 디자인 감각이 요구되나 특별한 자격은 필요하지 않다. 다만 전문직으로서 상품의 색채설계를 담당하는 컬러코디네이터에게는 색채지식 외에 취급하는 상품에 관한 전문지식이 필요하다. 패션 기업에 종사하는 컬러코디네이터의 경우 패션 전문학교와 대학에서 복식을 공부해 두는 것이 취직할 때 유리해진다. 공업제품의 색채설계를 담당하는 컬러코디네이터의 경우에는 디자이너와 겸하는 경우가 많기 때문에 미술계의 대학과 디자인 전문학교 출신자가 많다. 패션 산업의 컬러코디네이터도 같은 기업 내에서의 일은 상품기획의 일환으로 실시하고 있다. 이 때문에 기업 내의 컬러코디네이터를 지망하는 사람에게는 색채와 취업하는 분야의 상품에 대한 지식과 흥미뿐만이 아니라 상품기획자로서의 마케팅에의 흥미와 지식도 필요하다. 평소부터 소비자가 생활하고 있는 사회 환경과 생활자의 라이프스타일, 유행현상 등 상품을 제공하는 대상으로서의 소비자 환경을 충분히 관찰할 수 있는 눈을 길러둘 필요가 있다. 컬러코디네이터는 여러 가지 상품지식과 마케팅 지식을 상품의 색채에 반영시키는 것이 주 업무가 되지만 최종적인 색채선정을 위해서는 전문적인 색채지식이 필요하다. 색채의 전문지식은 단대, 대학, 전문학교의 복식이나 미술의 과목 등에 포함되어 있는 것이 보통이다. 또 최근에는 전문학교 중에 컬러코디네이터를 위한 색채 지식을 전문적으로 가르치는 학과를 설치한 곳도 있다. 컬러코디네이터의 일에 종사하는데 유리한 자격검정은 현재 두 가지이다. 전국복식교육 연합회에 의한 패션 코디네이터 색채능력검정과 동경상공회의소에 의한 컬러코디네이터 검정이다. 둘 다 3급의 자격검정부터 출발해서 그 위에까지 자격검정에 대응한다. 시험은 모두 전국에서 1년에 1회 개최 되므로 각각 주최하는 곳에 문의하면 된다. 전자는 넓은 의미에서 패션산업에 종사하는 칼라 코디네이터를 대상으로 하고 있는데 반해 후자는 보다 폭넓은 공업제품과 도시 만들기의 색채설계까지를 포함한 컬러코디네이터를 대상으로 하고 있고 시험문제의 내용도 거기에 따라 각각 다르다. 컬러코디네이터의 자격은 그 직업에 종사함에 있어 필요 불가결한 것이라고 할 수 없으나 색채지식이 중요시되는 기업이 많기 때문에 컬러코디네이터 이외의 직종에 취직할 때도 유리한 자격이라고 생각된다.


컬러코디네이터 전망

색채가 가지는 효용이 사회적으로 인식되고 컬러코디네이터의 일에 대한 상품계획의 요구도 매년 증가하고 있다. 그러나 기업 내의 업무 가운데 컬러코디네이터의 일이 중요하게 인식되게 된 것도 상품기획과 디자이너의 일이 인지되고도 훨씬 뒤의 일이다. 현재에도 패션업계의 컬러코디네이터는 상품기획, 상품개발부문의 사람이 겸임하고 공업제품업계에는 디자이너중의 컬러 디자인 담당자가 그 업무를 맡고 있는 것이 보통이며 건물의 컬러 컨설팅 회사에 취업하는 사람이나 프리랜서로서 컬러컨설팅을 하고 있는 사람의 수도 결코 많다고는 할 수 없다. 그러나 산업계측의 색채의 전문지식을 가진 사람을 구하는 수요는 금후 한층 많아질 것이다. 그러므로 전임의 컬러코디네이터로서가 아니더라도 상품기획과 상품디자인, 판매촉진 등의 직종을 지망하는 사람들에게는 컬러코디네이터로서의 전문지식을 가지고 있는 것이 취직할 때 매우 유리하게 될 것이다. 왜냐하면 상품기획, 상품디자인, 판매촉진 등의 직종에 있어서는 업무중에 컬러코디네이터로서의 직능이 요구되고 있기 때문이다. 생활 속의 모든 장면에서 색채가 갖는 효과가 널리 인식되어 있는 지금, 컬러코디네이터에 대하는 사회적 수요는 앞으로 점점 증가될 것이다.

컬러코디네이터 노동조건의 특징

기업에 근무하는 컬러코디네이터는 상품기획과 디자인의 일환으로서 컬러코디네이터의 일을 하고 있기 때문에 그 노동조건은 거의 상품기획자와 디자이너에 준한다고 할 수 있다. 전문직에 해당되므로 임금은 보통 사무직보다는 약간 높은 수준이다. 상품기획자, 디자이너와 같이 그 상품을 납입 기한 내에 맞추지 않으면 안 되는 경우에는 잔업시간이 꽤 길어질 수도 있다. 기업 내의 컬러코디네이터는 상품색의 색채설계를 하는데 있어서 그 상품의 성격을 파악하기 위해서 먼저 여러 가지 정보의 수집, 분석부터 하지 않으면 안 된다. 그를 위한 수집, 분석의 시간도 실제의 상품 색 선정을 위한 시간과는 별도로 볼 필요가 있다.

출처 : 한국고용정보원
---------------------------------------------------------------

네이버 컬러리스트 공부하기 클럽
http://cafe.naver.com/coloristbank

한국어 컬러코디네이터 검정시험 한국 사무국
http://www.ccst.co.kr/


    

설정

트랙백

댓글

어도비 25년 역사상 가장 방대한 SW제품군 발표

Miscellaneous/Etc 2007. 3. 30. 01:31
어도비시스템즈(http://www.adobe.com)는 모든 크리에이티브 영역에서 활용되는 업계 표준 디자인 및 개발 통합 솔루션인 ‘어도비 크리에이티브 스위트 3(Adobe Creative Suite 3, 이하 어도비 CS 3)’ 제품군을 출시한다고 밝혔다.

이번 어도비 CS 3는 어도비와 매크로미디어의 합병으로 인한 최초의 기술 통합으로 인쇄, 웹, 모바일, 인터랙티브, 영상 등 모든 크리에이티브의 영역에 걸쳐 디자이너 및 개발자에게 혁신적인 솔루션을 제공한다.

발표되는 이번 신제품은 ▲어도비 CS 3 디자인 프리미엄 에디션 및 스탠다드 에디션 ▲어도비 CS 3 웹 프리미엄 에디션 및 스탠다드 에디션 ▲어도비 CS 3 프로덕션 프리미엄 에디션 ▲ 어도비 CS 마스터 콜렉션 등 총 6개 에디션으로 이루어져 있다.

어도비 CS 3 디자인 프리미엄 에디션 및 스탠다드 에디션
인쇄, 웹, 인터랙티브 및 모바일 디자인 등 크리에이티브 작업을 위한 필수적인 툴 킷이다. 페이지 레이아웃, 이미지 편집, 일러스트레이션, PDF 워크플로우가 모두 통합되어 출판, 웹사이트, 풍부한 사용자 경험 및 모바일 컨텐츠를 하나의 환경에서 효율적으로 작업할 수 있다.

기존의 CS2 버전에서는 오프라인 컨텐츠 제작에 초점되어 있는 반면, 새로운CS3버전에서는 매크로미디어의 플래시, 드림위버가 추가로 통합됨으로써 오프라인 컨텐츠를 온라인으로 쉽게 퍼블리싱할 수 있게 되었다. 이로써 CS3 디자인 프리미엄 에디션은 크로스 미디어 디자인 전문가를 위한 완벽한 솔루션으로, 기존 출판 및 디자인 프로세스에 대변화를 가져올 것으로 예상된다.

어도비 CS3 디자인 프리미엄 에디션에는 어도비 인디자인 CS3, 어도비 포토샵 CS3 익스텐디드, 어도비 일러스트레이터 CS3, 어도비 플래시 CS3 프로페셔널, 어도비 드림위버 CS3가 포함되며, 추가적으로 어도비 애크로뱃 8 프로페셔널이 포함된다.

새롭게 강화된 인디자인 CS3은 반복적인 레이아웃 작업을 쉽고 빠르게 처리할 수 있도록 도와 주며, 일러스트레이터의 라이브컬러 기능은 디자이너들이 빠르고 직관적으로 색을 배합하고 저장하고 다양한 실험을 할 수 있게 한다. 이 외에도 포토샵 CS 3 익스텐디드를 통해 이미지 영역 선택, 이미지 합성, 필터 적용 등의 일상적인 이미지 편집 작업이 더 빠르고 유연하게 진행될 수 있게 된다. 또한 플래시 CS3 프로페셔널과 통합되어 디자이너와 개발자들이 포토샵과 일러스트레이터에서 작업한 파일을 그대로 플래시로 보낼 수 있게 되어 작업 시간을 크게 단축할 수 있게 된다. 이 외에도 드림위버 CS3를 통해 디자이너들이 포토샵 파일을 웹 레이아웃에 복사해서 붙일 때 웹을 자동적으로 최적화해 준다.

어도비의 존 로이아코노(John Loiacono) 크리에이티브 솔루션 수석 부사장은 “디자인 전문가들은 어도비와 매크로미디어 툴의 새로운 차원의 통합을 경험하게 될 것"이라며 “플래시와 드림위버의 추가로 오늘날 크리에이티브의 중심이 되는 인터랙티브한 디자인 영역으로 확대될 수 있는 계기를 마련함과 동시에 혁신적으로 변화된 디자인 환경을 제공하게 될 것이다”고 밝혔다.

어도비 CS 3 웹 프리미엄 에디션 및 스탠다드 에디션
웹 디자이너 및 웹 개발자들이 손쉽게 웹사이트와 애플리케이션, 게임, 프레젠테이션, 모바일 컨텐츠 등을 디자인하고, 개발하고, 관리할 수 있게 해준다. 특히, 인터랙티브한 웹을 개발하고 디자인하고자 하는 개발자 및 디자이너를 위한 최적의 툴이다.

어도비 CS 3 웹 프리미엄 에디션에는 어도비 드림위버 CS3, 어도비 플래시 CS3 프로페셔널, 어도비 파이어웍스 CS3, 어도비 컨트리뷰트 CS3와 함께 어도비 포토샵 CS3 익스텐디드, 어도비 일러스트레이터 CS3, 어도비 애크로뱃 8 프로페셔널 등이 포함되어 있다.

웹 전문가들은 포토샵과 일러스트레이터 파일을 바로 플래시 및 파이어웍스에서 사용할 수 있게 되었다. 이에 따라 웹 페이지 관리가 편해지며, 웹 페이지의 이미지를 일관되게 유지하기가 더욱 쉬워진다. 또한 파이어웍스 CS3의 새로운 계층구조화 기능을 통해 복잡한 웹 페이지 모델을 바로 만들 수 있으며, 하나의 PNG 파일로 저장할 수 있다.

어도비 CS3 웹 에디션은 모든 웹 브라우저, 운영체제, 모바일 기기 등을 통해 일관된 경험을 할 수 있게 해준다. 드림위버 CS3는 Ajax를 위한 Spary 프레임워크를 통합해 RIA 구현을 더욱 쉽게 해 준다. 새로운 CSS 레이아웃은 사용화된 웹 브라우저 호환성 체크를 가능하게 하고 다양한 웹 브라우저를 통해 CSS기반 웹사이트를 테스팅할 수 있게 한다.

어도비의 존 로이아코노 부사장은 "어도비 CS3 웹 에디션은 웹 상에서의 크리에이티브한 비전 실현을 위해 디자이너와 개발자의 모든 작업 영역에서 활용할 수 있는 필수적인 솔루션을 제공한다" 라며 "드림위버, 플래시, 파이어웍스, 컨트리뷰트에 포토샵, 일러스트레이터와 같은 주요 디자인 툴을 통합하여 웹 디자인 및 개발을 놀라울 정도로 단순화할 수 있다" 라고 밝혔다.

어도비 CS 3 프로덕션 프리미엄 에디션
영상 전문가와 리치 미디어 전문가를 위한 포스트 프로덕션 솔루션이다. 영상, 방송, 웹, DVD, 모바일 디바이스 등을 위한 혁신적인 결과물을 창조하고 전달할 수 있도록 통합된 작업 환경을 제공한다. 프로덕션 프리미엄 에디션은 전체 캡쳐에서부터 포스트 프로덕션 워크플로우 전반에 필요한 모든 애플리케이션을 통합한 것으로, 작업 시간을 대폭 줄여준다.

어도비 CS 3 프로덕션 프리미엄 에디션에는 어도비 애프터 이펙트 CS3 프로페셔널, 어도비 프리미어 프로 CS3, 어도비 앙코르 CS3, 어도비 포토샵 CS3 익스텐디드, 어도비 일러스트레이터 CS3, 어도비 플래시 CS3 프로페셔널, 어도비 사운드부스 CS3등이 포함된다.

어도비 프리미어 프로 CS3는 ‘타임 리매핑’이라는 신기능을 통해 슬로 모션을 향상시키고, 다양한 속도 효과를 제공한다. 애프터 이펙트 CS3는 ‘쉐이프 레이어’ 기능을 통해 벡터 쉐이프를 그리고 애니메이션할 수 있게 해 주고, ‘퍼핏’ 기능을 통해 2D 이미지들을 움직이게 한다.

또한, 브레인스토밍 툴을 통해 애니메이션에 변화를 조금씩 주도록 생성하고 미리 볼 수 있게 한다. 오디오 기능은 어도비 사운드부스 CS3를 통해 전문가 수준의 사운드트랙을 개발할 수 있다. 어도비 플래시 CS3 프로페셔널을 통해서 애프터 이펙트 및 앙코르에서 웹을 통해 작업을 바로 보여줄 수 있다.

그리고 ‘다이나믹 링크’를 통해 프리미어 프로 CS3, 애프터 이펙트 CS3, 앙코르 DVD CS3에서 작업한 미디어를 서로 교환할 때에 렌더링을 하지 않아도 되게 되었다. 또한 이번 CS3 프로덕션 프리미엄은 어도비 온로케이션 CS3는 바로 디스크로 녹음이 가능하며 모니터링 기능을 제공한다. 이는 현장에서 고화질의 촬영을 하는데 큰 도움을 줄 것이다. 또한, 프리미어 프로 CS3는 HD, SD, HDV 형식을 모두 지원한다. 이 외에도 어도비 미디어 엔코더를 통해 모바일폰, 디바이스, 아이팟 등의 다양한 기기에서 촬영한 비디오를 송출 할 수 있다.

어도비의 존 로이아코노 부사장은 “어도비 CS 3 프로덕션 프리미엄의 타겟 시장인 비디오 편집 시장이 점차 확대되어 가고 있다”며 “특히, 인터넷을 통해 대량의 비디오 유통이 이루어지면서 플래시 기술이 표준으로 자리 잡아 가고 있다. 이는 TV의 온라인 방송이나 유투브(YouTube), 마이스페이스(MySpace)로 입증되고 있다. 어도비의 프로덕션 에디션은 최첨단 비디오 및 리치 미디어 작업을 위해 최적의 솔루션이 될 것이다.”고 밝혔다.

이 제품은 중순경 발표 예정이다.

어도비 CS 마스터 콜렉션
총 12개의 개별 애플리케이션을 하나로 통합한 콜렉션이다. 프린트, 웹, 모바일, 비디오, 필름 등 모든 미디어를 통해 디자인 및 개발 작업을 할 수 있도록 해준다.

어도비의 최고 경영자인 브루스 치즌(Bruce Chizen)은 “어도비와 매크로미디어의 강력한 기술을 통합한 이번 신제품은 디자이너와 개발자 사이의 간격을 메워주는 작업 효율성을 극대화 하는데 중점을 두었다”며 “새로운 워크플로우를 통해 더욱 풍부한 컨텐트 개발과 효율적인 협업이 가능해질 것”이라고 밝혔다.

한편 어도비 CS 3 제품군에 있는 12개의 소프트웨어는 개별적으로도 구매 가능하다. 환경으로는 파워PC, 인텔 기반 맥킨토시 등에서 모두 사용 가능하며, 마이크로소프트 윈도우 XP, 윈도우 비스타를 지원한다. 특히 고객들은 인텔 기반의 매킨토시 시스템 및 최신 윈도우 하드웨어에서 CS 3의 한층 향상된 성능 및 속도를 체험할 수 있다.

발표하는 이 시점 이후, 이전 버전(Creative Suite2와 Studio8 및 관련 단품)을 구매하는 고객에 한해 한정 기간 동안 무상 업그레이드 혜택을 제공한다. 특히 기존에는 포함되어 있지 않은 제품들이 추가적으로 제공되어 한층 업그레이드된 경험을 누릴 수 있다. 자세한 내용은 고객지원센터(563-2555)로 문의하면 된다.

한편, 어도비 CS 3의 한글판은 올해 중순경 출시 예정이다.

출처 : 김효정 기자   ( ZDNet Korea )
    

설정

트랙백

댓글

루이까또즈 브랜드 사이트

Project/Web 2007. 3. 27. 00:48
사용자 삽입 이미지

루이까또즈 브랜드 사이트의 장점
루이까또즈는 사용자 중심으로 설계하려고 노력했다.
 
사용자 삽입 이미지

기본적으로 메뉴 구조라고 한다면 위와 같이 단일 메뉴, 순차적 메뉴, 트리 메뉴, 네트웍 메뉴 등으로 나눌 수 있을 것이다. 각각 특정 메뉴로 접근하는 방식에 차이가 있다. 웹은 기본적으로 이러한 여러 가지 메뉴 구조를 복합적으로 사용하고 있는데 루이까또즈는 이러한 메뉴구조를 좀더 다른 방식으로 접근한 형태이다.

루이까또즈의 경우는 기본적으로 트리 메뉴구조를 가지고 있으며 네트웍 메뉴 구조로 접근이 가능하다. 이를 다른 형태로 표현하면 아래와 같은 형태로, 사용자는 원하는 특정 페이지로 다이렉트 접근이 가능하다.
 
사용자 삽입 이미지

이런 형태는 자칫하면 사용자가 현재의 위치를 파악하지 못하는 문제점이 발생할 수 있는데 루이까또즈는 이러한 문제점을 해결하기 위해서 사용자가 새로운 페이지로 접근을 시도할 때 하나의 규칙을 만들었다.
 
사용자 삽입 이미지

SiteMap을 보면 1뎁스와 2뎁스 모두를 세로 직렬로 배치하여 현재 위치에서 원하는 페이지로 이동할 때 컨텐츠들은 위에서부터 아래로 정렬되어 있다는 것을 사용자가 학습할 수 있도록 모션을 적용하였다.

예를 들면 현재 AD CAMPAIGN에서 HISTORY 메뉴로 이동시 현재 컨텐츠는 위로 올라가고 HISTORY 컨텐츠는 아래에서 위로 올라오게 된다. 반면 HISTORY에서 WEBZINE 페이지로 이동시에는 현재 페이지는 아래로 내려가고 WEBZINE 페이지는 위에서 아래로 내려오게 함으로써 사용자가 현재 위치에서 원하는 위치로 이동할 때, 현재의 위치를 파악할 수 있도록 하였다.

로딩바의 형태도 이러한 규칙의 일환으로 위에서 내려오는 컨텐츠의 로딩바는 아래에서 위로, 아래에서 올라오는 컨텐츠의 로딩바는 위에서 아래로 채워지게 된다.

루이까또즈에서 가장 중요한 컨텐츠인 Collection은 로딩의 순서가 왼쪽에서 오른쪽으로 이루어지며 전체 로딩이 어느 정도 진행되었는지를 사용자가 알 수 있도록 메뉴 아래에 상태를 표시하고, 사용자가 특정 메뉴의 이미지를 먼저 보기위해 접근을 시도하면 해당 이미지를 개별적으로 로딩함으로써 사용성을 높이고자 했다.

루이까또즈 브랜드 사이트의 구조는 아래와 같은 형태로 사용자가 인지할 수 있을 것이다.
 
사용자 삽입 이미지


사이트의 단점
루이까또즈는 사용자 중심의 UI로 접근을 하였기 때문에 페이지 전환시 획일적인 모션 적용으로 인하여 다소 각 컨텐츠의 재미요소가 미흡한 단점이 있다. 이는 각 페이지로 넘어갔을 때 그 페이지에 고유의 모션을 통해서 어느 정도 해소할 수는 있겠으나 그런 과정에서 기존의 컨셉트에 부합되지 않는 문제점도 발생할 것으로 예상된다.

* 정해진 일정으로 빠듯하게 작업을 진행하였으나 클라이언트의 자료수급이 제때 이루어지지 않아 오픈 시일이 연기되었고, 클라이언트의 개인적인 취향에 따른 수정과 일관성 없는 요구사항으로 인하여 전체적인 컨셉트를 훼손하는 결과를 낳았던 것 같다.

항상 이런 부분들은 아쉬움을 남기지만 갑과 을의 관계에서 진행되는 프로젝트이므로 어쩔 수 없는 아쉬움이 아닌가 싶다.

http://www.louisquatorze.co.kr/

    

설정

트랙백

댓글

재밌는 문답

Miscellaneous/Story 2007. 3. 26. 14:11


사람의 심리와 성격 유형을 알아보기 위해 여러가지 방법을 사용하는데 이러한 문답형을 학문화 하면 MBTI, DISC, TA, NLP 와 같은 새로운 학문적 접근이 가능할 것 같다는 생각이 든다. 재미있는 문답을 알게 해준 쭈야님 외 다른분들에게 감사...


    

설정

트랙백

댓글