Oct 07

Its end of the year again and that means lots of Web related events and conferences in Singapore, which is very encouraging for the Web scene of Singapore. We are looking at at least four web/tech events for the month of October. If you are a developer in Singapore, you have no excuse not to attend even one of them!

The Actionscript Conference - 19th October 2008

Pardon for the shameless advertisement but yes, it is organize by me and my great team of Singapore Flex Usergroup. The Actionscript Conference (TAC) is a community conference with the focus on the Flash Platform. Attendants will see themselves immersed in a day of learning, knowledge exchange, and networking. TAC aims to bring topics on Actionscript 3.0, Flash development, Enterprise Flex, AIR, Integrating of Flash and other Platforms, and building Rich Internet Application to its audience.

We aim to create a conference for the developers, by the developers.

When: 19th October 2008
Where: National Library Singapore, Level 5 and Level 8
Who should go: Web developers, Actionscript developers, Web 2.0 entrepreneurs , Students, Educators
Price: Sold out, but there will be a Free community event on the 17th to be announced.

Microsoft Tech Fest - 23th -24th October 2008

Microsoft TechFest 2008 by Microsoft. For $99 SGD, you will get 3 books worth over $150 dollars, and 2 days of multiple tracked sessions with great speakers like Maung Maung Phyo and Loh Kit Kai. It is already worth the money and time investment to hear these experts speak along. I will be definitely attending to update my .NET knowledge. Since Amazon Web Service is going to provide Windows in the upcoming months, the demand for windows server side solution like SQL Server will be big! I will be going to learn more about LINQ and SQL Server 2008.

When: 23-24th October
Where: NTUC Auditorium
Who should go: Developers who want to learn Microsoft Technology.
Cost: $99

Google Hackathon - 28th October

Purely for developers, our friends at e27 has bring us another great event! Check out the event website:
http://www.e27.sg/events/google-hackathon-singapore/

Attending is free and you get one day worth of hacking google stuff, networking and goodies. Hackathon is always a geek/developers dream. Google has been involved a lot of activities in Singapore this year. I will be going for this event for a day of coding goodness.

When: 28th October 2008
Where: Singapore SMU Campus
Who should go: Developers who want to learn about Google APIs and Google Apps.
Cost: FREE
Singapore Digital Media Festival - 30 -31th October

For the website, “DMfest is organised by the Digital Media Chapter of the Singapore infocomm Technology Federation (SiTF) to bridge the usually separate communities of IT and media production.

This year’s event, which is focused on the theme Television 2.0: Internet Services and New Media Mashup, comes at an opportune time, as the ubiquity of high speed communications and the proliferation of devices transform the way content is delivered to the end user, and how the end user interacts with this content.

For the IT community, a world of richly interactive media applications beckons. Increasingly, streaming, webcasting and video conferencing are being incorporated into mainstream business requirements.”

The tagline “Television 2.0″  says it all. This conference is about Web 2.0, Community TV, New Media Mashup. Day 1 consist of screening of videos and films, including some that embraced Creative Commons that had just landed in Singapore this July. Day 2 consist of the sessions by international speakers on Television 2.0.

When: 30-31st October
Where: National Museum, Singapore
Cost: $268 for Full conference pass.
Who should go: Web 2.0 Entrepreneurs, Media-related professionals

See you guys there at these events! If you see me, be sure to catch me for some Seesmic or TAC stickers!

Sep 28

It is a week of software and web goodness as I got involved in a lot of activities this week. First off, I managed to hold the FUG CS4 launch party at Adobe where we have sessions on CS4, and give aways of tshirts, stickers and book. I also managed to meet up with Grant Straker of Shadow CMS who is very kind to come to our usergroup and present on Cairngorm Extensions. Ryan, the web master of Flashmove and manager of the Flash Usergroup Group also dropped by on the event.

