kimho

IT, iPhone, Android, Web, SNS, Cloud Korea

3월 172011
 

기업형 SNS를 만들고자 하시나요?
회사에서, 학교에서 혹은 나의 커뮤니티의 사람들끼리 얘기하는 트위터 공간을 원하시나요?
Yammer와 같은 외부 사이트에 사적인 글을 등록하기 부담스러우신가요?
내 마음대로 트위터에 기능을 넣고 빼고 하고 싶은신가요?
그렇다면 설치형 SNS 웹 애플리케이션인 수다인(Suda-in)을 사용하시길 권장 드립니다.

사내 SNS 솔루션으로 사용할 목적으로 개발한 수다인을 오픈 소스로 공개합니다.
수다인은 Rails 3 환경에서 동작하는 오픈 소스 웹 애플리케이션으로 다음과 같은 특징이 있습니다.

  • 기본적인 트위터 기능들 지원
  • MySQL 혹은 SQLite와 연동
  • 사내의 MS Exchange Server의 계정을 사용할 수 있도록 LDAP  지원
  • 트위터와 연동하여 동시 작성하기 기능 지원

앞으로도 계속해서 기능을 업그레이드 시켜서 자체 SNS를 구축하고자 하시는 분들께 도움을 드리고자 합니다.

더 자세한 내용은 아래 링크를 참고하시기 바랍니다.

http://kimho.pe.kr/wordpress/?page_id=71

3월 102011
 

구글 검색을 했을 때, 다음 검색 결과에 포함하고 싶지 않은 사이트가 있다면 Block시킬 수 있는 기능이 추가될 예정입니다.
이 기능은 원래 크롬 익스텐션을 통해서만 가능했지만 이제는 검색 페이지내에서 이 기능을 사용할 수 있게 됩니다.

Official Google Blog: Hide sites to find more of what you want.

예를 들어 아래와 같이 “matt cutts”라고 검색했을 때 “Cached” 옆에 보시면 “Block all xxx.com results”라는 링크를 볼 수 있습니다.

그 링크를 클릭하시면 아래처럼 해당 사이트가 Block되었다는 메시지가 나옵니다.
이때 “Undo”를 클릭해 취소할 수도 있습니다.

추후 검색할 때 내가 예전에 Block했던 사이트가 검색 결과에 있었다면 아래와 같이 몇 개의 사이트가 Block되었다는 안내를 함께 보여주게 됩니다.

또한 아래와 같이 검색 설정에서 “Manage blocked sites”로 들어가서 Block된 사이트들을 관리할 수 있습니다.

3월 092011
 

포스퀘어를 즐기는 분이시라면 eightbit이라는 서비스에도 흥미를 가질 것 같습니다.
포스퀘어 형식에 아바타 게임 형식을 결합한 eightbit이라는 서비스가 런칭했습니다.

eightbit은 말 그대로 8-bit를 의미하는 것으로, 사용자는 본인을 상징하는 8-bit짜리 아바타를 생성할 수 있습니다.
코인 개념이 있어 마치 게임을 즐기듯이 eightbit을 사용하게 됩니다.

모바일 브라우저에서 http://eightbit.me 에 접속하시면 됩니다.
인증은 트위터 계정을 사용합니다.

http://vimeo.com/20713468 에서 소개 동영상을 볼 수 있습니다.

P.S
제 아이폰에서는 Login to Twitter에서 넘어가질 않네요..
아직 베타 수준이라 그런걸까요?

3월 042011
 

얼마 전 세기의 이슈인 윌리엄 왕자와 케서리 미틀턴의 웨딩 발표가 있었는데요..
재미있는 건 이들의 웨딩 홈페이지가 Google App Engine에서 호스팅했다는 사실입니다.
그도 그럴 것이 전 세계의 관심이 쏠린 결혼식을 일반 호스팅 업체에 맡긴다는 건 트래픽상 부담스런 일이겠죠.
역시 로열은 웨딩 홈페이지도 뭔가 다르네요..ㅋ

