janumedia.blog();

15 Tips for Breaking in as a Part-Time Freelancer

Posted by admin in September 30th, 2009 | 2 comments 
Published in Resources, Tutorial

I just found great articles about being a great part-time freelancer.
Here the short list:

  1. Keep Your Full-Time Job
  2. Set Up a Basic Portfolio Site
  3. Prioritize Experience Over Income
  4. Work Your Own Projects
  5. Establish a Basic Work Schedule
  6. Open a Separate Bank Account
  7. Re-Invest the Money that You Take
  8. Don’t Forget About Taxes
  9. Talk to People You Know
  10. Visit Design Job Boards
  11. Be Comfortable with Your Rates
  12. Don’t Take Too Much Client Work
  13. Network
  14. Develop Your Own Business Practices
  15. Plan for Differentiation

This article is intended primarily for those who have some experience with design but are looking to gain more experience and improve their skills before going into full-time freelancing.

Read for more detail here

ImageUploader Class an Adaptor to FileReference with Image Width and Height Detection

Posted by admin in September 23rd, 2009 | no comment 
Published in Action Script 3.0, Tutorial

In many case I want flash Images uploader form detect not just filesize or filename, but also can detect Image width and Height. So I can alert user to upload a correct Image size before start uploading. I know we can crop or resize Image with server script processing, but in some reason keep user to upload a correct Image size also a good choice. The idea of this class is to load the files locally as ByteArray, then after converted to BitmapData, we can get Image width and Height value.

package com.janumedia.util 
{
	import com.janumedia.event.CustomEventDispatcher;
	import flash.display.Bitmap;
	import flash.display.Loader;
	import flash.events.DataEvent;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.events.SecurityErrorEvent;
	import flash.net.FileReference;
	import flash.net.URLRequest;
	import flash.utils.ByteArray;
 
	/**
	 * ...
	 * @author I Nengah Januartha
	 * @http://www.janumedia.com
	 */
 
	public class ImageUploader extends CustomEventDispatcher
	{
		public static const ERROR_FILENAME_CONTAIN_SPACE:String = "ErrorFileNameContainSpace";
 
		public var name:String;
		public var data:ByteArray;
		public var size:Number;
		public var width:Number;
		public var height:Number;
 
		private var _fileRef:FileReference;
		private var _loader:Loader;
		private var _fileTypes:Array;
 
		public function ImageUploader () 
		{
			super ();
 
			_fileRef = new FileReference ();
			_fileRef.addEventListener (Event.SELECT, handle_file_select, false, 0, true);
			_fileRef.addEventListener (Event.COMPLETE, handle_file_load, false, 0, true);
			_fileRef.addEventListener (IOErrorEvent.IO_ERROR, handle_file_upload_io_error, false, 0, true);
			_fileRef.addEventListener (SecurityErrorEvent.SECURITY_ERROR, handle_file_upload_security_error, false, 0, true);
			_fileRef.addEventListener (ProgressEvent.PROGRESS, handle_file_upload_progress, false, 0, true);
			_fileRef.addEventListener (DataEvent.UPLOAD_COMPLETE_DATA, handle_file_upload_complete, false, 0, true);
 
			_loader = new Loader ();
			_loader.contentLoaderInfo.addEventListener (Event.COMPLETE, handle_file_load_locally, false, 0, true);
		}
 
		public function browse (typeFilter:Array) : void
		{
			_fileRef.browse (typeFilter);
		}
 
		public function upload (url:URLRequest) : void
		{
			_fileRef.upload (url);
		}
 
		private function handle_file_select (e:Event) : void
		{
			// verify filename, filename with contain space will NOT allowed
			var regExp:RegExp = new RegExp (" ", "g");
			if (regExp.exec (_fileRef.name))
			{
				dispatchEvent (new Event (ERROR_FILENAME_CONTAIN_SPACE));
 
				return;
			}
 
			name = _fileRef.name;
			size = _fileRef.size;
 
			// load locally and get file info
			_fileRef.load ();
		}
 
		private function handle_file_load (e:Event) : void
		{
			data = _fileRef.data;
 
			_loader.loadBytes (_fileRef.data);
		}
 
		private function handle_file_load_locally (e:Event) : void
		{
			width = Bitmap (e.target.content).bitmapData.width;
			height = Bitmap (e.target.content).bitmapData.height;
 
			dispatchEvent (new Event (Event.SELECT));
		}
 
		private function handle_file_upload_io_error (e:IOErrorEvent) : void
		{
			dispatchEvent (new IOErrorEvent (IOErrorEvent.IO_ERROR));
		}
 
		private function handle_file_upload_security_error (e:SecurityErrorEvent) : void
		{
			dispatchEvent (new SecurityErrorEvent (SecurityErrorEvent.SECURITY_ERROR));
		}
 
		private function handle_file_upload_progress (e:ProgressEvent) : void
		{
			if (data) dispatchEvent (new ProgressEvent (ProgressEvent.PROGRESS));
		}
 
		private function handle_file_upload_complete (e:DataEvent) : void
		{
			dispatchEvent (new DataEvent (DataEvent.UPLOAD_COMPLETE_DATA));
		}
 
	}
 
}

