Dodo - My favorite April Fool

March 31st, 2008

A new application from Aviary, Dodo, the web-based time machine:

RIA on the mobile phones and small devices

March 31st, 2008

Flash, SilverLight, Android, JavaFX, QT and the iPhone. Seems that everyone wants to redefine our mobile phone, the ultimate device/gadget of all time. I’ve written a summary of the latest advancement in the area of rich mobile applications.

Read it here.

My new blog - Human VOIP

March 24th, 2008

Writing a blog is not a simple task, writing a good blog is very difficult. I’m not sure I’m the kind of person who can handle more then one blog, I’m not Lee Brimelow :), but, I’ll give it a try anyway.

My new blog name is, Human VOIP, it’s supposed to be mainly about telephony related stuff, but, somehow Flash seem to sneak in ;)

Security flaws in FLA files

March 20th, 2008

FLA is one of these file format that we’re used to freely open without any fear. Our complete confidence is going to change since a new exploit has been found. This exploit enable an attacker to manipulate an FLA file in a way that, when loaded into the Flash CS3 or 8 IDE, it will execute arbitrary code on our machine.

No need to panic, it’s unlikely that too many of the malicious FLA files are floating around. Just don’t run any untrusted FLA files until Adobe will issue the fix.

More info

Technical info

In case you write a blog in English

March 18th, 2008

Then you might wanna check this.

I should have know by now that the Then in the previous sentence is implicit ;)

OSE instead of SEO

March 15th, 2008

The promise of google to have a human like understanding of the Internet it crawls has yet to reach reality. My point is that, we should start to expect Optimized Search Engines (OSE) instead of painfully optimizing our content for them (SEO). Currently search engines can’t understand RIA (Rich Internet Application), websites written in Ajax Flash and SilverLight, and the authors of these websites need to invest a lot of resources to make it SEO. As RIA become bigger and more significant part or the Internet daily, what use is a search engine that can’t understand it? It’s the age of obscurity all over again, the age before google.

This clip (02:22) has reminded me of the old promise that google will see and understand the web the same as we humans do, a promise which wasn’t really fulfilled. I know there is a big technological challenge in that, hey google can’t do it yet, but the one that will do it the best might be the next google.

The search engine game might be open again since the late 90th.

The greatest SilverLight lie

March 4th, 2008

I’ve been to a few SilverLight events and read about it on the web, I’ve even played with it a little, and I think it’s very interesting. But, one thing I’ve learned from all of these experiences, beside the fact that the average dot.net developer feels awed when he sees how to create a rectangle with a gradient fill, is that Microsoft is pumping the fallacious fact that SilverLight is SEO (Search Engine Optimized) because it uses external XAML files, which are basically plain XML files. In the last event I were at, the presenter repeated this "fact" with such determination, which made me jump out of my seat with rage, well not really rage :), I’ve just explained it to him nicely why it’s not true. He was more modest with he’s determinations, afterwards.

Even though it’s a known fact that SilverLight isn’t just SEO out of the box, I still see this being repeated all over the web. You should question authority, and shouldn’t believe everything you’re being told, even if it’s Microsoft.

Currently, search engines don’t even bother looking at XAML files, IMHO they won’t start parsing it any time soon. The same way google don’t parse dynamically loaded XML files, since it can’t do much with it, you can’t get much out of a parsed XAML unless your looking for a Rectangle that is positioned at x=0.1232 and y=33.4355.

Fun to play Flash Lite games at a mobile near you

February 29th, 2008

Playyoo is about bringing the game experience we became used to get inside our browser, into our mobile devices. Simply direct your mobile phone to m.playyoo.com, to get instant fun. No need for any installations, no need to go through boring textual catalogs of games. All you need is a Flash Lite supported device, no matter which version.

Lately the playyoo game catalog grew considerably, since they opened their beta with only 13 Flash-Light games. The grew came partially because of the game creation contest that was recently closed, and the winners were announced today.

The wining game is Match the Blocks, an extremely simple and fun to play game that is very well suited to be played inside a mobile phone. The game is written in the widely supported  Flash Lite 1.1, so it’s likely to be pre-installed on your device.

Technologies never cry

