I <3 OSS

Posted by Will Bond on November 8, 2005.

I love open source software. Free software is nice, but OSS really takes the cake. Since I started here at iMarc I have had a lot more exposure to open source software than ever before. Mostly this is due to the fact that our servers run on 100% open source software. Currentlly all of our production web servers run FreeBSD (4.x and 5.x ) for their OS, along with Apache, MySQL and PHP. We also run a file server on Fedora Core 4, set up with Samba shares that all of our Windows and OSX boxes connect to. But, back to my original point. I love OSS. We host a search engine web service called SiftBox. This is based on Mnogosearch, an open source search engine available at http://search.mnogo.ru. Mnogosearch is a fairly evolved search engine with quite a few features which made it our strongest candidate to use for our search engine web service. We did, however, find an issue with the software in that searches that contained phrases were not properly highlighted in the results. The beauty of open source software is that we were able to modify the source code to fix the issue. On a recent personal project I also experienced the joy of working with OSS. This summer I decided to build my own PVR (Personal Video Recorder). I chose MythTV for the software package, and set up Fedora Core 4 for the operating system. Throughout the process I was able to customize the software to make it so my PVR works exactly how I want it to. I have benefited amazingly from the effort of countless others by using open source software, but in return I have also tried to give back to the community. iMarc submitted a patch back to Mnogosearch to fix the phrase highlighting issue, and I have been working on setting up a site to help share information about my experiences setting up MythTV. I also frequent the MythTV mailing lists trying to help other out as I can. Don't get me wrong, closed source software companies offer some good products (check out PHPEd), they just don't make me all warm and fuzzy inside like OSS.

My New Favorite Firefox Extension

Posted by Fred LeBlanc on November 8, 2005.

The IE Tab extension for Firefox is simple fantastic. It lets you view both IE and Firefox all from the comfort of your Firefox window. If you're still using 1.0.x, read the directions carefully as there is something extra you'll need to download first. IE Tab for Firefox

The Push Back

Posted by Fred LeBlanc on November 1, 2005.

I've done a great deal of reading, studying, and discussing usability for the Web, and while I've adapted a lot of my design and code practices to accommodate what people tell me is best, I have to draw the line somewhere.

This is the beginning of the resistance.
Welcome to the Fred Rebellion.

1. 800 x 600
The belief that most of the people in the world have at least this as their screen resolution, and using the principles of lowest common denominator, every site should be designed to fit this size.

According to the Fred Rebellion: Attention 800 x 600'ers, your time is over. Assuming that people that hit our Website are current clients, potential clients, family or friends, our stats over the last two months are good a base of information to look at:

% of 800+ px wide: 99.98%
% of 1024+ px wide: 93.76%

'Nuf said here, the time for 1024 is upon us. When Flash was appearing on 94% of the machines worldwide there were more than enough people claiming that Flash has become a standard that could be used, where are those people now?

Additionally, I've noticed that since I started using a resolution higher than 1024 x 768, I've stopped looking at browser screens maximized. This leads to the argument that people naturally keep their browser windows to fit 800 x 600 (as was the case of a recent discussion here at iMarc). I don't believe this to be true, I think the user just widens the screen to be about 100 pixels greater than whatever the site is currently set to be, so a browser window 'naturally sized' to fit sites is just a by-product of archaic coding.

By the way, there was 1 visitor to iMarc in the past two months that was on a 640 x 480 resolution. Notice how no one cares about them.

2. 100% Width Sites
The belief that for maximum flexibility, a Website should stretch itself to 100% of the screensize.

According to the Fred Rebellion: No, never. This can completely ruin the design of any site, and by coding at 100% width, standards will never move forward. There will never be a push to code for ANY resolution, let alone the 1024 x 768 that I want. Additionally, with the incorporation of more and more CSS, this becomes harder to accomplish. I've seen a number of cool things that CSS can do, but I code for whatever is the cleanest to read, the simplest concept to understand, and the easiest to get to work. If I'm spending time positioning a million div's when a quick table will do just fine, all I lose in the end is time.

(And I hear that time == money.)

Useless Links are... Useless 3. "Just Add Another Link"
Another discussion that came up recently was about the blurb on our home page. I've taken a screenshot for you (right) so you can see the argument. The thoughts were basically: add a link that goes to the main blog page, and move the "read more" link to be inline with the text. I said that the read more link was already not necessary, since (as I've always been told for anything I build here) that "most people will try to click on the title first," to which the response came, "why not just have both?"

