요즘 여기저기서 웹오피스가 대세라는 얘기를 많이들 한다. 뉴스에서도, 각종 블로그에서도 구글오피스, zoho, 싱크프리 등의 웹오피스에 관한 얘기는 끊임없이 재생산되고 있다. 특히 블로그의 글들을 보면 구글오피스에 대한 칭찬 일색이다. 과연 그러한가. 웹오피스는 데스크탑 오피스에 대해 경쟁력이 있는가.

    윈도우즈 환경이라면 MS오피스를, 유닉스 계열이라면 오픈오피스를 대부분 쓰고 있을 것이다. 당연히 내 데스크탑에도 깔려 있다. 그 외에도 사무실이 아니라면 한컴오피스(또는 HWP) 정도는 기본이다. 그런데 이들을 사용할 때마다 느끼는 거지만, 도대체 이렇게 많은 기능이 다 필요할까 싶다. 물론 있으면 유익한 기능들임에는 틀림 없다. 그러나 자주 쓰이지도 않는 그 많은 기능을 위해 비용과 스토리지를 투자할 필요가 없는 사람들도 많을 것이다. 1989년 AT 컴퓨터로 시작한 이후 이런 저런 워드프로세서를 사용해왔지만 아직 HWP 1.5만큼 밀도 있게 활용한 프로그램도 없다고 생각한다. 각종 보고서 그외의 문서들, 사실 그거 하나로 충분했다. 물론 그림 파일 지원 기능이 없으므로 지금 사용하기엔 무리가 있지만 말이다. 컴퓨팅 환경이 바뀌고 그에 따라 오피스 프로그램에 많은 기능들이 추가되었지만, 사실 컴팩트하게 쓰는 사람들에겐 다 필요 없는 기능들이다.

사용자 삽입 이미지


    그런 면이 웹오피스가 데스크탑 오피스에 비해 기능이 적다고 굳이 깎아내릴 필요는 없는 이유다. 물론 기능 적은 게 마치 매력인 것처럼 포장하는 것은 언어도단이지만, 쓰지 많은 기능들을 포기하면 행복한 오피스 환경이 만들어진다는데 불만인 사람은 없을 것이다.

    지금처럼 블로그에 글을 올릴 때 어떤 프로그램을 사용하면 좋을까. 텍스트 에디터는 너무 기능이 빠진다. 그림도 넣고 링크도 걸고 하려면 아무래도 HTML을 이해할 수 있는 도구가 있어야 한다. 그렇다고 데스크탑 오피스를 쓰기엔 그놈들 덩치가 너무 크다. 이럴 때 웹오피스가 딱 알맞는 도구가 될 것이다. 기본적으로 블로그에서 새글 쓰기를 할 때에도 에디터 컨트롤이 있어 글 쓰는 데 큰 무리가 없긴 하지만, 아무래도 바로 글을 써서 올리기 보다 워드프로세서로 미리 글을 쓰고 다듬기를 원하는 경우가 더 많을 것이다. 그렇다면 주목받을 만한 웹오피스는 뭐가 있을까. 무료로 사용할 수 있는 웹오피스를 둘러보니 구글오피스, zoho, 싱크프리의 정도가 눈에 띄고, 웹오피스 시장이 커지면서 그 외에도 여러 업체가 뛰어들 테세인가 보다. 네이버도 곧 서비스할 예정이란다. 그렇다면 웹오피스는 얼마나 쓸만할까 하고 약간의 시간을 내서 이들을 살펴보았는데, 당장 생각나는 것만 정리해 보자면...

    우선 싱크프리는 논외로 하자. 뭔가 달관한 삶이 아닌 이상 싱크프리를 선호할 수는 없다. 무엇을 생각하든지 그 이상으로 느리다. 즉 현 시점에서 쓸만하다고 이야기할 수 있는 것은 구글오피스와 zoho 이 둘로 압축된다.


