Tuesday, November 01, 2011

Adobe Edge - My First JQuery/HTML5 Application

So I downloaded Adobe Edge a few days ago and installed it yesterday.  Within ten minutes I was able to create a simple animation with almost no coding.  Adobe Edge Preview 3 literally blew us away in the first few minutes by allowing the creation of JQuery and HTML/CSS animations using a WYSIWYG editor environment.








To see this again, just hit "reload".  Note that the JavaScript files are located on a remote server.  This could result in a slower loading.  The total size of all files to build the animation above is only 191 KB.  The source code for this is clean, elegant and nicely formatted.

The Edge Preview release APIs are also documented online at http://labs.adobe.com/technologies/edge/resources/jsapi.html.  I feel like I need a good project now to fully test Edge in a production environment.  Any ideas?


Monday, October 31, 2011

App Store SEO

I've been toying around with mobile application SEO for some time now and doing some structured research.  The field is focused on the study of how applications are sorted and ranked when a generic search term is utilized within a mobile application marketplace.  I believe the field of app store SEO will be a large area of focus for developers in the years to come.  The practice of optimizing mobile application listings within the dominant application stores in addition to the search engines will be an essential survival skill.   Basically, if your application is not found, it will not be installed and used.

Here is a use case.  I built an application called Magic Screen Pro.  It is a drawing application yet when I search on "drawing", my application does not show up in the first 100 search results.

There are currently only a handful of dominant mobile application stores such as Apple's App Store, the Google Android Market and BlackBerry's App World.   Additionally, to add to the complexity of SEO for Mobile applications, many app stores exist with variants of the major app stores and are  filtered by criteria such as ratings, downloads, languages, countries, and paid vs. free apps.  In a coming series of articles, I will build off previous SEO articles and write about some of my preliminary findings.

One of the first things to note is that the models used by Apple, Google, and RIM all seem to have both similarities and major differences.  Unlike web searches, app store results are presented as a combination of filter query and rankings algorithms.  The filters have several normalized components such as "most popular" and "price".  The problem seems to arise when a generic mobile application is sought via the search tool in an app store.  For example, searching on Google's Android Market for "Stock Market" results in over 1,000 results on the first set of results (over 21,000 in total as of the date of this post -  https://market.android.com/search?q=stock+market&so=1&c=apps).  The results are ordered the same whether you search from the Google Market application itself vs. a web search.



This similarity also appears within the Apple App Store.



So how do the results get ranked?  Let's look at Google first.  The Android Market uses three specific filters - price, safe search (presumably to ward off adult content), and a "sort by" filter.  The latter has "relevance" selected as default.  They are shown below.



The "Sort by Relevance" is the key filter to understand.  The exact mechanism by which it works is private, similar to Apple's App Store.  So how does Google determine "relevance"? At first I had assumed it was the size of the install base however this turned out to be a dead end.  In fact, at a meta level, the first five results are not correct.  Fox Financial News has the first application.  I find it hard to believe it is the most relevant for the term "Stock Market".  The second highest ranked app is actually a link to the "App Brain Market".  When a user clicks through to https://market.android.com/details?id=com.appspot.swisscodemonkeys.apps&feature=search_result and looks, there is no mention either in visible text or source code of the search term "stock market".  The third result is by Snapworks Technologies and has an install base of between 100,000 to 500,000.

By Google's own admission, the following criteria is available to search for apps:

Featured: great apps hand-picked by the Android Market team
Top Free: popular free apps of all time
Top New Free: popular free apps less than 30 days old
Top Paid: popular paid apps of all time
Top New Paid: popular paid apps less than 30 days old
Top Grossing: applications and games generating the most revenue, including app purchases and in-app payments
Trending Apps: apps showing a hockey stick growth in installs in the last 24 hours
Editors' Choice Apps: Some of the very best apps available for Android, chosen by the Android Market team
Top Developer: Some of the very best developers on Android Market, chosen by the Android Market team

On top of this, some variants of Android markets allow users to filter results based on the version of Android.  There are some additional criteria for allowing applications to be found.

Priced applications availability: Priced apps are only available to buyers in these countries. If you are not in a buyer-supported country, you will be unable to view priced applications.

Location: You may only view the version of Market for your country. For example, UK users may only view the UK version of Android Market from their devices. If a developer has not targeted his app to your home country, you may be unable to view it.


Mobile service provider: In addition to targeting for location, a developer may also target their application to specific mobile service providers. If a developer is not targeting your mobile service provider, you will not be able to view the application.

Note that Google declares that no application may appear in a top spot as a result of paying to be featured.  Could it be that they intend to let the market dynamically choose the top results as is done with normal search engine results?  I believe that this is in fact the case.  The pattern is very simple - the first search result page contains code that tracks which applications users select.  The system itself is not perfect and will need to be augmented with ontological classifications, however it is the only logical path to take.

