난, 지하철에서 웹서핑하기를 즐긴다. 다른 사람들의 사이트에 접속하다보면 더보기 기능이 있는 사이트를 보게된다. 난, 이 더보기 있는 사이트를 참으로 싫어 한다. 앱 이라면 이 기능이 불편하지 않을 수 있겠지만 단순 웹에서는 이 기능이 크나큰 단점이 있다. 


 블로그 같은 사이트에서 그 주제가 마음에 들게 되면 예전 글을 읽고 싫어진다. 그 때, 어떤 사이트는 더보기로 되어 있는 사이트가 있다. 상세 글을 보기 위해 목록을 선택하고 나서 그 글을 다 읽고 다시 목록으로 돌아오게 대부분 더보기로 연 목록들이 사라진다. 그리고 다시 더 보기를 하염없이 눌러야 한다. 이런 경우 새창으로 목록을 다시 열기로 한다. 그러나 모바일 단말의 경우 그 목록이 열어둔 페이지가 오래되면 다시 그 목록으로 돌아갈 때, 해당화면이 refresh 된다. 그러면 내가 더보기로 열어둔 항목이 사라진다. 


 만약 번호로 페이지를 이동할 수 있다면 이러한 문제가 발생하지 않는다. 그런데 더보기 기능을 이용한 웹사이트의 경우,  AJAX로 비동기적으로 목록을 가져오고 이 때 이 목록들은 HTML 코드에 박힌 것이 아니라 일시적으로 Javascript 가 돌아가는 메모리 상에 존재하고 페이지가 이동하면 사라져 버린다. 좀 머리는 쓰자면 localstorage 나 frame이나 URL 의 hash 같은 것을 이용해서 처리할 수도 있겠으나 어떻게 처리하든 좀 골치가 아프다. 

 그리고 내 경험상 이렇게 목록이 한 없이 많아지면 스크롤되는 속도가 더럽게 느려진다. 그리고 심한 경우 너무나 많은 DOM이 생성되어 죽는 경우도 있다. (내가 이러한 방법으로 죽는 것을 본 것은 몇 년전 Android 2.2 단말에서 이다. 근데 그 때는 메모리가 좀 적었으니...). 그래서 난 개인적으로 페이지 이동으로 다른 목록을 보여주는 방식을 선호한다. 

(Native 의 경우도 경우도 리스트가 많아지만 버벅거림이 존재한다. 그래서 테크닉적으로 리스트를 계속 만드는 것이 아니라 눈에 보이지 않는 부분의 리스트는 만들지 않고 존재한 리스트에 내용만 바뀌는 방식을 이용해서 메모리를 줄이기도 한다. 안드로이도 이런 방식을 지원했던 것 같다. )



 경우에 따라서는 기술적인 한계 때문에 더보기를 구현해야 하는 경우도 있다. 특히, NoSQL 방식의 DB를 사용하는 이런 더 보기 방식이 구현하기 참으로 적합하게 되어 있다. 내가 더보기를 구현해 봤던 이유도 cassandra 라는 DB를 사용했던 프로젝트 였다.(그 때 생각을 하면 참... 어째든 난 cassandra 에 대한 첫인상이 참으로 나쁘다. 내가 NoSQL 쓸일이 있다면 mongoDB를 사용할 것이다. ) 근데 이렇더라도 Page 번호는 없겠지만 다음을 눌러 페이지 이동 후 다음 리스트를 보여주는 방식으로 처리 할 수 있을 것 같다. 그렇게 된다면 현재 페이지에서 맨마지막 리스트의 index(정확히는 NoSQL의 키: UUID 나 Object ID) 를 다음 페이지로 URL로 넘겨서 처리해야 할 것이다. 이래에 reload 되더라도 계속 리스트를 가져 올 수 있을 것이다. 


 

 더보기가 참으로 유용한 부분이 많은데 아직까지는 좀 많이 불편한 것 같다. 정 필요하다면 목록으로만 끝나는 페이지에서만 구현 하는 게 좋을 것 같다. 목록에서 선택해서 그 상세 페이지로 이동하는 경우에는 자제하는게 좋지않을까..















 웹 사이트나 앱의 디자인을 보면 몇가지 Main color 와 Sub Color 로 콘텐츠를 구성하는 것을 볼 수 있다. 그 Main Color 와 Sub Color 을 보면 뭔가 묘하게 어울리는 것을 알 수 있다. 이렇게 어울리는 색들을 선택하는 것을 컬러배색은 색채 감각이 없는 저 같은 무식한 개발자가 하기에는 어렵습니다. 


 그런데 이런 색채 조합을 일정한 규칙으로 만들어 주는 사이트가 있습니다.  

