Michael Krotscheck’s insights, ideas, and inspirations about web technology, life, and the kitchen sink.

Articles

 

A New Approach for Flash Accessibility

Saturday, August 23rd, 2008

My colleague (aka running buddy, aka friend, aka fashionista) Andrea Hill and I had a pow-wow a few months back in anticipation of her Accessibility presentation at Spring </br> . Personally, I thought the conversation was a perfect example of how genius occurs at the intersections of knowledge domains, as we were able to take her expertise on Accessibility standards and my expertise in Flash and Actionscript and come up a back-of-the-napkin approach to Flash Accessibility that might just fix all the headaches caused by interfacing with Assistive Technology. Note that this solution does NOT absolve you from designing for visual impairments, hearing deficiencies and so forth- this is a way of interfacing with screen readers.

 

Classifying Rich Internet Applications

Monday, June 30th, 2008

I had an excellent discussion with my coworker Susan today about refining certain internal processes, and one of the tangents of the conversation went off on what the actual definition of a Rich Internet Application actually was. As we know, anything from a banner ad to a product configurator can be considered an RIA, and the only common element seemed to be that an RIA retains its functionality within the context of what the user is interacting with. In other words, if you click on button in an RIA, the resulting action does not significantly change the page or window the user is interacting with; Clicking to go to a new page loses context, using an animated accordion to display different content does not.

The similarities, though, end there. Implementation varies, technology varies, scope and location and functionality varies, and all in all it ends up being a pretty difficult convoluted mess to describe. At best you can group them via complexity, and after a brief exercise of that nature we realized that a new breed of networked application was emerging. Well, alright, perhaps not emerging, but instead gaining momentum and acceptance in the mainstream. Here’s the scale, see if you agree with our reasoning.

 

Designers & Developers: Obsolete Titles in a Web-Made World

Friday, June 6th, 2008

An interview question I have been frequently asked in the past is: “On the spectrum of Designer < – > Developer, where would you put yourself?”

I’ve always been bothered by that question, because not only do I have a strong background in the Fine Arts, but I have 8 years of solid experience as a developer. The reason I don’t like it is that those of us who operate on the web apply both our creative and logical skills on a daily basis, and in many cases it is our creative streaks that make us so good at what we do. Problem solving skills and creative expression are absolutely inseparable: We learned this from Einstein, and Galileo, and Leonardo Da Vinci, and Thales, and Newton, and a host of other individuals who nowadays would be called the greatest minds of their time.

 

Application Release: Pandora & Practical Desktop

Monday, May 26th, 2008

I’ve finally gotten around to fully open source my various applications, factoring and debugging the code, commenting and applying all the necessary licenses and other miscellaneous logistical duties to get my two AIR applications up and out there.

src ="http://www.practicalflash.com/AIR/Installers.html"
width="100%"
height="200" style="border: 0px none #000000">

Practical Desktop

Practical Desktop appears to be a simple timekeeping application, though in reality it’s an open source widget framework that allows pretty much anyone to build a deployable block of functionality that can start interacting with other widgets. The wrapper’s there for you, go nuts. The source is here

From a personal perspective, I use it as a beta and explorative sandbox, because there are a lot of interesting things coming out in the near future that I’d like to offer some guidance on development best practice, and to do so I will have to figure it out myself first. Rest assured that the widgets I build will be functionally complete, though perhaps limited in feature support.

Pandora

The Pandora Desktop application is really just a customized webkit browser that’s hardwired to the Pandora mini player. I’ve fixed the application so minimization works in Windows, and expanded it to include the player’s html wrapper as well. The reason I did this is because Pandora’s a free service, and I’d like to make sure that I’m not ripping them off by stripping out the ads. Optimally I’d like to help them convert their existing player to AIR, but until I have free time (or they pay me :D ) that won’t happen.

 

Porting Pandora to the Desktop

Saturday, May 3rd, 2008

So there I was, hacking away at AIR, and my iPod runs out of batteries. I was in that rare coding zen where you really need the audio to lock you out from the rest of the world, so I was fairly annoyed that the random conversation here at Apropos suddenly started to interfere with my productivity. No worries though, I could always resort to Pandora, right?

Now, I’m not a big fan of Pandora. Don’t get me wrong, I love what they’re doing and have found some phenomenal music there, but the fact that I always have to keep a browser window open to make use of their service has kindof annoyed me, and now was no different. I could deal with it though for the sake of productivity…. until I realized that AIR came with its own embedded WebKit browser.

 

Judo Economics: Bringing Down Microsoft

Thursday, April 24th, 2008

