meyerweb.com

Skip to: site navigation/presentation
Skip to: Thoughts From Eric

Archive: 'Mac' Category

Wrapped in Canvas

In his most recent post on the underpinnings of the Dashboard, titled Introducing the Canvas, Dave Hyatt said the following:

Another extension we made to HTML is a new element called the canvas. This element is essentially an image element that supports programmatic drawing.

And then, a bit later on:

In addition to the canvas element, we’ve also introduced a new attribute onto the img element. The composite attribute allows you to control how an image gets composited.

Wait a minute. Did I just get hit over the head and magically transported back to 1994? New HTML elements and attributes? What the bleeding hell?!?

[insert sound of forehead banging repeatedly on desktop here]

I hope I’m reading his post incorrectly. I hope that what Dave is really saying is that Dashboard widgets are actually XML, albeit an XML that looks very much like HTML except they’ve added some nifty stuff to it. If so, great, fine, no problem. XML lets you do whatever you want, really. But if these are widgets that use actual HTML DOCTYPEs, and yet add this stuff, then the throbbing vein in my forehead is going to rupture and spray blood all over my shiny TiBook. We just left that tag soup party. I really don’t want to have another steaming, fetid bowl of it plopped down in front of me. Not even one that exists in a ‘closed’ environment like OS X.

Even if Dashboard widgets are currently built around invalid HTML documents, it seems like there’s still plenty of time to convert them to well-formed XML, thus (largely) solving the problem. Heck, there’s even time to create a DTD for the widgets, thus permitting the widgets to be both well-formed and valid. I’m all in favor of that approach. As a measure of last resort, a new HTML DTD could be written for “Dashboard HTML 1.0″ or something like that.

But if it’s all really broken HTML 4.01, not XML, then there’s a serious problem. From a forward-compatibility perspective, the Dashboard would be no better than Microsoft’s CSS-like extensions, the ones that let authors change the appearance of the browser’s scrollbars and other such wackiness. In fact, they’d be much worse because there now exists the ability to create the Dashboard within the open framework the W3C has (slowly and painstakingly) created. To ignore that would be the worst kind of regressive move.

Polishing iChat

In between fighting with paperwork and other annoyances, I took the same promotional iChat image I used in yesterday’s post (and which I originally pulled from the Tiger iChat page) and faked a series of textured tabletops beneath the video chat windows. They’re rough approximations of what I think could be done, put together with some texture images I had lying around and off-the-cuff fiddling in Photoshop. In case you’re wondering, the four textures are “stone” (an indeterminate speckled gray), wood, marble, and what I call “sea foam”. I didn’t do a water distortion version mostly because I was spending less than an hour on the attempt, and I didn’t feel like trying to recreate the whole scene in a 3D modeling environment just to get the right reflections.

So now you can see it just the way it looked to me when I imagined it. Well, not precisely, but really close.

As for the idea of having documents show up in that workspace, they could be in-perspective sheets of paper lying on the surface, with a thumbnail preview of the contents visible on the sheet, or they could be little icons floating in space above the tabletop (or else sitting on it). Either one would work fine for me. The “sheet of paper” idea extends the visual metaphor Apple’s clearly pursued, but it could also quickly chew up the space available to either side of the little “me” preview window. Little floating icons (or boxes, whatever) would be more compact, while still participating in the metaphorical space.

Now, if the application let you warp or otherwise texturize the chat windows themselves, then we’d be off to the races. Imagine putting Etch-A-Sketch frames around the windows—and imagine running a filter that made each frame look like it had been drawn on the Etch-A-Sketch! Killer. For that matter, you could turn each chat window into a Gameboy Advance, and run a pixelizing filter on the streams.

Like I said before, if you’re going to have gratuitous eye candy, you may as well go for the gusto.

Tiger Watching

Over at Daring Fireball, John Gruber pointed out that Tiger’s Dashboard isn’t quite as much of a Konfabulator rip-off as it first appeared. His primary point was that the principles in Dashboard and Konfabulator aren’t anything new, and haven’t been for a couple of decades. However, it was his highlight of a comment by Dave Hyatt that really caught my eye. Dave said:

I wanted to blog briefly to clear up what the widgets actually are written in. They are Web pages, plain and simple (with extra features thrown in for added measure). Apple’s own web site says “build your own widgets using the JavaScript language”, but that’s sort of misleading. The widgets are HTML+CSS+JS. They are not some JS-only thing.

