posts by tag

web (65)
Hulu: Online Movies and TV Shows

I just came across an awesome site for streaming TV shows and movies. It’s called Hulu. Apparently it’s a site supported (or built?) by NBC/Fox, so the videos are all of incredible quality. I came across it while looking at a list of high-traffic Rails applications (and it’s one of them).

So if you’re looking for another way to be distracted, check out Hulu. Here’s one to get you started: 2008 Tostitos Fiesta Bowl.

Flickr Video

Several months ago I posted about Flickr Video. For the most part, I was in favor of neglecting it. My position hasn’t changed, really, but I feel compelled to give kudos on their implementation.

I’m relatively satisfied about the way Yahoo has introduced this (inevitable) feature. I personally like how they’re intertwined with the photos. I didn’t really expect that. One might not even know video is supported by Flickr until it’s time to upload. Even the URL for a video is of the form ”/photos/[user]/[id]”.

I think limiting the length of a video to a max of 90 seconds was a good move, too. I know that won’t last, but the initial 90 second limit may weed out those who were wanting to use Flickr as a YouTube clone.

Considering the impossible reality that Flickr would remain 100% based on photos, overall, I think video couldn’t have been introduced any better. That’s not to say I’ll ever upload a video, but it is what it is. And considering the millions and millions of Flickr users, all with different concerns about video, I think they’ve met both sides of the argument on common ground.

Nice rating interface

summize.com is a site that scours the internet for discussions and reviews of a product. I don’t know how legit the algorithm is, but it does a couple of cool things.

Firstly, it sorts the results by “helpfulness” instead of “highest/lowest” ratings. Secondly, it has some really nice (visual) rating scales. At a glance you know how many people rated it and the majority vote (everyone knows red is bad and green is good). It also provides percentages for each piece of the rating when you hover over the sections.

In my opinion, it’s a much better interface than the traditional star rating; however, it also allows you to view the ratings as stars, if you’re so inclined.

Consuming SOAP services in Ruby

I know, I know, REST is cool and SOAP sucks. Rails is awesome and .NET blows. But the reality is I have to do a little bit of both.

Things at work are moving more and more toward Rails, but there’s still a large investment in a few .NET systems that must be maintained (until the decision is made to rewrite them in Rails). With that means there are a few SOAP services that I still need to work with. It turns out, this isn’t so bad.

Originally I thought I’d bring back AWS and deal with it that way. But from my experience, AWS has more support for generating services rather than consuming services. While AWS isn’t a terrible approach, there’s an easier way this can be handled: SOAP::WSDLDriverFactory. This is a straight-up Ruby solution that comes shipped with the standard library. It’s straight-forward to use and requires no XML parsing (which sort of surprised me).

As an example, one of the Rails applications I’m currently working on needed to have the ability perform certain actions under that users’ .NET account. Mainly, since the applications are completely separate (read: separate DB, separate users table), I needed to get the user id from the .NET system via their credentials in the Rails system. While this isn’t the actual implementation, you can see how easy this is to do.

require 'soap/wsdlDriver'

class SomeDotNetWrapper
  attr_accesssor :endpoint, :service

  def initialize(endpoint=nil, service=nil)
    @endpoint = endpoint
    @service  = service
  end

  def get_user_id_from_credentials(username, password)
    soap = wsdl.create_rpc_driver
    response = soap.GetUserID(:username => username, :password => password)
    soap.reset_stream
    response.getUserIDResult
  end

  private
    def wsdl
      SOAP::WSDLDriverFactory.new("http://#{@endpoint}/services/#{@service}.asmx?WSDL"
    end
end

By creating a “factory” with the services’ WSDL, you can easily set things up for remote procedure calls (i.e. GetUserID(username, password)). What’s even nicer is that you can parse the response by chaining methods together. In this case, it put me right inside the response, where I only needed to call one level of nested XML (response.getUserIDResult). But if this were nested deeper, I’d just keep calling the methods that map to the XML nodes until I got to what I wanted. And of course, I could then write any Ruby code to do what I needed to do, but the point is it’s automatically method-like access, which is nice (think of Builder).

So, once you write your “wrapper” class, you’re ready to go.

class SomeDotNetWrapperController < ApplicationController

  def store_other_id
    raise InvalidCredentials if params[:username].blank? || params[:password].blank?
    service = SomeDotNetWrapper.new('http://example.com', 'authentication')
    other_id = service.get_user_id_from_credentials(params[:username], params[:password])
    current_user.update_attribute(:other_id, other_id) unless other_id.to_i == 0
  rescue InvalidCredentials
    # ...
  end
end

I’m sure there are a lot of different approaches, but this seemed the easiest to me. I had somewhat of a difficult time finding a solid solution online for easily consuming .NET SOAP services, so I decided to resort back to the standard library, as generally every language has support for this sort of thing. Anyway, maybe someone else with the same needs will find this useful.

MooMonth calendar

Here’s an interesting approach for displaying calendar events: MooMonth calendar. And here’s a demo to see it in action (make sure you click on a date twice).

It’d have to be on an app that had intense event-scheduling to alleviate the fact that a full-screen calendar might be an overkill solution. Still pretty cool, though. It makes me want to build something with a calendar.

CSS hacks

CSS alone is great, but CSS plus standard browser support would be even better. Unfortunately, I doubt that will ever happen, so we hack. I’ve finally limited my browser concerns to the following four: Firefox, Safari, IE7, and IE6 (with IE6 slowly dropping off the list).

As I’m sure you already know, the problem is mainly IE. I had high hopes for IE7, but I have to accommodate it, too. Before IE7 I used the * html hack (or “holy hack” as they call it) for my IE fixes. Since IE7 behaves differently than IE6, but is still not right, I need to attack it as a separate entity. I personally believe conditional comments to be the best alternative for this. It’s ugly, but most hacks are.

Here’s the top of (most of) the sites I build…

<link href="/stylesheets/default.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/stylesheets/safari.css" media="screen" rel="stylesheeet" type="text/css" />
<!--[if IE 7]>
<link href="/stylesheets/ie7.css" media="screen" rel="stylesheet" type="text/css" />    
<![endif]-->
<!--[if IE 6]>    
<link href="/stylesheets/ie6.css" media="screen" rel="stylesheet" type="text/css" />
<![endif]-->

It’s important to note the order, too. Always put the default styles at the top, then override them with the hacks. Oh, and in the safari.css file, just make sure your styles look like this:

/*\*/
html*ul#content-nav {
  top: 128px;
}
.
.
.
html*div#sidebar {
  margin-left: -10px;
}
/**/

And remember, in order to override behavior you have to define the selector the same way in your hacks file as it were in the default file due to specificity (ie if you have div p.errors in the default file, you can’t expect p.errors to override it since the latter has a lower specificity).