A few years ago I took what must have been one of the most entertaining courses of my graduate career: Business Game Theory. It was run using the Harvard Case method, but with no supporting textbook and no explanatory lectures before a case was assigned- we simply received a problem and were expected to solve it by the next lecture. The problems themselves were simple: we were given a situation and asked a fairly straightforward question. Should Company B enter a particular market, how will a competition play out, can you predict the next step in a competition given certain parameters, things like that. Most of us got the first problems blatantly wrong- the tacit requirement to do our own research didn’t sink in until after the first discussion- yet after that reality check it became one of the most engaging classes ever: The problems were challenging but not beyond rational analysis, and though I spent hours at a time bending my brain around decision making in a risky environment and other situations, I can still name the topics and methodologies for every case.

As a result I was practically giddy when I recognized a real world example of Judo Economics, a situation where a player uses the strength of their opponent against them. Consider a simple case: There exist two markets for a single product and two companies that can produce said product. The first market is large, however serving it comes with a high cost and therefore a low margin. The second market is small, but serving it is cheap and therefore comes with a high margin. The first of the companies must serve both markets, has deep pockets, while the second is considering market entry, but can only serve one of the two. Each company can only set one price against both markets. The question posed is: What will happen?

 

Using the Metrics Package to record Flash Application Analytics

Thursday, February 14th, 2008

Web analytics is a way in which individual visitor action can be easily tracked within a site, and the aggregate statistical data derived from this can often lend remarkable insights into the effectiveness of your design, how ‘sticky’ your content is, and what your users are actually looking for. Unfortunately, extending this paradigm into flash has always been tricky, because it doesn’t adhere to the page-based paradigm on which most Analytics packages are built. Once a flash application or widget is loaded, the server loses most knowledge about what the user is actually doing within it.

Usually this isn’t really a problem- flash applications have not been too complex and not many people care where on the banner you clicked, just that you left the site as a result. Yet now with the strong growth of Flex and Ajax our web applications are becoming more and more complex, and marketers and usability experts are now demanding this tracking data in spite of the paradigm limitations.

If you really think about it, what we really are interested in tracking is a user action, rather than the page loads we are collecting right now, which means that the largest part of an analysts job is turning these page events into meaningful user actions, rather than interpreting those users. There’s been some attempt to set metrics to individual places within a page flow, yet nobody has yet thought to rethink the paradigm. But I digress…

Most Metrics providers have since opened their API’s enough to allow a developer to pretend like a new page refresh has occurred. While this is hardly optimal, it does allow us to track user events from inside of flash, but the fact that each provider has implemented their API a different way means that implementing metrics for each is still a string of unique problems to solve.

To that end I’ve written the Metrics package, which is intended to provide a common metrics proxy that any developer may use, which relies on a common library of connectors that can be swapped out as needed. In this article I go over the details of how to use it, and touch on how individual connectors might be written.

 

Singletasking

Sunday, January 27th, 2008

The most telling thing about this article is that not five words into my first introduction, my Gmail reminder popup came up demanding attention, and my automated reflexes immediately clicked on the little window to see what the hopeful mailer wanted. The side effect? It completely derailed my train of thought I had to work myself back into it. QED.

I have had no small number of conversations with my boss about the nature of Work-Life balance. Today’s everyday wisdom says that you have to keep both your personal and professional life properly segregated if you want to lead a happy life, and yet work continues to raise it’s ugly head once I leave the office. Case and point: I’ve been in the office most of the weekend trying to complete some tasks that I was unable to complete during the week, and even now I’m having a hard time even thinking about them in such a way that I can complete them and finally go home. Frustrated, I flipped back over to my browser and read my RSS feeds to clear my head, an came across an article on multitasking that allowed me to frame the problem in a way that made some sense: It’s not the work-life balance that I need to deal with, it’s the work-work balance.

 

The Ethical Developer

Sunday, January 20th, 2008

The internet is an interesting beast. It offers privacy and anonymity, yet at the same time gives us plenty of opportunity to pull those curtains aside and become celebrities in our own right. In the world of community-shaped brands, overnight popularity and popularity as fickle as a mouse click, we are given plenty of opportunities to make a quick buck, win a quick victory, be a featured celebrity or make a quick contribution.

The only thing that seems to be tying all these things together on a consistent basis is speed. Contribution needs to be fast, results have to be instant, and if something doesn’t catch our attention within our rapidly diminishing attention span, the audience moves on to the next best thing. Things with real staying power are growing fewer and fewer, and the last thing that seems to have any kind of tenacity is reputation.

Let’s face it: Employers, clients, friends and colleagues will search for our names online, and an even sightly determined sleuth will be able to uncover a substantial amount of our history. As a result we each have to be very careful about managing our online activity, and in particular our professional reputation; Even the slightest negative comment found in a search result will raise unwanted eyebrows, and raised eyebrows mean lost interviews, bids, and job opportunities.

To that end, I’ve tried to list a few rules and guidelines that I follow. I’m hardly perfect at them, and there are exceptions for each, yet overall they are things that I’ve learned that are absolute must-haves in order to properly manage your reputation as a developer.