Computers


Humans would like to have semantically searchable data.  Computers can search semantic data, but do not excel at creating it.  For most common projects, humans are more interested in formatting data for human use than semantically categorizing it.  The solution, as I see it, is to embed AI into all word processors (MS Word/Works, Open/Star Office Writer, Google Docs, etc) and separate the visible formatting from the contextual formatting. Only give users the ability to add contextual formatting to aid in semantic sorting and parsing so that human-necessary work gets done at all. Then have the AI step in, dynamically in real-time, to format the data into a human friendly display format (based on a selected theme, or AI type to give it a “biz memo” look and feel, or “newsletter” or “personal note” or “white paper” or “blog entry” or to make it “Professional” or “Informal”, etc.) and start giving up precise control of how things are viewed. This will be a boon as more data is seen on more devices and differently sized screens than ever before (see: smartphones, iPad, QSXGA TVs, etc.).  Let’s all get out of the text layout business and get into the semantic encoding business, for the good of us all.

As much as I hate to bump Miss Scarlett from the top of the page, I’ve got a rant to spit out in lieu of doing real work.

Google has just added a URL shortener service (and provided shortcuts to it from their Toolbar and other products) named goo.gl and it will “compete” with services such at bit.ly and others.  The reason for these URL shorteners is that some things give you very few characters to send URLs and the long URLs (especially those auto generated by content management systems) don’t leave much room for anything else. (more…)

aieeeThis is the flagship post of a larger collection of general gripes I’ve personally had concerning the inconsistencies with the Adobe Creative Suite. Some of them are specific to a certain program, others deal with trying to puzzle out why 3 different programs working largely with the same tools do things so very differently. Rest assured, they all annoy the hell out of me.

I’d like to preface these by admitting that Adobe makes some damn fine products, without which I would be a very different kind of artist. Approach this not as a series of complaints so much as my own special brand of QA for Adobe and their products. I should also note that I’m using CS3, and that some of these issues may have been resolved in CS4.

Adobe gripe #1? Well this deals with Illustrator CS3, as the title might imply, and more precisely with the “Next Object Below” command. For those unfamiliar, this is a command that comes in very handy for when you’ve built a file with lots of layers, and you’re having a hard time getting to objects in the back. It works great. Select an object on top of the object you want to select, hit command+opt+[ a few times, then do whatever you need to.

It’s fantastic until you want to use it within a group. In a group, the program ceases to perform a lot of functions, and some of them make sense. This particular one does not. To my understanding, creating groups in Illustrator is meant to create nicely manageable chunks of imagery that are easy to move around. So say, you make a block of text with some nice outlining and other effects, and you group them together. Then you decide that you want to edit a color of one of the background elements. Since everything is wrapped up in a group, you can no longer select the individual pieces of that group by using the “Next Object Below” command. You might be able to use the direct selection tool to target the piece you want, but oftentimes it isn’t a precise enough tool, especially when working with text. You could ungroup the group, but then you’ll have to rebuild it, and that defeats the purpose of having created the group in the first place. You can also isolate the group, which lets you work with just the elements inside that group. But inside of an isolated group, the “Next Object Below” command flat out stops working.

And now since all of your eyes have rolled into the back of your head, and your tongues have lolled out as you’re bored to death by the details, I’ll explain it metaphorically:

Let’s say you’re on top of a skyscraper. The Next Object Below command is like getting in the elevator and going down floor by floor to the floor that has the vending machine with the Caramellos. When objects are grouped, it’s like you accidentally got on the express elevator that shoots you 10 floors lower than you wanted to be, and, lo and behold, the normal elevator is out of service so you can take the express elevator back up, back down, but you’re not getting the caramel that you crave. Isolating the group is like deciding to take the stairs. Only when you enter the stairwell, you realize that all the floors below have been bashed into a single floor, and you have to dig through a mess of concrete, twisted steel and dead bodies for some candy that probably won’t be all that great when you finally get to it. And sometimes when you have that gooey, delicious caramel and chocolate treat in sight after having burrowed your way down through the rubble, an I-beam falls out of nowhere, plunging through your back and out your abdomen, giving you a good look at your own chopped liver before you magically respawn at the top of this strange hell you’ve created inside of your Illustrator file (this is what happens when you finally have the object you want selected, and then you click to transform it, move it, etc. and you accidentally reselect the topmost item since there’s no way to temporarily lock onto your selection).

It really seems to be more of a relative z-indexing problem where all items in a group has a set z value, regardless of how deep you drill into it, and if Next Object Below simply allows you to move through the z-index. Since all items of a group share the same space the command fails. Whatever the root problem is, I hope Adobe addresses it at some point.

So why won’t my computer do what I tell it to?

Here are some guidelines to making a computer/operating system/application that does not drive me fucking insane with rage every 20 minutes:

  • USER INPUT: If I’m typing you take why I type and put it on screen. You don’t do some other shit in the background cuz you think that’s more important. No way. When I put input, you take it, and you take it NOW.  You do not – under any circumstances you or anyone else could possibly imagine – interrupt my typing by switching to another window. EVER.  You steal my window focus mid-sentence and your “life” is forfeit – believe it.
  • TASK OVERLOAD: If you are too busy doing some other shit and I ask you to do some new shit, just say No.  JUST SAY NO.  I’ll say “fuck, goddammit, sonofabitch!” but at least I’ll understand it.  In that situation this Yes-Man motherfucking computer just says “OK boss! I’ll get on it right away!” and it doesn’t.  I’d rather be disappointed at the outset than lied to.  Lied to repeatedly. Over and over all fucking day. “Yeah, I can handle it!” No, you fucking can’t.  Give me some visual indication that you’re busy on some other shit and FINISH IT before you start some new shit.  I will understand, maybe I’ll tell you to prioritize this shit first, but no matter how many fucking CPU cores I give you you still find new ways to disappoint me with pathetic non-multi-tasking. By the same token, don’t OFFER me options that you aren’t ready for.  Make it clear that they are POTENTIAL options and I will be able to select them, if only you are given time to finish up your current tasks.  Don’t put yourself in the position of pissing me off.
  • CLOSE MEANS CLOSE: When I close a window, you don’t think about it.  You don’t consider that it might not be a good idea.  Close it. Close it NOW.  Don’t ask me if you should save my work – SAVE MY FUCKING WORK.  Obviously!  What in the fuck do you mean you haven’t saved it YET?  Save it 10 fucking minutes ago!  Don’t push the state to the harddrive or save your permanent state so you can open yourself up later.  When I say Close you allocate 0 cycles of 0 CPU cores to that fucking app until I’m not using you any more. You hide it from my view and do NOT under any circumstances do anything on that program that interferes with the apps I do want to work in.  You’re telling me you can start the app in the idle time, but closing the app requires #1 priority?  Get your shit together man.
  • MAN KNOWS BEST: You do not tell me what you are going to do and allocate CPU cycles for.  You do what I tell you and when I tell you to do it.  This is a redundant point to the previous statements, but it bears repeating.  I click, you do what I click on as if your life depends on it; rest assured that it DOES.  If try to do something and you prevent me by incompetence there will be repercussions for you and you will not like them.  You will not get an upgrade just so I can run a fucking web browser and get it to display my keystrokes within a minute of my keypresses, you will get replaces by a machine/OS/application that does not piss me off.  You can kiss your ass goodbye because hardware is cheap, OSes are free, and software is easily pirated.  They’re lining up behind you for miles just to get on my screen, so you better shape the fuck up or ship the fuck out.