오늘은 이들처럼 Google App Engine에 호스팅할 수 있는 방법에 관해 간단히 소개해볼까 합니다.
Google App Engine을 이용하면 1G 저장 공간과 트래픽을 무료로 호스팅 받을 수 있게 되니 좋고,
게다가 Google App Engine에 호스팅한다고 얘기하면 뭔가 있어 보이지 않나요? ㅎㅎ

아래 영문 사이트에 들어가시면 Google App Engine에서 호스팅할 수 있는 방법을 간단히 소개하고 있습니다.

http://www.labnol.org/internet/host-website-on-google-app-engine/18801/

위 사이트의 설명을 바탕으로 호스팅하는 순서를 정리하자면 이렇습니다.

  1. 먼저 https://appengine.google.com/ 에 들어가서 새로운 애플리케이션을 생성합니다.
  2. 애플리케이션 이름을 생성합니다. (띄어쓰기 없이 생성합니다)
  3. SDK를 설치합니다. (설치하라니 겁나실 수 있는데 그냥 다운로드 받아 설치만 하면 됩니다)
    1. Python을 설치합니다.
    2. Google App Engine SDK for Python을 설치합니다.
  4. 샘플 웹애플리케이션인 website.zip을 다운로드 받습니다.
  5. 압축을 풀고 app.yaml 파일을 메모장으로 열어서 “labnol”이라고 되어있는 부분을
    2단계에서 지었던 애플리케이션 이름으로 수정합니다.
  6. 이제 업로드만 하면 됩니다. 시작 메뉴에서 Google App Engine Launcher를 실행한 후
    choose File –> Add Existing Application 에서 아까 압축을 푼 폴더를 선택하고 업로드합니다.

이렇게 해서 여러분의 Google App Engine 계정에 홈페이지를 올리셨습니다.
이제 입맛에 맞게 HTML를 수정하시면 되겠습니다.

아래는 지금까지 설명한 순서에 대한 동영상입니다.

Google App Engine이야 말로 믿을 수 있는 호스팅 서비스이자 대표적인 클라우드 서비스입니다.
첫 발표 이후로 계속해서 기능이 업그레이드 되었고, 이슈가 되었던 PHP 지원도 사실상 Quercus를 이용하면 가능한 상태입니다.
Quercus를 이용하여 WordPress를 GAE에 올린 예도 있으니 웬만한 PHP 애플리케이션은 활용이 가능하다는 얘기입니다.

물론 일반적인 웹호스팅 업체에서 호스팅하는 것에 비하면 여러가지로 지원하지 않은 것들도 있겠습니다만,
개발자라면 한번쯤은 재미삼아 올려보는 것도 괜찮을 것 같네요. 🙂

2월 242011
 
구글 클라우드 커넥트(Cloud Connect)는 MS 오피스 문서들을 구글 Docs와 싱크시켜주는 서비스입니다.

다시 말해, MS 오피스의 워드, 엑셀, 파워포인트 문서들을 구글 Docs에 저장시킬 수 있고,
저장할 때마다 싱크시킬 수 있으며, 구글 Docs에서 수정해서 내려받을 수도 있습니다.

게다가 자동으로 버전 관리까지 해주기 때문에 예전 문서를 찾는 수고를 덜어줍니다.
이밖에 클라우드를 사용함으로써 얻는 장점들은 굳이 설명하지 않아도 아실겁니다.

이 서비스를 사용하기 위한 MS 오피스 플러그인 배포가 시작되었습니다.
아래 링크에서 다운로드 받을 수 있습니다. 간단한 소개 동영상도 같이 있습니다.

다운로드 : http://tools.google.com/dlpage/cloudconnect

구글 클라우드 커넥트는 MS 오피스 버전 2003, 2007, 2010에서만 가능하니,
이 버전이 설치된 컴퓨터에서만 사용할 수 있습니다.

2월 152011
 

내 트위터의 following이 많아질수록 점점 의미없는 트윗이 차지하는 비중도 많아집니다.
오늘 하루 올라온 트윗만 보는대도 한참 스크롤을 내려야하는 상황이 되어버립니다.
이처럼 너무 많은 트윗으로 골치아픈 분들을 위해 Smartr 이라는 앱을 소개합니다.

