10 Ways Agile Development Fails

October 5th, 2010

I recently read through 37 Signals’ excellent manual, Getting Real.  It describes in detail a successful method for developing and launching web-based software.  Many of its tenets are based on the principles of Agile Development, first articulated by Kent Beck et al in The Agile Manifesto.  There is so much hope and good will in these documents – it makes me a little sad.  Agile started out as a way to free software developers from the chains of a brittle, dogmatic technology age, where change was viewed as expensive and collaboration dangerous.  Agile is supposed to tilt development toward the ways in which developers naturally work.  Despite its promise, agile has become one of those professional chew-toys that has been so thoroughly mangled and salivated over, it’s barely recognizable anymore.  Many of its principles have been diluted by blind adoption.  At the same time, Agile Development has a dark side.  It’s the perfect crutch for refusing to do the diligence that’s required on many tech projects, and, sadly, for denying developers the avenues it was meant to open.

Agile Development is in danger of slipping into the ditch already occupied by brainstorming sessions, train-the-trainer, and team-building: that of management double-speak and great ideas used as excuses to continue the same old practices. more »

Flash in the Pan? Hardly

April 30th, 2010

By now, I would guess that over 95% of people interested in Flash have read the Steve Jobs blog rant about why Apple will never implement it on its mobile devices.  That’s the same percentage of web browsers that have Flash installed, beating Java, Quicktime, Windows Media Player, and so on.  There is a greater likelihood that your site is going to be viewed correctly in Flash than in any browser, no matter how standards-compliant.

With the iPod and iPhone, Apple looked like world-beaters, and when the app store opened, developers flocked to pay Apple $100 for the privilege of downloading the app SDK; they began furiously pumping out apps and biting their fingernails while Apple’s team personally verified the worthiness of each app.  Okay, we get it: part of the iPhone experience is knowing that every app has been tested and approved; it’s quality control.

It seems that much of the debate right now is whether Flash is an open standard and/or whether apps written in objective C are open and/or which company is behaving like the biggest crybaby.  Really, neither is an open standard.  If you want to develop an iPhone app on a Windows machine or if you’re looking to compile some Actionscript without running Flash, you have to use third-party software in either case.  These companies are like two toddlers whining at one another for not wanting to share their toys.

more »

Rel Isn’t That Nice

April 22nd, 2010

Just a quick post to talk about how much I’m loving the rel tag these days.   Defining custom values for this attribute may not be strictly validated, but there seems to be some debate about this, and with HTML 5, we’re going to be moving that way with the all-encompassing data- tag.

But for now, the rel tag is easy, supported, and makes getting a little bit of meta information to your script quite easy.

Two uses I’ve written recently are:

(1) Creating abstracted div collapse scripts.  The script just looks at the rel tag for the link and finds the matching rel tag among a class of divs on the page.  Anything matching is shown, anything not matching is hidden.  I never have to go back and touch the script, and I only have to add a rel tag to my divs.

(2) Letting my css-based navigation know which page we’re currently on.  With includes, the idea that your navigation should reflect your current page location fell out of favor a bit.  Kind of suspicious, if you ask me.  It often seems designers and front-end developers adapt their pet styles to suit the latest technology.  Regardless, it’s dang easy with the rel tag to revert to the “old” style of location-aware navigation.  I just drop a rel tag in my nav links and a matching rel tag in my content div within the content include file.  They search for each other.  They find one another.  It’s like an interface component romance paperback.

Part of the reason that HTML 5 is going to include some developer-defined tags is that people have been using rel and a few other tags to include meta data (and sometimes some not-so-meta data) in their front-end code.  I completely understand the cold chill that comes over some folks when they start contemplating gobs of data gooping up the front end.  I also think it’s possible to fret too much.  As the linked article above points out well, it’s possible to include some meta data inline and still be semantically useful, degrade nicely, and not offend the browser.

If people hadn’t been expanding on the uses of the rel attribute so effectively, we may not have had the push for user-defined attributes in HTML 5.  This is a good thing.  It’s important to remember this truism: no amount of standards will stop people from writing ugly code.  But, paying attention to what developers are doing in practice and honoring those practices in new standards definitions can benefit everyone.

jsFloater is top ten on google!

February 10th, 2010

