Warning: Creating default object from empty value in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-includes/functions.php on line 292
Joeflash’s Enigmacopaedia » Usability

Joeflash’s Enigmacopaedia

Indentation Guides in Flex Builder

Posted in Usability, Flex, Workflow, Eclipse, Flash Builder 4 by Joeflash on the March 17th, 2009

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-content/plugins/codecolorer/codecolorer.php on line 161

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-content/plugins/codecolorer/codecolorer.php on line 162

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-includes/functions-formatting.php on line 76

When I am coding a large class file with several nested code blocks such as methods, try/catch statements, if statements, for loops, I have to use Notepad++ to have access to Indentation Guides, because this feature is not built into Flex Builder. Indentation guides are vertical lines in the editor that follow the tab stops in the document so that code blocks can be visually tracked.

To me this is an essential feature: it is a crucial element of code assist, enabling me to keep track of all the open and closed blocks. I wish Flex Builder had this feature, which is found in several other code editors. If you want to see this feature in Flex Builder, please go vote for Feature Request #17634 on Adobe JIRA:
[#FB-17634] Indentation Guides in Flex Builder

Some Sites Should Never be Done In Flash

Posted in Flash, Usability, Flex, Adobe, Flashturbation, Conferences by Joeflash on the November 7th, 2008

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-content/plugins/codecolorer/codecolorer.php on line 161

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-content/plugins/codecolorer/codecolorer.php on line 162

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-includes/functions-formatting.php on line 76

…Unless they do a decent job at duplicating HTML-like functionality. You see, I have a bone to pick with companies and developers that try to shoehorn a solution into an inappropriate technology. The Adobe MAX 2008 Experience website is a most succinct case in point.

When I go to a conference, I like to assemble all the information available to me in an Excel spreadsheet I can just print out and carry around with me, so I don’t have to look up where everything is when I get there. A bit anal, perhaps, but there it is. This year when I go to Adobe MAX (which is my very first MAX, BTW) I thought I would not have to do that at all because the Session Locater will spit out a customized PDF with all my choices and reserved workshops. Fantastic!!

Only thing is, it won’t list my second and third choices in case I feel like wandering, so I create my spreadsheet anyways. Problem is, the PDF the session locater outputs has the text locked down. Whaa? I try and copy-paste, and all I get is gibberish. Now I understand PDF security preventing copy-pasting on legal documents and such, but on a personalized conference schedule? You know, cause I’m such a Man of Mystery jetsetting from one top secret conference to another, I need that kind of security. Whether by accident or design, this is strike one. So I type the sessions into my spreadsheet by hand, wondering why I’m even bothering. (Update: figured out I can copy-paste the text from the session locator, so I’m happy on that score. : )

But my beef is not with the Session Locater app as a whole, despite this dreadful oversight. That is clearly an excellent use of Flash, a great example of a Rich Internet Application. I go in, do what I need to do, download my PDF and I’m good.

So I’m trying to find out more information on the ‘after events’ for Adobe MAX N.Am. 2008 — you know, the parties and shmoozefests where the action really is ;) Specifically, more information on what’s featured in the “birds-of-a-feather/meet the team” sessions on Tuesday night, so I can include it in my spreadsheet.

I don’t find anything in the Session Locater. Nothing on the customized registration page. Nothing in the MAX Conference Brochure PDF.

Where do I find it? It’s under Highlights on the main “Experience” website. Okay, so far so good: the site has deeplinking so I can bookmark where this info is so I can find it later on.

Okay, so I think, it’s text, right? I can just select and copy. Uh, no. The text here is locked down as well, no can do copy. Here is a Flash site full of text, and right-click > copy is disabled! WTF?! Is this another state secret? So I try to output the site to Flashpaper, to PDF, anything that will gimme da text, fool! No luck, all I get is truncated sentence fragments and goobledygood.

Okay, so the whole point of my spreadsheet is to have the information in a customized, portable format I can carry around with me so I don’t have to dig through the conference literature or open my laptop and surf to the conference website (and pray, pray really hard for a good internet connection). But I’m sure as hell not going to print out screenshots of the damn thing or I’ll burn through a whole printer cartridge.

So I gotta ask the question: who in their right mind builds a Flash website with mostly text, with no print functionality, no textfield copying allowed, all in Black so no one would even dare print out a screenshot? Someone who was in a rush to get it out the door and didn’t think of the user experience, that’s who. That’s madness!

So you know what I did? Not to be daunted, I did take screenshots. Four of ‘em, which told me what I needed to know. I screencap’ed them, cropped them, and inverted the colours so they’d be in white instead of black so I can print them out. Here they are:

Adobe MAX NA 2008 Highlighhts ScreenhackAdobe MAX NA 2008 Highlighhts Screenhack
Adobe MAX NA 2008 Highlighhts ScreenhackAdobe MAX NA 2008 Highlighhts Screenhack

