Although I haven’t posted in a couple of months, it’s not because I haven’t been busy. I’ve actually been overwhelmed by work, thankfully. It has a negative effect on personal work but it does pay the bills. One project last month was unfortunately for a proof of concept and I am not allowed to blog about it. That’s a shame, as I was quite proud of the final product.
On the other hand, I simultaneously worked on something I’d never done before; an AIR app running on a touchscreen. An AIR app that would be controlled by an HTML5 app running on an iPad! That’s right. Somewhere, Steve Jobs had a pleasure shiver run up his back. This was to be a slide presentation sales aid. The salesperson would be able to flick the slide from their iPad to the big screen, all nonchalantly, and continue their pitch on the touchscreen. Seeing this work for the first time was super cool.
This was an incredible learning experience. It was no surprise to my client that I had never written an AIR app before. Partly because I didn’t tell them I’d never written an AIR app before. Koff. Sorry, guys.
I’d love to get into the nitty gritty of this project, but I’m sort of under the gun time-wise on another project. I want to speak to a couple of things:
1. We used a socket server to do the cross-app communication. Until I was able to get into the actual environment, I used a XML socket server in the form of Oscar and controlled it from my iPhone using TouchOSC. This was thanks to Dr. Woohoo who had used something similar for a project. These two things gave me a leg up in building my app. I am very thankful to have so many knowledgable friends.
2. There are minor, but distinct, differences between XML socket servers and socket servers. Christian Cantrell has some really informative posts on how to implement a socket server. I highly recommend checking them out.
3. Be completely aware of what your client wants and try to write your app so it does more than it should, not less. It’s easy to scale back on functionality by simply not using it. It’s far more difficult to add functionality to a nearly-finished app.
4. Version your app when you create it. It makes it easier when you overwrite it on install.
5. Educate your client on aspect ratios. The iPad version is 4×3, while the touchscreen version is 16×9. That means two differently-similar designs.
Onsite, at the conference, the tech took a short video. I would have liked something a little more expansive and better framed, but beggars can’t be choosers.
I’m currently working on another AIR app. Well, technically, two AIR apps using iPod touches and the Oscar socket server. Very exciting! If there are questions, please feel free to ask them, I’m not unavailable.