27 Mar 2011

Getting CouchDB / Couchbase Server and Flash to Play Nice Together

Flash-couchdb
I've dabble with NoSQL technology and I've found CouchDB as a very intriguing place to start. Since I mostly code in Flash I wanted to figure out a way of getting Flash to communication with CouchDB.

I was Googling and came across Todd Anderson's (blog) project on GitHub called, "as3couchdb". My only problem is that I prefer to do almost everything exclusively in Flash. I noticed Todd had an AS3 version in his example projects, but that it requires Flex because of the custom metadata at the time of compiling. So you would get an error like this,

"Error: The CouchModel instance [com.custardbelly.couchdb.example.model::ContactDatabase] must be annotated with [DocumentService] metadata tag."

I found a hack-around, so anyone else wanting to use CouchDB and within the Flash IDE can do so (assuming you have CouchDB running locally already - if not, download Couchbase Server here)...

  1. Simply create a new Flash project
  2. Download Todd's as3couchdb and getting the example BasicActionScriptExample Class under the Properties Panel -> Publish -> Class in the Flash IDE
  3. Go to your Publish Settings, and check the SWC box under Publish (make sure you do this, otherwise you will get this metadata tag error: "Error: The CouchModel instance [com.custardbelly.couchdb.example.model::ContactDatabase] must be annotated with [DocumentService] metadata tag." 
  4. The compile your project... the example should publish and work! How about that for getting started quickly?

If you have any questions feel free to leave a comment. I'm using Flash CS5 and Couchbase Server (CouchDB v 1.0.2) on a Mac.


For those interested in how I found this hack-around:


Images used above curteosy of seokchanyun & mondi

7 Feb 2011

mLearning is Coming!

(download)

With the evolution of mobile technology, the next step of education is naturally bringing eLearning to mobiles. The main four mobile operating systems are: iOS, Android, RIM & Symbian. As we know, the final product of the majority of eLearning projects is Flash. As of today, Symbian supports Flash Lite, and  Google (with Adobe's help) has done a wonderful job of making a full version of Flash work on Android devices. That leaves Apple's iOS and BlackBerry's RIM as the only platform not to support Flash, with the exception of BlackBerry's tablet, called the PlayBook. You can take the time to write custom apps work like your eLearning, but that costs too much in both time and money.

So what other solutions does that leave us with. As many know, I've been very skeptical of HTML5 technology, mainly because so many are saying its the silver bullet solution to compatibility issues. Well, I'm still not sold on that, but I do think it is a great tool to have at your disposal, especially in the eLearning world.

Last week I was given a demo of a new eLearning tool, Rapid Intake's mLearning Studio, that produces both a Flash based course for desktop and laptop computers, as well as an HTML5 version that works on iOS, Android and soon RIM. The beauty is that you don't have to write two versions of the same course.

Here is a live link (http://rapidintake.com/mobilebeta/sample_beta1/player.html) to a course they produced. Go ahead, take a look at the Flash version on your computer, then pull out your iPhone, iPad or Android (2.2+) device and take a gander at the HTML5 version. The technology is still in the development stages, so if you have any trouble accessing it from your Android, try this link (http://rapidintake.com/mobilebeta/sample_beta1/indexMobile.html) instead.

Here is a link (http://www.rapidintake.com/products/mobile/mobile-learning-studio/) to their product page. Take a look, and feel free to contact them with your questions!

 

7 Dec 2010

Google Nexus S with Android 2.3 (Gingerbread).... I WANT!

Copied from: http://www.google.com/nexus/#!/tech-specs

 

 

Availability

After December 16, Nexus S will be sold unlocked and carrier-independent initially through Best Buy stores in the U.S. and after December 20 at Carphone Warehouse stores in the UK.

Connectivity

  • Quad-band GSM: 850, 900, 1800, 1900
  • Tri-band HSPA: 900, 2100, 1700
  • HSPA type: HSDPA (7.2Mbps) HSUPA (5.76Mbps)
  • Wi-Fi 802.11 n/b/g
  • Bluetooth 2.1+EDR
  • Near Field Communication (NFC)
  • Assisted GPS (A-GPS)
  • microUSB 2.0

 

Display

  • 4.0" WVGA (480x800)
  • Contour Display with curved glass screen
  • Super AMOLED
  • 235 ppi
  • Capacitive touch sensor
  • Anti-fingerprint display coating

 

Size and weight

  • 63mm x 123.9mm x 10.88mm
  • 129g

 

Hardware

  • Haptic feedback vibration
  • Three-axis gyroscope
  • Accelerometer
  • Digital compass
  • Proximity sensor
  • Light sensor

 

Processor and memory

  • 1GHz Cortex A8 (Hummingbird) processor
  • 16GB iNAND flash memory

 

Cameras and multimedia

  • Back-facing: 5 megapixels (2560x1920)
  • 720 x 480 video resolution
  • H.264, H.263 MPEG4 video recording
  • Auto focus
  • Flash
  • Front-facing: VGA (640x480)
  • 3.5mm, 4-conductor headset jack
    (stereo audio plus microphone)
  • Earpiece and microphone
  • Software noise-cancellation

 

Battery

  • Talk time up to 6.7 hours on 3G
    (14 hours on 2G)
  • Standby time up to 17.8 days on 3G
    (29.7 days on 2G)
  • 1500 mAH Lithum Ion

 

Software

  • Android 2.3 (Gingerbread)
  • Android Market
  • Calendar
  • Gmail
  • Google Earth
  • Google Maps with Navigation
  • Google Search
  • Google Talk
  • Google Voice
  • Voice Actions
  • YouTube

 

 

 

 

 

 

6 Oct 2010

Flash & Flex Developer Magazine: Visualizing Your Data with BIRT & Flash

Get the most recent edition of Flash & Flex Developer Magazine HERE!

 

 

A Look Inside...

  • s Apple Getting The Big Picture?

    As Adobe developers we may not like Steve Jobs but we should respect him. Seeing the turnaround of Apple Computer upon his return and the stellar growth of companies such as Pixar Animation Studios should lead any of us to deduce he is a man with a plan. Just a few short years ago we had never heard of i-devices and now none of us can sit and enjoy our latte without seeing at least one.


  • Sothink SWF Decompiler An all-in-one Magical Flash Utility

    Suppose you watched a video presentation online and want to save it on your system to enjoy it later offline. Maybe you are thrilled with a cartoon animation and you want to create a wallpaper out of it using few assets from the movie. Or you could be a student with a curious mind who wants to learn the ‘behind the scene’ stuff.


  • Visualizing your Data with BIRT and Flash

    Understanding how Actuate is using data driven BIRT reporting in combination with Flash presentations to create highly interactive business applications.


  • Monetizing Your Web Game part 3

    Currently there are many choices when it comes to monetizing a web game. It can be daunting to decide which model is best for a developer. On top of this, there are conflicting reports as to which ones are truly lucrative.


  • Objects and Associative Arrays Why an ActionScript Object is Like a Dictionary

    There is more to the ActionScript Object class than meets the eye. In the first of a new series, Huw Collingbourne looks at associative arrays


  • Loading External Assets Using the open-source BulkLoader Class

    Flash offers great built-in solutions for loading several types of external content into SWF applications. However, that doesn’t help you much when it comes to loading numerous units of different kind of data at the same time. Thankfully, there are some third-party utilities that can take care of the job. In this article you will see how to make use of the open-source BulkLoader class.


  • Adobe Alchemy a Comparative Example

    Adobe Alchemy is an Adobe project that allows users to compile C and C++ code to be run on the Actionscript Virtual Machine (AVM2). With this possibility developers can take advantages of hundreds of powerful C and C++ libraries on the Flash Platform. These libraries will be compiled as a SWFor SWC files that run on Adobe Flash Player 10 (as well as Adobe AIR 1.5).


  • How to Test Upload Bandwidth to a FMS

    Flash Media Server is able to detect the client connection speed and serve up video at the appropriate bitrate. It allows your application to avoid the annoying „Choose the size of video” message and let the FMS do it for you. In this article you’ll learn how to do that.


  • Flash GAMM!

    A story of enthusiasm and love to Flash-platform which turned a small meeting into one of the brightest events in flash-industry.


  • Interview with Sean Carey

    Sean Carey President of HD Interactive, a premium provider of branded games, rich internet applications, social media & memorable online experiences.


  • Book review: Flex 4 In Action
     
  •  

    31 Aug 2010

    Flash & Flex Developer Magazine (September 2010)

    (download)

    Get the next free edition of Flash & Flex Developer Magazine: AIR for AppUp


    Here is a sampling of what is inside...

     

    • Intel Atom Developer Program: Million Dollar Development Fund

      Intel recently released a new App Store specifically for Netbook Apps: Intel AppUp (http://www.appup.com/). Included in this program is a partnership with Adobe (Melrose SDK … NOW in Public Beta!), a Million Dollar Developer Program Accelerator, and the Intel Developer Challenge 2010.


    • NET FRUGALITY

      We Flash and Flex developers and for that matter, anyone developing Web 2.0 content have enjoyed a free ride on the bandwidth bandwagon. While fiber optic vendors have scurried to lay the last mile of our super highway, none of us have paid much attention to the weight of our applications. But that is all soon to change. Resolution be damned, we are all being ushered into the wireless era, and like it or not, the game is changing.


    • Introducing Amethyst

      A Visual Studio user who wants to create a rich internet application (RIA) has, up to now, had only one real choice: Microsoft Silverlight. With the launch of Amethyst, that’s all changed. Amethyst puts a powerful suite of Flash Platform design and coding tools right inside Visual Studio.


    • Onyx-VJ development

      Onyx-VJ is an open source video performance tool based on ActionScript 3 language. The project was started by Daniel HAI back in 2003.


    • Engineering Business Focused Facebook, YouTube, and Twitter Apps

      The avenues for delivering innovative products and services to vast groups of clients are unlimited as internet media platforms evolve, become widely used, and are made more accessible.


    • Monetizing Your Web Game Part 2

      Currently there are many choices when it comes to monetizing a web game. It can be daunting to decide which model is best for a developer.


    • Simple Class Generator for ActionScript 3.0

      Flex 4 containers are not close relatives of Flex 3 Containers. If you want to avoid family feuds, you need to take care of the children. In this article, we’ll find out how.


    • Communicating with the browser

      Sometimes Flash just isn’t enough to get the job done. Often times you might need to communicate with code outside the Flash Player, such as JavaScript in an HTML page.


    • Flex and PHP Mobile

      Mobile is big. The web is big. Services are big. It is no secret that in the past several years the API has become king. Simply accessing a web site is not sufficient any more.


    • Amethyst Puts Flash In Visual Studio But can it compete with Silverlight?
       
    • Adobe Flex 4: Training from the Source Volume 1
       

     

    19 Aug 2010

    The Web Is Dead... OR Maybe Not

    Ff_webrip_chart2
    IMAGE SOURCE: Wired.com: The Web Is Dead. Long Live the Internet

    I have to disagree with Chris Anderson and Michael Wolff. While Apps are the popular thing right now, there is too much fragmentation between Operating Systems. iPhone/iPad support this 3D HTML5, Android supports Flash, Blackberry does this, Symbian does that... yada, yada, yada...

    Then on top of OS fragmentations, you have fragmentations between different versions of the OS. For example, the iPhone 4 & iPhone 3GS is running the 4th version (iOS 4) of the iPhone OS and can do multi-tasking with apps, while the iPhone 3G can run the iPhone iOS 4, but it can't do multi-tasking with apps. Then the iPads aren't getting the iOS 4 until Q4 of this year, so whoever has an iPad you won't be able to do multi-tasking until then. Yes, fragmentation will always exist because of better technology, but obviously less fragmentation is better than more fragmentation.

    A solution to fragmentation is web apps! All browser support HTML. I'm still not touting HTML5 as the savior from fragmentation completely, but I am saying that is can help.

    From a developer's or product manager's standpoint it would be easier and much more cost effective to develop multiple web views with HTML, than to have specialized teams developing an app for the iPhone, the iPad, the Desktops, Android, Blackberry, Symbian, etc... Right there you are up to 6 various apps platforms, 6 completely different operating systems (iOS, Windows, Mac OS X, Android OS, RIM & Symbian), and at least 2 different programming languages (Java & Objective-C). Developing apps is a hassle, time consuming and most developers only specialize in one or two languages.

    I think apps are a great tool for the here and now, but in the coming years I'm betting mobile web will end up as the king.

     


     

    Resources:

    4 Aug 2010

    My Consumer Status with Apple Over the Years

    I thought I would take a minute to explain how my view on Apple has changed over the years:

    • Prior to college I had no experience with Apple and do to my immaturity I thought they sucked.
    • In college I started working for an eLearning company and was introducted to my first Mac and Final Cut Pro. I found it fabulous... no blue screen of death and it just worked. A start to a beautiful relationship... I'm completely sold that everyone should have a Mac over Windows.
    • Got my first iPhone right before the iPhone 3GS came out. Feel in love all over again.
    • Started developing iPhone apps using Flash CS5 Packager for iPhone, get one, TheProducer (Lite Edition) approved and in the iTunes App Store.
    • I developed a full version of TheProducer and submit it to the iTunes App Store.
    • Apple then announces the iPad. I pre-order an iPad. Meanwhile, I'm starting to build an iPad version of TheProducer using Flash CS5.
    • I get my iPad and even get TheProducer working on it and within days Apple block Flash (and AIR apps) on the iPhone and iPad.
    • 6 email inquiries later, the full version of TheProducer is still "In Review" at Apple and has been since March 15, 2010.
    • I lost my temper with Apple: 
    • I swap to the Google Nexus One and Android 2.2. If I may add, runs Flash and AIR apps really nicely!
    • Future outlook... I still think Windows is an inferior product in comparison to Mac OS X, but I don't think I'll be buying an iPhone 4 anytime soon.

    BTW... I'm selling my iPad! Can't wait to get my hands on Notion Ink's ADAM!!!

    11 Jun 2010

    Flash Player 10.1 on Google TV

    I think this is FREAKING AWESOME! Can't wait to get my hands on one of these!!!

    9 Jun 2010

    The Case for Adobe Buying the Smokescreen Project

     

    Smokescreen - iPad demo #1 from Chris @ RevShockAds on Vimeo.

     

    While there are NO facts, NOR rumors... yet... of this happening I think Adobe really should buy these guys out! Or at the very least, fund them and help them out. If you haven't heard, Smokescreen is a JavaScript render engine for Flash content. Basically, it will allow Flash content to run on Apple devices (iPhone, iPad & iPod Touch) without the 3rd party Flash Player plugin. 

    While the feature set is fairly primitive for now and the performance is OK, this is the largest middle finger Adobe could flip to Apple. If Adobe was to put some resources to aid these gents with Smokescreen (like they've done with the Zend Framework), it really could go further to promoting their Open Screen Project!

    Just my $0.02

    4 Jun 2010

    Apple's HTML5 Showcase is anything but OPEN!

    Apple_html5_01

     

    I noticed a link to Apple's HTML5 Showcase and I thought it would be interesting to see what they are demoing, so I took a look... Nice page and initially looks like a good variety of demos...

    Apple_html5_02

     

    I quick learned that I couldn't access demos within Google Chrome, Internet Explorer or even Firefox. I had to use Safari... WTF!?!?!?!?

    Apple_html5_03

     

    Déjà vu! For a second there I had flashbacks to a few years back, using a Firefox browser and trying to access a site that requires ActiveX and would only run in Internet Explorer. Scary! Don't get me wrong, I completely understand HTML5 is still in development and browser companies are still building HTML5 features as they are established and change, BUT ARE YOU FREAKING KIDDING ME... I have to use frickin' Safari?


    Sean Michael Kerner of InternetNews.com said, "...if HTML5 is truly about creating an open web standard for all, shouldn't an HTML5 demo page highlight standard features that work across all HTML5 compliant browsers?"

     

    Correct if I am wrong, but I thought HTML5 was about any content, any device, any where! 

    I did try it on Safari just to see the demos. Overall, sure it was pretty cool. Overall there is still a bit of lag with the processing of the JavaScript from time to time. Everything was nice until I got to the HTML5 VR Demo. It said this demo not only requires Safari, but it also requires me to be on an Apple machine!!! Apple has clearly gone past Adobe's requirement for a 3rd party plugin, this is requiring the users to have a certain type of hardware. APPLE THIS DOESN'T BELONG IN AN "OPEN HTML5 DEMO" 

     

    It's like Jason Calacanis put it when talking about Steve Jobs at Wall Street Journal's D8, "Jobs fired away at Adobe over the Flash issue. He discussed how his closed platform is actually open because they support HTML5. He discussed why Google is toast (no one searches anymore, if they want a restaurant they just open the Yelp application)."

     

    Again, correct if I am wrong, but I thought HTML5 was about any content, any device, any where! 

    Apple_html5_04

     

    Apple's HTML5 Showcase on the Google Nexus One... I went ahead and tried it on my Nexus One, just for fun.

    • HTML5 Video Demo - Got this message, "This demo contains H.264 video. Windows users can download QuickTime to enable support fro this industry-standard format." - This is a frickin' riot here! Apple bashes Adobe for needing a proprietary plugin to view content and Apple requires the same thing here. Its a freaking double standard here!
    • HTML5 Typography Demo - This demo actually worked, BUT definitely not optimized for mobile consumption on the Nexus One. Tried it on my iPhone and it worked well.
    • HTML5 Gallery Demo - This actually worked very nice, with the exception that I was not able to select the drop down to change Gallery demo styles.
    • HTML5 Transitions Demo - Worked very nicely.
    • HTML5 Audio Demo - Worked well.
    • HTML5 360 Degree Demo - Kind of worked. Really, really choppy.
    • HTML5 VR Demo - Same response as attempting to view in Safari on my PC... I need a Mac product to view.

     

    Apple's HTML5 Showcase = FAIL

     

    Lee Graham's Posterous

    Hi! I'm Lee Graham. I'm a GOAT (Geek Of All Trades)! I'm also a Flash Platform Developer, eLearning Developer for BB&T University, Android fanatic,  & husband to the world's most beautiful girl!


    Connect with Lee Graham


    DISCLAIMER: The information contained on this site are strictly my personal views and doesn't reflect the views of my current employer.