웹오피스 공통의 장점
  1. 문서 버전 관리
    데스크탑 오피스에서도 당연히 구현되어 있는 기능이지만, 텍스트 에디터나 블로그 글쓰기 모드에서는 지원하지 않는 고급 기능이다. 이전 버전과의 차이점도 한 눈에 들어오고 해당 버전으로 돌아가기도 쉽다.
  2. 웹 게시 / 공유 기능
    문서를 웹으로 게시하여 다른 사람들에게 보여주거나, 공유 기능으로 여러 명이 편집할 수 있다.
    * zoho 웹 게시 예제
    * 구글오피스 웹 게시 예제
  3. 블로그 게시 기능
    작성한 문서를 블로그로 보내 바로 게시할 수 있다.

웹오피스 공통의 단점
  1. 느리다
    말해 무엇하겠는가만, 역시나 데스크탑 오피스에 비해 현저하게 느리다. 특히 싱크프리는 악몽 그 자체다.
  2. 상대적으로 적은 기능
    이것도 마찬가지. 기능을 포기하고 웹으로 띄우는 거 아닌가.
  3. 문서 꾸미기 기능 빈약
    네이티브들에겐 그다지 큰 제약이 아닐 수 있으나, 우리로선 특히나 맘에 안 드는 것이 글꼴이다. 한글 글꼴은 선택할 수가 없다. 굳이 하고 싶으면 HTML 코드를 직접 열어서 수정해 줘야 하는데, 이렇게 되면 벌써 오피스가 아니라 텍스트 에디터가 된다.
  4. 그 외의 아쉬운 점
    설렁설렁 둘러본 거라 잘 모르겠지만 스프레드시트에서 세로 셀 병합 기능은 왜 없을까? 혹시 다른 사람들은 이 기능 안 쓰나? 난 많이 쓰는데... =_= 가로 셀 병합은 만들어 놓고선 세로는 왜 안 만들었지? 만든 사람들은 이런 거 필요 없나? 만드는데 어렵지도 않을텐데 말이다.

zoho의 장점
  1. 상대적으로 다양한 서비스
    구글오피스에 비해 그렇다는 거다. 구글의 워드프로세서, 스프레드시트, 프리젠테이션은 기본이고, 그 외에도 데이터베이스, 프로젝트 관리, 위키, 노트북 등 잡다구리한 서비스가 있다. 구글도 구글앱스라고 그런 서비스가 있다는데 요건 아직 안 써 봐서 모르겠다.
  2. 스타일시트 기능
    자기가 직접 스타일시트를 만들어 적용할 수 있다. 그래서 구글에 비해 문서 꾸미기가 상대적으로 쉽다.
  3. 스트레드시트 임베디드 기능
    요것이 나름대로 진정한 오피스 도구라 할 수 있다. 스프레드시트를 전체, 또는 특정 범위만 지정해서 다른 문서에 붙여넣을 수 있다. 물론 보통의 HTML 문서나 블로그 글에도 붙여넣을 수 있다.

zoho의 단점
  1. 느리다
    구글오피스에 비해 꽤 느리다. 일단 문서를 열고 나면 별 문제 없으나 로딩하는데 시간이 많이 걸린다. 성질 급한 사람들은 수명 단축하기 딱 좋다.
  2. PDF 파일로 내보낼 때 한글 다 깨짐
    웹오피스는 공통적으로 PDF 파일로 내보내는 기능이 구현되어 있는데, zoho에서는 한글이 모두 깨진다. 해결하는 방법이 있는지는 모르겠으나 짧은 시간 둘러본 바로는 찾을 수 없었다.
  3. 블로그 게시 기능 버그
    문서 블로그로 보낼 수 있으나, 티스토리의 멀티 블로그를 제대로 감지하지 못하는 버그가 있다.
  4. 중복되는 서비스
    다양한 서비스를 하겠다는 발상은 좋은데, 냉정하게 생각해 보면 중복되는 서비스가 많다. 데이터베이스 서비스도 두 개나 있고, 위키와 노트북도 별 차이가 없어 보인다.

사용자 삽입 이미지


