Things on a real device will tell you…

While at the recent 360|Flex conference, some users of the my conference app on the Samsung Galaxy Nexus S were having display issues. There was something causing the width variable to be set incorrectly, and thus all the alignment code to be wrong.

This was puzzling, I had checked the application on my Xoom, and the alignment code worked fine.  So, during lunch I borrowed a device and took a look at what was going on. The application is written pure ActionScript (no Flex Mobile), and the stage is set to a standard 480 by 800 pixels.

During the init process I set theAppWidth = this.stage.stageWidth and theAppHeight = this.stage.stageHeight. This had returned the device width and height on the devices I had tested on. But on the Nexus S the code was returning 480 by 800, and not 720 by 1184. Hum….

So, I changed the code to reference this.stage.fullScreenWidth and this.stage.fullScreenHeight. This did return the correct values, and thus alignment code was working again.

The moral of this story is that you have to spend time (and money) to have a collection of real devices to test on.

Thanks again to Doug Arthur for letting borrow his device to resolve this.


360|Flex – Choosing the Right Mobile Development Platform

Choosing the Right Mobile Platform

I had the pleasure of presenting “Choosing the Right Mobile Development Platform ” at this year’s 360|Flex conference. A full recap of the conference is in the works, but I wanted to get my slides up for those who wanted them. Here is what I spoke on,

As more and more projects are requiring mobile applications, developers are faced with a wide range of options. AIR for mobile? PhoneGap? Titanium’s Appcelerator? Sencha? Native? Which development environment makes sense? This session will explore the advantages and limitations of each of these environments from someone who has been in the mobile application development world for over 4 years. Get a clear picture of what these technologies can offer for your mobile development needs.

360 Flex is coming!!

360 Flex Conference360|Flex 2012 is just around the corner! I, like many of my friends are wrapping up our presentations. I am honored to be presenting again at one of the best tech conferences I have attended. It is no surprise that I am talking about mobile, it is was a do for a living. But the mobile space is a rapidly evolving one, with lots of technical choices that have to be made before you create the next “killer” app. I am going to share my thoughts  on several of the major mobile development technologies during my talk on Monday.

For the talk I have building the same app with 5 different solutions (jQuery Mobile, PhoneGap, Appcelerator, Flex Mobile, and Sencha Touch). It has been crazy process (and I am not done with them yet). But, it has given me a lot of insight into the strength and weakness of each solution. One nice thing, 4 of the solutions will have representatives at the 360Flex, so if I get something wrong I am sure they will tell me. But, you want to know more about a specific solution, this would be the time to do so.

Hope to see there!

Speaking at 360|Flex 2012!

360 Flex ConferenceI am deeply honored to again be speaking at 360 Flex! This year I am presenting “Choosing the Right Mobile Development Platform”. This session is going to take a look at several of the major mobile application platforms and try to give you an understanding of the strengths and weaknesses of each. The current platforms that I will explore are: the mobile web (aka HTML5), jQuery Mobile, PhoneGap, Titanium Appcelerator, Flash or Flex (can’t decide here, please leave me a comment as to your preference), and Sencha Touch. I know I am leaving off some options, namely Corona, but I feel these are the principle players in the application space. If I were talking about game development, then Corona and Unity would be included.

For those who have heard some of my mobile presentations, I am creating a brand new application just for this talk, so no demo’s of my conference applications ;).

I am really looking forward to this conference and giving this talk. Hope to see you there!

Designing Great Mobile Apps

I had the extreme pleasure of speaking at the recent 360|Flex Denver conference. The conference was incredibly well done, John, Nicole, and their assistants did a fantastic job!

Besides working on the mobile apps for the show ( we are still trying to figure out the session survey upload issues), I presented on “Designing Great Mobile Apps” on Tuesday afternoon. I had a lot of fun giving the presentation, even with two Adobe evangelists and one Adobe product manager in attendance (and the great Dee Sadler as well)…

I hope these slides are useful, the session was recorded by the folks at ZaaLabs, so I will let you know when it is ready. Please feel free to ping with questions or comments.

Now go build something!


If you are interested in some resources on mobile design I would also suggest they following books:

360|Flex Session Change

Some of you might have noticed that my session topic at the upcoming 360|Flex conference has changed. I initially had to planned to talk about the new features and capabilities in Flash Catalyst, like I had done in my recent Ask A CS Pro session.  But the team at Adobe has decided to bring Jacob Surber, Product Manager for Flash Catalyst, and Peter Flynn, an engineer on Flash Catalyst out to Denver to introduce the latest features and capabilities. Trust me, you will want to attend their lunch session on Tuesday. 😉

After several conversation with John and Jacob, we decided that having two “Intro” level talks on Flash Catalyst did not make sense. So, back to the drawing board. As you might know I am also a mobile app developer, so instead I am going to presenting on Designing Great Mobile Applications. This talk is going to cover a lot of mobile UX principles, common design patterns and general observations form the trenches.

I hope to see you there!


360|Flex East, yeah there are apps for that!

I know John Wilker has mentioned this on the 360|Flex blog and twitter streams, but I want to let others know that my latest conference apps were available. Yes, you read that right plural. The iPhone version can be downloaded for free from the App Store. It has all the usual features one would want in a conference app, sessions, speakers, the ability to mark your sessions for easy viewing, and where the local beer pubs are!

But with the Adobe’s announcement of AIR for Android, I decided to also create a version based on the runtime. In the past, I had made a jQTouch website for the non-iPhone users. Now I can create a more native applications (and in a technology I love!). Not all the features made it into the Android version, but enough. There might be an update shortly, and since I don’t have to wait 7-14 days for someone to approve the update, I can push it out to you once I am ready!

Schedule screen for the AIR for Android version

This application was built with Flash Professional CS5. I thought about using the Flex framework, but currently the components are not very touch-friendly. This will change with the upcoming release of “Hero”, but until then I will use Flash.

The data is stored in a SQLLite database, in fact the same database the powers the iPhone version.

One of the major changes between this version, and its precursor app for FITC San Francisco, is the ability to submit session surveys.

This took a little bit of work to develop the user interface for this. One thing that is not available to AIR for Android is direct access to native style components. For this I turned to Kevin Hoyt’s components. I have extended them to include a radio button, as well as a few other tweaks. Once I have cleaned them up, I will release my modifications.

I hope attendees at 360|Flex East who have either an AIR for Android capable device or an iOS device find these apps useful.

You can download the app directly here.

For those of you attending Adobe’s MAX conference in Los Angeles, I will be speaking on developing AIR for Android at the FITC unconference.

360Flex, there’s an app for that!

With 360|Flex San Jose right around the corner, I am happy to announce that the OFFICIAL conference iPhone app that I wrote is now available!!

After the Adobe MAX show, I began talking with John about doing something for 360|Flex. I attended the first one, and have always admired their energy and passion they put into their conferences, so I knew I needed to try to create something that reflected what 360|Flex is all about.

The app has the standard information: session times and details, speaker bios, and sponsor information.

But the app also allows users to fill out those all important session surveys right from your iPhone.

In my original design documents for the MAX app, I had some Twitter integration mapped out, so I made sure we had some Twitter functionality in it as well.

Like most projects, there was a list of cool ideas that did not make into this version, but there is always the next 360|Flex conference! I’m looking forward to seeing everyone at the conference, and come tell me what you think of the app.