Labor of Love

I have downloaded (and paid for) a lot of $2.00 programs that are just amazing. It’s not that you couldn’t make these on the PC, it’s just that people would scream that it should be free. And as a developer, I can tell you, I won’t spend time making stuff "for free" when I could be spending that time with my kids unless it’s a labor of love. As a result, a lot of cool little programs are being made because developers can actually get paid for making cool stuff.

Brad Wardell, CEO/founder of Stardock (a long-time Windows development house), on the iPad as a threat to Windows.

Thoughts on Flash on Froyo / iPhone Safari Plug-In SDK

Some initial observations regarding my first twelve hours with the Flash 10.1 beta on the Nexus One:

Flash scrapes a pass in the performance test. Videos can be choppy at first, but after a little while they seem to play smoothly enough.

Flash utterly fails the UI test; forget any video playback controls on any Flash video you plan on watching. Tested it with the Engadget Show live last night and was unable to change the volume, also tested with some Zero Punctuation reviews and similar problem. It appears that Flash renders at the Nexus One's native resolution (480x800) which means the playback bar on virtually any Flash video is so tiny it's unusable. There's no automatic fullscreen mode when you double-tap a Flash context like some of the earlier demo videos mentioned, but the 'fullscreen' button on many Flash video players work fine (of course, Flash contexts that handle double-taps themselves to go fullscreen work fine).

Photograph here with SD card for comparison; you can't pinch-zoom in fullscreen mode, so how on earth are you ever expected to press any of the controls? This is worsened by the fact that Android phones' touch sensors aren't the most accurate either.

I can't give comments on battery life one way or another. The Nexus One's battery life is poor by default, but after watching a short Flash video or two I left the phone (in sleep mode) on my desk overnight; the battery was dead by the time I woke up.

Overall, for Flash to work on mobile devices virtually every Flash video site is going to have to redesign their Flash video player to support touchscreens. They may also have to re-encode all their videos for best performance (Flash keeps popping up 'This video is not optimized for mobile').

That being said, with the web as it is today, I don't see how Apple can ignore Flash for much longer unless there's significant movement to HTML5, which offers less features and generally performs worse than Flash, in the next year. To be honest, I don't see that happening; the pace of the web is glacial, at best, even when Apple is trying to force peoples' hands. It's really nice to be able to go to a website and not have to worry about whether it uses Flash or not; before this, I'd have to get a laptop out if a site demanded it. I don't think that's where Apple wants the iPhone or iPad to be, and I think the egos on both sides have done enough damage.

The Solution

I think Apple should put together a Safari Plug-in SDK for iPhone OS, and let developers decide. It's no more difficult to create a Safari plugin for iPhone than it is for the Mac, and Apple can sandbox them as much as they like, run them in a separate process and use IOSurface to draw them in a web view. Let the plug-ins access the same APIs that App Developers can, and let any developer submit them to the App Store. Why should Adobe get special privileges? Why can't Engadget, say, write an iPhone plugin that adds additional interactivity to their website when viewed on an iPhoneOS device? Should we wait for the web to catch up, or should we make something great using native code?

To prove a point, I have sample iPhone Safari plug-in source code available from my GitHub. You can test it in the Simulator, or you can test it on a jailbroken device. Make something amazing with it, and give Apple a reason to give us a plug-in SDK.

Update

I posted a video on Vimeo showing part of Lights Off running as an iPad Safari plug-in, just to give a concrete example:

'Open'

If you're going to have a curated experience, isn't it better to at least have one where the curator is making their decisions primarily around the quality of your experience?

Jeff LaMarche on Android and openness. I fully agree.

The worst part of all this talk on 'open' is that the Android source code Google provides isn't the complete source code, and doesn't include any of the Google portions like Maps, Gmail, etc. To get those, you have to pay a lot of money to get an Android license from Google.

There's no less lock-in with Android than there is with iPhone, the only difference is you can install any app you want without paying extra. You still have to root your Android device (/jailbreak) to do anything interesting. Pay Apple's yearly $99 license, and you also get the ability to install any app you want without using the App Store (among many other benefits). You're trading one walled garden for another, except Google doesn't have any design or UX sense.

Very interested to see how Google's all-out assault on Apple this week will affect Apple's plans for 2010 and beyond. Google doesn't seem content without trying to oust Apple from every market they have (except the Mac). This is war.

Karma, Baby

Although Google launched the Nexus One with grand plans to radically change the way consumers purchased phones and service, it looks like the experiment has fizzled to an end -- the company just announced that will eventually stop selling handsets online…

Google's flagship 'superphone' a complete flop, carriers rejecting it left right and centre, and now Google halting online sales. I love news days like these.

Via Engadget

Pixel Doubling

Public Service Announcement for Developers writing iPhone apps that are not Universal; if you use UIImageView to draw your UI elements, and create your art at double size (pixel size, not DPI), it will render at its native resolution on iPad.

This way you can provide an iPhone app that's not specifically compatible with iPad yet doesn't render horribly when pixel doubled on the iPad.

I'm guessing this trick will also position you well for any future iPhone with a higher resolution screen that may or may not be announced next month.

As you can see below, when run at 2x on the iPad, the artwork remains crisp (naturally at the cost of larger file sizes for images).

Update:

Just to clarify, using a 2x image will use 4x the RAM as a normal image; it's up to you to figure out how the performance affects your application. Also, I haven't yet looked into a way of drawing text at the higher resolution (rendering the text to an image and using that is a possibility, but I wouldn't recommend something that clunky).

The Future of HTML

From Wikipedia:

The first web browser, WorldWideWeb, was developed on the Nextstep platform. Some features and keyboard shortcuts now commonly found in web browsers can be traced to Nextstep conventions.

The basic layout options of HTML 1.0 and 2.0 are attributable to those features available in NeXT's Text class

Makes you wonder, if the NEXTSTEP APIs directly influenced the web (history lesson: NEXTSTEP was the OS that became Mac OS X), how much of the future of the web will directly be based on the technology and design patterns used in the iPhone OS?

You laugh, but a lot of HTML5 (canvas, css animation) already comes directly from the Mac OS X APIs, where they were implemented first.

Food for thought.

Related reading: Joe Hewitt's thoughts on the state of the web

Jailbroken iPad Gets Mouse Support

Now all I need is Photoshop.

Via Sebastiaan de With.

Grace Support Blog Launched

Lisa has launched a new blog to directly support all the users of Grace, answer their questions, and provide a lot more background information about the project.

I wholeheartedly recommend anyone with questions or comments to check it out and get in touch. I merely handle the technical questions here, and my e-mail address is readily available on my main website.

3. Why is the Picture vocabulary on the App so Simple/Complex?

The pictures chosen were the absolute minimum required to create good sentences without the need for much scrolling or searching. There are much more complex apps for people with a sophisticated vocabulary out there already so we didn't need to go there.

I was also determined that the app would work in real time on the simplest and oldest devices - without any delay. So you press it and it appears. This was to make it as accessible as possible for people who might have an older phone or for first time users.

If you're not involved with children with special needs, and have old iPhones or iPod touches you'd like to donate to Autism Ireland to help support them, there are details on the site too.