On Friday, I meet up with Ben Metcalfe and his wife Sofia for lunch, together with many of the FUG regulars include @satish, @flashmech, @kennethteo, @mrsteel at Clark Quay. It is a great meetup where we discuss on web 2.0, social networking, and share our experience in Singapore. We also distribute seesmic stickers and I managed to get myself a new cap and many tshirts.

Next up in October, I will be heading for Open Web Asia at Seoul and of course, involve in the execution of  The Actionscript Conference. Will be busy times to come and glad that things are falling in place!

Sep 13
Adobe PhotoshopImage via Wikipedia

Creativecrew, Singapore Photoshop and AfterEffects usergroup just have its September usergroup meeting 2 days ago and I am honored to be helping them to record the sessions.

Below is the first presentation by Stefano, the creativecrew usergroup manager, demonstrating how to use brushes techniques to create clouds and birds in your photo. I am always astonish at how these professionals can create such realistic effects. Watch the 20mins video below to see it yourself.

Get the Flash Player to see this player.

There is also demos on showing how to create “tourist removal” for photos as well as expressions for After Effects. I will put up the videos after I convert them to FLV during the weekend.

I realize what is taught at creative crew are very useful for photographers (especially amateurs like me), as well as video enthusiast (which is again, me). I hope they can continue to help support from the local creative communtity and grow strong!

About Creative Crew:
Creative Crew is the official Adobe User Group for Photoshop and After Effects. Based in Singapore, Creative Crew has the aim to share and spread techniques and tutorials for both Print and Video.

The User Group meets every second Tuesday of the month in a Live Meeting. Most of the time the venue is Adobe office in Suntec City Tower 3, Level 6, Temasek Boulevard, Singapore.

Creative Crew also organizes OnLine Meeting using the powerful tool Acrobat Connect. OnLine Meeting are normally held the week before the Live Meeting.

The Manager and Administrator of the User Group is Stefano Virgilli, Adobe Video Specialist, Adobe Certified Instructor and Expert in 8 versions of 4 Adobe softwares.

They also have a Facebook page

Reblog this post [with Zemanta]
Sep 11

I have been using Amiando to host events for the Singapore Flex Usergroup for the month of August and September and it works great. No registration for end users, reminder services, simple non-cluttered interface. However, what impressed me most is their service. And here is why:

At Amiando, you can upload banner for your events, change the CSS, to meet your event styles. I uploaded an image yesterday and coincidentally, it is covered by the tabs below:

I dismissed the issue, as I believe most users will actually saw my email newsletter first before heading to the page. However, when I woke up today, I revisited the website and see this:

What is the difference? Basically it is being FIXED! And I got a personal email from Amiando stating:

I have seen you set up a new fug meeting http://www.amiando.com/fugsg-sept.html which looks great. We can do some adjustments via CSS so that the text in the left corner can be seen as well as the Yahoo logo. I will talk to our frontend developer Patrick and will let you know.

Best,
Boris

What does that mean? That means that Boris Barreck from Amiando, actually takes the time to go through every single event hosted on Amiando, checked whether there is any problem. Even a small CSS issue as above, is identified and fixed within a few hours. Note that Amiando host major events like LeWeb and I deeply appreciate them to actually notice issues I am having on their website and help me within a day.

Web 2.0 Customer Service

Web 2.0 has cause significant changes to customer service and support. On top of Get Satisfaction, we see companies tracking Twitter for keywords to bash their competitors or to provide support, as well as in my own case, tracking blog post for relevant questions on your product (see the comments in the link)

With high competition and low barrier to entries to the Web 2.0 world, it is not difficult to understand how good customer service like Amiando will play a big part in the success of a company.

Sep 11

Today, Facebook announced that they will be shifting the Application Bar to the bottom left corner of the page, together with the chat bar.

So I was happily coding halfway today, when the Application Bar on the top disappeared and I was thinking it is due to me not drinking enough coffee. Then bang, it appear on the bottom on the second look

