Visual Design, ActionScript, PHP, C#, Adobe AIR, and Game Development Theory

06Jan Twitter Riddle

twitterHow many tweets could a critter twitter if a critter could twitter tweets?

…these are the things I come up with when I have too much time.

05Jan FlashDevelop 3 RC1 released

Flash Develop 3In case you missed the news over the holidays, a new version of FlashDevelop was released. FlashDevelop has evolved over a number of years and has proven itself as an invaluable tool to Actionscript development. There is so much polish on this application that it outperforms Flex Builder when it comes to many of the basic tasks of code writing and navigation in my opinion.

http://www.flashdevelop.org/community/viewtopic.php?f=11&t=4041

Changes:

* Live syntax errors highlighting (AS3).
* The editor font can now be defined in the settings.
* Automatic type selection after “new” with typed vars.
* Explorer shell menu has been added to “Files” and “Project” panels.
* Smart contextual event type completion, if declared with Event() directive.
* You can double-click on a class when exploring a library SWC to see the class model.
* Completion automatically adapts to the project’s Flash Player target version (FP9, FP10, AIR).
* External SWC’s (outside of the project tree) now appear like external classpaths.
* Updated MXML completion, now with effects attributes.

+ Lots of bug fixes and other small improvements. :)

23Dec CardSpace Fail?

CardSpace snipsnipI remember once Microsoft CardSpace was announced and shown to a group of MSDN members that I was apart of here in Detroit. The idea seemed fantastic- finally a way to secure user’s online identity and allow the user to relay the needed information to online applications without having to fill out forms anymore! However, there was some technical obsticles I foresaw. The biggest one being the solution was “magic”. The technology used a specialized IE plugin for integration (something that Chrome and until recently Firefox wouldn’t have), and uses technology paradigms that are not used commonly in the programming community. This not only locks down the platform, but the technology is incompatible to systems that do not have a Microsoft built extension. In addition the platform requires low level access to the operating system for security precausions meaning the OS needs to have been made with a special sandbox environment specifically for the application. Novell has been working on their implementation of CardSpace, but I have doubts about the user adoption rate.

What I am trying to say is CardSpace was an amazing concept, but it has failed to appeal to both the larger developer community and end users.  I see single Firefox plugins that fill in forms having much more popularity and community buzz. They require nothing of the developer of the site, easy startup for the end user, doesn’t require the OS to support certain features, requires no installation (other than the browser plugin), and the concept is very logical to follow.

The only other idea that could have a higher adoption than these generic browser plugins would be a global informtion site that your personal form information could be tethered from. However, this would require a big name behind the project as people would not trust a service with all their personal information that they didn’t already have some form of trust with beforehand. Who could it be? Google perhaps?
On a side note, an excellent Firefox plugin for filling out forms is Sxipper 1222876976.

18Dec Why Google Native Client is not a Flash competitor

quake-200There has been a lot of buzz around the internet about Google’s new development project called Native Client. This very ambitious project attempts to being desktop applications to the web browser. This project has a very long road ahead of them as it becomes extremely difficult to regulate an application that is able to access hardware or low level software hooks at will. However, even when this project is able to find its feet, it is NOT a competitor to online interactive mediums like Flash or Silverlight. This is because desktop applications are tailored to the desktop platform. Sure, Native Client can run the game Quake through the browser, but why wait downloading 100+ megabytes to play the game inside a small browser window when you could download it in its original form and play it on the desktop? The platform is simply not web-friendly at its core. Having said that, perhaps one day once the internet speed is as fast as desktop HDs and Native Client is able to execute code without any dependency on the operating system, that would be golden. This would allow browsers (like Chrome) to literally be the operating system for the computer. However, while Native Client may be backwards compatible, Flash, Silverlight and JavaFX are working hard to bring OpenGL acceleration and near-desktop math processing support. These platforms are much more web-friendly as they are optimized to be compact and able to stream load their code during runtime (which is highly valuable when you are considering enterprise-class applications).

I’m still very annoyed by the fact that Flash, Silverlight, and JavaFX are all roughly 10 times slower in basic math operations than pure C# or any other desktop platform.

09Dec flashMVC: New Utility ActionBinder!

I just update the SVN (svn.jadbox.com/public/) source for flashMVC with a MXML component tool I made for the cases that I was working with Flex. It’s located in com/jadbox/flashMVC/flex/ActionBinder.as, and it helps automate the view (aka MXML) portion of your application to communicate with your SuperModel. It will monitor the status of a particular action on the model, and allow the user to easily perform view updates or to run the action itself. This will help further reduce the amount of work you will have to do in Script tags (if not completely remove the need for one in the MXML).

// Example
  1. <flashMVC:ActionBinder superModel="{mySuperModel}"
  2.  action="{mySuperModel.LOGIN}"  
  3.  id="LoginBinder"  
  4.  actionComplete="{trace('Login action completed')}"  
  5.  actionEnable="{trace('action enabled')}"  
  6.  actionDisable="{trace('action disabled')}"  
  7.  actionPerforming="{trace('working')}"  
  8.  actionStoppedPerforming="{trace('stopped working')}" />
  9.  
  10. // You can also do the action from the wrapper:
  11. myActionBinder.perform(…args);
  12. LoginBinder.perform(username.text, password.test); // for example
  13.  
  14. // Can use this property to
  15. // enable or disable the action as well:
  16. myActionBinder.actionEnabled=false;

