Flash Indexing

No Comments »

As a previously scheduled post on accessibility and indexability went live, a few folks pointed me to some news on searchable/indexable swfs.

A few of the articles I checked out:

  1. Google Now Crawling and Indexing Flash Content
  2. Improved Flash Indexing (Official Google Webmaster Central Blog)
  3. SWF searchability FAQ

I will admit I referred to the articles with a critical eye; google has been flirting with retrieving some amount of content from .swfs for quite awhile. Yet for the first time, I got a sense there has been real progress.

The premise is that Google and Yahoo! spiders will access the content via an enhanced Flash player. This enhanced player will give the search engine spiders the ability to navigate within the Flash experience, and access and index associated resources.

This is an exciting prospect, as until now many site designers were resigned to duplicating the content that was available from within Flash on the HTML page wrapper that housed the Flash. This followed the web development strategy of ‘progressive enhancement‘, where a non-flash-enabled site visitor (like the Googlebot) would be able to access at least the core content, and the more capabilities the visitor possessed (CSS, rich media), the more enhanced their experience. In addition to potentially increasing maintenance costs (to ensure the two versions were in sync), implementing this method is sometimes not feasible at all, depending on the complexity of the application.

I was eager to see how what I knew about Flash accessibility best practices came into play, and eagerly read through the documentation. As I did so, however, I found I had more questions than answers. In the Google Webmaster Central Blog, there is an intriguing statement:

we do not generate any anchor text for Flash buttons which target some URL, but which have no associated text.

When I first read this, I believed it meant that some links may not be followed. This makes sense from the standpoint that a button with no associated text would essentially be a hidden link, and following it may inaccurately represent the content of the site. However, the statement actually focuses on the generation of anchor text. I am not clear where this generation would take place; perhaps in a virtual buffer of all the Flash content? How does the content of the link (assuming that it DOES get followed) get associated with the overall Flash content (since there is no anchor text).

Another consideration is the use of tabindices. When coding Flash for accessibility, tabindices may be used to specify reading order. Is this something that search engine spiders will be aware of? Equally, there is a recommendation in the Google docs to “consider replacing the text within an image.. [to make] ..less informative content.. invisible to [Google]“.
This statement made me question of the sophistication of this enhanced player. For years, Google has managed to determine that items such as copyright statements are not significant content items. So why now are they unaware of this fact now that the content is coming from a .swf? The recommendation to move content from an accessible to an inaccessible form seems terribly shortsighted and irresponsible.
We are now quite sophisticated in using semantic markup for html pages to offer search engine spiders some information about the relative importance of elements.I can only assume that all text being pulled from a Flash element is given equal weighting. If this is the case, as is noted in the Adobe Developer Center documentation we will certainly need to see “best practices emerge over time for creating SWF content that is more optimized for search engine rankings”.

Another major challenge in opening applications up to search is being able to direct the searcher to the relevant section within the experience. This is also a concern with accessible PDFs. Much of the documentation recommended the use of deep-linking. However, it’s not clear to me how the spider is made aware of these deep-links. I will admit that my own exposure to deep-linking with a flash experience is limited: we did this for the People’s Choice Awards site, where querystring parameters were fed into the .swf using flashVars. While the Adobe Developer Center documentation mentions this practice (”you can create multiple HTML files that provide different variables to the SWF and start your application at the correct subsection”), I hadn’t been aware that google supported variables in their search result URLs…

There was also some mention made that external files linked to from within the .swf will be indexed, but separately. The implication is that the contents of a data file will show up in search results, separate from its presentational format (and overall context). While I assume this will be resolved in future releases, a diligent developer will likely want to ensure their “include” files are not accessed on their own. I believe my colleagues did something similar when we launched the Wal-Mart Halloween Flash/HTML Hybrid site last year. They did some great work with deep-linking and history management, and handled orphan content loading (I refer anyone interested in the specifics to Toby Miller). My concern is that based on how this functionality was announced (that developers did not need to do anything for their swfs to be indexed), there will be little motivation to ensure content is always delivered in the proper context.

Obviously, I am very interested to see if this development will enhance the experience of users of assistive technologies. Sadly, I’m not sure it will, as the major breakthrough has been made with the enhanced player. Unless Adobe also plans to work with makers of assistive technologies, I don’t know that any of these benefits will be realized. If anything, site designers may stop some of their earlier practices (textual alternatives).

I’m very interested to know if any of the accessibility properties and best practices have made it into this enhanced search — how great would it be if the use of these properties increased the weighting of content!

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia
  • NewsVine
  • Pownce
  • Reddit
  • Sk-rt
  • StumbleUpon
  • Technorati

Making RIAs Accessible

No Comments »

My topic suggestion for Spring <br /> has been accepted. On June 3rd, I’ll be presenting the following:

