Don't fork the web, IE8 meta switch may get ugly

IE6 v IE7If you don’t already have your head around the recent articles regarding IE8 and its three rendering modes you should, it is going to be a fact of life soon.

Basically it comes down to IE rendering pages in three modes, the “old mode”, the IE7 half standards mode and IE8 full standards mode. It makes sense to be nice to the web developers who refuse to keep up with their profession, their pages will work forever in future version’s of IE, and be nice to the leading edge developers who painfully hack their way into IE.

As a web developer myself at first I did not have an opinion on the topic but the more I read the more scared I get. This is going to introduce yet ANOTHER variable into the development world. Making developers working on new projects forced to keep up with these three modes and possibly in three years still be working in the “old mode” when they could have been in full standards mode two years ago and help out the end user. Instead it is advocating laziness (ignorance) and old code on the web.

The web is an always transforming place, the landscape has changed from a page-to-page static world to a fully asynchronized ajax environment. These three modes will just slow down the advancements on the web and ultimately make the end user suffer. The graph included is wayne.edu’s IE usage IE7 has taken over IE6’s lead and 7’s growth continues to climb, browsers come and go and developers know this. Soon IE7 will be gone and IE8 will have the largest percent of Microsofts browser share.

Not to mention if no other browsers pick up the idea (I really hope they don’t), IE will yet again become the corporate browser of its predecessors and the “lock in” continues. IE’s goal should be to unify the web and if some sites get broken in the mean time so be it, if enough people like the features (forced update via windows update) and end up using IE8 the non-compliant companies will get on board the standards wagon and won’t look back, their business will depend on it.

My stance is firm, the meta rendering mode is a negative not only for the web development community but the web users as a whole. Breaking the already broken end of the web may not be a bad thing in the overall scheme, just imagine in two years or so when they eventually deprecate the “old mode” rendering engine, it’ll be a much tougher fight than if they never implemented it in the first place.

Update: 01/24/2008 6:30 am EST:

After reading an article by John Resig and the HTML 5 DOCTYPE my fears of this meta switch have eased.  It turns out IE will only use the meta tag for doctypes which are already established and widely used. HTML5 and beyond will not need the switch to render in fully standard mode.  And IE8 will support DOCTYPE switching for all new DOCTYPES.

This changes the whole situation, it awards the developers who code to standards with  an actual useful browser and lets the lazy developers keep their routine.

New Addition.

We have added a new member to our team, Chris Pelzer starts today as a full time web developer. Chris has worked in the department for two years as a web technician. During those two years he has worked on most of our high traffic applications and sites. His knowledge of the industry and optimization has been key to those applications success. He has also worked on the open source framework that we use exclusively, PHPSimpl, adding features and fixing bugs.

You will be hearing more from Chris in the future, working through browser inconsistencies and CSS ninja techniques he will definitely be an asset to our group. Welcome aboard Chris.

Folksonomy – The Social Web

Yesterday I attended a seminar here at Wayne State University that was streamed from the University of Michigan. The seminar was called “Coming to Terms: Understanding Folksonomy”. Thomas Vander Wal, the speaker at the seminar, is often credited for coining the term “folksonomy”. Folksonomy is closely related to Taxonomy. According to Wikipedia taxonomy is “the practice and science of classification”. Folksonomy, on the other hand, is classification, more specifically tagging, applied by the general populous. Thomas Vander Wal said social tagging is simple data applied to an object by the general population which is then made available publicly.

Social tagging is gaining popularity on the internet. Sites such as Del.icio.us and Ma.gnolia.com allow people to create accounts and tag anything with a URI. Users can return to the site and search for keywords they might have applied to a URI they saved any time in the past. Users are able to easily re-find information that they have tagged on their account. These sites also allow users to search through items tagged by the rest of the user base which creates micro communities of like-minded people.

