Been Absent Awhile. I Was Pretty Ill, Better Now, More Posts Coming Soon

I spent the the last 5 days horribly under the weather. A sinus infection led to a tonsil infection to an ear infection. All of this was enhanced by a rocking body ache and a high fever, too. I don’t recall ever feeling so bad. Seriously. I was so sick, my throat was swollen to the point where I needed to sleep sitting up Saturday night. Unbelievably bad. I was pretty much offline the entire time (minus a few random tweets from my iPhone), but I’ve been trying to get back into it today. I hope to have a couple posts coming soon including one about using Flex as a UI prototyping tool among others. Thanks for continuing to drop by.

Absolutely Brilliant Data Visualization - TED Talks, Hans Rosling.

This video is over a year old, but perhaps even more pertinent considering world challenges facing us today (US inflation, growing oil costs, changing geopolitical climate in Russia, etc, etc.)… But really, you must watch this video. The message is of course fantastically important and the charting and data visualization is just amazing. He makes such difficult concepts easy to understand through a clever use of animation and humor.

Found this via FutureFeeder (which is in desparate need of an update!)

Been Too Wretchedly Ill to Blog, But Improving… Lots More.

My wife and I came down with the brutal brutal flu this weekend. Simultaneously. Pure evil.
I am finally now upright. I don’t mean to be dramatic, but wow, was it bad. Fever, chills, cough, congestion, runny nose, SEVERE body aches… it was tremendous. We were so ill, Renee’s mother kindly took the kids for a day so we could rest. We slept something like 20 hours that day. And it wasn’t restful or good sleep. It felt like harpies were swarming around us gnawing on our appendages while we slumbered.

I finally got back to work today, though I’m certainly not 100%. I’ve been taking a cocktail of OTC drugs… varying from run of the mill stuff like Robitussin, Tylenol and Motrin, to the exotic Alka Seltzer Flu… I hate Alka Seltzer. The stuff says it’s “Honey Orange” flavored, but I swear it’s actually “Nasty McRancid Sauce” flavored. Here’s the deal, though, the Alka Seltzer works. She’s still pretty ill… But here’s the bonus… The kids are sick now, too. Awesome. You want some fun… try having two sick kids while you aren’t well either. So bad. Not sure how much I’ll be able to blog in the next couple days… but here’s a quick list on things I need to address… Check back soon:

  • The “Intro to Flex” presentation I gave tonight at Bradley went well. Presentation notes and takeaways to come soon.
  • The Iona Group has been awarded several local Addy awards… nothing major, but hey, still pretty cool.
  • Erik Natzke will be speaking at Bradley University soon. (March 10th, 7PM, Baker Hall B51, to be exact) More details here.
  • What to do when a website’s technology platform choice doesn’t go quite the way you want it to go… More details coming for sure, as they emerge. Maybe. ;-)
  • A really cool social networking/dating site has recently come to my attention, not sure if many people who read this blog are using iminlikelikewithyou.com, but man, the Flash/Flex UI is slick, the games are fun and the attitude is just too funny.
  • Aral Balkan has yet another project he’s busily working on… Pistach.io, a focused ad network based on the concept started by Coudal’sThe Deck“, it’s a great idea… reaching out to niche audiences through influencers has long been known in offline circles to be effective, it only makes sense that the same idea could work online.

Anyway… thanks for sticking through this. I hope my fevered brain hasn’t been too delirious here. ;-)

Goodbye FAT32… Anyone Want a Home NAS?

I have a DLink DSM-G600 WiFi enabled NAS. It allows you to put FAT32/NTFS disks in a USB2.0 case and make them available on your network. You can also put an ATA disk in the device and the little Linux box will reformat it in some EXT format. It works great, but with my house, primarily being a Mac house, it presents some issues. I would prefer a HFS+ file system as it can be repaired with DiskWarrior (the best software for fixing disk related maladies on your Mac). This simply won’t work with the DLink. NTFS  isn’t writable by Mac OSX so FAT is the only way to go… All you Windows users out there are snickering now. I can hear you.

My FAT32 disk drive’s partition map or something got completely hosed last week and now I’m in the middle of a data rescue mission, copying the files I can recover over to a HFS+ formatted drive.  I already have a backup of the disk from a couple months ago, but since then, there were about 40 CDs from my old colleciton that I had ripped. I’d like to not have to rip them again.

So that said, I’m going back to a journaled file system. Anyone want to buy my DLink NAS?

I guess I’m Megatron…

How to create a simple Flash Video Jukebox using PHP

NOTE: This example is a little old and uses Actionscript 2, though, if you know AS3 it could be easily converted.

Recently, we completed a project that contained nearly 200 video clips. As part of the development process we needed a way to quickly review the clips that had been selected for the piece. I decided to make a quick and dirty Flash video jukebox that used PHP to generate the XML for the Flash movie. A user could then visit the web page and chose any of the videos and easily watch the desired clip.So, how did I do this? It’s a pretty simple bit of code, really. First the PHP (click to download the source):

  1. <videos><?php
  2. if ($handle = opendir(‘videos’)) {
  3.  while (false !== ($file = readdir($handle))) {
  4.  if ($file != "." &amp;&amp; $file != ".."){
  5.  echo "t<video>$file</video>n";}
  6. }closedir($handle);} ?>