February 24th, 2008

I’ve been thinking lately, will I leave my beloved Flash and jump to the newer SilverLight?! After all that Flash did for me, made me the man I am today, got me this cool job I’m happily manage to wake up (almost) every morning to go to. Will I just leave that all behind? I know SilverLight is still underage but it might become very sexy eventually. What if it’ll become the better technology, can I just dismiss all of our past together, me and Flash, that is? I might also have an easier time pushing SilverLight then Flash, in my area. I’m defiantly gonna play with the real SilverLight (ver 2.0) when it’ll come out, that might be fun.

I believe a lot of us Flashers share the same feeling. Lately this has been recognized even by our native Adobe branch (Israel) which was ignoring us, flashers, completely till now. They have set a Flex3 / Air conference for tomorrow (25.2.2008), which is the exact same day that Microsoft is doing her local Silverlight conference. As for myself, I’m gonna jump between conferences, have the best of both worlds, eat the cakes and have it too, they’ll probably be a lot of cakes :)

Again, I would like to give Microsoft credit for it’s SilverLight showoffs, even though it’s funded with lots of MS money. The latest is the Microsoft Virtual Events. For me, it didn’t worked in FireFox, gave me some error. Tried in IE7, although it was a lengthy load again (more then 8 mega), the experience was not that good, with lots of too long delays and un-intuitive behaviors and eventually some Javascript errors. maybe it’s mainly a matter of design and not the technology to blame, but this is a Microsoft website, if they don’t know how to use their own technology, then who will.

Compare it with one of the latest Flex showoff, funded with developers passion.

What I would really don’t like to see is that MS will win this fight even though it’ll provide the inferior technology. We’ve all seen it happen in the past, but, I still believe, this time the game is different. If they can really excel Flash then they should be the winners, but, as objective as I can possibly be, I believe they’re still far from it.

I would like to see both of these technologies nurturing each other with the competition. I’m not sure that Flash/Flex would have received such frantic amount of updates in such a short time if it wasn’t for MS upcoming competition. So, so far it’s been great and it’s gonna be even more interesting.

P.S. Maybe this guy can already convince you to make the move to SilverLight :D

Thoughts about the pug dog screen cleaner

February 11th, 2008

If you haven’t seen this cool pug cleaning your screen then click here. This cool Flash video embed inside a simple swf was floating all over the web for the past month or so.

The first think that came to mind was, lets turn this into a screensaver. Which introduced me to this great 100% freeware, swf to screensaver, Instantstorm. Only then I’ve realized that, it fits too perfectly as a screensaver to not already be a screensaver. indeed, after googleing I’ve found it here and a similar concept here (I wouldn’t install these, might contain ad-wares).

The most interesting thing bout this is, how something that had almost no existent became as viral as hell when it was re-distributed as a simple link to a swf file. No play button, no scrubber, and no nothing, follow the link and you get it filling the whole browser space and the experience starts immediately. Sometimes a link to a swf may be the best way of distribution.

If you’ll put in the pressure they will Flex

February 1st, 2008

I have written before about my previous working place and how I’ve desperately tried to convince my superiors over there to make the move to Flash/Flex instead of our homebrew Active-x. Back then my CTO rudely dismissed the idea every time it came up.

More then two years after I’ve written this article, he (the CTO) was let go, and the company decided to make the move to Flash. I was no longer working there, but, it became a live or die situation for the company. It might seems that the CTO was the main blockage for this move but he wasn’t the only one. Almost anyone that had an opinion was against Flash. I remember my team leader determining repeatedly “It will never be Flash”. How about some hat eating, if you got any hats left ;)

It might sounds like I’m breaking even with them in this post, and it’s a somewhat true, but I still care for their success and do still keep in touch with most of them and help when I can. It’s just annoys me that people can be so short sighted sometimes.

Anyway, they are currently in an advanced phase of the development, rewriting the homebrew active-x functionalities in Actionscript 3.0. They use the Flex 2 editor although they use little to none of the Flex 2 framework.

