반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 받은 트랙백

글 보관함


Posted on . Written by


훌륭한 앱도 하나의 아이디어에서 시작합니다. 하지만 어떻게 여러분의 아이디어를 모바일에서 시련할까요?

오늘 저희들은 Corona SDK Tech Tutorials Center를 여러분에게 소개합니다. 바로 오늘 문을 열었습니다. 여러분의 모든 테크니컬한 요구들을 가서 찾아볼 수 있습니다. “partner in crime”, “Robin to your Batman” , 찐빵의 앙꼬?? 하옇든 뭐든 아이디어를 얻으세요.

이 Tech Tutorial Center 는 guide들의 collection 입니다. 샘플 프로젝트, 팁, trick, 그리고 코로나와 관련된 광범위한 자료들이 다 모여 있습니다.

코로나의 신참이든 경력이 많든 여러분은 검증된 앱 개발 방법과 전략 그리고 가장 자주 질문되는 것들을 통해 해답을 찾는데 시간을 절감할 수 있는 방법들을 찾을 수 있을겁니다. 

뭔가 새로운것을 배우기 원하시든지 아니면 그냥 여러분의 coding skill을 발전시키기 원하시면 이곳을 활용하세요.





질문이나 제안 등이 있으시다면 혹은 리스트에 추가할 새로운 tutorial 이 있으시면 tutorials@coronalabs.com.로 연락을 주세요.




반응형

Comment


Posted on . Written by


Corona 의 철학과 어떤 일에 대한 우리의 접근법은 오랫동안 숨낳은 경험을 통해 얻게 된 정수입니다. Adobe 에서의 제 경험은 그 중 아주 큰 부분입니다. Adobe 가 게임에서 TOP 을 점유하고 있을 때, 저는 기억합니다 그 회사의 founder들에 대한 두가지 중요한 사항들을...


첫번째는 그들은 그들의 product 를 위해 헌신했습니다. 한번은 Chuck Geshke 와 그의 board member 인 Robert Sedgewick (예 바로 그 Algorithms 책들의 저자이죠) 가 왔고 우리팀과 같이 점심을 먹었습니다. Chuck 는 제 바로 오른쪽에 앉았고 그가 처음 한 일은 저에게 Illustrator 의 어떤 printer bug 에 대해 물어본 것이었습니다. 그의 공동 창업자 John Warnock 도 회사를 걷다가 아무데나 앉아서 engineer 랑 shop 에 대해 얘기하는 그런 스타일의 사람으로 유명했습니다.



두번째로는 다른 팀원과의 원할한 관계를 강조했습니다. 재능있는 인재는 다른 재능있는 인재와 일하길 원합니다. Chuck 이 자주 말하는 것 중 하나가 성공하는 가장 확실한 방법은 너 자신을 변화시키는 것이다 라는 것이었습니다. 그 의미는 뭐냐하면 다음 단계의 일을 시작하기 전에 먼저 자신부터 확실하게 기반을 다지라는 것이었습니다. 그리고 자신이 거기에 대해 이뤄 놓은 것보다 더 낳은 일을 하기 위해 그 기반을 잘 이어나갈 right person 이라는 것을 찾아야 한다고 얘기합니다. 그리고 더불어서 네가 믿을 만한 사람을 찾으라는 겁니다.



오늘 Corona engineering을 이끌어 나갈 사람을 찾았다는 얘기를 하게 되서 기쁘게 생각합니다. Perry Clarke 이 VP of Engineering 으로 우리와 한 가족이 됐습니다. Perry 는 12년간 신생기업과 큰 기업 모두에서 engineering 과 management 로 일한 경력이 있습니다. cloud 에서 desktop software 까지 그리고 Yahoo에서 Sun 까지요.





Perry 와 저는 최근 재회를 했습니다. 그가 정식으로 인터뷰를 시작하기 전에 이미 저에게 깊은 감명을 준 것은, 우리가 어떤 일을 했는지 정말로 알기 위해서 그 자신이 해킹한 코로나 앱이 있는 아이폰을 저에게 보여준 것입니다. 말할 필요도 없이 그는 그 코드를 분석하는 수고로움에 대한 두려움도 없었고 product 에 대한 강한 정열이 있었습니다.


여기 정말 흥미로운 일화가 있습니다. 10년 전에 Perry 는 Konfabulator 를 공동으로 만들었습니다. Konfabulator 은 애플의 Mac OS X의 Dashboard widget 에서 영감을 받아 데스크탑용 으로 만든 rapid aplication development platform 으로 아주 유명한 widget 이죠. 이 프로그램은 데스크 탑 애플리케이션을 정말로 쉽게 만들 수 있도록 하자는 아이디어에서 시작했습니다. 그들의 technology 위에서 수많은 indie developer 들이 앱을 만들었고 또 community 에서 활발하게 활동들을 하도록 만들었죠.