So… with the skills I already possess, I can create my own Dashboard gadgets, as can thousands of similarly skilled designers? How cool is that? I’m already itching to get my hands on the Dashboard developer information, so I can find out what these things can do and how I can bend them to my will. As a trivial example, if I can get information via SOAP, and I can’t imagine why I wouldn’t, then I can use the weather data service I recently linkblogged to grab the current and next-seven-days’ forecast for any location in the United States, not to mention present the resulting information in a really beautiful way via the Dashboard. Since the service returns results for latitude/longitude coordinates, it would be best crossed with a dataset correlating city names to lat/lon coordinates. That shouldn’t be terribly difficult.

In fact, Web services in general could get a huge boost from the Dashboard. Search gadgets for Amazon, Google, and any of a thousand other sources would be a snap. Infoaggregators, pulling in data from various sources into one place, would become very simple. Creating point-and-click editors for OS and application preferences should be trivial. You’d also have the ability to grab information about the machine itself (memory usage, disk usage, CPU activity, top listings, etc.) and present it in truly useful and beautiful ways. The possibilities are nearly endless, and my few fairly pedestrian ideas likely don’t even begin to touch on what can be done by a really creative programmer.

That’s especially true if, extrapolating from Ian Hickson’s recent comments, the Web Core contains XFormsWebForms 2.0 support, thus making advanced controls available in Dashboard gadgets.

Then there’s iChat AV. I’d like to see it permit audio chatting with AIM users, as opposed just video chats, but then I think that should have been possible already. What really got me stoked was (of course) the gratuitious eye candy. A picture of the iChat AV interface for OS X 10.4. As Apple says:

iChat for Tiger introduces a new kind of interface for video conferencing. In its three-dimensional view, your buddies seem more like they’re in the room with you, making it easier to follow the conversation. Their images are even reflected in front of them, just as if they were sitting around a conference-room table.

Well, that’s true if you often hold meetings around conference-room tables made entirely of smoked glass. What Apple really needs to add to iChat is the ability to pick different surfaces for the “tabletop” beneath the video windows. They could include a highly polished, dark mahogany surface, for example, to really convey that upscale conference room feeling. Or a reflective granite surface, for a feeling of solidity. Hell, how about having the video portals hang above rippling water, with the video images reflected in the waves? It seems like Core Image has all the pieces necessary to make any of those things happen, and then some.

For that matter, making it simple to drag an image file onto that tabletop and have it mapped on seems a snap. You should be able to put your company logo there, embossed or glazed or otherwise applied to the tabletop, whatever its base surface effect. Basically, you should be able to make the tabletop look even more killer than it already does. Why not? If you’re going to include major eye candy, then no sense holding back.

Addendum: in the comments, Jason Lustig pointed out something I failed to mention, which is that the tabletop is good for much more than just awesome visual effects. It also makes a great shared workspace, a place where one participant could drop a file for everyone else to pick up. As he put it, “just like if you were passing out sheets at a real meeting!”. Exactly—and, of course, the document could even resemble a real document by generating a thumbnail of the document’s actual appearance, and mapping that onto the virtual sheet on the tabletop. Whee, more eye candy! I hope the Apple programmers add that ability to iChat before Tiger is released.

Add things like Automator, and this definitely looks like an OS upgrade well worth buying. I really hope that “the first half of 2005″ means “in January, but we wanted to hedge our bets”.

Chat Lunatique

So there was a big deal made out of the fact that iChat AV 2.1 and AIM 5.5 can do videoconferencing. Apple’s iChat page and a press release from AOL both proudly announce how the two can interoperate. For example, here’s an excerpt from the AOL press release:

The new live video instant messaging feature in AIM 5.5 is fully compatible with iChat AV 2.1, Apple’s breakthrough video conferencing technology. Now AOL users from a PC can tap into the worldwide community of iChat AV users on Macs. iChat AV 2.1, the latest version of iChat AV was released by Apple today…

This would be ideal for me, as my father has AOL and the latest version of AIM for Windows XP. He’s also moving to Florida, where he’ll have broadband. So I view this as the perfect way for him to keep in closer touch with us, and to be able to see Carolyn as she grows, even though he’ll be living a thousand or so miles away. When she gets older, it will be a way for her to keep in touch with him as well.

Now, neither Dad nor I own a camera yet, but we do both have microphones, so I thought I’d test out the audio chat capability. So far, zippo. He and I have both made sure we have the right versions of our client software. We can’t establish an audio connection.

