Category Archives: Interfaces — HTML5/JS/Ajax/iOS/Android/Flex/AIR/PDF

User Interfaces

Hello BlackBerry PlayBook World!

First Steps with BlackBerry PlayBook AIR SDK

Last week at Adobe MAX 2010, the BlackBerry Playbook was introduced to the world of developers. Positioned as a powerful multi-tasking environment it promises to pose formidable competition in the tablet landscape. The PlayBook OS is built on QNX, the real-time time-tested OS and offers an Adobe AIR based SDK for developers to write their apps.

As soon as I was back from MAX, I was itching to write my first “Hello World” app using the BlackBerry PlayBook SDK. So here in this post is an account of that adventure.

To get started with the PlayBook SDK, first go to the BlackBerry Tablet OS development resources and download the SDK and the simulator for your platform. You will need to get the appropriate versions of the SDK and the simulator for your platform. At the moment, Mac and Windows are supported. I tried my hand with both Mac and Windows. There are “Getting started” guides for Mac and Windows and that’s where my journey began.

To setup the development environment you need the following:

  • The BlackBerry Tablet OS Simulator ISO
  • VMWare Player (or VMWare Fusion on the Mac) to configure and run a virtual environment on the basis of the ISO
  • AIR 2.5 SDK
  • Flash Builder 4.x (the support officially extends to Flash Builder 4.0.1 but you can make it work with FB Burrito)
  • BlackBerry AIR SDK

The PlayBook simulator leverages VMWare Player to create a virtual environment for you to test your apps. When I began to follow the steps in the “Getting started” started guide for Mac and wanted to download and install the VMWare Player on a Mac as per the following guidelines: Configure a virtual machine for the BlackBerry Tablet Simulator, I realized a VMWare Player didn’t exist for a Mac at all. So I downloaded a trail version of VMWare Fusion instead to get things working. Once VMWare Fusion is installed one can follow along the instructions in the “Getting started” guide to setup and configure the simulator. Since that is documented and available online it makes no sense to reproduce it here.

Next, I downloaded the BlackBerry AIR SDK. Flash Builder 4.0.1, AIR 2.5 SDK and Flash Builder Burrito were already installed so I did not need to re-install it. If you don’t have Flash Builder and AIR on your machine then please download and install them before you move forward. Installing the BlackBerry SDK was elementary as a wizard guided through the process. However, one little thing was very odd. The BlackBerry SDK refused to deploy to any Flash Builder other than one named: “Adobe Flash Builder 4″. I have Flash Builder 4 installed as a plug-in and have the standalone FB Burrito that does not have a folder name as stated. So I had to hack around the problem by creating a symbolic link named “Adobe Flash Builder 4″ to my FB Burrito folder on the Mac. On Windows I just configured the SDK, which I will talk about in a bit.

With that done things were working on the Mac.

On the Windows box, I had a different story. Installing the VMWare Player was no problem. It comes for free and installing it requires clicking the installer. That’s it! However, things got tricky right after that. I downloaded the simulator installer but on clicking the installer was greeted with this lack of 64-bit platform support message:

BlackBerry TabletOS Simulator Installer Error on Windows 7

BlackBerry TabletOS Simulator Installer Error on Windows 7

This I think was quite uninviting. Anyway, I worked around this problem. All I needed from this bundle was the TableOS Simulator ISO, so I extracted the installer using 7-zip and traversed down the extracted folder to BlackBerryPlayBookSimulator-Installer-Win\InstallerData\Disk1\InstData, where I again extracted the zipped up file called “Resource1″. Once extracted, I could get the ISO at Resource1\$IA_PROJECT_DIR$\installerdata. From there on I could use the instructions in the “Getting started” guide for Windows to setup the simulator.

As expected, the BlackBerry SDK installer didn’t work on Win 7 either. It again threw up the now familiar message stating lack of Win64 support. Makes me wonder why companies don’t have installers support the 64-bit platform. This is a developer’s tool and not an end user product. Many developers are already using the 64-bit platform and all should and will use it in a couple of years time.

I used the same trick as before and extracted the SDK installer using 7-zip. This time I traversed down the extracted installer to BlackBerryTabletSDK-Air-Installer-0.9.0-Win\InstallerData\Disk1\InstData. There I extracted the “Resource1″ zip file and traversed further down to Resource1\$IA_PROJECT_DIR$\installerdata. In this folder there are two JAR (Java Archive) files that hold the contents of the SDK. The names of these 2 jar files are as follows:

  • blackberry-tablet-sdk-0.9.0_zg_ia_sf.jar
  • qnxsdk_zg_ia_sf.jar

Next, I extracted these two jar files using 7-zip again. After this I created a folder in the “applications” folder, which resides at the root of the C: drive and named it “blackberry-tablet-sdk-0.9.0″, essentially all except the “zg_ia_sf.jar” part of the BlackBerry Tablet jar file name. You can choose any other name, say just blackberry-tablet-sdk or any other. Next, I merged the contents of the two extracted jar files and the Adobe AIR 2.5 SDK (which I assume you would have downloaded and setup by now). That was it! It got my BlackBerry Tablet SDK up and running.