이 얘기를 듣고 뭔가 생각나지 않으세요? Wink, wink, nudge, nudge. ;-)

Perry 가 우리 Corona engineering 팀에 같이 하게 되서 저는 너무너무 기쁩니다. 그로 인해 앞으로도 간단없는 개선이 이뤄져 나가길 기대합니다. 우리 둘은 같은 철학을 가지고 있습니다. 

it’s all about setting a higher standard

저에게는 많은 계획들이 있습니다. 제안에 끓고 있는 engineer 의 피가 뭔가 더 코딩하지 않으면 못견디게 만들거든요.

Is the team really ready for more code checkins coming from yours truly? :-)



반응형

Comment



Posted on

. Written by


여러분들 중 특히 캘리포니아에 사시는 분들은 앱 privacy policies 과 관련해 요구되는 것에 대한 recent news story에 대해 들어보신 적이 있으실 겁니다. 만약 들어보시지 못하셨다면 잘 들여다 보셔야 합니다.


여러분이 어디에 계시든 여러분들은 이 privacy policy 에 입각해서 어떤 정보들을 수집하는지 그걸로 무엇을 할지에 대해 설명해야 합니다. 


다시 한번 강조드리는데 여러분들도 이와 관련해서 유념하셔야 하셔야 되구요. 그와 관련된 정보를 Corona Labs 에서 얻으실 수 있습니다. 저희들은 몇달전에 “Privacy Policy for App Users” 를 업로드 했습니다. 이 문서는 여러분과 여러분 앱의 유저들에게 우리들이 어떤 정보들을 capture 하는지에 대해 알려드리기 위한 겁니다.



만약 여러분이 여러분 앱에 이 privacy policy 를 넣으시기로 하셨다면 이 문서를 기반으로 여러분에 맞게 약간만 변형해서 사용하실 수 있을 겁니다. 


끝으로 이와 관련한 캘리포니아에서 요구하는 것은 아직 확실하지는 않습니다.  그리고 이 privacy policy 의 형식과 정보에 대해서도 확실하게 나온것은 없습니다. 그냥 저희들이 만든것을 여러분에게 guideline으로 제공하니 활용하시기 바랍니다. 질문이 있으시면 언제든지 물어보세요. 단 저희들은 변호사가 아니라서 법적인 조언까지는 못해드립니다.:)



감사합니다.






반응형

Comment

코로나 : New public release 발표

2012. 11. 21. 02:59 | Posted by 솔웅


Posted on . Written by


지난주 새로운 공개버전 릴리즈에 대해 넌지시 얘기 드렸었습니다. 오늘 latest Corona public release버전이 공개 돼 누구나 다운로드 받아서 사용할 수 있게 됐습니다.


이번 공개 버전에는 수 많은 기능들과 개선 사항들 그리고 에러 수정이 있습니다. 자세한 내용들은  2012.971 release notes 에서 보실 수 있습니다.


모바일 industry 는 holiday season을 앞두고 가을에 새로운 디바이스들을 release 하는 경향이 있습니다. 이번 시즌에는 iPhone 5, Kindle Fire HD7" 와 8.9", Nook HD 와 HD+ 그리고 iPad Mini 등이 있습니다. 정말 많은 device 들이 발표 됐네요!


그래서 저희들은 이번 릴리즈에 이 새로운 device 들과 그에 따라 발표되는 새로운 OS update에 주로 포커스를 맞춰서 작업했습니다. 이번 public release에 앞서 저희들은 실시간으로 daily builds를 통해서 이 작업을 했었습니다. iOS 6 의 GameCenter orientation 버그와 Nook HD compatibility, iOS 6 Beta 용 device builds 등등 이 그것입니다.




또한 많은 분들이 요청하셨던 안드로이드 관련 주요 기능 지원에 대해서도작업을 했구요. 그 중에 두가지만 얘기하자면 map views and notifications 가 있습니다. (예 그리고 remote push 가 곧 지원될 겁니다.) 이와 관련해서 저희들은 모든 안드로이드 flavor들에도 이 기능들이 원활히 작동되도록 만들었습니다. 사실 이 작업이 아주 많은 일을 해야 되는 부분 입니다. 만약 여러분이 Android SDK 를 사용한다면 맵에 대해서는 별도로 3번의 코딩을 해야 합니다. 왜냐하면 구글은 Google Play 를 통한 Android device들에 대해서만 맵을 지원하거든요. (아마존이나 Barnes and noble 앱 스토어용 앱은 별도로 작업해야 합니다.) 하지만 Corona SDK 에서는 한번의 코딩에서 이런 다양한 안드로이드 flavor 들에서 작동이 되도록 만들었습니다.