For those who do not know what Application Bar it, it consist of all your applications on Facebook, including Events, Photos, Videos and the other application you have installed. Previously, it can be access as a drop down list on the top. The new bar also means that bookmarked applications will now be visible always in the bottom.

Does the new Facebook profile really sucks ?

I started doing Facebook application development before the New Profile and things are pretty simple. 1 cached FBML for the profile page and the rest of the application is pretty much up to your own creativity. With the New Profile, you can have your application in the main Wall, OR it can be under Boxes, AND it COULD be under Application Tabs.

For end users, most of the first reaction from people I met is “It sucks”.  In fact, that is my first reaction too. Plus, designers will curse and swear too since now they have to design 2 more UI for Boxes and Application Tab. However, that also means that every Application gets the chances to have more exposure. Having a user putting your application to his / her application tab will be like winning a lottery, that means they love your application. You can now design a wide FBML  for Boxes Tab, and also a narrow FBML for Wall Tab, in which both can have radically different design, at the discreet of the developer.

Another tread we will see if that developers will now focus more on User’s stories to have their application noticed. Unless a user place their application under Wall Tab, it is unlikely that their friends will go the Boxes Tab to see “what application their friends have”. By focusing on User’s Stories, they will have information of their application to appear under the users’ Feeds, which is right on top on the user profile page. Applications not doing that yet will have to do that, to keep their applications competitive.

On the overall, while during the transition period, many might throw curses at Facebook New Profile design, I believe they will come to like it as they get used to it. Afterall, we get a less cluttered profile page now. :)

Sep 10
Learn the fundamentals of Flex, Cold Fusion and Cloud Computing in the month of September. This month, we are thrill to announce that we will be having our usergroup meeting at Yahoo! Singapore. We will have Alex Goh to talk about basics of Adobe Flex. Vishnu Prasad from CFExpose will also cover the basics of Cold Fusion, as well as Alvin Zhang to speak on Cloud Computing using Amazon EC2 and S3 and their capabilities to host your next killer application. Come and join us and start your RIA career!

Drinks will be provided during the meeting. Come early to grab limited FUG stickers and network with the fellow members. Feel free to bring along your laptop and enjoy the free wifi provided by Yahoo! Singapore.

As we will be holding the meeting outside of Adobe, please RSVP at http://fug.sg/go/ to confirm your presence.

Venue

Yahoo! Singapore
6 Temasek Boulevard
#08-00 Suntec Tower Four
Singapore 038986

Registration starts at 6.30pm, 17th September 2008, Wednesday.

Sessions overview

6.30pm - 7.00pm - Registration + Networking
7.00pm - 7.10pm - Opening Note - Update to FUG by Hu Shunjie
7.10pm - 7.40pm - Introduction to Flex by Alex Goh
7.40pm - 8.30pm - Beginning ColdFusion by Vishnu Prasad
8.30pm - 9.20pm - Cloud Computing, Amazon EC2 and S3 by Alvin Zhang
9.30pm onwards - Supper!

You can follow the Usergroup updates from the following:

Website: http://fug.sg

Twitter: fugsg

Forum: Forum

Previous Usergroup Sessions: Recorded Sessions

Speakers profile and topics
Alex Goh

Alex Goh previously worked in Accenture as a SAP Technology Consultant, and Nexmedia Pte Ltd as a Flex developer. He picked up Flex about a year ago, and have developed several applications including a virtual message board. The application is currently being used in schools and conferences whereby the virtual board is projected onto big screens, and students or audiences are encouraged to post their questions or feedbacks by sending SMS to the board.

Vishnu Prasad

Vishnu Prasad is an Coldfusion developer with 8 years of experience in IT industry with speciliation in coldfusion. He has written few turorials on Coldfusion @(www.learncf.com). e specializes in emerging technologies and he is currently fascinated with rich internet applications, service oriented architecture, and identifying new trends.

Vishnu mission is to promote coldfusion and Coldfusion related technology by giving free training to collegs abd university for that he as started the community www.cfexpose.com. Looking for a volunters for the same.

