Imx Fix in my experience
 
November 2003 Archives


November 26, 2003 9:41 AM


Nintendo Gamecube ControllerVideo game nerds who are also into human/computer interaction issues and ergonomics might find this article about video game controllers interesting (and they might be nerdier than they think)...
First-party controllers are almost always reliable in the way of comfort and accuracy, but they do vary from one product to another. It's often a very personal and preferential thing; I happen to prefer to play racers on GameCube. I don't think any gamer can avoid this partiality. To that same end, however, there are many games, often first-party published, that I couldn't imagine playing on another console's controller.
In my experience, this is true, except for the horrible first version of the Xbox controller. That thing was huge and felt like you were holding a watermelon in your hands. Even worse were the triggers under the controller (which you pull with your index fingers) that had very strong springs in them, so holding the trigger all the way down for more than a few seconds would cause muscle fatigue.

At the other end of the spectrum is the Nintendo Gamecube controller, which was made with kids in mind and is smaller than the original Xbox controller. There is a smaller Xbox controller available now, but its trigger springs are still too strong, and a racing game that uses the trigger (such as PGR2) turn into a carpal tunnel accelerators.

November 25, 2003 9:46 AM


When C|Net bought mp3.com, I didn't realize that they were only buying the domain from Vivendi and not the actual business as it exists today. C|Net says "the company plans to turn MP3.com into a source of information for digital music" as opposed to another online music store, but that's nothing new and isn't the real story. The real story is that Vivendi is going to delete all of the MP3.com content/material from their servers. Delete?

A few days ago VU sent out the announcement that the url MP3.com had been sold and the new owner was not taking possession of the music and band pages. This means the music will die, disappear, and vanish forever. MP3.com is a global treasure. First off, it is the largest music site in the world, nothing else is even close. And as I mentioned, it contains a diversity of music found nowhere else. If you want Britney Spears, there are lots of places to go. If you want Brittany Bauhaus, Brittany Lacy, Brittany Frompovich, or even Lymp Brittany, MP3.com is the one place in the world you'll find them. On December 2nd, their sites there will no longer exist.
Delete? Doesn't that seem irresponsible?

I can only imagine that a million MP3's takes up some massive amount of space (ie, SAN fabrics), and likely requires some big iron to dish it all out. It's likely that the cost of that hardware is just that, a cost (as opposed to a profit center). But why not just let Archive.org do its thing and archive it all? I can only assume copyright/intellectual-property issues are there, or just laziness and ignorance. Who knows? I don't.

November 19, 2003 4:58 AM


As of this writing, and as far as I know, in the Flash MX 2004 TextArea component, Macromedia missed an important detail when they created the TextArea component properties. You can say that the text area can be formatted by HTML, but that HTML formatting inherits the whitespace formatting as though a supersetted 'pre' tag was present. It makes for ugliness, and requires ugly workarounds (AFAIK). I sent email to the author of a good article that mentions this issue. In the article he said...

Now, a quick note on ignoreWhite: this normally excludes all spaces, linebreaks and carriage-returns from being counted when our XML is brought in to Flash (parsed), however I must admit I can't get it to work in my example or the Macromedia example I looked at earlier - you can see this for yourself by inserting a carriage return after one of the opening tags and then viewing the results in Flash - if anyone knows why this happens then please email me so I can amend this tutorial. I've left it in for the time being :]
I've been playing around with this, and have a few notes. First, condenseWhite would probably be the property to use/set as that is what is available in a dynamic text box (as opposed to ignoreWhite).

