Ace on Tech

My Coverage on Windows 7 (experimental)

Blog

iPhone 2.0

Over the weekend popular tech sites got themselves engulfed in iPhone 2.0-related stores. Numerous live reporters/bloggers were present, yet they all had a different take on Apple’s presentation related to the soon-to-come 2.0 Software Update and SDK. In search of a neutral stance on things, I found Paul Thurrott’s rather lengthy write-up on the matter.

In case you’ve got an hour and a half to spare and are in for some Apple-bragging, the whole event is up on Apple’s website in both Standard and High Def (QuickTime) video. I wonder why anyone would like to see Jobs’ face up close in HD, though.

A concise version of the event

As always, Jobs starts his presentation with the regular bragging about how fantastic things are going. The iPhone is now n°2 (right after RIM>BlackBerry) in the US smartphone market with a 28% share and accounts for 71 percent of mobile browsing.

Enterprise support

The iPhone is finally going to natively accomodate corporate functionality, in hopes of winning over businesses to acknowledge the iPhone as a true smartphone. When Apple ships the 2.0 software update, the iPhone and iPod Touch will support the following enterprise technologies.

  • Full support for Microsoft Exchange
  • Push e-mail/calendaring/contacts
  • Global address list support
  • Cisco IPSec VPN
  • Two-factor authentication by means of certificates and identities
  • WPA 2 Enterprise, 802.1x
  • Remote wipe (over the air)
  • Mandatory usage of a PIN

To make this all happen, Apple licensed the ActiveSync protocol from Microsoft.

The software update will be offered to iPhone users for free. iPod Touch users will need to pay a nominal fee, probably (hopefully) similar to the $20 fee for the 1.1.3 update.

Software Development Kit

The SDK is out already and can be downloaded for free*. Apps will be distributed through iTunes via a developer program. Developers can join this program for $99 a year. Companies will pay more ($299, also yearly). Though this looks like a great deal, you must note that the SDK will only work on Macs. Developing for the iPhone/Touch will require more funds than you thought, since you’ll need to purchase a whole new computer, too.

As an introductory to the SDK, Scott Forstall (vice president of iPhone software) outlined the iPhone’s architecture, which borrows heavily from Mac OS X. In fact, it’s comprised of 4 main layers:

  • Core OS
  • Core Services
  • Media
  • Cocoa Touch

The most impressive thing about this all is that Apple ported the first three layers from OS X without a lot of modification. The media layer provides several interesting API’s including an embedded version of OpenGL. Electronic Arts has developed a demo version of Spore, which uses the accelerometer for navigation.

Developing for the iPhone will give you all the tools Apple uses for OS X and the native iPhone apps:

  • XCode + iPhone emulator: Apple’s Mac OS X-based development environment
  • Remote debugger: hook up an iPhone/Touch and debug live
  • Interface Builder: toolset for creating the GUI for the app (by dragging around controls, like Visual .NET)
  • Instruments: statistics on the debugging app (CPU, File System, Memory Usage)

All APIs are written in Objective-C, a language that resembles C++, C# and Java to a certain degree, but is substantially different from what most programmers are used to.

App Store & iTunes

Every iPhone and iPod Touch that applies the 2.0 update will get a new icon on the home screen. This will initiate the App Store, the portable version of the iTunes Application Store. A user would be able to view the inventory and download/install the desired application without ado. It looks and acts much like the iTunes WiFi Store, but will also work over EDGE. Every application you install will also be automatically updated, too.

App Store

Rev Split

Developers get 70 percent of the revenues. The other 30 for Apple will render the hosting and distribution. If a developer decides to provide its application for free, there won’t be any hosting costs either. Credit card fees and marketing costs will also be taken care of by Apple.

The iPhone 2.0 update will become available in late June this year.

*: The SDK has indeed already been finalized. I initially stated that it was still in beta, like the 2.0 software update. Thanks for the feedback, Clak.

Acid3 test kills all

The [recently released] Acid3 test, like its predecessor, allows for subjecting modern browsers to advanced testing of its standards compliance. Acid2, which most current browsers pass (including IE8 Beta 1), was mainly focused on CSS rendering.

Acid3 - on the other hand - doesn’t evaluate a single technology. It was designed to test the whole Web 2.0 experience (ECMAScript, W3C Document Model 2, etc.). It basically determines the level of interactivity a browser can deliver.

image
Firefox 3 B3
vs.
IE7
Acid3 IE7

This extremely hard test evaluates a series of 100 criteria and exposes a number of flaws in all leading browsing suites, including IE, Opera, Safari and Firefox. Upcoming versions of Safari and Firefox are to score in the 80-90 range, whereas IE8 scores in the disappointing sub-50 range.

IE7 has been reported to flunk completely with results not even peaking above the 20% mark.

Weekly Software Pick: Notepad++ [Windows Only]

I’ve come to appreciate Notepad++ as a full-blown source code editor, whereas in the past it used to be a second-class citizen, somewhat. I kept it around because it operates and loads blazingly fast, especially handy when you don’t have the time to start Dreamweaver. Though Notepad++ is a lot more than a quick app…

Notepad++

It supports everything you’d expect from a well-seasoned code editor, amongst other features:

  • Syntax Highlighting & Syntax Folding
  • User Defined Syntax Highlighting
  • Code Auto-completion
  • Regular Expression Search/Replace
  • Zooming
  • Brace & Indent Highlighting
  • Macros
  • Integration into the shell

You should see Notepad++ as an all-round replacement for Windows’ built-in Notepad and a lot more. It supports a vast array of programming languages, yet is specialized enough to be used for web authoring, too: it’ll recognize nested languages effortlessly, e.g. XHTML, CSS, PHP and Javascript in one page.

Notepad++ is completely free of charge and subject to the GPL license.

Flash in XHTML 1.0 Strict

Ever tried to insert a flash animation into a valid XHTML webpage? I certainly have, and it always breaks your markup. The standard markup flash uses to render its animations stems from an ancient era of semantically misused tags and properties. There must be a better way, I hope…

Several methods have independently been developed, each with their own benefits. There are two major techniques to choose from: the first being the “Flash Satay” method, the other kinda remains nameless. Let’s start with the Satay method.

Flash Satay

The full directives are listed at the notorious A List Apart website.

In short, this method basically incorporates a container movie, into which you load the actual animation, preserving your content, with a friendly wrapper. This produces fairly nice markup, but it’s kind of a hassling experience — nonetheless effective.

The other method

The other technique uses the omni-valid tag called “object”, which is recognized by [nearly] all major browsers. No container file is used: you provide the user with an image containing a friendly error message. This is the way I do things. It’s a clean thing to do, but leaves a white backdrop on transparent framed flash movies (like those from YouTube). I’m certain there’s a way to cure this, but I haven’t had the (uhm) chance to look into it yet.

<object type="application/x-shockwave-flash" data="yourflash.swf" width="288" height="128"> <param name="movie" value="images/banner.swf" /> <img src="error.gif" width="288" height="128" alt="banner" /> </object>

Either path you choose, there are always drawbacks. For instance, when a visitor doesn’t already have Flash installed, he/she will not get a direct link to Adobe’s website (unless you make the effort of defining it yourself). Nevertheless, standards compliance is the way to go, although I know we’d all appreciate an out-of-the box solution — someday soon.