Alvin Zhang

Alvin Zhang is passionate about RIA, the web, making stuff move and user interfaces. His other interests are photography and film and he has an attraction to everything Japanese though he can’t speak the language. Alvin is currently working with Imagine Omnimedia on several projects and teaches Flash at 3dsense Media School Singapore. Alvin is also an Adobe Certified Expert on Photoshop, Acrobat and Flash.

line

Flex is a free, open source framework for building highly interactive, expressive web applications that deploy consistently on all major browsers, desktops, and operating systems. It provides a modern, standards-based language and programming model that supports common design patterns. MXML, a declarative XML-based language, is used to describe UI layout and behaviors, and ActionScript™ 3, a powerful object-oriented programming language, is used to create client logic. Flex also includes a rich component library with more than 100 proven, extensible UI components for creating rich Internet applications (RIAs), as well as an interactive Flex application debugger.

RIAs created with Flex can run in the browser using Adobe Flash® Player software or on the desktop on Adobe AIR™, the cross-operating system runtime. This enables Flex applications to run consistently across all major browsers and on the desktop. And using AIR, Flex applications can now access local data and system resources on the desktop. Both Flash Player and Adobe AIR are available as a free download on Adobe.com.

cold fusion

Adobe® ColdFusion® 8 software solves the day-to-day challenges of Internet application development, allowing you to be extremely productive as you create and deliver engaging online applications. And because it fits into any IT environment, you can use ColdFusion 8 for everything from small departmental applications to highly scalable, reliable implementations of your most important business applications.

amazon web service

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.

Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.

Proudly brought to you by
Organized by: Venue provided by:

.

A message from FUG
Singapore Flex Usergroup is the organiser of The Actionscript Conference. The Flash Platform Event in Singapore, 19th October 2008.
The Actionscript Conference

Questions, Comments, Feel free to email us at admin@fug.sg
Sep 04

The problem.

You are doing a small/proof of concept project. You want to have a centralized database, but do not want to hassle of creating another mySQL database on your live server. You know just need a simple datastore, but you do not want to write codes to read/write from an XML file. You need a flexible datastore that just works, you know you do not need much scalability for this simple application, or the overhead of Simpledb. You want it to be REST possible but installing phprestsql is too much of an overkill.

Stuck?

Enter Google SpreadSheet.

If the above is the problem you are facing, you might want to take a look at Google SpreadSheet. The first reaction might be “what?!?, I wrote 1000 lines stored procedure and you want to me to code with SpreadSheet??”. But if you are just doing a small application, something that just requires an online datastore, what is better than an API that lets you do queried search, allows you to do CRUD on your records, with a ready API for .NET, PHP, Java and it is hosted by Google?

Not Google Apps Engine.

Google SpreadSheets are essentially..spread sheets. SpreadSheets consist of Worksheets, and each worksheets consist of ROWS and COLUMNS. Effectively, each Worksheet is like a Table in your database. The first ROW of the Worksheet will be the column names. Take a look at the worksheet below.

google spreadsheet

Essential ,  username, gender, contact_no and gender will be the column name. Since Google SpreadSheet allow us to do queried search on the spreadsheets, we can think of username as the primary key and we can base the query on it. If you need more tables, simply create more worksheet. If you need another database, create another spreadsheet. Thus, we can use a Spreadsheet to simulate a database. In the nutshell:

Spreadsheet -> Database
Worksheet -> Tables in Database
1st Row in Worksheet -> Defines the column names
Subsequent Rows in Worksheet -> Defines the rows in tables.

Queries Search -> Select Statements
Add Rows -> Insert Statment
Delete Rows -> Delete Statement
Update Rows -> Update Statement




The Good

