Wednesday, December 17, 2008

Developing crossplatform AIR applications

Though Adobe AIR is a runtime for creating cross platform applications, it is very much possible to create an AIR application, that runs fine on - say, Windows and screws up on Mac OS X and Linux. Its up to the developer of individual applications to make sure that his/her application remains truly crossplatform.

Charles Ward from Adobe documentation team has put up an article on devnet highlighting areas that developers need to be careful about when they develop AIR applications. Go take a look.(

Friday, October 31, 2008

easter egg in Flash CS4 Professional

Keeping up with the easter egg 'tradition', Flash CS4 Professional includes the usual easter egg - a slideshow of all engineers who worked on the Flash authoring and player teams.

You can invoke it by clicking on a really small ( may be, a 1 * 1 px ) button on the About Flash splash screen. I'm not gonna spoil the party by exposing where the button is, its fun clicking all over the dialog, for sometime :)

When Flash CS3 Professional was released last year, I did a similar post. When I installed CS4 today, first thing that came to mind was to go find the easter egg. And I got lucky in a few clicks. Lets see how many releases I can keep doing this ;)

M Williams passed away a lil while ago. This picture will carry his memories as long as Flash CS4 lives!

And Robert Penner. the easing hero :)

I decided to stop at 2 screenshots, but this pic of Sean is too funny to let go!

Ok, I can't contain any longer, time to go try out the new features!

Wednesday, October 15, 2008

flash player 10 released parallelly for Windows, Mac and Linux platforms!

For the first time ever, flash player release for Linux has been released along with the other two major platforms, windows and mac.

Am using a Ubuntu install on my macbookpro these days, so am thrilled to have the latest player on my machine on the same day as my windows and mac colleagues :P

Official press release is here.
You can get the latest flashplayer installed here

I hear that, Adobe AIR release with the latest Flash player capabilities, is coming very soon as well :)

Flash player 10 adds a lot of new expressiveness features - You'll start seeing apps built with those features once Flash CS4 goes out in the wild (looks like buyers can already download it. Trial versions must be coming, very very soon). The demos here will give you a good idea of some of the new features, so check it out after your installation is complete.

Oh, and on a side note, Silverlight2.0 was released a couple of days ago as well, but I can't install. There is no linux version, much like their previous version. I checked the system requirements page, and was confused at the silverlight plugin listed being not available for Safari on windows. Why?!
And when the page shows "unsupported platform" it also shows a "click to install" button below that. Which keeps refreshing the page. -_-

Friday, September 26, 2008

upgrade and unlock the 1st Gen Apple iphone ( firmware 2.1 )

Its been a while since I last upgraded and unlocked my iphone. I had 1.1.3 all this while, and got sick of seeing itunes popup up everytime saying "upgrade! upgrade!" so decided to spend some time today and get the software updated. ( and unlocked, of course)

The web is so full of 'tutorials' that help u unlock iphones, and its so confusing. There doesnt seem to be one 'official' location to look at. So I decided to write my own version of the step-by-step easy ublock procedure.

This is what I did:

1. Go to and download quickpwn torrent file.
2. Download the torrent using ur fav torrent application.
3. Connect iphone to ur mac. let itunes startup and ask u "do u wanna upgrade?". Surprise itunes this time saying "download and install"
4. Once the 238 MB download is complete and installation is over, ur phone will return to the factory settings state. All fresh and locked!
5. Now go back to the quickpwn.dmg file that you downloaded in step 2. mount it by double clicking it, and then drag the quickpwn application inside the drive, onto somewhere else ( ur desktop?)
6. run the quickpwn app, and follow the wizard. If itsnt able to find the firmware software, let it download again ( I dint bother to figure out where it was looking for the firmware etc)
7.Once QuickPwn finishes its job, you should be able to launch the iphone, and get to the home screen. If your phone doesnt detect any network, go to step 8
8. You'd have to launch 'Cydia' on ur home screen, and go to the 'search' screen. Search for 'BootNeuter'. Install it.
9. Before you launch BootNeuter, go to Settings > general > auto-lock - and set it to 'never'. BootNeuter doesnt like autolock.
10. launch bootneuter, and set Version to 3.9, Neuter to 'on' and unlock to 'on'. Once the settings are made, Click on 'flash' on top right. Let the phone be for a while, and do its stuff. Once its all done, and restarted, You should see the logo of ur carrier on the left top.

