Archive for the 'Internet' Category

jQuery: Not as hard as it sounds

For the new blogs page I wanted to put together an accordion-like feature for viewing the posts to make it feel somewhat like a feed reader. I looked at different javascript libraries for this and chose to go with jQuery, not that others wouldn’t work, but because I had some limited experience with it.

I started toying around with the slideToggle() function, but after a couple hours I had to look around the internet for some help. I couldn’t have done it without Steve Krueger’s tutorial. Although I didn’t follow it exactly, it helped be over a few hurtles.

Here is the code I ended up with.

jQuery(document).ready(function($){
	$('.story').hide();
	$('.title').click(function(){
	if($(this).is('.active')) {
		$(this).toggleClass('active');
  		$(this).next('.story').slideToggle('fast');
  		return false;
  	} else {
  		$('.story:visible').slideUp('fast');
		$('.title.active').removeClass('active');
		$(this).toggleClass('active');
  		$(this).next('.story').slideToggle();
  		return false;
		}
	});
});

Also, as I was delving deeper into this project, I spent a lot of time around the WordPress Codex. I found this great function called wp_enqueue_script for loading javascript libraries. This is for use in WordPress plugins and themes so there is no conflicts or superfluous code. Pretty neat.

Update - June 29
I edited the page so when opening an item it will scroll to the top of your window. So much better. Some help from Learning jQuery and Marc Grabanski. I am using the jQuery.ScrollTo plugin.

Here is the updated code:

