| Subcribe via RSS

Why I still like books.

October 6th, 2008 | 1 Comment | Posted in Development

I could be completely off base on this, as I have done zero research to support my hypothesis, but I sometimes feel like I am one of maybe four developers who are fairly advanced in their careers and still turn to physically printed paper books when getting serious about learning a new language or concept.

Reading about complex material on the internet, for me, is akin to sitting in a classroom where you’re attempting to learn while trying not to stare at the liberal arts hottie with the cool tattoos and piercings, ignoring several juicy conversations going on around you, keeping yourself from opening letters that the mailman is inexplicably delivering straight to your desk every two minutes, with a guy walking into the room every few seconds yelling “Hey! Anyone interested in the new Fallout 3 game? Follow me!”

This takes serious amounts of discipline and patience, a certain level of which I shall never achieve. Granted, this can also lead to some very interesting tangents that are often fruitful as well, but if I need to really immerse myself in a subject there is still no substitute for the isolating nature of a physical book and a quiet reading area.

I acknowledge that in this incredibly fast-paced field most books are usually outdated before they even hit the shelves, but I’d point out that one of my favorite books that I reference from time to time is a data structures textbook published in 1994. All of the code examples are in C and assembly, and yet I’ve used the concepts in every language I’ve encountered - from perl and coldfusion to pre-actionscript flash and AS3/Flex. A solid developer deals in algorithms and concepts and therefore a decent book (or any resource for that matter) can be invaluable if you can abstract the really important stuff from the syntax. But that’s a huge topic for another post.

Setting the default size of a Flex Skin

September 8th, 2008 | 1 Comment | Posted in Development, Flex

The web serves as my long term memory these days, so when I can’t find something fast enough via google, I need to post it here.

Here’s a quick post to remind myself in the future that the measure() function resides in UIComponent. Since ProgrammaticSkin extends FlexSprite and doesn’t have a measure function to override, you have to override get measuredWidth() and get measuredHeight() in order to define the a default size of a skin.

Archive Utility Annoyance

June 8th, 2008 | No Comments | Posted in Development

Yesterday I encountered a situation that I suppose most people wouldn’t have even realized happened, but for me turned out to be a case of my computer trying to be a little too helpful. It all started when I was attempting to decompress an archive containing a .swc file - basically a zip file that flex can use as a code library - but instead of the .swc, I got folder containing its contents. It took me a minute to realize what I was looking at, but when I did I thought to myself “well, that’s annoying.” It turns out the default behavior for the archive utility is to decompress the archive and if the only file in it is another archive it keeps going. It assumes that’s what you’d want, which I guess for most people it is.

The inconvenience this caused me was only mildly annoying, but what really got me was when I realized there was seemingly no way to change that behavior. I could forgive this if it was just a feature built into the Finder app, but I noticed that for the split second while my file was being expanded that the Archive Utility app was displayed in the tool bar, meaning that it is an actual application.

After looking in all of the usual places applications are stored on a mac I finally found it, thanks to WikiPedia, at /System/Library/CoreServices/Archive Utility.app

Ahh, System/Library/CoreServices, I wonder why I didn’t I just look there in the first place?
Archive Utility property panel
It seems trivial, but really, why build a full application with toolbars, additional features, and a properties panel, and then not give the user an obvious way of getting to any of it? I can picture the conversation now..

“The archive utility will go in CoreServices.”
“But sir, we put all of the other utility applications in Applications/Utilities, don’t you think that will confuse the users?”
“Nobody should ever actually have to run it. When a user clicks on an archive it’ll open up, unarchive the files, and then disappear before the user even knows what hit them, that’s what we call a seamless user experience, Johnson!”
“Sounds more like a ‘wham bam thank you mam’ experience.. Why did you make me spend all that time on the interface and program in all of those preferences if nobody will ever get to see or use it?”
“Don’t you have some TPS reports to fill out or something?”

Oh well, at least I was able to get to my .swc.

  • Who am I, you ask?

    Matt Guest is a RIA developer with a special interest in user experience design, architecture and all of the other stuff needed to build incredibly engaging Internet enabled applications.

    email: matt@mattguest.com
    aim: RIAJunkie
    twitter:mguest

    Subscribe to my feed.