1. 적당한 크기로 캔버스를 만든 뒤, 배경을 검은색으로 칠하고 빈 레이어를 하나 만든다.
2. 그래디언트 도구를 선택하고 [전경색에서 투명으로]를 고른 뒤 전경색을 흰색으로 설정하고 위에서 아래로 긋는다. (캔버스 가득)
3. Distort > Wave 필터를 적용한다. 파라미터는 적당히 조정한다.
4. Distort > Polar Coordinate 필터를 적용한다.
5. Radial Blur 필터를 살짝! 적용한다.
6. 배경 레이어를 안 보이게 끄고 PNG 포맷으로 저장.

결과물 (배경을 켠 상태):

태그 : 포토샵

오늘날 데스크탑 컴퓨터를 쓰다 보면 온갖 주의를 분산시키는 요소들로 가득 차 있다는 것을 느낄 수 있다. 도무지 한 가지 일에 집중할 수가 없다. 조금 집중하려 해보면 그 때마다 메신저에 누가 접속했다는 알림 창이 뜬다. 글을 쓰려 블로그 사이트에 들어가면, 이내 남의 글에 시선을 뺏기고 만다. 물론 컴퓨터가 동시에 여러 가지 일을 처리한다는 것은 좋은 일이다. 엄청나게 긴 시퀀스에 무슨 계산을 한다고 할 때, 몇 개의 짧은 조각으로 나눠서 동시에 하면 훨씬 빨리 할 수 있으니까. 그렇지만 경험에서 미루어 보면 사람의 뇌는 동시에 여러 일을 신경쓰기 힘들고, 그렇다고 해도 효율이 떨어진다.

그러면 이러한 문제는 어떻게 해결할 수 있을까. 최근 넷북을 쓰고 있는데, 화면이 좁아서 동시에 여러 가지를 하기 힘들다. 이를테면 글을 쓰다가 채팅창을 보려면 창을 전환해야 한다. 또 휴대 전화나 PDA는 어떤가? 역시 마찬가지라 한 번에 한 가지 일만 할 수 있다. (당연히 음악을 들으면서 한다던가, 시각이 필요하지 않은 것은 빼고.) 약간 극단적이기는 하지만 창 관리자를 없애버리면 어떨까? 모든 창은 화면에 가득 찬다. 여러 창을 동시에 봐야 할 때는 (이것도 분명 한 가지 ‘일’을 위한 것이다) 작업 표시줄에서 각 창을 선택하면 지정한 방법 (예컨대 타일링 창 관리자처럼)에 따라 보여준다.

이미 존재하는 인터페이스에서 꼽아보자면 탭 브라우징을 들 수 있겠다. 웹 문서는 그 특성 때문에 여러 링크를 포함하게 마련이다. 이때 그 링크를 그냥 따라가버리면 지금 읽고 있는 글의 흐름에서 벗어날 수 밖에 없다. 이럴 때 그 링크를 탭으로 띄워 놓고 지금 읽고 있는 글을 마저 읽은 뒤에 탭을 열어 볼 수 있다. 탭이 일종의 읽을 글의 스택 내지는 큐로 작용하여 흐름이 끊기지 않도록 해주는 것이다.

여담: 다시 텍스트큐브닷컴으로 돌아왔습니다. 흐흐

태그 : GUI,UI,UX,집중,흐름

부재 예정

분류없음 2009/07/19 20:30
2주 정도 잠시 자리를 비우기 때문에 미리 알려드립니다.

7/26(일) - 8/1(토): 휴대폰으로 연락 가능합니다.
8/9(일) - 8/14(금): 해외에 나가니까 휴대폰으로 연락하셔도 못 받습니다. ㅋㅋ
XMLHttpRequest 등으로 비동기 요청을 할 때, 레이아웃을 뺀 채로 페이지를 출력해야 하는 경우가 있다. 이러한 경우에 쓸 수 있는 방법이다.
구글링을 해보니 요런 흑마법스러운 팁이 나오기는 하는데 좀더 간단한 방법을 생각해 보았다.
extends 템플릿 태그에 문자열 대신 변수를 넘길 수 있는 점을 이용한 것이다. 먼저, 레이아웃을 조정할 템플릿의 상속 구문을 다음과 같은 형태로 바꾸자.

{% extends base %}

그리고 컨텍스트 처리기를 추가한다. (원하는 위치에 context_processors.py를 만든다)

def hijax(request):
    return {'base': 'base_xhr.html' if request.is_ajax() else 'base.html'}

이 처리기의 역할은 템플릿의 컨텍스트에다가 XHR을 통한 요청이면 base_xhr.html을, 아니면 base.html을 base 변수에 넣도록 하는 것이다.
HttpRequest.is_ajax 메서드는 X-Requested-With 헤더가 XMLHttpRequest인지 확인하는 식으로 작동하므로 이 헤더를 넘겨줘야 한다는 점을 조심해야 한다. 물론 jQuery, Dojo, Prototype 등 널리 쓰이는 라이브러리들은 이미 기본 지원하고 있다.

settings.py에서 처리기를 사용하도록 설정한다. django-admin을 이용하여 프로젝트를 생성하면 TEMPLATE_CONTEXT_PROCESSORS 값이 없으니, 기본값인 auth, debug, i18n, media, request를 함께 적어야 한다.

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.request',
    'context_processors.hijax', # context_processors.py의 위치에 따라 적절하게 모듈 경로를 지정
)

마지막으로, base_xhr.html을 템플릿 경로에 만든다. 여기서는 내용이 들어가는 블럭 이름이 content인 것으로 가정했다.

{% block content %}{% endblock %}

이러한 기법을 이용하면 XHR이 작동하지 않는 브라우저에서도 간단히 폴백 페이지를 제공하여 접근성을 높일 수 있다. (Hijax라고 불리는 방법을 사용할 때 편리하다.)

인클챗 0.7.4에서 GTK+ 테마를 MS-Windows (WIMP 엔진)으로 바꾼 버전입니다.