Mobile App Installer , now for both iOS and Android.

March 8th, 2013 by Slav

Mobile App installer is a quick way to install your application files on usb attached mobile device (simple drag and drop).

This is an updated version of IOS Installed application I blogged about couple of weeks ago.

The biggest change is , this is no longer just to install iOS applications but Android ones as well. There’s a big IOS/ANDROID switch to manualy select the platform.

I did consider automatic platform selection by the type of attached device, but if you do a lot of cross platform development you tend to have both kind of devices attached, so in that case manual selection of target platform is best..

The other big change is, you no longer need to drag the application manifest xml file unto the app. Just the application file : .ipa for iOS and .apk for Android.

I unpack the application file in the memory and find the bundled application manifest and get the app ID information from it..


You can download the installer here.

Any problems / issues /bugs .. leave a comment here..

Posted in AIR, Android, AS3, Mobile | 16 Comments »

Obtaining .p12 certificate for iOS development on Windows. The easy way (WITHOUT prompt and manual OpenSSL installation)

February 24th, 2013 by Slav

Getting into iOS development isn’t exactly straightforward. Even before deploying a simple test app on iOS device you have to get (and pay) apple developer membership fee, and then there’s a whole process of obtaining a developer certificate, generating p12 file and provisioning profile that needs to be bundled with your app in order to test it on device. This process is made slightly easier for users of Macs , since they have a nice keys management tool installed on every mac called Keychain.

On windows though there’s no such tool, and every single guide I came across (including the official one from Adobe) instructed users to install OpenSSL, and then use command prompt and type in paths, names , commands etc.

This was very tedious, slow , user unfriendly and error prone.

Thankfully, there is another way! It’s a OpenSSL based GUI for Windows called XCA: X Certificate and Key Management.


This tools enables you to obtain a personal development certificate, certificate signing request, private or public key encoded with 2048bit RSA encryption, export p12 certificate i.e.  everything you need to do in order to publish a valid .ipa file for iOS device. All with nice drag and drop interface, with easy to manage and access sections, lightweight and organised. Secured and safe as well.

You can download XCA at SourceForge.

Although it would seem that you can do everything on Windows PC, in order to develop iOS app that’s not entirely true. Unfortunately, Apple has made the final step (of uploading the final app for general distribution via iTunes store) available only via mac OS only based software (xCode or appUploader). So you still have to use Mac (mac emulator) for this final step. I’d love to be proven wrong and if anybody knows of other way.. please leave a comment here!

Posted in AIR, Mobile | 16 Comments »

Flash IDE Fonts not showing up problem

December 19th, 2012 by Slav

This is something that happened to me last week, some fonts (primarily open type fonts) just suddenly stopped showing up in Flash IDE. It was weird, as you could still select the text inside the textfield, copy and paste, but the font type outlines were not showing up in IDE or when compiled. It turns out, this was caused by a recent Microsoft Windows security update! Fortunately there’s easy way to fix this. Go to your Control Panel\System and Security\Windows Update at the left panel’s bottom there’s a link to Installed Updates. Click on that link and search for update : “kb2753842”. Right click on this update and select “Uninstall”. After the restart your fonts should be working again!

If the windows update dialogue comes back again, make sure to unselect this update and decline it for any other future updates .. (until MS releases a future fix for this mess).

Posted in flash | 5 Comments »

iOS apps installer (no iTunes needed)

December 17th, 2012 by Slav

Let’s face it, nobody in their right mind would describe developing applications for Apple as a “pleasant experience”. This is especially true when you’re on a PC. Especially when you compare developing android air app on PC and deploying it for testing on android device.  The amount of hoops apple makes you jump through and the effort needed to deploy your app on device just so you can test it is just downright discouraging.  The fact you need to use iTunes to deploy your app makes it very frustrating, as there’s a limit to a number of computers that are authorised to connect to certain devices, which is a pain if you have a multiple apple devices in the company, that we use for testing and debugging, and each of these when connected would have to be first sync, and depending on the size of your team de authorised from one computer to other, the whole deployment process just took too long and was a major pain.

