I work as a contractor for Simplified Logic, one of the sponsors of the 360 Flex San Jose event.  I’m going to be speaking along with David Bigelow in the presentation entitled Making Money with Flex.  At SLI, they use their nitro-lm (license management) product to track and control usage and licensing of an application.  It also has notification features so you can get an e-mail when one of your customers maxes out licenses, isn’t using your software for some reason, or any number of other significant events.  Another aspect of the software is to protect your code from decompilers using a public/private key encryption algorithm.

Given that there is only limited time to present, what areas do you think we should focus on?  The business case stuff, license management and tracking, or a deep-dive into encrypting flex applications?

Posted by Andrew, filed under 360 Flex, AIR, Flex, encryption, security. Date: July 19, 2008, 7:43 pm | No Comments »

I’m working on some new types of SWF file encryption to demonstrate at 360 Flex San Jose.  If you’ve read my Inside RIA articles, you know that the main technique used by NitroLM to encrypt swf files is to create a wrapper application and load/decrypt the real application using a SWFLoader.  The problem with this technique is that it’s a little bit kludgy and adds deployment complexity.  It also has some difficulty in AIR in that if you wrap an <mx:Application> inside an AIR app, you won’t be able use some of the Native AIR functionality.

I’ve been dilligently working on a new technique for encrypting modular applications.  Basically, you’ll write your flex or AIR app as you normally would and break up functionality into modules loaded by <mx:ModuleLoader>.  You could also put pretty much all of your code in a single module if you wanted to.  Then, when you’re ready to deploy, just comment out the <mx:ModuleLoader> tags and replace them with <nitrolm:EncryptedModuleLoader> tags.

There’s a few other steps including encrypting the module SWFs with an AIR application called AssetEncrypter, but the process is much more straightforward than the wrapper technique.  It’s also much easier for the developer to code because they don’t have to deal with the keys and decryption themselves.  All of the complex functionality has been done for you in the <nitrolm:EncryptedModuleLoader>

Posted by Andrew, filed under 360 Flex, AIR, Flex, as3, encryption, security. Date: June 4, 2008, 11:38 am | No Comments »

Well, it’s only been 1 year since I created Swift Mako Software.  I finally got around to developing a website for it.  We’re a small company specializing in Flex/AIR and Java development.  I’ve also posted a couple of job openings.  Check it out at www.swiftmako.com

Posted by Andrew, filed under Uncategorized. Date: May 27, 2008, 11:41 am | No Comments »

17  May
360 Flex, San Jose

I’m looking forward to going to 360 Flex San Jose coming up. I attended my first 360 Flex event last year in Seattle. Since then, I’ve been to Atlanta and Milan to their conferences. Looks like a pretty killer speaker lineup again. Get your registration done before they’re sold out.

Posted by Andrew, filed under 360 Flex. Date: May 17, 2008, 7:23 pm | No Comments »

26  Apr
flexvizgraphlib

I was working on enhancements to the NitroLM admin tool for visualizing users in the system and what computers they’ve used. When it comes to licensing software, knowledge is power, and the visual links really demonstrate well when someone isn’t doing what they’re supposed to be doing. We called this guy in the UK about how his demo of our software was going. He thought it was great and really useful software, but he didn’t want to have his boss actually “PURCHASE” it for him. His solution was to keep re-registering for demos under new gmail accounts. His machine is going to be blacklisted in the system in short order.

To do the visualization, I used the open-source library flexvizgraph. You may remember it from the BirdEye application. This new feature in NitroLM really highlights the power of the Flex/AIR visual environment.

stealing software

Posted by Andrew, filed under AIR, Flex. Date: April 26, 2008, 5:47 pm | No Comments »

Well, another 360Flex has come and gone. I must say that this one exceeded my expectations. Going into it, I had the fear that the European event wouldn’t have the same feel or “cool” factor that the US events had going for them. The SLI party was killer. They waaay overbought on the food and alcohol, but Michael Labriola, the crazy Brit guy with the red hair (sorry, I forgot names) and their posse didn’t let it go to waste.

The sessions were good and there was a lot of quality there. Tom and John were cool as always when they put on a 360Flex conference. I’m definitely looking forward to San Jose.

Posted by Andrew, filed under 360 Flex. Date: April 11, 2008, 10:03 am | No Comments »

I was sitting here at 360Flex|Milan and I had a conversation with Michael Labriola about DragManagers in AIR. We both lamented that in Flexbuilder 3 beta 2, we were able to use both the NativeDragManager and the DragManager at the same time (albeit it was a bit hacky). In an earlier post, I demonstrated a MonkeyPatch that allowed you to use the Flex DragManager inside a WindowedApplication in AIR. This was great, but you lose the ability to use Native Dragging/Dropping in your AIR app. This evening, I was finally pissed off enough to rewrite the DragManager how I think Adobe SHOULD have done it in the first place. You use the DragManager class for both Native and Flex-based drag/drop and it’ll pretty much figure out which one you wanted to use. If you’re doing manual Native dragging OUT of your app, the doDrag() method has an additional boolean value at the end to specify that it’s supposed to begin a native drag operation. I’m not going to go into a ton of detail on how it was done, but the code is posted below with view-source enabled. DragManager and SystemManager have been MonkeyPatched.  It’s been liberally commented, so hopefully you can figure it out. Post a comment if you have trouble with it or it screws up because I missed catching a bug here or there.

DualDragManagers.air

Posted by Andrew, filed under 360 Flex, AIR, MonkeyPatch. Date: April 8, 2008, 4:08 pm | 6 Comments »

Here are my 3 articles for InsideRIA on Encryption in Flex applications.

Encryption in Flex Applications 1 - Simulate EncryptedLocalStore

Encryption in Flex Applications 2 - SWC AS3 Library Encryption

Encryption in Flex Applications 3 - NitroLM SWF Encryption

Posted by Andrew, filed under AIR, Flex, as3, encryption, security. Date: April 4, 2008, 12:25 pm | No Comments »

Well, my flight has been booked. I’m officially going to 360 Flex in Italy. It was really cool of the 360 Flex conference guys making the first of 3 days free and open to the public. Hopefully it’ll get those people who were on the fence about it to make the trip.

I haven’t worked much on this blog lately because I’m finishing up 3 articles for InsideRIA.com on Encrypting Flex Applications. I’ll post links to them here once they go live.

Posted by Andrew, filed under 360 Flex, Flex. Date: March 29, 2008, 5:42 pm | No Comments »

Since attending 360Flex in Atlanta, I wanted to learn a bit about skinning with Degrafa. For one of my own personal projects, I needed to create some nice scrollbars that would go with my black and purple color scheme. Now keep in mind that I am NOT a designer. Most of my coding experience before learning Flex/AIR centered around backend Java Servlets and other hidden technology. View-Source is enabled if you wanted to see how it’s done. I still don’t know how to get rid of the stupid white box between the two scrollbars. If someone would like to comment and let me know, that’d be great.

Posted by Andrew, filed under 360 Flex, Degrafa, Flex, as3. Date: March 9, 2008, 1:07 pm | 7 Comments »

« Previous Entries