iPad: Plenty of Shine... but No Flash

| No Comments
[Updated a few hours later to add a couple details I left out in the first draft.]

I just followed the live step-by-step blogging of the iPad release over at Engadget. The device looks pretty much like what I expected and its functionality is pretty much what I expected. It's basically... a giant iPod Touch. (I had expected a camera, though.)

I must admit, however, that its "low" starting price was a pleasant surprise: between $499 and $829. I had predicted something around $800 and hadn't figured on so many different models (6 in all).

iPadHandHeld.jpg

According to the hands-on comments from EnGadget and Gizmodo, the iPad has plenty of power (1GHz "A4" CPU) for browsing the web, etc., but no multi-tasking (grrr) and... if you look closely at screen shots of Steve Jobs' demo, you'll notice... The Blue Lego Cube of Disappointment. 

noFlashOnIPad.jpg
All iPhone/iPod Touch owners will recognize it instantly. What it means is that despite its size, power and (much-hyped) promise, the iPad's Mobile Safari has no Flash plug-in

In his presentation, Steve Jobs called the device "magical". Well why don't you just whip us up some magic there Steve and get Flash to work on your freaking device? I'll bet you a Silicon Valley latté that Adobe will do it for free

Anyways, enough from me. With your hopes mercilessly dashed once more, all you Flash Platform developers can now return to your regularly scheduled hand-wringing.

Obscurity is not Security: Insurgents Hack U.S. Drones

| No Comments
[Update:The security vulnerability has been fixed]

A word of caution to my fellow developers: if you think your software is secure because it's obscure enough that nobody would bother to hack it, then you might be in for an unhappy surprise.

Case In Point
a118_predator_firing_hellfire_2050081722-16359.jpg
Predator drone firing a Hellfire missile
(source: US Air Force)

According to the Wall Street Journal and a follow-up report from l'Agence France Presse, Department of Defense officials have admitted that video feeds from Predator surveillance drones were routinely intercepted by "Iranian-backed insurgents" in Iraq and Al-Qaeda members in Afghanistan.

Perhaps it would all make for a better story if I could tell you that it required a vast conspiracy of ex-KGB agents using supercomputers hidden in bunkers under the Urals to crack the video's NSA-level COSMIC Top Secret encryption, but unfortunately, real life is slightly less dramatic (and much more deadly). The UAVs streamed the video in an unencrypted form, making it possible for a rag-tag assemblage of insurgents often with no access to the Internet to intercept the feeds using a "commercial off the shelf" (COTS) satellite video capture tool, SkyGrabber (MSRP: $25 US) and laptops. The minimal effort it took probably didn't even distract them from their day job manufacturing IEDs and blowing up innocents.

From the WSJ article:

The potential drone vulnerability lies in an unencrypted downlink between the unmanned craft and ground control. The U.S. government has known about the flaw since the U.S. campaign in Bosnia in the 1990s, current and former officials said. But the Pentagon assumed local adversaries wouldn't know how to exploit it, the officials said. (emphasis added)

The military remained unaware of the practice up until a laptop belonging to an "Iranian-backed Shiite militant" was captured on which Military Intelligence discovered intercepted video footage. (I'm frankly surprised it didn't show up on YouTube.)

The Lesson: Obscurity is not Security

It is supposedly unlikely that the video was of much use to the extremists and while the whole story seems a little ridiculous, it surely is no laughing matter. Here's hoping some heads will roll because "incompetence" isn't strong enough a word.

As software developers, we're usually required to think about security as a key requirement of any system. However, when you're tasked with developing software for a $3+ million unmanned aerial vehicle (UAV), you'd better pay attention to these "details" because somebody very dangerous surely is. When that happens, it's a whole lot more than just data you're protecting.


Further reading

Cross-Compiling Java/C#/Ruby to iPhone

