LINK Navigation

Now I know I just gushed about Opera, but I just found another reason why Mozilla kicks butt. Back in the day a number of link types that could be used by user-agents in an additional navigation bar or pre-cache some elements “to reduce the perceived load time.” Cool, eh? There are a number of possible applications in the blog format that lend themselves well to this, and I’ve tried to put as many as possible here. Viewing the source or visiting in Mozilla is the best way to get a feel for what’s happening and how neat the application is, but some descriptions are in order nonetheless. I don’t know the default setting for the “Site Navigation Bar” is for Mozilla, but to make sure it’s on go “View > Show/Hide > Site Navigation Bar > Show Only As Needed” to make sure you’ll see what all the fuss is about.

First, it was very tricky hard to get this all working with my current setup; whenever I try something new here my immediate thought to how it can be integrated into WordPress, but the steps I had to take were so convoluted that I doubt that any of this will make it into the next release. Anyway the first useful link that came to mind would be “bookmark,” something I specify the rel attribute on my permalink tags but no current browser picks up. So for example the bookmark link for this entry would be like so:

<link rel="bookmark" href="/p620" title="LINK Navigation" />

For any index, individual, archive, or category page you look at on the journal part of this site there will be a set of bookmark links to each of the entries on the page. I have created similar links for commenting and trackbacking entries, that personally I’ve found to be an extremely efficient way to get around. Check under your “More” menu in Mozilla to see it all. Mozilla also links nicely to the alternative representations of the content, such as RSS, and though it links to the same resources on each page it really should link to the specific representation of only the content on the current page, so for example the comments page could link to its unique RSS 2 feed.

Then some basic navigation elements were in order. The logic of these should be apparent from the code, but there is a link pointing to the top page of this site, a link to the search page, the FAQ, information about myself, and finally copyright information. When you are browsing a single entry you are offered links to the previous and next entry, as well as to the very first entry. This could be expanded once date-based archives are available to allow you to browse from month to month or day to day. Once you start using it, you’ll wonder how you ever navigated any other way.

Finally I set the categories to be “sections,” though I’m not sure if I’m entirely comfortable with this. If you envision all of the text of this blog as a document, then the “index” could be the front page, but after that it’s open for interpretation. Should categories be sections or chapters? Could chapters be say, month-based archives? What if I wanted some arbitrary division of chapters, say by whatever relationship I was in at the time? Sub-sections seem ill-defined as you can’t seem to define several sub-sections as a child of a section, though I may simply need to explore this further. Also I am feeling slightly constrained by the software I use to manage everything, but it would be fascinating to see how someone without those constraints such as Tantek could do with his structure. Ideally some common set of relationships specific to the organization of a weblog—much like the goal of the Weblog Metadata Initiative (where’d they go?)—could be agreed upon and implemented by default by the authors of the most common software and templates. Several people already implement a bit of this already, for example Mark, but there is a lot of unrealized potential here.

Opera is able to use all of the standard defined links, but doesn’t catch any of the extra ones. IE of course is oblivious to it all. Mozilla gets everything. If you have any information on other browsers let me know. I should be defining the extra rel attributes in a profile document, but there are only a few hours left before I’m supposed to “wake up” for my classes tomorrow, so some sleep may be in order.

Opera Coming Along

I must admit that I haven’t touched Opera for some time now, and I never really took it htat seriously as a browser. Tracking its market share is tough because out of the box it identifies as IE6 out of the box, but I always figured that there was just too much wrong with it for it to be that popular. What a surprise their latest version is! Not only is it blazingly fast like it has always been, it has what I would count as the best designed user interface I have seen thus far in a browser. IE is weak. Phoenix was better. SlimBrowser makes IE nice but puts too much clutter, and feels unpolished. Mozilla, well, good ‘ol Mozilla has become my main browser for the past couple of weeks and I can’t complain. Out of the blue comes Opera, with a interface so dandy I feel like I might be in OS X (someday…) if the garish start bar at the bottom of my screen didn’t bring me back to reality. The only thing chapping me is the banner, but I would have no problem supporting such finely done software even it wasn’t my primary browser, just to encourage its development. I can’t begin to detail all of the nice touches they’ve put into the interface, just try it out. It’s only a 3.2 MB download without Java! (And who needs Java anyways?)

Howdy

Being back in the City after the radically different environment is a strange socially organic feeling. It’s good to be home. And oh my goodness do I have some email to catch up on!

Recent Comments

All the cool kids are doing it, so here it is. If you put a number at the end, like comments/50, you will se the last 50 comments. Neat huh? Want to see something really fancy? After you put the number on the end, add “rss” like this. Hot damn. It’s even valid. Some feedback would be helpful, because I don’t have an aggregator to test it in on this machine. As Mike would say, “Baaaahhhh.”

The real reason I put this up in the first place is that there is some good discussion (and sometimes not) in the comments occasionally that I feel gets lost in the shuffle. Furthermore, the RSS monkeys have no idea which posts have comments already, or to know automatically if new comments have been posted since they last checked the feed, so this will give them something else to subscribe to for the closer-to-full PhotoMatt Experience. 😉

Nominations Closed

Yes it should have happened yesterday, but there was always the chance that a absolutely brilliant submission would come in under the wire of the deadline and blow all the others away, and I didn’t want to kill that chance. That was the theory at least anyway. Anyway it’s closed, though if you visit it there is some new content.

Now of course comes the task of picking which categories are the best. Rather than make it a long and arduous personal cross, I think a party of some sort is in order. (Hmmm, tagline: “Mixing metaphors since…”) Thoughts?

A Sad Day Indeed