So, has anyone gotten this to actually work, and if so, how? I’ve opened up all the ports I can find that even seem to be halfway relevant, as per an Apple KB article I found, and have checked my router to be sure it’s allowing traffic on those ports, but I still can’t establish an audio connection with AIM users. Text chatting, no problem, but I don’t even get an audio-chat icon in my Buddy List. I do get one for all the iChat users in my List, and have audio-chatted with a number of them. Do we both have to own a camera for this to work? I had figured, you know, if video conferencing was supported then audio conferencing must be supported, but perhaps that would be expecting things to make too much sense.

If anyone out there has a solution, or even a pointer to information about it, comments are most welcome.

Functional Changes

I’d just like to say that Mac OS X Hints is one of my favorite Web sites. That’s where I found out how to hack the OS to fix the New Folder/New Finder Window keystroke combinations, for example. Just a couple of days ago, I was wondering if there was a way to get the function keys to be actual function keys, instead of requiring use of the “fn” key to make them work. As it turns out, there’s a new preference setting in 10.3.3, and I’ve already toggled mine. Now I can play Myth again! Not that I have any time to do so… and if I did, I’d be more likely to keep working toward the end of Metal Arms: Glitch in the System anyway.

Thematic

CSS seems to be the theme of late, so I’ll keep running with it and bring back the meyerweb themes of old (as several people had e-mailed to ask if I could do). They won’t be available for the general site; instead, I’ve set up an example page where you can play with them for yourself. As noted, some images used in the themes are copyrighted, while others are not. The thematic styles themselves are now explicitly under a Creative Commons license, so do as you please with the styles, assuming you stay within the license terms. Which shouldn’t be difficult; it’s a straight NonCommercial license.

Two of my favorite movie-and-music moments happen in the same film: The Matrix (which itself inspired one of the old meyerweb themes). The first is the sparring program scene, where the upbeat video-game-like music goes along perfectly with the video-game flow of the sequence. The second is the lobby shootout scene, where the video-game-like music goes along… you know. The music used for the lobby scene is “Spybreak!” by The Propellerheads, albeit an edited version. In fact, the version on The Matrix’s soundtrack CD is edited down from the original Propellerheads version, which is almost twice as long, off of the album “Decksanddrumsandrockandroll”. A while back, I assembled a personal mix called “Der Funkengrüven”, and it ended with the soundtrack version of “Spybreak!”, the only one I had available.

I’ve always wanted to use the album version instead, but I was never sure if it was worth it to buy the CD just for that song. So I dropped into the iTunes store, called up the album, listened to the high-quality half-minute excerpts available there, and have decided to buy the album. My only real dilemma now is whether to buy it via the iTunes store for $9.99, or to spring for a couple of extra bucks to get the physical disc in a jewel case and everything at Buy.com. It’s my first real experience with the iTunes store, and I have to echo what everyone else has been saying: Apple got it right. The store just works. I wish the excerpts were a little longer, say 45 seconds or even a full minute, but that’s just picking a nit. If I didn’t harbor lingering affection for owning albums in a physical form, I’d already have paid to download it, and I still might. For an oldster like me, that’s saying something.

Sadly, I can’t use the iTunes store to replace my long-lost copy of “The Bobs“, but maybe I could use the store to acquire some Neil Young music…

Exceeding Expectations

When I praised Apple yesterday for their repair service, I didn’t realize just how much praise was due. I was so excited to get my laptop back with working hinges, I hadn’t looked closely at the rest of the exterior. As TiBook owners know, the finish has a tendency to scratch. I’m not sure why that is, although I’m sure a Google search could yield all manner of answer, but the upshot is that the back of the display panel had a few nicks and dings; even a small dimple that prompted someone to ask if the laptop had stopped a bullet for me.

Now it doesn’t. The unknown technician replaced not only the hinges, but also the whole panel backing… and maybe even the whole display panel, screen and all. Now the machine looks as sharp and smooth as the day I bought it.

Let me be clear: those scrapes had nothing to do with the hinge problem. They were the result of “normal wear and tear.” There was absolutely no obligation on Apple’s part to do anything about them, any more than it would be Dell’s responsibility to replace a plastic surface on a Windows laptop that had gotten a scratch after half a year of ownership. While fixing the major problem, the unknown technician noticed that there was something else that could be fixed, and just went ahead and did it. No fuss. It wasn’t even noted on my repair history. It was just done.

I’ve never been sorry to buy Apple products. Now I’m actually proud to be a customer.

