The Firefox Keyboard Shortcuts Table has (sort of) unlocked for me a way to browse almost entirely on my keyboard. I always loved how Firefox would highlight text links just by typing the first few letters of that link, and I always valued the ability to switch browser tabs on Safari using Cmd+Shift+arrow, but I could never get Firefox to switch tabs.
Funny though, that if you follow this table and press Ctrl+T in Firefox on a mac, it will NOT produce a new tab for you. This, I wouldn’t even notice, because I normally just register “Ctrl” to mean “Cmd” on a Mac, since that’s how it’s keyboard shortcuts usually translate from a PC, so as I would expect, one must press Cmd+T to produce a new tab on a Mac, however, Cmd+Tab does not switch tabs as one who uses this logic would expect. In this case, when they say “Ctrl,” they mean “Ctrl.” Press Ctrl+Tab and Firefox will switch tabs.
What do I have against using a mouse? Mice are primitive (mouse alternatives), and I find them especially uncomfortable given that I use a computer most of the day. To do the things I can’t accomplish on my keyboard, I rely on a Wacom Tablet.
Until this week, rdgusa.com, which I am the webmaster of, had been getting alot of annoying spambot traffic from one spambot in particular (for background on our method of determining what a spambot is, read up on the mod_rewrite method). Finally I got fed up with this spambot visiting the site every day, looked up the IP address and contacted the tech contact, simply telling them I was getting spambot behavior from this particular IP address. Later that day, I got an e-mail from the “offending” customer, who was oblivious as to what was going on. Oddly, the “offending” customer was the Catholic Diocese of a capital city (RDG is a leader in Catholic Church Architecture, so this was a potential client). I checked the log files, and noticed that the offending IP address had visited once, with human-like behavior, then a few days later started coming as a robot, accessing, but disobeying the robots.txt file at which point I started blocking it. I was fairly certain that this Catholic Diocese wasn’t running a spambot, so I concluded that there must have been some sort of Trojan Horse that had taken over one of their computers, going through it’s internet history and harvesting e-mail addresses from all of the sites in it. I informed the tech contact of this organization, and sure enough, he found a Trojan Horse on one of his user’s computers. I was unaware that spammers used this method, and I thought the world should know about it.
Destrukshun has brought to my attention a great collection Josef Müller-Brockman‘s posters. They’re showing in Dublin, so seeing them on the online will have to do.
Nathan Sharfi has pointed out that the CSS3 Specifications have a feature called psuedo-elements that will behave just like my proposed use. I suppose what Luke desires is to specify containment of divs through the style sheet, but to still be able to assign content to the divs through the markup. That would be handy indeed, and would enable true re-designs through stylesheet changes. I feel a bit foolish for not having been familiar with this feature of the CSS3 spec, but that is how you learn.
After further consideration, I have noticed that there is a possible issue with “element nesting” as I have described it below. Luke Redpath proposes still including all of the DIV tags in your markup. In my proposed use, there is no indication in the markup of any “wrap1,” “wrap2,” elements. So it seems that in trying to take presentation out of the markup, perhaps I have inserted markup into the presentation, meaning that the presence of the “wrap1” etc. elements derive from them being indicated in the stylesheet. This is something I’m sure the W3C could figure out. It wouldn’t work right out of the box as I’ve proposed it, but you get the idea.
I just read an article with a pretty intriguing proposal in it. If I understand it correctly, Luke Redpath proposes that the next CSS specification include an ability to specify that an element contain other elements by default. This would be an ideal way to create visual effects that would otherwise require extraneous DIV tags. For example, for the technique, Onion Skinned Drop Shadows, the code would look something like this:
.wrap1, .wrap2, .wrap3 {
display:inline-table;
/* \*/display:block;/**/
}
.wrap3 {
padding:0 4px 4px 0;
background:url(corner_tr.gif) right
top no-repeat;
}
/* CSS rules from the future */
.wrap1 {
contain: .wrap2
float:left;
background:url(shadow.gif) right
bottom no-repeat;
}
.wrap2 {
contain: .wrap3
background:url(corner_bl.gif) left
bottom no-repeat;
}
img .shadow {
contain: .wrap1
}
/* end CSS rules from the future */
I’ve finally done it, and it didn’t take as long as I had expected. I have created my own template for my blog. Here is a Safari screenshot:
Sure, most of the code is still from the Blogger.com template, but I will tweak it as I go along. I’m quite pleased just to have developed a template that isn’t falling apart in the browsers I test it in. I hope to incorporate some visual effects into my template in the future.
As I said, making my own template was easier than I had thought. I just downloaded the source code from my blog, reworked the CSS in it to my liking, took out my styles to make an external stylesheet, and plugged in the tags that apparently tell the Blogger.com engine where to put the content. Then I copied and pasted my source code into my Blogger.com template. Here is a screenshot of some of my code nicely color-coded by GoLive 6:
…shouldn’t be very tough. After sorting through some of the code in my template, and running a few simple tests, it looks like plugging my blog into a personal/portfolio page should be relatively easy. I aim to do a nice CSS-based layout, and use some PHP to plug in includes and maybe for some other features. Which leaves me with just three issues:
I’ve never done a completely CSS-based layout.
I’ve done very little PHP development.
My current experimental site won’t accommodate this stuff very well.
So, this should be a fun challenge. Hopefully I can stay committed to accomplishing this. I have a strong desire to master CSS-based layout. From what I can tell so far, doing CSS layout is a pain in the rear, but I really believe in the power of CSS.
Why? So many of my designer friends ask. Here are a few reasons truly off the top of my head:
-maintain the structure of information HTML’s various tags work wonderfully to categorize information or give it a hierarchy. CSS enables you to use these tags while still giving everything the look you desire.
-separate style from content Nothing new to you if you are familiar with CSS. With CSS the information that is in your source code will be just that: information. You won’t have a bunch of meaningless table tags strewn about. This also results in a faster load time, because your formatting remains in your style sheet, which is then cached. The browser only needs to download the information.
-forwards compatibility Since the actual HTML markup is so clean, it breaks apart nicely on mobile devices and the like. Re-designs are easier with CSS, too. All you have to do is change out your style sheet, and your site is totally redesigned. Keeping clean markup makes it easier for archivists to save your content so it will outlive you.
-accessibility …to both humans and machines. Keeping your text as text, and not hidden away in some Flash movie or image file makes your information scalable for sight-impaired users, and readable both by search engines and aural browsers.
It is bold of me to say (bold because months could go by before I actually get around to it) that I am going to re-design this site. Right now, it is on the beautiful, CSS based, standards compliant, template designed by Douglas (Stopdesign) Bowman. It’s a great template, but being a designer, and one that hopes to master CSS layout, I shall have to create my own. The thing that worries me at this point, is that I am going to want to include information other than my blog on the site, such as a portfolio of my work, some experimental design, some articles, etc. I imagine that I can probably suck the xml feed into a site design, but at this point, I’m not sure how to do that. I have made some progress in CSS layout techniques, mostly with help from A List Apart, and inspiration from the CSS Zen Garden, but I’m not sure yet where to find help on this. I’ll keep you posted on my progress.