Mark Pilgrim On iPad Freedoms

Mark Pilgrim has a brilliant blog post on the iPad and the freedoms it’s taking away from tomorrow’s programmers. My favorite part:

Now, I am aware that you will be able to develop your own programs for the iPad, the same way you can develop for the iPhone today. Anyone can develop! All you need is a Mac, XCode, an iPhone “simulator,” and $99 for an auto-expiring developer certificate. The “developer certificate” is really a cryptographic key that (temporarily) allows you (slightly) elevated access to… your own computer. And that’s fine — or at least workable — for the developers of today, because they already know that they’re developers. But the developers of tomorrow don’t know it yet. And without the freedom to tinker, some of them never will.

I’m not sure how we got here, but it does now cost $99 to tinker with your iPhone and soon iPad. While your computer is still pretty open, it’s only a matter of time before the iPad can be used for development via Xcode and a new UI builder. Want to share your creation with someone? You need Apple’s permission (App Store) or you can’t easily do so. Back in my day you took a copy of Stuffit (you can use the 30 day demo) and put it on a server with a web page explaining it to the rest of the world.

However the web is still open. This is exactly why HTML5 and the open web is so important. The web is playing catchup to desktop computing and is accelerating. Browsers like Gecko and WebKit are making it more compelling than ever. The iPad like the iPhone is an awesome way to browse the web. Making the web powerful enough to take advantage of the hardware is the near future of personal computing.

Facebook’s New PHP “Runtime”

According to SDTimes Facebook is about to release a new open source project where it has either re-written the PHP Runtime (unlikely) or built a PHP compiler (more likely).

There is another possibility. It could be a Zend extension acting as an opcode cache (APC, XCache, etc.) and a FastCGI replacement.

It’s also possible they used Quercus as either a starting point or inspiration and it’s actually Java based, but that sounds unlikely.

Regardless, it will be interesting to see what comes of this.

Apple iPad Thoughts

So the iPad is now official (like it was yesterday).

The most interesting thing is they bumped the OS version to 3.2. I suspect this summer we’ll see a 4.0 for a much more radically changed iPhone than we’ve seen in the past 2 revisions. Otherwise I think they would have called this 4.0.

Some semi-random thoughts:

  • It’s an oversized iPhone/iPod touch. It’s software really isn’t revolutionary, at least so far.
  • It will be hard to compete with the Kindle. The Kindle’s screen isn’t back-lit hence it’s easier on the eyes. Don’t underestimate this.
  • Typing on a solid surface can’t be that comfortable, especially if you touch type. It works on the iPhone since you use your more padded thumbs. It’s not a laptop replacement.
  • It may be thin and light, but it’s not as mobile as phone. It’s not a mobile replacement.
  • It has the potential to be a GREAT gaming device.
  • It has the potential to hurt netbook sales by serving as a handy “around the house” internet device.
  • It’s wireless pricing and iTunes are combined to make it feel cheap to own/operate but will still get expensive quickly.
  • It’s sold unlocked. They are catching up with Google in that regard. I wouldn’t be shocked if the iPhone is soon sold on similar terms this summer. UMTS/HSDPA.
  • That black bezel will likely disappear once they can shrink the internals in future revisions. It will eventually become closer to the iPhone.
  • Still a mostly closed platform. The justification on the iPhone was security since it’s a safety device as well. Why the iPad?

Confirmation of the Tablet

The tablet was a foregone conclusion. Since late last year even if Apple didn’t want to build one, investors pretty much forced it upon them with the hype. Failure to produce at least a proof of concept by the end of the quarter would really hurt the stock.

Terry McGraw, CEO of McGraw-Hill decided to announce it a day early. Newsweek jumped the gun in 2004 with an iPod update. I’m sure their legal team is working late tonight.

With it presumably comes iPhone OS 4.0 preview for developers.

Either tomorrow or next month Apple will announce an update to the MacBook Pro lineup. It’s now 232 days since the last update (avg 200) and will likely get Core i5 and Core i7’s and slight hardware tweaks. I think Blu-Ray is still 50/50. Apple might hold this until early or mid February so it’s not overshadowed by the tablet announcement.

Likely a few other tweaks to the lineups, perhaps a CPU bump on the Mac Pro’s and perhaps a small tweak to the iPod lineup (more storage, new colors nothing major) though I expect the iPod/iPhone focus to be in June not now.

JavaScript Flash Implementation

I meant to post this last week already. Gordon is a JavaScript implementation of Flash. You read that right. It’s written in JavaScript and executes swf files. It’s performance isn’t the same as the Flash player, but it’s surprisingly good.

This is really cool stuff. With JavaScript performance improving people are really starting to demo things that a few years ago were laughable.

Yes I know this is the second Flash related post today, but this is pretty cool.

Apple, Adobe, Flash, and MPEG LA

John Gruber has a great post explaining why Apple has been so adamant about the keeping Flash off of the iPhone and presumably the upcoming tablet device. He’s right that Flash performance is sub par and most people just want video. 99% of the other Flash experiences you see are just ads that suck precious battery life and CPU.

He is also right that third-party plug-ins do cause architectural issues for browser vendors. As of 10/2009 plug-ins accounted for at least 30% of Firefox crashes, a motivating factor for the new plug-in checker.

I will however object to a sentence:

Why? At the core, because Flash is the only de facto web standard based on a proprietary technology. There are numerous proprietary web content plugins — including Apple’s QuickTime — but Flash is the only one that’s so ubiquitous that it’s a de facto standard. Flash is the way video is delivered over the web, and Adobe completely controls Flash. No other aspect of the web works like this. HTML, CSS, and JavaScript are all open standards, with numerous implementations, including several that are open source.

Apple isn’t trying to replace Flash with its own proprietary thing. They’re replacing it with H.264 and HTML5. This is good for everyone but Adobe.

I included an earlier paragraph since I think the context is important. H.264 is not like HTML, CSS, and JavaScript. It’s patent-encumbered much like GIF was. Your trading Adobe for MPEG LA. The difference between H.264 and Flash is browser/OS vendors can control the implementation. It’s still proprietary technology.

I should note that I’m not a fan of Flash either, as a result there’s none on this blog. Even videos I link to are static images for performance and aesthetic reasons.

Google Conversion Madness

Google’s calculator is starting to bug me because it has some rather odd gaps. I finally decided to dig a little deeper. Take these conversions for example:

2 hogsheads in tierces – Works

2 hogsheads in tierces

1 chain in inches – Works

1 chain in inches

1 league in furlong – Works

1 league in furlong

1 MiB in MB – Fail

1 MiB in MB

MiB is likely the most common unit of measure in this list. It’s also IEEE and CIPM endorsed I’m perplexed why this doesn’t actually work. Besides for Google engineers likely using that more themselves.

I know some Googlers read this blog. Please forward this appropriately.

YouTube HTML5 + Firefox

Google has been a long time supporter of HTML5. They recently launched a HTML5 beta of YouTube however it will only work in Safari and Chrome. The reason for this is not due to the actual markup but the video codec chosen. YouTube is using h.264, the same codec used for YouTube HD via Flash. This works in Safari and Chrome because Safari uses QuickTime to render <video/> and Google licensed h.264 for Chrome. Firefox however doesn’t include the proprietary codec for licensing reasons. It’s not a matter of cost but principle.

IE is supported through “Chrome Frame” which is essentially the Chrome browser in IE’s chrome. Your really just browsing the YouTube site with Chrome. Google could use this as a way to get people away from Flash and IE and onto Chrome one way or another.

I discussed the h.264 debate in more depth a few months ago.

You have to wonder why we don’t want anything proprietary slipping into HTML5, or want proprietary image formats (GIF turned us off to that) but exceptions are made for video.

Edit 1/23/2010: More on the topic:

Edit 5/21/2010: Thoughts on WebM.

Things You’ll Love About Firefox 3.6

To be honest Firefox 3.6 is a little lighter on Features than Firefox 3.5. It’s more about refining and improving than bells and whistles. Here are the things I feel are really noteworthy.

User Centric Features

UI Speed – Many things in the Firefox 3.6 UI have gotten faster. For example startup time has been improved thanks to various optimizations. My personal favorite is the awesomebar is now asynchronous, if you don’t know what that means, just trust me that it makes things feel faster if you have a slow hard drive like in a laptop.

JS/Video Speed Improvements – TraceMonkey, the fast JS engine has gotten some tweaks to improve performance even further. Seeking in <video/> is now much faster than it was in Firefox 3.5.

Focus – UI geeks will note that Firefox has had a few issues regarding focusing elements. Thanks to some refactoring it’s vastly simplified and improved.

Personas – Firefox has always supported theming, but it’s a complex process to build a theme and it’s prone to breaking as the UI evolves between versions. Personas is a light weight system to customize the look of the browser’s chrome.

Plugin Update Notification – A big cause of Firefox crashes, and security issues actually aren’t related to Firefox directly but plugins. Firefox can now notify you when you need to update a plugin helping you to keep your system as stable and secure as possible.

Full Screen For <video/> – Firefox can play native <video/> but thus far had no method to go full screen. Apple may want you to pay for “Pro” for full screen but with Firefox 3.6 you get it at no extra charge.

DLL Blacklist – To improve security/stability Firefox now has a DLL blacklist and can prevent other DLL’s from interfering with Firefox. This is Windows only at this time.

Opening Links In New Tab Position – When you opened a link in a new tab in previous versions it opened in a new tab on the far right, with lots of tabs open this created confusion as you may have several different tabs open on various things your doing. Now this will result in the new tab being created to the right of the current tab. If you don’t like this behavior you can set tabs.insertRelatedAfterCurrent to false. It takes a little getting used to, but it’s worth it.

For Developers

-moz-background-sizeThis is exactly what it sounds like. I’ve wanted to do this a few times in the past.

Poster frame for <video/>Poster frames are now supported for <video/>. It’s a small bit of polish but will hopefully benefit design and perhaps even SEO down the line.

Web Open Font Format (WOFF) – Imagine an open font format that supported compression and meta data. Now imagine that a lot of font foundries have expressed support for it. WOFF!

async attribute for <script/> – It’s simple enough, the async attribute is now supported. Those who care about performance have wanted this for a long time.

Using Files from Web ApplicationsThis is a huge step towards making web applications first class citizens. Hopefully we’ll see support for this in Google Docs at some point (one of the apps I think could best make use of this).

HTML5 Parser – Firefox 3.6 ships with an HTML5 parser, though it’s disabled for now by default. To enable set html5.enable to true.