Filed under: apple, ipad

The anticipation built, the hype was beyond anything we had seen, the announcement was made, and now we’re left to ponder what it all means.
Yes, the iPad can be distilled down to 2 words: giant iPhone, but today’s announcement was never about the hardware (aside from the custom A4 cpu) but about the software. iPhone 3.2 OS, essentially the same OS that will be running in the iPhone sitting my desk.
iPad, in that respect, is underwhelming.
The two most requested features of the iPhone OS are Flash and multitasking. Neither of these features are in the iPhone 3.2 and ostensibly will not be available when the iPad launches in late March.
I can see how Apple justifies not having either of these features; none of which are technical. Let’s start with Flash. It is a resource drain, source of countless crashes, and the source code is ultimately not owned by Apple.
However, the main reason why Apple doesn’t want Flash on the device is that it can’t be optimized. Flash sits on top of Safari which sits on top of the OS; essentially a VM. With the iPad, Apple has designed custom silicon optimized for their OS and applications built off of their SDK. Flash applications are not built off their SDK, unoptimizable.
Multitasking is another matter. It’s obviously technically possible (read: jailbreak) but Apple is holding back on it because it impacts the user experience. Normal users do not want to deal with resource management nor do they understand it. How many Windows users have you seen with 50 icons in their task tray and complain their computer is “slow”. That’s not the perception that Apple wants users to have of the iPhone, and now the iPad.
Background Mobile Safari playing a flash video and it’s welcome to SlowVille – population: lag.
Apple will eventually offer multitasking once the silicon becomes fast enough that it doesn’t impact the user experience. They could potentially approve certain apps to be backgrounded, putting a resource cap for backgrounded apps, or limiting the number of background apps.
Apple’s answer for Flash? HTML5 and native apps of course.
I will be pre-ordering an iPad sight unseen. I know I’m in the minority and all the uses I imagine are very niche. But, what I wouldn’t give to own a first gen iPod. I believe the iPad is a product of that magnitude.
Comments (0) Posted by Wayne on Thursday, January 28th, 2010
Filed under: predictions
YouTube announced an HTML5 version of the YouTube service a couple days ago. Now Vimeo is joining in and announced their new HTML5 player. This is great news for anybody that has an older computer, a slower netbook, or (like me) an older Mac Mini under your TV.
Watching an older flash video on the older YouTube, my CPU utilization from Safari and Flash is between 100 – 150% usage:

Watching the same video on YouTube HTML5 Beta, my CPU usage hovers around 20-25%:

Not a month into the new year and already one of my 2010 predictions is rolling along.
Comments (3) Posted by Wayne on Thursday, January 21st, 2010
Filed under: predictions
- iPhone 4G – Just as the sun will rise, Apple will release a new iPhone every year. My only prediction is that the screen resolution will be more than the current 3G. They have to keep pace with the Droid, Nexus One, HTC HD2, etc…
- First compelling HTML5 apps that will force people to get off IE – Native video support will be the driving force here. Imagine if every YouTube video was in HTML5. Native video support requires much less processing power than Flash video. All those low powered netbooks out there will finally be able to play internet video without stuttering.
- Android market share surpasses iPhone – Enterprise will embrace Android over iPhone since Android is open. That coupled with free with contract Android phones, this is a no brainer.
- Gowalla will be the dominate location based social “network” – Loopt will sink as foursquare and Gowalla gain. It’s too early to tell but to me it’s a coin flip between the two. However, I do think Gowalla’s model for rewards is much better than foursquare’s Mayor model. As time goes on, Mayors will be harder and harder to usurp making the “game” aspect less fun.
- Facebook will IPO and not acquire Zynga – 2010 is ripe for IPO after all the ‘09 M&A. Zynga will get left behind as Facebook will continue to grow at an outstanding rate.
- Chrome OS won’t make a dent – How do you explain to a regular consumer that the netbook they’re about to buy is basically only a browser. “So you mean I only get Internet Explorer for the same price as this Windows (XP) machine?” I’m secretly hoping that it’s a raging success because it means WebKit gains more marketshare.
- There will be an Apple tablet – I’m not going to say anymore. It’s all been said.
Filed under: android, digg, facebook, ie6, iphone, predictions, twitter
2009 is ending, a year that started with Sequoia’s RIP: Good Times fresh in everybody’s mind. However, 2009 saw some major M&A activity.
I made some predictions at the beginning of the year, let’s see how they played out. Last year I was 50% correct…
Comments (0) Posted by Wayne on Tuesday, December 29th, 2009
Filed under: pastrykit, safari
If you haven’t already, go read the DaringFireball piece on PastryKit. Are you back? Good. If you’re the least bit like me, you’re probably a least a little bit intrigued. If you’re sorta like me you probably cut and pasted http://help.apple.com/iphone/3/mobile/dist/PastryKit-ug-compact.js into jsbeautifier.org. If you’re kinda like me you also dug into http://help.apple.com/iphone/3/mobile/javascript.js to see how PastryKit is used. And finally, if you’re exactly like me, you’ve probably already dissected the framework and won’t need to read this post
PastryKit, at least the one on the iPhone User Guide, contains (it’s possible their compiler strips out classes/functions their site doesn’t use)
- PKUtils – collection of util functions (eg. degreesToRadians, objectHasMethod, etc)
- PKClass, PKObject – classes that make inheritance easier. PKObjects to have observer methods for properties and PKClasses are able to synthetize properties ala ObjC.
- PKPoint, PKSize, PKImage – self explanatory OOO objects for points, sizes, and <img>
- PKAnimator – simple animator class taskrunner/setTimeout style. Even PastryKit doesn’t use WebKitAnimations since the API is fubar’d! As far as I can tell nothing in the framework or iPhone User Guide uses this
- PKTransition – This is where all the real animation is done, including the scroll effect, has the ability to commit animation transactions.
- PKView, PKContentView, PKRootView – View hierarchy, akin to one you would set up in Interface Builder. Very Xcode. I echo Gruber’s sentiments that PastryKit could show up in the next DashCode. Or at the very least the remnants of Apple’s web apps as an app strategy circa 2008.
- PKScrollIndicator – The magical class that creates the DHTML scrollbar when a view is scrolled.
- PKSearchBar, PKTableView, PKNavigationView, PKToolbar – the main view classes used to construct an actual app. (Along with PKScrollView, PKTableViewCell, PKNavigationItem, PKControl)
If you’ve built anything in Xcode all this seems very familiar. Applications are built by setting up a hierarchy of views such as:
// create a new navigation view
navigation = new PKNavigationView();
// set a size for the view
navigation.size = new PKSize(height, width);
// init some basic parameters about the view
// add the view to the root view
PKRootView.sharedRoot.addSubview(navigation);
// build the rest of your views
I gave myself a couple hours to build a basic view app from scratch using PastryKit. It was painful and time consuming. There are plenty of methods that are required by the framework that you must declare unknowingly (eg. tableViewCellForRowAtPath vs tableViewCustomCellForRowAtPath dependent on what your table view is styled). Without proper documentation the framework is difficult to do any real work with. I’ll tinker with it some more but if you’re interested in a semi-prepackaged PastryKit and my work so far you can grab it here.
PKScrollIndicator is the best part of the framework, jQTouch should definitely look into “borrowing” this code. Meanwhile, I’ll be waiting for a documented official release of PastryKit.
Bonus: You can use the following to disable scrolling in Mobile Safari.
document.addEventListener('touchmove', function(e) {
e.preventDefault();
}, true);
This coupled with window.scrollTo(0,0) is how PastryKit hides the navigation bar.
Update: Sorry, should be document.addEventListener() instead of window.addEventListener(). I’ve added a demo no scroll page here. Just view the source.
Comments (9) Posted by Wayne on Wednesday, December 16th, 2009
Two years ago I read this article from wired.com outlines how downloading has lead to a digital version of compulsive hoarding. I definitely had some sort of this disorder with hard drives and CD-Rs full of digital content – most of which I’ve never even consumed.
In the past couple of years that need to collect has faded. Why? Streaming.
With the advent of the streaming age (YouTube, Hulu and Netflix streaming for video, IMEEM and Lala for music) there’s absolutely no need to horde any longer. With every thing just a few keystroke away, there’s no need to download, catalog, store, organize, curate your own private digital collection.
Anybody else experience the same change in your downloading habits?
Filed under: pre
Update: This whole process has been automated and “idiot-proofed” by Rod Whitby on his blog.
Last week, I went to pick up a Palm Pre sans a Sprint contract. The Sprint sales person had no problem selling me a $550 Palm Pre, but it was up to me to “Activate” the device. Sadly, I couldn’t find good step by step instructions on how to do this. The best I could find, still was very confusing because it never explained why I was doing the things it was asking me to do.
So here’s a step-by-step tutorial on how to bypass Sprint’s activation for a Palm Pre. Hopefully you can use the webOS Internals tutorial and this to bypass activation. This will enable you to develop apps or use the Palm Pre as a wifi/bt device. Note, you will need to be comfortable with linux command line, tools, and editing files.
First, the goal of this “hack” is to bypass the Sprint Activation but also to enable WiFi so you can create a profile on palm.com without service. We are going to be basically hacking an additional menu item which then brings up the WiFi preferences pane.
Continue reading…
Filed under: apple, appstore
The FCC is probing Apple, AT&T, and Google over the whole Google voice fiasco. Although I wish Apple would open up it’s platform, I definitely don’t think the government should get involved. Also is any precedence set for the government intervention? No, I don’t believe so. Everybody is comparing Apple and the iPhone to Microsoft and Windows. The argument is that the government got involved there so why shouldn’t they intervene and stop Apple?
The best counter I’ve heard to this was discussed three weeks ago on the Engadget podcast (start listening at 23:05). Instead of thinking of Microsoft and Windows, think of Nintendo and the Wii (or Sony/PS3, Microsoft/XBox).
Think about it. Nintendo controls what’s available for sale on it’s console system. They also have an AppStore where they disallow content (e.g. they would never allow an emulator that enables you to play all NES games). They censor games, take a cut of sales, and they have full control of the eco-system. Yet, there’s no government intervention asking Nintendo to open up their platform. We purchase these console fully knowing that they will never be open.
At the risk of sounding like a fanboy, sadly Apple is just a victim of their own success.
Filed under: apple