Thats it. Happy unlocking!

Monday, August 18, 2008

PHP's str_replace in Actionscript 3.0

PHP has a robust method for doing a string search and replace. The str_replace method can take in an array of elements to be searched and replaced and do the replace in one shot. Check out PHP's str_replace function's manual for details.

I just put together a TextUtils class with my Actionscript implementation of str_replace.

You can use it like below:
var content:String = "hello world";
trace(TextUtils.str_replace(["h","w"],["H","W"], content))
//outputs 'Hello World'
It gets interesting, when you gotta do something like this:
var content:String = "h.e.l.l.o; w,o,r,l,d";
trace(TextUtils.str_replace([",", ".", ";"], "", content))
//outputs 'hello world'

If you find it useful, go ahead and use it.

Of course, Actionscript 3.0 does have its own implementation of 'replace' function in the String class, which is pretty sleek as well. It also includes support for Regular Expression based search and replace. Check out the documentation AS3.0 String.replace here.

Thursday, August 14, 2008

New Virus in town - Under the name of 'Flash Player Installer'

A friend today got infected with a spam email.
The email's content goes

From: MSNBC Breaking News
Date: Wed, Aug 13, 2008 at 2:06 PM
Subject: - BREAKING NEWS: NASDAQ index gains 720 points overnight upon war announcement
To: **********@*****.com BREAKING NEWS: NASDAQ index gains 720 points overnight upon war announcement

Find out more at
See the top news of the day at, and the latest from Today Show and NBC Nightly News.

This e-mail is never sent unsolicited. You have received this MSNBC Breaking News Newsletter
newsletter because you subscribed to it or, someone forwarded it to you.
To remove yourself from the list (or to add yourself to the list if this
message was forwarded to you) simply go to, select unsubscribe, enter the
email address receiving this message, and click the Go button.

Microsoft Corporation - One Microsoft Way - Redmond, WA 98052

Naturally, he clicked on the link which read "" but was linking to a infected site. And was prompted to 'Install Flash player' . Now who doesn't want to install Flash player!!
So he "installed" clicking on the the link. At the time of me writing this, he is still figuring out how to clean up the mess!

There is only one way to make sure u won't fall for this trap. Always have the latest Flash player installed in your machine. ;)

If you haven't updated your flash player for long, go get it here.

Saturday, July 12, 2008

something about closing and reopening a SQLite connection in AIR

Recently, we had a 'strange' problem in an AIR application that I am working on.

Here's the scenario:
The application already had a SQLConnection open to a SQLite database, and it was open syncronously in READ mode. I wanted to write some data into the same database, so decided to close the connection, reopen it, now in UPDATE mode. That way, I can write data, and keep the connection open so that the rest of the code can continue using the connection as well.

This is what I did:
  • I issued a conn.close();
  • I did a trace(conn.connected) //to check if the connection is closed
  • And finally, a conn = null; // just in case ;)
And then, went on to create a new SQLConnection object into the same variable. And on the connection open event handler, created a SQLStatement object with the UPDATE table SQL text and executed it. Everything looked fine, and I tested the code, only to see a runtime error stating something like "operation cannot be performed on a closed connection" :-/

Now let me get it straight. I was executing the command in the SQLConnection open event handler. And the error said the connection is closed ??

After spending a good chunk of time trying to investigate it, adding a responder to the conn.close() call, and creating a new connection object after that responder was triggered, solved the problem.

