Monthly Archive for April, 2007

Universal Font Sizes

I’ve always been a big supporter of hackless CSS. 99% of the CSS problems I’ve experienced have to do with rendering order and browser assumptions - for instance, when you set a float to something in Internet Explorer, by default it does not depreciate that element to inline; however that practice is followed in Firefox and Safari. It’s by learning these differences and putting catches in that you can successfully develop anything hack-free.

However, there’s one thing that I have never been able to get around without filters, and that’s font-sizes.

Font sizes can be called in three ways - using pixels, ems, or percentages. Setting your font-size in pixels is optimally ideal (although I could get into many fights with some of my college teachers about this) - we’re web developers, we live in pixels. We’re familiar with them, and we know how big a 10px font looks on the screen. Besides, ems and percentages are too relative to the browsers - 1em in Firefox is not the same as 1em in Safari.

So why not just use pixels? Well, technically you can, and it works cross-browser, cross-platform. However, there’s a catch - if you set a font size to a pixel amount in IE - it’s stuck at that size for life. Even if you adjust the font size in your browser settings. It’s a total accessibility crutch for close to 80% of the web viewing market.

So, if we want to develop accessible websites, what do we do? In college, I was taught to use ems, and it was all very defended: they’re fonts, after all. Set your font and get over the minor inconsistencies. It might have worked in Advanced Web, but in the Industry you have clients and designers breathing down your neck - they don’t understand why the font is slightly bigger in Safari, and they don’t like it.

So what do we do? The only real solution is in IE filters - sometimes they’re just a necessary evil. Luckily, the font-size problem is only in IE6 and below, so one simple star filter can allow you to set browser font-size in pixels, but in IE, use ems.

html { font-size: 10px; }
* html { font-size: .8em; }

For the rest of your font adjustments, feel free to use percentages or ems - everything will be relative to that base font-size setting.

I Wish Drupal Could…

At work, I’ve been using the Drupal Content Management System more and more. Since we picked it up as our ‘de facto’ standard for CMSes last year, it’s been an interesting journey to get over the Drupal learning curve and start to become a Drupal expert.

For those who are not in the know, Drupal really is a powerful CMS with huge potential. It can be modified and tweaked till it’s almost impossible to identify as an out-of-the-box (and open-source to boot) CMS. There are hundreds of pre-built modules which you can install for custom functionality, and with the huge, supportive user-community behind it, Drupal looks to set the standard in open source CMS solutions.

I’m currently wrapping up my fourth Drupal site, and along the way I seem to keep running into the same issues - things I wish Drupal could do that they just fall short on. I figured I’d make a list and post it on here, because there’s still so much I need to learn about Drupal that perhaps these answers already exist! Half of the reasoning behind this blog is to get feedback from the developmental community. Go ahead, Drupal fans, help me out here:

  1. CCK nodes in Drupal need better overall support for multiple file uploads. Right now to create file uploads on content you need to create a file upload box for every attachment - it can become quite ugly when you want to create a content type that can have multiple (like - 9) uploads.
  2. While Drupal 5 did a great job at allowing you to have a separate admin template, there’s still issues with it - I would think that the content creation page would fall under the administrative section and thus be displayed with the administration template, but instead it uses the primary site template. Since everything I have created for clients has called for a custom template, it becomes extra work to style the add pages so they look good with all of the form fields.
  3. When you create a custom view, it becomes difficult (read: impossble) to be able to create a custom display for it. Now, there is the Template Wizard, but that seems to require that you create your custom views using the list / table type, as when you do Full Nodes for your view type you don’t have options with the Template Wizard like you would otherwise.

I may have had my problems with Drupal at first, but the more I use it and learn the ins-and-outs, the more it’s growing on me. They’ve come a long way since release 4, and if they keep improving like they are, the future is looking bright.

Current Music Obsession: TV on the Radio

For about the last week, I’ve been growing more and more addicted to TV on the Radio. They’ve always been a band I’ve liked, but I really only knew them from their more well-known songs (like Staring at the Sun). Recently I got their discography, and decided to stick their newest release, Return to Cookie Mountain, into my car’s CD player. I had been feeling a bit bored with what I’d been listening to recently and wanted a change.