You can find a great example of this in my SVN under the path:
/flex projects/flashMVC examples/actionBinderExample/
You will just be sure to link the flashMVC framework from the Flex project settings to compile.

Asdocs have been updated with the ActionBinder’s API. For more information about nimble flashMVC framework, go the flashMVC tab at the top.

Next on my list of features for flashMVC is the application “replayability from imported xml log”. This will be really useful to utilize in Flash or Flex development!

Tags: ,

04Dec Programming News Week

Here are some random tidbits of news headlines and links I found of interest this week:

02Dec at&t: Why Bureaucracy and Technology Don’t Mix

Old-school pyramid management can severely cripple an organization’s ability to adequately adopt and help their customers. Today the story I have to illustrate this problem is about at&t’s service and support departments. First off, let me state that the actual DSL service I had with at&t has been nearly flawless with 6mb downloads with 768k uploads. I am definitely a power user (online gaming, downloading, video and audio streaming, and working at home) and never hit any kind of service-capping or times that the network connection from slow. However, this story isn’t about the ‘product’ but the customer service and internal processes that occur…
(more…)

18Nov Flash Player 10 confirmed for Android (with video)

Well, I predicted that Adobe would be eager to develop for the Android, and here it is: a working demo of Flash Player 10 running on the G1 being displayed today at a conference:

This is VERY exciting news! While Flash games may be slow because of the device, video streaming and Flash/Flex applications will be amazing to utilize for development. For myself, this means I can create simple Android apps to interact with the device features (like camera) and use Flash for the UI and logic since I know that language much more than Java currently.

Tags:

11Nov T-mobile G1 impression and Flash

Well, I finally took the plunge and got my first smart phone! I’ve looked at several choices over the past year like the Blackberry Bold, Storm, Apple’s acclaimed iPhone, Diamond Touch, Envy, and the LG Dare. However, after measuring the pros and cons, I decided on Tmobile’s G1. Why, you might ask? For one, I do like the full slide-out keyboard, touch screen, and trackball features. However, the G1’s biggest asset is of course Google’s open source Android operating system that it runs on. Android will allow even intermediate Java developers to make applications easily and publish to the market for other users to use. Examples of current applications are: barcode scanner and local prise comparison, parking spot locater on a radar display, social networking integration including direct camera posting, use mp3s as a ring tone (iPhone requires a painful hack for this to even work), remember-the-milk task reminder, weather display, and much much more. Heck, if I can find enough time, I will start writing applications for it.

Also, the cost of the phone is cheaper (its $170) and the monthly contract is about $25 cheaper than the iPhone (which the savings alone is as much as my internet home service). Overall, I have had the phone for over a week and can say nothing but good things about it. I did have some issues with the T-mobile service line… but to be honest, most of the tech support reps have not even seen the device since the G1 is sold out across the US right now.

My two wishes for the phone are longer battery life (with RC30 bios and 3G disabled, I have 80% battery by noon with lite use) and for Adobe to bring Flash Player (preferably 10) to the Android Market! I assume if Flash Player 10 where to ever to hit a cellphone device- that it would be the G1 since Adobe has been a well known Java centric company internally, but FP is written in C, if I remember right, so it will need to be transported to Java OR run as a Linux app directly on the G1 outside Android.

Note: RC30 update now has a viewer for most of the Microsoft Office formats.

Update #1:
At the Adobe MAX 2008 conference, Turner indicates that an “Android port” [of Flash Player 10] is coming!

Update #2:
Flash Player 10 confirmed for Android (with video)!

Tags:

24Oct Living in the [virtual] Cloud

I have always strive to keep things organized and in arm’s reach. People expect, with the rise of the Web 2.0 boom, that services should be fast, easy on the eyes, accessible on desktop/web/mobile systems, free/cheap, and have a reliable up time. With the tools that are available now, I have completely replaced the need to use (snail) mail and feel that now, more then ever, I can exist in a true service cloud. Below I have compiled a collection of sophisticated online services that can increase the level of simplicity and zen in most everyone’s life:


  • Daily organization (notes, weather, other): www.google.com/ig (must have homepage)

    • Google also has an amazing calendar, notebook, and doc/presentation/spreadsheet services
  • Bookmarking: Delicious.com
    • For those who are new to social bookmarking, it allows bookmarks to be saved directly to an online account. I would recommend getting the Firefox toolbar for faster access. Also note that you can add igoogle gadgets that sync with your delicious to display different categories of links that you have bookmarked.
  • Misc Data backup: https://www.getdropbox.com/ (2gb free)
  • Photo backup: Google’s Picasa Web (250mb cap I think…need to find a better service here!)
  • Documents: convert to Google Docs or store in a data backup (see above)
  • Music backup and streaming: lala.com (syncs music to an online locker that can streamed or downloaded)
  • Videos: obviously youtube.com
  • General needs
  • Fast news lookup: originalsignal.com, addictomatic.com, or of course digg.com
  • What others have I missed? Please comment if you have another service that has made your life that must easier!

Other great links to read on this subject: top 80 sites and best of web