구글오피스의 장점

  1. 비교적 빠르다.
    zoho에 비해 로딩 시간이 빠르다. 그것이 서버의 문제인지, 아니면 구현된 기능이 더 적어서인지는 잘 모르겠다.
  2. 한글 메뉴 지원
    zoho는 영문 메뉴만 지원하지만 구글은 역시(?) 한글 메뉴를 지원한다. 그 외에도 PDF 파일로 내보낼 때에도 한글이 깨지지 않는 등 비영어권 지원이 zoho에 비해 좋다.
  3. 블로그 게시 기능
    웹오피스 공통의 기능이지만, 구글오피스는 버그가 없고 XML-RPC를 잘 지원한다. 당연히 티스토리도 문제 없이 사용할 수 있다. 다만 초안으로 저장하는 기능이 없어 블로그로 보내는 즉시 글이 공개된다는 점이 아쉽다.

구글오피스의 단점
  1. 문서 컬럼 수 지정 기능이 없다.
    에디터와 워드프로세서를 구분짓는 단적인 기준이 이것이라고 생각하는데, 구글 워드프로세서에는 이 기능이 없다. 무슨 에디터 마냥 화면 끝까지 옆으로 간다.
  2. 스타일시트 기능이 없다.
    그러므로 엄밀히 말해서 블로그 글쓰기 메뉴와 비교해 문서를 꾸미는 기능은 별 차이 없다고 봐야 한다.

사용자 삽입 이미지


    결론적으로 웹오피스는 어느 정도로 쓸만한가? 분명히 말해서, 뉴스나 블로그에서 칭찬하는 만큼 좋지는 않다. 데스크탑 오피스 수준의 기능을 생각하고 시작하면 5분도 안 되어 불평불만이 터져 나오게 된다. 특히 속도에 대해 관대하지 않은 사용자는 절대 넘을 수 없는 벽이 있다. 그러나 복잡한 기능 다 빼고 간단하게 쓰려면 의외로 좋다. 특히 zoho의 '프로젝트 관리' 서비스는 팀 단위 업무 수행에 꽤 좋다. 더우기 현재 웹오피스 시장의 경쟁은 필연적으로 기능 경쟁으로 이어질 것이다. 우리는 즐거운 마음으로 사용해 주면 된다.

Posted by 도그마™
,
    그간 파이어폭스를 써오면서 별 문제 없었는데, 최근 들어 사람 신경을 긁는 일들이 자주 일어난다. 부가기능이 서로 꼬인 건지, 그리스몽키 스크립트를 잘 못 쓴 건지, 그것도 아니면 팝업 기능이나 Java에 문제가 생긴 건지는 몰라도, 이놈의 브라우저가 한 시간에 한 번 꼴로 제대로 맛이 가 주시는 통에 웹서핑의 평화에 심각한 장애가 생기고 말았다. 정확히 언제쯤 먹통이 되는지 패턴도 잘 잡히지 않고, 부가기능을 꺼 봐도 별 효과가 없다.

    그래서 오페라를 써야 되나 하고 있던 차에 눈에 띈 것이 바로 '에피파니 브라우저'다. 어차피 파이어폭스의 랜더링 엔진을 쓰는 브라우저라, 피차일반이 아닐까 했으나 써 보니 그게 아니다. 신기하게도 전혀 문제 없음. 게다가--기능의 빈약함(?) 때문이겠지만--빠른 속도까지 만족스럽다. 그렇다고 기능이 아주 딸리는 것도 아니다. 요새 요거 없으면 브라우저로 안 쳐 주는 탭 기능에, 애드 블럭, 그리고 그리스몽키까지... 안 되는 것 빼고는 다 된다.

zoho 메인 페이지


    덕분에 다시 평화로운 나날들... 파이어폭스는 나중에 3.0이 나오면 설정파일이랑 부가기능 모조리 지우고 나서 써 봐야겠다. 뭐 안 써도 되고...

'컴퓨터' 카테고리의 다른 글

발길 닫는 대로 떠나는 여행의 즐거움 - StumbleUpon  (0) 2008.08.20
웹오피스, 과연 얼마나 좋길래?  (2) 2008.03.02
범생의 일탈  (0) 2006.03.21
구글이 SWIG를 쓴다니...  (0) 2006.02.06
guile용 range 함수  (0) 2006.02.02
Posted by 도그마™
,