이쪽 바닥은 아주 빛의 속도로 움직이고 있기 때문에 저희들도 이 속도에 맞춰서 engineering process들을 잡아가고 있습니다. 그래서 모든 변화에 거의 동시간으로 여러분께 해당 기능 지원이 가능한 버전을 선사해 드리고 있습니다. 기존에 계획했던 것들도 시장이 상황이 많이 변하면 재빠르게 거기에 맞춰서 계획을 수정하고 대응해 나가고 있는 상황입니다.





daily builds에서 가장 중요한 부분은 버그를 잡는 부분입니다. 이상한 점이 발견되면 바로 다음번 daily build에서 이 사항들을 수정하고 있습니다. 이것이 저희의 방침입니다. 작년과 비교하면 daily build 의 quality 는 확실히 나아졌고 일관성을 꾸준히 유지해 가고 있습니다.


여러분 모두가 다음번 daily build 에서 함께 했으면 합니다.


다음 daily builds 는 담주 월요일(11/26) 저녁이 될 겁니다.



반응형

Comment


Posted on . Written by


Team Corona,


오늘 아침 more funding을 발표 했습니다. 3년전 우리들의 original funding 이 얼마였는지를 생각하면 내년도에는 우리가 무엇을 하고 있을까에 대해 extremely excited 해 집니다.


그 마음으로 Corona가 가는 방향에 대해 여러분과 간략하게 공유하고 싶은 것들이 있습니다.

첫번째로 리더와 follower가 있습니다. 그리고 나중에는 많은 경쟁자들로부터의 많은 attention이 있습니다. 여러분 모두에게 감사드립니다. 코로나는 이제 market leader 입니다. 지금 world 는 지금 우리가 하고 있는 것들을 imitate 하고 있는 동안 우리는 world 가 어디로 가야할 지에 focus를 맞추고 있습니다.


초기에 우리는 여러분들이 앱을 만들 수 있어야 된다고 믿었습니다. 그리고 여러분들은 코로나와 함께 next hit app을 만들 수 있다고 믿었습니다. 그리고 몇년 후인 지금 우리는 indies 부터 studios 까지 그리고 10대들 부터 80대(octogenarians) 까지 모든 개발자들이 사용할 수 있는 유일한 모바일 플랫폼이 됐습니다.



게다가 우리는 끊임없이 개선하고 발전해 나가고 있습니다. platform을 만드는 것은 정말로 어려운 일입니다. 왜냐하면 만드는 것 자체로 끝나는 게 아니거든요. 이것을 재빠르게 adapt 해야 합니다. 예를 들어 iOS 6 가 나왔을 때 GameCenter orientation 같은 애플 버그(Apple bugs)에 저희들은 재빠르게 대처해 나갔습니다. 그리고 iPhone 5 가 나왔을 때 여러분들이 이 새로운 기기에 맞게 어떻게 앱을 만들어야 하는지 대처방법을 제공한 유일한 platform 이었습니다.


저는 한달이 지난 지금에야 우리의 경쟁자들이 이러한 작업을 하기 시작하는 것을 보게 됩니다. 그 동안 industry 는 계속 변해가고 있습니다. 그리고 우리가 유일하게 그것을 따라가고 있습니다. iOS 6.1 Beta 1 이 나왔을 때 저희들이 유일하게 이를 위한 device build 를 가능하도록 했습니다. 애플이 그것을 release 한 바로 다음날에요.


앞으로를 보죠. 저희들은 여러분들에게 선 보일 여러 기능들이 pipeline에 가지고 있습니다. 아래 내용들이 그중 일부분 입니다.

  • New graphics engine: shaders + image filters + augmented reality + full blending modes + more
  • Add-ons: lots more 3rd party services and monetization options
  • Going beyond gaming: from next-generation widgets to web-based technologies


이것 외에도 여러가지 것들이 곧 발표를 기다리고 있습니다. 우리는 higher standard를 지향하고 있습니다. 여러분들께 약속 드립니다. 설익은 빵을 여러분들에게 제공하지 않겠습니다. 온전한 기능들을 그리고 higher standard를 제공해 드리겠습니다. 저희들은 항상 higher 를 aiming 하고 있습니다.