So what works?  For starters, the title of the application seems to be worth its weight in gold.  Recall the earlier example of my Magic Screen Pro application not showing up for the term "drawing".  When I search for "Magic Screen", it appears in the #7 position out of 805 applications.

Google also seems to track the clicks on a search result, hence the more people that click through on each app counts as votes towards raising the ranking in the overall application store.

What seems to not affect mobile application SEO?  I have found that the choice of technologies used to build an applications seem to be irrelevant.  Even in the App Store where one could suspect that Apple might be prejudiced against applications built using Adobe Flash Builder tooling, it seems to make no difference.

What needs to be researched more?  I plan on conducting further research into the exact mechanisms used including external links, links from other mobile applications, keyword usage in app descriptions, and more.  This aspect of technology is relatively new and requires proper research to help developers understand the basics.  Stay tuned for more as information becomes available.






Sunday, October 30, 2011

Adobe Edge Explained

Adobe's push into HTML5 has been around for a long time.  On top of participating in the actual standards development effort to move the web forward, Adobe has been building some of the first major implementations of HTML5 authoring tools.  Given the adoption of any technology is inversely related to the complexity to use it, Adobe Edge represents a great potential for people to author complex HTML5/JQuery/CSS and AJAX applications.

This blog explains the recent changes of the newer release and some great tips on how to use it.  As a former standards guy, I love this direction!

Don't take my word for it.  Try it for free by downloading it here:
https://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_edge


Tuesday, October 18, 2011

Very Cool AIR Mobile Application


Burhan Bozkurt has built a mobile IM and Video Chat application with Adobe AIR.
The name of the application is B-Messenger.  Thanks to AIR 3, both Android and iOS versions are very stable and functional now.

iOS version iTunes links:

Android version Android Market links:

Monday, October 17, 2011

Silicon Valley Code Camp Materials

The 2011 Silicon Valley Code Camp rocked!  Peter and the other organizers have really put on a first class event and it is great to watch it grow year over year.  The high point of this event is that it is all free and covers so much disparate technology.  I plan to be there next year.

For those who attended my sessions, here are the files I promised.

1. Customer Experience Management (CEM) for Architects - this is a look at an emerging architectural discipline surrounding multi-channel user experience.  The key relationships between running a successful enterprise and having a good user experience over disparate channels are discussed.

CEM-SVCC_Oct2011.ppt.zip - PPT format (18 MB)

2. Hands on Mobile Development using Flash Builder for iOS, Android and BlackBerry Tablet OS - during this course you will learn how to set up your development environment, architect and build a mobile application, use arrays, switch-case statements, while loops, data binding, remote data handling, Accelerometer access, Camera and Microphone access, GPS Receiver and all basic gestures.  Anyone can take this course with a little XML syntax knowledge and basic programming experience.

BL3453-ALL.zip - ZIP archive of source code, icons, preparation guide and courseware

Enjoy!

Saturday, October 08, 2011

Very Cool SAP & Adobe Train Race Event

My colleague Doug Massa is organizing a three-day pre-SAP TECHED training and contest designed to help you develop an enterprise application based on the SAP NetWeaver Gateway platform and related SAP partner technologies. The SAP Train Race will start in Paris with a one day, immersive training event focused on SAP NetWeaver Gateway and Adobe technologies . After the training teams will have the opportunity to get hands-on with the technology with the help of SMEs from SAP and partners, before joining us for a ride on the Elipsos Train Hotel to the SAP TECHED conference in Madrid. On the train, teams will develop an enterprise app using NetWeaver Gateway and Adobe Flash Builder. On the train will be SAP and Adobe resources to help with design and implementation questions and offer best practices for Gateway and Flash Builder, which includes FAQ and registration information.

Who Should Participate:

We are looking to have four Adobe teams with 2-4 people per team. The overall team should have working experience with SAP ABAP and be comfortable with Flash Builder 4.5. Ideally teams are attending Tech Ed Madrid. There is no cost for this event but it is encouraged for people attending Tech Ed Madrid to participate.

Sign Up Deadline: We would like to have all teams registered by Oct. 11th.

More information:
SDN (SAP Developer Network) posting: http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/26738
SAP Train Race site: www.saptrainrace.com

Gateway Beta Program: If anyone wants to be part of our pre-release program please send Doug Massa an email (dmassa@adobe.com). Developers interested should be familiar with SAP and comfortable using Flash Builder.

Thursday, September 29, 2011

Google Android Development with Flash Builder - Preparation Guide

This is the third in a series of articles explaining how to set up your development environment to prepare for attending my Adobe MAX preconference hands-on code camp.  The previous articles covered setting up Flash Builder and devices for iOS Application Development and BlackBerry Tablet OS development with Adobe Flash Builder.

In this post, you will learn how to set up Flash Builder and your Google Android device (running Android 2.2 or later) to get ready for development.

