2010년 4월 30일 금요일

오늘의 날씨: 맑음

봄++


Flash에 대한 단상 - 스티브 잡스






Apple has a long relationship with Adobe. In fact, we met Adobe’s founders when they were in their proverbial garage. Apple was their first big customer, adopting their Postscript language for our new Laserwriter printer. Apple invested in Adobe and owned around 20% of the company for many years. The two companies worked closely together to pioneer desktop publishing and there were many good times. Since that golden era, the companies have grown apart. Apple went through its near death experience, and Adobe was drawn to the corporate market with their Acrobat products. Today the two companies still work together to serve their joint creative customers – Mac users buy around half of Adobe’s Creative Suite products – but beyond that there are few joint interests.

I wanted to jot down some of our thoughts on Adobe’s Flash products so that customers and critics may better understand why we do not allow Flash on iPhones, iPods and iPads. Adobe has characterized our decision as being primarily business driven – they say we want to protect our App Store – but in reality it is based on technology issues. Adobe claims that we are a closed system, and that Flash is open, but in fact the opposite is true. Let me explain.

First, there’s “Open”.

Adobe’s Flash products are 100% proprietary. They are only available from Adobe, and Adobe has sole authority as to their future enhancement, pricing, etc. While Adobe’s Flash products are widely available, this does not mean they are open, since they are controlled entirely by Adobe and available only from Adobe. By almost any definition, Flash is a closed system.

Apple has many proprietary products too. Though the operating system for the iPhone, iPod and iPad is proprietary, we strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript – all open standards. Apple’s mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.

Apple even creates open standards for the web. For example, Apple began with a small open source project and created WebKit, a complete open-source HTML5 rendering engine that is the heart of the Safari web browser used in all our products. WebKit has been widely adopted. Google uses it for Android’s browser, Palm uses it, Nokia uses it, and RIM (Blackberry) has announced they will use it too. Almost every smartphone web browser other than Microsoft’s uses WebKit. By making its WebKit technology open, Apple has set the standard for mobile web browsers.

Second, there’s the “full web”.

Adobe has repeatedly said that Apple mobile devices cannot access “the full web” because 75% of video on the web is in Flash. What they don’t say is that almost all this video is also available in a more modern format, H.264, and viewable on iPhones, iPods and iPads. YouTube, with an estimated 40% of the web’s video, shines in an app bundled on all Apple mobile devices, with the iPad offering perhaps the best YouTube discovery and viewing experience ever. Add to this video from Vimeo, Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic, and many, many others. iPhone, iPod and iPad users aren’t missing much video.

Another Adobe claim is that Apple devices cannot play Flash games. This is true. Fortunately, there are over 50,000 games and entertainment titles on the App Store, and many of them are free. There are more games and entertainment titles available for iPhone, iPod and iPad than for any other platform in the world.

Third, there’s reliability, security and performance.

Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash. We have been working with Adobe to fix these problems, but they have persisted for several years now. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash.

In addition, Flash has not performed well on mobile devices. We have routinely asked Adobe to show us Flash performing well on a mobile device, any mobile device, for a few years now. We have never seen it. Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath. Who knows how it will perform?

Fourth, there’s battery life.

To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.

Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software. The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained.

When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple’s Safari and Google’s Chrome without any plugins whatsoever, and look great on iPhones, iPods and iPads.

Fifth, there’s Touch.

Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on “rollovers”, which pop up menus or other elements when the mouse arrow hovers over a specific spot. Apple’s revolutionary multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?

Even if iPhones, iPods and iPads ran Flash, it would not solve the problem that most Flash websites need to be rewritten to support touch-based devices.

Sixth, the most important reason.

Besides the fact that Flash is closed and proprietary, has major technical drawbacks, and doesn’t support touch based devices, there is an even more important reason we do not allow Flash on iPhones, iPods and iPads. We have discussed the downsides of using Flash to play video and interactive content from websites, but Adobe also wants developers to adopt Flash to create apps that run on our mobile devices.

We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.

This becomes even worse if the third party is supplying a cross platform development tool. The third party may not adopt enhancements from one platform unless they are available on all of their supported platforms. Hence developers only have access to the lowest common denominator set of features. Again, we cannot accept an outcome where developers are blocked from using our innovations and enhancements because they are not available on our competitor’s platforms.