매일 저녁 저는 집으로 가는 길에 Computer History Museum 을 지나갑니다. 그리고 10여년 후에 사람들이 하는 얘기들을 상상합니다. 그 말 중에는 지금 우리들이 하는 일들도 있을 겁니다. 우리 팀과 여러분들이 만들어 나가는 이 일들도 있을 겁니다. 우리는 같이 software 의 pantheon을 만듭니다.


우리는 같이 역사를 만들고 있습니다.


Walter



==== 개인적으로 Corona SDK 를 접한지도 2년이 됩니다. Corona SDK 는 태어난지 3년이 됩니다. Corona SDK 자체로도 편리하고 아주 유용하지만 그것을 만들고 운영해 나가는 조직이 활기차고 젊고 열정적입니다. Walter는 지금 Corona SDK의 CEO 입니다. 그와 그 팀들 그리고 저를 비롯한 수많은 Corona SDK 가 진짜 역사를 만들것을 믿습니다. 저는 지금 회사에서 다른 Web App 프로젝트에 참여를 하고 있어서 Corona SDK 작업은 하고 있지 않지만. 계속 새로 나오는 소식, 새로 나오는 기술들을 제 블로그에 정리하면서 때를 기다리고 있습니다.

그리고 이 정리하고 있는 글들이 관심있는 한국분들에게 조금이라도 도움이 되면 좋겠습니다. ===




반응형

Comment

  1. william 2012.11.18 22:05

    코로나로 개발하면서 거의 매일 블로그에 들르고 있습니다. 좋은 정보 항상 감사드립니다 ^^

    • 솔웅 2012.11.20 05:02 신고

      매일 들러주고 계신다니 정말 감사드립니다.
      요즘은 웹앱 프로젝트를 하고 있어서 주로 jQuery Mobile 관련된 글을 올리는데...
      지금은 대기업쪽 일을 하고 있는데요.
      아직 Corona SDK 가 대기업차원에서 활용될 일이 없어서 실무에서 Corona SDK 를 다룰 일은 없네요.
      그래서 제 경험을 바탕으로 유용한 팁이나 기술 혹은 다양한 정보를 전해드리지는 못하는게 저도 아쉽습니다.
      다행히 Corona SDK 측에서 아주 유용한 정보들을 정기적으로 포스팅 해 줘서 그 정보 만큼은 빠뜨리지 않고 제 블로그에 정리하고 있습니다.
      계속 많이 들러 주세요.
      감사합니다.


Posted on . Written by


코로나에서의 안드로이드 notification 에 대해 새로운 소식을 전해 드리기로 했죠. 그리고 안드로이드와 iOS 의 notification 은 완전히 다른 거라서 cross-platform development가 얼마나 어려운 건지를 이 기능이 잘 보여준다고 말씀 드렸구요.



만약 우리가 iOS 플랫폼을 위해서만 개발을 했다면 이런 기능들을 아주 빨리 추가하고 다른 일들도 빨리빨리 진행 해 나갔을 겁니다. 하지만 우리는 Android 도 지원을 하고 있습니다. 그 외에도 desktop app 이나 Corona Simulator 에서 동작할 수 있도록하는 작업도 해야 되구요. 그리고 사실 Mac 과 윈도우에서도 동작하도록 하는 작업도 하고 있습니다.


The ‘I’ in API


이 4개의 OS들 중 안드로이드 부분이 일 진행이 가장 더딥니다. 내부적으로 우리끼리 통하는 룰이 있습니다. 안드로이드 관련 작업은 최소한 5~10배는 더 다른것들보다 소요 된다구요. 거기에는 두가지 원인이 있습니다.


첫번째로 안드로이드에는 mulriple (forked) flavor들이 있습니다. 게다가 standard Android (Google Play) 이외에도 Kindle 과 NOOK 이 있구요 여기에도 각각 자신들의 앱 스토어가 있습니다. 이런 이유 때문에 같은 버전이라도 모든 안드로이드 디바이스들에 맞게 다르게 작업을 해야 하는 부분들이 있습니다. 일례로 OpenGL device driver 가 각 디바이스별로 다른 performance 를 보여주기 때문에 별도로 작업을 해야 했습니다. 여기에 여러 다른 서비스들이 있죠. 예를 들어 maps, in-app purchase, notification 등등이요. 이런 서비스들도 서로 완전히 다릅니다. 이런 서비스들에 어떤 변화가 오면 서로 다른 OS들은 물론 같은 OS라도 서로 다른 device 별로 개발과 테스트를 따로 해야 됩니다.