If you have other suggestions, I’m always interested in better ways to hack CSS.

Advanced browser detection script

Anymore, it seems like I’m always mixing in some custom javascript when building out a user interface. Unfortunately, though, not all browsers respond the same way, so it’s important to know which browser is running the scripts in order to accommodate those users. I can’t say that I’ve looked into it that much, but as far as browser detection scripts go, this one is the best I’ve used. What I particularly like about it is its ability to reveal which version (read: IE6 or IE7?) of which browser is being used.

I don’t know when I’ll start ignoring IE6. Life as a web developer would be so much easier. I always say I’m going to, but when it comes time, I can’t walk the walk.

A few more well-designed sites

A few designs I found appealing, in no particular order…

  • http://www.cabedge.com/—Extremely plain, but well suited for what it is. It’s hard to miss the floating clouds and isolated introduction paragraph, which was obviously their intention.
  • http://jinabolton.com/—This one is for the logo pretty much… I think it [the logo] is awesome.
  • http://oaktreecreative.com/—All around great design. I love the white strip through the middle. And while it’s somewhat of a trend, I’m partial to the “one concise sentence to explain what we do” idea.
  • http://www.rikcatindustries.com/—It’s a common misconception that color is required for art/designs to be appealing, but I think this site proves otherwise (as does black & white photography).
  • http://www.blogonize.com/—It sort of has that “blogger” feel to it, which in a way gets old, but in a way is still nice.
  • http://www.positionlab.co.uk/—The upper half of this site is what draws me in. The colors blend well and it’s kind of cool that they used a topographic map background to play off of their slogan. Simple and clean always works.
  • http://9rules.com/—I love the 9rules leaf. I don’t really think of 9rules as a social network, but I guess it is. Anyway, I enjoy the main page design.
  • http://www.turncolor.com/—This is another case of brown and blue and how well it works. There’s hardly anything to this site, but I think it’s a perfect blend of color. I love the “scratchiness” of the header, and the contact form is awesome. It’s hard to believe brown can be so inspirational.

UPDATE

Finally, some REST

No, not the “why do you insist on no more than 5 hours of sleep” kind, but the resource representation kind. Here’s part of a post I read a few days ago:

If I had to choose the single most not-really-well-understood, mystified, unsuccessfully demystified, explained and still not-really-grasped topic in the Rails world (and beyond), my vote would definitely go to REST.

Maybe it’s not quite that bad, but there does seem to be a bit of clarity missing as to why it’s all the rage. I understand some of it, but I think I’m missing most of it. Although, I’ve yet to actually use it. I know it’s been around for quite a while now, but… well… I have no excuses; no real excuses. My shallow excuse would have to be laziness. I’ve been far too lazy the past few months (or year?) to convert a single existing application to REST. And to be honest, aside from laziness, I can’t say that I completely understand the point.

I’m aware of how nice it is for API development, but if there isn’t an exposed API involved, is it really worth it? Is it the clean(er) URLs? The true HTTP caching? A better convention? Nicer routes.rb file? More focused controllers? (Supposedly) better application designs? All of the above?

That stuff is all well and good, but is that really what’s driving this force of RESTful architectures? It just seems like there’s something [bigger] I’m missing.

Regardless, I’ve put it off long enough. Now that Rails 2.0 is on its way, it’s time for me to stop making excuses. I need to get on board so I can realize why it’s so wonderful. Since the core team felt that it was a good thing to integrate REST directly into Rails, I’m sure it is; I just need to learn more about it.

So from here on out, all of my new applications will be RESTful, but I still don’t know that it’s worth converting existing applications. Who knows, though, maybe that’s easy to do.

Buzzword: Adobe online word processor

For online word processing I choose Writeboard because of its simplicity and textile support. But anymore, the options are endless. Buzzword is probably the latest option for online word processing, and it looks really slick. Edit mode is the actual document, so there aren’t any text areas, which is nice. Also, all of the options are integrated very well (especially the inline commenting). It was built using Adobe FLEX.

While textile is a much-needed feature for me, I also have a hard time using something that is ugly. Personally, I see Google docs as ugly. Buzzword, however, is on the other end of the spectrum. If you don’t particularly enjoy the “Flash” feel, you probably won’t like it. But the documents are extremely nice looking. It feels as though they can actually be designed, which I like.

If I were one who needed to collaborate and had a real purpose for online documents (such as for work), I would almost have to use something that produced Buzzword-like documents. If online document writing/collaborating/sharing is a need for you, it’s worth checking out. Seriously.

Mind boggling Google uptime

Here’s a table showing the uptime for Google, and I just have to say, wow. The table was compiled from a year’s worth of statistics. The worst case was 99.991% uptime, which equated to a downtime of 48 minutes in one year. That’s incredible.

Just the thought of their server farm scares me almost as much as this insane (and the exact opposite of fun) carnival ride. Actually, that ride scares me a whole lot more than any server farm ever could, but you get my point.

Social applications are anti-social

Lee mentioned how teachers can now use Facebook to stay in touch with students. I’m sort of torn on this idea, and I may be a little hypocritical in explaining why.

First of all, people (including myself) spend too much time on the computer. Pushing it even further by having teachers recommend their students use Facebook might not be a good thing. In Lee’s post, the part that struck me was…

If my high school teachers would have been willing to work with me through Facebook, I know I would have done better. There were so many times I wanted to ask questions and clarify assignments, but there was no way I was going to do it front of the whole class…

Now, everyone has been in that situation, but it’s bothersome to think of avoiding human interaction with the teacher as being a solution. It seems like that would harm social skills and the developing personalities of young minds. While I’m sure everyone has neglected a question due to fear of how other students might react, a habitual “always ask online” method may prove to be even worse.

And here’s where I flip the switch on this thought. I’m the first person to ask, “Why can’t this be online?” And I’m next to the first person who would rather send an email or text over going to office hours or using the phone. BUT. I don’t always see that as a good thing, I just think it’s how I’ve grown. And maybe that’s the problem. Social applications and other means to neglect human interaction weren’t inflicted upon me, and I ended up wanting the “online version” anyway. With high school students spending 3-6 hours on MySpace as it is, promoting even more of this stuff just may be a little too much.

I wonder if getting involved with all of these “social” applications can actually turn a person somewhat anti-social in the real world. Who knows, maybe we’re nearing a point where we have to decide which is more important.

Offline web applications

I think Slingshot (for Rails) was the first time I had heard about offline web applications. Right off I didn’t get it, and now, I still don’t get it. Am I the only one who thinks this is dumb? I thought maybe it was a phase, but then Google Gears came out (around when Google Reader was capable of going offline), as well as a few other libraries (or whatever you want to call them). I just read today that there are actually people wanting offline gmail. I don’t know what kind of lifestyle you’d have to have to be in a place where 1) you didn’t have internet access (and can’t get to it) and 2) absolutely had to do something online right then and there.