Flash is a cross platform development tool. It is not Adobe’s goal to help developers write the best iPhone, iPod and iPad apps. It is their goal to help developers write cross platform apps. And Adobe has been painfully slow to adopt enhancements to Apple’s platforms. For example, although Mac OS X has been shipping for almost 10 years now, Adobe just adopted it fully (Cocoa) two weeks ago when they shipped CS5. Adobe was the last major third party developer to fully adopt Mac OS X.

Our motivation is simple – we want to provide the most advanced and innovative platform to our developers, and we want them to stand directly on the shoulders of this platform and create the best apps the world has ever seen. We want to continually enhance the platform so developers can create even more amazing, powerful, fun and useful applications. Everyone wins – we sell more devices because we have the best apps, developers reach a wider and wider audience and customer base, and users are continually delighted by the best and broadest selection of apps on any platform.

Conclusions.

Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.

The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. And the 200,000 apps on Apple’s App Store proves that Flash isn’t necessary for tens of thousands of developers to create graphically rich applications, including games.

New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.

Steve Jobs
April, 2010

2010년 4월 29일 목요일

World Wide Developers Conference 2010


2010.6.7-11

App Universe라는 슬로건...

애플이 퀀텀 점프(Quantum Jump)를 볼 수 있는 기회가 될 것이다.
구글과 Adobe와의 전면전에서 어떤 승부수를 보여줄지...
그동안 맺은 혈맹같았던 끈끈한 관계도 모두 끊고
모바일의 강자로 군림할지...
볼거리가 다양하니 관람객은 팝콘 먹으며 재밌게 관람할 수 있겠다.


관전 포인트 1. 아이폰 Next Generation
관전 포인트 2. iPhone OS 4.0
관전 포인트 3. iAd


2010년 4월 23일 금요일

2010년 4월 16일 금요일

4만 힛~

어느덧 제 블로그 총 방문자 수가 4만분을 넘었네요.
요새 졸업 준비로 뒷북 포스팅도 많은데 어쨌든 감사합니다.
오늘 하루도 즐거운 하루 되시길 바랍니다.

곧 새로운 맥북 프로에 대해서 포스팅할 생각입니다.
뒷북 포스팅인만큼 제 생각을 듬뿍 담아서~ :)

2010년 4월 9일 금요일

아이폰 OS 4.0 프리뷰

한국시간으로 새벽2시, 따끈따끈한 아이폰 OS 4.0을 만나볼 것을 기대하는 마음으로 엔가젯의 라이브 블로깅을 보기 위해 아이폰으로 계속 새로고치을 하면서 침대에 누워서 스티브 잡스의 키노트를 보았습니다.

3시가 되고 중요한 내용이 다 나온 것 같아서 잠을 청하고 일어나구실에 나와서 Podcast에서 키노드를 다시 보았습니다.

워낙 블로그 스피어에서 앞다투어 정리를 해서 굳이 제가 정리할 필요가 없지만, 제 생각을 덧붙이면서 몇자 적어볼까 합니다.









키노트에서 소개된 7가지 특징중, 중요한 것 몇가지를 추려서 보고자 합니다.
1. Multitasking

 다들 가장 고대하던 기능이라고 하면 단연 멀티테스킹이었습니다. 아이폰에서는 애플이 제공하는 몇가지 기본 앱을 제외하고는 멀티테스킹이 불가능했습니다. 탈옥을 하는 중요한 이유중에 하나가 바로 멀티테스킹이라는 말이 있을정도로 다들 아이폰에서 멀티테스킹이 되지 않는 것에 큰 불만을 가지고 있었던 것 같습니다.

멀티테스킹에 대해서 잠깐 생각해보면, OS의 기본적인 기능중에 하나인 scheduling을 통해서 여러 프로세스간에 자원을 공유하여 여러가지 프로세스가 동시에 수행되고 있는 것처럼 보이게(?) 하는 것입니다. 실제로는 한 프로세서에서는 한번에 한 프로세스만 (개념적으로) 실행될 수 있습니다만, OS의 scheduling을 통해서 다양한 task (혹은 프로세스)를 동시에 실행하는 것입니다. 이를 위해서는 각 task가 수행하는 정보를 task switching할 때마다 저장하고 다른 task의 정보를 복원해 해당 task를 실행하게 됩니다.

멀티테스킹이 불가능하다고는 하지만, 실제로 iPhone OS에서는 scheduling을 통해서 여러 프로세스가 돌아가고 있습니다. (iStat을 통해서 보세요.) 다만 이는 전화기능을 포함한 기본적인 아이폰의 기능을 위한 데몬 (daemon)이 대부분입니다. 만약 일반적인 App을 background에서 실행하고 있다고 한다면 많은 아이폰의 자원 (CPU와 메모리)를 점유하게 되므로 아무래도 다른 App의 성능을 저하시키고 지속적인 task switching 때문에 전력소모가 커져서 배터리 수명에 큰 영향을 미칠 수 있습니다.