Wonder why, being a synchronous connection still had something running in the background, when my code had moved on to create the new connection, and open it as well.

Guess its one of those things...

Tuesday, July 01, 2008

Flash content to be indexed better by google and yahoo

[UPDATE]: Looks like Peter Elst have almost similar reaction to this news and posted a better worded post here

There is a lot of news today about Flash files being indexed better by google and yahoo thanks to some new 'Adobe Flash player technology'. The 'new Flash player technology' will enable search engine crawlers to crawl deeper into swfs and hence index areas of the swf that were previously inaccessible.

If adobe has developed a specialized flash player for search engines to crawl, how about that version of Flash player be released to individual developers as well? A flash player like that will help testing professionals develop automated tests for Flash based applications. Currently Flex application testing can be automated, but that requires developers to add hooks into their Flex applications to let testing software (QTP etc) talk to their application. This new Flash player build might help developers achieve the same for Flash IDE based applications too, without any extra effort.

While the news as a whole seems to be interesting, I have a few concerns.

Both google and adobe say that there will be no change required from developers or companies to 'enable' their content to be searchable. Any text that appears in the SWF becomes searchable tag now. Though on a high level this sounds great, it also rings an alarms. In google's own blogpost about the news, Google says
If you prefer Google to ignore your less informative content, such as a "copyright" or "loading" message, consider replacing the text within an image, which will make it effectively invisible to us.
Umm... Really? Now how is that gonna be practical? Its not just 'loading' and 'copy right'. You'll have to hide text like 'first name', 'last name' etc, if you have a form, and will we have to create images for all of those?? Wouldn't that add a lot of unnecessary hassle to developers now? And if developers were lazy and didn't do this, wouldn't we start seeing a lot of results like this one?

There seems to be some confusion between google and adobe, when adobe says
"As a result, millions of pre-existing RIAs and dynamic Web experiences that utilize Adobe Flash technology, including content that loads at runtime, are immediately searchable ..."

and google says
"We currently do not attach content from external resources that are loaded by your Flash files. If your Flash file loads an HTML file, an XML file, another SWF file, etc., Google will separately index that resource.."

Secondly, if a XML file that a SWF file loads is indexed separately, the XML file will appear in search results, not the SWF. What benefit would that give users now? ( of course google says that they are working on this, so probably this will be fixed)

If google tried indexing an RIA application that has a Java backend, will the spider try hitting the service directly? ( thats what the above statement seems to imply) And if it did really do that, and the service returns a different results each time, how and what will google add to the index? Kinda confusing...

I'd prefer that SWF's text content being searchable should be an opt-in feature. If developers can choose to let search engines see some portion of the text that they need it to index, wouldn't that be better?

Of course the search engines being able to traverse through different paths of navigation within a SWF and being able to find content there is all a good thing, but how will search engines be able to take the user directly to a particular state? ( flex apps have deep linking feature, but not many people use it - and in many places, it might not make sense to use it in a flash app.)