http://paletton.com       https://kuler.adobe.com  

두 사이트에 접속해 보시면 일정한 룰을 정한 후, color 를 drag 해 보면 여러가지 색 조합을 알려줍니다. 저 같은 미적 감각이 전무한 개발자들은 이러한 방법으로 만든 색조합을 테스트 해보면서 괜찮은 것을 골라 사용하는게 유용할 것 같습니다. 

저는 개인적으로 http://colorschemedesigner.com/csd-3.5  (이 사이트가 http://paletton.com 를 베타버전으로 만들고 있느 것 같습니다. ) 를 좋아 합니다. 특히 오른쪽 상단의 colorblind 메뉴가 참 좋습니다. colorblind 는 색명을 의미합니다. 이 메뉴를 선택하면 내가 선택한 color 가 색명인 사람에게 어떻게 보여지는지 볼 수 있습니다. 가장 심한 경우 그냥 흑백으로 보여주는데 이 흑백을 사용하더라도 구분이 가능한 명도를 가지고 있다면 참 좋은 접근성을 제공해주는 것입니다. 

 여기에 더 알고 싶다면 http://darum.daum.net/  에서의 웹접근성을 보시기 바랍니다. 우리가 많은 것을 잊고 살고 있다는 것을 느낄 수 있을 것입니다.


그리고 이런 식의 색 배열을 직접하는 것 외에 아예 색 배열 선호도를 보여주는 사이트도 있습니다. http://colorcombos.com/ 에서  아예 색 배열을 보여줍니다. 이것도 선택하는 맛은 좀 적지만 사람들 선택한 color 배열에 대한 정보를 알 수 있어 유용한 것 같습니다. 



 그래픽 이미지는 그 구성 방법에 따라 2가지 방식을 생각할 수 있다. 하나는 Bitmap 방식이고 또 하나는 Vector 방식이다.  

 Bitmap 방식은 이미지를 pixcel(화소) 내의 color 로 구성되고 Vector 방식은 우리가 수학점으로 방하는 그 벡터(크기와 방향을 가짐) 정보로 이미지를 구성하고 있다. 


 Bitmap 방식의 유명한 이미지 편집툴이 PhotoShop 이고 Vector 방식에서 유명한 이미지 폅집툴이 illustrator 이다. 이 툴은 Adobe 사의 툴로 꽤 고가의 툴이다. 


 이 툴을 대체할 수 있는 툴이 Bitmap 방식의 툴로는 Gimp  이고,  Vector 방식의 툴로는 Inkscape 가 있다. Gimp 와 Inkscape 는 모두 GNU General Public License 이고 상업적인 용도로 사용해도 된다. 예전에는 이 툴들이 리눅스에서만 동작했으나 현재는 Mac(mavericks 에서는 약간의 삽질이 필요할 수 있다. ), 윈도우즈에서도 잘 동작한다. (찾아보면 안드로이드에서도 동작한다. 근데 OTG 마우스를 이용하지 않는한 좀 많이 불편하다.) 




(Gimp 스크린 샷 : Gimp 를 처음 접하게 되면 이 자유분방한 윈도우 들로 인하여 당혹함을 느끼게 된다. 



(Inkscape 스크린샷 :  한글도 꽤 잘 지원한다. )



이런 툴들이 문제가 있다면 기존 Adobe 에서 만들어진 문서들이 그렇게 잘 호환되지 않는다. 특히 문자가 들어간 그림들에 대해서 생각했던 대로 잘 호환되지 않았다. 

그리고 인쇄소에 맡기면 꽤 까다롭다는 말도 있던데 이건 내가 겪어보지 않아서 패스...




 요즘은 이런 툴들도 좋지만 브라우저에서 사용하는 툴도 있다. 그 중 가장 유명한 것은

http://pixlr.com/editor/ (플래쉬가 있어야 사용 가능하다. )  이다. 내가 테스트 해 봤을 때는 문자가 들어간 포토샵 파일도 어느정도 보였다.  (그래도 완벽히는 호환이 안되었다.)



어째든 단독으로 사용한다면 꽤 좋은 툴이다. 나 같은 돈없는 개발자들이 이미지 조금씩 편집할 때 매우 좋은 툴이다.