I mean, it’s cool that it can be done and all, but far too many things are done out of coolness (I’m guilty of that, as well). But really, just because you can doesn’t always mean you should.

Writeboard lost my data

I’ve been wanting to try my luck with writing a certain Firefox extension1 for a while now, and I may have just found the motivation to do so.

Last night before bed, I threw in a “Google Reader rollback” reminder in writeboard and saved it. But to my dismay, only that title was saved, meaning everything else (20+ titles) was gone. Sure, they have versions, but you can’t edit an old version (read: can’t get the textile for a previous version), so all of the formatting and links were lost (sometimes I draft them out, too).

Of course, losing data is typically not something you want to happen, but fortunately for me, I survived. It reminds me of when I somehow accidentally hit “mark all as read” in reader—at first, it’s disheartening, but then it’s kind of refreshing. Anyway, in the end, none of this crapola really matters, I’m just saying, writeboard lost my data. And now my Firefox extension motivation is gone again…

1 When I’m working or reading, I’ll often realize something I may want to post about. I don’t always have the time to write up a post, so the extension would allow me to quickly save the idea for a later date. Similar to the deli.icio.us extension, it’d do nothing more than pop-up a window with one text box for an idea. FYI: I’m currently using writeboard to save post reminders (titles, basically).

Google Reader rollback

Last night before bed, I checked reader to see if there was anything pressing… there wasn’t. However, I noticed a few changes to the reader itself:

  • the ajax loading block was no longer in the middle of the screen, but was at the top, similar to their other orange notifications
  • there was a way to open/close the sidebar (by clicking rather than pressing “u”)
  • the feed counts bumped up an order of magnitude, and would display the actual count up to 1,000 (so instead of 100+ it would show 192, but over 1,000 would show 1,000+, which is much better)
  • it felt at least 2x as fast

I didn’t thoroughly check for more features, those were just the apparent one’s. I figured I’d give it a more in-depth run this morning, but it’s back to normal now. Personally, I think they had to rollback. I say this because my photography feeds reported 1,000+ unread and I know I don’t have over 1,000 unread posts just for photography. Either way, I’m guessing a few minor updates are just around the corner.

Perfect example of online collaboration

ConceptShare. There’s a difference between collaboration and social networking. To me, collaboration serves an explicit purpose, where social networking is an implicit bonus. To some degree, though, often “social networking” is not a bonus. It carries a negative connotation because so many new applications thrive on the network itself, rather than treat it as the implicit bonus that it is (or should be). I mean, social networks aren’t products, after all. Then there’s collaboration, which is something to build an application around, in my opinion.

Just recently I redesigned the front-end of a site according to the demands of a client. In order to show the changes, I had to upload it to a test space on the server and email a few people the link with a description of the changes I had made. Then I got several emails back with likes/dislikes and more changes to be made. It’s tedious to collect emails that have gone through several people regarding thoughts on the same concept. That’s not really collaboration, but more of a pain in the ass. It was slightly more convenient than meetings, but by the same token, ended up being much less effective.

I don’t know how long ConceptShare has been around, but it appears to solve a big problem (remote collaboration) in a polished way. I won’t list out the features, here, but rather suggest you watch their demo video.

Everything around one concept should remain in one place. As much time as I spend reading online, I’m surprised I haven’t stumbled upon more applications that attempt to put a halt to the endless hunting for emails/attachments when collaborating. Personally, I’d much rather see applications that serve a purpose over those that do nothing but waste domain space, but maybe that’s just me.

Tracker design decisions

I can’t help but to enjoy reading 37Signals’ design decisions. For those who don’t know, they’re just posts that provide a small insight into 37Signals’ design process and why they chose to do a particular something, a particular way. I’m sure most people who do the type of work that I do would agree that it’s interesting to peak inside of someone else’s design reasoning.

Garrett Dimon is an Information Architect who is working on a bug tracking system that he has appropriately named, Tracker. I’ve been keeping up with posts on the issue tracker, and I’m really impressed with some of the concepts and ideas. To save some hunting, here are the posts thus far:

  1. (8/14/2007) Bug & Issue Tracking
  2. (8/20/2007) The Tracker Status Bar
  3. (8/20/2007) Tracker Status & Comments
  4. (8/21/2007) Linking Issues in Tracker
  5. (8/22/2007) The Tracker Dashboard

Looking into other designs often help me to think outside of the box a little more, which I believe is important to keep that fresh, creative edge (assuming that I already had it, of course).

Preventing web-form spam using CSS

I just came across a pretty clever way to prevent comment spam (or any web-form spam for that matter). It’s straight forward and sticks to the basics. I’m honestly surprised I’ve never thought of this before.

In order to leave comments here, you must first fill in the spam-prevention field, which basically asks, “Are you human?” Since any extra field is a pain, I’m storing a cookie for you (if you answer correctly once, chances are you’re a human forever). I realized, today, that I can essentially do the same thing without the extra field. Since humans typically fill in fields that aren’t hidden, I could have:

// somewhere in the form...
<input type="text" name="verification" id="verification" />

// somewhere in the css...
input#verification { visibility: hidden; display: none; }

If a value from the verification input is posted to the server, it must be a robotronic spambot that fills in hidden fields, which is obviously not allowed. Personally, I think that’s a pretty clean way to deal with spam. I might use it on golf trac.

Beware of Firefox 2.0.0.5 update

I just upgraded to the latest and greatest Firefox. After the upgrade, the browser wouldn’t restart. After rebooting my computer twice, and uninstalling Firefox completely, I was able to get the upgrade to work. However, it’s been about 2 hours now, and it has crashed on me at least 3 times. Before tonight, it has been months since the last time Firefox crashed. I removed a good bit of my extensions to avoid unnecessary conflicts, but it’s still not quite as smooth as it was. Apparently, I’m not the only one to have trouble with this update. I’d steer clear of it if I were you—I’m sure they’ll have another one coming soon (I’m on Windows, by the way).

If I could get the del.icio.us extension and browser sync in Safari, I think I’d switch. It’s incredibly fast, and I like the way it renders pages. Also, the new Flock seems to be a reasonable alternative these days. I still don’t need all of that extra stuff, but it seems to be less obtrusive than it was before. I’m not a fan of the “my world” page (yes, I know it’s not mandatory), and I was informed today that it does finally have a spell-checker.

Warehouse: web-based SVN browser (and other)