1.  The first step is to install Adobe AIR on your device if you have not already done so.  Simply visit the Android Market on your device, search for Adobe AIR, and complete the free install.  Here's a link: https://market.android.com/details?id=com.adobe.air&hl=en

2.  Next, you need to enable USB debugging on your device.  From the Home screen, tap Settings, and then select Applications > Development. Enable the USB debugging option.  If there is an option to stay awake while charging, enable that too.  NOTE:  This cannot be set while your phone is tethered to your computer.  Unplug the mini-usb cable before setting this.





3. If you're running Windows, you'll need to set up a USB device driver for your device.  For more information on this, see Connect Google Android Devices.   Depending on which version of Windows you're running and what Android device you have, the device driver set up can take some time.

This AdobeTV video by Platform Evangelist Bhakti Pingale walks through the setup steps for a Samsung Galaxy Tab: http://tv.adobe.com/watch/adc-presents/mobile-device-debugging-using-usb/.

4.  Plug your phone into your computer and open Adobe Flash Builder 4.5 or later.

5. Choose New > Flex Mobile Project and give your application a name.  Ensure that the defaults are selected as shown below.


6. Click Next and ensure that under Mobile Settings the Google Android checkbox is checked.  If you are only developing for this one platform, deselect the others.   Click the Permissions tab and ensure you have the appropriate permissions selected for each item you want to use.  For example, if your  app needs to use the Internet and access the camera on a Google Android device, you must select the permissions as shown below.


7. If you are building for both Tablet and smart phones, your application will have to be scaled for different screen densities and sizes.  I usually select the Scale Up From 160 dpi checkbox.  Click Finish.

8. Build your application.  If you want to see how easy this is, open the file created under the Views package, switch to Design view, and add a button.  Double-click the button to change the name to something unique (like "Hello Technoracle").  If you are looking for some easy tutorials for mobile application development, please download the course from http://www.22ndcenturyofficial.com/MAX2011/BL3453-ALL.zip

9. Once your application is complete, you may wish to release it to the Google Market.  To do this, you first need to make a proper certificate.  This process is described in this blog post on generating a P12 certificate for the Google Market using the Adobe AIR SDK.

10. When your application is complete, choose File > Export.  In the dialog box that appears, select Flash Builder > Release Build and click Next.

11. Ensure that the correct project is selected in the next screen along with the proper path location at which you wish to place your APK file.  APK files are the install packages for Google Android.  Also ensure that the Signed Packages For Each Platform setting is checked and click Next.

12. A screen will appear asking you for the location of the certificate and password that you created in step 9 above.  Fill these in and click on the deployment header and ensure that Install And Launch Application on Any Connect Devices is checked.  Make sure your Android device is connected and click Finish.


That is it!  Your application will compile into an *.APK file and install itself on your Google Android device.  If your application was built with a simple button it will appear and run as shown below.



Your application can be placed in the Google Market by creating an account and following the instructions at https://market.android.com

Tuesday, September 20, 2011

iOS Development and Programming with Flash Builder - Preparation Guide

Many people have wanted to get into iOS development to build applications for iPad, iPhone, and iPods.  Developing in Objective C is one option but this would require you to have different projects if you also wanted to create mobile applications for Android and other operating systems.  With Adobe Flash Builder 4.5.1, you can write a code base once and compile it for iOS, Android, Desktop, Adobe AIR and BlackBerry Tablet OS without substantial modifications.  This is the second in a series of articles explaining how to set up your development environment.  The previous article was for BlackBerry Tablet OS development with Flash Builder.


In this post, you will learn how to generate a digital certificate and a provisioning file, both required to install and run a mobile application on an iOS device.  If you're to attending my Adobe MAX preconference hands-on code camp and you plan on using your iOS device, you'll need the certificate and the provisioning file before you arrive.

The instructions below are geared towards Mac OS.  If you're developing on Windows or if you run into problems with the Apple Development Provisioning Assistant I recommend following the steps in Holly Schinsky's thorough guide.

1.    Navigate to the Apple developer center and apply for an account.  This will cost approximately $99 and may take up to two business days.  The URL is http://developer.apple.com/devcenter/ios/index.action

The next step is to obtain a Development Certificate. (Again the steps below are for Mac only.  If you're on Windows you'll need to use OpenSSL or something similar.)

 2.   To generate a Certificate Signing Request (CSR) with a public key, start by opening  your Applications folder, then open the Utilities folder and launch Keychain Access.

3.    Choose Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority.





4.    In the Certificate Information window, enter or select the following information:
  • In the User Email Address field, type your email address
  • In the Common Name field, type your name
  • In the Request is group, select the Saved To Disk option
Click Continue.

 