Re-findability is the key concept behind tagging. Allowing a user to remember the information or object that they tagged in a way that best suits them is the key to a successful tagging project. Thomas said the less time users spend thinking about their tags the more likely they are to find the tagged object again in the future. Community is also important when tagging goes social. Allowing people to search through other peoples’ tags will lead them to new information that will likely also interest them. Social tagging also helps bring like-minded people together through similar tagging trends. This can be applied in many ways; in a business environment it might be used to form the best possible groups of people to work on a project, or on a dating site it could be used to unite couples with similar interests.

Social tagging can also lead to insight about the public opinion of your product or site. Thomas said people often apply tags based on inferred meaning of the object. Tags with inferred meaning are just as important as tags with categorical meaning. Such tags will allow a company to see what people are actually thinking about the object being tagged as well as allowing the customer to easily re-find that item in the future. Thomas believes “Every tag is sacred”; even the negative tags should not be deleted. Data mining on tags can lead to a deeper understanding of the item and how the public perceives it. Knowing that the public has a negative view of something will allow a business to fix the problem rather than ignore it.

The ability to link things together through the co-occurrence of tags can be extremely useful. If the same tag shows up on two objects they are thought to be related in some way. When objects have several tags applied by several people it becomes easier to define accurate relationships between objects. Many ecommerce sites use this approach to display a list of other items to a customer that might also interest them and will hopefully generate additional sales. Most sites currently use tags applied by the company rather than allowing the public to socially tag the items they are selling. However, Amazon.com does allows the public to tag and comment on the various products sold on the site. This is arguably one of the many features Amazon.com has implemented that contribute to their ongoing success.

Social tagging is a trend that is gaining in popularity and implementation which is good for everyone. People can bookmark in a way that’s easier for them to re-find the site. Customers can find what they’re looking for faster. Businesses will generate more sales because customers can easily find what they’re looking for. And social tagging creates the feel of community which allows people to connect in new and interesting ways.

[Friday Links] The Busy Week Edition

Random

Microformats now on all web page footers

microformats.gifWe have just expanded our vcard microformated university address from the university homepage to all pages in the universities Content Management System. The list can be found here, it doesn’t include all the pages by far but it is a crucial step to integrate microformats into all pages at the university. Not only the vcard for the university address but eventually all events, profiles and news items.

Current code in footers:

<address class="vcard" id="wsu_copyright">
  <a href="http://wayne.edu/" class="url fn org">Wayne State University</a>
  <span class="adr">
    <span class="locality">Detroit</span>,
    <span class="region">MI</span>
    <span class="postal-code">48202</span>
    <span class="country-name">United States</span>
  </span>
  © 2007
</address>

Microformats are important to us as a university for a few reasons. First they are the right thing to do, since IE hates XML its difficult to describe the content on web pages. POSH helps but it only goes so far, the relationships and descriptions of the items being represented are missing. Microformats jump right in, they offer a way to describe content on a page while still being standard compliant.

Secondly as a higher ed institution we are here to bring knowledge to everyone and publish our research. Microformats help with people and services discovering and sifting through all the information we provide.

Our microformat initiative starts with these vcard footers, the events calendar is next and then profiles. Eventually we hope to use all microformats where necessary.

Site Updates: Admissions, Parents and Campus Map

The admissions homepage grows every semester, new programs being promoted and others ending. For most prospective students this is the first or second (wayne.edu or a print piece being first) impression of the university. Making the page engaging is key since getting them to the site is half way to applying. Including a random student profile and a large portion dedicated to upcoming deadlines is key to keeping prospective students on the page longer and grouping the same type of information.

admissions-old.jpg admissions-new.jpg

Information for the parents section of the admissions site has been expanded to separate the information into Just Started parents and Already Admitted groups. Both groups have different needs and could not be served equally on the same page.

parents.gif

In addition to information expansion the campus is expanding too. An update to the Campus Map includes the South University Village and its parking structure. Both currently under construction but will be open soon. We also added a more detailed map for the Macomb extension center to help with directions and details about getting around the large Macomb campus.