A couple of days ago, Active Reload released a web-based SVN browser that doesn’t suck: Warehouse. I’ve gone as far as browse around the demo, look at screen shots, videos, tutorials, etc. I have to say, from what I’ve seen so far, I’m impressed. I just might be willing to pay the $30.

And while I’m at it, Lighthouse looks like a great bug tracking tool, as well. It integrates with subversion, too (maybe via Warehouse ?) Currently, I’m the only one working on Ruby/Rails stuff at work, so my bug tracking system usually remains in my head (or at best, ends up on scrap paper somewhere).

One more thing, Versions is what seems to be a “tortoise for Mac” when dealing with subversion. I, personally, prefer to use the command line over tortoise, but usually things built for the Mac look and feel a lot cleaner than the Windows counterpart. But that also applies to command line, in which I don’t see how I could pass up that terminal.

Another JavaScript light-window-ish-box

I remember, my first or second summer as an intern, I used a javascript lightbox on this (.NET) tool I was working on. I thought it was the greatest thing and yet it was so generic and buggy. It was a mess trying to get it to work with forms, too. Since then, there has been a ton of effort into improving alternatives to the modal/pop-up window. Well, I just stumbled upon what may be one of the nicest one’s to date: LightWindow. It appears to work very well with videos, flash animations, multiple image galleries, external sites, PDFs, etc. Plus, you can mix in different types of media into the same gallery, which is pretty cool. It may be a nice way to preview screens in a content building tool, which just so happens to be what I’ve been devoting most of my time to the last few months (at work, that is).

A few useful programming resources

As a web developer, I spend some time looking up better syntax or methods to achieve the most efficient solution. I thought I’d make note of some of the resources I use almost daily. I’m primarily developing in Ruby/Rails right now, but some of these resources are outside of that. Here they are, in the order I tend to use them…

  1. Rails API—It’s nice if I know exactly what I need.
  2. Got API—I think we’ve all used this a time or two, or at least are aware of it. I find myself using http://start.gotapi.com more than http://gotapi.com itself. They’re both extremely fast ajaxified interfaces.
  3. Pickaxe online—I prefer the hard copy over the online version, but I do use it occasionally.
  4. Rails API search—This is good if you’re seeking examples (although, not all methods come shipped with examples).
  5. Ruby on Rails Forum—I use this more for posting questions, although I haven’t done that in a while. It’s probably not bad to search for solutions, though.

I thought I had bookmarks of sites that allow you to paste snippets of focused code, but I can’t seem to find them, nor remember what they are. They show their face occasionally on Google searches. If you know of any other “must-be-aware-of” references, leave them in the comments.

Google inconsistencies in design

In their defense, consistencies among different applications may not be a valid complaint (like why the new top bar doesn’t show up in reader… and where’s reader search?) But one thing that I don’t get is their usage of “tags.” Is it a tag? Is it a label? Is there a difference? Reader has two options for organizing: add tags and add to a folder. However, they both end up with the same result… folders in the sidebar. It’s somewhat misleading, I think. Docs & spreadsheets represent tags as folders as well, where gmail chooses “labels.”

When I think of tags, I think of a N:N relationship, which means I typically tag something with multiple tags at a time. That’s exactly what they let you do, but I don’t necessarily want my feeds and files to be strung out across multiple folders. To me, folders are more of a 1:N relationship. From all aspects of a folder, there’s not one thing that says N:N relationships exist. In a file system, do you keep your files in multiple folders? Probably not. But if you could tag your files, would you give them more than one tag? Most probably would. It’s all fine, I’m just making a point (and probably being too critical). It was obviously intentional, so I’m sure they have very logical reasoning behind it.

And on a side not, after seeing the new interface for docs & spreadsheets, I would much rather have folders than labels in gmail.

Media RSS and PicLens browser extension

Media RSS is a RSS module for media. Currently, RSS2 has the enclosure tag to handle media, but it’s limited to only one slice of media per item. And not only that, there are only two pieces of metadata: MIME type and file size. Without getting into the details, MRSS simply puts more focus on the media and the metadata around media. It also allows more than one media item, per item, and can handle any/all types of media at once. For instance, if I traveled a lot, I could have a vacation feed that would show a photo gallery and several videos per vacation, rather than one image or one video. If you really care, read Yahoo!’s Media RSS FAQ (they pretty much invented it). Post preparation is now over. Sorry for that.

PicLens is a browser plugin that will provide a full-screen slide show for images on sites that support Media RSS. Anymore, slide shows are being designed in a way that actually makes them pleasant to use. Obviously, Flickr supports Media RSS, but I still choose their slide show over PicLens when browsing sets1. However, I find PicLens especially useful for browsing image searches outside of Flickr.

1 For testing purposes (if you do install the plugin), here’s a portfolio set by my favorite photographer.

Another drab part of web development

Last week I read that Flickr has 525 million photos now (which is nuts) and 55% of Flickr users reside in non-US countries. That means ~289 million photos come from outside of the US. And that’s before they added any multi-lingual support just last week, which amazes me (I could never use an application that’s in another language, even if it’s image-based).

I’ve already mentioned what I think is the worst part of web development, but I’ve since thought of another candidate: internationalization and/or localization (I think they’re the same thing). The reason I can’t explicitly say this is ahead of or just under deployment is because I’ve never actually done it. I know there are plugins (for Rails, anyway) that assist in this issue, but even so. Easy or hard, I’m glad I don’t have to worry about it. I just think it’s a boring problem.

Great looking CMS at WVU

A friend of mine is working on a Rails CMS (called slate) at WVU. I’ve been following the development via slate info, as well as the screen shots on Flickr. I thought I’d take a minute to give praise to the work they’re doing.

First of all, I’m very impressed with the latest release. I personally think the interface is outstanding. slate does a lot of stuff, and from what I’ve seen, every section is intuitive and focused on the task at hand. The design itself is composed of mostly black, white, and shades of gray. This works well, because it’s easy to draw attention when you need to draw attention. For instance, by changing the sub-heading from black to bright blue, a user is subconsciously forced to pay attention—especially if that’s the only thing that’s bright blue.

I’ve never used slate, but I can tell there is an extreme attention to detail. The development schedule seems to be very realistic (even though I’m sure it doesn’t feel that way at times), which is why I think it’s turning into such a great application. There’s no “throwing it together,” so to speak. Every section seems carefully planned and designed down to the very last pixel, as it should be.

All throughout slate (again, from the screen shots) there is a brilliant use of space. Nothing is too cluttered (line-height really makes a difference). The typeface is very standard and somewhat over-sized, which is a good thing. The menus and options are clear, and they’ve gone the extra mile to make the entire interface very user-friendly.

It’s been fun following their development, and I look forward to reading about what’s to come in the future. Congratulations to Chris and Dave (those guys are the only two I’m aware of) on their hard work—it looks like it’s really paying off.