5.    The Certificate Assistant saves a Certificate Signing Request (CSR) file to your Desktop.  I use a folder in the Flash Builder workspace named Apple with two subfolders, CSRs and Provisioning.
The public/private key pair will be generated when you create the Certificate Signing Request (CSR) if you use the Key Chain Assistant to create the CSR.
6.    Submit the CSR through the Provisioning Portal at https://developer.apple.com/ios/manage/overview/index.action.
After logging into the iOS Dev Center, click iOS Provisioning Portal.



7.    Click the Certificates link on the top left hand side.


 8.    Click the Development tab. 

Note: To deploy an application to a device, you need a development certificate. To deploy the application to the Apple App Store, you need a distribution certificate.  For the purposes of this session, you can use a development certificate.

9.    Click Request Certificate, and then upload the certificate request by choosing the CSR file and clicking Submit.

When the status on your certificate request is "Issued", you can move on to getting a provisioning file.


 
 10.  Click the Home link on the top left hand side to return to the iOS Provisioning Portal's main page.

 11.  Click Launch Assistant to start the Development Provisioning Assistant.


  12. The assistant will launch and provide an overview of the steps required to create a provisioning profile. Click Continue.
13.    When the Assistant asks you for the App ID Description, type MAX2011 and click Continue. 


  14.    Specify the device you are going to use.  (If you have previously set up a device, you can select it from a drop down list.)  

Type a description of your device (for example, John Smith iPad) and type its Unique Device ID.

Apple provides the following guidance for locating your Unique Device ID:
To locate your UDID, connect your device to your Mac and open Xcode. Navigate to the "Window" drop down menu and select "Organizer". The 40 character string in the Identifier field is your device's UDID. Copy and paste this string into the field above.

 Click Continue.
 
 15.    You will be prompted for a certificate.  The certificate you created earlier should be visible.  Click Continue.

 16.    On the next screen, type a Profile Description (for example, MAX2011) and then click Generate.

 



17.    This will generate a provisioning file named something like MAX2011.mobileprovision. Download it and save it under your Flash Builder workspace.  For convenience, I save mine under a folder to hold all Apple iOS related assets used by multiple applications.


18.  As a final step, you'll want to convert your development certificate to a P12 certificate file.  See Converting a developer certificate into a P12 file for detailed instructions on generating this file on Mac OS and Windows.

That's it...you have finished the preparations for your iOS device and Flash Builder.

To build an iOS app in Flash Builder you'll need:

  • Your iOS development certificate in P12 format
  • Your Application ID to insert in the application descriptor XML file
  • Your developer provisioning profile



If you have any problems with the steps, email me at dnickull at adobe dot com. 

Wednesday, September 14, 2011

BlackBerry Tablet Development with Flash Builder 4.5.1

If you're attending the Adobe MAX preconference hands-on code camp that Garth Braithwaite and I will be delivering, you'll need to do some preparation in advance.

In this post, I outline the steps for BlackBerry Tablet preparation, which should be done well in advance if you want to run the code-camp application on the device.

Below is a depiction of the steps required. 




Figure courtesy of Research in Motion.

 0.  Request BlackBerry code signing keys, and obtain RDK and PBDT CSJ files from BlackBerry at https://www.blackberry.com/SignedKeys/. According to RIM, it may take up to two hours to receive the keys in  via email. (You may want to leave a bit of leeway here, mine took about three hours to arrive.)
 


1.       Once the emails arrive, save both of them to your local file system. For convenience, I set up a folder inside my Flash Builder 4.5.1 workspace named BlackBerryDev and saved both of the CSJ files to that folder.


 



  Note: If you want to know what these files are, check out the additional documentation at this URL:  http://docs.blackberry.com/en/developers/deliverables/23959/Signing_your_application_1422721_11.jsp

Basically the file with the PBDT is a PlayBook Debugging Tool.  The RDK one is not easy to find information about.

2.       Start Flash Builder 4.5.1.  

3.       Choose Flash Builder > Preferences (or Window > Preferences) to open the Preferences dialog box.

 4.      In the Preferences dialog box, select Flash Builder > Target   
   Platforms > BlackBerry Tablet OS as shown below.
 


 

5.    Click the "download and install the SDK" link.

6.    When you click the link, your default browser will open and load the page at http://us.blackberry.com/developers/tablet/ . Click the "BlackBerry Tablet OS for Adobe AIR" link in the bottom left.

7.    Then click either Download BlackBerry Tablet OS SDK for AIR for Windows or Download BlackBerry Tablet OS SDK for AIR for Mac.


 

8.    Shut down Flash Builder during the next few steps.

 
9.    When the download is finished, click the installer and install the SDK.  There are several steps to pay close attention to.
  
10.    When asked if you want to integrate with Flash Builder, select Yes as shown below.

 In the next step you will be asked where Flash Builder is installed.  By default, this will be /Applications/Adobe Flash Builder X.X (on OS X) and c:\Program Files\Adobe\Adobe Flash Builder (on Windows).  DO NOT confuse this with the location of the current workspace used by Flash Builder.

 

