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)
- Honorable mention of finetune.com, mp3tunes.com, Pandora Radio, and last.fm
- Videos: obviously youtube.com
- General needs
- Organizing recites and manuals: mystuff.com
- Easy tax filing: turbotax.com (online)
- All traveling needs: orbiz.com or Travelocity.com or expedia.com
- Bank/Financial monitoring: mint.com
- Most utility and billing companies now have direct automatically online payment options
- 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
17Oct Adaptive Interfaces
A common mistake that I read on blogs is when it comes to today’s “modern” user interfaces: fewer features we offer to the user’s interface the better… make it simple! This common misconception is happening in some of even the largest software companies. For example, the Windows Vista defragger changed dramatically from XP as it is now a single button… no options, no status, and no detailed view on defragmentation process. Hence, you click this button to start the process- only to end up waiting hours while it drills on with little options or any understanding on what is happening. What if the user just wanted a ‘fast’ defrag and doesn’t want to wait a lengthy process at the time…. maybe they want to defragment a single file. I believe fewer interface elements are better- NOT fewer features.
The future I would say is intelligent interfaces that adapt to user’s expectations. The application’s functionality should be able to tailor itself to the user’s expectations. Users want interfaces that are simple to use but powerful in functionality. However this usually translates into a UI that understands the user and knows the correct action to take at the time they are called. One of the primary reasons why the iPhone become popular was the simple interface was able to perform a hefty amount of functionality. Just as Google will customize search results based the user’s history like showing restaurant matches in your area in the order of perceived user food preference, GUI interfaces should try to adapt to their user, consolidate similar functionality, and choose the correct action in the appropriate situation.
With that, I close this Friday with Psychologist Barry Schwartz’s speech from TED talking about peoples distress from having too many options available to them at any one time. Options are good I believe… just not when they are all advertised (viewed) as equal options to choose from. Obvious solutions for individuals should have priority above others to avoid frustration… but elimination of options I believe is not the right answer here.
14Oct Hidden Flash 10 IDE features
While watching the live San Francisco Flash 10 Camp stream over the weekend (ideally I wanted to BE there but Detroit airports where tied up over the weekend), I listened to some points being made that I have heard little or nothing about in its advertised feature roster.
First feature is much better library management. For example when creating new Assets on the stage, you can quickly categorize the asset into a library folder. (small point but every click counts when you work in the IDE all day sometimes)
Second feature is *drumroll* native Flex compiled ActionScript SWCs support! No more nasty hacks to get those libraries working. In addition, this means you can use some of the Flex utility SWCs as long as they do not interface with the core Flex framework. This may mean you can use those utilities like mx.utils.UIDUtil that I had blogged about recently.
Finally there is a new file format coming after the product launches as a plugin (correct me if I’m wrong) that will one day replace the FLA file format. The new data format will then be a simple ZIP format that contains all the library assets seperately and hopefully (unconfirmed) in Flash 11- timeline code will be physical files within the ZIP package that can be versioned seperately allowing better collaboration. Again, this is only a rumar that seemed to be hinted at from the Adobe developers. This would be a huge boon as multiple people working on a FLA nowadays is nightmare.
I also just wanted to mention the Best in Show winner at Flash Camp: www.avenuefighter.com (requires Flash Player 10). This is a very entertaining animation that pulls in twitter posts and builds a scenerio from it that utilitizes the new IK animation system. Congrats team!
06Oct Adobe AIR Wishes
While trying not to come off as an Adobe fan-boy, but Adobe AIR is truly a revolutionary desktop software platform and has the potential of going toe-to-toe with some of the markets that Visual Studio has dominated since the dawn of time. However, there are some key features that I believe could boost the power of AIR and swoon other desktop developers over:
- Direct access to USB and serial ports… this would be a massive boon to manufacturing developers who have to interface with machines
- Standalone exe option (granted there will be a higher file size since it has to contain the runtime)
- Bundle non-embeded resources into .AIR packages
- Native mysql (or like PHP’s mysqli interface) support
- Bolster performance (maybe add multithreading) so that AIR could be a viable server platform
- Optimize memory usage of the runtime (sometimes it goes mad and consumes over 300mb)
- Update to the newest Webkit (much faster now)
- AIR has very poor math performance for any desktop language… this should be improved. No company is going to embrace AIR for doing engineering or other mathematical simulations when its 10x slower than even Visual Basic.
- Game development could really really use more GPU feature support
- What else have I missed?
As it stands now, it seems like Adobe AIR does not contain any one end-user feature strength versus their competition… most of it has been developer orianted. (aside from the runtime application updating)
03Oct Beyond Flash 10 and AS3
With Adobe Creative Suite 4 shipping soon, I began thinking about some of the features I still wish ActionScript could have in the future. With the introduction of the Vector class, reports have been coming in across the web of performance increase anywhere between 40% to 60% (AS3 Vector / Array Performance Comparison). However, this is one small step for the platform as a whole as with some of the benchmarks I have run- Flash is about 10 times slower than other similar languages in regards to math (I will be posting on some of my benchmarks coming soon). So without further ado, here is my wish list:
- Faster math speed
(10x would be nice) - Use more (I do understand Flash has a limited support currently) OpenGL features for faster rendering performance
- Aside from the new Vector, introduce typed Dictionaries
- A service package to directly access MySQL (even cooler if it was like E4X in syntax) with an option to have a constant streaming connection (for server use… client side would be too risky security-wise)
- Native 3D object that creates OpenGL primitives
- Multicore/multi-thread operation handling
- Move some of the general utilities from Flex to Flash… like mx.utils.UIDUtil
- Bolster AIR in speed and networking features to become a viable game server platform (the MySQL feature comes into play here as well)
- Maybe add YAML and JASON to E4X proxy methods since they are growing in popularity
- A way to use function.apply on a class constructor when making a new object instance! (Class contructors with function.apply?)
- Convert a series of frames in the Flash IDE to an animate-able bitmapdata object (much faster)
- “eval” command (yes, I know it can be evil… but there are benefits)
- Operator overrides
- Did I miss anything? Please post with your thoughts!