두번째로는 Android API는 그렇게 충실하지 못합니다. 어떤 경우에는 API 자체에 잘못된 부분도 있지요. 하지만 그것보다도 저는 API design 자체가 충실하지 못합니다. 제 생각에 API 의 I 는 interface 대신 interaction 으로 해야 더 맞다고 생각합니다. 그 이유는 개발자가 이 것들과 interact 해야만 하니까요. iOS API 는 NextStep에서 온 오리지널 MacOS API 가 개선된 걸 겁니다. 그러니까 이 API는 10 수년간 다듬어 진 것이지요. 그리고 오랜 기간동안 다듬어진 것처럼 보이기도 합니다. naming 과 API 의 semantic이 일관성있게 만들어 져 있습니다.



반면에 안드로이드는 새로 만든 API 입니다. 그리고 아주 좋은 API라고 할 수는 없습니다. 우리는 안드로이드 API 중에 awkward한 API를 아주 많이 봤습니다. 그리고 85% 정도만 설명이 돼 있고 15% 부족한 부분도 많이 봤습니다.


예를 들어서 안드로이드에서 multitouch 를 implement 할 때 많은 장애물들을 뛰어 넘고 나서야 각각의 touch들을 identify 할 수 있었습니다. 화면에 손가락이 touch 됐을 때 그 터치 이벤트가 터치되고 move 되고 화면에서 떼어질 때까지 같은 id를 갖고 있어야 합니다. multitouch 에서는 이 부분이 아주 중요하죠. 여러 터치 이벤트 들을 서로 구분해야 하니까요. 하지만 안드로이드의 MotionEvent 에서 이 id 들은 unique 하지가 않습니다. 그래서 저희들은 저희들의 방법을 따로 만들어야 했습니다.




Android notification infrastructure (or lack thereof)


안드로이드를 상대로 일을 할 때 우리만의 방법을 만들어 내야만 하는 경우는 이제 저희들에게는 일반적인 것으로 받아들여 집니다. 그리고 안드로이드의 notification을 만들 때도 마찬가지로 저희 팀은 저희들만의 방법을 만들어서 부족한 부분을 메꾸어 넣어야 했습니다. 우리가 iOS 에서 한 것과 비슷하게 안드로이드에서도 기능하도록 하기 위해서 저희들은 여러 scaffolding 을 만들어야 했습니다.


예를 들어 Corona API 에서는 notification을 schedule 하는 기능이 있습니다. iOS notion 에서는 단 한줄로 이 기능을 사용할 수 있었습니다. 그런데 안드로이드에서는요... 그렇게 쉽지는 않았습니다. 거기에는 schedule notification 기능이 없었습니다. 그래서 저희들이 그 기능을 만들어 넣어야 했지요.


이 부분은 그렇게 큰 문제는 아니었습니다. 정말로 큰 문제는 안드로이드가 자신의 notification을 관리하기 위해 app에 요구하는 것들이었습니다. 즉 앱은 notification work을 만들기 위해 여러 가지로 관리되어야만 합니다. 특히 앱이 background로 돌아갈 때나 강제로 앱이 exit 됐을 때 혹은 phone 이 reboot 될 때 등입니다. None of these come out of the box.


여러분의 앱이 background로 돌아갈 때 (예를 들어 back button을 눌렀을 떄) scheduled notification은 시간이 되면 나타나야 합니다. 여러분이 앱을 강제로 종료했을 때 schedule 된 notification은 나타나지 않을 겁니다. 이게 안드로이드의 limitation 입니다. OS 가 제공해야 되는 기능인데 제공하지 못하고 있는 거죠.


다른 경우는, 여러분이 앱을 강제로 종료했거나 phone을 reboot 했다면 notification은 status bar 가 사라지면서 그 자리에 나타날 겁니다. 왜냐하면 notification은 앱과 연결돼 있고 OS 에서 globally reside 되지 않기 때문이죠. 그래서 우리가 무엇을 했는가 하면 이 notification을 persist 하도록 한 겁니다. 그래서 앱을 relaunch 하면 이 notification들은 status bar 안에 다시 나타나게 됩니다. 메일 앱에서의 기능이랑 비슷한 거죠.


무슨 의미냐 하면 notification이 scheduled 되면 이 notification들은 오직 앱이 foreground 이거나 background 일 경우에만 나타납니다. 그리고 만약 그 앱이 강제 종료 됐거나 phone 이 reboot 됐다면 그 notification은 나타나지 않는 겁니다.


