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..

appInstaller

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.

xca

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!

iosInstaller

 

  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 : dev.windows.com and for designers at design.windows.com.

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)

Conclusion

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

Here are some very subjective highlights from monday’s sessions I went to.

Kevin Warwick
Kevin is a professor of cybernetics at the Reading University here in the UK. He talked about how are electronics being embedded in the human body and what possible application and consequences this might have for human enhancement. Entirely jaw dropping and fascinating stuff. This is as close to a Ted talk as this conference ever got.

Mat Berringer
Mat works at CNN and was recently forced to switch from pure flash developing to using html. I had a lot of empathy for this dude. I found myself in similar situation these days. Stuff just have to work on iPads, just because very few stakeholders own iPads… You would love to use newest toys in the box like canvas, but half your target audience uses IE. And yes, you could make a version that uses canvas as a progressive enhancement but there’s no time and budget to make 2 or three versions of the site, one that makes use of animated divs, one with canvas and perhaps one in flash. One important takeaway from his session is mention of a software called Mr. Data Converter . It’s a software that converts excel sheet to a various formats including xml, json, as, mySQL, php, html. This is a funny thing about this conference. Sometimes is a single mention of a software or a book that can enhance your workflow tremendously. One of the best tips for a book I got from some of the past Flash on the Beach conference was a tip to a book Don’t make me think. This book transformed the way I approach building sites or web apps.

Inayli de león
This talk was a bit less technical and more of a lesson in interpersonal communication. She talked about difficulties that designers have communicating their ideas across to their colleagues.  How often we do not give our full attention to a colleague that’s speaking to us and rather than truly listening we’re desperately thinking what are we going to say next. Often we express our ideas to client in a jargon that we assume their understand but often they have no idea what are we talking about. How often we hide our work from the coworkers go and work on it in the corner and come back with finished product, instead of letting them to be a part of the process and getting them invested in it from the beginning.  She also mentioned interesting looking software called Onotate. Plus a few books I will definitely check out: Rework from 37 Signals, Design is a job by Mike Monteiro and Design Professionalism by Andy Ruthledge.

Dan Mall

Dan is an excellent speaker, his talk was referenced a lot by the other speakers throughout the conference. Among the other things he talked about us making client just an extension of our team instead making the a true part of our team. How in brainstorm we often shut down other people’s ideas eve n though they aren’t properly understood by us. The problem is that we don’t really know what the idea is, it is just OUR INTERPRETATION of their idea , but often we don’t really make an effort to properly understand what they mean. He talked about concept of adjacent possible, when two unlikely people may produce unexpected results when putting them side by side. Some good links I took away from this talk : The Genius of a tinkerer and An Important time for Design.

Mario Klingemann

As there are mostly  3 concurrent sessions going on in a day, you would normally have to look at schedule , talk description and then decide to which venue you will go and to which speaker you will listen to. With Mario , at least for me, choice is always clear. He is one of the 2 or three speakers I will always go to no matter the topic. He has very brilliant and inquisitive mind, great eye for detail and process, and is always fascinating to hear him speak. This year he spoke about FabLab they put together in Munich and the joys and tribulations of working with lasers. Admittingly this isn’t something you can copy and paste and use in your next html5 project, but it inspires you to step away from the computer and try to make something with your hands for a change.

Mark Boulton
This was another interesting talk on the topic on failing as an integral process of professional growth. We often get really emotionally invested in our work as we give part of ourselves to it. We often see a success stories but almost never fails, but those are important as well. To fail better we need to communicate a lot we each other become our own project managers, be agile (no Agile) , be able to receive critique, with clients, it needs to be about value not time. Critique should always be about work and not a person and in public. Useful critique is an art and it’s mostly about listening but also about having conversation. Mark thinks it should be done in public, although I’ve heard other people talking about it being done in private as well..

Posted in Personal | 7 Comments »

Flash on the Bea.. I mean Reasons to be creative

September 4th, 2012 by Slav

I’ve been going to Flash on the Beach conference for something like 5 years now, and at the end of last year’s, John Davey, who is the main organiser announced that Flash on the beach is over. In retrospect that was quite a remarkable foresight of the things to come. By things to come I of course mean slow choke grip of death from beyond the grave of a certain CEO of fruit related company. So as it is in life, when something old dies something new begins.

The new thing being “Reasons to be Creative” conference. Can’t imagine the brainstorming process for this title, but probably identical to one that came up with the : “Snakes on the plane”.

So .. how does it differ from Flash on the Beach?

Most noticeable difference, is probably, there’s much less Flash. In previous years you’d have maybe 70%-75% flash related sessions, now maybe 15-25? Now the focus is more on general creative work. This translates mostly to design, but also to wider aspects of creative work.

Creative Sunday workshops were dropped.. Not sure why is this, perhaps money is reason behind this, but for me this was a bit of a letdown. John could have asked previous attendees via email if they are interested in workshop and what topic do they want to learn about.. There are any hot topic besides the flash that I’d gladly learn about: Haxe and MNE, javascript frameworks, Unity3D..  well.. maybe next year!

Another difference was absence of Adobe. No Adobe keynote speakers, no Lee and other evangelists, no asking Adobe panel to fix flash IDE this year. They were still listed as one of the top sponsors BUT.. no presence.

There was another presence though. All the way from the Dark Side. Little known small company by the name of Microsoft. They came bearing gifts i.e. Atari Games t-shirts, and a competition to be be won by playing Asteroids. First prize : Cool Acer laptop. Ado-who?

Number of attendees dropped as well. Not by too much , max perhaps close to 10 percent. This is only a subjective estimate when looking at the Dome sessions.. to me there were fewer empty seats in the previous years. This is of course understandable , giving the decline of the flash coupled with recent economic downturns. Companies are trying to save money where they can and tickets to this event aren’t exactly very cheap..

At this point I don’t think I can say whether the r2bCreative is better or worse than FOTB. All I can say with certainty that it is different.

More on the individual days in next posts!

Posted in Personal | 6 Comments »

Reading and settings scores to facebook app / game and my Adobe’s FB API update

March 22nd, 2012 by Slav

Majority of the calls you would ever make to Facebook API require user access token. There are some however, that require app access token instead. These are normally calls you do on behalf of the app not user. An example of such situation would be creating a test users, or reading Insight data.

To my surprise app access token is also required when you want to read or set user scores.

For those who are not aware of this, you can set and read score value for an app user.  For this to work, you have to set the type of your application to “Game”, in the FB developers app general settings page.

As current Adobe’s Facebook API didn’t support making such calls, I modified the source code (for web development) so that it would.

Btw, if anybody from the Adobe’s Facebook API administrators is reading this, please feel free to include these changes in your next version. You can download the modified source  here.

So how do you use this ? Here is the example how to set and read user scores, and also how to read scores of the users’s friends that have played the app/game. Read the rest of this entry »

Posted in AS3, Facebook, flash, Games | 24 Comments »

« Previous Entries