macomb-map.gif

[Friday Links] The Social Version

Friday web design links go web only. Enjoy.

Wayne State goes Twittering

Twitter LogoBranching out past the confines of our university homepage means working with public API’s and services. We started yesterday with Twitter, the first of many social and external sites we will be pushing information.

We choose twitter mainly because of its simplicity. The idea of having a full blown facebook application with no street credit seemed unnerving to us. Sticking to short titles and links gives us the ability to talk about anything Wayne State and not be locked into a certain user action or have to maintain a code base that maybe 10 people interact with.

Items will be posting as they come up, we are not setting a schedule or pattern. We don’t have any followers at the moment but we have not posted its existence other than here. We hope it will become a tool for people interested in the university can use to keep up with while keeping up with their friends. We will also be posting deadlines and important date as they approach and occur.

Follow Us
http://twitter.com/waynestate

Optimizing high traffic pages with web standards

Wayne.edu HitsThe first days of a semester are always big for students and for hits to the Wayne State Homepage. 40,500 visitors the first day and 36,500 the second.

We are lucky in the fact that our hosting environment is setup to regularly respond to this amount of bandwidth. That is not to say we don’t have to optimize the site, far from the truth. The inherited version of the homepage weighed in at 400k total, 25k just for the HTML and over 40 http requests, it was a bad situation.

Recently we moved the homepage to the main server and rebuilt the site from scratch. Giving us ~120k total weight, 6k in HTML and just 15 http requests (including google analytics). Making this optimization didn’t happen over night, it took some time to get the numbers down this low, here is what we did.

  1. Scrapped the original table based layout for CSS and XHTML.
    This took the site down by 70% right off the bat.

  2. Optimized all images and combined where necessary.
    Removed ~10 http requests and saved 50% in file size.

  3. Used Yahoo’s YSlow rules to have a goal to reach.
    We knew it was not possible to get an “A” grade since we do not have a CDN but we did our best in all other categories.
    YSlow wayne.edu

  4. Combined and Minified all Javascript and CSS.
    Saved ~5 http requests and 40% in file size.

  5. Configured far future expire tags and ETags.
    Making a second visitor with primed cache only need to grab ~50kb and 2-3 http request depending on the rotating panel.

Back end changes helped a lot on the server load also. A few things helped the processing time for each http request.

  1. Removed all DB connections.
    All the dynamic data is updated via a cron with static html, this reduced the impact on the server per page load dramatically.

  2. Reduced the number of PHP includes.
    Combined as many files as possible and used full paths for includes to reduce the number of files the server has to access per page load.

  3. Took the homepage out of a php framework and wrote custom functions.
    Further reducing the overhead of the page load to just the essentials.

Overall we have had great response from the decreased load times and the standardization of the page. Response time during high traffic times like the start of classes and early registration have been kept so low it has eliminated any complaints we received in the past about slow page loading.

It took about 2 months to get everything in place and tested but it was well worth it. We have a standard compliant site now with very little impact on the server environment. Keeping it simple, flawless and eliminating any wasteful overhead definitely attributed to the projects success.

Code Update: PHPSimpl 0.8.4

The newest version of PHPSimpl has been released and we have updated the code on the production web server. The release bring some much needed features to the framework and a few bug fixes.

We know this is not a widely used framework because we take an active role in its development and feature set. (We also track its download rate :-X) But we use it for a few specific reasons, knowing we are probably not the only ones in this situation we outlined them below.

  1. We work in a shared server environment where we don’t have root access to the server.
  2. We do not have direct control when the server software gets updated.
  3. We are called upon to produce sites or applications in a rapid manor.
  4. We control so many sites that having to install the framework for each would be a inefficient.
  5. We use the same functions and methods throughout many sites.
  6. We have more than one developer building and maintaining sites, consistency determines our efficiency.

The update notification can be found at the unofficial PHPSimpl site and we have included some useful URL’s below. We are always here to help so any question about the framework and its implementation just fire away.