status bar 에 나타나는 notification이 흥미로운 부분입니다. 왜냐하면 애플리케이션은 status bar에 나타나는 자신의 notification을 manage 해야하거든요. 왜냐하면 메일 앱이 하는 것처럼 우리가 그 notification을 persist 했으니까요. 유저가 tap 하게 되면 status bar에 있는 notification을 clear 혹은 remove 시켜야 합니다. 그래야지 persistence data가 제대로 sync'd 되니까요.


그 위에 저희들은 안드로이드에 unique 한 것들을 몇개 추가했습니다. 코로나의 디폴트 notification icon 대신에 여러분의 custom icon을 넣을 수 있도록요. 그리고 iOS notification에 익숙한 분들을 위한 몇가지 기능들도요. 그리고 custom notification sound 같은 것들도...



이런 것들은 모두 나름대로의 trick 을 사용한 겁니다. 하지만 제대로 동작을 하죠. 저희들은 standard Android, Kindle, NOOK 에서 돌아가는 notification system 을 만든 겁니다.


이런 작업들이 안드로이드에 remote push notification 기능을 코로나에서 지원하도록 하기 위해 한 작업들 입니다. Google Play's service (Google Cloud Messaging)들은 standard Android device에서만 제공된다는 것을 유의하세요. 


==== 원문은 저 위의 제목에 달린 링크를 따라 가시면 나옵니다. 이해가 안되게 번역이 됐거나 잘 못 번역이 된 것은 다 제 실력이 모자라기 때문입니다. 필요하시면 저 링크를 클릭해서 원문을 참조하세요. ===

반응형

Comment

  1. eeore 2012.12.09 18:26

    질문이 있어서 답글 남깁니다. 안드로이드에 대해서도 Remote push notification을 지원하고 있는 건가요? 아니면 아직 Scheduled notification만 지원하고 있는 상태인가요? 답변 부탁드려요^^

    • 솔웅 2012.12.09 18:57 신고

      http://www.coronalabs.com/resources/roadmap/ 로 가셔서 확인해 보세요.
      안드로이드에서는 아직 push notification 기능이 지원이 안 되는 걸로 나와 있네요.

      감사합니다. ^^


Posted on . Written by



정신 없는 한 주 였습니다. 이제 겨우 의자에 엉덩이를 붙여 이 글을 쓸 수 있게 됐네요. 오늘 알려드릴 Electronic Arts and Corona와 관련된 건데요. 이것 말고도 곧 발표될 내용들이 많이 기다리고 있습니다. Electronic Arts and Corona는 그 시작일 뿐이죠.


새로운 기술적인 부분도 많이 진행되고 있습니다. 지금은 새로운 device들의 season 인것 같습니다. Kindle HD, NOOK HD, iPhone 5, iPad Mini 등 많은 새로운 디바이스들이 쏟아져 나오고 있습니다. 그래서 이번에 new public release 를 하려고 합니다.






여기에는 두가지 의미가 담겨 있습니다. 첫번째는 여러 기능들이 유료 사용자만 다운 받을 수 있는 new daily builds 가 아닌 모든 사람들이 다운 받을 수 있는 public 버전에 포함될 거라는 겁니다. 새로운 기능들이 완전히 확정이 되서 발표 된다는 것이죠. 두번째는 그 이후에 나오는 daily builds 들은 이 public 버전의 버그들을 fix 한 내용들이 당분간 적용이 될 겁니다.


추신 : 제 기억이 맞다면 제가 안드로이드와 notification 에 대해 여러분들에게 새로운 소식을 전해드리기로 했었죠? 지난주에...... 곧 알려드리겠습니다. 코로나의 진정한 cross-platform experience 를 보여드리기 위해 이 작업에 만전을 기하고 있으니까요.



반응형

Comment



Posted on

. Written by



오늘 Electronic Arts (EA)사가 Word Smack game을 새로 개발해서 출시했다는 소식을 기쁘게 알려드립니다. 바로 모두가 좋아하는 cross-platform development platform으로 개발을 한 게임입니다. 예 맞습니다. 세계에서 가장 큰 게임 개발사 중의 하나인 EA 사가 코로나로 게임을 개발해서 출시했습니다.




Corona team 은 good guessing game 을 사랑합니다. EA의 Word Smack 는 정말 짱이구요. 두개의 유명한 보드 게임을 합쳐놓은 것 같아요. Mastermind 하고 Scrabble 요. Word Smack 는 2인용 게임이구요. 3라운드에 5 글자의 단어를 맞추는 거예요. 처음 게임을 시작하면 보드에 글자가 보일 겁니다. 그러면 나머지 칸을 여러분이 다른 글자로 채워 넣는 거예요.