11.    Next you will be prompted for a location to install the BlackBerry SDK.  As with the CSJ files above, I chose to use the folder BlackBerryDev under the Flash Builder workspace in order to keep all assets in one place.

12.    Click Next, and then click Install. Before the install completes you may see a message notifying you that you'll need to upgrade the SDK plug-in.  The steps for doing this are as listed in step 13a below.

13.    You should see the final screen indicating success.  (If anything went wrong, please consult the Research In Motion (RIM) developer site.)  Click Done.



 
     
13a.  If you were instructed to upgrade the SDK plug-in after installation completed, then follow the steps you were given on the screen, which I've summarized below.  NOTE: Make sure you run Flash Builder as administrator when performing these steps:


1. In Adobe Flash Builder, choose Help > Install New Software.
2. In the Available Software section, click Add.
3. In the Add Repository section, click Local, navigate to <BlackBerry_Tablet_OS_SDK_Install_Directory>/update_site_for_FB and click OK.

4. Back in the Available Software section, select BlackBerry Tablet OS Support, and click Next.

14.    Re-open Flash Builder, open the Preferences dialog box, and again select Flash Builder > Target Platforms > BlackBerry Tablet OS. 

15.    Click the SDK Path Browse button and navigate to the folder in which  you just installed the BlackBerry Tablet SDK.  Select that folder and click Save.


 

16.    Click OK to close the dialog box.

17.    Open the Preferences dialog box once more.

18.    Select Flash Builder > Target Platforms > BlackBerry Tablet OS > Signing and click Register.


 

19.    To register with the RIM Signing Authority, you must provide the following information:

 

RDK CSJ Path:        Specify where you installed this file
PBDT CSJ Path:      Specify where you installed this file
CSJ Pin:                  Type the PIN you used when you registered to receive the CSJ  files on the BlackBerry Website.
CSK Password:       Type a password.
Confirm CSK Password:    Retype it.

Also, select the Save Password option.  If you see an option labeled Automatically Generate Development Certificate, select that as well.



20.    Click OK once you have entered this information. Flash Builder will register with RIM.

21.    You are now ready to create a certificate.  Back in the Preferences dialog box, click Create Certificate.




 
22.    In the Create Developer Certificate dialog box, fill in the required information.


 

Certificate Path: This is the path you want to store the new certificate in.  Once again, I chose to use the <Flash_Builder_Workspace>/BlackBerryDev/ folder, but I added a new subdirectory named Certs to store the certificate.  I like to keep all the BlackBerry assets in a single location.

Author:  For some reason, this setting seems to work best with no spaces.  Use your name or company name.

Keystore Password: Create a Keystore Password you will remember.  You will be prompted for this each time you use this certificate.

Save Password: Select this option.

Click OK.

23.    You are now ready to add devices.  Turn on your BlackBerry Playbook tablet and click its Settings icon (the gear icon in the upper right). 


 

24.    Within the settings screen, select Wi-Fi, ensure Wi-Fi Connectivity is enabled, and join the same network as your development machine.  In the example shown below, this is duanenet.

25.    Next, click About in the top left corner and then select Network from the drop down menu to find your IP address.  In the example shown below, it is 192.150.23.8.

 



26.    You will need to upload a debug token to the device.  Select Security on the left and click Development Mode.




27.    In the Development Mode screen, toggle Use Development Mode on, and then click Upload Debug Token. Note: When you turn Development Mode on, you'll need to set a device password if you have not already done so.  Remember the password you set, you'll need it again in Step 29.

 

28.    Back in Flash Builder, open Preferences and select Flash Builder > Target Platforms > BlackBerry Tablet OS > Test Devices.
  

29.    Click Add to add a test device. 

 



     
In the Add BlackBerry Tablet OS Test Device dialog box, enter the following information:

Device Name:   Type a descriptive name for your device.
Device IP:         Type the IP address you obtained above.
Password:         Type the password for the device.
Save password: Select this option.

30.    Click  Create A Debug Token And Upload It To This Device.   This will bring up a warning that says you have to put your device in debug token upload mode.

You've already done this in previous steps, so just click OK.  If the device times out of upload mode, you may have to repeat these steps.

     

31.    If all goes well, you should see your device listed as a Test Device. Click OK.


32.    You should also see your device indicate that the Debug Token has been installed.





   

33.    Congratulations!  You have finished the preparations for your BlackBerry tablet and Flash Builder.


If you have any problems with the steps, email me at dnickull at adobe dot com.

Thursday, September 08, 2011

ColdFusion Developer Week - Sept 12-16 and FREE!


ColdFusion Developer Week is a series of free, live webinars hosted by seasoned ColdFusion experts who will cover a wide range of topics from what ColdFusion is, how to code it, all the way through to more in depth topics such as ORM and ColdFusion Builder Extensions. If you are a new developer, someone with little or no ColdFusion experience, or even if you have been using ColdFusion all your life, this event is ideal for you. The ColdFusion Developer Week provides something for everyone, so sign up now! http://www.adobe.com/cfusion/event/index.cfm?event=detail&id=1489920