Unfortunately, it looks as though Macromedia did not implement that property in the TextArea component (and because components are compiled, you can't add that property support). If you remove all white space from the original xml doc (and you still have to use ignoreWhite while loading the XML) you can fix some of the display weirdness. That's a less than optimal solution though.

I may have to figure out how to write my own component, but that looks like it's out of my league right now.

<update when="November 22, 2003">

I wrote a function that deals with this problem...

	// This function kills any characters in the passed in string
	// that are considered to be white space. White space is defined
	// as anything *below* ASCII/Unicode character code 32.
	// We want code 32 because that's a space, and we want words separated, right?	

	function killWhiteSpace(theData) {
		var myNewString:String = '';
		var j:Number;
		  for(j = 0; j < theData.length; j++) {
			  if(theData.charCodeAt(j) > 31) {
				  myNewString += theData.charAt(j);
				  }
		  }
		 return myNewString;
	}
Use this function before you place your HTML into a TextArea component.

</update>

November 18, 2003 4:14 AM


Flash MX IconWhen you decide to learn a new skill, and set your mind too it, and apply your free time to this new pursuit, it can be discouraging to find out that there is WAY TOO MUCH to learn.

Even with my JavaScript experience, and experience using graphics applications (eg, Photoshop and Illustrator), the Flash learning curve is relatively steep (for me), and that's mostly due to a few things...

Breaking Standards
Due to it's heritage, Flash sometimes departs from the ECMA spec to maintain backwards compatibility with old versions of Flash. That just plain sucks and requires memorization of these rules exceptions (all languages have these, but making an exception to support old players is annoying).

Also, I'm very used to the window, document and frames objects in JavaScript and need to map these to different names in the Flash paradigm (in my mind, I've assigned frames to levels; see below). Also, you need to accept the underscore notation used in Flash for built in properties in built in objects (ie, a movie clip's location on the "x" axis is read from movieClipObject._x).
The timeline
I have already complained about the timeline, but it's worth listing out here. This is one of those times when the metaphor is getting in the way and needs to be jettisoned.
Levels
"Levels are a stack of independent timelines that are movies (SWF) stored outside the main movie, and brought in with the loadmovie action." This is a pretty new concept to me. I'm very used to assembling a page from many small pieces (loosely joined?) and getting a cohesive result, but the idea of a document stack is something new to learn.
Object Oriented Programming (OOP)
JavaScript is object oriented, but in a loose way, and you can go a long way into your career without doing any proper object oriented coding in that language. When you move over to ActionScript 2.0, you really need to get on the OOP bus. This is mostly due to the fact that the flash environment is more readily disposed to OOP than web page authoring. This is going to be a good thing for me to learn.


November 14, 2003 10:44 AM


Flash MX Icon Philter's Flash/XML Tutorial was instrumental in getting me past the first bump in the ActionScript/XML learning curve. It's really not that hard at all, but the weirdo ways of dealing with things like symbol identifiers and addressing them has been a stumbling block. Getting past that and into the same-but-differently-named event handlers is going to be fun.

Right now, my current function for exporting and manipulating the XML doc looks like this...

	menuXml = new XML();
	menuXml.ignoreWhite = true;
	menuXml.onLoad = function() {
		menuItem = this.firstChild.childNodes;
		for (var i=0; i<menuItem.length; i++) {
			item = _root.attachMovie("itemClip", "itemClip" + i, i);
			item._x = 0;
			item._y = 21*i;
			item.itemLabel.text = menuItem[i].attributes.title;
		}
		item2 = _root.attachMovie("poemDisplay", "poemDisplayInstance", 10);
		item2._x = 125;
		item2._y = 0;
		item2.poem.text = menuItem[0].firstChild;
	}
	menuXml.load("spoon_river_anthology.xml");
I know, it's not very abstract. Also, I need to work on changing the content of the poem field based on which poen title has been clicked (which means I'll be using the onRelease() handler (instead of onmouseup() from my familiar worl of JavaScript). After that, the XML will get more attention because I have to add in the poem references (as I meantioned the other day, many poems in my selected body of work reference each other and better inform the user on the relatinships involved). That will manifest as another menu of sorts, and I'll need to use a Flash component to do that (another good lesson). Also, the poem field needs to be scrollable and that's another good lesson.

Here's a snippet of the (non DTD nor schema based) XML doc I've created so far for the project...

	<?xml version="1.0"?>
	
	<etext title="Spoon Riven Anthology" author="Edgar Lee Masters" 
			  published="1916" isbn="1-58734-032-1">
	
	<poem title="The Hill">
	Where are Elmer, Herman, Bert, Tom and Charley,
	The weak of will, the strong of arm, the clown, the boozer, the fighter?
	All, all are sleeping on the hill.
	
	One passed in a fever,
	One was burned in a mine,
	One was killed in a brawl,
	One died in a jail,
	One fell from a bridge toiling for children and wife-
	All, all are sleeping, sleeping, sleeping on the hill.
	
	Where are Ella, Kate, Mag, Lizzie and Edith,
	The tender heart, the simple soul, the loud, the proud, the happy one?--
	All, all are sleeping on the hill.
	
	One died in shameful child-birth,
	One of a thwarted love,
	One at the hands of a brute in a brothel,
	One of a broken pride, in the search for heart's desire;
	One after life in far-away London and Paris
	Was brought to her little space by Ella and Kate and Mag--
	All, all are sleeping, sleeping, sleeping on the hill.
	
	Where are Uncle Isaac and Aunt Emily,
	And old Towny Kincaid and Sevigne Houghton,
	And Major Walker who had talked
	With venerable men of the revolution?--
	All, all are sleeping on the hill.
	
	They brought them dead sons from the war,
	And daughters whom life had crushed,
	And their children fatherless, crying--
	All, all are sleeping, sleeping, sleeping on the hill.
	Where is Old Fiddler Jones
	Who played with life all his ninety years,
	Braving the sleet with bared breast,
	Drinking, rioting, thinking neither of wife nor kin,
	Nor gold, nor love, nor heaven?
	Lo! he babbles of the fish-frys of long ago,
	Of the horse-races of long ago at Clary's Grove,
	Of what Abe Lincoln said
	One time at Springfield.
	</poem>
	
	<poem title="Hod Putt">
	HERE I lie close to the grave
	Of Old Bill Piersol,
	Who grew rich trading with the Indians, and who
	Afterwards took the Bankrupt Law
	And emerged from it richer than ever
	Myself grown tired of toil and poverty
	And beholding how Old Bill and other grew in wealth
	Robbed a traveler one Night near Proctor's Grove,
	Killing him unwittingly while doing so,
	For which I was tried and hanged.
	That was my way of going into bankruptcy.
	Now we who took the bankrupt law in our respective ways
	Sleep peacefully side by side.
	</poem>
	
	<poem title="Ollie McGee">
	Have you seen walking through the village
	A Man with downcast eyes and haggard face?
	That is my husband who, by secret cruelty
	Never to be told, robbed me of my youth and my beauty;
	Till at last, wrinkled and with yellow teeth,
	And with broken pride and shameful humility,
	I sank into the grave.
	But what think you gnaws at my husband's heart?
	The face of what I was, the face of what he made me!
	These are driving him to the place where I lie.
	In death, therefore, I am avenged.
	</poem>
	
	
	</etext>
I don't even want to think about the actual UI of this thing yet. I should work on something consitent with the theme of the poems, but I'm probably going to be lazy and use Macromedia's "Halo" look n' feel.

November 14, 2003 1:39 AM


Most nights, on my way home, my eyes glaze over, my blood pressure rises, and I pick one of five routes that will get me home (each of which presents it's own annoynaces, but same mileage and time consumption). Early this week, a river of birds was passing by, and I was able to snap off a few pictures (because I carry my Nikon everywhere) while at a stop light. In this image, all of the specs you see from the right hand side all the way to the hazy bottom left is birds. This river spanned as far as I could see while I was sitting at that light.

November 13, 2003 3:31 AM


Crackpot!When you stop to consider how the various parts of a chunk of content are presented to you, it can become clear how other people want you to feel about something or someone. In this case, it's something other people have already pigeonholed as "media bias." The icon to the left is the icon used on the aol.com home page which is a feed from CNN.com and is a picture of a certain crackpot who has been in the news recently. I'm avoiding using her name for some reason to avoid the Google hits that may be generated down the road. But that's beside the point. This person has recently shown herself to be a crackpot (imho) and the media, in it's own subtle way, is pointing that out thru their selection of this image. They could have picked an image of her smiling, but they chose a sneer.

November 13, 2003 3:17 AM


Samsun SPH-i500This is the acceptable form factor I have been waiting for when it comes to cell-phone/PDA combo units. I hate to say it, but holding a N-Gage, Sidekick or a Treo 300 to your head just looks dumb, and for some pathetic reason, that matters to me.

Just recently I have discovered the need/utility of a PDA and how it can help me out at work. This is a pretty big jump for me, because i have always considered an electronic note pad and phone book to be pretty useless, but there's certainly more to it than that, right? These days I have the need to know many more phone numbers, who they are attached to, and what tasks those people are currently working on, and what's coming up next. that screams out for a PDA.

Unfortunately, I have few limbs left with thumbs that can carry and manipulate devices. They are currently juggling an iPod, a cell phone, a Gameboy Advance and a digital camera (all of which I carry with me to work every day in what my mother-in law-calls my "carry all"). Adding a PDA to that mix is unattractive, especially when going to meetings, which is why I have some pretty severe techno lust going on over the Samsung SPH-i500. One of the big reasons is that it combines two devices I need (want?) into one device that doesn't make me look like a dork when I use it (I don't need any help on looking dorky, thank you).

Too bad the unit costs $600! The un-dorky form factor is probably worth an extra $75 to me, and the PDA is worth $150 to me, all over the typical $150 I usually pay when I do a handset upgrade. That's only $375.

November 11, 2003 4:11 AM


Please forgive the comment recycling here, but this Leapster thing reaffirms my decision to pick up Flash as a web development skill...

I'm picking it up for the application development possibilities (as opposed to the design possibilities, which are imho, anemic).

I know javascript and because of that, I figured learning ActionScript would be easier. I've been doing pretty well so far, but have indeed encountered difficulties in wrapping my head around the way Flash does things. The timeline metapohre doesn't translate well to non-movie Flash projects.

More daunting though has been learning truer object oriented programming ("truer" for me equals using classes, methods and instances). This is a programming problem and not a Flash problem, so I can't fault the application for that. Getting on board with that will be helpful back in the Javascript world where I've never really done anything as fully abstracted as a class.

As a learning project, I'm working on an application based on Edgar Lee Masters' Spoon River Anthology which is a collection of interleaved poems about the townspeople of a small Illinois town, where everyone is dead. Each (relatively short) poem is kind of an epitaph and they usually make a reference or two to some other person from the town. You can then go look up their poem and read it to learn more about that person and their relationship to the referring poem/person. It's an interesting, if morbid, concept.

(For the record, I have an English degree and wrote a paper in college about Masters, which should explain why I'm using his anthology as my subject)

The idea of the application is to make reading the anthology easier, and the relationship matrix understandable, by showing the poem (with a dynamic text box, that scrolls if neccessarry) and a references box which lists who is related to the current poem. Also, there will be a full list of the people/poems to read so you can read it in linear style if you want.

I'm representing the anthology as an XML doc so I can learn the XML() object and it's methods.

I also have to do the design, but that's sort of ancillary to the main point of learning the system internals. It should be interesting.

Now, back to the Leapster; the opportunities and possibilities offered by that sort of product are two fold for the web developer who cares about usability and interaction design. Learning materials are all about interaction design and information architectures that are so well designed that they are transparent. "Leveraging" that thru development skills is good fun work that pays well. Too bad much of my recent work has been of the Systems Administration persuasion.

November 5, 2003 9:26 AM


I was comment spammed last night by someone promoting Adipex which is part of the heart valve killer drug combo better known as Phen-fen. I tried to look up some "real" info on Adipex and only found places to buy it. The spamers are succeeding, but not with my help.

November 5, 2003 1:44 AM


Total cost: $43.77

November 4, 2003 9:36 AM


I decided to learn Flash recently for various reasons...
  • It's here to stay.
  • Knowing it helps my career.
  • We have use for it in my department (see number 2 above)
  • I know JavaScript, so picking up ActionScript won't be hard.
  • I know Illustrator, so picking up the Flash drawing tools won't be hard.
  • DHTML can be a real whore sometimes.
The problem is, of course, the user interface for the Flash authoring environment. It's horrible, but has come a long way since the days of Flash 4. I've never been a fan of Macromedia applications UI's (because I'm really an Adobe guy at heart) and have mostly been struggling with where to edit this thing or that thing, where to define a script (or when to define a script vis-à-vis the Timeline).

I have to hand it to Macromedia for one thing though, their website has tons of material available for learning Flash. There's lots of sample files, articles, downloads, and manuals. Getting the PDF of the manual is free and easy, which I think is a smart thing for Macromedia to do (sort of a baiting tactic, but a warezing risk to be sure). All of that material is of course Macromedia centric (this thingy works great with this other Macromedia thingy).

Anyway, I have been looking for good resources out there and have bumped into the advert purgatory of FlashKit.com and the Moock's site. Any suggestions on where else to visit will be VERY welcome.

« October 2003 | Main Index | Archives | December 2003 »