Thankfully , since couple of month ago and version 3.4 of AIR we can deploy AIR apps directly to apple devices without using iTunes. There are couple of ways to do this – like using ANT scripts if you are using eclipse based IDEs, or command prompt, but none of them are very straightforward and user friendly.

That’s why me and my colleague Ben decided to make a GUI wrapper for this, that would make this matter of a simple drag and drop..

How does it work ?  Simples!



  1. Run Setup.exe to install the app installer application.
  2. Start the application (it will check automatically at the start for usb connected apple devices) if your device wasn’t connected , connect it now, and click “Check connected devices” and make sure your device is found.
  3. Drag your app description xml file onto the app
  4. Drag Your compiled IPA file onto the app
  5. Press install on device.

That’s it!

It might take a minute or two , depending on the size of your app, but after the installation process is done you should have your app deployed on your device.

There are few caveats :

  • this installer works only with ONE apple device connected so make sure you unplug your other devices
  • if your ipa file wouldn’t deploy via iTunes, it won’t deploy via this app either. e.g. it will fail if there’s problem with certificate, or provisioning profile (for example make sure your device is added to the provisioning profile for your app)
  • it will only deploy adHoc profile applications, i.e. those compiled for testing on specific devices, and NOT the general distribution ones, (destined to be distributed via iTunes)

Posted in AIR, AS3, flash | 13 Comments »

Set transform to middle via JSFL

November 27th, 2012 by Slav

I just wrote a quick JSFL script for the Flash IDE that I though I’d share..

Example of situation where this could be useful.  You just imported a bunch of images from photoshop via PSD importer. All of those would have a bitmap inside of them , that would be left top aligned to registration point, and so would be his parent.

However, you’d like to have some of those bitmaps center aligned as you want to do some nice scale in / rotation tweening like this for example :

TweenLite.from(my_mc, .4, {scaleX:2, scaleY:2, rotation:90, alpha:0, ease:Back.easeOut});

Instead doing all of this manualy:

  1. double clicking on the clip to go inside it
  2. selecting a bitmap
  3. center align it
  4. making sure it’s on the whole pixel position (deleting .5 from x or y position)
  5. going out of edit mode
  6. selecting parent and moving it back by the half x and y width / height offset
  7. repeating this for all the elements you need to have center aligned!

you can simply right-click on this link and select “Save link as” and download it to your commands folder.

On win 7 this is : C:\Users\[YOUR PROFILE NAME]\AppData\Local\Adobe\Flash CS5\en_US\Configuration\Commands

Then in Flash IDE just select desired clips on your stage and select “CenterClipToMiddle” from the menu.

It will only work on one child in nested timeline of the MovieClips you select on a stage. I have automatic rounding of position as well both for parent and nested clip, so it will always be on a whole pixel value.

Any questions or suggestions for improvement just give me a shout in comments below.

Posted in AS3, flash, JSFL | 2 Comments »

Reasons to be Creative: Day 3

September 7th, 2012 by Slav

Wednesday started with Gimme5, ( a.k.a. former elevator Pitch)

Twelve speakers: Anders Figenschow, Adam Onishi, Tom Platten-Higgins, Tim Murray-Browne, Reece Millidge, Luke Whittaker, Maikel Sibbald, Mark Skinner, Matt Stuttard Parker, Emre Koc,  Pete Hotchkin, Jean-Marc Le Roux.

Each of them allowed to speak for 5 minutes only.  Speakers were mostly introducing personal projects or sharing some workflows or experiences, some of them really interesting ones. It was great to see what other creative people are working on and getting inspired!

Next session I went to was with Simon Widajaja..