I wasn’t let down. This band is all about rhythms, and they’re masters at it. They can make even the most off-beat sounds flow smooth. It seemed the more I listened to them, the more addicted I became. I branched out and started listening to their other albums, and their evolution as a band is interesting.

More >>

Frameworks: Light on the SQL, Please

Cake, the rapid development framework for PHP, makes life 10,000% easier for developers everywhere by providing us with an ActiveRecord pattern for performing the most used database interaction methods: Create, Read, Update, and Delete (CRUD). It’s modeled closely off of Ruby on Rails’s ActiveRecord, for those who are more familiar with that framework.

As a Rails developer I’ve seen the limits of ActiveRecord, and the performance issues it gets when dealing with large, complex database types. But to be honest, I’ve never been a big fan of the Ruby language, and part of me assumed that was just Ruby being slow. I was convinced that with a good framework, ActiveRecord could be used (efficiently) in complex database environments.

Yesterday that blind faith was taken to the test as I attempted to optimize a CSV generator. The problem was simple: the query which collected a table’s information, was producing an array which was way too large - the database table had close to 60,000 records and at 9.something MB, was throwing PHP memory allocation errors left and right.

Right now it stands at Heavyweight SQL: 1 / CakePHP: 0. However, I am determined to find a way to make complex databases work well with Cake - I still have a lot to learn about this framework, and I have belief in it.

Cheering for an American Idol

I must admit that before this season, I was never interested much in American Idol. It seemed too pop culture; the kids could sing someone else’s lyrics, big deal. But this season I got into it early - having 2 channels narrows down what you can watch on a Tuesday night, and American Idol seemed as good as anything. I’d get some good conversations at work at the very least.

In the top 24 I noticed Jordin Sparks, a young kid with a big voice. I was immediately impressed, but it seemed like the masses tended to forget her, preferring early favorites Melinda and LaKisha. It wasn’t until the British Invasion week that people started giving her credit.

More >>

The Power Behind Frameworks

Ever since discovering the Ruby on Rails craze last spring, I’ve been falling more and more interested in frameworks. It’s quite amazing how they help web developers not only develop applications faster, but create them with less code, cleaner code, and more maintainable code.

New frameworks are popping out all the time, and it’s really amazing that this is starting to catch on in the web industry. Ruby has Rails, PHP has Cake, Python has Django… and that’s just the top of the pile.

More >>

The Future is Transparent

The last issue of Wired had an interesting set of articles about how being completely transparent in your business is the trend of the future. It’s a grassroots movement in a way - small companies would blog about both their successes and their failures, making public note of the lessons learned in their businesses. This is extremely common in web-based companies. In a world where everyone’s blogging on a daily basis, there won’t always be good news to talk about.

But as a business, do you allow your employees to be transparent, knowing your clients may read what they have to say?

Companies are starting to spill the beans, and people are listening with open ears. One of my favorite examples (of course) is PayPerPost.com - between the blog and the reality show, they’ve proven to be pretty transparent. It seems to be working - and rightly so. The web industry changes so fast, there’s no way we can always develop flawless cutting-edge web applications - we make mistakes, but we learn from them.

It’s why transparency works. Blogging about your mistakes as well as your successes builds authenticity. If your reader is relating to you as a person, they’ll be more forgiving when you slip up.

But if you get in this game you have to be honest. Completely honest, because in this world of Google you’re only as good as your ‘net rep’. Being caught in a lie is worse than not being transparent at all.

So is transparency the way to go? I suppose only you can decide for yourself and your company, but personally, I think it’s a great idea, both as a professional and a consumer. There’s a level of trust on the Internet, and it should be respected.

Introductions

I’m one of those people who think that all blogs should have an introductory post - one which summarizes what the blog will be about and gives a little information about the author.

So here we go. My name is Jade Rauenzahn and I’m a web developer. By day I work for MindComet, an interactive advertising agency in Maitland, FL, where I’m constantly challenged to come up with new concepts and web solutions. It’s fun, and it keeps me on my toes.

More >>