WOOT!

Tuesday, September 06, 2011

Adobe MAX 2011 - Developing cross-OS mobile apps with Adobe Flash Builder, Flex, AIR & ADEP

At Adobe MAX on Sunday (preconference), Garth Braithwaite and I will be delivering a very cool hands-on code camp.  This is a 480-minute session and a bring-your-own computer session so if you register for it, you will need to do some preparation.  Some of the preparations will be posted on this site but they will also be pushed to all registered attendees.

In this lab you'll get up and running building a mobile application with Adobe AIR. The lab will focus on the smartphone form factor, so bring your Android phone, BlackBerry PlayBook tablet, or iPhone. We'll do an introduction to AIR for mobile and then dive into the Flex framework to see how it makes building standalone applications easy. You'll learn how to use native device features like the camera or GPS, plus how to create and manage views, data, and layout within your application. You'll also get a hands-on look at how to debug, optimize, and deploy to devices using Flash Builder.

Part of this course will be focused in on using the Adobe Digital Enterprise Platform (ADEP) and connecting to it using Flash Builder.

Here is a rough sketch of the session:

Lab 1: Building a new Mobile Application Project
Lab 2: Pushing Data Between Views
Lab 3: Packaging and Deploying the Application
        3.1 Android Release
        3.2 iOS Release
        3.3 BlackBerry Tablet OS Release
Lab 4: Getting System Details
Lab 5: Adding a Back (Home) Button to the ActionBar
Lab 6: Zoom Gestures
Lab 7: Pan Gestures
Lab 8: Rotate Gestures
Lab 9: Accelerometer

LUNCH
BREAK

Lab 10: Install the Flash Builder ADEP Plugins
Lab 11: Starting and learning the ADEP Server
Lab 12: Installing the ADEP SDK and Samples packages
Lab 13: Extract, Set up and Run the sampledb
Lab 14: Enable Remote Data Services via the Felix Console
Lab 15: Retrieving and Installing the ADEP SDK into Flash Builder
Lab 16: Setting up a new Flash Builder ADEP Project
Lab 17: Building the Flex Client Application for ADEP
               Demonstrating the Application
Lab 18: Adding Nodes and XML Content to ADEP
Lab 19: Building a Flex Mobile Project that consumes ADEP Services
               How to build the ADEP_XML View
               Getting Details about each wine
Lab 20: Advanced ADEP mobile services
Lab 21: Building a RESTful mobile application with ADEP
Lab 22: Learn how to use cross-­platform push messaging
Lab 23: Learning how to use local notifications
Lab 24: Adding two-­factor authentication

CAVEATS:

There is no guarantee this is the final list of labs however it should be relatively close.  

Requirements:
- comfortable with XML syntax
- some coding experience would be good

There are still some seats left for this session.  You can register at:
https://max.adobe.com/schedule/by-day/
Preconference session 403-A

Wednesday, August 31, 2011

My rock life in Tech

22nd Century just released the 2nd video featuring the title track from Where's Howie!?  24,000 views in the first two weeks!  Hope you enjoy the alter-ego Duane Nickull aka Duane Chaos

Thursday, August 25, 2011

A FREE Adobe Flex/AIR Mobile Code Camp



In advance of Adobe MAX 2011 - Monday, September 26, 2011, 9:00 AM in Vancouver, BC

500 Granville StreetVancouverBC (map)

Rooms 1200-1500 on Main Floor
SELECTED BY: PATTY LEE
Adobe Sr. Technical Evangelist Duane Nickull will lead a FREE full-day hands-on development class to teach all attendees how to build mobile applications that run on iOS, BlackBerry Playbook Tablet OS and all Android 2.2 or later devices.  This course is meant to be taken hands-on, code-camp style with your own computer.  
What you will learn:
- how to set up your mobile development environment on your own computer (a preparation guide will be sent out in advance)
- how mobile applications are architected and run in cross-platform scenarios
And then nothing but coding!!
Learn how to create mobile applications to target iOS, Android, and BlackBerry PlayBook operating systems via hands-on development. Topics will include architecture of portable code (code that runs on more than one platform); setting up your mobile application project; using and sharing data between views; accessing and using smartphone and tablet features such as cameras, microphones, and accelerometers; native application integration; file system browsing and storage; graphics and layout; deploying to your devices; and more.



You will also learn how to install and use the Adobe Digital Enterprise Platform (ADEP), a services (OSGi) platform written in Java, and how to connect to it to build enterprise class applications.
When you leave this session, you will be immersed in knowledge and have the ability to create your own mobile applications for your company or new startup.

Tuesday, August 23, 2011

Adobe MAX 2011 - Rock and Roll!

