<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Work... &#187; web development</title>
	<atom:link href="http://rhetorica.uaf.edu/christen/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://rhetorica.uaf.edu/christen</link>
	<description>and other things I encounter @ the office</description>
	<lastBuildDate>Fri, 20 Nov 2009 20:02:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Over-optimized JPEG</title>
		<link>http://rhetorica.uaf.edu/christen/2009/03/23/over-optimized-jpeg/</link>
		<comments>http://rhetorica.uaf.edu/christen/2009/03/23/over-optimized-jpeg/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 20:37:26 +0000</pubDate>
		<dc:creator>christen</dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://rhetorica.uaf.edu/christen/?p=138</guid>
		<description><![CDATA[A simple visual object lesson in over-compressing JEPGs.]]></description>
			<content:encoded><![CDATA[<p>A simple visual object lesson in over-compressing JEPGs. The video depicts a progressively compressed image over 600 generations.</p>
<p><a href="http://vimeo.com/3750507">Generation Loss</a> from <a href="http://vimeo.com/hadto">hadto</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://rhetorica.uaf.edu/christen/2009/03/23/over-optimized-jpeg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expression Engine Lingo</title>
		<link>http://rhetorica.uaf.edu/christen/2008/11/04/expression-engine-lingo/</link>
		<comments>http://rhetorica.uaf.edu/christen/2008/11/04/expression-engine-lingo/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 23:42:35 +0000</pubDate>
		<dc:creator>christen</dc:creator>
				<category><![CDATA[expressionengine]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://rhetorica.uaf.edu/christen/?p=32</guid>
		<description><![CDATA[The kicker is actually learning the lingo. EE uses different words to label its functionality, the meanings of which are not readily apparent. Confusing, if you're used to working in another system.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re staring at Expression Engine because you are using it for first time, or considering it to build your next project on, I hope this helps explain a few basics I had questions about when I started. My first introduction to Expression Engine (EE) was this past summer, building the <a href="http://engage.uaf.edu">Engage site for Cooperative Extension Services</a> here at UAF. First impressions weren&#8217;t shocking. Normally, I find myself developing on Wordpress or Movable Type,  and Expression Engine is very similar to those platforms in that it runs on php/mysql, and has its own collection of template tags to get most things done quickly. The kicker is actually learning the lingo. EE uses different words to label its functionality, the meanings of which are not readily apparent. Confusing, if you&#8217;re used to working in another system, so let me try and clear up the things I found most perplexing.</p>
<p><strong>What is a Weblog? </strong><br />
This is the first place I got stuck. I assume you already have a conceptual understanding of what a weblog is, so I&#8217;m going to speak specifically within the context of EE. In a single installation of EE you can create many &#8220;weblogs&#8221;. The thing is that what they call a &#8220;weblog&#8221; should really just be considered a container for content that behaves like a conventional weblog. These &#8220;weblogs&#8221; can be renamed to something more semantically meaningful to your project. For instance, instead of using the term &#8220;weblog&#8221; you can change it to be &#8220;site&#8221; or &#8220;monkey&#8221;, or whatever &#8211; you decide. The important thing to remember is that no matter what you call these &#8220;containers&#8221; &#8211; weblogs, sites, or monkeys &#8211; they can have their own set of administrative rules that are configured separately from the other &#8220;containers&#8221;. A &#8220;weblog&#8221; titled Energy can have its own set of Categories, its own Template Groups, its own set of Member Groups, and its own Members. In this way EE is very flexible. </p>
<p>This flexibility was one of the reasons we chose EE for our project. We needed a platform that would enable the creation of separate &#8220;sites&#8221; for a number of different user communities that could then be aggregated into a single portal view on the home page, with a shared administrative system to control editing privileges, template features, and security for those different communities.</p>
<p><strong>What Do You Mean &#8220;Groups&#8221;?</strong><br />
This was the next fuzzy experience I had with EE &#8211; Groups. There are five administrative areas in EE that are referred to as groups:</p>
<ol>
<li><a href="http://expressionengine.com/docs/cp/admin/weblog_administration/category_management.html">Category Groups</a> &#8211; these control the categories that are available in a particular &#8220;weblog&#8221;. Configure these by going to <em>Admin &#8211; &#8220;Weblog&#8221; Administration &#8211; Category Management</em> in the Control Panel</li>
<li><a href="http://expressionengine.com/docs/cp/admin/weblog_administration/custom_weblog_fields.html">Field Groups</a> &#8211; these control what form fields are available on the New Entry page when posting to the web site. Configure these by going to <em>Admin &#8211; Site Administration &#8211; Custom Site Fields</em> in the Control Panel</li>
<li><a href="http://expressionengine.com/docs/cp/admin/weblog_administration/custom_entry_statuses.html">Status Groups</a> &#8211; these determine the workflow of new posts within a &#8220;weblog&#8221;. The default statuses are Open and Closed, but you could add more such as Draft or Live if your site requires more control in throughout the editorial process. Configure these by going to <em>Admin &#8211; Site Administration &#8211; Custom Entry Statuses</em> in the Control Panel. These are directly tied to Member Groups in that you Assign Member Groups to Status Groups (to control how how members of each group are able to post content to the site)</li>
<li><a href="http://expressionengine.com/docs/cp/admin/members_and_groups/member_groups.html">Member Groups</a> &#8211; these control who has what permissions on the web site and within different &#8220;weblogs&#8221;. Configure these by going to <em>Admin &#8211; Members and Groups &#8211; Member Groups</em> in the Control Panel. New Members are then assigned a Member Group when their accounts are created.</li>
<li><a href="http://expressionengine.com/docs/cp/templates/index.html">Template Groups</a> &#8211; these drive the appearance of pages depending on which &#8220;weblog&#8221; is being viewed. This makes it possible to have separate areas of the site that look totally different or that share components among each other. Configure these by going to the Templates tab in the Control Panel. Assign a Template Group to each &#8220;weblog&#8221; configured on the web site.</li>
</ol>
<p>Each of these types of groups can be configured differently for each &#8220;weblog&#8221; (or &#8220;site&#8221; or &#8220;monkey&#8221; &#8211; whatever you call your containers) in your EE installation. Each time you create a new &#8220;weblog&#8221; in your EE installation you will have to specify which groups are to be used for that new area of the site. Keep in mind the you may not need more than one &#8220;weblog&#8221; in your EE site, in which case you would only have to set up your groups once.</p>
<p><strong>Where Am I? (Link Structure)</strong><br />
This was the hardest characteristic of EE to wrap my head around. In fact, I still don&#8217;t feel comfortable with it. EE builds templates dynamically from the database. Template Groups names and Template names determine the URL of pages. For example, the default address of the home page of an EE site is:</p>
<blockquote><p>http://websitename.com/index.php</p></blockquote>
<p>All other pages are built off of the index page because the templates are pulled from the database (by default). The address of a page displaying a single article would have an address built like this:</p>
<blockquote><p>http://websitename.com/index.php/templategroupname/singlearticletemplatename/articletitle</p></blockquote>
<p>The URL structure is very difficult to relate to at first. Fortunately, there are ways to get around it and make URLs look normal. Understanding how EE builds URLs, regardless of what the end users see, will help you as the developer leverage the flexibility of the templating system.</p>
<p>After I understood EE &#8220;weblogs&#8221;, groups and URL structure I was ready to actually tackle my project. If you haven&#8217;t looked at EE yet, the above information will seem mostly useless, I think. My next post will be on how to install the EE core (which is free for personal use). That way, if you haven&#8217;t seen it in action yet, you will be able to get your feet wet.</p>
]]></content:encoded>
			<wfw:commentRss>http://rhetorica.uaf.edu/christen/2008/11/04/expression-engine-lingo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Embedding Fonts with JavaScript</title>
		<link>http://rhetorica.uaf.edu/christen/2008/10/31/javascript-fonts/</link>
		<comments>http://rhetorica.uaf.edu/christen/2008/10/31/javascript-fonts/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 02:46:39 +0000</pubDate>
		<dc:creator>christen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://rhetorica.uaf.edu/christen/?p=35</guid>
		<description><![CDATA[my general belief that keeping things simple is more effective, elegant, portable, blah, blah, blah]]></description>
			<content:encoded><![CDATA[<p>First, let me say that I realize the embedding particular fonts in a web page goes against my general belief that keeping things simple is more effective, elegant, portable, blah, blah, blah. Yes, I still believe that, but I&#8217;m tired of the face people make when they are actually presented with a site built on these beliefs. Somewhere there is a middle ground and I am determined to find it, because I&#8217;ve been missing it along the way. The balance between simple elegance and the look of true appreciation from the average (read *uninformed* here) web user is out there waiting for me to discover it.</p>
<p>With this new approach to web development in mind, I encountered <a href="http://typeface.neocracy.org/usage.html">Typeface.js</a>, a simple script that enables non-standard fonts to be embedded into web pages (<a href="http://typeface.neocracy.org/examples.html">see examples here</a>). I say simple because it is way less involved that <a href="http://en.wikipedia.org/wiki/Scalable_Inman_Flash_Replacement">SiFR</a>, which has become a popular way to &#8220;fancy up&#8221; text while still allowing it to be read by alternative devices, seen by search engines, and selectable by the user (for copy/paste/portability). The main drawback to SiFR in my mind is that is requires access to a copy of Flash and I am truly that lazy AND cheap.</p>
<p>Looking into it further <a href="http://typeface.neocracy.org/usage.html">Typeface.js</a> seemed to be a less involved process so I gave it a try and had it up and running in a matter of minutes. Good stuff. Here&#8217;s the low down from my point of view right now:</p>
<p><strong>Pros:</strong></p>
<ul>
<li>Doesn&#8217;t require a copy of Flash</li>
<li>Supported browsers include Firefox 1.5+, Safari 2+, and Internet Explorer 6+, and degrades gracefully in unsupported browsers</li>
<li>Text can be searched, copied, and repurposed</li>
<li>Draws *pretty* letters with clean, smooth lines for much better looking type, FINALLY</li>
<li>The code is open and free</li>
<li>A handy TTF converter is available for download or at the site, that converts True Type Font files for use on the web</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>It doesn&#8217;t support all CSS2 features, but it covers the basics and that&#8217;s all I really want anyway</li>
<li>You must have copyright permission to distribute the fonts you want to use</li>
<li>Doesn&#8217;t taste like chocolate</li>
</ul>
<p>Wait, what was that about having permission to use the font you want to embed on your site? This is a very important thing to note, because typographers work hard too &#8211; hunched over their sketch books and laptops in the dark &#8211; making the cool fonts you want to use, and they have to eat. Not to worry, though,  <a href="http://www.ellak.gr/fonts/mgopen/index.en.html">there are open fonts available</a> for you to use if you&#8217;re in a bind. I like to think the typographers who have made these open available have rich benefactors or sugar daddies (or mamas), or are employed by large companies that give them regular paychecks and allow them to have some free time toward altruistic creativity. Truthfully, I just want to imagine them being well fed so I can <a href="http://www.ellak.gr/fonts/mgopen/index.en.html">use these fonts guilt free</a>.</p>
<p><strong>The MgOpen Collection</strong> (<a href="http://www.ellak.gr/fonts/mgopen/index.en.html#download">Get them here</a>)</p>
<ul>
<li>MgOpenCanonica</li>
<li>MgOpenCosmetica</li>
<li>MgOpenModata</li>
<li>MgOpenModerna</li>
</ul>
<p>Just as a little note, Typeface.js renders text with cleaner lines than the image below displays<br />
<a href="http://www.flickr.com/photos/iconolith/2990553020/" title="open-cosmetica by iconolith, on Flickr"><img src="http://farm4.static.flickr.com/3180/2990553020_d732dbe1fb_o.png" width="378" height="197" alt="open-cosmetica" /></a></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://rhetorica.uaf.edu/christen/2008/10/31/javascript-fonts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Learning Expression Engine</title>
		<link>http://rhetorica.uaf.edu/christen/2008/10/03/learning-expression-engine/</link>
		<comments>http://rhetorica.uaf.edu/christen/2008/10/03/learning-expression-engine/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 03:12:07 +0000</pubDate>
		<dc:creator>christen</dc:creator>
				<category><![CDATA[expressionengine]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://rhetorica.uaf.edu/christen/?p=24</guid>
		<description><![CDATA[the EE documentation was consistently the most helpful resource for answering questions]]></description>
			<content:encoded><![CDATA[<p>On the tail end of the 11th hour I thought I&#8217;d blog SOMETHING since this week was actually one of my assigned weeks to blog. There are two big projects I&#8217;m finishing up now, the changes to the Distance Gateway (which haven&#8217;t launched yet), and the Engage web site which we worked on for Cooperative Extension. The Engage site is now officially in beta as they begin to add some actual content. I&#8217;m curious to see what it looks like after it has filled out over a few months.</p>
<p>A while back we had decided to build the site using Expression Engine, a first for me. It seems lately I&#8217;ve been building a whole lot of Wordpress sites. Expression Engine is about as easy to work with as Wordpress, but for different reasons &#8211; all stemming from the fact that when push comes to shove WP is a blogging platform and EE is a content management system, so it isn&#8217;t a straight apples-to-apples camparison between the two. I will say that, in general terms, developing a site in WP or EE takes about the same amount of effort once you&#8217;re reasonably familiar with the systems.</p>
<p>I&#8217;m planning on writing a few posts around my initial experience with EE while all the questions and fuzzies are still fresh in my head, in the hope that it will straighten a few things out for me, and possibly help someone else out. I will add just one more thing about helping &#8211; the EE documentation was consistently the most helpful resource for answering questions.</p>
<p>More on EE to come as I try to collect this last project into something coherent.</p>
]]></content:encoded>
			<wfw:commentRss>http://rhetorica.uaf.edu/christen/2008/10/03/learning-expression-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opera Web Standards Curriculum</title>
		<link>http://rhetorica.uaf.edu/christen/2008/08/01/opera-web-standards-curriculum/</link>
		<comments>http://rhetorica.uaf.edu/christen/2008/08/01/opera-web-standards-curriculum/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 23:11:44 +0000</pubDate>
		<dc:creator>christen</dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[curriculum]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://rhetorica.uaf.edu/christen/?p=23</guid>
		<description><![CDATA[this effort attempts to address common inconsistencies in web development curricula across institutions where course material can sometimes lag a few generations behind due to the rapidly changing nature of the internet]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/iconolith/2723510050/" title="opera web standards project by iconolith, on Flickr"><img src="http://farm4.static.flickr.com/3278/2723510050_9b612a8d82_o.jpg" width="350" height="255" alt="opera web standards project" /></a></p>
<p>Opera, one of the web browsers that has regularly enjoyed a notable amount of marketshare since the 90s (dare I say, since before the turn of the century), has since made a commitment to address accessibility and  web standards issues throughout recent years. One of their latest projects is the <a href="http://www.opera.com/wsc/">Opera Web Standards Curriculum</a>. Conceived to be a resource for instructors, students, and working professionals, the project attempts to make available a curriculum that includes a survey of the history of the internet, and an introduction to current, standards-compliant practices in web development. </p>
<p>The project is still underway, but the materials that have been completed are already available on the project site. In the end, they say there will be over 50 articles &#8211; all available under the <a href="http://creativecommons.org/licenses/by-nc-sa/2.5/">Creative Commons Attribution, Non Commercial &#8211; Share Alike 2.5 license</a>. I&#8217;ve reviewed the content and it is sound. It also attempts to give users access to a community they hope will form around the curriculum by way of a forum. As of right now, activity in the forum has been sparse, but to be fair, it IS new.</p>
<p>Most important, this effort attempts to address common inconsistencies in web development curricula across institutions where course material can sometimes lag a few generations behind due to the rapidly changing nature of the internet. I won&#8217;t go into the details of why this happens. There is enough material there for a whole other article.</p>
]]></content:encoded>
			<wfw:commentRss>http://rhetorica.uaf.edu/christen/2008/08/01/opera-web-standards-curriculum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