Though it saddens me a little, that it was such a painful process for them to turn to the right path and also that I didn’t get to develop this cool Flash product by myself. I believe that I have set the foundation for this move, brightening on the capabilities of AS3 and the Flash VM2 and how it can switch the active-x. So I do feel comforted by the fact that they managed to do it, even if it’s in the 11th hour.

These days I work for jajah, which though it is a larger company, it is still much more younger and dynamic. But still, I encounter some of the same ignorance regarding Flash and non Microsoft technologies. While the use of Flash/Flex isn’t something that is life changing for jajah, yet. We can use it in a lot of places to improve our products. We recently released the Jajah Flash widget and currently working on some Flex stuff.

I still, from time to time hear the same old cliche, “How is your Macromedia/Adobe stocks are doing?”. The fact is that I’ve never had any Adobe stocks, the fact is that I’ve never argued for the use of Flash when it wasn’t simply the best or the only solution. When their will be any alternatives then we’ll see. Since then - Open your eyes, be flexible!

I will present my previous company cool new, Flash driven, product and all of the details, in here, ASAP.

My own Time-Zone

January 29th, 2008

I just got my own time-zone, look at the photo below:

guya_net_timezone1

My time zone is GMT-1 when most of my co-workers are GMT+2. Actually this started as some kind of a joke on my expense but I like it a lot, it clears things up to others. Don’t ask if I’ve arrived yet just look at the clocks, it’s not even morning in my region :D

Social Engineering Exploits using Flash

January 27th, 2008

Apparently Adobe has fixed the bug I've found that enables a swf file to crash the browser, with the last version of the Flash Player (9,0,115,0). I don't know if it's related to my post, but, anyway it's good that it's been fixed.

Since it's already fixed, I just want to give an example of how this could have been exploited with a little Social Engineering. This example might look stupid to you and you would have never fall for it but remember, first, it's only an idea, the real attacker might be more creative, second, some Internet users are far from savvy and might fall for crazier stuff then this.

In this example, the naive user will reach a web site with this text: "I've installed a virus on your windows machine and now have full control of it and your FireFox browser. You have exactly 1:00 minute to donate 10$ to my account, click here to donate. If you fail to donate in the appropriate time I will disable your browser for a few minutes. This will be your first and last warning. Afterwards you have exactly 10 minutes to return to this page and complete your donation or your system and personal data will be compromised and damaged permanently. The only way you can remove the virus from your machine is to donate from this page".

The details like OS and browser will be interchangeable with the real user spec. The user will see the 1:00 minute timer counting, when it'll reach 0:00, boom! the browser crashes using the Flash bug, if the user try to close the browser or the tab, Javascript's onbeforeunload can be used to crash the browser and also add some scary alert.

JavaScript:
  1. window.onbeforeunload = function()
  2. {
  3. //flash.kill();
  4. return "If you leave this page without donating your system will be lost!!!";
  5. }

Some of the users will have enough fear in them to return and donate to the attackers PayPal account. Sound crazy?! Some have been known to fall for crazier phishing tricks. I personally know a few. Take care of the dummies near you.

A nice SilverLight showoff by Microsoft

January 6th, 2008

Microsoft recently released the SilverLight version of their Download Center. Its a nice demonstration of the SilverLight technology. But, looking under the hood reveals the huge amount of Javascript used to run this website. I can't see the benefit this has over DHTML if all the logic is anyway implemented by Javascript. The only thing that was maybe more natural doing using SL is the small rotating arrows on the right floating menu. Obviously that won't make it as a good argument for selecting the right technology for a project.

SilverLight_menu

It reminds me of when SilverLight was getting solidified into the final 1.0 version still named WPF/E. The only thing that came to my mind was WTF/E is this cr*p?! After all we were promised, all this buildup, this is what we're getting?! A stupid rendering layer with no logic?! Neitherless to say that it was very disappointing.

MS hurry to release SL bigger brother "SilverLight 1.1 Alpha" that is now going to be named SilverLight 2.0. This version will have a subset of the .NET CLR, logic written in C# and all king of goodies. Hopefully MS can keep up to some of it's promises with this release.

I have finally closed all of my TABs

January 1st, 2008