In case you've been hiding under a rock for the past decade, you should know that Adobe MAX 2011 is going to be the best tech event of the year. This year, Adobe MAX 2011 will be held at the Los Angeles, CA convention Center for the third straight year. I will be on hand to present tons of new materials, concentrating on only hands-on code camps with Bring-your-own-computer sessions.

The first one I want to tell you about is the 480-minute long session  PB1300 - 
Deploying cross-vendor, cross-OS mobile applications with Adobe AIR

The description of this session is not really on track but here is what you will learn in this full day lab session.  The title should be Developing cross-OS mobile applications with Adobe Flash Builder, Flex, AIR, and ADEP.

- Setting up your development environment.  Note that we will send out a full preparation guide in advance that will explain how to set up Flash Builder with the new Adobe Digital Enterprise Platform (ADEP) and the plugins and tweaks to build applications for BlackBerry PlayBook Tablet OS, all Android devices, and iOS.

Rather than the session title of "Deploying", at Adobe MAX 2011 you will be "Building".  This means a full day of hands-on coding with two instructors (myself and Garth Braithwaite) as well as some great TAs such as Matt MacKenzie and Stacy Young who we hope to entice into teaching some of their expertise.

In this MAX 2011 lab you'll get up and running building mobile applications with Adobe Flash Builder, using both the Flex Framework and Adobe AIR. The lab will focus on the smartphone form factor, so bring your devices. We'll do an introduction to AIR for mobile and then dive into the Flex Framework to see how it makes building standalone applications easy. You'll learn how to use native device features like the camera or the accelerometer plus how to create and manage views, data, and layout within your application. You'll also get a hands-on look at how to debug, optimize, and deploy to devices using Flash Builder and connect to remote services from ADEP.

This special Adobe MAX 2011 preconference session is only run once on Sunday 9:00 to 5:00 PM!
https://max.adobe.com/schedule/by-day/

Friday, August 19, 2011

Free multi screen mobile app - Magic Screen Pro

After working on this for a few hours more I decided to release it into the wild.  It is available in the Android Marketplace as "Magic Screen Pro".  The application is basically a freehand drawing application that allows the user to select line thickness and color.   This is a sample screenshot of the app:



This app has several new features not seen on many other Flex/AIR mobile applications.  First, it features the ability to save work as *.jpg files.  For some reason this sometimes sticks on the iPad.  Secondly, it has a unique color picker custom component for mobile.  I published this component separately here.  It also accesses the camera roll so you can add background images.


There is no way I have found to flatten two layers when one supports a transparency channel though, so you can only save the drawing.



The source code for this app is hosted on my band's website at
 http://www.22ndcenturyofficial.com/ForBlogDoNotDelete/MagicScreenPro.fxp


Monday, August 15, 2011

LiveCycle ES3 is now released as ADEP, lists open for business!


I have been debating how to write this message for a while and finally decided to make a brain dump to this blog and on the Google list.

As many of you know, Adobe has decided to retire the name LiveCycle for what would have constituted the ES3 release.  The new release is called the Adobe Digital Enterprise Platform (ADEP).  The Document Services side of the product itself will be very familiar to LiveCycle developers and components such as the server, WorkSpace and WorkBench/Designer are all present and well built.  

*******UPDATE*******
Adobe LiveCycle is BACK as a brand name!  For information on how to get the Adobe LiveCycle ES3 download, click here.  I no longer speak for Adobe however it appears that Adobe has returned to using the LiveCycle name for the product again.  Uberity Technology Corporation has also added a new section for LiveCycle Professional Services and LiveCycle Consulting.  I am glad the LiveCycle ES name is back
*********END*********

The great news is that it is available for download now!!! 

This leaves a quandary for the user group lists and I am going to make a suggestion.  There are two relevant lists for LiveCycle ES developers that will be affected as well as a new list for ADEP developers.

The first is the official Adobe LiveCycle Developer list.  This has well over 10,000 posts and is a great group.  For the last 5 years, a second list, the LiveCycle Developers List on Google's platform has been a community owned list and helped introduce thousands of new developers to LiveCycle.  We set this up originally as a community list based on a suggestion during a "Meet the Team" event at Adobe MAX in 2006 when it was disclosed that the then current LC lists were not working well for everyone.  There are hundreds of code samples and file downloads, all of which will available until August 31, 2011 (Google's limitation, not ours).  Please understand that this group is not an Adobe group, it is owned and run by the community. It is not any single person's decision to kill the group or move it.   I have moderated it and tried to keep spam from reaching members but it is not my list.  To re-iterate however, the official Adobe LiveCycle ES list at http://www.adobe.com/support/livecycle/ is also a wealth of knowledge.

Adobe has placed a huge emphasis on the developer knowledge exchange experience and has already set up a new list for ADEP users.  The ADEP Developer program is now open for business at http://www.adobe.com/devnet/enterprise-platform.html.  It also has a brand new list (URL below).