Topic: Making RIAs Accessible
Description: Rich Internet Applications offer the site visitor a more interactive, engaging experience. But can this richness be conveyed to a user of assistive technologies, and how?
This session will differentiate between DOM-based (AJAX) and Plugin-based (Flash/Flex) RIAs in terms of navigation and notification of changes taking place. We will look at current and proposed best practices and techniques.

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia
  • NewsVine
  • Pownce
  • Reddit
  • Sk-rt
  • StumbleUpon
  • Technorati

Capstone time

No Comments »

Graduation is scheduled for May 11, 2008.. now I just have to complete my capstone project and I’ll be the proud holder of a Masters of Computer Science degree.

Up until last trimester, the capstone was like a thesis: the student selected a topic, found an advisor and did self-directed study. They recently changed the format to a more traditional class with an instructor and weekly assignments. I was fortunate enough to be allowed to be grandfathered into the old format.

I’m excited about this because it will afford me the opportunity to do some really indepth research into a topic of my choosing. The challenge? The selection of a topic! From what I understand, this was part of the rationale for the format change: students were having trouble finding a topic. My problem is the opposite: there are several topics I would want to write on!

I’ve mentioned in this blog for quite a while that I wanted to write my capstone on “usability-supporting architectural patterns”. I then started thinking about Accessibility in RIAs. I briefly considered doing some research on the Adobe AIR platform, which would have likely meant porting some existing web applications over to the platform to access their differences. Now, however, the term has started and Accessibility/RIAs it is!

The program chair will be overseeing my work, and while I have the general topic in mind, I’m not entirely sure yet what direction it will go in. I fear 12 weeks will simply not be enough to really touch on everything I want to look into. I suppose this is why academics work in the same field for years and years — one can’t really hope to condense everything into a matter of weeks (or a single document).

Some of my thoughts to incorporate into the scope of the project include:
– definitions of: WCAG, Section 508, ADA, RIA, AJAX
– if/how the guidelines apply to non-traditional web apps
– how to make RIAs accessible
– overview of existing testing tools for web accessibility
– ROI/rationale for caring about accessibility

Possibly: how SEO/Accessibility complement/contrast with each other

When I attended Access U last Spring, one of my key interests was in how to sell accessibility to an organization, and who was responsible for it. At the time, the development team I was working on was well informed in best practices wrt accessibility and compliance testing. However, now that I’ve started to fall into a realm of more rich interactive online experiences, there seems to less knowledge of what it means to be accessible, and in fact, the extent to which it is even possible. Obviously I want to sell it to my organization, but I first need to become informed myself as to what that means.

My long term organizational goal would be to sell accessibility to my company, so my capstone will help me to clarify what accessibility means in this new interactive online space. Once we know the “what” and “where” (and hopefully the “how”), we can identify the “who” (and the “how much”)?

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia
  • NewsVine
  • Pownce
  • Reddit
  • Sk-rt
  • StumbleUpon
  • Technorati

Influence Hollywood at People’s Choice!

No Comments »

I am VERY excited to announce that the redesign of www.pcavote.com went live! This is the project I’ve been working on since starting at Resource at the end of June. I’ve learned so much through working on it, but I wanted to reserve comment until it went live. So here it is–

I really enjoyed working on this project, although there was a bit of a learning curve in some cases. I am a front-end developer but I don’t have the flash skills we needed to pull the site off, so we enlisted some fantastic flash designers/developers. It was interesting to see how we were able to put a stylish skin on a very data intensive site. Although I don’t ever see myself becoming a good flash-motion designer, I would really be interested to learn more about the development site of it.
We are using a CDN to serve up our images/flash/css and so I got to learn all about cross domain limitations. We actually had some really interesting flash bugs that cropped out purely as a side effect of how we were serving up our data, and I was in there mucking about the code to figure them out. Sure, I couldn’t FIX the problem once I found it, but it gave me a better idea of some of the intricacies of actionscript.

We also included a variety of different javascript libraries and snippets, and it was interesting to see how the played (or didn’t play) together. I had never actually worked with mootools before, but I dipped my feet in a little. A graphic designer suggested the use of curvy corners, and one of our developers improved modified it to integrate with mootools. Throw in swfobject, and we just had a ton going on! I learned about the difference of domready vs load (which safari doesn’t respect), and I think it all came together pretty well…

Before we start working on the next release, I have a few other smaller projects on my plate. I’m working on a microsite with a few other developers, which is great because I have the opportunity to see how they approach projects. I will admit, TM’s crazy chaining javascript was intimidating at first, but it was great to do some ‘peer programming’ with TM and BV, and find out their opinions and best practices.
I believe I’ve also already mentioned hackfight, which is a non-project flex prototype project a few of us are working on. The final presentations are next Wednesday. We have a pretty neat idea, I’ll be excited to see how the presentation/demo works out, and how the other teams fared. It’s a really neat concept: we dream it up and build it ourselves, outside the scope of actual client work.

If work weren’t keeping me occupied enough, I am also entrenched in my classwork. Both classes seem incredibly timely: “verification and testing” as we just went through a release cycle for PCA, and “distributed systems” as that’s really what we build :) As we went through testing for PCA, it was painfully apparent that there are challenges associated with testing for UI and RIA that haven’t really been fully met. Just this morning I stumbled upon some documentation on testing flex, that I am thinking about exploring for a project for my testing class.