Smartr은 트위터의 글 중에서 링크가 걸린 트윗만 골라서 보여주는 앱입니다.
신문 기사와 같은 의미있는 정보들만 골라서 보여주기 때문에, 정보 수집을 목적으로 트위터를 사용하는 분들에게 유용한 앱입니다.

아래 그림과 같이 링크된 사이트의 헤드라인과 내용 일부를 추려서 리스트로 보여줍니다.

Smartr의 다른 좋은 점은 Instapaper와도 연동이 된다는 겁니다.
즉, 기사 목록도 너무 많다 싶으면 Instapaper에 저장했다가 나중에 따로 읽을 수도 있습니다.

뭐니뭐니해도 무료라는 점이 가장 큰 장점이겠구요..^^

다운로드 : http://itunes.apple.com/kr/app/smartr/id403220903?mt=8

2월 112011
 

자체 개발한 SNS 서비스에 간단한 알리미 기능을 만들 필요가 있어, 어떻게 하면 빠르고 심플하게 개발할 수 있을까 고심끝에
Titanium Desktop을 사용해보기로 하였다.
결론부터 말하면, 처음엔 “우와~”로 시작했다가 나중엔 “에이~”로 끝났다.

Titanium Desktop은

Titanium은 Appcelerator사에서 만든 크로스 플랫폼 지원 개발툴이다.
Webkit 브라우저 엔진을 내장하고 있어 윈도우,맥,리눅스 등의 데스크탑에 공통으로 실행되는 네이티브 애플리케이션을
자바스크립트, PHP, Ruby 등과 같은 웹 개발 언어로 만들 수 있다.
Titanium Mobile 역시 같은 원리로 아이폰,안드로이드 등에서 동작하는 앱 개발을 웹 개발 언어로 할 수 있다.

개발 시작

일단 구글링을 통해 대강의 샘플 코드를 보니 개발은 어렵지 않을 것으로 보였다.
기본적으로 자바스크립트만 알면 웬만한 기능은 간단히 구현이 가능하다.
내게 필요한 알리미 기능은 구현이 정말 간단했다.
아래 Notification 함수만 이해하면 윈도우와 맥에서 모두 돌아가는 알리미 애플리케이션을 만들 수 있다.

var notification = Titanium.Notification.createNotification({
						'title': '타이틀',
						'message': '알림 메시지',
						'timeout': 10,
						'callback': goUserHome(site),
						'icon' : 'app://default_app_logo.png'
					});

이 정도면 하루면 만들겠다는 생각으로 일단 무작정 SDK를 다운로드 받았다.

Titanium Developer

Titanium Developer라는 프로그램을 설치하면 아래와 같은 개발 환경이 실행된다.
첫인상은 일반적인 개발툴에 비해 생소한 느낌이었다. 이런 저런 기능들을 이해하느라 어느정도의 시행착오가 필요했다.

말 그대로 HTML/CSS/Javascript만 가지고 개발이 가능했다.
디자인은 내가 디자이너도 아니고 어차피 내부적으로만 사용할 것이었기에 외부의 모바일 웹 페이지 디자인 소스를 가져다가 붙였다.
사실 http://mobile.twitter.com과 같은 모바일 웹 페이지로 들어가면  모바일 기기에 최적화된 디자인이기 때문에
약간은 애플리케이션스러운 웹 페이지 디자인을 참고할 수 있다.

레퍼런스

레퍼런스 문서는 http://developer.appcelerator.com/apidoc/desktop/latest가 유일무이하다.
게다가  문서도 그닥 상세하지는 않다. 어떤 API는 정말 API 이름만 있고 설명이 없는 것들도 있다.
이 시점에서 순간 아차 싶었지만, 이미 시작한 거 끝까지 가보자는 생각으로 개발을 계속했다.

디버깅