너무 쉽게 생각하지 마세요. 만만치 않아요. 고맙게도 Word Smack 은 오른쪽에 살짝 힌트를 제공해 줘요. 만약에 맞는 글자(알파벳)인데 칸을 다른 곳에 넣었다면 이것을 알 수 있게 해주죠. Facebook integration은 친구들끼리 시합을 할 수도 있게 해 줍니다. 그리고 random 하게 상대방을 골라서 게임을 할 수도 있구요. 상대편 보다 단어를 더 빨리 맞추면 되는 겁니다.





word game 을 좋아하는 분들을 위해 power up 기능을 구입할 수도 있습니다. power up 은 word synonym들을 제공합니다. Word Smack 은 바로 오늘 출시 됐습니다. 

App Store에서 지금 당장 free 버전을 다운 받아 보세요.



반응형

Comment


Posted on . Written by


Improved Android audio


우리 엔지니어들한테 물어보면 디바이스의 오디오 관련해서 아무런 문제 없이 다루는 것이 어렵다고 말합니다. 애플조차도 그렇게 하지는 못합니다. 다만 다른 것들 보다 문제가 덜 생기도록 만들죠.

daily build 942에서부터 우리의 오디오 backend로 Android 2.3+ 디바이스에 있는 OpenSL-ES 를 사용하기 시작했습니다. 이 back-end 는 뭐하는 걸까요?







처음 듣는 분들을 위해 말씀 드리자면 오디오가 작동되지 않는 디바이스(e.g. the Vizio, one of the Samsung SII models, etc)의 고질적인 문제 점들을 수정했다는 얘기입니다. 또한 아주 미묘한 performance 개선 사항들이 있습니다. 예를 들어 동시에 여러 sound를 play 할 경우 hisses and pops 같은 것들이 찌그러지는 경우가 있는데 이런 부분들이 살짝 개선됐습니다.


만약 안드로이드의 ‘EggBreaker’ sample 을 play 하면 객체가 튕기는 시점에 튕기는 소리가 나지 않는 것을 느끼실 수 있을 겁니다. 이것은 longstanding latency 문제 때문인데요. 안드로이드 초창기부터 있어 왔던 겁니다. 즉 안드로이드 OS와 관련한 이슈중 하나죠. 최근 이 부분이 아주 살짝 개선되기는 했습니다. 이번 개선사항 중 가장 중요한 것은 안드로이드의 Core OS change 로 부터 온 것 입니다. Android 4.1 인 JellyBean 부터 적용됐습니다.



New Widgets!


저희들은 widget framework 을 좀 더 개선하고 cleaning up 하기 위해 많은 노력을 기울였습니다. initial framework을 생성했을 때 오리지널 코드를 상하기 쉽도록 하는 많은 것들(brittle, fragile, and just unmaintainable)을 접합니다.

widget framework 에 대해 개선하고 싶은 부분들이 아주 많이 있지만 간단하지 않은 부분들 또한 많이 있습니다. 저희들이 하기로 한 부분은 각 widget들의 어떻게 해야 제대로 작동하는 것인지에 대해 rethink 해 보기로 했습니다.





기존 widget에 rewrite 하는 부분은 위험도가 있습니다. 저희들은 새로운 widget을 먼저 만들고 이 부분이 확실하게 동작하면 이 새로운 widget들을 이전의 widget들과 바꿀 겁니다.


Daily build 942 에는 새로운 몇개의 widget들이 선보입니다.


  • On/Off Switch. 3가지 형태로 나옵니다.: an actual on/off switch, a checkbox, and a single radio button.
  • Spinner. The canonical use-case is lots of photos being download asynchronously. Note if you make a blocking API call (e.g. a luasocket call), this will not animate. For that case, you should use native.setActivityIndicator().
  • Stepper. You tap ‘+’ or ‘-’ and the values go up and down within a predefined range.
  • Progress view. A bar that goes from 0% to 100% filled.


좀 더 많은 정보들은 API docs 의 daily build 942 snapshot 부분에서 보실 수 있게 될 겁니다. 또한 이번 빌드에서 업데이트된 WidgetDemo sample app 을 제공해 드릴 겁니다. 


다음에 저희들이 작업할 widget들은 segmented controls 와 search fields 입니다.


A Teaser


Finally, I’m going to talk about something that I’m not really going to talk about — yet. What I mean is, this topic deserves a post of its own, so we’re saving that for next week. What am I talking about?