Once the SDK and simulator is setup, you can open up Flash Builder and first configure the BlackBerry Tablet AIR SDK by adding it to the list of “Installed Flex SDKs” as shown in the Figure below:

Installed Flex SDKs

Installed Flex SDKs

Once the setup was complete, I could finally get to writing the “Hello World” app. I wanted the “Hello World” app to be a bit more exciting than printing “Hello World” out to the screen so used the Google Maps Flash API to draw out a map of the area where the Adobe MAX venue, i.e. the LA Convention Center, was.

To create this app, I created a Flex project in Flash Builder and selected it to be an Adobe AIR application. Then I explicitly chose the BlackBerry Tablet AIR SDK as the SDK and finally I chose an ActionScript file as the main file. (As far as I understood, the SDK doesn’t support MXML directly as of now.)

Once the application was written, I compiled the application as usual and then packaged and installed the application to the simulator. I used the command line to package and install the app. You can read about the command line options online. You will need to retrieve the simulator IP to get this to work. Don’t forget to read about retrieving the IP of the simulator.

The command line packager and installer has a format like so:

blackberry-airpackager -package output_bar_file_name -installApp -launchApp project_name-app.xml project_name.swf any_other_project_files -device IP_address

I will not talk about the app itself at the moment but may cover that in a subsequent post, especially once I integrate with a few BlackBerry TabletOS specific features and gestures.

For now I just include a snapshot of the initial “Hello World” version.

Hello BlackBerry PlayBook World!

Hello BlackBerry PlayBook World!

Come to Flash and the City 2010 in New York, NY

As I have said earlier, I am on a speaking engagement diet for a few months now and am sticking to a fewer number of conferences than I have in the last few years. The place I appear next is in a conference at my home base — New York City. Thanks to Elad Elrom, we have a great Flash conference, appropriately called — “Flash and the City“, right here in our city. Its a conference that has not only attracted a stunning lineup of speakers (including yours truly, just kidding :)) and includes some of the most relevant topics that would interest any and every Flash developer and architect but is also a conference that promises a lot of fun in the very amazing city. There are city tours, bar hopping events and dinner on the hudson. Doesn’t that sound attractive?

The event is scheduled to take place between May 13 and May 16 at the 3LD Technology Center in downtown Manhattan. You can look-up the schedule to get more details on who speaks on what and when.

My session titled  — “Flash amid the cool and the futuristic web” covers a number of different emerging aspects of the Flash platform that are shaping and will be relevant for the web of the future. So, if you care about the future of the web, do stop by.

See you at Flash and the City!

Speaking at 360 Flex San Jose — March 7-10, 2010

With the beginning of 2010 I have put breaks on my frequent speaking engagements. What I have decided, is to speak at select few events and venues, else for the most part keep to online communication. I will tell everyone about my plans for online sessions in a following post but for now let me talk more about the next event where I appear.

Going by the last few years, by the first week of March I would have spoken at atleast 4 to 5 events. However, this year is different and consciously so! My first event is 360 Flex at San Jose (March 7-10, 2010).  You may ask why 360 Flex and you may want to know what I am talking about at that conference. Let me first attempt to answer the “why” part of the question and then I will talk a bit about what I am presenting on at the conference.

360 Flex is one of the few conferences that is run by and for the developers. Its one big meetup for all those who are part of the Flex community. Its not a stage where companies pretend to demo the future. Its all about great content, friendly experience and immense value for your money. Its a place where even the expert takes a few tips back with him at the end of the conference. So it was not prudent for me to skip this event. Tom and John have been gracious to have me as a speaker for past many 360 events and I have enjoyed each one of them. So when I had to choose a select few, 360 Flex comfortably made the list for all the good reasons I enumerated earlier in this paragraph.

So now that I am going to 360 Flex, what am I going to talk about there. Answer: some regular Flex stuff hidden under a fancy topic! No, just kiding ;) I speak about the new Multi-touch support in Flash Player 10.1 and AIR 2.0. I intend to talk about what this new support means and what it doesn’t and try and corroborate my statements with a few nice examples. It should be a good talk to attend even if you do not intend to build any touch screen applications in the near future. I will try and include a few essentials topics on touch screens and multi-touch as well to bring up to speed all those who haven’t had an exposure to this realm of application development.

If you are coming to 360 Flex, I would love to catch-up. If you haven’t registered yet, then without further adieu just follow this link to register for 360 Flex now.

Please lookup more about 360 Flex at — http://www.360flex.com/. For schedule go to — http://www.360flex.com/schedule/.

Before, I close, if at any time you were anxious why this speaking moritorium then here are my reasons –

  • Every time someone travels from coast to coast in the US, the person emits as much carbon dioxide as a full year of driving a car does. I would like to do my bit and contribute less to the global warming.
  • With the rise in the number of conferences and speakers, many events are becoming re-runs of the same old stuff, which you can easily Google for from the comfort of your home.
  • Its about time I started leveraging online media (especially video). I could reach a far greater number of people and help many more.
  • I am super busy with newer products in the making and customer work. Every time I am out I essentially slip down on my plans. I don’t want to continue to do that.
  • I am very keen on open spaces style events and advanced events as opposed to the 101 sessions. Honestly, 101 sessions are best delivered via online videos. So I think :)

