Smokescreen: real time SWF to JS aka “hello iPad/iPhone”

Now this is “interesting”. Smokescreen, written by Chris Smoak, is a “Flash player written in JavaScript” in that it takes Flash objects and then actually converts them to JavaScript in real time… Whoah you say. Hello iPad/iPhone/whatever…

The goodness: it runs entirely in the browser, reads in SWF binaries, unzips them (in native JS), extracts all images and any embedded audio and then turns them into base64 encoded data:uris. Post all that prework it then stitches the vector graphics back together as an animated SVG. And rather nicely at that.

The badness: 8k lines of JS translates to ~175kb and some serious slowness on mobile devices…

The potential nss nss: supposedly it will be fully opensourced in the not too distant future. Allowing for sorts of optimization potential.

It’s a different type of Flash…

Sencha (previously known as Ext JS) has released Sencha Touch, a HTML5 Mobile Application Framework. which allows you to develop web applications that look and feel native on Apple iOS and Google Android touchscreen devices.
It makes use of HTML5 for delivering audio/video or localStorage and CSS3 for maximum styling like rounded corners, background gradients, and shadows.
The code created is resolution independent. It uses a method which allows developers to change the overall scale of their interfaces on the fly with no pixellation.

Sencha Touch has a powerful animation system that makes flexible animations between screens and views possible.

Slide, pop, and fade animations are included with the library, each with a robust set of options to change attributes like direction and masking style.
And, as they are created with CSS, building custom animations is a joy.

Also, it includes a set of common icons for using them in toolbars and tab bars.

Compatibility: Apple iOS and Google Android

bada: Samsungs new phone OS

Just when I thought I had a handle on what was out there Samsung announced the bada operating system.

Apparently “bada” means ocean in Korean and is supposedly representative of the near boundless limits of the OS. Right, now that sounds familiar. Based on Linux and Enlightenment the general idea is that bada will take on Android and the iPhone. Competition is always good so this should get interesting. Especially if there’s a new spin by implementing features core to Enlightenment such as window grouping, virtual desktops, etc.

Smamsung expects that the first mobile phone handsets based on bada will be on display in the first half of 2010, and to go on sale in the second half of 2010. There’s certainly executive clout behind it, as up to a possible 50 million units are expected to be shipped in 2010.

Samsung also plans to open a bada application store. Now that’s a surprise… Hopefully there are no plans to integrate it with Bing services and give it a name like ‘bada – bing’

How to rename your iPhone application in Xcode…

To rename your application, modify the “Product Name” build setting, which is part of the Packaging build settings collection.

Follow these steps for changing an application’s name in Xcode:

  1. In Xcode, double-click the target’s name under “Targets” in the Project window.
  2. Choose the Build pane from the ensuing Info window.
  3. Select “All Configurations,” “Debug,” or “Release” from the Configuration popup menu.
  4. Note that the application’s name will only be changed for the configuration you selected.
  5. Select the Packaging collection and assign a new name to “Project Name.”

Maemo: Pushing camera optics to a new level?

I like Maemo, it’s roots are solid, it is the underdog when viewed against Google and Apple. But most of all because Nokia are making some solid decisions. Nokia recently licensed Kodak’s imaging technology, which coupled with Carl Zeiss optics with improved low-light performance, should take image quality on phones to the next level. Maybe not a huge deal, but certainly noteworthy especially as my love of the iPhone is being seriously diluted by the monthly whack to my pocket.

Maemo: An Overview

We’re under a deluge of iPhone OS and Android updates these days. However there are plenty of other interesting if not equal options out there. Maemo from Nokia may be one… Especially with what David Rivas, Nokia’s vice president for devices R&D, had said when he was asked about operator customization: “Very clearly Apple, Android are a whole lot less about providing customization to the operators and a whole lot more about providing a really cool, compelling value proposition to the end-consumer. We have an opportunity that we are going to take advantage of, with Maemo platform to play the game a little bit more along those lines than with Symbian lines.

If you’re not familiar with Maemo, a good place to start is here:

Maemo is an operating system for the Internet Tablet line of handheld computers. It was originally named “Internet Tablet OS”.

It is similar to many handheld operating systems, and features a “Home” screen—the central point from which all applications and settings are accessed. The Home Screen is divided into areas for launching applications, a menu bar, and a large customisable area that can display information such as an RSS reader, Internet radio player, and Google search box. Based on Debian GNU/Linux, it draws much of its GUI, frameworks, and libraries from the GNOME project. It also uses the Matchbox window manager, and the GTK-based Hildon as its GUI and application framework. All pretty sweet stuff if you’re into it…

Release history

Version Codename Build identifier Release date Notes
OS2005 1.1 2.2005.45-1 November 2005
3.2005.51-13 December 2005
5.2006.13-7 April 2006
OS2006 2.0 Mistral 0.2006.22-21 May 2006 Beta release
1.2006.26-8 May 2006
2.1 Scirocco 2.2006.39-14 November 2006
2.2 Gregale 3.2006.49-2 January 2007 Final Nokia-supported OS for 770
OS2007 3.0 Bora 2.2006.51-6 January 2007
3.1 3.2007.10-7 March 2007
3.2 4.2007.26-8 July 2007
4.2007.38-2 October 2007 SDHC corruption fix
OS2008 4.0 Chinook 1.2007.42-18 November 2007 (N810 only)
1.2007.42-19 November 2007 Kernel upgrade only (N810 only)
1.2007.44-4 November 2007 Beta release (N800 only)
2.2007.50-2 November 2007
2.2007.51-3 January 2008 NOLO upgrade only
4.1 Diablo 4.2008.23-14 June 2008 Adds SSU support
4.2008.30-2 August 2008 First SSU update
4.2008.36-5 September 2008
5.2008.43-7 December 2008
Maemo 5 5.0 Fremantle Bundled community-supported Qt libraries
? Harmattan Bundled officially supported Qt libraries

iPhone OS 3.0

Looks like the field will level. And about time…

Two cool additions to the iPhone that now use HTML5 features:

Safari JavaScript Database Programming

The HTML 5 specification provides a new mechanism for client-side data storage: JavaScript database support. HTML 5 is currently in development by the Web Hypertext Application Technology Working Group (WHATWG).

JavaScript database support is available in Safari 3.1 and later, and in iPhone OS 2.0 and later.

You should read this documentation if you are a web developer who wants to store data locally on a user’s computer in amounts beyond what can reasonably be stored in an HTTP cookie.

HTML5 Application Cache

Michael Nordman of Google asked “Is this stuff built into shipping Safari or iPhone browsers yet?”

David Kilzer replied “This feature shipped with iPhone OS 2.1. When you use “Add to Home Screen” from the “+” button on Safari for iPhone, a web application with a manifest defined (per the HTML5 spec) will be saved with any cached resources. Note that the manifest file *must* be served with the correct MIME type for this to work.

There is no shipping version of Safari for Mac OS X or Windows that supports this feature yet.”