JavaScript execution inside of CSS

I’ve come to learn that IE6 is the devil when it comes to CSS and web standards, but I had no idea it would execute JavaScript inside of a CSS file. I really enjoy min-width and max-width, and have always found it a pain that IE6 does not support it. I’m not sure JavaScript inside of CSS is the answer I’m looking for, but then again, it’s just about as good as any of the other IE hacks I’ve learned to use.

CSS3 should provide the ability to automagically uninstall IE6 and replace it with Firefox—that’s the real solution to the problem.

Docufarm Firefox extension

I’m not crazy about opening files (.doc, .pdf, .ppt, etc) online. I would just rather everything happen fast and within the browser (unless I actually need to whole file, of course). I came across the Docufarm Firefox extension the other day. I’ve only tested it on a few files, but it seems like it solves my problem. It converts each page to an image and presents you with thumbnails of the document (example). The only downfall I’ve noticed so far is it lags just a bit when showing the larger page view. But that may be a small price to pay to keep it all within the browser.

SCM browser coming soon

This subversion browser looks promising. I don’t know how to compare it to other SCM browsers, since I’ve yet to use one, but it looks quite useful. I think Trac integrates with subversion, but again, I’ve never used it.

Reading websites on paper???

I didn’t understand it back then, and I still don’t today. I agree, reading from paper is much better than reading from a screen. BUT. Reading websites from paper doesn’t seem to make any logical sense. Books, yes. Websites, no. I also think separate CSS files for printing is the way to go, over a PDF version of a site (just saying that seems wrong). PDF’s are so final and static—not what most of today’s websites are going for.

Don’t get me wrong, I think PDF’s have a very valid place. Especially concerning eBooks, documentation, references, 4+ page articles, etc, but I don’t think anyone can say they get excited when they click a link only to have the browser freeze up for 15 seconds while a PDF opens. Usually I’m just waiting for it to finish so I can close it. If it’s a one-time deal that’s one thing, but having wanting to download a PDF to read a site is entirely different—that’s way too much work. It’s borderline ridiculous (to me, anyway). Personally, I hope we don’t see the ‘prefer reading from paper?’ buttons showing up on more and more sites. And I would be surprised if that became a growing need.

Another image gallery

I’ve been slowly working on the portfolio section of this site, which always leads me to browsing galleries (hence the slowly part). They’re a dime-a-dozen these days, but I thought this one was cool enough to mention. It’s based on the moo tools JavaScript framework I believe. It’s still a little too shaky for me to actually use, I just thought it was compact and easy. I’ll probably just go with some flavor of lightbox, though.

Trying to understand twitter

I’ve been slow to adopt some of the things I see very useful today, but twitter is not in my adoption list. I just don’t get it. I gave it time, holding back my opinion just in case one day I would see the light, but I still don’t. It’s kind of cool when I think about the technology, but even that doesn’t make me want to ever use it. I keep reading about how it’s growing and growing—how come I don’t understand why it’s so popular? I just saw this on the main page: “eyelids drooping… 5pm… what the heck?” Hmmm… ok, whatever.

More web design inspiration

Just recently, I found a Web Design Inspiration set on Flickr that has a wealth of good, solid designs. There’s a brief description of each, along with a link out to the actual site. Not surprisingly, I’ve clicked through each individual design (only within the Flickr gallery—I’m not that bad). Here are a few others (not in the set) I’ve come across lately:

If you’re stuck in a rut in terms of creativity (like I am right now), you should click through that Flickr set. I don’t always get motivated just by looking at other designs (real photos actually do more for me), but today, it helped.

Flickr architecture and MySQL

I’ve read, a time or two, things like “if you’re going to scale, you should probably move away from MySQL up to Oracle or SQL Server.” And for all I can argue, that may be true—but it might depend on your idea of scaling. The other day I read through a Flickr presentation on their Architecture (they’re using MySQL), and came across some very impressive stats (such as ~25,000 DB transactions/second). The presentation says a snapshot of db1.flickr.com shows…

  • SELECT’s 44,220,588
  • INSERT’s 1,349,234
  • UPDATE’s 1,755,503
  • DELETE’s 318,439
  • 13 SELECT’s per Insert/Update/Delete

I would consider that to be a reasonable scale. Oh, and keep in mind, that presentation was from 2004. They’ve probably doubled that since then.

Glancing through those slides has shown me how much I really don’t know about high-traffic application design. But that’s not too disappointing since I’m not-so-much interested in that stuff. Server issues and “vertical partitioning” a DB (whatever that means) doesn’t intrigue me near as much as the application itself. Of course, though (and thankfully), I won’t ever have to worry about an application experiencing over 50 million SELECT’s on one instance of a database cluster. But apparently, when properly configured, MySQL can handle it. I think I’d save the $25,000 it would cost for SQL Server, too.

Posting drought

I haven’t had much time to post anything for the last few days, but it seems like I’m not the only one. All of the sites I normally read have been laying low lately, and my other feeds have slowed down a good bit, too. Honestly, I don’t really feel like writing anything. I have a few things that I could post about (and normally would), but I’m just not in the mood. And that could just be my reaction to the lack of posting that has been shading the internet lately. Maybe everyone else simply isn’t in the mood to post, either. Or maybe the internet is finally dying. Or maybe, like I said, I’ve just been too busy. Oh well—I suppose I’ll snap out of it in a day or two.

A few random and interesting things

You guessed it, here are a few random and interesting things:

And that’s all for now. Just because I find them interesting, doesn’t mean you will. But I like to record these things from time to time. Feel free to load the comments with more—‘random and interesting’ is my middle_name.gsub(/(^random and interesting$)/,'Paul').

Why I still use Firefox over Flock

While talking with someone back at the Rails Edge conference, the topic of Firefox vs. Flock arose. Both being avid users of the others non-choice of browser, where I prefer Firefox, we could not see eye-to-eye. While I can understand his use of Flock, I don’t think he understands my non-use of it, if that makes sense. So I thought I would share my reasoning as to why I won’t leave Firefox for Flock.

“Flock is the best blogging tool I’ve ever used”

It seems as though major proponents of Flock love to write about its blogging tool integration. I do post frequently, but not via a blogging tool. Firstly, I don’t need one because I run a custom-built site, and secondly, they can sometimes make posts appear sloppy. The “designer” in me couldn’t tolerate that. So that means I’d have to go into the admin section anyway to fix it. There’s nothing wrong with blogging tools, I just prefer to do it my way. My point? Flock being a blogging tool does absolutely nothing for me, so it’s irrelevant how good it is.

I prefer Google over Yahoo