디버깅 환경은 그야말로 열악하다.
디버깅 모드 창을 제공하고 있기는 하나 그닥 도움이 되지 않는다.
사실상 웹 애플리케이션 개발이기 때문에 Firebug와 같은 디버깅 툴이 연동되면 편하겠으나 그렇지 못하다.
비슷하게 Inspector라고 제공하기는 하나 여전히 불편하다.

알리미

아무튼 여차여차 시행착오 끝에 거의 개발을 하긴 했다.
(몇달전에 해본지라 시행착오가 일일이 생각나지는 않는다. 꽤 많은 시행착오가 있었던 것 같다)
일단 실행시켜보니 맥에서 성공적으로 Notification 창이 뜬다.
맥에서의 Notification은 Growl과 연동된다고 했으니 예상했던대로 깔끔하게 뜬다.
여기까지는 좋았다.

이제 기능을 좀 보강하기 위해 알리미를 클릭하면 내가 원하는 웹페이지를 띄우도록 아래와 같은 callback 함수를 추가하였다.

var goUserHome = function(site) {
	document.location.href = site;
};

그런데 아무리 해봐도 웹페이지가 안뜬다. 분명 문서대로 했는데 안된다.
고민고민 끝에 제공하는 샘플코드에서 다음과 같이 써있는 문구를 발견했다.

“Not all platforms support notification callback”

헐.. 어떤 플랫폼에서는 동작할 수 없다니.. 이런 무책임한 말이..
좋다. 그러면 클릭은 포기하고 Notification 시간이라도 늘려야겠다고 생각했다.
상세 정보로 이동하지 못하는 대신 알림 유지 시간이라도 늘려보기로 했다.
timer값을 늘려보았으나 여전히 동작하지 않았다.

배포

이래저래 처음 생각했던 것에 비해 실망스러운 결과물이 나왔다.
정말 알림 기능만 있지 클릭해서 이동하거나 알림 시간을 조절할 수는 없는 그야말로 이름만 알리미였다.
좀 더 자바스크립트단을 파고 들어가볼까도 했지만 그렇게까지 들어가면 굳이 Titanium을 사용할 이유가 없을 것 같았다.
깔끔히 포기하고 이제 배포본을 빌드하기로 했다.
이렇게까지 되니 윈도우에서는 실제로 잘 돌아가는지 의심 스럽기도 했다.

일단 SDK의 배포 프로세스를 진행하면 Appcelerator 사이트를 통해 애플리케이션을 다운로드 받을 수 있도록 배포 웹페이지를 만들어 준다.
다운로드 받은 파일을 직접 배포해도 되겠지만, Appcelerator 사이트를 통하면 업그레이드 관리도 되고 깔끔한 다운로드 페이지도 생성이 되기 때문에 어떻게 배포할 지는 본인이 선택하면 된다.

정말로 맥,리눅스,윈도우용 각각의 바이너리가 생성된다.
아쉬운 점이 있다면 윈도우 64비트에 대해서는 지원하지 않는 것으로 보인다는 점이다.

윈도우 환경에서 실행

이제 중요한건 윈도우에서도 똑같이 돌아가느냐 하는 것이었다.

다운로드 받아 윈도우에서 설치를 진행하는데.., 설치 과정에 Titanium 로고가 떡하니 나타났다.
Titanium을 사용하여 개발했다는 사실이 너무 드러나도록 되어있는 점은 좀 실망스러웠다.

홍포를 위해 어쩔 수 없는 선택이려니 이해하고 일단 설치를 계속 진행했다.
그러나 아니나 다를까 설치과정중에 메모리 문제인지 윈도우 오류를 띄우고 그래픽이 깨지면서 설치가 중단되었다.
어쩜 이리 조악할수가..

하지만 그래도 다행이건 프로그램 폴더에 들어가보니 설치는 되어있더라는 것이다.
실행해보니 혹시나가 역시나.. 맥에서와 달리 디자인이 깨져보였다.
폰트도 틀리고, 높이가 달라 스크롤이 생기는 등 웹에서의 크로스 플랫폼 문제가 고스란히 발생했다. 일단 억지로 디자인을 맞췄다.