In that snippet, I create the basic element and then open the directory that contains the videos with PHP. I then loop over that directory reading all the files in and then outputting them into the XML as “video” elements that contain the name of the file.Next the Flash… I’ll need to load the XML, obviously and parse it. I like to use Darron Schall’s method for parsing the XML, so I’ll be using that here as well… After it’s loaded and ready, I set the created array to be a data provider for a combo box on the stage:

  1. var filesXML:XML = new XML();
  2. filesXML.ignoreWhite = true;
  3. var video_arr:Array = new Array();
  4.  // After loading is complete, trace the XML object.filesXML.onLoad = function(success) { if (success) {var startTime = getTimer();
  5. var videos_xml = filesXML.firstChild;
  6. for (var i = 0; i < videos_xml.childNodes.length; i++) {
  7.  var videoData = new Object();
  8. for (var j = 0; j < videos_xml.childNodes[i].childNodes.length; j++) { videoData[videos_xml.childNodes[i].nodeName] = videos_xml.childNodes[i].firstChild.nodeValue; }video_arr.push(videoData);
  9. } //trace("Total parse time: " + (getTimer()-startTime))
  10. } else { trace("Error loading playlist.");
  11. } // clean up after ourselves
  12.  delete playlist_xml;
  13.  combo_cb.dataProvider = video_arr; } ;

After that’s ready, I wrap it up by creating the actions for a load button, the FLV playback component and the combo box.

  1. my_button.onRelease = function() { //myPlayer.contentPath = combo_cb.selectedItem;
  2. file_lbl.text = _root.combo_cb.selectedItem;
  3.  var item_obj:Object = combo_cb.selectedItem;
  4.  var i:String; for (i in item_obj) { trace(i + ":t" + item_obj[i]); file_lbl.text = item_obj[i]; }myPlayer.play("videos/" + item_obj[i]);
  5.  }myPlayer.addEventListener("cuePoint", cplistenerObject);
  6. var cbListener:Object = new Object();
  7. cbListener.change = function(evt_obj:Object) { var item_obj:Object = combo_cb.selectedItem;
  8. var i:String;for (i in item_obj) { trace(i + ":t" + item_obj[i]);
  9.  } trace(""); };
  10. combo_cb.addEventListener("change", cbListener); // Load the XML into the filesXML object.filesXML.load("dirListXML.php");
  11. stop();

That’s about it. You’ll now be able to choose a video and quickly see it load in the FLV Playback component. Dead simple.You can check it out here. You can also download a copy of the FLA here. In the next few days I’ll be expanding on this to show how we used Flash to debug and track metadata in the many videos we had to manage.

From Digg – iPhone Hackers: “we have owned the filesystem”

The kooky hacking kids over at IRC channel #iphone claim to have gained full ownership of the iPhone filesystem. In an update titled “How to Escape Jail,” they highlight the technical steps required to enable custom ringtones, wallpapers and more for your iPhone. They have not released a tool for general consumption — yet –

From the Digg comments: “Now you can put a picture of The Arcade Fire as your background so that all of your friends at the organic grocery store will be impressed.”

And that my friends is just awesome.

read more | digg story

A Great Experiment in Web2.0 Hosting Reliability

Experiment with 9 different hosting companies to figure out which ones can withstand the traffic surges caused by web 2.0 - This is a pretty good real world experiment!

Go check it out… Let’s hope 1 and 1 holds up. That’s what I am using.

read more | digg story

Once a Mockup in Flash, Now a Reality in iPhone

My students 4 semesters ago in a multimedia class at Bradley created some mockups of what could be possible in a wirelessly connected community. These mockups and the style of future viewing were inspired by Sun’s Starfire. The iPhone now can handle pretty much all of the features highlighted in the video for a tidy little monthly fee and a $500 entry price tag. A student of mine from that class noticed that and emailed me today. I was struck by some of the similarities in the visualization. Here is the one we created back in the Spring of 2006:

Here is the Apple ad featuring some of the same functionality in our video:

Not too far off, eh? It features slick design and easy connectivity. Ours were created as SWF files, (They did indeed connect to data sources, be it external services or XML files created by us) that were then captured using Camtasia, and then composited into the video we shot using After Effects. The Apple one is obviously a real device. One of the things that strikes me about both of the interfaces in these pieces is that they seem to adhere firmly to a belief that I have in interface design best written in this research paper at Sun. From the paper by Bay-Wei Chang and David Ungar from March 1995:

User interfaces are often based on static presentations, a model ill suited for conveying change. Consequently, events on the screen frequently startle and confuse users. Cartoon animation, in contrast, is exceedingly successful at engaging its audience; even the most bizarre events are easily comprehended.

This trend is easy to see in the Mac OSX Dock, The Vista 3-D Aero Windows Animations, and the Microsoft Surface computing demo videos. It’s great that we finally have the CPUs and the tools to develop the software to make what was once a Knight Rider episode, or a major budget Hollywood blockbuster ala Minority Report and make it a device most all can purchase. Now if only the muni-wireless efforts could escape the bureaucracy and make it reality for even those who don’t have the ability to pay exorbitant monthly data fees or purchase a new Vista machine… oh well, it seems as if that wish might still be far in the future.

A Friends New Site: Dude, Let’s Argue!

A friend of mine came up with a pretty cool new original site… Dude. Let’s argue! is a site dedicated to all those treasured opinions and rants we each hold inside. Each week, late on Sunday night, a statement is chosen at random from the pile of statements submitted by members. During the week, users choose to either agree or disagree with the statement. The Web 2.0 version of the Wii Everyone Votes channel!

Go check it out!

read more | digg story