Another reason I choose Firefox is the ongoing support from Google. I’m partial to Google and their search/applications. There’s something about Yahoo (or Yahoo!) that irritates me. The two services (Flickr and del.icio.us) I actually like (maybe love), they bought. I’d much rather have Google on my team than Yahoo!

Browser syncing

Something that has become increasingly important to me is keeping my browsers in sync among all three computers. Google browser sync does an absolute flawless job at this. I’ve never encountered one problem with it. It saves my history, bookmarks, cookies, etc. I’m pretty sure Flock is headed this way, if they’re not already there, but when I tried it, it didn’t even come close to working properly. And it wouldn’t even let me reorder my bookmarks on the toolbar (which I’m also picky about). So then there’s the Google browser sync extension for Flock, but it didn’t work right, either. And do you still have to “convert” Firefox extensions to work in Flock? Hopefully not.

Flock: Firefox for the social web

I think there are huge benefits in social software and collaboration, but I don’t necessarily want that social feeling around me all the time. The browser is heavily mixed-in with my job, so I don’t need constant distractions such as a New (13) label on my photo tool bar. I’d be distracted far too often. I’m an RSS junky, and having those distractions would result in me deliberately not adding my contacts because there would always be something to see. I like being able to choose when I want to be social, so I choose to keep my “Flickr friends” in my feed reader.

Integrated del.icio.us via the bookmark star

Granted, the integration with del.icio.us is a good idea, I don’t know that I like the bookmarks tool bar and my public del.icio.us account going through the same interface. I like to click and know what’s happening without having to think about it. A lot of my clicking is based on intuition, and I don’t need a choice everytime I post a bookmark as to whether or not it’s tool bar worthy. And if it is, what section of the tool bar? Personally, I prefer my 11 folders where I can easily drag a tab to the appropriate folder (i.e., less clicks—in fact, no clicks). Plus, I have both ma.gnolia and del.icio.us extensions, and I use them interchangeably. They’re side-by-side next to the address bar, subtle, convenient, and have nothing to do with my bookmarks tool bar.

Aesthetics

A lot of people are hung up on the aesthetics of Flock, but I actually think Firefox 2.0 (and 1.5) looks better. The tabs feel cheap in Flock (to me). And I love the way Firefox has managed to make less use of the tool bar / address bar area, giving you more room to browse—which is important to me. Now, with Firefox 2.0, there’s no chance I’ll leave. The subtle interfaces changes are great, the scrolling tabs are nice (as well as the tab selection drop down), and most importantly, the built-in browser spell checker! That alone seals the deal.

Conclusions

Probably the number one reply I get when I say I’m not leaving Firefox for Flock is “Why? It essentially is Firefox.” Then why not just use Firefox? It has done absolutely nothing wrong, and to be quite honest, it’s the one and only browser for web developer’s. Flock may finally support the web developer tool bar, Firebug, IETab, HTML validator, ImageSizer, etc., etc., but something just doesn’t feel right to me.

So, I’m an avid Firefox user, with over 25 extensions, 120-135 tool bar bookmarks, 7-10 greasemonkey scripts, completely synced up on all computers, backed by Google, so on and so forth. But at the end of the day, it boils down to personal choice. I choose Firefox for all of the reasons I’ve stated and more, but maybe above all, why would I switch? There isn’t near enough value add for me to convert my bookmarks, scripts, extensions, etc. to Flock, just so I can take a chance on a browser that has already failed me once. It’s just not worth it. I’m glad Flock exists, because a lot of people seem to really, really love it. And that’s important. Plus, it’s sheer existence actually can do something for me: make Firefox even better!

A few CSS designs that stand out

Much like photos, I enjoy looking at random CSS designs. And for that very reason, I have a bunch of feeds from a number of different galleries. Here are a few of the better designs I’ve come across over the last few days.

Firebug is awesome

Firebug has helped me out so many times. It’s probably the best tool I’ve used to assist me with development. If you don’t know what it is, here’s a video that illustrates Firebug and what it can do (warning: it’s close to an hour in length—I skipped through it).

Digg RSS feed in 3D space

Here’s a site that exposes RSS in 3D. It uses Digg for the feed. I like the thought of exposing RSS in a unique way, but this particular site makes me far too dizzy to actually use. But the concept is cool nonetheless.

Visualizing data

I’m a sucker for charts and graphs. I found something from IBM yesterday that kept me entertained for a few minutes: Many Eyes. It lets you submit data sets, then use their visualizations to see your (or someone else’s) data.

And while I’m at it, another interesting (but almost disturbing) visualization is BreathingEarth. It shows the CO~2 emissions from every country in the world, along with birth and death rates. And the data is in real-time. If I were into data analysis, I think it would be fun to come up with creative ways to present data (assuming I could write Java applets and Flash movies).

Del.icio.us API and other

The last 7-10 days, my bookmarks (that show up here) have been about a week behind. My site was only showing up to Jan 13 or something, when I had bookmarks from Jan 18 or so. Over at my actual account everything was correct, but the API was lagging behind a few days. I contacted them to report the situation after day 2 of realizing this (and making sure nothing got updated and it was me who was behind), and they assured me that it was a known problem and would be fixed soon. It looks like it’s all back to normal now; which, for whatever reason, I’m glad about.

I use del.icio.us a lot more than I probably need to, but it’s so easy with the Firefox extension I hate to let anything remotely interesting slip away. That’s the reason I don’t just pull in all of my bookmarks for my site—they would flow through too fast and the really good ones would not have any priority, or last more than a day. So I tag the “golden nugget” bookmarks with ‘rpheath’ and pull in only those bookmarks. I feel like I get more control that way.

Have you ever heard of Flickr leech?

I sometimes browse Flickr because I like to look at photos. Mainly for two reasons: 1) inspiration and 2) because I like to look at photos. Part of why I used to often visit Popurls (with “3x more buzz” selected) was because of the random collection of photos streaming through the site. Flickr leech is a much better option for quickly browsing photos on Flickr. I’ve never heard of it until today, but it looks promising.

Much more than the number of diggs

I don’t read Digg avidly, but I am a fan. I’m also fascinated by its algorithm (not that I know it). I did read about it before, and stumbled upon this reminder yesterday (and another from the comments). I learned a thing or two, and was, yet again, impressed to think about all that is considered for a post to make it to the front page. I never really thought about the speed of which a story gets “dug,” but that really does say a lot for its popularity. The fact that it’s not well-known as to how smart the algorithm really is shows how Digg employees care more about the content that floats to the top than promoting a smart, feature-rich system. It’s not just the number of “diggs” after all.

Trends for Google Reader

