Losing my religion

So I ordered an iPad because I want to build things for it. My first project was going to be a port of the Rubricator concept — the larger screen and interest of the education community made this seem like a good fit for an iPad application.

Unfortunately, I made a crazy choice in February and started down the path of the Flash CS5 Packager for iPhone rather than commit to the straight-up Apple toolchain I’d been dabbling with for the last year and a half. Why Flash? I was hoping I’d be able to use at least some of my Flex expertise – full-blown Flex components weren’t supported, but ActionScript techniques translate readily back to plain old Flash. This would also give me a chance to experiment with a lightweight AS-only component set (minimalcomps) and an interesting Dependency Injection framework I’d been hearing a lot about (Robotlegs).

Not only was this process awkward, my first crack at the app itself was painfully slow. It was obvious that the techniques I’d developed for Web and desktop application development were not going to be enough to make a reasonable iPhone app, even with a good UI concept. I was beginning to see the dark at the end of the tunnel for this pet project of mine.

But then disaster – Apple pulled the rug out from under the entire Packager for iPhone concept, taking their ball and going home. Boy howdy, I loved middle school. It took a few weeks, but yesterday Adobe finally cried uncle and the proprietary software apologist in me died a little. The two companies that saw me through Microsoft’s bungled hegemony over the Web are now taking shots at each other. Can’t mommy and daddy just get along?

So where do I go now? Do I succumb to Apple’s strong arm tactics and commit to the platform in the way they so desperately want? Do I ditch Apple and run careening for Google and Android?  Or do I run to something like PhoneGap, which promises a more open way to develop apps with JavaScript and Web standards.

Anybody wanna buy an iPad, slightly smudged?

Hey iPad – Twitter called and it wants its haters back

I’ve spent the last few days playing with my new iPad. I don’t really think of myself as an Apple fanboy, but evidence might be starting to mount. I originally wanted an iPad for application testing – I’m working on a few projects that would benefit from ultra-mobility and reasonable screen size.

To me this is a whole new category of device, and I wanted to get a real feel for what this thing was all about. I already have or use the devices around the niche the iPad appears to be destined for – the MacBook, the iPhone, netbook – but I really did see this as Something Completely Different. I desperately wanted to like the Windows Tablet; I’d been an early Palm user (III/V/m105) and I tried two early generations (a Compaq TC1000 and a Toshiba M205). I  carried them from meeting to class to meeting, but it never clicked. I saw the potential, but the experience was truly lacking for me.

Yes, I am still ticked off that there’s no Flash – I enjoy building apps in Flex and AIR. I’m even more disappointed that Apple appears to have removed the blue brick icon when a missing plugin is needed for page content. I have yet to see one in Safari when browsing Web sites. This was serving as an ensign for the Flash community.  If Apple has indeed removed this emblem, perhaps Flash developers should put that icon in the alternate content area of the embed/object tag. [Update 4/13/10: Someone has done precisely that]

But the real amazing thing to me has been all the vitriol about the iPad – it’s like the usual unsocialized nonsense of Slashdot has exploded all over the Web. It frankly reminds me of the early days of Twitter – “Why would anyone want to know what I had for breakfast?” was the usual slant. And that showed that they didn’t *get it*

I also feel the same sort of guarded optimism as I did with Twitter – something’s different here. Now that folks with an inclination to develop have the actual devices, There Will Be Code. And from that code will come new kinds of applications and uses that we have only begun to consider.

Flex Builder Redux: How does this MXML tag work again?

FlexBuilderPackages

I posted last year about how to get help on an MXML tag in Flex Builder, but I have another tip that I’ve been using quite a lot lately.

The source to the Flex framework is actually included with the Flex SDK built into Flex Builder. If you want to view the actual source code to an MXML tag (like RemoteObject) or even an ActionScript class or method, you can hold down Command (on the Mac) or Control (Windows) and hover over the name of the object in Source view. The class should be underlined, and is now a link to the source code of that class.

But it doesn’t stop with the Flex framework: this even works with your own classes. Why is this important? If you have your project source files structured into nice named packages (like com.mycompany.myproject.*), you can get some pretty deep folder structures (see screen shot at right). Eclipse will generally collapse these folders for you if you’re using the Java developer tools, but no such luck with Flex Builder.

By using the Command/Control-Click trick, you can pop anywhere within your source code base fairly quickly. This is really handy when you’re chasing down a bug.

Building an RIA through Collaborative Design and Prototyping : Preamble

We’re in the midst of building an interesting Rich Internet Application for educational assessment using Flex. We’ve had a lot of success with our process thus far, so I thought it would be helpful to document it as a means of discussing it and maybe improving it for our next project.

One of the great aspects of this particular project is that we’ve done the design collaboratively with an interdisciplinary team, including technologists, instructional designers, and even a faculty member or two.

Here’s a pic of our screen designs and the application state diagram:

Rubricator Application States

I’ll break this down into detail in upcoming posts.

Next up: Iterative design.

FlexBuilder 3 for academia

Since FlexBuilder 3 was released last week, I decided to hunt around for the ‘free to academics’ offer and see if it applies to FlexBuilder 3. Here’s where it lives now:

http://www.flexregistration.com/

Interesting things to note:

  1. It apparently does apply to staff too (woo!)
  2. You can request more than one license if you’re using it for a class or a lab. That will be a real time-saver.
  3. You have to scan your ID and submit it with the form. Uhh… scan? paper? I don’t have a scanner hooked up anywhere, so I took a photo of my ID with the iSight on MacBook Pro and tried that, thumb included free of charge.

The action page tells you to allow a few weeks for processing the request, but mine was approved the next day…. that’s service!

Apollo, we have liftoff!

At last! Adobe Apollo, the new cross-platform runtime for building rich internet applications is now available on Adobe Labs:

http://labs.adobe.com/technologies/apollo/

I’ve been reading and hearing about Apollo for what seems like a year… I’ll have to take some of my off-week between classes to give this a test drive by converting some of my Flex 2 applications to Apollo applications.