This happens to me once in a few months, I managed to clear all of my FireFox tabs. Read 'em all, all the stuff I "have to" read later, some wait there as an opened tab for weeks before it gets read and closed. It feels like a fresh start every time I managed to do so. Just the FireFox starting page without anything else. I'd better not go to any interesting website right now, especially not one of these aggregators that can lead to tenths of opened tabs in a minute. Lets savor the moment.

Along with some other issues like, CSRF, Tab surfing mainly hurt our time management (lake of) skills. With the old browsers, though you could have opened a lot of windows, but, it felt crowded after 10 and when it crashed and it generally did (i.e. IE), it didn't gave you the "favor" of restoring all the windows. These days when using a browser like FF it's easy to open tons of tabs without even noticing. The only thing that could have saved us, is the small memory leakage in FF that force us to restarts the browser every so often. Sadly enough there are add-ons like Tab Mix that will restore all of the tabs. Or what I generally do is just kill the process and launch FF again to get back all of my tabs with a clean FF memory. You can't just lose the tabs you need to read it!

I was starving for something that will help my condition. There are lots of tab related addons for FireFox that do all kind of tricks, but look at this one I found here named, Read It Later. Look at the name, it'll help me to, you guessed it, read it later. I don't need my tabs to sing or be colorful I just won't to be able to close the tabs and not feel like I'm loosing anything.

So far so good, but, will I really read these tabs later coz sometimes it's worth it, reading later, that is. And I believe I wont because Read It Later reminds me too much of this "uber" technic I have of dragging all the links from the address-bar into a folder. This way you clear the tabs, you have it all saved, but you never even open this folder again. Read it later generates a plain list which has no appealing, and doesn't really convince me to get back to it, especially when it gets crowded with lots of links.

Luckily there is yet another tab saver that focus on tab saving named Taboo. The obvious benefit of Taboo is that it generates thumbnails out of the saved links. Which helps to distinguish between the good saves to the lesser good ones. Taboo also can show you the saved tabs inside a calendar. For me that's all I wont, give me the saved tab and tell me how old it is. The only thing that is missing from Taboo is that you can't right click on a link and save it, it has to be an opened tab. And also no offline reading but who needs it anyway, just open the tabs before you go online if you ever do, go offline. Taboo adds just two buttons near the address bar, and been working fine for me so far.
Taboo buttons

There are other tab savers that try to do too much, they wonna be more then a simple tab saver, and loose their purpose by doing that. For ex. scrapbook, which do too much IMHO. Scrapbook has the nerve of adding itself in too many places and even in my FF main menu, just after my bookmark menu button. Does the Scrapbook saved tabs are equal to my main FF Bookmarks?! I don't think so!

ScrapBook

Maybe I need to sell my Ferari, not that I own a Ferari (yet), you know, metaphorically speaking. Unplug the switch, disconnect, get a life, bring a hammer and break my laptop into tiny pieces. Wait, that's the company's laptop, I don't think they'll like that.

Anyway, this post has become quite of a rant and, I would finally say that tab surfing is a too good feature, maybe I was better off without it, but it's here to stay and I'm not gonna quit using it so I'd better find some way to complete it. I have all of these add-ons and more still installed and I'd let you know how it's working.

Resolving some issues with swfobject

November 11th, 2007

There are some known issues with swfobject and ASP.NET, infact it's not just with swfobject but also with the Flash object in general, one issue of using ExternaInterafce from an ASP.NET Form can be solved with these technics

I had a strange issue with swfobject lately and obviously I've blamed ASP.NET for inserting unwanted code into my pages and causing problems. Generally it's reasonable to blame it as it does make a mess sometimes, but, this time it was my fault for not noticing other Javascript code is conflicting with swfobject.