Flash Freelancer Tips : The Secret Life of a Flash Freelancer

Posted by admin in September 23rd, 2009 | no comment 
Published in Resources, Tutorial

A nice tips from Peter Elst, how to be a good Flash Freelancer. This slides was publish during in his session on Flash on the Beach 2009 

Advanced Desktop Development with Adobe AIR

Posted by admin in September 23rd, 2009 | no comment 
Published in AIR, Resources

This is presentation slide by Mike Chambers at Flash on the Beach 2009. Thanks to Yagiz Gurgul for uploading this slide on SlideShare.

Adobe to acquire Omniture

Posted by admin in September 15th, 2009 | no comment 
Published in SEO, Web Analytics

On Sept. 15, 2009, Adobe Systems Incorporated (Nasdaq:ADBE) and Omniture, Inc. (Nasdaq:OMTR) announced the two companies have entered into a definitive agreement for Adobe to acquire Omniture in a transaction valued at approximately $1.8 billion on a fully diluted equity-value basis. Under the terms of the agreement, Adobe will commence a tender offer to acquire all of the outstanding common stock of Omniture for $21.50 per share in cash.

Adobe’s acquisition of Omniture furthers its mission to revolutionize the way the world engages with ideas and information. By combining Adobe’s content creation tools and ubiquitous clients with Omniture’s Web analytics, measurement and optimization technologies, Adobe will be well positioned to deliver solutions that can transform the future of engaging experiences and e-commerce across all digital content, platforms and devices.

Read Adobe Press Release here

*) Image belong to Adobe.com

Google Webmaster Tools, Flash and other rich media files

Posted by admin in September 12th, 2009 | 1 comment 
Published in SEO, google

Flash :

Google can now discover and index text content in SWF files of all kinds, including self-contained Flash websites and Flash gadgets such as buttons or menus. This includes all textual content visible to the user. Google supports common JavaScript techniques. In addition, we can now find and follow URLs embedded in Flash files.

Silverlight and other rich media formats:

Google can crawl and index the text content of Flash files, but we still have problems accessing the content of other rich media formats such as Silverlight. These rich media formats are inherently visual, which can cause some problems for Googlebot. Unlike some Internet spiders, Googlebot can read some rich media files and extract the text and links in them, but the structure and context are missing. Also, rich media designers often include content in the form of graphics, and because Google can’t detect words included in graphics, it can miss important keywords. In other words, even if we can crawl your content and it is in our index, it might be missing some text, content, or links.

read more detail here

AS3 Event System: Signals – an Alternative for Event Manager

Posted by admin in September 12th, 2009 | no comment 
Published in Action Script 3.0, Resources

Robert Penner has develop new approach for AS3 events, inspired by C# events and signals/slots in Qt. This project call Signals. This can be an alternative solutions to manage your Events.

Here are the Concept and Philosophy sections for a start:

The Concept

 

  • A Signal is essentially a mini-dispatcher specific to one event, with its own array of listeners.
  • A Signal gives an event a concrete membership in a class.
  • Listeners subscribe to real objects, not to string-based channels.
  • Event string constants are no longer needed.
Philosophy

 

  • Composition and interfaces are favored over inheritance.
  • Events in interfaces are a good thing.
  • Event types are classes, not strings.
  • Event classes should focus on the data they contain, not on who sends them.
  • Event classes should not contain string constants that various other classes use.
  • Test-Driven Development (TDD) is essential and fun.
  • So far, not a single static keyword in the source.
  • No singletons.

Further more details you can visit  at Google Code project: http://code.google.com/p/as3-signals/

Away3D Lite v1.0: fastest and smallest 3d engine in Flash

Posted by admin in September 11th, 2009 | no comment 
Published in Flash 3D

Away 3D Lite logo

Away3D Lite is not meant as a replacement for the standard Away3D libraries. Because of it’s use of the native 3D features in the Flash 10 Player, Away3D Lite is Flash 10 only, so the development of Away3D 2.5 & 3.5 will continue as usual. These engines are more of a workhorse for many different purposes and with many different features, while Away3D Lite offers the choice to be fast and small at the sacrifice of features. This is not to say that you can’t do anything with Away3D Lite! The list of main supported features in 1.0 includes:

  • 3DS, MD2, Collada & Metasequoia loaders
  • Bones animation
  • Viewport clipping
  • 3d mouse events
  • All standard primitive types
  • All standard camera types
  • All standard material types
  • Template classes for quick and easy setup

Plus, you will already know how to use Away3D Lite if you’ve used Away3D! Everything is where you’d expect, and there have only been very minor changes made to some property names, which in time will most likely percolate back through the various engines.

Check out more on the site here

*) image rights belong to away3d.com

New AdobeTV site

Posted by admin in September 10th, 2009 | no comment 
Published in Resources, Tutorial, Video

New AdobeTV site http://tv.adobe.com Moved from full page Flex to HTML+OSMF Flash Video Players. Lighter & faster expierience. It also has a clear URL ex: http://tv.adobe.com/product/flex/, http://tv.adobe.com/channel/photography/, etc.  via @adobeted

Improving Flex application performance using the Flash Player cache

Posted by admin in November 17th, 2008 | no comment 
Published in Flex, Resources

It is important to make application as light as it can. First impression is always a great deal. People will leaving if the process take too long and not good for user experience.
The Flash Player cache is a new feature available in Flash Player 9 Update 3 (9,0,115,0). The cache allows files signed by Adobe to be cached by Flash Player. These files end in the file extension .swz.

The Flash Player cache differs from the browser cache in some useful ways. Because the cached SWZ files are signed by Adobe, they can be reused in more than one domain and are not limited to reuse within the domain in which they originated. For example, imagine that framework.swz is loaded from http://www.a.com and is placed in the cache of Flash Player. If the same framework.swz file needs to be downloaded from http://www.b.com, Flash Player looks in its cache to find a.com’s framework.swz file. When it finds a match, it uses the cached file rather than loading a new file from b.com.

The SWZ file persists in the cache even after the browser is closed. The file remains in the cache indefinitely, provided that the end user does not change settings in the Flash Player Settings Manager to reduce their caching ability. However, future SWZ files may eventually cause older, unused SWZ files to cycle out of the cache when the cache size limit is reached.

Fortunately, you need only one copy of a framework, since Flash Player uses a common cache for all browsers on a system. This means that if a user downloads a SWZ file using Microsoft Internet Explorer, that same SWZ file will also be available in Mozilla Firefox.

Read it more at http://www.adobe.com/devnet/flex/articles/flash_player_cache_print.html

Next Page »

Add to Technorati Favorites

What I am doing

UserOnline

 

November 2009
M T W T F S S
« Sep    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Archives

Tags

Meta

Recent Flickr


Wasted Sunset
Tersudut dan Terjebak
Dialog Sang Petani dgn Gubuknya
plesiran ke ladang
..and life still continue...
Sriti - Collacalia

Co-worker

Community

Personal

Profesional

Resources

Wordpress