Google Image Search API

Here’s a demo of Google Image Search API which was included in 65amp.com. The good thing about doing this in Flex or Flash is that the API endpoint has a cross-domain.xml that allows any external domain to coomunicate, hence the app can be completely standalone without roundtrip to proxy server.

65amp.com launched! Why everyone needs a mashup?

I left the corporate world back in late 2007 to pursue a business idea. It was an idea that I thought it was obvious to have been implemented, yet I don’t see it on the web at that time. To work on the idea, I knew I need to learn web development skills, an area which I have never touch on during my Computer Science course (shame on me). I joined a small company as a Flex developer, and learned as much as I could. Then in July 2008, I once again tender my resignation to officially kick off my startup. After a 10 months roller-coaster ride, I finally got it launched – http://65amp.com

It is a mashup publishing platform that allows users to integrate their existing contents from various sites into a single page so that friends can access all the users’ contents from a single place. Why is this a much needed product? Let’s travel back a few years from now. When blogging came out, it was a hit because people have yearn to publish themselves but the hassle of learning html and hosting a site was too much of a trouble. Blogging, on the other hand, allow everyone to own a place on the net, to express their thoughts and to communicate with others. But soon, people want something more than text content. So came the waves of sites offering photo management services like Flickr and Photobucket. Then came videos (yes YouTube). And now feeds (Twitter, Friendfeed). With all these services, each offering a segment of contents, a user online identity gets disperse since a person who like reading your blog wouldn’t know what other contents (images, videos) you have contributed online. Hence, it seems rational that a whole-new publishing platform that can integrate contents from various sources are needed at this moment.

Aggregating use contents is nothing new. Many sites do it, with the majority chose to present the aggregate contents in chronological order (FriendFeed, Storytlr). I thought my approach is better and so 65amp was born. It’s currently still in Alpha version, and I’m open up to feedbacks to improve the site.

Here’s a short demo of how to create a mashup in 65amp. Let me know what your thoughts.

Cynergy Systems, one of the best RIA companies

From day one when I stepped into Flex, I have been following the cool stuffs that Cynergy Systems Inc. builds. While there are many companies who are experts in building Rich Internet Applications (RIA), Cynergy would come out top when it comes to seamless visual experience. I have seen so many applications which embed unnecessary animation, making user feel annoying at times. Cynergy really tackle that well. Check out their showcase to see what I mean.

(A video interview taken by Ryan Stewart)

Quickcomm Enterprise with Cynergy from Ryan Stewart on Vimeo.

Twitter on Flash

I’ve worked with many external API services to date…Flickr, Facebook, Youtube… you name it. None of them is as easy as Twitter’s, simply love it. See what I created in a day.

Twitter API screenshot

[update Mar 03, 2009] See also Friendfeed API demo.

A dead simple way to shorten url using TinyURL API

Folks using Twitter would appreciate the notion of shortening url given that each post in Twitter is limited to 140 characters. Several services exist, but among them, only TinyURL hosts a cross-domain policy file. That means we can use the TinyURL API to shorten url without the need of a proxy server.

The API is damn simple; just make a call to:

http://tinyurl.com/api-create.php?url=<longish url>

Demo:
Shorten URL (view source enabled)

Adobe Flex training course finally arrives in Singapore (or maybe Southeast Asia)

During the RIAction held at Microsoft’s Singapore office yesterday, LABSchool, an Adobe Authorized Training Center, unveils its Flex training course. I will be teaching the course, together with some of the dudes in FUG. If you are interested in taking up, feel free to contact me or LABSchool.

Flex tutorial: Convert unicode (UTF16) to text, and vice verse

In contrary to most mashup api services that uses UTF8, Twitter returns non-Latin characters encoded in UTF16. After googling, seems like many people have issues with converting UTF16 encoded characters to proper text and vice verse. There might be other better ways, but here’s what I have done. Feel free to comment.

A UTF converter that I always used is this.

Demo:
Unicode Converter (view source enabled)

Source Codes
Right-click on application to view source.

Hooking up to Friendfeed API

See what I’ve created while experimenting with Friendfeed API. Check it out here.

Friendfeed API screenshot

Next on the to-do list: allow commenting or “like this” directly from the application.

[update Feb 18, 2009] Adding comments and “like this” functions are easier than thought. They are now included. Check it out.

[update Mar 03, 2009] See also Twitter Demo.

Flex tutorial: Popup warning before browser closes

As the title implies, this post will show you how to ask for user confirmation before the browser window closes or navigated away from the current url.

We will make use of the onbeforeunload event in javascript. So first of all, you will need to insert the following into index.template.html.


<script language="JavaScript" type="text/javascript">
window.onbeforeunload = function()
{
	var swfApp = ${application};

	return swfApp.onCloseApplication();
}
</script>

The all you need is to add a callback function onCloseApplication in your main application (see codes below).

Demo:
Application Exit Warning (view source enabled)

Source Codes: main application


<?xml version="1.0" encoding="utf-8"?>
<mx:Application
	xmlns:mx="http://www.adobe.com/2006/mxml"
	layout="absolute"
	backgroundColor="#F8F8F8"
	creationComplete="onCreationComplete()">

<mx:Script>
<![CDATA[
	private function onCreationComplete() : void
	{
		if ( ExternalInterface.available )
		{
			ExternalInterface.addCallback( "onCloseApplication",
				function():String
				{
					if ( chkDisplayMessage.selected )
					{
						return txtMsg.text;
					}
					return null;
				} );
		}
	}
]]>
</mx:Script>

	<mx:CheckBox
		id="chkDisplayMessage"
		x="37" y="29"
		label="Display message upon application exit"/>

	<mx:Label x="37" y="59" text="Message:"/>

	<mx:TextInput
		id="txtMsg"
		x="104" y="57"
		text="Please don't close me."/>

	<mx:Label x="37" y="107" color="#666666" text="*Check on the above checkbox, then close/navigate away from the current url."/>
</mx:Application>

A Photo Viewer with Zooming and Hand Tool features

While working on a Photo Viewer module, I have decided to add in zooming and hand tool (grab and move) features. Check out the demo here.

Zoom and grab screenshot

  This blog is powered by WordPress with GimpStyle Theme design by Horacio Bella.