Everypoint is a company I’ve been aware of for a little while now and I’ve been waiting until they released more information on their site before blogging about them. They have some very interesting technology which allows companies to deploy real-time mobile content to a wide range of java enabled phones. In addition they’ve developed their own vector rendering engine which from some of the screenshots and demos, looks to offer some great looking graphics.

Yahoo looks to be one of the first customers using this technology with an upcoming World Cup soccer application called Matchcast. There’s also a demo of an application using the technology here.

I think many people are still trying to write off J2ME and companies like Everypoint are interesting in that they are providing viable solutions for real time mobile content delivery. I think it also requires us to revisit some Flash Lite vs J2ME comparisons.

What’s this mean for FlashLite and FlashCast? Hopefully companies like Everypoint push Adobe harder to make the best product they can. I’m all for having choices and alternatives when it comes to making a decision on the best technology to use. I’m by no means biased towards using Flash Lite over J2ME just because of my Flash background and experience. Personally I want to use the best technology for the job and if one allows me to offer my application now to existing java enabled phones vs later to upcoming, Flash Lite enabled phones, my decision is going to be strongly influenced by the now option.

I finally got around to putting together this navigation example. I was using it in a project and had to redo the design, take out project specific code, protect the innocent, etc.

Click anywhere inside the swf below and use the left and right arrow keys to navigate screens.

 

Here’s a zip with the swf and fla:
CarouselNav.zip

It also shows a little of my approach I tried out as far as how to best organize and structure a flash lite application. Each screen is in a self contained movieclip, on the root level you set a variable saying how many screens there are and the rest is taken care of. You can lay out your screens anywhere you want on the stage area in the IDE which makes it easy to find things. Open the fla and have a look around.

I’m going to post a more advanced example of this same file where key events are automatically sent into whatever the active screen/movieclip is. This allows each screen to easily define what should be done with an up and down action, left and right, etc. Kind of a primative flash 4 event broadcaster. I also had it setup so that each screen had an “init” keyframe with code that would be run each time it was tweened into view.

I made a small modification to the flash lite (flash 4) based tweening movieclip I posted a while back. I wanted a quick way of checking to see if the object being tweened was tweening or not, simply put tween_mc.tweening = “true” or “false”. When the animation is running its “true”, when its done its “false”.

updated Flash4Tween.zip

Developing for Flash Lite 1.1 can be a little frustrating at times and lots of us are used handling most of our animations via actionscript now. I tried thinking about how I could best encapsulate some similar functionality for Flash 4 and came up with this today. I honestly don’t remember what I used to do back in the day but this works and I don’t think it will be too difficult to integrate into your projects if you’d like to play with it.

 

Here’s a download to a zip containing this swf and the fla. Just drop the tween movieclip into your movie and try it out.

Flash4Tween.zip

I released it with a very open Creative Commons license. Basically you can do what you want with it. I learned more about the various licenses available at FlashForward and wanted to try out Creative Commons one. Very easy to use!

Here are the comments from the fla:

Flash 4 Scripted Tween

(cc) 2005 Tim Walling. Some rights reserved.
http://creativecommons.org/licenses/by-sa/2.5/

One approach to encapsulating some tween functionality. Basically it consists of a movieclip that is in a resting state. Once some variables are set such as the target movieclip, x and y value, tween ratio, etc you tell the movieclip to play. The movieclip then goes into a loop. It takes the current position and the target position, divides the difference by the tweenRatio, then moves the movieclip to the new point. When the difference becomes small (less than zero) the tween is ended and the movieclip is moved to the final point.

Usage:
- Drop the tween clip into the same timeline as the object you’d like to tween
- Setup the proper variables for the tween clip and play.
- Play around with the tweenRatio.

Example:

Actionscript
tween_mc.targetClip = "box_mc";
tween_mc.tweenRatio = 2;
tween_mc.targetX = 340;
tween_mc.targetY = 140;
tellTarget("tween_mc") { gotoAndPlay("tween") };

Please post other methods you might be using or if there are any suggestions, questions regarding this one.

Posted this in the FlashLite mailing list but thought it would be nice to get some feedback from others not on the list.


In my J2ME reading so far I’ve seen that incorporation of an opensource obfuscator called ProGuard into the build process is fairly common. Reduction in file size being the desired side affect for many people. Obfuscating code can sometimes get you decreases in file size, I think it all depends on your coding style.

I thought I’d take a look around the web to see if there were any similar tools which may help flash lite developers optimize their apps. I’ve never been fond of the idea of running my swf’s through an obfuscation/optimization tool because I worry about the unknowns that you’re introducing. Will my app work correctly still? etc… Still I thought it was worthy of some discussion. Here are two apps I played around with a little.

ASO Lite - freeware
http://www.genable.com/aso/index.html

Comes in two forms, command line or GUI version. I ran a project I’m working on now through this just to see if I could see any reduction in file size as a side effect. Original swf was 90kb, after running through ASO it was 92kb. So in that case it didn’t help.

Flash Optimizer - commercial ($99 I believe)
http://www.flashoptimizer.com

This has a free trial so I installed it and ran the same project through it. Went from 90kb to 75kb. Very promising. This program has a ton of optimization tweaks you can customize. Not sure what it does with your code. On the site they state the following optimizations.

# Vectors optimization
# Curves optimization
# Z-buffer optimization
# Shapes optimization
# Morphing optimization
# Fonts optimization
# Zero-objects optimization

Thought it was something worth looking into. Any thoughts on the subject? Anyone play with any similar tools?