His talk was dedicated to Adobe Edge (now called Edge Animate).  Like most of the people I too played with early previews , and like most of the people I too gave up on it, as it was quite simple and primitive tool at the time, reminiscent of Flash 3 or 4. Since those times it came a long way and it looks like it’s becoming quite a capable tool for visual HTML5 authoring, motion design and animation. It’s very expendable and Simon wrote a couple of extensions for it that can be found at Edge Commons. These extensions offer support for stuff such as:

  • Advanced Logging (different levels, log group and additional log targets)
  • Configuration (external or internal Configuration layer)
  • Script Loader (JavaScript and CSS with simple callback)
  • Sound (integration of CreateJS/SoundJS by Grant Skinner)
  • Adaptive Layouts (Different Layouts for different Sizes)
  • Data Injection (inject Data from HTML into the Edge composition)
  • Drupal Module to load Edge compositions and inject data easily (by Timm Jansen)

Simon demonstrated how Edge can be used to easily animate elements on the existing site, how you can implement flexible layouts for a website that needs to resize for a different device sizes. Although current Edge version doesn’t support media queries he has written extension that does. Another nice feature he demonstrated was support for item renderers. If you haven’t played with the latest release, I recommend you definitely give it a try!

Martin Beeby was next in Pavilion

Martin is from Microsoft and talked about new Window 8 and Windows Marketplace coming this October. More importantly he showed us how easy is to build a new Metro apps with javascript for a market reaching around 600 million potential customers. There are great similarities with apple with what their doing regarding their marketplace.

To develop apps for the store, you will need to have a developer’s membership licence (should cost around £35 per annum) , there will be an approval process, but (unlike with Apple ) there will be a testing tool available for download that the store itself will use for QA, so you can test you app forehand and check if it is eligible. Quite flexible licensing policies as well (see slide above)..

You can download the building tools for free : Visual Studio Express 2012 for your coding needs, designers will have Blend for Visual Studio for more visual way to build and fine-tune. The main resource for window apps developers is available at : and for designers at

When building these apps for windows store, you can use variety of languages such as C, C++, C#, Visual Basic but also Javascript.

It is fairly easy to build basic apps using JS, the tools are a great help, the part that connects your app to system is a special javascript library that exposes OS layer capabilities.

Great thing about building these windows store apps is the environment – which will stay the same, (so there’s no need to optimise for different browsers), performance , even with javascript is amazing – identical to native apps.

Johanna Kollmann

She shared some interesting ideas of how to create environments in which the creative collaboration is supported, some of them very simple but effective.

For example, if we do changes in postures it may promote the shift of the focus in mind. Or a moving body could mean a moving mind – this can translate to: ” better thinking while walking”.  The environment in which we have our meeting is also important. There are some sitting schemes that promote the hierarchy (one seat is more important the other). In our ancient history we used to sit around camp fire and shared stories. Recreating this can help sharing, all you need is to create a circular seating arrangement in which everybody will be on the similar eye level and perhaps some focal point (“fire”) in the middle.

Grant Skinner

Grant talked about the Atari Retro games project. It was a great insight into a mature’s company workflow for producing the highest quality html games and a website.

Some things I’ve learned:

  • teach your clients to use bug trackers, it will save you a lot of time and a headache in the long run
  • if you’re doing multiplayer game, use authoritative server (i.e. one server that all clients connect to and has all of the control over game data)
  • JS frameworks used for this project :  jQery, Backbone, Underscore, Modernizr for the website, CreateJS toolkit libraries for all the games.
  • you can use  IcoMoon to convert your vectors into a glyphs (letters of a font), hence be able to use vectors in your game
  • nice way to create sprite sheets is to use Zoë and flash, plus a JSFL script that makes it possible to have your animations in nested timelines!
  • use compression parameter on http headers to reduce the filesize of the images you’re sending to the browser
  • to drastically reduce sprite sheet filesize while keeping full alpha channel use ImageAlpha tool. (mac)
  • use CodeKit to write “object oriented css” using sass/less (mac)