마지막으로 지금 얘기할 것은 이번 글에서 다루지는 않을 겁니다. 무슨 얘기냐 하면 이 이슈는 따로 글로 작성해서 보여드릴 거라는 겁니다. 다음주에 이와 관련해서 말씀 드리겠습니다. 


단지 daily build 942 에서 이와 관련된 기능을 살짝 맛 보실 수 있습니다.


Android: Added local/scheduled notification support.


이와 관련해서 아주 많은 부분들의 작업이 있었습니다. 코로나 같은 cross-platform development framework을 사용하는 잇점을 제대로 느끼실 수 있을 겁니다.



notification은 platform 마다 완전히 다릅니다. 코로나는 이 완전히 다른 사용법을 한가지 방법만 취하면 구현 가능하도록 간단하게 여러분께 길을 제공해 드릴 겁니다.


저희들은 여러분들이 해야할 일들을 줄이기 위해서 여러 복잡하고 어려운 부분을 줄이는 여러 큰 일들을 꾸준히 진행하고 있습니다.


감사합니다.






반응형

Comment


Posted on . Written by


iOS6의 landscape/Game Center orientation issue 와 관련 코로나에서 많은 개선을 했다는 것을 말씀 드리게 되서 기쁩니다. 이 개선된 사항들은 Corona daily build 930에서 사용하실 수 있습니다.

처음 저희가 이 문제에 접근할 때 물리학자들이 자연의 forces들을 unify 하기 위한 접금 자세와 같은 자세였습니다. 최대한 일반적인 해결책을 찾으려고 애를 썼죠. 이 iOS6와 이슈와 관련한 해결책을 찾으면서 iOS5와 iOS 4.3 버전도 같이 동시에 테스트 해 가면서 일반적인 해결법을 찾으로겨 노력했습니다. 그래서 약간 stopgap 문제 같은게 생기기도 했었죠. ( #3 in last week’s FAQ)


개인적으로 그 stopgap 이 마음에 들지 않았습니다. 그래서 지난주에 팀에게 다른 방법을 찾아 보라고 부탁했고 좀 더 나은 방법을 찾아보자고 제안했습니다. 금요일 이전에 새롭게 전략을 만들었고 이대로 하면 훨씬 나아질 것이라고 생각했습니다.


이 새 전략은 거의 외과수술 수준의 작업을 해야 하는 작업입니다. 저희들이 무엇을 하는가 하면 이 workaround 가 오직 iOS 6 에서만 일어나도록 하는 겁니다. 이 현상은 iPhone 과 iPod Touch에서만 일어나거든요. -iPad에서는 이러한 현상이 일어나지 않습니다. -





저희들이 해야 할 일은 여러분의 info.plist에 special key 인 ‘CoronaUseIOS6LandscapeOnlyWorkaround’ 를 추가 하는 겁니다. 저희들이 이름을 조금 복잡하고 unfriendly하게  만들었는데요 애플이 다음버전에서는 이 버그를 해결하기를 바라는 마음에서 그렇게 지었습니다.


이 기능을 사용하시려면 build.settings 파일에  special ‘plist’ section을 추가하시면 됩니다.


settings =
{
orientation =
{
default = "landscapeRight",
supported =
{
"landscapeRight",
"landscapeLeft",
},
},
iphone =
{
plist =
{
CoronaUseIOS6LandscapeOnlyWorkaround = true,
},
}
}

 

(NOTE: 만약 이전의 workaround를 사용하신다면 여러분은 portrait 세팅을 remove 하셔야 합니다. 그리고 content key 도 remove 하셔야 됩니다. 그렇게 하지 않으시려면 그냥 위의 코드를 사용하시면 됩니다.)


이건 기본적으로 여러분 앱이 landscape 앱이라는 것을 코로나에 알려주는 겁니다. 그러면 이 special workaround를 activate 하고 싶다는 것을 얘기하는 것이죠. 이 workaround는 iOS 6 에서 돌아가는 iPhone 이나 iPod Touch 에서만 작동할 겁니다. iOS 5 에는 GameCenter bug 가 없습니다. 그러니까 거기서는 여러분의 landscape 앱이 제대로 잘 작동할 겁니다.


이제 마지막 문제가 있습니다. iOS 6 에서 돌아가는 iPad 의 photo picker 이슈 입니다. 만약에 여러분이 landscape 앱을 가지고 있다면 이 이슈가 발생할 겁니다. 이 부분은 다음 daily build 에서 해결책을 적용할 예정입니다.


반응형

Comment

이전 1 2 3 4 5 6 다음