스티브는 다음과 같이 말합니다.

 We weren’t the first to this party, but we’re going to be the best. Like cut and paste — it’s better than any other implementation. It’s really easy to implement it in a way that really drains battery life. And, it’s really easy to implement it in a way that reduces the performance of the foreground app and makes your phone feel sluggish.

 다른 스마트폰에서와 같이 멀티테스킹을 지원하는 것은 매우 쉽지만 배터리와 성능에 치명적인 영향을 미치므로 이를 잘(!)하기 위해서 오래 걸렸다고 합니다. (MS를 겨냥하는 것 같습니다. )

그래서 iPhone OS 4.0에서부터는 새로운 API를 지원하고 이를 통해 멀티테스킹을 지원합니다. 이를 위해서 7가지 종류의 서비스를 새로 지원하는데요. 이는 아래와 같습니다.
  • Background audio: Pandora같은 오디오 스트리밍 서비스를 제공하는 App들이 background에서 수행되도록 하며, lock 스크린에서도 홈버튼 더블클릭으로 컨트롤 할 수 있게 됩니다.
  • Voice over IP: Skype같은 App들은 종료시키면 로그아웃되기 때문에 전화를 받는 것이 불가능합니다. 하지만 iPhone OS 4.0에서부터는 background에서도 전화를 받는 것이 가능합니다.
  • Background location: 네비게이션 App이 background에서도 음성으로 turn-by-turn 길 안내를 할 수 있게 됩니다. 설정에서 App별로 background location에로의 접근을 on/off할 수 있습니다. 프라이버시 문제 때문이라고 합니다.
  • Push notification: 지금까지 그랬듯이 푸시 서비스를 지원합니다.
  • Local notification: Push notification은 애플의 push 서버를 통해서 아이폰으로 push를 전달합니다만 local notification은 서버를 거치지 않고 아이폰 내에서 notification을 할 수 있습니다. 이는 GTD App들에게 쓰일 수 있겠습니다.
  • Task completion: 이미지를 업로드하는 Flickr같은 app의 경우 이미지를 전송중에 App을 종료하면 업로드가 취소되지만, iPhone OS 4.0에서부터는 background에서 주어진 테스크를 수행하게 됩니다.
  • Fast app switching: 이는 앞에 멀티테스킹을 설명하면서 말씀 드린 것과 같이 중요한 프로세스 (task)의 정보를 저장해 놓고, App을 중지해놨다가 다시 복원하는 것 같습니다. 게임같은 곳에 주로 쓰일 것 같습니다. 이미 이를 지원하는 게임들이 많죠.
위와 같은 서비스를 통해서 애플은 좀더 깔끔하고 자원의 낭비 없이 요구되어지는 App들의 멀티테스킹을 가능하게 했습니다. 스마트 폰이라는 특성을 잘 파악하고 적절하게 해결하려고 한 노력이 보입니다.
특히 현재 background에서 수행되는 App을 볼 수 있는 UI로 애플답게 미려하게 구현하였습니다.


솔직히 iPhone OS 4.0에서 말하는 멀티테스킹은 엄밀한 의미에서 우리가 알고 있는 멀티테스킹이 아니라고도 할 수 있습니다. 마치 번호표를 뽑고 대시하다가 호출되면 튀어오는 것과 같이 foreground와의 커넥션을 위해서 개발자에게 API를 공개하고 이를 통해 background에 최소한의 자원만 남겨둔체 실제 App은 종료시키는 것과도 같습니다. 역시 잘 통제된 애플의 ecosystem입니다.

2. Folders

애플의 iPhone OS 4.0에의 노력은 이제 탈옥이 필요없다는 것을 역설하고자 한것처럼 보입니다. 그 이유는 바로 두 번째 새로운 기능에 해당하는 Folders 때문입니다. 탈옥을 하고 Category라는 app을 이용하면 여러 App을 하나의 항목으로 묶어서 관리할 수 있기 때문에 11페이지밖에 안되는 제약에도 많은 App을 설치하고, 또한 관리도 편리하게 해주었습니다. iPhone OS 4.0에서는 Folders라는 기능으로 이를 지원합니다. 11페이지의 제약 때문에 아이폰에는 180개의 App밖에 설치할 수 없었지만, Folders를 통해서 총 2160개의 App이 설치가 가능합니다. 스티브가 이를 설명하면서 피식 웃더군요. (과연 이만큼 App을 설치하는 사람이 있을까 하는 생각에 웃은 것 같은데요. 용자라면 충분히 가능할 듯합니다. ㅎㅎ)