Reasons to be creative is a great conference to visit whether you are a designer or a developer or a creative technologist or other kind of hybrids. With so many sessions going on, there’s always something to choose from. With the daily work stress and a big workloads it is easy to be submerged inside your world, working on the same kind of projects, using the same kind of approaches and same kind of tools. This conference offers a change to resurface for a breath of a fresh air, and a nice vista of what’s present above the surface and what lies ahead. To see where others are and what are they doing, how are they doing it as well. Will be back next year if I can!

Posted in Personal | 8 Comments »

Reasons to be Creative: Day 2

September 7th, 2012 by Slav

Tuesday kicked of with a true webdev geek by the name of Christian Heilman of Firefox.  If I were to summarise his talk into a single sentence soundbyte, I guess it would be : “You have the power to change the web“. Web vendors nowadays are ready to listen to users and developers as long as you go through right channels – bug trackers not tweets and emails.

One of the things that he mentioned were the problems with technological demos: We tend to get into something he called “Inspiration loop”. Building things for ourselves only. (ourselves = developers) , leaving “the real world” outside of this loop.

Here are some future-prof principles he mentioned:

  • design for use (don’t force the way your stuff work on end users)
  • enhance progressively (escalator vs lift. .if there’s no electricity, escalator can be still used as stairs)
  • build for next person (leave comments, document the code, don’t assume only you will ever maintain your “clever code”)
  • be technology agnostic (don’t just stick to one technology, sometimes it’s ok to use flash )
  • best practices are FOUND in use, not DEFINED.

Christian put frustrations with IE6 into a funny metaphor: “You wouldn’t force a 65-year-old gentleman into a vigorous cardio workout, so why do you want IE6 to handle all the new html5/css3 stuff.. Just feed him some basic HTML and leave him alone.


Jake Archibald‘s talk was about Application Cache and douchebagery that comes with it.

It was an example of an exciting HTML5 feature, that is great on the surface, but when you start digging deeper and implementing it into a real life situations, you will encounter a number of problems. He went through quite a few of those problems with us and showed us some useful solutions for them.


The next session’s speaker was Bjarke Myrthu.

Really reminded me of  Woody Harrelson.. but I digress. He was the man behind the website called StoryPlanet.

StoryPlanet is a quick and easy way for non developers to tell stories, using images, text, video and audio. A bit like easy to use modern looking powerpoint on a web. It enables users to create storylines with sub-timelines, easily add sharing functionality etc. Good looking project. He gave us some examples of web storytelling that has been done in a better way , rather then replicating the print media with little or no changes to the web. Getty images made this APIs mashup project called Moodstream. A good example of interactive story telling via video is Jenifer Live Concert YouTube Project.  Pinepoint is a well executed mixed media project as well.


Joa Ebert talked about his multi-platform / cross-platform compiler project Hiddenwood.

Unlike Haxe, where you need to learn a new language, his approach is to take Java bytecode and turn it into a C++, javascript, flash, android or iOS app.. Slide above illustrates a top-level process. This was very fascinating talk and can’t wait for this project to be out so we can have a play with it. I think Joa should get much more recognition for his work, his swf optimisation tools are godsend, and I couldn’t imagine working with AS without them. Thanks Joa, you’re genius!


Andreas Ronning talked about the game development with Haxe and NME.

There was no shortage of superlatives and it was quite clear he likes the platform. I would be surprised if any flash developer present in that talk that haven’t had a go at haXe, didn’t have a go after that talk. He showed us a really good looking game performing well on variety of platforms and devices all thanks to Haxe and NME. The nice thing about developing with this platform is its openness, so if there’s an issue with some of its functionality or features you can go in , write your own implementation and fix it!  (That’s what they did to fix the sound issues on some browsers or platforms.)

Posted in Personal | 6 Comments »

Reasons to be Creative: Day 1

September 5th, 2012 by Slav