While it is not my decision, here is what I will recommend.  

All developers moving on to ADEP (a.k.a. LiveCycle ES3 and beyond) should sign up for the new developer center.  You can sign up at http://forums.adobe.com/community/adep (I made my first post today!). We want to avoid duplication and make sure there is a single consistent place to ask technical questions and be informed of new events etc.   PLEASE:  do not use the existing LiveCycle lists to discuss ADEP topics as this will lead to fragmentation of knowledge and duplication of effort.

While not my decision, I believe we should leave the existing LiveCycle Developers list on google until it becomes unnecessary based on low traffic or low membership.  It is important to recognize that not all customers will move on right away and I am not going to suggest we close the list as it still provides an important function.  While this list does somewhat duplicate the official Adobe LiveCycle lists, I know many of you have found it to be a great resource and nothing will change.  I will personally remain on that list as well.  It might be prudent to move over to the official Adobe list to consolidate the knowledge base into one area.

The last item I want to encourage you all to do is to consider downloading ADEP from the http://www.adobe.com/devnet/enterprise-platform.html site and attend Adobe MAX this year to learn all about the new features in various hands-on sessions.  We have put a lot of work into this release and it also communicates with the software formerly from Day Software.  There are architectural documents at the new ADEP developers center to explain how this all works.  I have a new course on ADEP that will teach you how to get started, which will be shared on the new ADEP list.

The Adobe official LiveCycle ES lists are going to operate as normal to service existing LiveCycle ES developers.

Thank you for all being part of this great ride and I hope you will jump on board with ADEP and continue to learn more!  Sometimes it is hard to let something you have grown and nurtured wither over time.  I urge you to look at the bigger picture and the fact we are all part of the coolest tech community on the planet.  Long live the "LiveCycle/ADEP" developers!!   

Duane Nickull

Tuesday, August 02, 2011

Video - discussing the importance of geo and mobile

This is an interview I did last year about the importance of geo-tagged data and mobile devices. It is interesting to look at these later to see how the predictions stack up against reality. In this case, it was particularly accurate. Enjoy!



More great blogging about Adobe from Bangalore

After spending a week in Bangalore India, we capped off the Adobe Flash Platform Summit with a great Bloggers Social night at the Biere Club.  Maybe is was the lure of a micro-brew or dangling evangelists out to be asked any question (seriously - nothing was forbidden to ask), but this event was my favorite.  I had the immense pleasure of meeting Balachander Balu, one of India's more influential and prolific bloggers.

I just caught wind of another well written article from Balu at Tech Bit N Byte.  Here is a small snippet.  Read the rest at http://www.techbitnbyte.com/adobe-flash-platform-summit-2011/

"Two Adobe evangelists Duane Nickull and Renaun Erickson, Took over from there, They had demonstrated the capabilities of 3D, The cool thing was they had designed it through FLASH, The Best part is they had designed it within 40minutes, Isn’t it amazing, would you believe designing a software within an hour, I know you can’t but it’s the fact. Adobe ROCKS everywhere. I know there are lot of 3D tools available in the market, Myself I use one private 3D tool to design anything which I want it in 3D, but designing in Flash is something really Cool, They had shown Split screen CANOE moving across multiple devices, Even that was also Astonishing. Really I had no words to explain it; it was really privileged for me to be in the Adobe’s party."



Monday, August 01, 2011

Compiling Flash Builder Projects for iOS

Despite our massive messaging effort, many people are not aware that they can use our tools to develop applications for iOS devices.  Flash Builder 4.5.1 works so well for this that even I have built a few.

Holly Schinsky has written up an awesome explanation of how to do this.  Rather than repeat it again, take a look at her excellent work.  Apple thing that includes provisioning / cert info -- http://devgirl.org/2011/06/20/flexair-for-ios-development-process-explained/

Yes - you can now compile your Flash Builder applications to iOS!!

Sunday, July 31, 2011

Fantastic new book out by Paul Trani et al

My friend Paul Trani has recently cowritten a new book called Pro Android Flash. In fact, not only do I know the authors (Stephen Chin, Dean Iverson, Oswald Campesato, and Paul Trani) but I helped Oswald with several technical bits while he was writing his contributions to this book.

Pro Android Flash is likely to be a definitive guide to building Flash and other rich Internet apps (RIAs) on the Android platform. It covers the Flex and Flash frameworks for Android developers and shows you how to target both Android smartphones and tablets. You'll learn how to incorporate multimedia, animation, and special effects into your apps for maximum visual appeal. You'll also learn advanced topics, including input methods, hardware inputs, deployment, and performance optimization.




If you are looking to get up to speed on the latest and greatest ways to use Adobe Flash in a pro environment, this book is a must have.

On a related note, I plan to release a 45 page Flex Mobile Code Camp this fall that teaches developers how to build Flex and AIR mobile applications for multiple targets including iOS, BlackBerry Tablet OS and Android.