jQuery(document).ready(function($){
	var scrollTop = jQuery(window).scrollTop();
	$('#content > div.story').hide();
	$('#content > h2.title').click(function() {
		$('#content > h2.title').removeClass('active');
		$(this).addClass('active');
		var $nextDiv = $(this).next();
		var $visibleSiblings = $nextDiv.siblings('div.story:visible');
		if ($visibleSiblings.length ) {
			$visibleSiblings.slideUp('fast', function() {
				$nextDiv.slideToggle('fast');
				jQuery('#content > h2').each(function(i, h2){
				h2top = jQuery(h2).offset().top;
				if (scrollTop  h2').each(function(i, h2){
				h2top = jQuery(h2).offset().top;
				if (scrollTop < h2top) {
					jQuery.scrollTo('.active', 300 );
					return false;
				}
			});
		}
	});
});

An ongoing investigation: Browsing the www

I’ve had a very terrible couple of years coming up on the Internet. When it began, it was easy. I had my gateway laptop, I used IE until 2004 when I heard about Firefox. It was a simple choice. Firefox had tabs, it was faster, it had the luster of being open source. (In fact, it inspired my fanaticism for all things open source). But in 2005 I got a tiny powerbook and Safari was so cute and new. I was disappointed with Firefox on my powerbook. The widgets were ugly and pixelated, nothing like aqua at all. At this point I was dedicated to Safari, only using Firefox for sites that rejected Safari for whatever reason.

But I wasn’t satisfied. I started flirting with other web browsers: Shiira, Opera, OmniWeb, Camino, Optimized Firefox builds… It was a confusing time. I experimented heavily. Eventually I began to fall in love with Camino. It had the tenderness of real mac app, but also the certain flare of being open source and dangerous like Firefox.

When I upgraded to Leopard, it was back to square one. I went with Safari for a while because Camino was struggling with 10.5. Then Firefox 3 came around with its hype and fancy Smart Location Bar. I fell back into my old ways. I was using a PC at work, Firefox felt right, cutting edge, customizable, fun.

Since then I’ve not settled. I can’t decide. I’m switching weekly. Nobody has exactly everything I want. Here is where I stand now:

Safari 3

  • I love to use cmd-1, cmd-2, etc for links on the bookmarks bar
  • You cannot set Google Reader as your default feed reader
  • In general, works fine, but
  • is boring

Safari 4 beta

  • Smart Address Field”, similar to Firefox’s Smart Location Bar
  • Top tabs, makes sense.
  • Developer Tools are very cool
  • Top Sites? Yuck!
  • Chokes here and there
    • Especially in Wordpress
    • And with the Tumblr bookmarklet: when I use a keyboard shortcut to open, in my case cmd-1 because it is first on my bookmarks bar, it opens into a new tab instead of a new window. Very frustrating.

Camino

  • Uses cmd-1, etc for bookmarks bar
  • Uses Keychain to save passwords
  • Feels very at home in OS X
  • But buttons suck in Leopard
  • Some sites still reject Camino

Camino 2 beta

  • Buttons fixed for Leopard
  • Del key no longer works for going back a page
  • Finally has draggable tabs
  • No smart location bar, which I’ve become very comfortable using

Firefox 3

  • No keyboard shorcuts for the bookmarks bar :-(
  • Doesn’t use Keychain to save passwords, which is very annoying
  • One million awesome extensions

So I have no idea what to do. I was using Firefox for the last month, but last week I went back to Safari. It is hard to choose. What are you feelings? Do you have such trouble deciding?

Use This: Vanilla

I frequent a handful of forums, and most of my favorites use Vanilla. Vanilla is great because the first view you see is a list of all recent discussions instead of categories, which is nice because it is only one click to read a thread rather than two or more. Also, the objective of Vanilla is to be a minimalist forum, not many default features, very fast, very extensible. Because Vanilla is very basic by default, it is fun to customize. I use it for Nice.

cargo-talk

These screenshots are of some really nicely designed forums that I like. They are used as support and bug reporting for different services. Similarly, I use a Vanilla powered forum to manage freelance work and other projects.

indxr-forum

Anyhow, use Vanilla, it is cool. Use it.

Moving Existential Media from Movable Type to WordPress

Over the last two days I moved Existential Media from Movable Type to WordPress MU. Here is the process I followed to achieve this.

  1. Create new blog in Wordpress.
  2. Create the new author in Wordpress.
  3. Export posts from Movable Type blog.
  4. Import posts into WordPress blog.
  5. Move Movable Type blog files to WordPress blog files directory.
  6. Have Movable Type generate a .htaccess file to redirect old posts to new posts.
    Redirect 301 /merde/ http://existentialmedia.net/merde/
    Redirect 301 /merde/<$MTArchiveDate format="%Y/%m"$>/<$MTEntryTitle dirify="1" trim_to="30"$>/ http://existentialmedia.net/merde/<$MTArchiveDate format="%Y/%m"$>/<$MTEntryTitle encode_url="1"$>/
  7. Run sql find and replace to update links to files like images, mp3s, etc.
    update wp_2_posts set post_content = replace(post_content, 'http://existentialmedia.org/merde/', 'http://existentialmedia.net/merde/files/merde/')

The future of Existential Media

I’ve been liking Movable Type less and less lately. A lot of the problems stem from it being written in perl and performance issues related to that (I assume). I’ve been looking at different ways to make Existential Media work better (faster) and be more stable. I’ve done some optimizing lately of Movable Type and my templates (as far as I can with my know-how), but it hasn’t helped terribly. I’ve looked at different hosts and hosting plans, but there is always cost to consider, as well as effort it takes to move to a new host. So in the short term it looks like we are sticking with Movable Type and Dreamhost.

I’ve started to look at this problem and set long term goals. Although I have learned a lot about Movable Type and although it would be a pain to learn a new platform, I’ve been “shopping” around. I’ve looked at Textpattern, which though I like a lot, wouldn’t be good at handling something like Existential Media. It works better to power one site / one blog. Managing users and permissions and blogs seems like it would not be fun. There is also ExpressionEngine, but there is the problem of cost, so that’s a no go. I’m getting to the point now. I’ve been heavily considering using Drupal. Drupal is what is used to power the Onion’s website. I installed it and have been tinkered around with it for a last couple days. So far so good I guess. There is a huge learning curve. It’s a whole new deal. I don’t really know how to come at it just yet. And they focus on being easy on the resources, which is also a good thing. I’ve also looked at Wordpress MU, which is what they use to power wordpress.com. It might be exchanging one problem for another, but Wordpress is very fast and pretty. I’ve more or less decided to go with Wordpress (that is, unless Movable Type is rewritten in PHP or something). Also, the most recent version of Wordpress was designed by Happy Cog, which is pretty cool.

At first I thought heavily about going with Drupal, but I decided against it. Although it would work, Drupal doesn’t have blogging first in mind, it is a full featured CMS. I also was having trouble getting to know it. Before I decided against it though, I started writing this post. So I’ve modified it. Here is my original game plan for Drupal:

I have to figure out how this all works. I need to “port” my themes over to Drupal. I need to move all the data too. There is a Typepad/Movable Type convertor, but I’m not sure exactly how it will work. There is a list of things I can’t figure out just yet and I thought it would be good to present here.

  • Giving a user a blog: I’m a little confused about this. I want it to be like it is now. I give Laura a blog named ladyparts and it has a certain design. And the content does not get intermixed with the rest of the site. I’m not really clear how to manage “blogs” yet. A project that I’ve been looking at is Drupal MU. This solves the problem of having a different theme for each blog. Somethings I’m confused about though. Like does the blog name always have to be the same as the user’s? (Like “Laura’s Blog” … existentialmedia.org/laura)
  • Having many users to one blog: I’m not really clear on how this would work. Thinking about WIWT, how can I have a blog named “What I Wore Today” and have the url (/today) and have different users post to it? Is this possible?
  • I need to figure out how to have a list of the most recent posts on the homepage with the blog colors, but that might come once I figure out the other things.

But since we probably won’t be using Drupal, there is no need to worry anymore about that. Here is why I like Wordpress.

  • It is easy to manage, and although it is very different than Movable Type, I felt at home almost right away. It has the same idea of blogs and users, and trying out the import feature it imported all the posts and comments on my blog flawlessly.
  • I did need to install one plugin right away to embed youtube, vimeo, etc which isn’t the most ideal. But was painless.
  • Wordpress is very fast because it is written in PHP. I like this part a lot. No more rebuilding! I plan on installing one of the caching plugins too so we shouldn’t have any problems.
  • The only reason we aren’t there yet is that I have to figure out the templates. It looks to be not that hard, but will take some time. I want to make the templates more easily customizable and this seems possible to do with Wordpress themes.

Do you have any questions? Fears? Knowledge to impart on this subject? I would really like to be in communication with everybody as much as possible on this.

Ongoing Organization: Gmail Filters

labels.pngI’ve been really interested in organizing all my email messages. But I don’t really want to go through every single message to do that. Today I tried to make some filters in Gmail to at least get some general organization.

First I attempted to get all money related emails into one place.
To do this I looked for all the email addresses of my banks, student loans, online buying/selling, that kind of stuff. At first I was getting every address, but I realized it would be much faster to grab whole domains. So this is what I did.
from:(@cems.wamu.com OR @ebay.com OR @amazon.com OR @wellsfargo.com OR @mint.com OR @checkout.google.com OR @paypal.com OR billing@dreamhost.com)

Then I wanted to try and organize emails with attachments by file type.

For images
Has the words:(.jpg OR .jpeg OR .gif OR .png) has:attachment

For media
Has the words:(.avi OR .mov OR .mp3 OR .m4a) has:attachment
For documents
Has the words:(.pdf OR .doc OR .docx OR .xls OR .xlsx OR .ppt OR .pptx OR .oo3) has:attachment

For design
Has the words:(.ai OR .psd OR .indd OR .qxd) has:attachment

The one problem that I’ve run into so far with this is with PDFs. About half of the pdf emails are related design. This is also a problem with Fireworks PNGs.

This is by no means complete. It is only a quick stab at email organization. Hence “ongoing.” If you have any ideas on how to improve this or any filters you’ve set up that work well, comment.

I helped

certificate.png

Apple ♥ Enterprise

promo_iphone_enterprise_20080609.jpgFor the first time, OS X includes native support for Microsoft Exchange 2007 in OS X applications Mail, iCal and Address Book, making it even easier to integrate Macs into organizations of any size.” - Snow Leopard Press Release (Taken down since I started this post.)

It supports Microsoft Exchange ActiveSync, delivering push email, calendar, and contacts. And it gives mobile users secure access to corporate resources with Cisco IPSec VPN and wireless network services with WPA2 Enterprise and 802.1X authentication.” - iPhone Product Page

I’ve been thinking a lot about Graphic Design lately

What is Graphic Design exactly? I really thought I knew, but of late it’s become more confused and gray. Why does Graphic Design exist? The purpose is utility, not art. The purpose of Graphic Design is clear communication. This isn’t meant to be a definite answer, but to start some sort of dialogue about what Graphic Design is.

Working with clients
In this view, a client comes to you with a job. You take the content you and try to mold it into the most compelling outcome. The main feedback that you get is from the client. From my (limited) experience, this is how the print world works. You can propose different ideas to the client and try to sell them on what would work best. It feels very intuitive. Your decisions are often based on experience and what you know has worked in the past.

The economics of Graphic Design
A Graphic Designer is not self sufficient. The very nature of the profession depends upon others. Graphic Designers work for the client, for the money. That’s what it really comes down to. It is love of the the craft, but it does make a living. Thinking about the economics of Graphic Design becomes much more interesting and measurable when it comes to the web. A lot of what I’ve been learning at my new job is this. Design is measured by its success. How many people complete the form? What are the numbers? Do people prefer red to blue? And what not. What is good Graphic Design in this model? Is it good if it sells a lot but looks like garbage?

Aesthetics?
lmb_ad
What consideration should be even to aesthetics? In school we learned that good design follows rules (or breaks them eloquently). But what if beauty doesn’t sell? Ideally, design that follows the rules and is built on a grid and is typeset well will sell. I believe this deeply. But what if you can be mathematically proven wrong? If this ad makes a lot of money is it good design? If good design is clear communication and this ad speaks to people who are wanting to refinance their home it must be good design? I know you might think, “of course it isn’t good design.” But it has really got me questioning things. If weird poorly designed (ha!) flash ads work as a marketing tool than who am I to say they aren’t good Graphic Design. Is it me being an elitist? Does it really help anyone for me to ream somebody for having no consideration for typesetting?

Type
Ligatures, kerning, smart quotes, none of these really exist on the web the way they do traditionally in print. This is a real loss to me. I do what I can, but there are many inconsistencies to worry about. There is no way to anticipate for dynamic content. I mean, I have smart quotes happening, I specify font size and line height, but I can’t really force there to be no widows or orphans, especially on content I’m not generating. Also, I use Helvetica for this blog, but if you view it on a Windows machine or even in a feed reader chances are you are reading it in Arial. Helvetica and Arial are 2 fairly different typefaces (to say the least). They look and work in very different ways. They will even render differently render in different browsers on the same operating system. Ugh.

What do you think?
This is not to be a one sided conversation. What do you think makes good design? You don’t have to be a Graphic Designer to answer this. Are you attracted to ads like the one above? Do you gravitate to minimalism and clean design? Do you own a mac? Do you hate anti-aliasing on Windows?

A deeper connection