Version control with Flashdevelop

This is probably the most awaited release of FlashDevelop. Now that completes a perfect IDE. The new version of FlashDevelop IDE has built in support for SVN and GIT both. Provided you have to have tortoise SVN and tortoise GIT in your machine. For SVN part, the IDE installer has made it available too by bundling SilkSVN with it. So installing tortoise SVN is just seems to be optional. Thats some kickass IDE feature. I have just tested it with SVN and GIT both and they work out of the box.

These version control systems are not activated by default. You have to go inside settings and activate them. Or else they do not seem to exist in the IDE.
Another nice integration is the option to select whether to install Flex SDK with the FlashDevelop. This is being asked when you install the IDE. That means, if you do not want to take the pain of downloading the FlexSDK separately it will do it for you.

Thats all for the time being, I am so excited and happy that finally this beautiful IDE added up the things which now makes it a perfect tool for flash a developer.

Happy Flashing :)

Getting into design with Linux

Well,I was thinking this for a long time. It is a general tendency even now to think of Linux as a sub standard operating system. It is very hard to get going and is not very flexible.

While I was into Linux for more than 5 years, I found the time has really come now. Almost everything has come to a point where a designer can start with Linux. Below are the list of the softwares,which I think can kick-start your design career without investing a lot of money on costly softwares.

1. Ubuntu (The linux flavour can be delivered to you free from the makers)
2. GIMP (Image editor)
3. Inkscape (Vector editor)
4. Audacity (Audio editor)
5. Aptana (HTML,Javascript,CSS editor)
6. NetBeans (PHP,HTML,Javascript,CSS and more editor and IDE)
7. Firefox, Opera, Chrome (Browser)
8. VLC ( Multimedia Player )
9. Blender ( 3D-Authoring tool )
10. WINE ( Windows simulator inside linux )

These are some of the potentials of the Linux to deliver to a designer. the only thing is, once you take a little brave step to love the command line, though not necessary, it will come in handy and help you a lot. And I am sure once you start with commands to do your job done, you will also appreciate it.

The best of all is, all these softwares are legally free, so there will be no license fee or agreement to anyone.

Happy designing :)

Introduction to SQLite on AIR

SQLite is a relational database right inside Adobe AIR environment. While its a full fledged relational database system,the real power of  it comes from the ease of use. There is no server to configure,no server to start. Once Adobe Integrated Runtime (AIR) is installed in your system, you are ready to take  advantage of SQLite database. Actually SQLite comes with the AIR itself. So there is absolute zero configuration as it is clearly noted in the SQLite official site.

Now,all that one need to know is the Flash (Actionscript 3.0) APIs to start talking with the Database.

To begin with any database applications,one need to have a database in a database server,start the server,connect to it and then start putting in data or getting the data. Now in this case of SQLite, we already have the initial set up ready for us. I mean as a SQLite developer on Flash platform one need not worry about the server setup and starting the Database server. All one need to concentrate is, connecting to the Database and puting some data in or getting some data out from the database. For once AIR is installed SQLite is up and running,how cool :) ! Now the best part is,all the standard SQL query runs in the SQLite Database too. To get started, one need to create a database or connect to it,if already created. Now SQLite API gives us one syntax to do the both,I mean if the database is already present it just connects to it else it creates the Database for us and then connects to it. The syntax is as below

var conn = new SQLConnection();//Connect to the DB server
//adds event listeners to listen for the events
var conn.addEventListener(SQLEvent.OPEN, onOpenConnection);
var conn.addEventListener(SQLErrorEvent.ERROR, onConnectionError);
//connects or creates and connects to the database
var dbFile:File = File.applicationDirectory.resolvePath(“myDb.db”);
conn.openAsync(dbFile);//actually connecting to the Database

Thats all to create and connect to the database. By convention the database files are named with extention “db”,In this example we are creating a Database file named “myDb.db”. The Database is actually stored as a file,as we created now. To make any query to the Database the syntax will go as below

var sqlStatement:SQLStatement = new SQLStatement();
sqlStatement.sqlConnection = conn;//”conn” is the connectino we just made with the above code
var query:String = “SELECT * FROM friends”;//This is actual SQL query we are going to run in the Database
sqlStatement.text = query;
//adds event listeners to see if our query ran properly
sqlStatement.addEventListener(SQLEvent.RESULT, onQueryResult);
sqlStatement.addEventListener(SQLErrorEvent.ERROR, onQueryError);
//finally calls to run the query in the Database

Thats all to it. :)

Now to make things easier for my project,I have created a helper class for regular tasks as querying the Database and getting the result. Please find the file at google code repository here. Hope that helps you on your day to day task of SQLite development under AIR and Flash platform.