The issue I had, was with the swfobject's addVariable and addParam functions. The Flash SWF HTML seemed to be written to the page's flashContent div but all of the variables and parameters I've added were ignored. After examining the swfobject getSWFHTML function, this function gives you the HTML code that is gonna embed the Flash inside the page, when I saw how strange the HTML is, I realized what happened:
Without naming names ;) some Javascript developers, extensions and frameworks like to write to the prototype of generic Javascript objects (This is also how Object Oriented Actionscript 1 was done in the past). And with doing so, extending these built-in objects (object, array, string, etc') with various functionalities. A good example is the javascript JSON implementation which extends the Javascript object with object.toJSONString(). Swfobject stores the variables and parameters inside a regular Javascript object and when it prepares the Flash HTML it uses a for..in loop to go through all the elements and add them to the markup
<param value="flashMovie.swf" name="movie" />
<param value="transparent" name="wmode" /> etc'

in case you're using the json.js, your HTML will have also
<param name="toJSONString" value="function (w) {....and whole lotta mess" />.

This might cause the embedding of the Flash movie to fail or function improperly.

The solution for this is to add a check to all of the for..in loops inside swfobject with the hasOwnProperty, for example:

JavaScript:
  1. for(key in variables){
  2. if( variables.hasOwnProperty( key ) )
  3. {
  4. variablePairs[variablePairs.length] = key +"="+ variables[key];
  5. }
  6. }

The hasOwnProperty function returns true only if the property is not built-in and not in the prototype chain. Therefor the toJSONString in our example will return false and wont be considered as a flash variable or parameter.

When encountering issues with the swfobject a good place to check is the swfobject.getSWFHTML() function.

JavaScript:
  1. var o=new SWFObject("flashFile.swf","falshMovie",200,300,"9","#FFFFFF");
  2. o.addVariable("firstName","Jon");
  3. o.addVariable("lastName","Smith");
  4. o.addParam("wmode","transparent");
  5.  
  6. //exmine the html before it's being writen to the div
  7. alert(o.getSWFHTML());
  8.  
  9. o.write("flashContent");

More related info about hasOwnProperty.

My blog jumped to a pagerank of 7

November 5th, 2007

You probebly heard about googel's last house cleaning. In short, google changed the way they give pagerank to websites, apparently it seems to be related to advertisements on the website.
I thought my blog stayed at the comfortable pagerank of 6 but, after checking and rechecking today it seems that my blog gets a PR of 7 again ...WooHoo.

I say "again" because my blog had this rank before. Short time after I've started it, it jumped straight to 7. I believe the steep jump was due to my blog being linked from the MXNA which have a PR of 10, and fullasagoog.com Which back then had a PR of 9. fullasagoog.com hasn't survived the last google change and was, sadly, dropped to a PR of 5.
After a few months without new posts, (and also because it didn't deserved it, but don't tell anyone ;) ), my blog dropped to a, still impressive, PR-6. This was a lesson to not neglect your blog.

I know, I know google's pagerank isn't everything in life but it's sure nice to have, at least until the next change.

172 Flash Player versions

October 2nd, 2007

Would you believe me if I told you there are 172 different Flash Player versions out there, maybe not, but you would believe google-analytics, right?

Since the new impressive Flash Player 9 states were published (93%-94%). I went to check it on a high traffic website, one that measures in millions of visits each month. After summarizing all the versions above 9.0, it reach to a compatibility of 90%, which is still impressive for such a short time. What was also impressive is that according to google-analytics.com, users with a total of 172 different Flash Player versions visit the website since the beginning of 2007. When I check only the last month it sums up to a total of 88. Some of the versions are so bizar I don't get who uses these, like the 2.0++, 9.0.21-d55-r47 and even 10.0, someone from adobe maybe ;)

Check out the last 11 versions from last month, it's really weird:

Bizar Flash Player versions

Seeing a website being hacked in real time

September 28th, 2007

You always hear about these stuff, a website has been hacked and its landing page has been changed by the hacker. But, what are the chances you'll get to see that, as it happens, on a large website.
It was 48 hours ago. I went to checkout weeworld.com, a cool avatars creators which recently released a nice new feature for theire avatars called weeRooms.

To my surprise this is the page that was loaded:

Weeworld hacked 1

After rechecking that I got the URL right, I opened the website in IE as well and got the valid weeworld website. This likely happened, and I'm only guessing here, cause their load-balancer served me with a different weeworld server, one that hasn't been hacked yet. When I refreshed a minute later, this server gave me the hacker page as well. It gave the feeling that this is a hack in progress and the hacker is going through all of their servers and changing the landing pages (index.aspx).

IT try to fight back:

Weeworld hacked 2

Server is down:

Weeworld hacked 3

Website is down:

Weeworld hacked 4
It took another few minutes and the website was completely down (probably by weeworld IT). It took a few more hours and the weeworld website was up and running again. Congrats to the IT for getting a hold of this hack and fixing it in a short time which probably felt like eternity.

I guess it's satisfactory for the hacker to hack a relatively large website like weeworld. But, what with these 1990's styled hacker landing pages?! Don't they want to update it to something more contemporary? Something more Web2.0'ish with gradients and reflections and a little bit of Ajax, or better yet write it all in Flex. A guy who can baffle the minds of full security crews can't come out with an appropriate web page? The same way developers became design / usability aware interactive developers, I think we should have also usability aware hackers.

The hacker landing page also included two prank scripts that i don't think even work since windows 98.

This VB script is supposed to open your CD drive. VS script?! What is the computability of VB script?!

Visual Basic:
  1. Set oWMP = CreateObject("WMPlayer.OCX.7" )
  2. Set colCDROMs = oWMP.cdromCollection
  3.  
  4. if colCDROMs.Count>= 1 then
  5. For i = 0 to colCDROMs.Count - 1
  6. colCDROMs.Item(i).Eject
  7. Next ' cdrom
  8. End If

This Javascript is suppose to shake your browser:

JavaScript:
  1. function shake(shakes, vibration) {
  2. for (i = shakes; i> 0; i--) {
  3. self.moveBy(i, vibration);
  4. self.moveBy(-i, -vibration);
  5. }
  6. }
  7.  
  8. shake('100','100')

Both scripts look like they were created by some program.

I'm glad that weeworld.com is up and running again and probably in a more secure way, check them out they have some cool stuff.

Apparently iskorpitx is a famous Turkish hacker who's been doing this for a long time, he even got a promo video in youtube. Is that a Web2.0 hacker or what?!

Call me now! Jajah new Flash widget

September 24th, 2007

We've just released the Jajah Buttons which enables you to receive calls from your website, blog, online community, email, etc' directly to your phone and all that without revealing your phone number. Check it out, call me now.

The Jajah button let's you determine when, where and to whom you are available for calls. It also give you a permanent short link that leads people straight to your phone. You can always reach me with this url - jajah.com/guy

The Flash widget is completely customizable in size, colors, supports multiple languages and have a unique look and feel. The widget was developed in Actionscript 2.0 mainly for compatibility reasons, it was intended to be released some time ago, before the Flash 9 Player reached 90%. Over that time it was overdeveloped with many features and a complete set of controls that were developed from scratch. Many of these features did not make it to the final (first) release, but, are ready to be put back in when the time is right, so stay tuned if you're interested in this kind of stuff.

The Jajah Button graphics were designed by the uber talented crew at Ichiban.

Jajah widget colors

Call animation:

Jajah widget call animation

Developing Actionscript 2.0 controls is a tiring and unappreciated task. Show it to a non-flash developer and they'll tell you - "thats nice but I have that in HTML also, I simply write an input tag...", they simply can't see the difference. This strengthen my feeling that some people, mainly developers, are color blind and can't differentiate between a circle and a box ;). If Microsoft is expecting these guys to do something appropriate with Silverlight, then they shouldn't, cause it ain't gonna happen.

Using the macromedia's V2 components, as always, didn't seem right. The Flash CS3 Actionscript 3.0 component set, although modest, looks like something that is more reasonable to inherit from. To complete your set, take a look at yahoo's Flash components.

This is the code I used to embed the Jajah flash widget inside this post using the Kimily Flash Embed wordpress plugin. There are more parameters you can add to make its colors look more like your style, check the editor for that. The Jajah Buttons Editor also gives you the code snippet suitable for your needs.

CODE:
  1. [kml_flashembed movie="http://www.jajah.com/buttons/jjb.swf?v=1" width="220" height="200" fvars="sn=guy" /]

Screenshots from the editor:

Customize colors and size

Editor - Customize colors

Set your availability

Editor - Availability 1

Countries you wanna get calls from

Editor - Availability countries

Callers blacklist

Editor - Availability blacklist

For more info go here...