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.(http://www.adobe.com/devnet/air/articles/developing_crossplatform.html)
Wednesday, December 17, 2008
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!
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!

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.
Silverlight2.0
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 http://blog.iphone-dev.org/post/49988701/pwnagetool-and-quickpwn-for-2-1-firmware 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!
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 http://blog.iphone-dev.org/post/49988701/pwnagetool-and-quickpwn-for-2-1-firmware 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.
TextUtils.as
You can use it like below:
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.
I just put together a TextUtils class with my Actionscript implementation of str_replace.
TextUtils.as
You can use it like below:
var content:String = "hello world";It gets interesting, when you gotta do something like this:
trace(TextUtils.str_replace(["h","w"],["H","W"], content))
//outputs 'Hello World'
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
Naturally, he clicked on the link which read "http://breakingnews.msnbc.com" 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.
The email's content goes
From: MSNBC Breaking News
Date: Wed, Aug 13, 2008 at 2:06 PM
Subject: msnbc.com - BREAKING NEWS: NASDAQ index gains 720 points overnight upon war announcement
To: **********@*****.com
msnbc.com: BREAKING NEWS: NASDAQ index gains 720 points overnight upon war announcement
Find out more at http://breakingnews.msnbc.com
======================================================
See the top news of the day at MSNBC.com, 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
http://www.msnbc.msn.com/id/26427935, select unsubscribe, enter the
email address receiving this message, and click the Go button.
Microsoft Corporation - One Microsoft Way - Redmond, WA 98052
MSN PRIVACY STATEMENT
http://privacy.msn.com (http://privacy.msn.com/>)
Naturally, he clicked on the link which read "http://breakingnews.msnbc.com" 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:
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...
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 ;)
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
There seems to be some confusion between google and adobe, when adobe says
and google says
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 guardian.co.uk 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..
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 guardian.co.uk 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..
http://www.flexjobs.in - 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!
Flexjobs.in 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 flexjobs.in 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 flexjobs.in 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: www.flexjobs.in
Flexjobs.in 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 flexjobs.in 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 flexjobs.in 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: www.flexjobs.in
Monday, June 30, 2008
OT - Bangalore's first Gay pride parade
Read about it here: http://tinyurl.com/67mude
Glad to see India opening up to such issues.
Glad to see India opening up to such issues.
Subscribe to:
Posts (Atom)