My Little Corner of the Net

A Windows Safari

Several years ago, when Apple first released OS X and with it the Safari browser, I was rather excited. The browser was fast and standards compliant. It worked great, had a nice clean UI, and didn’t come with a lot of bloat. There was just one little thing that prevented me from adopting it: I’m a Windows user.

Yesterday, while reading Eric Meyer’s blog, I discovered that Apple had released a public beta of Safari 3, including a version for Windows. Eric links to other blogs that suggest that Apple is doing this to allow Windows-based developers to test their web apps to prepare them for the iPhone.

I downloaded the beta this morning and installed it. The installation was smooth and uneventful. Once done, I closed out the installer and clicked on the new Safari icon on my desktop. Safari loaded quite fast and presented me with a page on the Apple site. Just one problem, though: no fonts! No menus, no buttons, and no text on the page. A quick Google search revealed that I am not alone and that font support seems to be a major issue for WinSafari right now.

I tried a few of the workarounds that I found, finding one that fixed the font issue on the rendered page, but I still had no fonts on the UI (which, BTW, prevents me from typing a new address into the location bar). I’ll continue to hunt for a fix as I have time, but at the moment I don’t have time.

Three or four years ago having Safari on Windows would have been a godsend. Back then my browser choices were Microsoft Internet Explorer 6–with all of its quirkiness–or the slow and bloated Netscape 7. Mozilla at the time was still too unstable to use as a primary browser platform. Since then Firefox has come into its own as a very stable, mature, browser and has become my primary platform. At the moment I can’t imagine giving up my highly customized (via extensions) Firefox install, even if Safari is a bit faster. Still though, WinSafari does have potential.

I’m Addicted to IconBuffet

OK, its official, I’m addicted to IconBuffet. IconBuffet, if you aren’t aware, is a icon site. It is a commercial site that sells icon sets to software and web developers. That, in itself, isn’t all that exciting, even though their icons are very nice looking and relatively inexpensive. What’s cool about the site is the Free Deliveries and the community behind them.

In a nutshell, Free Deliveries are small sets of themed icons. The developers occasionally send members a random set and the recipients are free to do as their please once they get it. The free icons can be used for personal or commercial projects, modified, whatever. About the only thing you can’t do with them is sell them to others. One thing that members can do however is share their deliveries with other members. Each month every member gets a set of tokens that can be exchanged for icon deliveries from other members. Icon sets are marked as either bronze, silver, gold, or diamond and each level costs a different number of tokens. To send icons you need stamps—sending an icon set costs you one stamp, and for every set you receive you also receive five stamps so that you can share it. The community is very friendly and someone is always willing to fill a request if you ask.

Sound cool? Sign up using this link and I’ll send you whatever sets you’d like (provided I still have the stamps available). Just whisper your requests to me (via “The Box” on my profile page) after you sign up. In case you’re confused, my username on the site is “kodiak.”

YAHOO! User Interface

I generally consider myself a back-end guy, preferring to program in languages like PHP to generate dynamic web pages. The front end and the user experience is still important, but that is the area that I, admittedly, give the least thought. I do make every effort on the server side to ensure usability and accessibility of my pages, but that’s generally where I stop. I’ve never been a fan of using JavaScript simply because a) you can never be sure that it will work in the user’s browser, b) every browser does it differently, and c) having JavaScript “widgets” on a page in a non-JavaScript browser generally means that there are things on the page that are not accessible–a big no no in my book.

My thoughts, however, are starting to change. Several months ago I discovered the YAHOO! User Interface library (or YUI for short), the same JavaScript library that adds all the dynamic eye candy you find on YAHOO! owned sites like Flickr and Upcoming.org. Like so many others probably have, I downloaded a copy of the YUI library, extracted the files, and played with the examples. Then, of course, I stopped and moved on to other things.