Next Stop: NFJS Rocky Mountain Software Symposium

I speak on Flex and Java Integration, Flex and Hibernate and Collaborative real-time RIA this Sunday (November 22, 2009) at the No Fluff Just Stuff (NFJS) Rocky Mountain Software Symposium in Denver, CO. If you are in Denver and coming to the show, I hope to see you there.

Build4Flash @ StackExchange

My friends at Farata (Yakov, Victor and Anatole), who are a very accomplished set of authors, developers, mentors, architects and community leaders in the RIA and Java communities, have set up a venue for you to ask all your questions that pertain to the Flash platform. So go to http://built4flash.stackexchange.com/ and ask away everything about Flex, Flash, AIR, Flex and LAMP, Flex and Java, the Flash development community, open source projects in the space and more. Going by their past and current track record, I am sure you will not be disappointed with their great replies and excellent management. Do bear in mind though that the venue is very new. Help grow the community and help yourself by getting your questions answered!

http://built4flash.stackexchange.com/ is a site build on the engine created by Jeff Atwood and Joel Spolsky of the StackOverflow fame.

Flex (Flash) Camp Wall Street Starts Tomorrow

Flex (Flash) Camp Wall Street starts tomorrow (November 16, 2009) in New York City. If you are coming to the event, do stop by to tell us about your exciting adventures in the world of RIA. Enjoy 14 exciting sessions over two days. Meet with the experts in the field. Mingle with the community and don’t forget to hang out in the after session sessions :) If you haven’t registered yet, don’t wait any longer as very few seats remain. Register online now at http://www.flexcampwallstreet.com.

speaker_badge_flash_camp_wall_street

(This cool speaker badge was created by Adam Flater as a draft initial artifact!)

Featured on DZone “Meet the Author” Video Series

Watch me speak on BlazeDS, Flex and Java integration. (Original Post on DZone: Meet the Author – Shashank Tiwari on BlazeDS, Flex & Java Integration).

Speaking at NFJS Northern Virginia Software Symposium November 6-8, 2009

This weekend, I will be speaking at the No Fluff Just Stuff Northern Virginia Software Symposium in Reston, VA. The symposium, as always, has some truly brilliant speakers from the world of Java, dynamic languages and agile software development. I have 3 sessions; all on Sunday. All my topics relate to Flex and Java integration. On Sunday morning at 9.00am I  start off with a general and broad based topic: “Flex and Java Integration“. Later that afternoon, I explore the world of “Flex and Hibernate” and the promising domain of “Collaborative real-time RIA“. The session on “Collaborative real-time RIA” extends beyond Flex and Java integration and includes the larger context of collaborative applications and real-time systems.

Speaking on the NFJS 2009 Tour

Speaking on the NFJS 2009 Tour

If you are already at the symposium, please stop by at the sessions. If you are interested in these topics and are in the area, consider attending them. If you are nowhere close by and are interested in the topics, then do let me know, and I could perhaps plan a session in that geography, if there are enough interested.

Also, not to forget, a lot of what I speak about in these sessions, is covered in my book Professional BlazeDS (Wiley/Wrox, 2009).

Flex (Flash) Camp Wall Street 2009 on November 16-17 in NYC

The second edition of the hugely successful Flex (Flash) Camp Wall Street is less than 2 weeks away. This time the event is bigger (over 2 days — November 16-17, 2009), better (more speakers and more topics) and cheaper ($49 only!). Alike last year, its at the conveniently located New York Seminar and Conference Center — 71 West 23rd Street, New York, NY 10010.

There are a bunch of very talented  Flex, AIR, Flash, LCDS and BlazeDS experts (experienced developers, celebrated authors, speakers and ideators) speaking at the event. As it stands, the speaker list includes James Ward, Yakov Fain, Jeff Tapper, Jeffry Houser, Wade Arnold, Christian Saylor, Brian O’Connor, Daniel Holth, Elad Elrom and Adam Flater, besides yours truly :)

You can lookup the details about the event and register online at http://www.flexcampwallstreet.com

Information on the schedule and sessions is available at http://www.flexcampwallstreet.com/sessions.html. You can read more about the speakers at http://flexcampwallstreet.com/speakers.html.

An idea of a party at the end of day 2 is actively brewing as well!

If you are interested, please go and register right away. The tickets are selling out fast and going by last year’s experience its highly likely that they will all be sold out soon!

BlazeDS DZone RefCard Available for Free Download

Getting Started with BlazeDS, a DZone RefCard on Adobe BlazeDS that I authored is available online. Go ahead and download it now.

The great thing about the DZone RefCards is that they are terse and useful presentations of technical topics and are available completely free of charge. The RefCard on BlazeDS is a quick 6 page practical introduction to some of the key aspects of using BlazeDS. For more details, consider reading my book on Adobe BlazeDS — Professional BlazeDS (Wiley/Wrox, 2009).

Please let me know if you find the RefCard useful. Also, please point out to me any errors that may have slipped through the cracks.