Everybody, hailed the iPhone as the savior to set developers and mobile businesses free from the walled gardens of traditional carriers. At first, Apple instantly gifted developers with easy access to a mobile audience that bypassed having to deal with carriers. The ancient lumbering beasts that are Verizon, AT&T, Sprint, and T-Mobile were out of the picture. Now we didn’t have to worry about being “on deck” or pre-installed onto phones to reach a mobile audience. All we had to do was submit our application to Apple and within a couple weeks, BOOM, someone with an iPhone would have your application.
Sadly, we all knew that we were climbing out of the walled garden only to land straight into 1984.
The problem is that Apple doesn’t need to explain why it removed Google Voice, NetShare, Podcaster, or Sling from the App Store. Developers can try to abandon the platform, but there are plenty of others to take their place. Developers and businesses can’t just turn a blind eye to the 30-40 million (depending on who you ask) iPhone install base. To put that number into perspective, when you factor in iPod Touches, it rivals one of the best handheld selling devices of all time, Nintendo DS, in yearly sales.
I’m going to predict that Apple doesn’t have to back down from it’s position any time soon and there will be nary a mention of abandoning ship from everybody attending the sold out iPhoneDevCamp this weekend.
Filed under: google
Google just announced that they will be releasing an OS based around Chrome. An amazing move for Google as this gets them instantly on a the radar of every netbook manufacturer out there.
Microsoft’s licensing fees for Windows are generally $40+ per copy. Manufacturers are barely eeking out a profit in the sub $300 price range and having to pay per copy of Windows kills that margin. There is already a ton of competition in this space from Moblin to Jolicloud to whatever is going to be on the CrunchPad.
At first glance, from a product perspective, I wonder why Google is not using Android? There is already an SDK out there, Android is already open source, and Android already has an app marketplace. Bifurcating their “OS” strategy seems like a bad move on the surface.