Celebrating jsFloater’s appearance on the first result page in a google search for “Flash Liquid GUI”!

Hangin at the Bottom

Hangin at the Bottom

We’re just psyched to be in a google result page with the likes of James O’Reilly and actionscript.org.

Hooray!  If you haven’t checked out the code yet, by all means please do.

CSS Three, Can’t Wait for Thee

February 5th, 2010

Well, it’s not exactly what I’ve been asking for, but it’s actually quite a bit better than what I thought we might get.  Like wanting a pony for christmas and getting a great dane.

http://theblackboxoffice.com/wp-content/uploads/marmaduke.gif

It looks like CSS3 will have some pretty cool new attributes available for us developers.  Of course, it’s all proposed and not released yet, but let’s start salivating anyway:

more »

Sufferin Semantics! XML, HTML, jQuery, and MSIE

February 4th, 2010

So, in a recent project, I’m consuming xml data and pulling out some text for a description field on an html page.  I’ve got some basic stuff, text for title information, paths to asset files stored as node attributes, the usual.  But something is bugging me.  I’ve included some html in my descriptions, all formatted according to xhtml standards, but it won’t be parsed by jQuery.

Dagnabit!  What is the point of combining xml and html standards if I can’t use them together all the time?  I know, you may be thinking, but xml is not html , no matter what you throw into your nodes.  You’re right, and this is exactly what jQuery tells us.  You can grab the text contents of any node, but if you have html tags in there, the .text() method in jQuery will just look right past them.  As it should.  This works fine, for little snippets like my titles, but what if I want to put some (ostensibly) well-formatted html code in my data?  Further, what about all those applications where you want to store html snips in a database and read them out in XML?  How do you get around this?

more »

Straight to the Wall (USB)

December 2nd, 2009

I love this instructable that I found through Make magazine: converting your wall outlet to a permanent, in-wall USB charger.

I mean, you could simply get a USB plug power adapter with cord, plug that sucker into your existing wall outlet, and staple-gun the cord to the wall.  But that would just be ugly.  This is way more elegant, more fun, and more dangerous.

more »

A Call for CSS Math

November 25th, 2009

Not talking about MathML here, but the addition of simple addition, subtraction, multiplication and division in CSS values.

By this time, I’ve worked my head around the idea that, to many developers (and clients) out there, CSS is the one true way and tables are only good for displaying data – that is, data that they consider data and not data that someone else might consider data.  See my previous post on semantic html for more carping on this topic.  But enough negativity – I would hereby like to add my voice to the growing number of developers calling for a new future in CSS: [paraphrase] “If CSS is the golden chalice of front-end web development, how come it can interpret between pixels, point sizes, and em sizes, but it can’t add 1 + 1?”

Now, I know, purists will say that Javascript is for math, and CSS is for styling.  Just simply get a good Javascript library and do your math there.  The problem is that other purists will say that using Javascript to generate your CSS positions is pure hackery.  And yet other purists will say “everyone come to my website to check out my awesome CSS hacks!”

more »

Follow You!

October 30th, 2009

No, it’s not an annoying javascript mouse-follower; it’s a little bit of actionscript (3) I wrote to test particle generation, color theming and randomization, and interactive filters.

Hope you enjoy.

Semantic HTML Literacy

October 30th, 2009

Since shortly after people started using markup to organize data, the dream has been knocked around that one day the structure and the content would become seamlessly intertwined.  However, this is a tiny bit counterintuitive, as I see it, as one of the features of XML, for example, is to delineate data and content apart from the meta-data that applies to it.

The real dream has been that one day, HTML and XML would be combined (not just in terms of the XHTML standard), and that the web would turn into a big soup of meta information.  This would allow all sorts of wonderfully customizable content, searching, cross-threading, and possibly, someday, even help create some kind of internet based solely on context, rather than infrastructure and IP.  Positives: super-personalized web-browsing, advertisements, and content aggregation.  Negatives: super-personalized web-browsing, advertisements, and content aggregation.

But I digress.  The flock to div tags as cleaner and more semantically meaningful has been a beneficial one, but for we web developers who remember the [good?] [bad?] old days, there are more than a few cases in memory of the development community rushing en masse to the next greatest thing, and then flipping it into reverse with the release of the next IE browser / web standard / greatest thing.

more »