범생의 일탈

컴퓨터 2006. 3. 21. 01:19
아직 인연이 닿지 않아 그런지 몰라도, 생각이 흘러가는 대로 무언가를 만들어내기에 파이썬보다 더 쉬운 언어를 아직 찾지 못했다. 약간은 범생 스타일의 깔끔한 문법과 풍부한 자료형만으로도 충분히 주력(?) 언어가 될 자격을 갖추었다. 강력한 확장 기능은 보너스다. 그런 고로 이 언어의 발전을 지켜보는 것은 꽤나 흐뭇한 일이었다.

그러나 언제부터인가 범생의 일탈이 시작되는 것 같아 마음이 편치많은 않다. 하다보면 이런 기능도 넣고 싶고, 저런 문법도 구현하고 싶고... 왜 그렇지 않겠는가. 하지만 이러다가 언젠가는 외관상 펄이랑 별 차이 없어지지 않을까 싶기도 하다. 모든 것을 다 갖춘다는 것은 또 그만큼 평범하다는 얘기 아니겠는가.

요새는 버젼 따라가기도 버겁다. 내가 늙어가는 건가...
------
원글: 파이썬 2.5 미리보기 5편: 조건 표현
Posted by 도그마™
,
구글이 파이썬을 업무의 전 분야에 걸쳐 사용하고 있다는 것은 알고 있었으나, 그 확장에 SWIG를 사용하고 있다는 점은 솔직히 의외다.
개인적으로는 파이썬을 확장할 때 맨 처음 사용했던 것이 SWIG였다. 간단한 문법으로 C/C++을 재사용할 수 있다는 점이 매력이었다. 그러나 SWIG를 사용하면서 느낀 점은 왠지 쓸데없는 코드가 많아지는 것 같았을 뿐만 아니라, C/C++을 세밀하게 래핑하고 싶을 경우에는 SWIG 문법도 만만치 않은 것 같았다. 이것저것 공부할 것도 많고 해서 머리가 지끈지끈...
그래서 Pyrexctypes 쪽에 관심을 두게 되었고 덩치큰 확장이 아니면 그냥 수작업으로 확장모듈을 만들어 버리고 말았다. 결정적으로 scheme 확장 모듈을 만들 때 SWIG가 시원찮은 결과를 몇 번 보여준 뒤로는 거의 기억 속에서 잊혀져가는 분위기였는데...

사람 마음이 참 우스운 것이, 그거 없이도 잘 살다가 남들이 그걸 잘 쓴다고 하니 괜히 또 솔깃해져서, 관심이 가는 것은 무어란 말인가... 게다가 C라면 몰라도 C++ 래핑용으로는 SWIG가 오히려 불편하다고 생각했었는데, 그게 아니었단 말인가...

-----
관련글: OpenLook 구글에서는 파이썬을 어디에 쓰나요
Posted by 도그마™
,

guile용 range 함수

컴퓨터 2006. 2. 2. 15:00
Python의 range 함수를 guile용으로 흉내내어 봤다.
다른 Scheme 컴파일러에서 제대로 돌아가는지는 모른다. 아마도 가변인자 부분을 손봐야 하지 않을까 싶다.

(define range
(let ((_inner_range
(lambda (%start %end %step)
(let ((_reverse_range
(lambda (start end step)
(let loop ((cursor start)
(result '()))
(if (or (and (>= cursor end) (> step 0))
(and (<= cursor end) (< step 0)))
result
(loop (+ cursor step)
(cons cursor result)))))))
(reverse (_reverse_range %start %end %step))))))
(lambda* (start #:optional (end #f) (step #f))
(cond ((not end)
(begin
(set! end start)
(_inner_range 0 end 1)))
((and end (not step))
(if (<= start end)
(_inner_range start end 1)
(_inner_range start end -1)))
(else
(if (zero? step)
(error "step parameter must not be zero")
(_inner_range start end step)))))))

Posted by 도그마™
,