Facebook Hack – Seoul 후기 2편입니다.
1편은 http://y8k.me/?p=289 에서 보실 수 있습니다.
생에 처음으로 참여한 Hackathon 행사여서 준비보다는 참여하는데 의의를 두자고 생각하고 도전해봤습니다.
행사장에서 친해진 황인서님과 쉬는 시간마다 이런저런 아이디어를 짜내다가
Facebook 의 새로운 feature인 Open Graph 로 targeting을 하고 어떤 컨텐츠로 해볼까 저녁을 먹으면서 논의를 하고 확정을 했습니다. 둘 다 Observer로 갔다가 의지에 불타올라 참여까지 한 상황이었죠..
황인서님은 알고봤더니 목욕의 신 앱을 개발한 멤버더군요. +ㅁ+b
이 게임을 이용해볼까 고민하다가 Action Type을 다중화하기가 어렵다는 결론이 도출되어
평소 고민이 많았던 ‘아임인핫스팟‘ 을 이용해보기로 결정하였습니다.
아직 Open API를 제공하고 있진 않지만 Client를 구현했던 프로젝트이어서 API를 알고 있었고 Action을 다양하게 설정할 수 있다는 점이 선택하게 된 가장 큰 장점이었습니다.
회사 프로젝트 담당PM님에게 허락을 득하고 API 담당 개발자분께 자문을 구하는데까지 성공!
(낙정PM님 경환PD님 감사합니다!)
결정 이후에는 이런저런 잡담을 나누면서 맛난 저녁 식사를 했습니다. (아래 사진)
늦은 점심 후에 이른 저녁식사라 많이 먹진 못했지만
신선한 참치회와 초밥, 그리고 다양한 음식들로 등록비 25$는 충분히 보상받았구나!! 라는 느낌을 아주 강하게 받았습니다.
그리고 함께 제공된 맥주! 오랜만에 음주코딩 한 번 해볼까? 하면서 두 병을 냅다 비워버리고 기분 좋게 행사장으로 다시 내려갔습니다.
드디어 본격적인 HACK 시작!
바로 문제에 부딪치더군요. Open Graph 적용을 위해서는 선행되어야 하는 작업이 몇 가지 있는 것은 다들 아시죠?
우선 Facebook App을 등록해야 하는데 등록 후 부여받은 App id가 object target에 메타로 등록이 되어 있어야 한다는 문제에 부딪쳤습니다. 단순 website를 object로 삼는다면 문제가 되지 않았을텐데 Custom object를 object로 삼다보니 이 부분이 문제였습니다.
API 담당자분께 연락을 드렸더니 Service Server, Test Server 모두 변경이 힘들다는 피드백을 주셨습니다. 당연한거겠죠..
결국 제가 이 블로그를 돌리고 있는 개인서버에 가상 페이지를 만들기로 하고 함께 한 친구는 여기에 몰두했습니다.
스토리 라인은
“핫스팟에서 서비스되는 spot을 찾아가서 “나 여기 왔어요.(Visit)” 를 기본 컨셉으로 잡았으며, 길을 걷다가 “전에 저기가 참 맛있었지 회상하면서 “여기 좋아요(Check)”. 그리고 그걸 Social Graph로 본 친구가 “나도 가봐야지(Bookmark).””
로 잡았습니다.
따라서 Action Type은 방문(Visit), 지나감(Check), 북마크(Bookmark) 세 부분으로 구성하였고 Object Type은 spot 하나로만 구성하였으며 이는 spot은 유선페이지 웹주소로 정했습니다.
끝나고 든 생각이었지만 지도에 Action을 한 위치를 보여줘도 좋을 것 같다는 생각이 들더군요. 하지만 이미 늦은 후회였..
마감까지 활용할 수 있는 시간은 4시간.
자 이제 iOS App을 어떻게 구성을 할까? 라는 고민이 드는 찰나에 행사장에 맥주가 들어왔습니다.
결과물 발표시간이긴 하지만 책상 위 쌓인 맥주병들 보이시죠? 물론 저희 앞 팀 책상이었습니다. (전 딱 두 병 더 마셨어요..)
맥주 홀짝이면서 코딩에 들어갔습니다. 기획은 코딩하면서 하면돼! 라는 생각에 일단 xcode부터 실행했죠.
작업 분담도 한꺼번에 서로 할 일을 나누는 것은 어려우니 작은 미션 하나씩 완성하고 정하고 완성하고 정하는 순으로 정했습니다.
리스트 화면부터 보여줘야하는데 어떻게 하는 것이 좋을까? 란 고민을 하다가 시간도 많지 않은 상황이라
아래와 같이 간단히 정리했습니다.
내 주변의 스팟들을 지도와 함께 리스트를 보여주고 또한 함께 친구들의 Social Graph Activity를 보여준다.
해당 spot의 상세에서는 Action 중 하나를 선택하여 Social Graph에 표현해준다.
각자 맡은 일로 말없이 코딩하는 중에 갑자기 인터넷이 먹통이 되어버리는 사태가 발생했습니다.
행사장은 무선인터넷의 한계를 짐작하고 각 자리마다 유선인터넷을 사용할 수 있도록 해놓았었는데 그마저도 불통이 되어버렸습니다. 다행히 비상시에 사용하기 위해 가지고 다니던 에그를 이용해서 큰 문제는 없었지만 여러 곳에서 한숨소리가 들리더군요..
저녁 9시 30분.
인터넷 대란(?)과 짧은 시간으로 인해 사회자가 심사순서 명단을 스크린에 올렸을 때도
다들 코딩을 멈추지 않는 정말 멋진 장면을 보았습니다. 열의와 에너지가 회의실 내에 충만함을 몸이 느낄 정도였습니다.
아래는 심사 순서 명단입니다. 각 팀은 결과물을 들고 연단에 올라가 컨셉과 구동 모습을 보여주도록 하였는데 제한시간은 2분.
물론 여러 문제로 인해 9시 30분이 아닌 10시에 심사를 시작해서 급하게 운영하더군요.
저희 팀이름은 hotspot이었습니다. 5번째쯤 발표를 했었는데 이미 저는 탈진상태여서 무슨 말을 했는지 기억도 안납니다…
하지만 내려오면서 심사의원분들의 고민하는 모습을 보고는 ‘완성했었으면 확실했는데…’란 후회는 확실히 했었던 것 같습니다..
아래는 구현된 앱을 통해 제가 Hack에서 급하게 수행한 Social Graph의 모습과 Facebook App에 남은 흔적입니다.
구현한 iOS앱은 허접해서 스크린샷 생략하겠습니다.. Deep Linking 을 구현하다가 완료를 못했네요..
조만간 회사 프로젝트나 개인 프로젝트에 꼭 적용 완성하여 공개하고 노하우도 함께 공유하겠습니다!!
위 화면은 무려 두 번째 명단입니다. 사실 이 사진 촬영하고 더 추가가 되었다죠…
상품입니다. 삼성에서 제공한 갤럭시 노트 4대였습니다.
각 부분 1등과 전체 1등에게 한 대씩 제공되었습니다. 열악하더군요..
상품을 받고 싶어하는 마음보다도 어떤 평가를 받을지가 더 궁금했습니다. 사실 받아도 팔 것 같아서..
심사가 완료되었다고 직원분이 결과를 들고 연단에 올라섰을 때 아주 조금의 기대도 없이 딴짓 중이었는데
핫스팟이라는 말을 듣고는 정말 깜짝놀라서 자리에서 일어날 뻔 했었는데 이어지는 “너무 아쉽다”라는 말에서 ‘떨어졌군..’ 했습니다.
11시가 조금 넘어서야 심사 및 발표, 시상이 끝나고 모두 모이라고 하더군요.
너무 늦어져서 중간에 가신 분들도 많았습니다. 모인 이유는 단체 사진이었습니다. 저에겐 참 의미있는 단체 사진이네요.
개인적으로는 평소에 궁금해하던 Open Graph를 Facebook 담당자에게 직접 조언을 들으면서 개발을 하고 배웠다는 점과 함께
참여했던 분들이 당일날 가입했던 Facebook Hack Group을 지속적으로 운영할 예정이라는 발표였습니다.
궁금점이나 개선점, 변경점을 Facebook Blog보다 더 빠르게 볼 수 있을 것이라는 기대와 함께
놀라운 열정을 보여준 개발자분들과도 지속적으로 connection이 될 수 있고 노하우를 나눌 수 있다는 거대 장점!!
이미 그룹 안에서는 너무 재미있었다. 팀을 유지하고 싶다. 우리끼리 hack을 하자라는 여러 의견들이 실시간(?)으로 올라오고 있어서 읽는 재미도 쏠쏠합니다. ㅋ
정말 많은 것을 얻었던 행사였습니다.
이상 형식없이 맘대로 끄적인 Facebook hack 후기를 마칩니다.
PS : 저 단체 사진에서 절 찾아보세요- ㅋ