I’m not sure how long this has been around, but it’s new to me. Google Reader Trends allows you to see the frequency of data coming through your reader, and in theory, can help you become more efficient at reading that data. If you’re heavily into RSS and your subscription list is getting out of hand, this might help you to recognize the feeds you might not want anymore based on how often you read them, and how often that feed is updated. Of course, this assumes you use Google Reader. I thought it was interesting to see when I read my feeds the most. Apparently I read the most while at work (over lunch, but still)—sorry Lee! I’ll be interested to see if those numbers come down (reading while at work that is) now that I’m doing stuff I like again. C# and .NET simply wasn’t keeping me focused.

Custom search for Google Reader

Sometimes I want to find something in Google Reader. Something I read awhile ago, but don’t remember where. I star posts I think might be useful, but sometimes I don’t know they’re useful until I need them. Google, being the number one search company, does not provide a search for Google Reader. I’m not sure why. Nevertheless, I came across a Greasemonkey script to do just that. It takes a decent amount of effort, though (it’s easy, it’s just not a “click to install and you’re done” type of script). And I’m sure (if you wanted this) you could figure it out, but I’ll explain it anyway.

Here are the steps to add the custom search to your reader:

  1. Download your OPML file from your reader to your Desktop (or wherever).
  2. Sign up for a custom search here: Google Co-op—for your search, just fill in whatever you want as the name, description, keywords, etc.
  3. Click “Next” then “Finish”. Then click on “control panel” then “advanced”. Look for the annotations section. Upload your OPML file you’ve just downloaded.
  4. Install this Greasemonkey script.
  5. Right-click on the monkey and choose “Manage User Scripts”.
  6. Select the “Google Reader Custom Search” and click “Edit” to open the JavaScript (Note: if you haven’t chosen a default editor for Greasemonkey scripts, it will prompt you to do so the first time).
  7. Near the top of the file, you’ll see a variable named SearchURL. This variable needs to have the address of your custom search. To get that URL, go back to your custom search homepage, and search for “anything”.
  8. Copy the response URL and paste it in the JavaScript file as the value of the SearchURL. You’ll be replacing the text “REPLACE-THIS” that’s there by default (Note: don’t remove the quotes).
  9. Lastly, remove the “&q=anything” from the URL you pasted in place of the “REPLACE-THIS” text. Save everything and “ok/close” all open windows.
  10. Refresh your Google Reader and you should have a custom search at the top.

The down side? You have to do this on every machine where you use Google Reader. The ideal case would be for Google to go ahead and implement a search for their reader, as I’m sure it would work a lot better than this solution. Until then, this might get you by.

Another impressive flash portfolio

Sometimes flash development intrigues me. I’ve played with flash before, and I’ve found it to be fun but challenging. I know it does a lot of the (what seems to be difficult) fancy things for you, such as tweening and custom motion paths, but it’s still challenging. I’d like to watch someone work on a site such as http://www.thibaud.be/, just so I could see how difficult it truly is. I don’t think I’d ever consider flash for a site, but there’s a part of me that would like to be proficient at it. Proficient enough to build a basic site with good flash practices, at least.

This portfolio is clever and fun to look at. Try spinning one of the tags around. Or throwing one across your screen. Then open a couple, look through them, and close them. Notice how they go down to their respective spot in the line-up? I think that’s awesome. And I don’t know if you noticed, but if you happen to click on a tag that has an embedded flash movie, while the movie is loading, the preview image is wiped out. Cool stuff. You simply can’t do those kinds of things without flash.

DivShare: impressive file storage

I know storage space is considerably cheap, but unlimited? Anyway, here’s a site that let’s you upload anything of any size an unlimited number of times: DivShare. It might be useful.

Gmail greasemonkey script(s)

Maybe you’ve heard of GreaseMonkey scripts, but if not, it’s just a collection of user scripts (see userscripts.org) written in JavaScript that can be incorporated into the browser (Firefox and Flock). It’s been around for a while, but I’ve been neglecting it. It turns out that some of the scripts out there are very handy.

There are a ton for Gmail, but the one I find really useful is the multiple signatures script. I use Gmail to maintain all of my other email accounts as well, so you might want a different signature when sending email from another account (such as work). I know I do. Anyway, not often do you have to manually edit the script files, but in the event that you do, here’s how you do it:

  1. Right click on the little monkey in the bottom right of your browser (after you install GreaseMonkey that is).
  2. Select “Manage User Scripts”
  3. Choose the script you want to edit
  4. It will prompt you for an editor (first time only) to choose as your default to edit the scripts (I recommend PSPad)
  5. Edit the file, save it, close it, then click “OK” on the GreaseMonkey window
  6. Refresh your browser, and you’re good to go

Now, specifically for the multiple signatures script, you only have to edit three arrays: email_array, sig_array, col_array.

  • email_array is where you have to put all of the emails you’ll be sending to (whatever shows up in your Gmail drop down list when composing).
  • sig_array is the array that holds your signatures. Use \\n to split up multiple lines.
  • col_array is an array that holds HTML color codes, and will highlight your browser when you select that signature. I hate this option, so I set all of my colors to “transparent” so it wouldn’t do anything.

Just remember to keep the arrays in the same respective order. So if you have two emails (email1 and email2), make sure the desired signatures are in the same order (sig1 and sig2). Once it’s installed, look for the “Use Identity:” list under the “From:” drop down menu. Just click on the email you’re using, and the signature will be appended to your email.

Check all your email through Gmail

I’ve been waiting on this to show up in my account since I first read about it; it finally did. Like many other people, I have (and use) more than one email account. It can be a pain to deal with. I have my college email, work email, and two personal emails. Now, Gmail let’s me check all four emails via the Gmail interface, which I love. And when you “reply” to someone who has sent mail to one of your other addresses, it uses that address as the reply address, instead of your Gmail address (which you can optionally set as the default). I’ve already added filters to automatically label my school and work emails. I’ve had the “send from another account” thing setup for a while now, but was never able to check other accounts until today. They were quietly sneaking it in people’s accounts. Unfortunately, I guess I wasn’t downloading my email from the server in all of my years at IRC, so now I’m getting thousands of email from 2 years ago randomly showing up. It’s kind of sporatic, but once I get through all of them, it looks like this setup will be really convenient for me. They’re spam filters work really well against my junk email, too.

I think Gmail is the most efficient and effortless way to keep track of email. It’s fast, smart, reliable, and innovative. Well, I guess it’s the Gmail team who is innovative. It just works extremely well. I’ve been having some issues with Outlook goofing up on me, causing me to almost be late for a meeting or two, and ignore an email from my boss for 2 weeks. Not a good thing. Like a lot of the things I use and love, I could go on and on about Gmail and its features, just in case there’s someone who may read this post and not have or know about Gmail. But how could that be? So I won’t go into all of that.

If you have a Gmail account, and you don’t know if this service is available to you, here’s how to find out: Gmail Mail Fetcher.

