I just spend about 15 minutes explaining the difference between HTML and Flash to my brother. It turned out to take longer than I would have thought.
Eventually, my explanation was that Flash and HTML are tools for making similar things but with completely different mindsets.
The goal of both tools is to make an interactive stuff, mostly webpages. The original mindset of Flash is that each interactive object will be unique. It will have it’s own rules, it’s own interface, it’s own bucket of text and images. The original mindset of HTML is that everything will be part of one larger system. The system will have default settings and be open to borrowing, manipulation, and reconfiguration.
In nerd news, there’s been a lot of talk about how, or when, Flash is dying. But I think the discussion is missing out on the fun part about a recurring distinction between systems and objects. You think of your toaster as an object. It takes bread and makes toast. It’s easy. But a product designer would say that their toaster is a system. It fits in a box and stacks on a pallet and is ‘compatible’ with these kinds of bread and recycles into these materials.
Nobody wants to deal with the system. The system is usually a pain in the ass. And an object without a system is fun, but put them together and you have a pile of junk.
I think ultimately, we want to deal with objects. Then we want them to be in systems.