Tim Cook: We’ve sold 2.7M Apple TVs this year

Live from the D10 conference in California, Apple’s CEO Tim Cook just noted onstage that the company sold 2.7 million Apple TVs in just the first few months of this year. The last time we received official numbers from Apple, it reported 1.4 million units for Q1 and sales of just 2.8 million for the entire previous year, which means Apple is on track to double its Apple TV sales this year. Cook’s comments, as reported by The Verge:

Tim: You know, very uncharacteristic of us, we’ve stayed in the Apple TV product. We’re not a hobby kind of company as you know. Our tendency is to do very few things. And, if something creeps in and isn’t a big success, we get it out of the way and put our energies on something else. Apple TV though, you see what we’ve done. We’ve stuck in this. It’s not a fifth leg of the stool. It’s not the same size as the phone or Mac or tablet business. But last year we sold a little less tan 3m Apple TVs… This year, just in a first few months, we’ve sold 2.7m… This is an area of intense interest for us…

Related articles

50 Billion Little Pieces

Akismet passed another milestone: we caught our 50 billionth piece of spam yesterday. TechCrunch has the details:

In April, Akismet blocked 1.8 billion spam messages, or 60 million pieces of spam per day, 2.5 million per hour, or 700 per second.

Whoa, that’s a lot of spam.

Akismet, those with long memories will recall, was the first product Automattic ever launched, arriving on October 25th, 2005 – a month before WordPress.com. WordPress sites now attract over 600 million unique visitors each month, according to Quantcast, and WordPress powers 1 in 2 blogs today (including yours truly). 50,000 to 100,000 new blogs launch on WordPress daily, giving spammers a seemingly never-ending network to target.

Of course Akismet runs on many more platforms than just WordPress, and is the standard anti-spam tool used by many of the most popular forum and CMS applications. Those 700 spams per second include not just comments, but forum and blog posts, pingbacks, trackbacks, tweets and more. (Ironically it doesn’t include the FaceBook comments you’ll see on that TechCrunch post; Facebook has its own proprietary anti-spam system).

About 92% of all the items checked by Akismet are spam. That varies considerably depending on the content type: less than half of the forum posts we check are spam, but more than 99.5% of all trackbacks are spam.


TechCrunch: Groupon Picks Up Breadcrumb For A Little POS Magic http://t.co/YOCqEkaL by @ripemp

TechCrunch: Groupon Picks Up Breadcrumb For A Little POS Magic http://t.co/YOCqEkaL by @ripemp

NeowinFeed: Google reveals new Chrome OS features and products #google #chrome http://t.co/YxZ81Ek6 #neowin

NeowinFeed: Google reveals new Chrome OS features and products #google #chrome http://t.co/YxZ81Ek6 #neowin

Classy Patent Troll Technicolor Now Eying New Devices From Apple, HTC and Samsung



Cinema aficionados and learned professionals in the film industry may have a soft spot in their heart for the innovations Technicolor brought to early cinema, but to Apple, HTC and Samsung, the company is now another patent troll nipping at their heels.

Technicolor is the latest company in financial trouble hoping to leverage their army of 40,000 video, audio, and optical patents against tablet and phone makers. Technicolor has a team of 220 people literally tearing apart every new phone and tablet in hopes that they discover features that infringe on the company’s aforementioned patents.

Improving performance on twitter.com

To connect you to information in real time, it’s important for Twitter to be fast. That’s why we’ve been reviewing our entire technology stack to optimize for speed.

When we shipped #NewTwitter in September 2010, we built it around a web application architecture that pushed all of the UI rendering and logic to JavaScript running on our users’ browsers and consumed the Twitter REST API directly, in a similar way to our mobile clients. That architecture broke new ground by offering a number of advantages over a more traditional approach, but it lacked support for various optimizations available only on the server.

To improve the twitter.com experience for everyone, we've been working to take back control of our front-end performance by moving the rendering to the server. This has allowed us to drop our initial page load times to 1/5th of what they were previously and reduce differences in performance across browsers.

On top of the rendered pages, we asynchronously bootstrap a new modular JavaScript application to provide the fully-featured interactive experience our users expect. This new framework will help us rapidly develop new Twitter features, take advantage of new browser technology, and ultimately provide the best experience to as many people as possible.