I know that our affinity for a certain subject area can ebb and flow, and I am definitely in a space where I am open and engaged in all this technology/systems architecture mumbo-jumbo. There is so much to think about, so many connections between all these concepts and ideas - it is just about refining them all into a cohesive system..

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia
  • NewsVine
  • Pownce
  • Reddit
  • Sk-rt
  • StumbleUpon
  • Technorati

Road to Flex Certification

No Comments »

I took the Java 2 Developers Exam back in 2003, the same month I finished my coursework for my Bachelor’s degree in Digital Communication. I’d taken several courses in java (the language itself as well as client-server programming), purchased a certification prep guide, and went for it! I passed, got my sheet of paper and have barely touched java since.

Now I have my sights set on the Flex 2 Developer Exam. As a newer technology, there aren’t all the online tests and prep guides that there were for java. I am enrolled in a training course now, but I don’t know that I will attend any further courses. This is obviously going to be a self-driven effort!

I am at the stage right now where with my Flex hammer, everything looks like a nail. I am looking for every opportunity to use flex, but I know I need to keep in mind its strengths and benefits. My portfolio is incredibly outdated (I created in during a 6 week course during that same undergrad program mentioned above), but I don’t know that it’s ‘rich’ enough to warrant developing in flex. I was also thinking about developing my own prep guide for the certification exam in flex, but before embarking on that, I want to ensure it really is an appropriate format. Certainly it would give me some more experience using flex, but I don’t know if a study guide is really a) an application, b) rich. I will have to think about this some more..

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia
  • NewsVine
  • Pownce
  • Reddit
  • Sk-rt
  • StumbleUpon
  • Technorati

Flex Training: Developing Rich Internet Applications

No Comments »

After a slow start, I am now well-immersed in flex training. Our instructor missed his flight into town the first morning, so started a good 2.5 hours late. However, we students in the class spent some time on our own discussing what we understood, and I think overall that was a valuable exercice. There is really nothing like explaining something to someone to see how well you understand it.

I enrolled in the “Developing Rich Internet Applications” but I think I may have been better off enrolling in a more advanced class. I had already done plenty of reading and playing around, as opposed to some students who had no knowledge of flex at all.

I have been doing some more research on Flex Certification and I expect I will be pursuing it. I managed to find a fair amount of information on Jun Heider’s blog. Although the timing isn’t ideal (I’m about to start two more courses for grad school this week!), I am going to work towards certification before the end of 2007.

  • go through and make study notes based on the Flex2Blueprint Jun posted.
  • subscribe to Lynda.com training for one month, watch the videos
  • Ideally I’d like to take the “Programming the Visual Experience” training class, but I’m not sure if that will work out.

I will continue posting my progress on this as I go along–

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia
  • NewsVine
  • Pownce
  • Reddit
  • Sk-rt
  • StumbleUpon
  • Technorati

off to Flex training!

No Comments »

I had some downtime at work so late last week I suggested they send me to training — I leave in a few hours for “Flex 2: Developing Rich Client Applications” training in Florida…

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia
  • NewsVine
  • Pownce
  • Reddit
  • Sk-rt
  • StumbleUpon
  • Technorati

flash versus flex - you don’t know what you don’t know

1 Comment »

I have been anxious about some aspects of the flex interface on the site I’m working on right now. I have started and restarted, trying to leverage certain pieces of what I think flex will offer me, and coming across stumbling blocks along the way. Finally mid-week I came to the conclusion that from what I knew of flash, this was something that could be done in flash.. but I wouldn’t be able to do it myself. I got help — and from the way CL approached the problem, I felt vindicated: there was no WAY I’d have been able to do it on my own.

Well today we were talking about it with KS, our resident flash/flex guru, and he showed us how it could be handled in flex. He pointed out the benefits flex would offer, and offered some advice on some of the stumbling blocks I’d encountered. After only a few moments of him time, I think both CL and I wondered if we shouldn’t have given it a try in flex.

I believe we shall: while the flash version will likely go forward in this release, I think we’re both going to look at reengineering the piece. I think it would be a great learning opportunity for us both to do it, and then look at how we each did it, as a learning experiment. KS actually runs the RIA Working Group at work, and he said this could be a great topic of discussion: looking at both versions (all three?) and talking out the pros and cons.

My concern has been ‘not knowing what I don’t know’, that is, not being familiar enough to know the best approach. But perhaps I need to embrace the idea of “getting it done” and learning through the experience. I am very excited about the idea of this being a challenge outside the constraints of a work deadline: just trying to get it done, and seeing how someone else approaches it.

Like it? Share it! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • bodytext
  • del.icio.us
  • Facebook
  • E-mail this story to a friend!
  • Print this article!
  • Mixx
  • Google
  • TwitThis
  • BlogMemes
  • Furl
  • Ma.gnolia