Folders 기능을 이용하기 위해서는 홈 스크린에서 아이콘을 2~3초가 누르고 있으면 부르르 떨면서 아이콘을 재배치할 수 있게 됩니다. 이 상태에서 App 아이콘을 다른 App 아이콘 위에 위치시키면 Folder 아이콘이 나오고 그 안에 App들이 배치됩니다. 그러면 Folder아이콘 안에 들어있는 App의 아이콘이 작게 표시됩니다.


위의 그림과 같이 표시됩니다. Folder의 타이틀은 자동으로 App Store에 분류되어 있는 항목이 채워집니다. 사용자가 원하는 이름으로 수정가능합니다.

그림을 보시고 한가지 알아채신 것이 있으시죠? 바로 바탕화면입니다. 지금까지 탈옥을 하고 테마 app을 통해 홈 스크린의 바탕화면을 꾸밀 수가 있었습니다만, iPhone OS 4.0에서부터 이를 기본으로 지원하게 됩니다.


3. Mail
어떤 용자가 스티브한테 메일을 보낸 것을 보면 알 수 있듯이, 여러 메일 계정에서 메일을 확인하기 위해서는 여러번의 클릭을 통해서 계정간에 이동을 해야 합니다. 이것이 여간 불편한 것이 아닌데요. iPhone OS 4.0에서는 unified inbox라는 이름으로 여러 계정의 메일 inbox를 한 곳에서 통합하여 볼 수 있습니다. 또한 계정 간에도 빠르게 전환이 가능하다고 하니 메일이 더 편해질 것 같습니다.


또한가지 기능개선은 Gmail과 같이 thread (혹은 conversation) 별로 묶어서 메일을 볼 수 있는 것입니다. 저는 Gmail의 이 기능을 매우 사랑합니다만, 앞으로 아이폰의 Mail App에서도 이를 지원한답니다. 메일 옆에 >>와 같이 부등호가 연속으로 2개가 나오게 되면 해당 thread에 대해서 묶어서 보여줍니다.

한가지 더, Exchange 계정을 2개 이상 지원합니다. 구글 calendar와 contacts을 위한 exchange 서버 계정이외에 추가 계정을 쓸 수 있게 되어서 좋습니다.

4. iBooks

5. iAd

제가 관심있게 보는 것 하나는 바로 iAd입니다. 아마도 모바일 (혹은 스마트폰)에서의 광고계에 새로운 바람을 일으키게 될 것이 분명합니다. 스티브가 정확하게 지적한 것 처럼 모바일에서는 원하는 것을 얻기 위해 검색을 하기 보다는 바로 App을 실행합니다. (여기서의 검색은 구글을 겨냥한 것 같습니다.) 그렇다면 검색을 통한 광고 모델은 모바일에서는 더이상 좋은 수익을 기대하기 힘들다는 것입니다.

App안에서 머무르는 시간이 많은 만큼 App 내에서의 광고를 통해 사용자에게 Interaction + Emotion 모두를 충족시키는 광고를 제공할 수 있도록 iPhone OS 4.0에서는 iAd를 지원합니다.

App내에 광고를 클릭하면 App이 종료되지 않고 foreground로 광고가 나오게 됩니다. iAd에서는 HTML5를 지원하고 이를 통해 interactive하면서도 emotional한 광고를 제공할 수 있게 됩니다. (여기서는 Adobe를 겨냥한 것 같습니다. 좌중도 한바탕 웃습니다. )

수익의 60%를 개발자에게 돌려줍니다. Free App을 통해서 수익을 얻을 수 있는 모델이 생긴 것입니다.
일타이피(?)라고 구글, Adobe 모두를 공격하게 된 샘이 되었습니다. 많은 시간을 멀티테스킹에 할애해서 시간적으로는 iAd가 부각되지 않았지만, 모바일 시장에서의 애플의 입지가 iAd를 통해서 한번더 달라질 것으로 보입니다.


———


이렇게 iPhone OS 4.0의 중요한 몇 가지 기능에 대해서 살펴보았습니다.


나머지는 Apple 홈페이지를 참조하세요.
감사합니다.