Finally, is it only me who sees that both adobe and Google are trying to say how smart they are by themself? [UPDATE: Jack Schofield of did see that the google page dint have any credits to adobe. Umm, they did link adobe's press release though :P ] Adobe's press release says "Adobe Flash Technology Enhances Search Results for Dynamic Content and Rich Internet Applications" and Google goes "Google's ... new algorithm for indexing textual content in Flash files of all kinds" hmm.. - A new Flex jobs portal

Finding the right people for Flex developer positions has become a major headache for most of the companies out there. I've seen companies resort to other technologies when they can't find people to work on their Flex projects. Being a relatively new technology, finding Flex developers through consultants has also become a hassle. At times, I get calls from job consultants who have absolutely no idea about what it is that they are wanting to hire me for! is a new job site for Flex ( and Flash platform in general) jobs. Though the domain name ends with a .in the site covers international job openings as well. ( talk about finding a domain name)

Posting jobs on the site is free. There is also a premium account for job posters, where they can employ to do the first round of screening processes for candidates. Having been experienced Flash platform application architects, who have also built successful development teams, the guys behind can sure do a good job in that area.

The site also lets developers put up their profile, so that prospective employers can 'choose' developers and contact them. Also, developers can choose to subscribe themselves to newer job postings via email.

Check it out:

Monday, June 30, 2008

OT - Bangalore's first Gay pride parade

Read about it here:

Glad to see India opening up to such issues.

Saturday, June 14, 2008

Don’t forget to be part of Firefox’s Download Day!

Updated: Thanks to prakaz, for bringing it up to me that I had the date wrong in here. Its June 17th, not July!!

Firefox 3 is set to be released on June 17th.

Go add yourself to the list of people who have pledged to download FF3 on that day, and you'll be notified on the release day, by Mozilla.

Download Day 2008

Wednesday, June 11, 2008

Greenbox - from the godfathers of Flash

Greenbox™ enables households to save money on their energy bills and reduce their carbon footprint.
Greenbox is the domestic energy saving utility product from SoftwareAsArt Inc, the company that Jon Gay, Robert Tatsumi, Gary Grossman, and Pete Santangeli (- in short, the founders of Adobe Flash & Actionscript) founded a while ago.

They are 'currently in the process of conducting in-home trials' and the product is expected end of 2008/ early 2009.

Oh, and Jonathan Gay is listed as one of the 25 people who ditched InfoTech to CleanTech. Congrats Jon!

CNN Money knows how Apple is gonna end the standoff with Adobe-By putting Flash memory on iphone!

A couple of weeks ago, John Dowdell, Peter Elst, Mrinal Wadhwa, and Brajeshwar Oinam posted about how 'geek' bloggers are writing silly posts about Silverlight vs AIR.

Today, someone passed me a link to this post on CNN Money, which beats every other blogger hands down:

" Just how will Apple meet expectations? Using the patent application as a guide, Apple appears to be making room on the iPhone for flash memory, which means an end to Apple's standoff with Adobe (ADBE) that's kept iPhones from easily viewing a plethora of Internet videos."

Now this dude thinks that Flash memory and Adobe's Flash media player are the same. Beat that people!

The entire post is a joke. Check it out!

Monday, June 09, 2008

Apple store browser - Be the first to know ;)

I know a lot of you out there are constantly refreshing ur browser windows pointing at, in an attempt to see when the new set of pages go up with the new products.

At the time of writing this post, the store displays a note saying that the store is being updated. So go on apple fans, start hitting the page, and be the first to see the new page!

So I just put up this mini apple store browser, which keeps doing the refresh page, for you. And thought I'd as well pass it out to others who want to do the same :P

If you already have the AIR runtime installed, just download the appleStoreBrowser.air file and install.
If you don't have AIR runtime installed, get it here

Go, go!

Wednesday, May 28, 2008

Sichuan, China - earthquake - do your part, help people rebuild their lives

Details of the quake available on wikipedia.

By now, reports say that over 65,080 people have lost their lives and over 23,150 are reported missing.

Came across this video yesterday. Real cute ones, those panda babies:

The description of the video says it was shot in Chengdu, which happens to be about 80 kms away from the epi-centre of the quake. It would be a miracle if those pandas are still around...

Saw a CNN report today stating that a lake (that was formed by a landslide blocking a river) is about to overflow sometime today/tomorrow, and that's gonna bring in more havoc. NYT report on that here.

Sandy, a friend made this post today collecting various videos from chinese websites. This particular video, I think is is gonna haunt me for a long time to come..

The man was stuck under that big pile of concrete for 73 hrs and still held on, and died when after he was rescued. Thats really sickening!

Reports say that more than 5 million people have been rendered homeless. I can't imagine what a humongous task rebuilding their lives and homes is gonna be. And even after more than a week since it hit, the aftershocks still keep killing people and bringing down buildings.

If you'd like to contribute money to supporting the victims, look for some options

