<?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>Flexknowlogy - Jared Stein &#187; web</title>
	<atom:link href="http://jaredstein.org/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaredstein.org</link>
	<description>Education, Technology, Culture, and the Internet</description>
	<lastBuildDate>Fri, 30 Jul 2010 23:18:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Follow-Up on Apple&#8217;s War with the Open Web</title>
		<link>http://jaredstein.org/2010/07/28/follow-up-to-apples-war-with-the-open-web/</link>
		<comments>http://jaredstein.org/2010/07/28/follow-up-to-apples-war-with-the-open-web/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 00:59:53 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[reading]]></category>

		<guid isPermaLink="false">http://jaredstein.org/?p=1330</guid>
		<description><![CDATA[Alright, so maybe &#8220;war&#8221; is overstating it, but as I argued earlier this year Apple is very much posturing itself against the idea of the open web and for the closed consumption environment controlled by its Apps. I stumbled on a couple follow-up posts that follow-up and nuance this debate. First, Ken Fisher from arstechnica.com [...]]]></description>
			<content:encoded><![CDATA[<p>Alright, so maybe &#8220;war&#8221; is overstating it, but as <a href="http://jaredstein.org/2010/04/08/ipad-vs-the-open-web/#comments">I argued earlier this year</a> Apple is very much posturing itself against the idea of the open web and for the closed consumption environment controlled by its Apps. I stumbled on a couple follow-up posts that follow-up and nuance this debate<span id="more-1330"></span>. First, <a href="http://arstechnica.com/apple/news/2010/06/apples-evil-genius-plan-to-punk-the-web-and-gild-the-ipad.ars">Ken Fisher from <cite>arstechnica.com</cite> on Apple&#8217;s hypocrisy/self-contradiction</a> (my emphases):</p>
<blockquote><p>You might think that Apple holds both [the open web and the App Store] in equal esteem, but<br />
its release of Safari 5 shows that Apple has less regard for publishers on the Web than it does for publishers (and developers) it wants to entice to come to the App Store.</p>
<p>And <strong>the App Store is becoming its own little mirror-reflection of the Web</strong>. You&#8217;ve got content from news providers, you&#8217;ve got social networking, you&#8217;ve got games, RSS readers—the list goes on and on. You&#8217;ve also got, courtesy of Apple, a 100 percent Apple-owned, Apple-powered advertising platform called iAds.</p>
<p>&#8230;</p>
<p>
in the end we&#8217;re left with a) an open platform [Safari] where <a href="http://www.apple.com/safari/whats-new.html">Apple is willing to toy with Web publishers, modify their content presentation, and suppress their ads</a>, and b) Apple&#8217;s curated, closed platform, where everything is done by Apple&#8217;s rules or it&#8217;s not done at all.</p>
</blockquote>
<p>Fisher is honing in on Safari&#8217;s new <a href="http://www.apple.com/safari/whats-new.html">Reader</a> feature, a space Arc90 has been treading for some time. So it&#8217;s somewhat synchronistic that <a href="http://arc90.com">Arc90</a> echoes the original frustration with Apple&#8217;s anti-open web model (though not it&#8217;s Reader) in the <a href="http://blog.arc90.com/2010/06/10/why-we-built-readability/">blog post, &#8220;Why We Built Readability&#8221;</a> comments,</p>
<blockquote><p>&#8230;publishing finds itself looking elsewhere to solve the puzzle of distributing and monetizing. Magazines like Time, Wired and Popular Science have decided to invest in delivering purchasable “packages” of their content that work on Apple’s iPad. </p>
<p>&#8230;</p>
<p>For us, the Web is the right bet. The notion of tethering content delivery to a particular proprietary platform or hardware device is admitting defeat.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2010/07/28/follow-up-to-apples-war-with-the-open-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advice to a New Freelance Web Developer: Charging Clients</title>
		<link>http://jaredstein.org/2010/05/26/advice-to-a-new-freelance-web-developer-charging-clients/</link>
		<comments>http://jaredstein.org/2010/05/26/advice-to-a-new-freelance-web-developer-charging-clients/#comments</comments>
		<pubDate>Thu, 27 May 2010 00:48:35 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[costs]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[students]]></category>

		<guid isPermaLink="false">http://jaredstein.org/?p=1261</guid>
		<description><![CDATA[Today I received an e-mail from a former student asking a common question: how do I know what to charge clients for web design/development?
To be clear, I am no longer a full-time freelance web developer. Indeed, I haven&#8217;t been a full-time web developer for a number of years, though I do still take projects on [...]]]></description>
			<content:encoded><![CDATA[<p>Today I received an e-mail from a former student asking a common question: how do I know what to charge clients for web design/development?</p>
<p>To be clear, I am no longer a full-time freelance web developer. Indeed, I haven&#8217;t been a full-time web developer for a number of years, though I do still take projects on the side.</p>
<p>I did, however, think I had enough info to write out the following rather lengthy answer, which I hope to refine and turn into a lesson page later on this semester. There are quite a few better sources to turn to than I, and there have been a few recent articles and books on this subject, but here&#8217;s how I framed this particular answer in a way that hopefully walks the student through my thought process and tips them off to at least a few of the bigger picture items that must be considered sooner or later:</p>
<blockquote><p>
First, you need to decide if you&#8217;re going to charge hourly or lump sum. I prefer the latter, and I think clients do too.</p>
<p>Even so, I still start by calculating how much I need to be earning per hour&#8211;this is a figure I keep internally, and don&#8217;t share with clients.</p>
<p>Then, start adding upwards.</p>
<p>For instance, now that you&#8217;re working freelance you&#8217;re considered to be self-employed by the US Government, and will need to add about 30% for Federal taxes on top of everything else. (Make sure you put that 30% in a separate bank account!) What about State taxes? That varies state-to-state, so check your local codes.</p>
<p>There&#8217;s also a matter of other costs you&#8217;ll eventually need to roll in to your charges, especially if you look at doing this full time: What about Internet access, computers, software, electricity &#8212; these don&#8217;t come free! Do you need this work to pay for benefits for you/your family (health insurance, dental, life, etc)? What about advertising (if any) or time spent drumming up business? These need to be absorbed, too. </p>
<p>I&#8217;m going to keep it simple in this example and <em>exclude</em> those costs, and I think you probably don&#8217;t have to worry too much about this when you&#8217;re first starting up&#8211;especially if you&#8217;re doing freelance in addition to another job. However, be sure to consider these costs later after you move your business forward.</p>
<p>So if that the take-home amount is, say, $15/hour (which is not too bad for someone just starting out&#8211;most of my student developers get less than that) first add 30% for taxes, rounding up to $20/hour.</p>
<p>Then, figure that if you were doing this full time you&#8217;d be working at least 40 hours a week at least 4 weeks a month. This gives you a number through which you can absorb business costs on a per-hour basis by simple division. So if I&#8217;m working from a home office my internet, electricity (for just my office), computer upkeep might add up $160 a month, which is convenient because it means I just add another dollar to my hourly rate. Etc.</p>
<p>The next number to determine is tougher. How many hours will the project take you? Be realistic, and include meeting times. The best way to know for sure is to have tracked your time on projects in the past. I&#8217;ll give you just one example: I wrote XHTML and CSS for someone&#8217;s resume the other weekend, which turned out to be a 3 hour job including the initial meeting, and some minor experimentation with CSS 3&#8217;s @font-face property at the client&#8217;s request. Then I spent an hour testing it across browsers and making minor adjustments. So 4 hours for 1 page of content. </p>
<p>In this case we just needed one page, but in sites with multiple pages using templates will make things go faster. Because of this I usually charge on a first-page, additional-page basis, if that makes sense. </p>
<p>At any rate, it&#8217;s common to undercharge early on by not accurately estimating the time involved. And that&#8217;s OK early on, because you&#8217;re learning! But <strong>learn from your mistakes</strong>, and <strong>track your hours</strong>, so that in the future you can be more on-target and provide good service at competitive rates. Consider using a project management or time-tracking tool to help you with this. </p>
<p>Another practice I&#8217;ve heard others use in the past is to take my estimated time for a project and double it. This is based on the presumption that we <em>always</em> underestimate how much time tasks take us. I think this is true initially.</p>
<p>So now I know my per hour rate ($21), and I&#8217;m confident that for a media-free (text-based) static page it takes me about 4 hours. So I might charge $80 for that first page, and, using that first page as a template, charge $20 for each additional page. Now we&#8217;re starting to have a basic formula!</p>
<p>Oh, but what if you have to do visual design? Logo design? Will it take you 20 hours to come up with a good visual design? 40? 60? What about changes the client will inevitably request? Certainly you want to include the client at each step, from thumbnails to comps to finished versions. Heavy involvement early on will reduce the likelihood of conflict and frustration later.</p>
<p>Now if Javascript or PHP come into it, we start talking big money. Not just because it takes longer to develop, but because you must work with other people&#8217;s web servers, you must be secure, your code must not break on any browser, you must case-test for a number of different user scenarios, etc.</p>
<p>Don&#8217;t be afraid to ask yourself if you need to outsource tasks where your skills are not yet adequate. This is a good way to ensure your client gets what they are paying for&#8211;and can save you time in the long run. For instance, if I had a client needing a Flex app, I&#8217;m not going to spend 200 hours on it when a skilled Flex developer could do it in half that time. Sure, I have to pay them, but sometimes you can barter your skills for theirs. </p>
<p>Finally, make and <strong>maintain a master list of services</strong> you <em>could</em> provide with a dollar charge next to each, i.e. Basic web page production (HTML &amp; CSS): $200 first page, $50 each addtl page. MySQL database set up: $50 per table, limit 30 fields. etc. I keep my own Excel spreadsheet with as many options as I can think of, and I modify this as I learn more about my own time, resource expenditures, and costs.
</p></blockquote>
<p>That&#8217;s it. As I said, this was just an e-mail I kicked out to a student, and this omits important info on contracts and agreements, but it&#8217;s a big topic, one which I expect to reflect upon and revisit in this or another post.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2010/05/26/advice-to-a-new-freelance-web-developer-charging-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Condensing the &#8220;News&#8221; Feature of My Moodle Using a Show/Hide Javascript</title>
		<link>http://jaredstein.org/2010/05/19/condensing-the-news-feature-of-my-moodle-using-a-showhide-javascript/</link>
		<comments>http://jaredstein.org/2010/05/19/condensing-the-news-feature-of-my-moodle-using-a-showhide-javascript/#comments</comments>
		<pubDate>Wed, 19 May 2010 21:19:34 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[lms]]></category>
		<category><![CDATA[moodle]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[modifications]]></category>
		<category><![CDATA[mods]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jaredstein.org/?p=1239</guid>
		<description><![CDATA[The My Moodle feature in Moodle 1.9x displays a list of registered courses to a user after logging in. The nice thing about the list is that each course link is followed by a listing of any recent news or events in the course. Unfortunately in highly active courses this list becomes quite lengthy, and [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://docs.moodle.org/en/My_Moodle">My Moodle feature</a> in <a href="http://moodle.org">Moodle</a> 1.9x displays a list of registered courses to a user after logging in. The nice thing about the list is that each course link is followed by a listing of any recent news or events in the course. Unfortunately in highly active courses this list becomes quite lengthy, and ultimately obnoxious as the length obstructs quick access to other courses in one&#8217;s view.</p>
<p>To remedy this I have, for quite some time, maintained a custom bit of very basic Javascript and CSS that sets the default view of news items to hidden, with a clickable link to show the entire list from the My Moodle page:</p>
<div>
<p><a href="http://www.flickr.com/photos/5tein/4622703444/in/photostream/"><img src="http://farm5.static.flickr.com/4033/4622703444_32679d85df_o.jpg" alt="hidden news in My Moodle" /></a></p>
<p style="font-size: 70%">Clicking &#8220;There is news in this course&#8221; expands the news.</p>
</div>
<div>
<p><a href="http://www.flickr.com/photos/5tein/4622703572/"><img src="http://farm4.static.flickr.com/3357/4622703572_74db8af2a6_o.png" alt="hidden news in My Moodle" /></a></p>
<p style="font-size: 70%">The default for news for each course is &#8220;hidden&#8221;.</p>
</div>
<p>Nothing fancy, and even as I look at it now I can think of improvements&#8230;</p>
<p>We just upgraded to 1.9.8 this semester, and because this snippet modifies Moodle core I had my developer Kevin re-test the snippet before I asked our server admin Paul to replace the existing function as follows:</p>
<pre>file Location:            '/course/lib.php'
file line:                    "800"
function to replace: "function print_overview($courses)"
</pre>
<p>Here&#8217;s the actual replacement function:</p>
<div style="margin: 1em 0em;padding: .75em;border: 1px solid gray font-family: Courier New,monospace;font-size: 75%">
// Begin My Moodle Show-Hide News modification</p>
<p>// Replaces function in &#8220;course/lib.php&#8221; to hide course news by default.<br />
// Hidden news is viewable via Javascript by clicking &#8220;There is news in this course&#8221; link.<br />
// Link does not exist if there is no news in the course.<br />
function print_overview($courses) {</p>
<p>&nbsp;&nbsp;&nbsp;global $CFG, $USER;</p>
<p>&nbsp;&nbsp;&nbsp;$htmlarray = array();</p>
<p>&nbsp;&nbsp;&nbsp;if ($modules = get_records(&#8216;modules&#8217;)) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach ($modules as $mod) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (file_exists(dirname(dirname(__FILE__)).&#8217;/mod/&#8217;.$mod-&gt;name.&#8217;/lib.php&#8217;)) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include_once(dirname(dirname(__FILE__)).&#8217;/mod/&#8217;.$mod-&gt;name.&#8217;/lib.php&#8217;);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fname = $mod-&gt;name.&#8217;_print_overview&#8217;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (function_exists($fname)) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$fname($courses,$htmlarray);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;foreach ($courses as $course) {</p>
<p>&nbsp;&nbsp;&nbsp;   print &#8220;&lt;ul style=\&#8221;margin: 0; padding: 0; list-style: none; width: 96%; \&#8221;&gt;&#8221;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$linkcss = &#8221;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (empty($course-&gt;visible)) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$linkcss = &#8216;class=&#8221;dimmed&#8221;&#8216;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print&#8217;&lt;li class=&#8221;coursebox&#8221; style=&#8221;padding: .5em 1em 1em&#8221;&gt;&lt;h3 style=&#8221;font-size: 120%; font-weight: normal; margin: 0 0 .2em 0&#8243;&gt;&lt;a title=&#8221;&#8216;. format_string($course-&gt;fullname).&#8217;&#8221; &#8216;.$linkcss.&#8217; href=&#8221;&#8216;.$CFG-&gt;wwwroot.&#8217;/course/view.php?id=&#8217;.$course-&gt;id.&#8217;&#8221;&gt;&#8217;. format_string($course-&gt;fullname).&#8217;&lt;/a&gt;&lt;/h3&gt;&#8217;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (array_key_exists($course-&gt;id,$htmlarray)) {</p>
<p>			print &#8216;&lt;a href=&#8221;#&#8221; id=&#8221;toggler_&#8217;.$course-&gt;id.&#8217;&#8221; onclick=&#8221;document.getElementById(\&#8217;coursenews_&#8217;.$course-&gt;id.&#8217;\').style.display=(document.getElementById(\&#8217;coursenews_&#8217;.$course-&gt;id.&#8217;\').style.display==\&#8217;block\&#8217;?\&#8217;none\&#8217;:\&#8217;block\&#8217;); document.getElementById(\&#8217;toggler_&#8217;.$course-&gt;id.&#8217;\').innerHTML=(document.getElementById(\&#8217;toggler_&#8217;.$course-&gt;id.&#8217;\').innerHTML == \&#8217;There is news in this course&#8230;\&#8217;?\&#8217;Hide course news&#8230;\&#8217;:\&#8217;There is news in this course&#8230;\&#8217;);&#8221;&gt;There is news in this course&#8230;&lt;/a&gt;&lt;div id=&#8221;coursenews_&#8217;.$course-&gt;id.&#8217;&#8221; style=&#8221;display: none&#8221;&gt;&#8217;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach ($htmlarray[$course-&gt;id] as $modname =&gt; $html) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo $html;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>			print &#8220;&lt;/div&gt;&lt;!&#8211;end contents&#8211;&gt;&lt;/li&gt;&#8221;;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &#8220;&lt;/ul&gt;&#8221;;</p>
<p>&nbsp;&nbsp;&nbsp;}</p>
<p>}<br />
//End My Moodle Show-Hide News modification
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2010/05/19/condensing-the-news-feature-of-my-moodle-using-a-showhide-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Respondus) Lockdown Browser for Assessments at UVU</title>
		<link>http://jaredstein.org/2010/05/03/respondus-lockdown-browser-for-assessments-at-uvu/</link>
		<comments>http://jaredstein.org/2010/05/03/respondus-lockdown-browser-for-assessments-at-uvu/#comments</comments>
		<pubDate>Mon, 03 May 2010 22:21:13 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[e-learning]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[cheating]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[respondus]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jaredstein.org/?p=1188</guid>
		<description><![CDATA[Reposted with added commentary from DEIDS.on.uvu.edu.
The UVU Blackboard server now allows designers to require Respondus Lockdown Browser (LDB) on assessments. This means that if an assessment is set to use LDB, the end-user (test-taker) computer must have the free LDB software installed (Bb should prompt the user to install it before the assessment can be [...]]]></description>
			<content:encoded><![CDATA[<p>Reposted with added commentary from <a href="http://deids.on.uvu.edu">DEIDS.on.uvu.edu</a>.</p>
<p>The UVU Blackboard server now allows designers to require <a href="http://www.respondus.com/products/lockdown.shtml">Respondus Lockdown Browser</a> (LDB) on assessments. This means that if an assessment is set to use LDB, the end-user (test-taker) computer <em>must</em> have the free LDB software installed (Bb should prompt the user to install it before the assessment can be accessed). UVU&#8217;s Testing Center has installed LDB on all its computers and is testing it before next semester. <del>We presume this is pointless unless the Bb assessment has LDB selected, but are looking into it.</del> In any case where LDB is used to take an assessment, &#8220;lock down&#8221; happens according to Respondus&#8217;s descriptions&#8211;even if the exam itself is not triggered to require Lockdown. I asked Respondus to clarify the &#8220;switch&#8221; in Bb, and they responded this afternoon:</p>
<blockquote><p>The &#8220;switch&#8221; in Blackboard and other course management systems helps insure (sic) that the assessment can only be taken with the Respondus LockDown Browser. Without enabling the switch, students can take the assessment using any browser they want, including the secure browser.</p></blockquote>
<p>For Distance Ed this means that if an instructor wishes to use LDB, we must ensure proctor locations have the LDB software installed. This may require adding wording to the proctoring info web page. For the UVU Testing Center, if they make LDB the <em>only</em> web browser installed on lab computers, all assessments have no option but to be &#8220;locked down&#8221;.</p>
<p><a href="http://www.cse.ohio-state.edu/~swaneybr/lockdown/">Brian Swaney has written a lengthy post on LDB, explaining why he thinks it&#8217;s an awful idea that only inhibits cheating in limited scenarios</a>, and though Brian&#8217;s post gets a little bit out of hand, I do agree with most of his points. Here&#8217;s a summary of these, some of which John Krutsch, Marc Hugentobler, and I have brought up in our conference sessions, &#8220;<a href="http://dotsub.com/view/dbbfa993-11ed-4a64-908e-31a627403427">How to Cheat Online</a>&#8221; and &#8220;<a href="http://jaredstein.org/pres/cheatability/">The Cheatability Factor</a>&#8220;:</p>
<ol>
<li>LDB may encourage institutions to take advantage of broadly accessible but ill-suited environments for testing, like open student computer labs.</li>
<li>Unless the physical environment is also &#8220;locked down&#8221; the LDB will do little to inhibit cheating (crib notes, use of a 2nd computer, mobile devices).</li>
<li>Unless student identities are verified, LDB does not prevent impersonation (note: LDB doesn&#8217;t claim to).</li>
<li>There is a line between securing assessments and respecting student privacy. I don&#8217;t think LDB crosses it by any means, but Brian raises some legitimate concerns about requiring software installation.</li>
<li>All technology, including <a href="http://www.ignition-project.com/articles/2008/09/19/lockdown-browsers-are-fun">LDB, can be hacked</a>.</li>
<li>The kinds of assessment best protected by LDB may not be good at assessing important kinds of learning. But LDB may be alluring as a (false) panacea for measuring all kinds of learning.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2010/05/03/respondus-lockdown-browser-for-assessments-at-uvu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPad vs the Open Web</title>
		<link>http://jaredstein.org/2010/04/08/ipad-vs-the-open-web/</link>
		<comments>http://jaredstein.org/2010/04/08/ipad-vs-the-open-web/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 22:15:23 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[open]]></category>

		<guid isPermaLink="false">http://jaredstein.org/?p=1126</guid>
		<description><![CDATA[There&#8217;s so much buzz about the iPad you can taste it! And it ain&#8217;t all minty! I got my paws on one Tuesday afternoon, and found it not revolutionary as Apple prophesied, but rather as many have described: a big iPod Touch (which is essentially a phone-less iPhone).

Now like the iPhone/Touch the iPad can use [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s so much buzz about the iPad you can taste it! <a href="http://i.gizmodo.com/5458382/8-things-that-suck-about-the-ipad">And it</a> <a href="http://cr4.globalspec.com/blogentry/11391/I-Pass-on-the-Apple-iPad-and-You-Should-Too">ain&#8217;t all</a> <a href="http://www.blogsolute.com/apple-ipad-fun-humor-images-funny-photos/5835/">minty</a>! I got my paws on one Tuesday afternoon, and found it <a href="http://www.apple.com/ipad/ipad-video/">not revolutionary as Apple prophesied</a>, but rather as many have described: a big iPod Touch (which is essentially a phone-less iPhone).</p>
<div><img src="http://jaredstein.org/files/2010/04/apple-ipad.jpg" alt="apple-ipad" /></div>
<p>Now like the iPhone/Touch the iPad can use thousands of &#8220;apps&#8221;&#8211; miniature applications developed solely for use on iPhone/iTouch/iPad, and sold through the Apple store. What&#8217;s always been disconcerting about the app development process is that<span id="more-1126"></span> Apple controls not only the specifications for apps, but also <a href="http://www.ibtimes.com/articles/20100223/developers-arms-over-apples-restrictions.htm">restricts what apps are made available for use on their product</a>, <a href="http://blogs.zdnet.com/perlow/?p=12357">censors content</a>, and even <a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler">denies what technologies can be used to produce such apps</a>.</p>
<p>
Apple has the right to do all this, of course&#8211;it&#8217;s their device. Even though the approach out-M$s Microsoft, Apple&#8217;s restrictions on production and content of the apps is only one side of a larger problem. What really concerns me is how Apple&#8217;s app model will impact digital content on the open web, and <a href="http://www.scripting.com/stories/2010/01/31/whatIfFlashWereAnOpenStand.html#comment-32241074">I&#8217;m not talking about Flash</a>.
</p>
<h3>The Web as an App</h3>
<p>
We&#8217;ve seen already a number of apps that replicate core functionality of web sites. We&#8217;re starting to see more apps produced by content providers as a supplement to their existing web-based content (e.g. Wired, NPR, WSJ). But how long until this supplement supplants the web-based stream? How long until consumers are hooked into fee-based access to this content under the illusion that it&#8217;s only available through the app?<br />
I believe Apple has been rather insidious, if clever, in their iPhone/iPad app model, wherein the closed nature of their system requires a kind of fake innovation in the development of &#8220;new&#8221; apps that do little more than their web-based cousins; certainly little more than what&#8217;s already possible with a web browser and a little creative use of standards-based web languages. Instead, these appear to be little more than an opportunity for approved providers to elicit fees in new ways from end-users.</p>
<p>Don&#8217;t get me wrong: I&#8217;m all for businesses finding new ways to make money by improving service or a product, but is that what we are getting here? The drive to develop web-based products as apps seems entirely backwards, for we already have the one tool we need to facilitate mobility of both content and services: the standards-compliant web browser. What technologies do we need? Not C, C++, or even Flash, but how about HTML, CSS, Javascript, XML, and PHP? How about the open web standards that have facilitated the information access revolution we are experiencing?
</p>
<p>
Now a &#8220;special&#8221; path to mobile device development is nothing new; even the <a href="http://www.w3.org/TR/NOTE-Submission-HDML-FAQ.html#what_is">W3 tried to sell us on HDML</a> rather than alternative CSS and minimalistic but semantically correct XHTML. But I think time has proven that this is wasted effort in the face of a broadly-accepted, dually-purposed web site constructed on sound principles of web design and utilizing creative applications of open technologies. Even <a href="http://www.networkworld.com/news/2010/040210-npr-releases-ipad-app-ipad-friendly.html?hpg1=bn">NPR seems to prove this point by the fact that it has not only released it&#8217;s own iPad app, it&#8217;s also reworked it&#8217;s web site to be &#8220;iPad-friendly&#8221;</a> for those who don&#8217;t want to download the (free) app. And at first glance it looks like the web site provides the same essential features.
</p>
<h3>Enter Blackboard</h3>
<p>
As expected, in an attempt to capitalize on the iPad buzz and finally make good on years of broken promises for mobile accessibility, <a href="http://www.prnewswire.com/news-releases/blackboard-mobile-learn-app-now-available-for-ipad-89897637.html">Blackboard has unveiled its iPad app</a>, which</p>
<blockquote><p>recreates the course experience of Blackboard Learn™ &#8230; and lets students check grades and assignments, add discussion board comments and blog posts, email instructors and classmates</p></blockquote>
<p>
How stunningly innovative! I surely couldn&#8217;t do any of that on a mobile web browser?
</p>
<p>
I probably rehash this example too often, but I remember sitting in a session at a WebCT conference 5 years ago that was supposed to reveal WebCT&#8217;s innovations in mobile delivery of content. Turned out the WebCT rep had nothing to share, but hoped to take ideas from the audience. Disappointed, I turned to my Palm Treo phone and did some grading through Blazer on <a href="http://moodle.org">Moodle</a>. Though the HTML, CSS, and Javascript of Moodle was still disappointingly primitive at the time, it was just good enough that the weak Blazer browser could handle it, and demonstrated the power of using open web standards.
</p>
<p>
<a href="http://mfeldstein.com/blackboards-ipad-app-and-its-implications/">Michael Feldstein suggests that this sort of &#8220;innovation&#8221; will promote the iPad itself</a>, saying, &#8220;if I were a student or faculty member heavily using Blackboard and thinking about buying an iPad, I might find this app to be an additional motivator to buy one&#8221;. I bet Bb is hoping the reverse of this will be true: that <a href="http://www.newser.com/article/d9eppfn00/pa-university-offers-free-ipads-to-students-ore-college-gives-choice-of-ipad-or-computer.html">by providing all their students with an iPad</a> colleges like Seton Hill and George Fox will create a scenario that fits just right with their particular e-learning solution, which is &#8220;the industry leader&#8221; with full support for &#8220;mobile devices&#8221;.
</p>
<p>
This restrictive piping of information that we currently take for granted on the open web is of greatest concern to educators, perhaps, because it has the potential to retard the development of new models of learning. I don&#8217;t mean &#8220;learning by doing&#8221;, though iPad&#8217;s failure to support creative production is notable (<a href="http://www.buzzmachine.com/2010/04/04/ipad-danger-app-v-web-consumer-v-creator/">Jeff Jarvis writes, &#8220;It turns us back into an audience again&#8221;</a>); I mean particularly developing models that encourage increased learner self-regulation and networked direction along variable learning paths. Such models require access&#8211;both broad and deep&#8211;to information and depend upon content aggregation, parsing, and re-dissemination. These capabilities have only recently begun to be realized through the open web, thanks in large part to web standards. What schism might the apps model cause in this new standard of information accessibility? What locks and limitations may now encrust upon the ideals of the open web?</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2010/04/08/ipad-vs-the-open-web/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>The Joy of CSS max-width</title>
		<link>http://jaredstein.org/2010/04/07/the-joy-of-css-max-width/</link>
		<comments>http://jaredstein.org/2010/04/07/the-joy-of-css-max-width/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 15:38:37 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[max-width]]></category>

		<guid isPermaLink="false">http://jaredstein.org/?p=1129</guid>
		<description><![CDATA[The CSS max-width property has long been a favorite of mine, most often used to restrict the flow of content depending on the user&#8217;s browser, such as we see in elastic layouts. Since I began making WordPress themes a couple years ago I&#8217;ve used max-width as a staple rule for media in my stylesheet, starting [...]]]></description>
			<content:encoded><![CDATA[<p>The CSS <a href="http://www.w3schools.com/css/pr_dim_max-width.asp">max-width property</a> has long been a favorite of mine, most often used to restrict the flow of content depending on the user&#8217;s browser, such as we see in <a href="http://www.alistapart.com/articles/elastic/">elastic layouts</a>. Since I began making <a href="http://wordpress.org">WordPress</a> themes a couple years ago I&#8217;ve used max-width as a staple rule for media in my stylesheet, starting with images that might appear in a post (e.g. .post)<span id="more-1129"></span>:</p>
<pre>
.post img { max-width: 100%; }
</pre>
<p>This prevents the sort of thing we often see when an image is slapped into a blog post without being resized especially for that design. Here&#8217;s an example this just popped up in my Google Reader:</p>
<div>
<a href="http://jaredstein.org/files/2010/04/Big-Dog-Little-Dog-Performance-and-ADDIE-Models_1270661882553.jpeg"><img src="http://jaredstein.org/files/2010/04/Big-Dog-Little-Dog-Performance-and-ADDIE-Models_1270661882553.jpeg" alt="Big Dog, Little Dog- Performance and ADDIE Models_1270661882553" /></a>
</div>
<p>In addition to preventing IMGs from breaking out of the box (or, worse, growing the box) this can be applied to other elements as well. In the case of my themes&#8217; CSS I also include OBJECT (and, just to be safe, EMBED):</p>
<pre>
.post img, .post object, .post embed { max-width: 100%; }
</pre>
<p>With the entrance of HTML 5 one can imagine adding/replacing <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html">AUDIO and VIDEO</a> in this list of selectors.</p>
<p>I&#8217;m thinking about this today because on Twitter <a href="http://www.zeldman.com/">Jeffrey Zeldman</a> <a href="http://twitter.com/zeldman/status/11755947217">RT&#8217;ed Stephanie Hobson quoting Ethan Marcotte</a>:</p>
<div>
<a href="http://twitter.com/zeldman/status/11755947217"><img src="http://jaredstein.org/files/2010/04/zeldman-000.jpg" alt="zeldman RT" /></a>
</div>
<p>This is a fine solution, and reminded me that just last week I was talking with colleague Ken Woodward  applying max-width in a more generic fashion&#8211;more generic, even, than to all IMGs:</p>
<pre>
div * { max-width: 100%; }
</pre>
<p>This is very broad, of course, and could cause problems in a number of particular designs, however I&#8217;m thinking the principle is still valid, particularly as it applies to <a href="http://www.w3.org/TR/CSS2/visuren.html#inline-formatting">inline elements, for the W3 reminds us</a>:</p>
<blockquote><p>If an inline box cannot be split (e.g., if the inline box contains a single character, or language specific word breaking rules disallow a break within the inline box, or if the inline box is affected by a white-space value of nowrap or pre), then the inline box overflows the line box. </p></blockquote>
<p>Why wouldn&#8217;t I just write the rule without the DIV ancestor? Most elements that I need to control naturally fall within a DIV, and this limitation helps me feel safer, though I haven&#8217;t done enough testing to see how when/where it might fail. I am certain there is probably not enough specificity to override width problems that may be caused by miscalculated pixel widths of directly targeted descendant elements (i.e. DIVs), but those should probably have been done in percentages anyway. <a href="http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html">If specificity is a problem</a>, adding a relevant parent CLASS or ID to the selector could probably solve it.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2010/04/07/the-joy-of-css-max-width/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What &#8220;New Speculations&#8221;?</title>
		<link>http://jaredstein.org/2009/09/18/what-new-speculations/</link>
		<comments>http://jaredstein.org/2009/09/18/what-new-speculations/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 15:05:41 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[culture]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[literacy]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[mind]]></category>
		<category><![CDATA[ong]]></category>
		<category><![CDATA[orality]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[speculation]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=850</guid>
		<description><![CDATA[Not unexpectedly, Jon Mott&#8217;s blog post, &#8220;Outsourcing Our Memory to Google&#8221; set my mind thinking in productively curious directions&#8211;even if I&#8217;ve ended up with no conclusions, and, indeed, more questions than I began with.
I&#8217;ve finally gotten around to reading through Ong&#8217;s &#8220;Orality and Literacy&#8221; (I skimmed it as an undergrad), a book which compares primary [...]]]></description>
			<content:encoded><![CDATA[<p>Not unexpectedly, <a href="http://www.jonmott.com/blog/">Jon Mott</a>&#8217;s <a href="http://www.jonmott.com/blog/2009/08/outsourcing-our-memory-to-google/">blog post, &#8220;Outsourcing Our Memory to Google&#8221;</a> set my mind thinking in productively curious directions&#8211;even if I&#8217;ve ended up with no conclusions, and, indeed, more questions than I began with.</p>
<p>I&#8217;ve finally gotten around to reading through <a href="http://www.abebooks.com/servlet/SearchResults?isbn=0415281288">Ong&#8217;s &#8220;Orality and Literacy&#8221;</a><span id="more-850"></span> (I skimmed it as an undergrad), a book which compares primary oral cultures to literate cultures, weighing the influence of technology. Mott&#8217;s point, that we need not teach students to learn information, but rather information-finding skills, reminded me of a passage that I highlighted in the early section, &#8220;Some Psychodynamics of Orality: the development of text, though &#8220;conservative in its own ways&#8221; ultimately &#8220;frees the mind of conservative tasks, of its memory work, and thus enables the mind to turn itself to new speculation&#8221;.</p>
<p>I expect this idea may be elaborated on later in the book, but as I read this I automatically wondered if instant access to networked information obviates &#8220;memory work&#8221; (i.e. memorization of information) even further, and thereby further freeing the mind for &#8220;new speculation&#8221;. If so, we can understand this as ultimately an advantage, a progression  leading to future intellectual and cultural developments.</p>
<p>The next question: are we yet ready to recognize these &#8220;new speculations&#8221; for what they are? For what they and might be?</p>
<p>Ong reminds that literate individuals and cultures do lose intellectual and cultural abilities that are apparent in primary oral, and so we might expect similar losses as we become an instant-networks culture. What might these losses be? I know a number of critics have pointed to attention span, &#8220;flow&#8221;, sustained and deep reading, traditional concepts of plagiarism, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2009/09/18/what-new-speculations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blackboard Vista Triggers Quirks Mode</title>
		<link>http://jaredstein.org/2009/04/02/blackboard-vista-triggers-quirks-mode/</link>
		<comments>http://jaredstein.org/2009/04/02/blackboard-vista-triggers-quirks-mode/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 16:25:20 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[blackboard]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[quirks mode]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=626</guid>
		<description><![CDATA[Ever been annoyed by Blackboard Vista&#8217;s (or Campus Edition 6+&#8217;s) rendering of your XHTML + CSS web pages? Yeah, me too&#8211;especially on Internet Explorer. This happens because Bb Vista triggers a browser&#8217;s quirks mode in spite of DOCTYPEs and validated markup.

More than just troublesome for pretty CSS-based pages, quirks mode, triggered on standards-compliant pages, can [...]]]></description>
			<content:encoded><![CDATA[<p>Ever been annoyed by Blackboard Vista&#8217;s (or Campus Edition 6+&#8217;s) rendering of your XHTML + CSS web pages? Yeah, me too&#8211;especially on Internet Explorer. This happens because Bb Vista triggers a browser&#8217;s <a href="http://www.quirksmode.org/css/quirksmode.html">quirks mode</a> in spite of <a href="http://www.w3.org/QA/2002/04/valid-dtd-list.html">DOCTYPE</a>s and <a href="http://www.w3.org/QA/2002/04/valid-dtd-list.html">validated markup</a><span id="more-626"></span>.
</p>
<p>More than just troublesome for pretty CSS-based pages, quirks mode, triggered on standards-compliant pages, can negatively affect the usability and functionality of the learning experience. For example, we use an <a href="http://uvsc.edu/disted/gamegarden/">inline quizzing</a> Javascript that renders questions and answer choices and feedback based on standards mode CSS. In quirks mode this self-assessment tool is useless.</p>
<h3>Blackboard Was Made For Quirks</h3>
<p>
Basically quirks mode means the browser thinks your web skills are not up to snuff, and the browser therefore renders your CSS in a non-standard fashion. Quirks mode is triggered when a DOCTYPE, e.g.:</p>
<pre style="font-size: 90%">
<code>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
</code>
</pre>
<p>&#8230;is missing, or invalid, or unknown, or not where it should be (i.e. the first line of the document).</p>
<div><img style="border: 1px solid" src="http://flexknowlogy.learningfield.org/files/2009/04/wikis51.jpg" alt="" /></p>
<div style="font-size: 80%">
<em>javascript:alert(document.compatMode)</em> pasted into the Internet Explorer address bar kindly informs us that this browser is rendering <a href="http://resources.qooxdoo.org/download/advanced_boxtest/box_test_standard.html">this page</a> in quirks mode. Firefox will tell you if you go to <em>Tools &gt; Page Info</em>. <a href="http://resources.qooxdoo.org/download/advanced_boxtest/box_test_standard.html">Advanced Box Model Test</a></div>
</div>
<p>But even if you&#8217;ve been careful to put a valid DOCTYPE into your web pages, once it&#8217;s loaded up into Bb Vista and linked to, either from a Folder or a Learning Module, the browser will go into quirks mode. Why does this happen? Simple: <strong>Bb Vista inserts XHTML and JavaScript at the beginning of all web pages onload.</strong> <a href="http://field.5tein.com/files/2009/04/quirkstest1.png">140+ lines</a> of it, to be exact. It&#8217;s an odious thing to do, but, what do you expect? It&#8217;s Blackboard.
</p>
<p>It may (or may not) be important to note that <strong>this does not happen when viewing a page in the File Manager</strong>&#8211;only when a page is loaded from a link within the course.</p>
<h3>What You Can Do</h3>
<p>Not much. And yet this could be <strong>a big issue for Internet Explorer users</strong> (FireFox renders page in quirks mode [not <a href="https://developer.mozilla.org/en/Mozilla%27s_DOCTYPE_sniffing#Almost_Standards_Mode">"Almost Standards Mode"</a> as I'd hoped], yet most standards-compliant XHTML and CSS still render well).
</p>
<p>And though <a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=2">most users are still on IE 6 or 7</a> I had some hope for a way out with Internet Explorer 8. You see,  <a href="http://msdn.microsoft.com/en-us/library/dd565650(VS.85).aspx">Microsoft promised that &#8220;a page explicitly opts into standards mode&#8221; when it includes &#8220;a metatag in the page that specifies IE=8 or IE=EmulateIE8&#8243;</a>. For example:</p>
<pre style="font-size: 90%">
<code>&lt;meta http-equiv="X-UA-Compatible" content="IE=IE8" /&gt;
</code>
</pre>
<p>In practice, however, this META tag alone does not force IE8 into standards mode in Bb Vista&#8211;the misplaced XHTML is apparently too much for IE8 to ignore.</p>
<p>So the most practical solutions I can think of are:</p>
<ol>
<li>
<p>
<strong>Write custom CSS for Blackboard</strong> that renders (or re-renders) the page according to <a href="http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug">the quirks mode box model</a>. This could be done using <a href="">Internet Explorer conditional comments</a>, for example:</p>
<pre style="font-size: 90%">
<code>
&lt;!--[if IE ]&gt;
  &lt;link href="ie-quirks.css" rel="stylesheet" type="text/css" /&gt;
&lt;![endif]--&gt;
</code>
</pre>
<p>I haven&#8217;t yet considered what CSS rules would need to be written to accommodate this, but <em>if it was possible</em> this seem like the most robust and efficient solution.</p>
</li>
<li><strong>Rewrite the page with Javascript.</strong> After Bb has loaded (or begun to load) the page, Javascript triggers a full rewrite of the page, either wiping out or rewriting the Bb XHTML and Javascript in a more appropriate location (e.g. in a targeted, ID&#8217;ed element). I&#8217;ve asked one of my developers to try this out today, but already fear the additional load time it might put on the Bb-hosted page.</li>
</ol>
<p>Any other ideas?</p>
<p>If this were only about appearance I wouldn&#8217;t be raising a fuss, but this can and does affect the usability of certain e-learning tools, and forces developers to ask, &#8220;How will this work in Blackboard?&#8221; yet again.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2009/04/02/blackboard-vista-triggers-quirks-mode/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Re. &#8220;CSS Angles&#8221; and the Future of Em-Based Scaling</title>
		<link>http://jaredstein.org/2008/12/03/re-css-angles-and-the-future-of-em-based-scaling/</link>
		<comments>http://jaredstein.org/2008/12/03/re-css-angles-and-the-future-of-em-based-scaling/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 18:43:37 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web dev]]></category>
		<category><![CDATA[angles]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[em]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/?p=117</guid>
		<description><![CDATA[Sitepoint offered up an article by Tim Wright (CSSKarma), CSS Angles:  Just the Edge Your Web Page Needs!, which shows that increasing the size of a single border property results in an angular object that can be placed behind things. After some experimentation I found a new solution and a new conundrum.
Tim&#8217;s applied this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sitepoint.com/">Sitepoint</a> offered up an article by <a href="http://www.csskarma.com/">Tim Wright (CSSKarma)</a>, <cite><a href="http://www.sitepoint.com/article/css-angles-the-edge-you-need/">CSS Angles:  Just the Edge Your Web Page Needs!</a></cite>, which shows that increasing the size of a single <strong>border</strong> property results in an angular object that can be placed behind things. After some experimentation I found a new solution and a new conundrum<span id="more-117"></span>.</p>
<p>Tim&#8217;s applied this to <a href="http://i2.sitepoint.com/graphics/1692_shelf.jpg">&#8220;shelf shadows&#8221;</a>, where a nav item appears to be propped up on a shelf with a shadow below:</p>
<div><a href="http://i2.sitepoint.com/graphics/1692_shelf.jpg"><img src="http://i2.sitepoint.com/graphics/1692_shelf.jpg" alt="shelf" /></a></div>
<p>I looked at the CSS and thought, &#8220;This is cute, but could be more elegant with just two 1kb images.&#8221; <a href="/resources/stein/web/shelf/shelf1.html">So I wrote it,</a> and it turned out fine. In fact, it turned out better, in my opinion, because the shadow edges were <a href="http://en.wikipedia.org/wiki/Anti-aliasing">anti-aliased</a>.  I showed my developer <a href="http://www.facebook.com/people/Tyrel-Kelsey/1166354283">Tyrel Kelsey</a> the results, then bragged, &#8220;I can even make both the shadows and the shelf size scale with the text.&#8221; Then <a href="/resources/stein/web/shelf/shelf2.html">whipped up that solution</a> as well.</p>
<p>In short, <a href="/resources/stein/web/shelf/shelf1.html">my first solution</a> used two images: a x-repeating <a href="/resources/stein/web/shelf/images/shelf1.png">1&#215;20 &#8220;shelf&#8221;</a> hooked to the UL, and <a href="/resources/stein/web/shelf/images/shadow1.png">a 10&#215;20 &#8220;shadow&#8221;</a> hooked to each LI in place of Tim&#8217;s border corner.</p>
<p><a href="/resources/stein/web/shelf/shelf2.html">My second solution</a> used <a href="/resources/stein/web/shelf/images/shelf2.png">a 1px square for the top &#8220;shelf&#8221;</a>, and a 1px border&#8211;both hooked to the UL. The top shelf was set 1em from the top to allow for scaling.</p>
<p><a href="/resources/stein/web/shelf/images/shadow2.png">The &#8220;shadow&#8221; was a much larger image, 100&#215;200</a>, and set .1em to the left and 1em from the top of each LI, thus masking it&#8217;s gargantuaness (similar to <a href="http://www.alistapart.com/articles/slidingdoors/">sliding doors</a>).</p>
<p>It was a slick application for the same effect, but then Tyrel popped my balooon.</p>
<p>&#8220;Are you on FireFox 3?&#8221; Tyrel asked. &#8220;Because mine already scales on FF3, and it doesn&#8217;t look all jagged like yours.&#8221;</p>
<p><strong>Page zoom.</strong> I still am on FF2, and I remembered earlier in the week how I embarrassed myself in the web design course I teach when the page zoom disturbed an effect I was demonstrating. In fact, a lot of the <a href="http://www.w3.org/WAI/GL/css2em.htm">em-based</a> scaling approaches so popular just a year ago are sliding towards obsolescence thanks to <a href="http://blogs.msdn.com/ie/archive/2006/02/07/526805.aspx">page zoom on IE 7+</a> and <a href="http://arstechnica.com/journals/linux.ars/2007/07/27/firefox-3-gets-full-page-zoom">now on FF3 as well.</a>.</p>
<p>Not only are they made obsolete, current CSS-based designs that are <a href="http://www.456bereastreet.com/archive/200504/fixed_or_fluid_width_elastic/">enhanced by the elasticity (e.g. layouts with reading-width columns</a> or <a href="http://www.alistapart.com/articles/slidingdoors/">other applications of em-based scaling (e.g. sliding doors)</a> may look worse with page zoom.  My second example sure did when scaled in IE7. And if you open my design 2 on FF3 and compare the page zoomed rendering to the rendering with Zoom Text Only turned on, you&#8217;ll agree that the clarity is compromised in the former.</p>
<p>So while I&#8217;m proud of <a href="/resources/stein/web/shelf/shelf2.html">my two CSS variations</a> on <a href="http://www.sitepoint.com/article/css-angles-the-edge-you-need/">Tim Wright&#8217;s shelf-and-shadow concept</a>, and they are great solutions for older browsers (I can&#8217;t believe I&#8217;m referring to FF2 as &#8220;older&#8221;!), it&#8217;s also clear to me that em-based scaling and elasticity is on it&#8217;s way out, and browser-based page zoom will solve a lot of designer&#8217;s accessibility-influenced design challenges&#8211;but not, perhaps, without affecting our &#8220;tricks&#8221; of the past.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2008/12/03/re-css-angles-and-the-future-of-em-based-scaling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2008 Survey for People Who Make WebSites</title>
		<link>http://jaredstein.org/2008/07/29/2008-survey-for-people-who-make-websites/</link>
		<comments>http://jaredstein.org/2008/07/29/2008-survey-for-people-who-make-websites/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 15:28:32 +0000</pubDate>
		<dc:creator>Jared Stein</dc:creator>
				<category><![CDATA[web dev]]></category>
		<category><![CDATA[a list apart]]></category>
		<category><![CDATA[surveys]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://flexknowlogy.learningfield.org/2008/07/29/2008-survey-for-people-who-make-websites/</guid>
		<description><![CDATA[This morning A List Apart, my favorite Web dev periodical, put out it&#8217;s 2008 Survey for People Who Make WebSites.  I made it through all 18pp. If you make Web sites, join in: 
]]></description>
			<content:encoded><![CDATA[<p>This morning <a href="http://alistapart.com">A List Apart</a>, my favorite Web dev periodical, put out it&#8217;s 2008 Survey for People Who Make WebSites.  I made it through all 18pp. If you make Web sites, join in: <a href="http://alistapart.com/articles/survey2008"><img src="http://aneventapart.com/webdesignsurvey/templates/ala/images/i-took-the-2008-survey.gif" alt="sruvey"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jaredstein.org/2008/07/29/2008-survey-for-people-who-make-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