But really, should I have had to go to all that trouble just to make the data portable? The user experience of that website is so old skool it makes my teeth hurt, and is every argument that people use against using Flash. The animations and the game is cool, but I could care less about the eye candy when I’m looking for information. Flashturbation or what guys…

Some sites should never be in Flash. Such as text heavy, hyperlinked websites. Like brochure sites. Like blogs. Like research papers. Sites that the user will want to print out a lot of information. Not unless you’re willing to add the user experience features to make up for this handicap, and even then. To this day I refuse to bookmark or refer to any links from Flash-built blogs, on principle, because they’re such a pain in the ass to use.

Flash just got a whack of new text features; it has deeplinking; it has SEO; it has print functionality; it has enhanced clipboard copy; it has dynamic PDF conversion; it can iron your shirts and predict the weather. So use these features. Or make the site in HTML. But don’t botch the job and make us all look bad. Sorry, from the industry leader of this technology, I gotta call it like I sees it.

Adobe, you did a fantastic job of the MAX conference, I am deeply impressed by the organization of that event on so many levels. But after spending a months’ salary just to go to a conference, well… I expected a better experience. (web experience that is — I’m sure the conference itself will be blast!!)

For all I know this information will all be in the conference booklet I get when I get there. That’d show me and my big mouth, huh? :)

Thermo a Threat to Developers

Posted in Usability, Flex, RIA, Workflow, Thermo by Joeflash on the December 4th, 2007

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-content/plugins/codecolorer/codecolorer.php on line 161

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-content/plugins/codecolorer/codecolorer.php on line 162

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /nfs/c01/h06/mnt/36638/domains/joeflash.ca/html/blog/wp-includes/functions-formatting.php on line 76

Actually it isn’t. But some people think it is. I’ve heard the argument a few times, mostly by developers who have a chip on their shoulder about designers, as demonstrated by this fictionalized conversation with a developer about Thermo. (I gather the names have been changed to protect the guilty ;) )

Normally I don’t bother commenting on fictionalized arguments, it reeks a little too much of he-said she-said flamewars one sees so often. But I’ve heard this argument before, and not just about Thermo threatening the livelihood (read: dominance of) developers over designers, so I felt compelled to add my 2c.

Personally I think the whole argument of whether UI is the exclusive domain of either the designer or the developer, is a waste of time. I used to be a designer, trained in design, went to art school, yada yada. Back in ‘97 no one doing web apps knew anything about UI design on the web. We were all doing it by the seat of our pants. How did most of us learn UI design? By observing what works, what we personally find usable, as well as reading about emerging standards, and emulating that.

Now that I’m a developer through and through, and see things from a more code-centric viewpoint, I notice that although a lot of designers are trained in the tools they use, and are generally very good at design, many of them aren’t any better trained or experienced at UI design than a visually-oriented developer. So there’s a misconception out there that a) all designers made good good UI design, and b) all developers make bad UI design. I’ve see absolutely horrid UI design by very experienced people on both sides of the fence.

As a developer trained in design, I am not shy at tackling a UI design, and do a pretty competent job at it most of the time, but I’m very clear that I’m not an expert in Interaction Design. If an enterprise level app were dependant on my UI design, I would definitely get an UI/Interaction designer on the case. Unfortunately this kind of approach seems to be lacking in both RIA designers and developers alike. And most of it, I think, is simply because traditionally, it has been left up to the “creative person” on the Flash project team to do any of the visual stuff, or to the “deseloper” to manage both UI design and development. For small to medium-scale Flash projects this generalist approach works well; but when you get into large scale Flex projects with dozens of people on a team, specialists will need to be brought in, if for no other reason than to guide certain aspects of the architecture, whether it be visual or data-oriented.

And really, so what if Thermo produces code that needs to be tweaked a little to integrate within a larger project framework? It’s not like we’re talking about designing an HTML site in Word or Front Page or anything: Adobe is well aware of this concern, and is addressing it. And would that not give more work for the developers to do, not less? Developers who feel threatened by Thermo need to get a clue. And clients (or designers) who expect to develop full-blown data-enabled applications in Thermo without a developer are also out to lunch. Tools don’t make good RIAs, no matter how sci-fi they get. Only a good team can do that.

But Thermo might, just might, enable the fledgling “one person web shop” to pump out a few decent applications for Acme Co., or a enterprise RIA project development team to shave the time required to skin and visually design a Flex/AIR app.

I guess the point I’m making is that neither the “designer” nor the “developer,” or even the architect or the interaction designer, should be in charge of the UI design to the exclusion of other people’s input, even though most large teams have a hierarchical structure. It’s got to be a team effort; the moment you start posturing and “excluding” specialities as this piece demonstrates, your project is doomed to failure.

This is such an obvious axiom of RIA development, I wonder if the entire piece was intended as satire, to illuminate just how ridiculous the designer/developer divide really is.