Last week I had a sudden renewed interest in the YUI. I downloaded a new copy and started playing with the examples again. This time I actually started looking at the code and the docs and started doing stuff with it. In my experimentation I discovered that the YAHOO.util.Event object is a really powerful piece of code, giving developers consistent event handling across browser platforms. In addition its onAvailable() and onContentReady() methods allow you to register event handlers that will fire as soon as an element is detected in the DOM, but before the page loads. This gives you the ability to add content to a page dynamically AFTER the page has left the server, but before the page’s onload event fires, making it possible to add JavaScript-required features to a page once you’ve determined that the browser supports them. Non-JS users will just get the page as is from the server–they’ll miss out on the “bells and whistles,” but they won’t lose any accessibility either (assuming the page coming from the server is accessible, of course).

So far I have created one custom widget: a popup date picker object based on YUI’s calendar component. It exists in a custom namespace (IB.datepicker) so that it can be dropped in to most any page without worry of naming conflicts. All you need to do is call its initialize() method to set it up on the page and attach() it to as many text input objects as you’d like. I plan to release it (under BSD license) once I do some more testing, but if anyone is interested in beta testing it, just leave me a comment and I’ll hook you up.

The Super Bowl and LifeMinders.com

I watched the Super Bowl this year.  But I didn’t really care who won, in fact I’m not much of a fan of either team.  This year I watched for the commercials.

Now unlike every other blogger that watched for the commercials, I am not going to start discussing what I thought of the commercials this year.  Yeah, there were some impressive ones, but by 10:00 tomorrow morning everyone will be sick of hearing about them anyway, so why bother.

Instead I am writing about LifeMinders.com.  OK, now before you go out and try loading LifeMinders.com to see what it is, let me say the site doesn’t exist.  At least not anymore.

Several years ago while I was in college (1998 or 1999, I believe), right at the top of the dot-com boom, the big deal was that many of the Super Bowl advertisers were Internet startups.  I seem to remember that being the year E-Trade started their Super Bowl ads, and I believe Amazon.com, MySimon, and Yahoo! had a presence that year as well.  And of course there was LifeMinders.

LifeMinders was a site where you simply built a profile about yourself and then you’d receive email alerts–reminders about birthdays and anniversaries, notes about pet care, gardening tips–all personalized to your interests and sent free of charge.  The company added advertisements to the email messages they sent so to keep the service free.

The commercials weren’t all that memorable.  If I remember correctly, they looked like a pad of paper with pencil writing and were narrated by a male voice.  I don’t remember how they pitched the service exactly.

I never used LifeMinders, but I remember my roommate at the time signing up
with them the day after the Super Bowl where the ads debuted.  I don’t recall him actually using the service–if he did, he never shared any info about it with me.

I would have forgotten about LifeMinders a long time ago.  Like so many dot-coms, LifeMinders was unable to turn a profit, finding that relying on ad revenue as its only source of funding just didn’t cut it.  A couple years ago I was watching a TV special on Super Bowl advertising and a couple seconds of a LifeMinders ad was shown.  At that time I checked the site and found it still running.  Watching the game tonight once again jogged my memory, so I checked it out, finding no site at that address.  In fact, the domain is now registered to an individual person, but she doesn’t seem to be using it for anything right now.

Although no site funded solely on ad revenue seems to work, LifeMinders was perhaps a bit ahead of its time.  These days the web is all about personalization.  Since like 30 Boxes let anyone set up and share calendars and others, like Yahoo!’s Upcoming.org make it easy to find community events around you.  And now we aren’t limited to email notifications either–sites now send reminders and alerts to our cell phones with SMS and to our desktops with RSS.  If LifeMinders were created today it would be interesting to see who would by it–Google, Yahoo!, or Microsoft?

CSS Trick for the Nested DIV “Problem”

This is more for me than anything, but I can never remember how to make a parent object expand to contain all of its content objects when all of the contents are floated.  Every time I need to do this I end up googling for the solution, but it often takes a while to find.

So, to save me time next time, I’m posting the solution that I always stumble up from here on my blog.

All I need to do is add this CSS to my container element

#container:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

Remember to change #container to the actual id of the container element, of course.

<