As a postscript, I’d like to point out that mine is an older-model Powerbook. The new ones have a much more scratch-resistant surface, and a totally different hinge system. On the new ones, there’s a single large and sturdy hinge that runs most of the width of the machine, occupying about the same amount of space as the gap between my hinges. They have other improvements too, like a backlit keyboard and ports on the sides instead of in the back, and I wish I could have waited another two months to buy my laptop so I’d have one of the new ones. Nothing wrong with mine—the new ones are just cooler.

For those of you using an RSS aggregator, you’re probably going to see all of my entries turn up as new a few more times. I’m adjusting the way I produce the feeds to include an indication of the post length and the categories to which the post belongs as text at the end of the feed description. I may also modify it to include the first sentence of each paragraph instead of just the first sentence of the entire post.

Incidentally, a few of you have asked why I don’t provide the complete post content in my feeds. For me, it’s a bandwidth issue. I was looking over the access statistics for January, and was astonished to find that the two RSS feeds together were accessed over 189,000 times. The home page, by comparison, was hit over 53,000 times. The latter accounts for 9.3% of the outgoing bandwidth; the two feeds together add up to 1.54%. If I were to have the feeds contain full posts, that would increase RSS-feed bandwidth by an order of magnitude at least. It would also reduce the number of 304 (Not Modified) responses the server returns for the RSS files, because I do go back and correct spelling errors and such. The feeds don’t have to be updated when I do, but they would if I provided full post content.

I do have sympathy for those of you using aggregators like NetNewsWire (I’m using the Lite version, myself) and FeedDemon. I’d have more sympathy for LiveJournal users if the LJ server returned 304s, but it never does, forcing me to download the whole feed every time I ask for updates. So I did consider the syndication experience from the user’s point of view. I also have to consider the impact on the server, and frankly, given the way RSS is designed, the potential impact is just too high for me to move to full-content feeds.

So now you know.

Unhinged

Ordinarily, you’d think that an almost weeklong absence indicates a major project, or maybe an illness, or some other major life event. Not this time. This time it was a major computer hardware failure. Not a hard drive, nor a monitor, nor anything you might usually suspect. No, this was far more basic.

Not too long after I posted the previous entry, I was working on my TiBook in the living room. Kat asked me to get something—probably a milk blanket or a pacifier or something baby related—and so I put the laptop, still open, down on the ottoman.

There was a sharp cracking sound.

As it turned out, it had actually been two cracking sounds. Both hinges that connect the laptop’s display panel to the body had snapped clean away from the panel. A broken display hinge on a 15-inch TiBook Longtime readers may recall I had a similar experience about this time last year while in Santa Fe, New Mexico. Apparently that wasn’t some bizarre and isolated incident. In both cases, I had let go of the laptop panel when it was an inch or two above a well-padded surface. In both cases, something had given way. Amazingly, in both cases the laptop screen continued to function. The extra problem with this latest breakage was that since both hinges had failed, there was nothing to hold up the screen.

Luckily, a few months back an Apple Store opened up in a new mall about five miles from my house. I’d been meaning to get up there and check it out; last Wednesday, I finally did. I would have preferred better circumstances, obviously. So I took my broken laptop to the Genius Bar. As I opened it up and laid it flatter than a TiBook should really ever be, a guy standing nearby said, “Gosh, I’ve always wished I could open my PowerBook up that far.”

“I can show you how,” I said with an arched eyebrow. He declined the offer.

So after looking over the whole machine and hearing my description of how it had happened, the Genius’ guess was that the hinges had been over-torqued. They had been rather stiff ever since I got the machine, actually; it was almost impossible to open the laptop with one hand. So Alan (the Genius) made some notes to the effect that it was a hardware failure, and not the result of abuse, and that it was a covered repair. I changed the administrator password so they could get to the desktop if need be, shut down the system, and then handed the machine over to be shipped to a repair center.

It arrived back at the Apple Store today. That’s five days to ship, repair, and return. It’s one more day than the last time, but there was a weekend involved. The new hinges are a lot smoother than the old ones, too. I’m once more impressed by the speed and service Apple provides. So thanks to Alan at the Genius Bar, to the unknown technician who repaired my poor baby’s spine, and to Apple for continuing to make me glad I’m a customer. Of course I’d rather the laptop had never had any problems, but there will always be problems. The mark of a good company is that they address those inevitable problems professionally and with a minimum of hassle for the customer. As far as I’m concerned, that describes Apple in full.

November 2008
SMTWTFS
October  
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Archives

Feeds

Extras