This week, we rolled out the re-architected version of one of our most visited pages, the Tweet permalink page. We’ll continue to roll out this new framework to the rest of the site in the coming weeks, so we'd like to take you on a tour of some of the improvements.

No more #!

The first thing that you might notice is that permalink URLs are now simpler: they no longer use the hashbang (#!). While hashbang-style URLs have a handful of limitations, our primary reason for this change is to improve initial page-load performance.

When you come to twitter.com, we want you to see content as soon as possible. With hashbang URLs, the browser needs to download an HTML page, download and execute some JavaScript, recognize the hashbang path (which is only visible to the browser), then fetch and render the content for that URL. By removing the need to handle routing on the client, we remove many of these steps and reduce the time it takes for you to find out what’s happening on twitter.com.

Reducing time to first tweet

Before starting any of this work we added instrumentation to find the performance pain points and identify which categories of users we could serve better. The most important metric we used was "time to first Tweet". This is a measurement we took from a sample of users, (using the Navigation Timing API) of the amount of time it takes from navigation (clicking the link) to viewing the first Tweet on each page's timeline. The metric gives us a good idea of how snappy the site feels.

Looking at the components that make up this measurement, we discovered that the raw parsing and execution of JavaScript caused massive outliers in perceived rendering speed. In our fully client-side architecture, you don’t see anything until our JavaScript is downloaded and executed. The problem is further exacerbated if you do not have a high-specification machine or if you’re running an older browser. The bottom line is that a client-side architecture leads to slower performance because most of the code is being executed on our users' machines rather than our own.

There are a variety of options for improving the performance of our JavaScript, but we wanted to do even better. We took the execution of JavaScript completely out of our render path. By rendering our page content on the server and deferring all JavaScript execution until well after that content has been rendered, we've dropped the time to first Tweet to one-fifth of what it was.

Loading only what we need

Now that we’re delivering page content faster, the next step is to ensure that our JavaScript is loaded and the application is interactive as soon as possible. To do that, we need to minimize the amount of JavaScript we use: smaller payload over the wire, fewer lines of code to parse, faster to execute. To make sure we only download the JavaScript necessary for the page to work, we needed to get a firm grip on our dependencies.

To do this, we opted to arrange all our code as CommonJS modules, delivered via AMD. This means that each piece of our code explicitly declares what it needs to execute which, firstly, is a win for developer productivity. When working on any one module, we can easily understand what dependencies it relies on, rather than the typical browser JavaScript situation in which code depends on an implicit load order and globally accessible properties.

Modules let us separate the loading and the evaluation of our code. This means that we can bundle our code in the most efficient manner for delivery and leave the evaluation order up to the dependency loader. We can tune how we bundle our code, lazily load parts of it, download pieces in parallel, separate it into any number of files, and more — all without the author of the code having to know or care about this. Our JavaScript bundles are built programmatically by a tool, similar to the RequireJS optimizer, that crawls each file to build a dependency tree. This dependency tree lets us design how we bundle our code, and rather than downloading the kitchen sink every time, we only download the code we need — and then only execute that code when required by the application.

What's next?

We're currently rolling out this new architecture across the site. Once our pages are running on this new foundation, we will do more to further improve performance. For example, we will implement the History API to allow partial page reloads in browsers that support it, and begin to overhaul the server side of the application.

If you want to know more about these changes, come and see us at the Fluent Conference next week. We’ll speak about the details behind our rebuild of twitter.com and host a JavaScript Happy Hour at Twitter HQ on May 31.

@danwrong yey! The future is coming and it looks just like the past, but more good underneath.

— Tom Lea (@cwninja) May 23, 2012


-Dan Webb, Engineering Manager, Web Core team (@danwrong)

csdevteam: ThinRDP 2.0 Improves Virtual Experience for Remote Users while Providing Flexibility and Security – via @YahooNews http://t.co/XrrjRVgl

csdevteam: ThinRDP 2.0 Improves Virtual Experience for Remote Users while Providing Flexibility and Security - via @YahooNews http://t.co/XrrjRVgl

Hands on with CloudFTP: iOS data storage to go

Want to expand your iPad's storage? Need a little extra data on your iPhone? These devices don't offer a general purpose USB port or SD drive slot. Sure, you can use Apple's Camera Connection Kit to import photos, but you'll miss out on full USB drive integration for all kinds of data like movies, music, and documents. For that, now there's CloudFTP.

The CloudFTP project started as a Kickstarter initiative and soon graduated to a product you can purchase online. It is a USB-powered pocket-sized mobile system that creates a local WiFi network. It serves whatever data you've connected via an HTML5 interface. For US$99, you can plug in any USB device -- stick or hard drive -- and explore its contents. Hop into Safari and the data is laid out in a tree-based browser.

Image

The device is powered by a simple USB connector. Wherever you have USB power to recharge your iPhone or iPad, you'll easily be able to charge your CloudFTP as well. The case is nicely pocket-sized and the unit feels quite light and portable.

Unfortunately, the promise of CloudFTP is let down by several implementation details. To test, I first looked at a number of files supported by Mobile Safari's browser. JPEG files, text files, and other standard file formats were all easily viewed from within the browser. The challenge came from material that was not natively supported.

I loaded on an MKV formatted video onto a USB stick with the goal of viewing it in a third party application. I powered up CloudFTP, accessed the attached data and found that there was no way to download that data and then use the "Open In" menu. Instead, I was greeted by a "cannot play" icon and could proceed no further in Safari.

Image

Instead, developer Daniel Chin explained that I needed to access the server from supporting apps. He personally recommended GoodReader, OPlayer and iFiles. Each of these titles offers built-in networking access to external files, allowing you to download unsupported formats like MKV outside of the Safari interface.

Note: CloudFTP can only write to the USB drive if it is formatted as FAT32 or NTFS. Drives that are formatted as HFS, HFS+, exFAT, or EXT 2/3/4 are read-only.

For all that the interface is HTML and iOS-like, it felt clumsy and hung more often than I liked. It never remembered my preference for List view over Thumb view, always reverting back to thumbs whenever I reloaded the main page. The text overlay font was a little crude, and the data format icons (like the ?'s and the W's shown in the above screenshot) didn't seem fully polished. Admittedly, this is a Kickstarter project, so you need to take the homebrew element into account.

As a personal bugaboo, CloudFTP uses standard Apple interface elements in non-standard ways; e.g., disclosure chevrons leading to pop-up alerts. (Grey chevrons are normally used for submenu navigation, blue accessory chevrons for customization.)

Image

The device also experienced a number of crashes during testing, where the net service shut down completely. I mentioned service hangups already, which usually resolved themselves after repeat attempts.

It was easy enough to restart the system (a simple press on the power button) and to detect that the unit had shut down (green light on, blue light had gone off, plus certain noises stopped) and respond, but that was pretty disappointing for a production device.

Speaking of noises, my biggest complaint about Cloud FTP is the unit squeals. Whenever a USB device was attached and in use, the CloudFTP emitted an annoying super-high-pitched noise until the storage was ejected. I used the "Remove USB device safely" option about 8 seconds into the following sound clip.

I really like the idea behind CloudFTP. With the technology in its current state, I cannot really recommend it for anyone beyond basic needs for offloading files from your device, especially if high pitch noises bother you. I wanted there to be so much more there than there was, and despite a fine concept, the tech didn't deliver the killer features I was hoping for.

Update: We contacted Hypershop and requested another unit to test. The developer Daniel Chin sent over his personal unit. The sounds were reduced (refer to the sound clip that follows) in the second device.

Hands on with CloudFTP: iOS data storage to go originally appeared on TUAW - The Unofficial Apple Weblog on Tue, 29 May 2012 15:00:00 EST. Please see our terms for use of feeds.

Source | Permalink | Email this | Comments

Add to digg Add to del.icio.us Add to Google Add to StumbleUpon Add to Facebook Add to Reddit Add to Technorati

realrossnoble: Looks like stiches the horror movie I am in will be out Halloween according to the Hollywood reporter! http://t.co/0EyM2lFb”

realrossnoble: Looks like stiches the horror movie I am in will be out Halloween according to the Hollywood reporter! http://t.co/0EyM2lFb”

iClarified: FCC Ruling Could Pave Way for Apple TV Service… http://t.co/WccGaGjq

iClarified: FCC Ruling Could Pave Way for Apple TV Service... http://t.co/WccGaGjq