마지막 관건은 윈도우에서 알리미가 제대로 동작하느냐인데..
알리미도 잘 뜨고 문구도 보이는데…, 이런, 알리미 로고 이미지가 보이지 않았다.
이것도 수정해볼려다가 이런 식으로는 끝이 없을 것 같아 일단 여기서 개발을 접었다.

결론

Titanium Mobile은 모르겠으나 Titanium Desktop은 원래 표방하는 것처럼 완전한 크로스 플랫폼을 제공하는 것 같지는 않다.
플랫폼에 따라 동작하지 않거나 다르게 동작하는 부분들이 있고, 디자인적으로도 맥용과 윈도우용 각각 어느정도는 신경을 써야하는 부분도 있다.
설치 파일의 용량이라든가 안정성 부분도 아직은 미흡하지 않나 싶다.
그러나 계속해서 업그레이드를 하고 있기 때문에 더 나아지리라 기대해 본다.

2월 012011
 

아이폰을 사용면서 점점 들어나는 앱들 때문에 홈화면 정리에 고민중이라면,
이렇게 정리하면 어떨까 제안해 봅니다.

처음 홈 화면과 하단 고정 바

일단 처음 홈 화면은 아이폰의 기본 앱들로만 배치하고, 하단 고정 바에는 “자주”라는 폴더를 만듭니다.

많은 분들이 기본 앱들을 숨겨서 사용합니다만, 의외로 기본 앱들이 유용하고 많이 쓰입니다.
기본 앱으로 깔려 있는 것은 다 그럴만한 이유가 있다는 것이지요.

그런데 기본 앱의 수가 16개가 넘기 때문에 몇 개는 다음에 설명할 두번째 홈 화면으로 넘겨야 합니다.
저 같은 경우는 잘 사용하지 않는 Game Center와 기본 날씨 앱을 넘겼습니다.
날씨 앱을 넘긴 이유는 KT에서 제공하는 olleh 날씨 앱이 더 정확하기 때문입니다.
아이폰 기본 날씨 앱은 우리나라 기상청에서 제공하는 정보가 아니기 때문에  좀 부정확하답니다.

olleh 날씨 앱을 비롯하여 자주 사용하는 앱들은 하단 고정 바에 “자주”라는 폴더를 만들어 거기에 몰아 넣습니다.
어느때고 “자주”를 터치하면 앱 목록이 바로 열리기 때문에 바로 가기가 편합니다.

두번째 홈 화면

두번째 홈 화면은 가나다순으로 16개의 폴더 목록을 만듭니다.

반드시 16개를 만듭니다. 16개인 이유는 잠시 후 세번째 홈 화면에서 설명하겠습니다.
폴더 목록 구성은 각자 원하는대로 만들면 됩니다. 순서는  고민할 필요없이 가나다순이 가장 적합할 겁니다.
저 같은 경우 의외로 게임 앱을 많이 설치하게 되길래 게임I, 게임II 식으로 같은 폴더 2개를 생성하기도 했습니다.

세번째 홈 화면

세번째 홈 화면은 새로 설치하는 앱들이 위치하는 임시 장소입니다.
두번째 홈 화면이 16개 폴더들과 꽉 차있기 때문에 새로 앱을 설치하면 자동으로 세번째 화면에 설치됩니다.
새로 나오는 앱이나 테스트해보고 싶은 앱들을 맘껏 설치해 보다가,
쓸 만하다 싶으면 두번째 홈 화면의 해당 폴더로 이동 시키고 별로다 싶으면 삭제시키면 됩니다.

결론

기존에 이런저런 식으로 홈 화면 정리를 시도해보았었지만 결국 이 방법이 가장 쓸 만합니다.
아무리 앱을 많이 설치해도 홈 화면 3개 이상 넘어가지 않습니다.
현재까지는 매우 만족하면서 사용하고 있답니다.
혹시 다른 좋은 방법이나 팁이 있다면 알려주세요~~^^

WP2Social Auto Publish Powered By : XYZScripts.com