Google SpreadSheet, as what Google mentioned, has the following features:

  • Upload from and save to your desktop
  • Edit anytime, from anywhere
  • Pick who can access your documents
  • Share changes in real time
  • Files are stored securely online
  • It’s FREE
  • Essentially, it means that the hosted “database” will be free, secure, and you will not need to install any client application except for your browser to access it. You can even create it on an excel sheet first, and then upload it online and transform it into your database.

    You can access the spreadsheets via code by HTTP, as well as .NET, PHP, Java or Python API

    The Bad

    As this is not a real RDBMS, there is no real constrain. Unique keys has to be handled by code and constrains has to be verified at the code level. For simple applications like a simple Book-Ordering form, or Contact-Management form, this will work great. However, Google SpreadSheet will not be the way to go for larger CMS systems.

    On top of that, you can easily change a column name on Google Spreadsheet. The ease of change also increase the changes of the developer mistakenly changing the columns in the main spreadsheet and thus breaking the application.

    Security

    Google SpreadSheet is not shared by default, so only you can edit it. You can also share it to other users as Collaborator or Viewers. This also means that your ‘database’ can be shared with our users for collaboration, but you can limit them to View-only so they cannot mess up your application by accident.

    google spreadsheet

    API Website

    For documentation, code samples and how-to, visit http://code.google.com/apis/spreadsheets/overview.html

    Summary

    In short, Google SpreadSheet provides us with a simple and easy datastore for simple applications that needs a hosted database. Other formal alternatives includes Amazon’s SimpleDB, Google Apps Engine Datastore API, and Apache’s CouchDB. Which one do you prefer and which one do you think is the more scalable solution? Do chip in!

    Related Article: Top 10 Reasons to Avoid the SimpleDB Hype

    Sep 03

    Do you want to keep FIT?

    Seesfit CEO Loic Le Meur recently starts a Social Software Diet Challenge to encourage Web 2.0 junkies to come together for a keep fit program. It has now a wiki page and many related photos on Flickr.

    Since then more than 20 people have answered the call to keep fit, including me. The rules are simple, set a goal, and twitter and Flickr about the things you eat every day, and talk about your progress on Seesmic.


    I am surprise that you don’t exercise

    This is something I heard my fellow Flash mate Flashmech. I am not sure if you have heard similar words before, but this is definitely something anyone will not want to hear! Matter of fact, before I start working, I was 60kg, and being 1.75m, that is underweight. Now, I am 75kg and that is overweight. Like a friend of mine always said , “there is only 1 letter difference between FIT and FAT”. So if you are “under attack” from your friends, join Seesfit and start to lose the few kilograms on your belly!.


    A little personal project to track Seesfit!

    To help to track Seesfit, I whipped up a little Seesfit Application to help to track the progress of Seesfit’s users. Note that while I work for Seesmic, this is a completely personal project.

    This application uses Google SpreadSheet as its backend database, and combine Flickr photos tagged with Seesfit, and Seesmic Thread so that you can see everyone’s progress with 1 look. I will added more features like posting to Flickr directly as we go along. It can be downloaded at http://seesfit.expertria.com/seesfit.air. If anyone is interested, I will open source it too so anyone can add features to it.

    Now, run as you code!

    Aug 31

    Introduction
    For many Flex/Flash developers developing Facebook applications, development maybe daunting at first without a very detailed documentations, sample codes and blogs posting around to help. Most of time, many cannot grasp the general architecture of creating a Facebook application. While I am no expert in Facebook application development, I have picked up some useful tips and tricks along the way and I hope to share it around. Do take note the date of this posting. Facebook platform changes from time to time so 6 months down the road, this post might be obsolete.

    Note that when I speak about Facebook development, it means having your Flash/Flex content inside Facebook profile and its canvas page. I do not mean connecting to Facebook using Actionscript. If you are looking to communicate with Facebook using Actionscript, please refer to this AS3 Facebook Library:
    http://code.google.com/p/facebook-actionscript-api/

    The Basic
    Before you get started, I will suggest reading this blog posting by padraenl, titled 10 Things That Would Have Been Nice to Know When Starting My Facebook Application. Facebook Platform native documentation is good for referencing, but there isn’t instructions to teach new developers the “standard way” of approaching problems. This blog post answers to many common questions a developer will have.

    How it works:
    To understand how Facebook Applications work is very simple. Facebook does not provide you with any hosting service. You host your own application on your own server, and tell Facebook where to retrieve it. You churn out your own HTML / FBML / Javascript codes and Facebook parse it on its server, as simple as that. Essentially, you can develop in any language you like, as long as your codes render out the proper HTML / FBML / Javascript.

    Things to note is that some of the examples you found on Facebook currently might be obsolete as Facebook now has a New Profile Design. To understand the new profile, you can read it’s documentation, or just scroll down to check the few screen shots I placed below:

    New Profile

    Instead of a one page profile now, there is now “Wall”, “Boxes”, and Application Tab. Therefore, you will need to plan at least 3 screens for your application.

    Main Profile - Wall:


    This is mostly visited page from the user’s friends. You have the real estate of a small column on the left hand side of the page. If you are using a Flash movie, it will only play after the user has clicked on a preview image due to Facebook restriction. This part is cached by Facebook and will refresh by using setFBML or the more scalable method fb:ref tag and fbml_refreshRefUrl method. I strongly recommend fbml_refreshRelUrl method. You can learn more about fb:ref here and view the code example here: http://wiki.developers.facebook.com/index.php/FBML_Dynamic_Setup.

    Boxes

    Boxes is the part where your application will be. Note that your application can EITHER be inside WALL or BOXES tab, and this is controlled by the user. (See the next Screenshot, where under the Video application, the user can choose to “Move to Wall Tab” or “Remove Box”). Also note that you can choose the left column (wide) or the right column (narrow) under your application settings.

    Under Boxes tab, your Flash file will NOT show until the user clicks on a preview image.

    All the Boxes content are cached and is refreshed by setFMBL or the more scalable method fb:ref tag and fbml_refreshRefUrl method.


    Application Tab

    This is the best privilege your application can have. A user loves your application so much that he/ she adds it to an application tab. In this case, your application has all the real estate of the entire page, and you can have a very customized UI / information like the below screenshot (Animoto application)

    Note that this page is NOT cached by Facebook. So any content is taken directly from a URL you specified in the application settings. For example, you can set Facebook to take from http://expertria.com/myapp/profiletab.php. Facebook will load the page and display any HTML it loads from your server inside the Application Tab.

    This also means you need to prepare your server for the load as this is no longer cached by Facebook. Also, if your server is slow is responding, Facebook will consider it as a timeout.

    The Main Application.

    This is the main application, outside the profile page. This is the part where user who have granted the application permission will see. Typically, it is under a url like http://apps.facebook.com/yourappname/yourapppageurl.

    For example, if you set the base url of your application as http://expertria.com/myapp/. A page on Facebook “http://apps.facebook.com/appname/viewallmyfriends.php will be retreivng information from http://expertria.com/myapp/viewallmyfriends.php

    You can have as many pages in your application as you want, as well as useful features like URL-rewriting for neater URL address, etc. Facebook does not care as long as they get a http 200 response for the page it request and the response contain valid HTML / FMBL, and that the response is not empty.


    PHP development

    You can develop Facebook application in any language on your server, but PHP has more code samples and examples around. I will chose PHP as the development language just for the reason of support. Note that as of the writing of this article, if you download the PHP library from Facebook developers site, you will get the old library (which does not has the full feature set for the New Profile Design).

    To get the latest one, please download from their SVN:
    http://svn.facebook.com/svnroot/platform/clients/php/branches/redesign-changes/

    Where to keep my data
    As mentioned, Facebook does not care what you do on your server, as long as your server response with valid HTML / FBML. Therefore, you can have data persistence in your own mySQL, or any database you want.

    However, I will recommend using Facebook Datastore for a few reason. Firstly, you will not need to maintain another database. Secondly, you can do FQL to achieve something like  “Get those users who had installed this application,w ho are also the current user’s friends, who also are tagged in my application” , in a very direct  manner. Thirdly, there is a test console to help you test your FQL (Facebook Query Language).

    Essentially, Facebook Datastore consist of Objects (like Tables) and Associations (like Foreign Key). I strongly suggestion anyone who is new to Facebook Datastore to check out this blog here [
    Introduction to the Facebook Data Store API ->http://www.dereksantos.ca/?p=23]. It has far better explanation than Facebook documentation, and anyone with RDBMS knowledge will strike a chore instantly by reading the article.

    Using FMBL and Javascripts
    Learn FBML and Facebook’s Javascript FBJS before building your application! While many HTML tags are supported in Facebook, you cannot use an Object tag to render your swf directly in Facebook. You will need to use <fb:swf> tag. Using FBML will also gives you a consistent look to your application, so that it will looks like Facebook native application. For example, there is no need to build a custom tab as there is fb:tab. There is also no need to create a blue button that imitate facebook buttons as you can always use Facebook’s css class=”inputbutton” to change the style of your button to match Facebook’s.

    As for Javascript , there are also restriction to Javascript. For example, there is no innerHTML to get the content of your HTML. Thus, you will need to learn how FBJS works on Facebook. You will also need FBJS to communicate between your SWF and the main Facebook page.

    Flash FBML
    Refer to this page to see how to embed Flash in Facebook page. The documentation is complete
    http://wiki.developers.facebook.com/index.php/Fb:swf

    Essential you need to use Fb:swf to render your swf file.

    Flash - JS Bridge
    The <fb:fbjs-bridge/>  is essential for your SWF to communicate with the Javascript on your HTML page. It works like External Inteface basically. How it works is that it creates another SWF on Facebook page and your SWF communicates to it via LocalConnection. The bridge will then use External Interface to communicate to the Facebook page on your behalf.

    Refer to this documenation for code samples: http://wiki.developers.facebook.com/index.php/Fb:fbjs_bridge

    Also, check out this library to call / receive functions in AS3

    Creating Flash in Javascript
    There are two ways to create a SWF dynamically using Javascript. One way is to use a fb:js-string, which is a pre-setted FBML, initially invisible, and then use document.getElementById(’name of div to insert’).setInnerFBML(myjstringname) to show it on the page.

    An fb:js-string example:
    <fb:js-string var=”myjsstringname”>
    <fb:fbjs-bridge/>
    <fb:swf swfbgcolor=”333333″ imgstyle=”border-width:3px; border-color:white;” swfsrc=”http://expertria.com/swf/fb.swf”   width=”300″ height=”280″   />
    </fb:js-string>
    Another way is to use document.createElement(”fb:swf”), which will dynamically create a new SWF object. You can then set its swfsrc , width and height using the below code:

    var swf = document.createElement(’fb:swf’);
    swf.setId(’my_swf_id’);
    swf.setWidth(’100′);
    swf.setHeight(’100′);
    swf.setSWFSrc(’FULL_URL_TO_MY_SWF’);
    document.getElementById(’swfContainer’).appendChild(swf);

    Summary
    I hope the above article helps developers with Flex/Flash background in having a better understanding on Facebook Application. Feel free to drop any tips you have under the comments. There are a few things like Mock AJAX and AJAX javascript which I did not cover, but the above should be sufficient to get someone started.

    Keep coding!

    Aug 28

    Singapore is infamous for the lack of CF developer. Almost every person I met tried to find one, and ends up have to get one oversea. Either something is wrong with the education system (Java is still the main topic) or on how it is marketed in SEA.

    Vishnu Prasad, a Coldfusion developer from Indian who recently relocated to Singapore, has started a CF training group planning to evangelist CF in Singapore. He plans to begin CF training to the community in September.

    Are you a CF developer _thinking_ that you are the _only_ CF developer in Singapore? If so , do give him a ping. It will be exciting to see a CF Usergroup  in Singapore!