According to the Fred Rebellion: The answer is simple: because having both is unnecessary clutter. If you need to have two ways to do something, the first way isn't clear enough for the user. The titles being the same blue that we use for most of our links is visually key enough that we don't need a 'read more link.' I think a lot of designs lately have lost the use of good white-space, and I think that it's this attitude towards things that is one of the culprits.

4. HTML Title Stuffing
The recent belief that putting full descriptions into HTML titles will improve your Google ranking. Below is a recent site that we did that does this.

Title Stuffing is Gross According to the Fred Rebellion: This is ugly and unprofessional looking. A title should be something short, concise and exact, and I cannot for the life of me think that this truly matters to Google. I've taken a look at a lot of sites (Apple, Microsoft, Google, Yahoo!) and what is in their titles? One or two words, that's it. You get to the top by having the best and most useful content, which is what Google intends. These lame hacks to bump yourself up a couple notches are for the insecure and lazy.

Make something worthwhile and the people will come.
Have good content, layout and design and Google will do the rest.
And have you seen what this does to my bookmark/link bar if I save it?

Oh Man, Fred, That IS Disgusting I'd like to save more than one link.

(As an additional note, I also checked out Amazon to find that they too are doing this title stuffing nonsense, but with their 100% width antics, this doesn't surprise me. Stop ruining my user experience!)

I think I'll continue to post more of these blogs on the Fred Rebellion, since there are many more things out there than just this that bother me.
You can either forge the path forward or wait for someone else to do it. The Fred Rebellion has got out its machetes, are you coming with us?

iMarc launches site for Springfield Museums

Posted by Nils Menten on October 28, 2005.

Blog image

iMarc LLC (http://www.imarc.net) recently completed a large-scale web site for Springfield Museums (http://www.springfieldmuseums.org). The site encompasses the museum association, as well as four distinct subsites, one for each museum.

Springfield Museums' new sites have increased educational value with features specifically for educators, while the stylish, interactive design engages youth audiences. The sites enable the Museums to increase member interaction and retention by improving the quality of member communication. The new content management tools dramatically lower site maintenance costs, and the sites are also Section 508-compliant for disabled users.

"The new site that iMarc developed went above and beyond our expectations," said Chrystina Geagan, Director, Marketing & Membership, Springfield Museums and the Dr. Seuss National Memorial. "iMarc's professionalism, dedication, clear and insightful suggestions and productivity will no doubt enhance every online visitor's experience and encourage visitation at the Museums. The level of positive feedback we receive about the site only supports our decision to make iMarc the company who steers our online efforts towards success."

iMarc created an extensive database-driven content management system to enable Museum staff to directly control and update the web site.

Features include:
  • Online Store
  • Museum Calendars
  • Museum News
  • Exhibit Listings
  • Image Galleries
  • Member Management

The site architecture is built on a dynamic, database-driven framework that makes it easy to add, edit, and remove pages from the site. At the same time, the architecture preserves branding and navigation across all pages, so that all contributions to the site contain appropriate branding and formatting. This means that the site can grow, without redesign costs, to satisfy the needs of the museums for years to come.

About the Springfield Museums
The Springfield Museums (http://www.springfieldmuseums.org) is comprised of four world-class museums — the Museum of Fine Arts, the George Walter Vincent Smith Art Museum, the Springfield Science Museum, and the Connecticut Valley Historical Museum. The Museums Association is also the proud to be home to the Dr. Seuss Sculpture Garden, a series of full-scale bronze sculptures of Dr. Seuss's whimsical creations, honoring the birthplace of Theodor Geisel, a.k.a. Dr. Seuss.

About iMarc
iMarc is a skilled team of designers, programmers, and business development experts, focused on building user-focused web sites and online applications. Since its founding in 1997, iMarc has created digital asset management applications; ecommerce, social networking, intranets and member association websites, and literally hunders of other websites and branding solutions for clients world-wide. iMarc's portfolio is available online at http://www.imarc.net/portfolio/.

Don't Kill Your Business: Part 1 of 1,452 part series

Posted by Craig Henry on October 25, 2005.

Can we be serious here for a minute?

I'm going to go out on a limb here and tell you that design is more important than the code behind the design. I don't actually believe that, but I have to because I know that the average website visitor isn't visiting your site to see how it was made, but why it was made. Let's face it, your visitors are there because they want something from you.

The internet is an archive to a world of social satire. It's true, just like television and radio- a false perception of reality is key to engaging people to:
  • Buy a product or service
  • Buy into an idea
  • Allow a product or service to give you ideas.
My semi-pessimistic analysis stops here, because although it sounds harsh, we're all capable of accepting or ignoring it.

Moving on, we now know the goal in developing and designing your site; to show people what you do and why you do it better than anyone else. Whether you are a shoe manufacturer looking to sell your soles or a Fish & Game shop looking to make an extra buck - you need to be able to sell your visitors on your service or product IMMEDIATELY or, I assure you, you've lost them. In fact, I'm suggesting that all of you consider your website a one page service center for your future. It's THAT important. If I'm coming to your site to get a phone number or to buy a product, I need to know how to do it immediately.

Now before you call up your design firm and ask them to move all your interior pages to the homepage, let me clarify: Your visitors dont need to be able to access all of your information from the homepage, they just need to know HOW to access all of your information from the homepage. Thus a clear, concise and functional navigation system that leaves no stones unturned.

Now let's talk about your image. There are about 253 good marketing and design firms in the United States today. At the same time, there are about 442 million beer-bellies that will do your site for you in their basement at a fraction of the cost any actual company would quote you. When it comes to your website, you absolutely pay for what you get. Shopping around is the number one piece of advice I can give you (why not start here?).

Here, let me make this easy for you. When you go for your first meeting with a design firm, bring along this handy checklist:

[_] - Does this company have a solid background and track record?

[_] - Will this company use my existing branding/collateral and implement it onto my new site?

[_] - Can this company provide me with ideas that will better my online presence?

[_] - Will I be kept informed throughout my site's development? What role will I play in managing the site?

[_] - Where will my site be hosted? Who do I call if my site ever goes down?

[_] - Where's the coffee?

The list could go on for about 5 pages, but I strongly suggest you start there.

Getting back to your image. Your company's image is very important. If I need to find a good lawyer online chances are I'll Google a lawyer in my area. If the first few sites come up looking like the classic "Dewey, Cheatum, & Howe" I might give up really fast. Let's say, though, that the next one comes up as a professional, clean, informational megaplex of lawyer goodness. I'm so in. I pick up the phone and make the call.

So how can a bad website affect my company? Easy! Listen, there are probably thousands of other companies that do what you do. I dont need to go into a lengthy paragraph about how clean beats sloppy, or how clear and consistent navigation beats navigation that moves around depending on what page you're on. I also don't need to tell you that any company that's at the top of their industry's game didnt get there through poor marketing and branding. The importance of your image is non-negotiable when it comes to appealing to an audience. If you know your audience and know your brand, (and you hire a quality design firm that understands them too), then you'll stay out of that hole that has brought more company's to their knees than bad management and financial instability combined. It's called bad image.

Don't kill your business.

[/end part 1]

An RSS 2.0 Crash Course

Posted by Fred LeBlanc on October 24, 2005.

I saw our first 'non-iMarcian' comment yesterday, and it was asking about RSS. Not only have I never really built anything RSS related, I've never even looked into using it. Sounding like a fun challenge, at 6:30pm on Sunday I made my first Google search and within an hour and a half, I had an RSS feed for our blog ready to go.

Since things were so simple, I thought I'd share how I went about building things to maybe help those that are interested in it.

The first thing I looked up was "What is RSS" in Google. This returned a couple of good articles, mainly the full explanation from everyone's favorite encyclopedia (except China), Wikipedia. RSS stands for "Really Simple Syndication" and is used to port fresh content from a Website to an aggregator. Cool.

Next, I needed to find out the specifications for RSS. This returned a Harvard Law Website, which at first seemed weird but hey, if you can't trust Harvard Law these days, who can you trust?

It turns out that this page would be all that I'd really need.

Not only did this site provided the basic explanation for RSS again, but also gave sample files right off to get a feel for what I was going to build. I love it when tutorials do that, because I'd rather see what I'll be creating, and then have each piece explained to me. In fact, I'm sure you could get everything you want from that page, so I'll just use this as a general overview of steps and the 'gotchas' I came across along the way.

Note, this is geared towards making an RSS feed for your blog, but you can easily incorporate this information into make an RSS feed for anything.

The first thing to decide on is what standard you want to adhere to. I chose 2.0, mainly because it seemed the most recent, and is what all of the cool tech sites (or mainly digg.com) use.

To start your feed, declare your XML intentions and then open an rss tag, and inside of that, start a channel tag:
You'll see that the RSS version is defined within the rss tag. A channel is just another name for your feed.

Before loading items, we have to create a title and description for our RSS feed. This will be used by aggregators to determine where the feed came from and what it's about. We do this by adding some tags not inside an item tag. This is what we used:
Communiqué iMarc's blog en-us Copyright 2005, iMarc LLC http://www.imarc.net/communique
These should be pretty self-explanatory. A couple of notes: title, description and link are all required, the rest were just added as options. More options include managingEditor, webMaster, pubDate, lastBuildDate, category, generator, docs, cloud, ttl (time to live), image, rating (based on PICS), textInput, skipHours and skipMinutes. Again, no need in re-inventing the wheel, read all about it here.

Now that we have our channel defined (which again, is just your feed), we need to add items. Each item you add will be one entry displayed in your feed. Simple enough.

Items use a lot of the same tags as channel, and just using the basics are pretty much good enough. Here is a sample item based on the tags that we used:
Blog Title This is a sample description of my blog entry. Sun, 23 Oct 2005 20:05:12 EDT /communique/view/1/blog_title /communique/view/1/blog_title#comments /communique/view/1/blog_title
You'll notice a couple of new tags here. First, the pubDate tag. This date must "conform to the Date and Time Specification of RFC 822, with the exception that the year may be expressed with two characters or four characters (four preferred)." If you are looking to do this with PHP's date() function, use this:
Also, guid (which stands for globally unique identifier) is used by aggregators to determine if a feed has new entries or not. Think of this as the primary key in MySQL. Further research said that there is no required syntax for this, but from what I find there are a couple of standards that you should try and follow:
Use Your Website
Start your guid with your website, that way you never accidentally copy over another feed from another site.

Use a Link that Links to Your Site/Entry
Opera seems to use the guid as the link to the item you're talking about instead of the actual link tag. I'm not sure why, but just a heads up.
The comments tag is the URL users can type in to read or leave comments about each item.

You can add as many of these item tags as you'd like. When you're done adding items, all you have to is close your channel and rss tags, like so:
Save your file as a ".xml" file and there you have it: your very first RSS feed.

It's a good idea to validate your feed once you have it created. I used FeedValidator.org to accomplish this, as they give you a very simple interface with clear error messaging.

I found there were a couple of common errors that kept getting returned. Since our blog is called "Communiqué", the é kept causing problems (in fact not just in the RSS feed, but around the site too, for links and such). You should use HTML entities when creating characters like this, but in this case, I took a different road. To convert our titles into nice search engine friendly ones, we created a PHP function that takes a string of text (which would be your title in most cases), strips out the weird characters, converts spaces to underscores, and converts accented characters to non-accented versions of the same character. While this may seem like a bad practice, we took into account a couple of key thoughts:
  1. Most people won't confuse a word without accents with a word with the appropriate accents when it's used in context.
  2. A blog is about communication, and communication is information travelling from one person to another person intact. Without these accents, the message will still get through correctly 99.9% of the time.
  3. Building off #2, well, you can't please all of the people all of the time.
To get this page to be dynamic, I built a PHP script to create this feed, and set up cron to hit the feed-creator page every twenty minutes. This is probably overkill for us for now, but the amount of resources it takes is minimal enough that it isn't a problem. The page simply builds up a feed into one long string and then writes that string out to our feed XML page. Easy, and everything works correctly.

Finally (yes, finally), the concept of live bookmarking. We all use Mozilla's Firefox aroundFigure 1: Live Bookmark Icon the office here, and with this browser comes the option of live bookmarking. This allows you to subscribe to a feed as a bookmark, and it automatically refreshes throughout the day. (If you're on Firefox, down at the bottom of your screen there should be a small orange icon in the status bar. Click that.) At first I was perplexed as to how to get this to appear, but found the solution. It all happens in your page's head tag:
The title is what will pop up when a user clicks on the orange icon, and it's used to tell which feed they're subscribing too. This is good if you have multiple feeds on one page. The href points to your RSS feed (just like you'd create an HTML link). You can have as many of these tags as you want, and each will list separately in the list of options in which users can subscribe.

And there you have it, an RSS crash course. I went from just knowing of this technology to having a decent handle on it in about ninety minutes, and its application seems greatly useful all over the place (and all thanks to the user comment my last entry received). Hope this helps, and if you have any tips of your own, please add them in a comment below.

Webmail That Works

Posted by Will Bond on October 24, 2005.

I really want a webmail that works for me. I have spent alot of time looking, but I still can't find it. Email is supposed to make my life easier, not harder. I don't want my email downloaded to a computer at home so I can't access it at work or vice versa. I want to be able to check all five of my email accounts in once place with one click. I want the basic functionality of Thunderbird in a webmail. Why is this so hard to find?

I have tried Gmail, Yahoo, Hotmail, Verio-based webmail, plus about 15 different php-based webmail systems and none of them do what I need. Features I need include:
  • Check multiple POP3 accounts with one click
  • Folders that can contain subfolders
  • Send email from any of my five accounts
  • Spam filter
  • Message filters
In addition to this I would love to be able to check POP3 over SSL, but that is not a requirement. I will rejoice the day that I can find a webmail that works for me. Until then, I will continue using paid Yahoo mail ($20 a year) that does almost everything I need (each POP3 account has to be checked seperately and you can not have subfolders). And yes, I am willing to pay a reasonable fee to make my life simpler.

Attention Blogosphere: We're Here

Posted by Fred LeBlanc on October 21, 2005.

I suppose this was only a matter of time. Of course, being the guy that kept pushing for it, I think this is a huge step forward for the company, although for now it may seem like just another blog. That being said, there's been a bit of discussion as to what should actually be posted over here. Should this place be where we discuss what we're working on internally? How about new technologies that we come across? Maybe we should write about projects that have recently launched, what we've learned, and what we'll do different. My opinion? All of the above, and more. The thing that makes iMarc such an interesting company is the culture that one will find just by taking the grand tour. (By the way, I'm not sure if the 'grand tour' is open to the public, call for details if you're really that interested.) The music, the environment, the dogs, all of it make iMarc just a little bit different than what you might be expecting. While we're always building something, that isn't all we do each day. We research, we grow, we learn, we share, we expand, and this blog should be an extension of us. At least a couple times a day I hear (or say), "Whoa, guys, come check this out!" In addition to talking about general company stuff, it is this general excitement in what we do that should also be explored for everyone to see as well. While we're all a bit nervous about the blog right now, not just with concern about what to put here but also with the excitement in the ability of being able to post things here, hopefully this section better displays who we are as a team and individuals. But for now, Craig just put on The Cranberries, and my copy of Zend Studio 5 beta 2 just finished downloading; it's time to check things out. Check back soon for more, and leave your thoughts.

Ajax: Mythic (Web) Hero

Posted by Will Bond on October 21, 2005.

According to princeton.edu, Ajax is "a mythical Greek hero; a warrior who fought against Troy in the Iliad". While certainly an interesting story, most of you are probably more interested in the mythic (web) hero AJAX. Lots of web developers, and even just regular internet users, have been hearing this term being thrown around. You probably even know that it stands for Asynchronous Javascript And XML. It is a way for specific content on a web page to be refreshed without the whole page having to be reloaded. This has the obvious benefits of saving both time and bandwidth. In fact, most sites have a small portion of content that changes between pages, with a larger amount being static. The Web 2.0, a revolutionizing of the internet that AJAX will be central player in, is another hot topic being widely discussed. AJAX may be cool, and revolutionary, but I think it will be a while before it brings about such drastic changes. There are a lot of reasons why AJAX is good, and useful, however in some circles AJAX has embraced it a little too quickly. GMail was one of the first major uses of AJAX on the web. There are many great aspects to GMail, however, I contest that AJAX is the cause of one of the significant frustrations. Since AJAX refreshes information on a page without actually reloading the whole thing, navigation buttons are the first things to break. In addition, pages are impossible to bookmark and email to friends since your browser does not know the current state of the page. This brings back bad memories of browsing around sites built completely in flash. In short, this is a fairly major usability issue. Google has taken some time to try and fix this in GMail by patching the back button, but unfortunately the forward button seems to have been neglected. While AJAX has the potential to revolutionize the web, I believe that more work is required for a seamless environment before more large scale systems are based on it. Perhaps browsers will soon start to track dynamic updates via Javascript, or maybe a serious effort will needed to change people's browsing habits. Until then, AJAX is a logical choice for smaller scale installations. There are numerous places where pop-up windows and selector screens can be replaced by small AJAX applications. This, most certainly, will help to improve usability, which is a good thing in anyone's book.