If you are in Singapore, and would like to contribute via red cross, check out the details here

Thursday, April 17, 2008

Actionscript 3.0 coding conventions and best practices

Read about this first at Keith Peters blog.

Looks like the document has been put up by adobe for Flex SDK contributors' reference. Nevertheless, it can be adopted by any Flash/Flex developer writing Actionscript code.

Tuesday, February 26, 2008

Singapore Flex UserGroup - February meet

With Flex 3.0 ( and AIR1.0 and BlazeDS source, and flex source and, and...) being released this morning, this month's FUG meetup is time to celebrate! We have a couple of sessions this time around. The agenda as per Shunjie's UG invite mail is as below:

7.00pm - 8.05pm : Session 1 - Test Driven Development by Thye Yeow Bok
8.25pm - 9.30pm : Session 2 - Flex 3 / AIR 1.0 Live! by Hu Shunjie

When and Where:

27th February 2008, Wednesday, between 7.00pm to 9.30pm


Adobe Singapore,
PageMaker Room,
8 Temasek Boulevard,
#06-02, Suntec Tower Three,
Singapore 038988

You can register for the event by responding to the thread here:
Registering will help us make sure we have enough seats available in the meeting Room at adobe ;)

If anyone's willing to go for a beer after the sessions, I'd be game. See you all there!

Monday, February 25, 2008

We'll miss you, MWilliams

Last night a friend informed me of the demise of Michael Williams. I had to spend a few hours trying to getting in terms with it. No one seems to know what happened yet, and that makes it even more harder to believe that he's gone. He was just 31 yrs old!

I remember meeting him only once while i was there in SFO. He was a very friendly person. After I went back to India, we had a few exchanges over Flickr, and most recently on facebook. I've admired his people photography a lot, and his pictures have always been a great source of inspiration.

He was recently involved with the open source SWFObject 2.0 project, besides his contribution to the Flash player team.

Like a friend of his said, he just made me realize how short life can be.
May his soul rest in peace.

Wednesday, February 06, 2008

Kevin Lynch promoted as CTO of Adobe

Adobe Systems today announced the promotion of Kevin Lynch to chief technology officer (CTO).

From Adobe's press release:

"In this new position, Lynch will oversee Adobe’s experience design and core technology across business units. As part of this role Lynch will continue to drive Adobe’s technology platform for designers and developers, which includes Adobe® Flash® Player, Adobe Flex®, and Adobe AIR™, the new cross-operating system application runtime that bridges the computing power and data capabilities of the desktop with the real-time dynamic capabilities of the Web."

Read the complete press release here.

Congrats to Kevin Lynch!

Image, courtesy adobe systems.

Saturday, January 26, 2008

Use en_gb locale to download Flash Media Server - Dev Edition

I saw a twitter log from someone mentioning that he couldn't download Flash Media Interactive Server 3- Developer Edition, that was released yesterday. I tried it this morning, and happened to have the same problem.

The 'Download Adobe Flash Media Development Server 3' page shows up, and and it doesn't show Flash Media Server download bar, but lists Flash and Coldfusion as related downloads.

I went to the downloads homepage and tried it again, and this time the page reloaded, with 'ADobe United Kingdom on the titlebar'. And I noticed that the locale in the URL changed to en_gb now, and the download was available! Looks like, Adobe doesn't want US developers to download FMIS yet ;o)

Here is the url that works:

This, am sure is a temporary issue. Hopefully Adobe will get this fixed in by the time you read this post ;o)


Wednesday, January 16, 2008

Sun microsystem acquires MySQL AB for $1 billion

Sun Microsystems is taking the plunge into the database market with the purchase of open source database developer MySQL for $1 billion

With the move, announced Wednesday, Sun takes a big leap into the $15 billion database market and pits it against the likes of Microsoft, IBM and Oracle

via ZDNet

Sun CEO Jonathan Shwartz has a detailed writeup on his blog here