| No Comments
(This is a posting I started a while back (on my brother's b-day in May) but didn't publish at the time... don't remember why.)

Cross-Compiling C/C++ to Actionscript using Alchemy

As you may well know, Adobe Labs has developed an exciting tool called Alchemy that leverages the LLVM open source project to cross-compile C/C++ code to a common run-time byte code. This byte-code is then cross-compiled to Actionscript code which is then compiled to Actionscript byte code (ABC). The earliest and most striking example of what can be accomplished with Alchemy was the port of Doom to Flash that Dave released on Newgrounds within a week of Alchemy's launch. He has now released the Doom Triple Pack which includes the bad boys Doom, Heretic and Hexen.

The good people of Automata Studios helped Adobe develop one of the first projects for demonstrating how Alchemy works. Here is their write-up on the subject.

Cross-Compiling to Objective-C (and more!) Using XML-VM

overview.jpg
Another development that has come down the pipe is some research done by Arno Puder and his colleagues at San Fancisco State University. Their work involves using open-source tools to transform code from one language (e.g. Java, C#) to an intermediate XML format which can then be transformed to another language (in this example, Objective-C). The project is called XMLVM.

Prof. Puder presented how all of this works at the Google offices and the video of this presentation is available on YouTube. It is a very cool idea and demonstrates once again (as all software does, really) the potential aggregate power of using many small, simple constructs. Byte code statements are converted to an XML format which can then be transformed to Objective-C. While the final code might not be as optimal as the original, it will do the same thing. My guess is that the toughest part would probably be handling language elements that don't exist in both the source and target languages (i.e. garbage collection, loose typing/auto-boxing, annotations). Perhaps you'd have to do away with overly "native" parts of a language language when writing the "from" code. The good professor covers part of this challenge in his presentation. 

While the target language discussed is Objective-C, as you can see from the diagram above, the XMLVM project allows you to cross-compile to and from a number of different languages.

Ray Bradbury, Sci-Fi Legend... And Prunes?

| No Comments
I know this isn't RIA-related, but I just have to post this.

I'm currently re-reading Fahrenheit 451, an awesome book where Ray Bradbury (living legend of American litterature) displays his incredible ability to predict the social/political path the world would eventually take. Anyways, the gentleman author deserves every accolade/income-generating opportunity that he can get, which brings me to one of the strangest, off the wall commercials that I've ever seen.

It is like a compilation of an Ad agency list of what not to put into a commercial:

  • Self-referential humour sticking it to the company that's vying for your money -- CHECK
  • "Bada-bing" sound-effect after a bad pun is thrown out there -- CHECK
  • Giant disembodied head of bespectacled sci-fi writer (who isn't in a bikini or ogling someone who is) -- CHECK
  • Stock footage of NASA geeks turning dials and pushing buttons -- CHECK
  • Mentioning the wrinkles on prunes -- CHECK

I give an A+ for boldness to the people at SunSweet. It's a wonder they're even still around. I guess those must be some good prunes.





A thought:

Why is it that I sincerely doubt that in this day and age, any modern advertisement agency would waste their time creating a commercial featuring a best-selling author of fiction (other than perhaps Algore, inventor of The Internets).

All Shall Bow to... Steve Mobbs of "Mapple"

| No Comments
An early morning distraction...

Dial down your MyPods for a message from the luminary genius CEO/guru/deity of Mapple: Steve Mobbs.





Dear Mr. Mobbs...

Sir, I implore your excellency to allow MyDobe to release a fully-featured version of Flash Player 10 on the MyPod.

Thank you. You may now return to tending to your narwhal farm.

(By the way: nice turtleneck.)

Leah Buhley on Being a "UX Team of One"

| No Comments
Here is an excellent presentation (slides with audio) on "Generative UX Design" by Leah Buhley of Adaptive Path. She gave this presentation at the IA Summit 2008 (i.e. the Information Architect Summit). It is entitled "How to Be a UX Team of One" and goes over her personal best practices for Lone Ranger UX professionals.

One of Leah's key points: Business Needs + User Needs = Design Principles. In other words: software needs to be more than purely functional (i.e. business-focused). It also has to be personal (i.e. user-focused). I'd put it this way: "If all food were nutritious but tasteless, people would be no better off because they wouldn't eat enough to stay healthy."

Leah presents her ideas well and with a lot of passion and provides great food for thought. What more can I say, really? Check it out.

My take-aways (e.g. Leah's points mixed with some of my own ideas):

  • Generate many ideas. The more the better. Sketch a lot. On paper, even. That said, you should still brainstorm within constraints. This is the real world, after all.
  • Use a continuum (e.g. from beginner to power user), 2X2 or larger grid to organize your mock-ups. Experiment with word association, combine ideas, extract concepts from an idea. Build up, break down, re-organize.
  • Compile an "Inspiration Library" by taking screen grabs of inspirational sites and applications. It incorporates competitive analysis but also provides mnemonic cues (Rorschach) for things that just plain work.
  • Assemble an ad-hoc team at which to throw ideas and out of which to draw new ideas. Use sketchboards (i.e. butcher paper) on a wall to post up ideas and display low-fi mock-ups. If your ad-hoc group needs some guidance, use basic templates into which they can draw their own ideas.
  • Abandon the ideal of the Artiste -- the beret-wearing holder of all design knowledge. Decorate your workspace with mock-ups, ideas, sketches. Get people's input. Be proud of incomplete/in-progress ideas. Share them and get people's impressions.

Worth a Scan, Man: Vids from FlashCamp SanFran

| No Comments
If you want to know what's new and ominously pending in the world of Flash and Flex, you owe it to yourself to check out these videos from Adobe Developer Connection, post haste!

They cover such mouth-watering topics as an intro to Flash Catalyst and Flash Builder 4 and provide a lot of information about Flex 4 as a language (including advanced CSS, skinning, animations and effects). They also describe the road ahead for AIR on the desktop, which frankly is something I'd like to know more about.

Click on the image below to watch the joint keynote by Kevin Lynch, Adobe's chief technical officer and David Wadhwani, the general manager and vice-president of the Flash Platform Business Unit (i.e. two very important dudes):



I personally am very excited to see the current and upcoming innovations in the Flash/Flex platform. Having been a member of the Java community for a long time, I can see some similarities between the promise of the Sun and Adobe web and desktop technologies. As cynical as I can sometimes be about these things, let's hope that where Java largely failed (e.g. Swing-based applets and desktop apps), Flex/Flash will succeed (e.g. Flex/AIR apps for the web and desktop).

As always, I welcome your comments. I'd love to hear what upcoming Adobe Flash/Flex technology you are most looking forward to using. What's most likely to turn out to be vaporware? Can any of this technology live up to the hype?

Pull up a chair at LiveCycle Café

| No Comments
Adobe recently planted the seed for improved cooperation within the scattered LiveCycle community. In an effort to leverage the social web to combine our collective efforts to get the word out about LiveCycle and build up buzz and a shared base of common knowledge from which we can all benefit.

This "seed", as I call it, is LiveCycle Café, a social AIR app that provides all the tools to start sharing and gaining knowledge on the power of LiveCycle, leveraging Adobe corporate documentation, forums, live chat and various community contributions via a built-in RSS reader. The premise is that beginners and experts alike from across the globe (is that a contradiction?) will use it to connect with each other. LiveCycle is a very powerful but large set of tools, so gaining access to the many experts who are out there toiling in obscurity (some of them are toiling a few cubes away from me, here at 4Point) is a great asset. As we well know, we can only succeed by standing on the shoulders of giants, so having instant access to the cream of the LiveCycle crop can do nothing but make us better at what we do.



Here is the AIR install badge. Check it out. Who knows, maybe you'll find me on there, snooping around.

Take a Spin on the Tour de LiveCycle

| No Comments
After the success of Tour de Flex (which just recently celebrated its 5,000,000th sample viewed) the fine folks at Adobe have released Tour de Livecycle, a one stop shop for discovering the many, many facets of the Livecycle Enterprise Suite. Hopefully this initiative will help put this powerful yet underrated offering from Adobe onto people's radar screens.

There's no point in me going into what Livecycle is, but suffice it to say that any self-respecting enterprise Flex developer owes it to him/herself to seriously consider gaining some Livecycle-related experience. "There be gold in them thar skills."





Hat tip to my man Armaghan here at 4Point for pointing me to Duane's post on this topic (over at Technoracle). Also, check out the original post on the "TDL" launch by Greg.

East Ontario/West Québec Flex/Flash Coders Unite!

| No Comments
You know Ottawa has arrived when the Flash Builder 4 / Flash Catalyst Launch Tour announces a date at Adobe's offices here in Ottawa! Aside from the upcoming Flash Builder and Catalyst (if you haven't seen it yet, slap yourself now), there'll be a tutorial for PixelBender (which is freaking awesome), as well as a show off session for CartoVista (no clue).



The action starts at 5:30PM on June 3rd and runs until everyone goes home satisfied at 9:00PM. There will be prizes and plenty of food. What's not to like, people!?!

Click here for more details.

Recent Comments

  • Babara Crummey: Very good post. I've found your blog via Bing and read more
  • Geoffrey Hom: This was very helpful for me as well. Thank you read more
  • Taylor Bastien: Hi Brian, I've hacked away at my version of RESTHttpService read more
  • Taylor Bastien: Hi Brian, I do have an answer to your question, read more
  • Brian: Specifically on Mate RestHTTPServiceInvoker, after you call the send method, read more
  • Brian: Specifically, when you call the RestHTTPService.send method, how do you read more
  • Brian: Hi Taylor, I have been working on a version of read more
  • Taylor: Oh, and one other thing, Jim: you *can* technically display read more
  • Taylor: I agree, Brett. The omission of abstract classes is a read more
  • Brett Hannah: Nice article. This would be a great resource if you read more

About

Find recent content on the main index or look in the archives to find all content.