happy flashing

PDF2SWF : Auto conversion from PDF to SWF

I never thought I will be converting some PDF files into SWF anytime. But the time has come and I was doing the same for past some days. Well,while deciding for the tools and technology I always thought FlashPaper is a good option. Surprisingly for me FlashPaper is dead now ! In the beginning days I always asked myself why FlashPaper was created from Macromedia ?! But then situations come up,where one has to fall back to flash technology. Well, with the death of FlashPaper, I lost hope, then found Scribd. Awesome, they do the same thing online and have a rich set of API exposed for developers to do the same. Unfortunately, for security reasons my option only include softwares which can be used in-house.

Well, then I came across SWFTOOLS. An opensource library of tools for SWF. One of the tools is PDF2SWF. As the name suggests, it converts a complete PDF to SWF. It not only just converts PDF to SWF but also maintains all the links in the PDF in the generated SWF. Thats a pretty nice job. It has a GUI too for those who want to use it. Personally I found the command line of this tool to be awesome. There are a large number of options available while converting from PDF to SWF. By default once the SWF is created it starts running as a presentation in a default timer. There is an option to put “stop()”  action in each frame(as each page becomes one frame),nice and sweat. The default conversion gives a nice default viewer to navigate to different pages,zoom in/out and scrollbars. One can customise the default viewer to make ones one viewer too.

The only thing which hurt me is the SWF produced in a AVM1 Movie,though SWFTOOLS says that the latest version produces AVM2 movies,but it is not. To make an AVM2 movie I just passed in the flashplayer version 10.0 in one of the command line options.That gave me an AVM2 movie. For my custom player, I just went ahead and loaded the movie with an “Loader” and since its AVM2,I typecast it to a “MovieClip” and then started controlling it through AS3.

I am expecting more from the tool and the first expectations is, it should produce an AVM2 movie. The method to add a viewer should be more easier.

Over all, the tools are just freaking cool. All the best to the SWFTOOLS. Hoping to see this project mature.

Lastly below are the options one will get while firing up PDF2SWF from command line. I have just copied the help from PDF2SWF from my command line to put it here.

Usage: pdf2swf [-options] file.pdf -o file.swf

-h , –help                    Print short help message and exit
-V , –version                 Print version info and exit
-o , –output file.swf         Direct output to file.swf. If file.swf contains ‘%’ (file%.swf), then each page goes to a seperate file.
-p , –pages range             Convert only pages in range with range e.g. 1-20 or 1,4,6,9-11 or
-P , –password password       Use password for deciphering the pdf.
-v , –verbose                 Be verbose. Use more than one -v for greater effect.
-z , –zlib                    Use Flash 6 (MX) zlib compression.
-i , –ignore                  Allows pdf2swf to change the draw order of the pdf. This may make the generated
-j , –jpegquality quality     Set quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)
-s , –set param=value         Set a SWF encoder specific parameter.  See pdf2swf -s help for more information.
-w , –samewindow              When converting pdf hyperlinks, don’t make the links open a new window.
-t , –stop                    Insert a stop() command in each page.
-T , –flashversion num        Set Flash Version in the SWF header to num.
-F , –fontdir directory       Add directory to the font search path.
-b , –defaultviewer           Link a standard viewer to the swf file.
-l , –defaultloader           Link a standard preloader to the swf file which will be displayed while the main swf is loading.
-B , –viewer filename         Link viewer filename to the swf file.
-L , –preloader filename      Link preloader filename to the swf file.
-q , –quiet                   Suppress normal messages.  Use -qq to suppress warnings, also.
-S , –shapes                  Don’t use SWF Fonts, but store everything as shape.
-f , –fonts                   Store full fonts in SWF. (Don’t reduce to used characters).
-G , –flatten                 Remove as many clip layers from file as possible.
-I , –info                    Don’t do actual conversion, just display a list of all pages in the PDF.
-Q , –maxtime n               Abort conversion after n seconds. Only available on Unix.

Happy Flashing :)

Monster Debugger : An Opensource debugger for SWFs :)

For a long time I was searching for a debugger for my Flash applications. It was a pain to customise my own debugger for every project. Xray is a cool one, but some how my expectations were more from a debugger as far as ease of use and features are concerned. The ease of use and the functionality both are awesome in case of the new Open Source Debugger from DesignStudio De Monsters.This is called “Monster Debugger” and the name says it all. Its an AIR application and the client code is embed inside it. Once downloaded and installed, one can track any SWFs from inside Flash IDE or standalone too. I fell in love with it at the first look itself.Cheers to DesignStudio De Monsters. Keep up the good work guys.

Happy Flashing.