A good idea is worth nothing

Unless, of course, it’s executed. I just finished re-reading Getting Real (yeah, it’s that good), and I forgot about this. It’s an interesting point:

Awful idea = -1
Weak idea = 1
So-so idea = 5
Good idea = 10
Great idea = 15
Brilliant idea = 20

No execution = $1
Weak execution = $1000
So-so execution = $10,000
Good execution = $100,000
Great execution = $1,000,000
Brilliant execution = $10,000,000

Multiplying the two gives you your pillar of success. I suppose that’s why a lot of good ideas get flushed down the toilet: no execution. I recently read that MySpace is now worth $6 Billion. Would you consider that to be brilliant idea/execution? While the majority of pages on MySpace are ugly and unruly, I guess the execution lies within the freedom given to each member to make those pages ugly and unruly. Personally I think it’s the most obnoxious place on the internet, but apparently it’s working.

A very nice design app from Adobe

I found this app a few days ago, and lost it in the transition from work to home. But I knew I’d find it again. Aside from me being slightly color blind, I really enjoy a good color tool. I mentioned the other day how a large part of design is color matching. I thought it was nice to have all of those colors right in front of me, but I still had to pick and choose. With Kuler, I can pick and choose my own color themes, or browse the thousands that other (more talented) designers have created. This is one instance where I find the community to really benefit the application. The interface is awesome, too. And since it’s Adobe, it plays nicely with Photoshop (you can download the swatches). It’s free, so you have no reason to not try it. I’ll post the link again, just in case you missed it the first time. Have fun…

TechTalks on Google Video

I don’t remember how I stumbled upon this, but if you type “techtalks” on a Google Video search you’ll get a lot of good content. I haven’t gone through it extensively, but I’ve glanced through the titles and watched a couple of them. Some of the topics include: Python, MySQL optimization, Behavior-driven Development, User Experience at Google, Intro to SQLite, and so on. If you’re looking for a new tutorial or screencast, you should give it a go; maybe you’ll find something worth your while.

Hiring a new (web) designer

There are important things to consider when designing and developing a website. Most of these things a person can learn through reading and personal experience. But I’m convinced that a large part of design stems from creativity and artistic talents. Unfortunately, these are things that cannot be taught. There’s more to designing than meets the eye, and often it takes another good designer to realize that. Just because Bob Ross makes painting look easy, doesn’t mean it is.

I’m in no position to hire anyone, but if I were, I’d go about it from a different angle. There’s a saying that pops up every now and then, “a picture is worth a thousand words.” I think that’s true. As an employer (which I’m not), what would I want in a new designer? Hmmm… here’s how I’d find out…

I would go through a normal interviewing process, scanning previous works (assuming he/she brought some sort of portfolio), discuss important web-related topics, maybe a few more random, seemingly meaningless questions, and off you go. But not before I gave out the assignment: “You have one week to build a site that will reflect you as a designer. On this site, I want you to write why I should hire you, and what you think about [my] company. The site can be one page or ten pages; it’s up to you.” There would be no answers to any questions asked, but the questions would be noted.

What an employer cares about is what the designer can do now… today. And within time constraints. From this, you could see how creative the designer is; his/her style; how much the designer cares about what he/she does; his/her passion; how fast he/she can work; how dedicated the designer is to the task; the designer’s ability to self-direct him/herself (by the limited number of emails/questions); how well the designer understands markup; how well he/she follows web standards; and finally, how well he/she can write. Good, clean writing can say a lot for a person. I’d then narrow down the choices to three, and call them for a second interview. I would now know first hand what these designers can do given a minimal amount of time.

Personally, I would love to have an interview like this. And I think those who have a passion for design would agree. Of course, this would take place in a world where it didn’t matter who you knew. A world where the best man wins, and not because you know the best man.

Ideas from the paint section

This is kind of an odd way to be inspired, but it worked for me. I had to get light bulbs the other night and they just so happened to be close to the paint section. Walking by the paint aisle, with all of those snippets of colors, I thought of designing. I stopped for a minute and started matching up colors. Sometimes the hard part about designing is coming up with the color combinations that work. Having hundreds right in front of me was kind of nice. So I found a few blends that I probably wouldn’t have chosen had I not been able to randomly associate one with another; I put them in my pocket (they are free). No HEX codes, just raw colors. I think I like that approach. Maybe I’ll start a paint store.

RSS feeds converted to a book

There are two kinds people in the world: those who use RSS and those who don’t. I know, there are those in between who know what it is but simply don’t care. Or what about those who have 5 feeds versus those who have 1,000 feeds. However, I’m going to stick with the binary-esque approach, and claim that you either do or don’t. But that’s not the point. The point is sometimes I get labeled as a “nerd” or “geek” simply because I’m an advocate for RSS. When, really, all it means is I choose convenience over inconvenience. Sure, it’s a relatively new technology, but so what? Technology is what drives the world, and it’s only going to keep advancing. The way I see it, staying on top of that is an extreme advantage. Plus, it’s not only the highly technical, very nerdy (and geeky) web companies who have RSS feeds. Look at USA Today for instance. Surprisingly, they even support mobile RSS! Like it or not, over time, RSS will eventually play a role in the everyday life of the average person. Not everyone liked email when it first showed its face, and now I don’t think I could find a person who doesn’t have one.

[Scenario: At my high school reunion] “Yeah, I’m subscribed to 75 RSS feeds, and I read them through my aggregator everyday.” I believe it’s safe to say I’d be within the minority.

But what if I found a way to convert my RSS feeds into a bi-weekly book? A real, physical book. With a cover and all. And every three days or so, I had a new book to read. If I waited three days before reading what I read via RSS, I’m sure I’d have at least 200-300 pages of content. Now, if I were to tell the same people that I read a new 300 page book every three days, things would be different. All of a sudden I’d become “really smart” because I read 2-3 books per week. I guess people tend to criticize what they don’t understand. I don’t have any regrets about turning out as nerdy (or geeky) as I’ve turned out; in fact, I actually like it.

37signals' Design Decisions

37signals has established themselves on the web by creating very user-friendly project management tools, and by implementing them under the “less is more” approach. Now, I think they could build just about anything they wanted and it would be adopted by tons of people. Essentially, they know what “cool” is. They are indeed an interesting company, and I really enjoy reading their posts. Especially the new series, “Design Decisions.” They take a design decision they’ve made, break it down and explain why they’ve made it. It’s entertaining to read how the big-timers (although they’re a small company) contemplate a new design—even if it is just the menu of a page. I believe they’ve only posted two for the series so far (1 and 2). If you’re into web (application) design at all, you’d probably find it interesting to see how a really successful team breaks down a design.