The “Syndicate” page has been updated, which you could tell from its emphasized status on the menu bar if you were actually at the site. I’m afraid one day my RSS feed will start getting more hits than my main page, and that will be a very sad day indeed.

The Wait

Well my laptop is now in the hands of the Best Buy service people. For a little background, last time they had it I didn’t get it back for almost two months. It wasn’t so bad because I had another laptop I used as a loaner, but that’s not an option this time and it’s going to be tough. I’ve added a day counter to the sidebar to track how long this takes, thoug I truly hope they surprise me and have it back with a week or two. On the bright side, since this is the third or fourth time it’s going back there is a possibility I’ll have the option to get a new laptop, in which case I’m definitely eyeing the new Z1 series.

Farewell

The charger on my laptop has finally given out, mere weeks after it came back from its two month repair trip. I’m preparing to do a brain transplant of the hard drive right now. Hopefully this will turn out better than attempts to fix it have before. For now though I’m going to be computing primarily on my desktop, with its new motherboard, and I’m moving all my development stuff over here. I’ve forgotten how snappy a nice desktop can be, and it’s actually a relatively pleasant experience. The thing I can’t stand is being tied to a desk though, I had gotten quite acustomed to working anywhere and everywhere, bouncing from WiFi hotspot to hotspot throughout my day.

So Easy

For the project I mentioned in my last post I’ve also been using a fantastic class called ezSQL that really makes a lot of things an absolute piece of cake. I don’t remember exactly how I came across this class, perhaps via Simon, but at the time I wasn’t doing anything I could use it for and so I just bookmarked it and made a mental note to check it out later. After not much more than a night of using it the syntax is already very intuitive to me and I look at the documentation hardly at all; the class itself is so logically done that a quick glance at the code is just as helpful as the documentation. Of course there is some room for improvement, for example it would be nice if the errors and such were valid XHTML, but I’ll survive.

Hit Diggity!!!

Click here, right now. Now I know what you’re thinking, “What is Matt making us click now? Maybe I shouldn’t, although that date thing was pretty funny…” Well to save the lazier among you some trouble, that’s the second page of Google results for “matt” and yours truly is at #13. Now before you call me the most narcissistic blogger ever in my defense I was merely vanity surfing my referrers when this popped up. Vanity surfing is not nearly as bad as vanity searching.

Anyway I’ve joked for a long time that the only reason I’m on the web is to become the #1 hit for “matt” on Google, it’s been the brass ring of my online existence. Before this latest Google dance I was somewhere toward the end of the 18th page if I remember correctly, so obviously something has been going right. Better yet, I now have a nice short hit list of people that have to go so I can make #1. 😉

I am so going to start using this at parties!

Image Fun

Been playing with manipulating images with PHP all night, something I haven’t done much since I had the fancy capital thing on this site, and that wasn’t as much manipulating images as generating images using truetype fonts. With GD included PHP is very easy to use for this sort of thing. I’m storing the images themselves in the database as BLOBs, along with a bit of meta-data I grab from them when they’re uploaded using a web form. I have a small PHP script that returns the images from the database, resizes them to whatever width I specify in the query string, and does “funky” caching so if the image has already been generated/grabbed it returns just about as fast as reading it directly from the filesystem would. I have to have some fun because the site I’m doing this all for uses tables.

Speaking of tables, everyone head over to Big Pink Cookie and see how there aren’t any there. I recreated the basic layout in CSS and then helped Christine tweak it till it became the beauty you see before you now. If you’re curious, here are some of the changes I made:

  • The CSS and Javascript is now in seperate files, as to be easily cached.
  • The header graphic is now a h1 tag with the text hidden and the graphic as the background.
  • The latest pictures from Pixelog at the top of the page are now an ordered list, styled to display horizontially through CSS.
  • There is a “rapper” div (gotta have some flava) of a fixed width centered using margin: auto and a IE workaround.
  • Inside that there is a content and menu div, the menu has a fixed width and is floated on the right.
  • ms that were previously all preceded by “::” are now unordered list items with the :: effect recreated through a list image. Now if Christine wants to change the way her menu looks she just has to edit one file instead af change hundreds of double colons.
  • It now loads really, really fast. Especially when compared to before.

It might still have a stray error here or there that’s keeping it from validating, but give it a few days and all those should be ironed out. More importantly, it validates in spirit. I can now add Christine to the list of site I check when I’m browsing on my Palm over a 9.6k connection. Best of all, I think CSS no longer makes Christine’s eyes bleed, and she can see Tantek again.

Late Night

… and I need some sleep. Finishing up an admin package for a client tomorrow, as well as some satisfying personal project stuff. It’s Sunday so I don’t want to set the alarm, but I don’t want to sleep all day either. It’s been a nice weekend.

New If This Darn Thing…

Well I picked up a motherboard at Fry’s with my dad, and hopefully this will resolve the desktop issues I’ve been having. The new motherboard is pretty sweet, and was quite cheap. I’m quite disillusioned of expensive motherboards with this one failing months after I got it. With the strong prospect that I’m taking my laptop back again it’s important that I at least have a working desktop though, so this will be good. It works!

While It’s Hot

Not that I’m advocating anything, but now probably would be a good time to buy some PhotoMatt, especially since the price just drastically dropped and there is a new juicy front page link that hasn’t been picked up by the bot yet. Is this wrong? Maybe, but all’s fair in love and BlogShares.

In other meta-news I stole some buttons from the incredible Eric, but the real reason was I have a strange irrational desire to please this thing.

I better get to sleep though. I’m sitting in a rehearsal at 10, presenting for HPUG at 1, and again at the Web Technology SIG. Stop by HAL-PC if you’re interested.