<?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>Beautiful Interfaces &#187; development</title>
	<atom:link href="http://www.bri-lance.net/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bri-lance.net</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 01:51:35 +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>Programming While Female: 13 Thoughts</title>
		<link>http://www.bri-lance.net/2010/programming-while-female-13-thoughts/</link>
		<comments>http://www.bri-lance.net/2010/programming-while-female-13-thoughts/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 01:51:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[psychology]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=355</guid>
		<description><![CDATA[This topic seems to get into the air about once a year, and I normally avoid it like the plague.  Most of the time it seems to result in pointless hand-wringing and, if anything, harms us tech women by calling us out.  But stubornella&#8217;s excellent blog post stirred up my thoughts, and the [...]]]></description>
			<content:encoded><![CDATA[<p>This topic seems to get into the air about once a year, and I normally avoid it like the plague.  Most of the time it seems to result in pointless hand-wringing and, if anything, harms us tech women by calling us out.  But <a href='http://www.stubbornella.org/content/2010/07/26/woman-in-technology/'>stubornella&#8217;s excellent blog post</a> stirred up my thoughts, and the relative civility of her commenters gave me hope.  Also this latest brouhaha started around <a href='http://jsconf.us/2010/'>jsconf</a>, which I attended myself, and which helped shape my own thoughts on the topic.</p>
<p>So these are a bunch of scattered thoughts, that together are my attempt to honestly describe my own experience.</p>
<p><strong>1. A little story</strong></p>
<p>I didn&#8217;t start programming until I was in high school.  I was never even aware of programming until I took my first class, I think it was my sophomore year.  (We wrote Hangman in Pascal.)  Honestly, it just never crossed my mind.</p>
<p>At that point, I was already behind.  Because real programmers start when they&#8217;re 8, don&#8217;t they?  Real programmers get started seemingly at birth, and know what they&#8217;re meant to do right away &#8211; there aren&#8217;t really other options.  (I&#8217;m speaking in stereotypes, of course, but they are stereotypes that the field itself promotes.)</p>
<p>When I started college I realized how far behind I was.  I did well in my first couple of classes, but I wasn&#8217;t the best.  And other things seemed so much easier &#8211; writing was easier, and art was, and all of these other things.  So I didn&#8217;t stop programming, but I switched out of CS into InfoScience, and made up a Digital Art major, and did all of this other stuff.  (Not sticking with CS is my biggest college regret.)  </p>
<p>When I graduated I decided to become a designer.  After all I wanted to work in the tech field, but I &#8220;wasn&#8217;t smart enough to be a programmer&#8221;, and with my love of art, design seemed like a good compromise.  Besides, that&#8217;s what nerdy chicks do &#8211; they become designers.  Right?</p>
<p>I was fortunate enough to explore the design and UX field at a company where I could easily switch back to programming.  And I did, once I realized that design wasn&#8217;t for me.  </p>
<p>I learned some valuable things from this experience.  But how much better would I be at programming now if I hadn&#8217;t taken that 2-year detour?  How much further ahead would I be if I had had the self-confidence to stick with CS, and the understanding that I <em>could</em> actually catch up, if I just worked really hard?</p>
<p>This has to do with gender because it has to do with stereotypes, and with how I measured myself against those stereotypes and found myself lacking. And you&#8217;d think I would have learned from it, but I still do the exact same thing.</p>
<p><strong>2. Ambient sexism</strong></p>
<p>I have <em>never</em> had anyone personally treat me rudely because of my gender.  I&#8217;ve never been the target of serious disrespect, or been denied an opportunity as far as I know.  (I&#8217;ve had dudes be really awkward or try to hit on me, but whatever.  I can deal with that.)  </p>
<p>This is a totally awesome thing!  It&#8217;s a big change from when my mother was an engineer in the 70s. (She has some stories that you might not believe, about behavior that was just <em>accepted</em> back then.)  Progress has happened, and we nerdy chicks owe that generation a lot.</p>
<p>It also makes this kind of difficult or confusing to talk about.  Most of the programmer guys that I know are totally awesome people, and would never think of themselves as sexist.  And yet there&#8217;s all of this general objectification and disrespect that floats around in programming culture and makes it really hard to be female in certain venues.  Call it ambient sexism if you will.</p>
<p>A lot of that stuff comes from people who would probably be perfectly nice to me as an individual.  How do these two things reconcile?</p>
<p><strong>3. Yes, you are.</strong></p>
<p>&#8220;Oh, we&#8217;re not talking about <em>you&#8221;</em> is never a valid excuse.</p>
<p><strong>4. Get to know me, I dare you.</strong></p>
<p>I find that as soon as I get the chance to actually <em>work</em> with someone, gender instantly becomes not an issue.  As soon as I get the chance to show what I can do, to get into technical topics, to talk geek with someone, then all of the awkwardness and misbelonging disappears.  They stop seeing me as a woman and start seeing me as a programmer, and then things are fine.</p>
<p>(The tricky thing is that I&#8217;m actually both.)</p>
<p><strong>5. female X awkward = even more awkward!</strong></p>
<p>I&#8217;m a great big introvert, as many programmers tend to be.  I&#8217;m also shy &#8211; not cripplingly so, but it still takes a lot of energy and mental preparation to face a big group of people that I don&#8217;t know.</p>
<p>Gender is not the root of this problem, but it serves as a magnifying factor.  When I&#8217;m the only woman in the room it makes it even harder to connect, harder to overcome my natural shyness, harder to find a point of entry to the conversation.  It serves as an isolating factor, and makes the barriers that already exist that much higher. </p>
<p><strong>6. I <3 nerds</strong></p>
<p>Talking to smart programmers is one of my favorite things in the world.  Talking to smart female programmers is even better, because they tend to be &#8220;my type of folks&#8221;.  But I&#8217;ll geek out with anyone &#8211; as long as I don&#8217;t feel too intimidated by them.</p>
<p><strong>7. Learning French</strong></p>
<p>You learn how to get by, in this man&#8217;s world.  You learn to make yourself bigger, to consciously take up more space, to pitch your voice lower and louder to be heard.  You learn how to dress to minimize staring, and when to choose a t-shirt over a blouse.  You learn what topics to steer away from in conversation, and which threads on websites to never ever click.  You learn to fit in, to minimize the differences that would keep you separate, to adapt to the common culture.  It&#8217;s like learning to speak French.  You learn, or you leave.</p>
<p>People learn and live in other languages every day; but native speakers will always have the advantage.</p>
<p>(Sometimes two cultures collide and create a new language, a creole, that contains concepts from both of its parents.  I want to know, how do we go <em>there?</em>)</p>
<p><strong>8. Community</strong></p>
<p>There aren&#8217;t too many place where I really fit in, so when I find one I tend to become attached.  Because of this, I&#8217;m completely sympathetic to guys who have found a community and a home within programming culture, and who want to preserve and defend that culture.  </p>
<p>I can understand how it might seem unfair and threatening when people talk about wanting to change that culture, like in that <a href='http://www.eurekalert.org/pub_releases/2009-12/uow-oga121409.php'> famous study </a> about geeky environments and tech appeal.  Because they value that culture the way it is right now; it&#8217;s brought good things to their lives and they don&#8217;t want that to be lost.  That makes perfect sense to me.</p>
<p>But dammit, I&#8217;m here too, and I also want community!</p>
<p>There has to be a way to do both &#8211; to extend the culture, without replacing core functionality.</p>
<p><strong>9. It&#8217;s not about the dick jokes.</strong></p>
<p>I actually have a pretty coarse sense of humor. So I&#8217;m fine with the dick jokes, seriously. I&#8217;ll <a href='http://www.urbandictionary.com/define.php?term=twss'>#twss</a> with the best of them &#8211; just check my Twitter feed.  I think my sense of humor is pretty standard for the field.</p>
<p>Except.  Except it all changes when I&#8217;m already feeling unsafe and isolated.  When I&#8217;m feeling in a hostile environment where I have to be on my guard.  Then the joke that I might find hilarious under better circumstances suddenly starts to feel like a threat &#8211; just another reminder of how much I don&#8217;t fit in.</p>
<p>It&#8217;s not about the dick jokes, it&#8217;s about the overall atmosphere.</p>
<p><strong>10. The relevant parameters</strong></p>
<p>I love programming.  It&#8217;s not just what I do, it&#8217;s What I Do.  Nothing else gets me into a state of flow so easily and so quickly.  I love it for itself: for the joy of unraveling a complex system and seeing it all take shape in your head; for the love of creating something that&#8217;s minimal and effective and Right, with nothing extra added and nothing left to take away; for the satisfaction of making something with my own hands that other people will <em>use</em>, that improve their lives in some minor little way.  (The fact that it makes me money is a nice side effect.)</p>
<p>None of this has anything to do with gender.  What <em>does</em> have to do with gender is all of the auxiliary stuff, all of those human and social things that turn out to be so important in careers.</p>
<p>So far the first thing has outweighed the second, and so I stay.  But I can see how that calculation might be different for someone else.  </p>
<p>I can see how easy it might seem to go and find someplace friendlier, where it&#8217;s less of a struggle just to be.</p>
<p><strong>11. Hills</strong></p>
<p>There are two runners.  One is running on perfectly level ground, and the other is struggling up a big hill.  They both might get to the same place eventually, but which one is going to have the easier and more pleasant time?</p>
<p>Being female in the tech industry is that hill.</p>
<p>(And yet. Runners run hills to get faster, don&#8217;t they?)</p>
<p><strong>12. Hard words for a hard problem</strong></p>
<p>So maybe you have to work twice as hard to be accepted.  Guess what?  Go out and work three times as hard.</p>
<p>Do you have to be twice as good to be heard?  Be four times as good, and be impossible to ignore.</p>
<p>Feel like you have to know twice as much?  Learn five times as much, and then teach others.</p>
<p>Be constantly learning. Work your ass off. Put in your <a href='http://www.artsjournal.com/artfulmanager/main/wanna-get-to-carnegie-hall-got.php'>10000 hours</a>, and then put in some more.  Make your skin thicker, and just go on.  </p>
<p>Yeah, it can seem unfair.  Guess what?  Life&#8217;s unfair.  The only way forward is to suck it up and go make some awesome stuff.</p>
<p>You can let this make you miserable, or you can let it make you <em>better</em>.</p>
<p>(I&#8217;m talking to myself here.)</p>
<p><strong>13. That&#8217;s what she said.</strong></p>
<p>Yes.  Yes, it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2010/programming-while-female-13-thoughts/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The Boundaries of Accessibility</title>
		<link>http://www.bri-lance.net/2010/the-boundaries-of-accessibility/</link>
		<comments>http://www.bri-lance.net/2010/the-boundaries-of-accessibility/#comments</comments>
		<pubDate>Tue, 11 May 2010 02:29:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=338</guid>
		<description><![CDATA[Sites and apps
During discussions about accessibility, I always wonder whether accessibility goals should be different for different types of web projects.  Are there cases where accessibility is less important?  And if so, what are the relevant differences that make it that way?  
 &#8220;The web should be accessible&#8221; is an easy blanket [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Sites and apps</strong></p>
<p>During discussions about accessibility, I always wonder whether accessibility goals should be different for different types of web projects.  Are there cases where accessibility is less important?  And if so, what are the relevant differences that make it that way?  </p>
<p> &#8220;The web should be accessible&#8221; is an easy blanket statement, but the web is very diverse.  Many sites and applications exist that aren&#8217;t accessible in various ways, but are still useful and popular.  Are we to say that these sites should not exist at all, and everyone else misses out?  On the other hand, people have a right to get the information they need and perform the tasks they need to perform.  How do you balance these two things?</p>
<p>For <strong>websites</strong>, whose primary purpose is conveying information, it&#8217;s no question to me that the site should be accessible.  First off, most sites that exist to convey information want it to be widely seen; accessibility is in their own best interest.  These also tend to be the sites where accessibility is easiest and can be achieved by following simple best practices.  There may be some flashy ajax stuff going on, but it tends to be window dressing.  At the worst case you might have to provide textual alternatives to rich media like videos or Flash.</p>
<p>But there&#8217;s another category that I think is much more of a grey area, which I&#8217;ll call <strong>web apps</strong>.  It&#8217;s tough to categorize web apps, so I&#8217;m going to take the lazy way out and say that they are the complement set of the above category, containing any site whose primary purpose is not to convey information.  So if the app exists to let people create something, or to play a game, or to do something complicated with data, it may be reasonable for the app&#8217;s creators to set the bar higher in terms of what is required to use that app.  This may mean requiring javascript or the use of a mouse, or the ability to view visual images, or even specific browser features.  (You won&#8217;t be using <a href="https://bespin.mozillalabs.com/">Bespin</a> in IE, for example.)</p>
<p><strong>Another way to look at it: Importance and relevance</strong></p>
<p>Anything that&#8217;s both <strong>important</strong> and <strong>relevant</strong> to a large number of people &mdash; such as job applications, reference information, and government agencies&#8217; sites &mdash; should always be widely accessible in as many ways possible.  </p>
<p>If it&#8217;s important but not widely relevant, consider your target population and gear support towards their specific needs.  </p>
<p>If it&#8217;s widely relevant but not important to people&#8217;s lives, like for example many browser-based games, prioritize accessibility based on a cost-benefit analysis of how many people you&#8217;d like to reach.  </p>
<p>If it&#8217;s neither important nor widely relevant, go nuts; knock yourself out with crazy features.</p>
<p>I feel like this could be somewhat controversial; what do you think?  Should there be a difference in how accessibility is prioritized for different types of projects on the web?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2010/the-boundaries-of-accessibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Browser Breakdown</title>
		<link>http://www.bri-lance.net/2010/the-browser-breakdown/</link>
		<comments>http://www.bri-lance.net/2010/the-browser-breakdown/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 23:44:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[visual explanations]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=332</guid>
		<description><![CDATA[The growth of the mobile web and touch screens has created more browser diversity than ever before.  I think it&#8217;s useful to categorize browsers into four major categories, along the axes of screen size and input type.

Probably the most growth is going to come in the large-screen touch category (mainly because it&#8217;s starting from [...]]]></description>
			<content:encoded><![CDATA[<p>The growth of the mobile web and touch screens has created more browser diversity than ever before.  I think it&#8217;s useful to categorize browsers into four major categories, along the axes of screen size and input type.</p>
<p><img src="http://www.bri-lance.net/blog/wp-content/uploads/2010/04/browsers.png" alt="chart of browsers by screen size and mouse vs touch" /></p>
<p>Probably the most growth is going to come in the large-screen touch category (mainly because it&#8217;s starting from the lowest place overall).  If anything, I would expect the small-screen mouse input category (i.e. Blackberries) to decrease &mdash; but not to disappear entirely, because businessmen sure do love their physical keyboards.</p>
<p>Making web apps that work with minimal adaptation across all four quadrants is the challenge.  (And you thought dealing with different screen resolutions was hard?)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2010/the-browser-breakdown/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3 Reasons to Care About Server-Side Javascript</title>
		<link>http://www.bri-lance.net/2010/3-reasons-to-care-about-server-side-javascript/</link>
		<comments>http://www.bri-lance.net/2010/3-reasons-to-care-about-server-side-javascript/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 02:54:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[psychology]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=318</guid>
		<description><![CDATA[Why?
Server-side javascript has been a hot topic for awhile now, especially since node.js was announced.  But after reading about it here and there, a big part that I felt I was missing was the &#8220;why&#8221;.  
I mean, for those of us who really enjoy javascript (which I do), enough said.  Javascript on [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Why?</strong></p>
<p>Server-side javascript has been a hot topic for awhile now, especially since <a href="http://nodejs.org/">node.js</a> was announced.  But after reading about it here and there, a big part that I felt I was missing was the &#8220;why&#8221;.  </p>
<p>I mean, for those of us who really enjoy javascript (which I do), enough said.  Javascript on the server?  Hell yes!</p>
<p>I realize, though, that most of the world doesn&#8217;t share my love of this particular programming language. <img src='http://www.bri-lance.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   So, while at <a href="http://jsconf.us/2010/">jsconf</a> this past weekend, I tried to collect some reasons why everyone should consider javascript on the server.</p>
<p><strong>1. It lets you write things once instead of twice.</strong></p>
<p>The more logic that you&#8217;re running on the client-side, the more code you have to write twice: once in your server-side language of choice, and once again in javascript.  The classic example here is validation code.  You want to validate on the client-side for a good user experience, but you have to validate on the server for security reasons.  As a result, you have two whole different sets of validation rules to be written, updated, and maintained over time.</p>
<p>Now wouldn&#8217;t it be great if that could be just one piece of code?  You&#8217;d cut your codebase in half, and make maintenance a lot easier.</p>
<p><strong>2. It could make progressive enhancement easier.</strong></p>
<p>Server-side javascript has the potential to make progressive enhancement a lot easier, by requiring you to do less special planning for it.  With a <a href="http://domscripting.com/blog/display/41">hijax</a>-type approach, which seems to be the current best practice for supporting non-scriptie users, you have to create your site first without javascript, and only then add all of the dynamic stuff in.</p>
<p>In a world of limited budgets and tight deadlines, this may seem like a lot of extra work to support a very small number of users.  But with server-side javascript, there&#8217;s the potential that for those users, you could just run the javascript on the server-side instead and return the page in its new state.  </p>
<p>I&#8217;ll be honest, this would probably be a pretty slow experience with a lot of extra page reloads, but it may still be better than the unusable state of many current sites with javascript turned off.  (There was a fab talk at jsconf by Philly&#8217;s own <a href="http://jennlukas.com/">Jenn Lukas</a> on <a href="http://www.slideshare.net/JennLukas/javascript-and-web-standards-sitting-in-a-tree">the sad state of no-script support on major sites</a>.)  At least this way people could get what they to wanted, even if the experience was slow.</p>
<p>This isn&#8217;t a topic I&#8217;ve heard discussed very much yet, but if there was a way to make progressive enhancement basically automatic, that could turn out to be a big win.</p>
<p><strong>3. It lets you stay in one headspace.</strong></p>
<p>Ok, this could be considered a weaker reason, which is why I put it third.  But it&#8217;s well-known that switching between tasks <a href="http://www.joelonsoftware.com/articles/fog0000000022.html">harms productivity</a>, and it&#8217;s much better to focus on just one thing at once.  Now consider that many developers are generalists who do some server-side and some client-side code, and as a result have to hold (at least) two different languages in their heads, with two different sets of APIs and quirks and syntaxes and styles, switching between them all of the time.</p>
<p>I know that I personally try to use <em>console.log</em> in Objective-C, <em>trace</em> in a javascript file, or <em>echo</em> in a Flex app at least once a week.  And that doesn&#8217;t even get to the subtler traps of forcing one language into another&#8217;s paradigm.</p>
<p>Now imagine that you could take a large portion of that brainspace and devote it to <em>just one thing</em>.  One language, one syntax, one set of patterns, one set of common bugs.  Wouldn&#8217;t it make you more efficient?  Wouldn&#8217;t you get so awesome and productive and ninja-esque at that language?</p>
<p><strong>Because.</strong></p>
<p> I&#8217;m sure using js on the server has its downsides as well, but I don&#8217;t really know enough yet to speak to what they are.  But I&#8217;m convinced now that it&#8217;s more than just a toy, and is worth at least a look from people who care about the good things above. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2010/3-reasons-to-care-about-server-side-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snowflakerator</title>
		<link>http://www.bri-lance.net/2010/snowflakerator/</link>
		<comments>http://www.bri-lance.net/2010/snowflakerator/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 02:36:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=302</guid>
		<description><![CDATA[Another canvas-based toy, in honor of all the snow we&#8217;ve been having around here lately: The Snowflakerator.
Lets you draw in 6-way radial symmetry.  I got the idea from those folded paper snowflakes that everyone used to make as a kid.
I&#8217;m liking canvas, it&#8217;s easy to do some fun stuff with.  And I really [...]]]></description>
			<content:encoded><![CDATA[<p>Another canvas-based toy, in honor of all the snow we&#8217;ve been having around here lately: <a href="http://www.bri-lance.net/projects/snowflakerator/">The Snowflakerator</a>.</p>
<p>Lets you draw in 6-way radial symmetry.  I got the idea from those folded paper snowflakes that everyone used to make as a kid.</p>
<p>I&#8217;m liking canvas, it&#8217;s easy to do some fun stuff with.  And I really like it not being the black box on the page that Flash tends to be.</p>
<p>More of these to come, probably.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2010/snowflakerator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canvas + the Digits of PI</title>
		<link>http://www.bri-lance.net/2010/canvas-the-digits-of-pi/</link>
		<comments>http://www.bri-lance.net/2010/canvas-the-digits-of-pi/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 01:29:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[visual explanations]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=299</guid>
		<description><![CDATA[A couple of weeks ago, my former colleague Mike @ Meja Design released this cool visualization of the digits of PI mapped to colored dots:

This got me thinking about other transformations you could do over the same set of numbers.  At the same time, I&#8217;ve been wanting to start playing with canvas, for possible [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago, my former colleague Mike @ <a href="http://www.mejadesign.com/">Meja Design</a> released this cool visualization of the digits of PI mapped to colored dots:</p>
<p><a href="http://www.flickr.com/photos/mejadesign/4297880387/" title="Pi by Meja Design, on Flickr"><img src="http://farm5.static.flickr.com/4035/4297880387_9935a04346.jpg" width="324" height="500" alt="Pi" /></a></p>
<p>This got me thinking about other transformations you could do over the same set of numbers.  At the same time, I&#8217;ve been wanting to start playing with <a href="https://developer.mozilla.org/en/Canvas_tutorial">canvas</a>, for possible future infographicky goodness.  So I thought, what better way to get my feet wet with canvas than to visualize PI as a line chart!  And just for fun, I put it on a circle too, since, y&#8217;know, PI.  (I was going to make the lines nice and curvy, but it&#8217;s the weekend and bezier curve math was not being my brain&#8217;s friend, so straight lines for now.)</p>
<p>So, without  further ado: <a href="http://www.bri-lance.net/projects/pi_canvas/">the digits of PI visualized as a line chart, using canvas</a>.  (Also: I threw in excanvas, but didn&#8217;t actually bother to test it in IE, so if it doesn&#8217;t work, um&#8230; try a real browser, I guess?  Cheers.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2010/canvas-the-digits-of-pi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open-Source Design?</title>
		<link>http://www.bri-lance.net/2010/open-source-design/</link>
		<comments>http://www.bri-lance.net/2010/open-source-design/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 04:12:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[organizations]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=284</guid>
		<description><![CDATA[Is it even possible to successfully apply the principles of open-source software to design?  Or does really great design require a certain level of Steve Jobs-like tyranny, a sense that one vision is masterminding everything, or at least a single point of responsibility?
(By &#8220;design&#8221;, I&#8217;m referring to visual/experience/industrial/graphic/architectural/service/fashion design &#8212; all of the fields [...]]]></description>
			<content:encoded><![CDATA[<p>Is it even possible to successfully apply the principles of open-source software to design?  Or does really great design require a certain level of Steve Jobs-like tyranny, a sense that one vision is masterminding everything, or at least a single point of responsibility?</p>
<p>(By &#8220;design&#8221;, I&#8217;m referring to visual/experience/industrial/graphic/architectural/service/fashion design &mdash; all of the fields that deal primarily with creating some sort of effect or experience for a human being.  I am not referring to things like the design of circuits or of hardware.  Those fields are different.)</p>
<p>The relevant difference that I see is that really great software is usually quite <strong>modular</strong>.  Software engineering principles like encapsulation and loose coupling mean that lots of people can work on something, each one taking a part, and still come out with something that integrates quite well and does what it is meant to do.  This is probably what makes open-source projects work as well as they do.</p>
<p>On the other hand, really great design is incredibly <strong>integrated</strong>.  If you look at a great experience, one of the striking points is the way in which every single aspect, from building architecture to package design to software interfaces, makes an integrated and coherent contribution to the experience.  It has a personality &mdash; <strong>one</strong> personality, not a schizophrenic array of different voices all talking at once.</p>
<p>I wonder, given its coherent and integrated nature, whether great design is fundamentally incompatible with the open-source model.  After all, &#8220;designed by committee&#8221; is a common insult, but there isn&#8217;t really an equivalent phrase relating to programming.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2010/open-source-design/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Generalization and Specialization</title>
		<link>http://www.bri-lance.net/2009/generalization-and-specialization/</link>
		<comments>http://www.bri-lance.net/2009/generalization-and-specialization/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 00:24:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=215</guid>
		<description><![CDATA[How much specialization is too much specialization?  And how much of a generalist can a person really be, and still be effective?  This question comes up for me a lot, because I tend to be a generalist in an organization that encourages specialization and separation of roles.
On the one hand, specializing in one [...]]]></description>
			<content:encoded><![CDATA[<p>How much specialization is too much specialization?  And how much of a generalist can a person really be, and still be effective?  This question comes up for me a lot, because I tend to be a generalist in an organization that encourages specialization and separation of roles.</p>
<p>On the one hand, specializing in one technology / programming language / skill allows you to gain a depth of knowledge and experience that you can&#8217;t really fake.  Some have argued that it takes about <a href="http://www.artsjournal.com/artfulmanager/main/wanna-get-to-carnegie-hall-got.php">10,000 hours of practice</a> to become an expert at something; if you practice a skill for 30 solid hours a week, that equates to about 7 years.  After 7 years of working with a skill, I have to imagine that you know pretty much everything there is to know about it, and your intuition has got to be pretty solid on any question or problem that comes on.</p>
<p>On the other hand&#8230; technology and practices change so rapidly, and you have to flow with the river or you&#8217;ll be swept away.  If being a generalist means that you have the ability to rapidly teach yourself new skills, and the willingness to learn as you go without hand-holding, then arguably generalists are better prepared to deal with the changes that inevitably happen.  Also, like I discussed in my post on <a href="http://www.bri-lance.net/2009/design-mind-developer-mind/">designing and developing</a>, being able to cross between fields allows you to make connections that might not otherwise be made.</p>
<hr/>
<p>Perhaps it could be seen as a risk/reward tradeoff.  </p>
<p>Specializing is like investing in stocks, with more risk and a potentially higher reward.  Specialists have an easier time getting hired &mdash; their resumes fit the traditional &#8216;check the box&#8217; model &mdash; and they quite possibly get paid more for their expertise.  On the other hand, they run a high risk of their skills becoming obsolete, or at least less valuable over time.</p>
<p>Being a generalist is like investing in bonds, with a slower payoff but much less risk.  Generalists have a harder time making people understand what they do, and may have a harder time demonstrating their worth to prospective employers.  But they will always be able to adapt when the technology or the environment changes, and figure out how to make themselves useful in some way.</p>
<p>And perhaps there&#8217;s a happy medium of sorts, where it&#8217;s possible to keep learning and using one central skill, while always having a rotating cast of new things at the periphery.  It may take longer to become an expert this way, but like a balanced portfolio, it seems to offer the best mix of reduced risk and potential reward.</p>
<hr/>
<p>For myself, the nature of my current job is very general.  I have to be able to pick up whatever tool is best to convey the idea at hand, whether that be css/javascript or Flex or Flash or PHP or JSP, or whatever the next thing will be.  (And I have to be able to adopt the design mindset as well, which has its own set of skills that aren&#8217;t as easily defined.)</p>
<p>I would say that css/javascript is really my core expertise, if anything is.  I&#8217;ve been doing a lot with Flex the past few months, but it&#8217;s really all in the data visualization space; I don&#8217;t know anything about Flex app development outside of that.  I dip into Flash when necessary, and usually get confused because it&#8217;s different from Flex.  I know enough PHP to get things done, but I don&#8217;t really have a depth of experience, and I still have to refer to the docs a lot.  </p>
<p>So this line of thinking implies that, no matter how much my job comes to involve other things, I should make sure that I am still keeping up with my css/javascript skills and following new developments with those technologies.  Because at some point in my life, I&#8217;m going to have to label myself again, so I need to have at least one language where I can call myself an &#8220;x developer&#8221; and feel entitled to the phrase.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2009/generalization-and-specialization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guides Bookmarklet 0.1</title>
		<link>http://www.bri-lance.net/2009/guides-bookmarklet-0-1/</link>
		<comments>http://www.bri-lance.net/2009/guides-bookmarklet-0-1/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 01:05:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=193</guid>
		<description><![CDATA[I&#8217;ve put together a simple bookmarklet to allow you to add Photoshop and Illustrator-style guides to any webpage.  This is something that I&#8217;ve wanted for awhile, after finding myself feeling ridiculous while holding a sheet of paper up to the screen to check whether things are lined up.
Just drag this link to your bookmarks [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve put together a simple bookmarklet to allow you to add Photoshop and Illustrator-style guides to any webpage.  This is something that I&#8217;ve wanted for awhile, after finding myself feeling ridiculous while holding a sheet of paper up to the screen to check whether things are lined up.</p>
<p>Just drag this link to your bookmarks bar, or right-click on it, or save it however you save a bookmark typically:<br />
<a href="javascript:(function(){var%20sc1=document.createElement('script');sc1.type='text/javascript';sc1.src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js';document.getElementsByTagName('head')[0].appendChild(sc1);var%20sc2=document.createElement('script');sc2.type='text/javascript';sc2.src='http://www.bri-lance.net/guides/guides.js';document.getElementsByTagName('head')[0].appendChild(sc2);})();">Guides Bookmarklet</a></p>
<p>When you click on the link, grey bars will appear across the top and left side of the page.  From these bars, you may drag out as many guides as you need onto the page.  Guides can be repositioned once they are on the page as well; just hover until you see the little arrow cursor.  Finally, to remove a guide, just drag it off the side of the page.  (That last part may not work in IE.)</p>
<p>This is version 0.1, meaning that I worked on it for about 3 hours overall.  So tell me: as a web designer or developer, what would make this more wonderful to you?  What other features would you totally use?</p>
<p>Also, please let me know about any bugs!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2009/guides-bookmarklet-0-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adobe&#8217;s plan to take over the world</title>
		<link>http://www.bri-lance.net/2009/adobes-plan-to-take-over-the-world/</link>
		<comments>http://www.bri-lance.net/2009/adobes-plan-to-take-over-the-world/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 03:04:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[visual explanations]]></category>

		<guid isPermaLink="false">http://www.bri-lance.net/?p=168</guid>
		<description><![CDATA[(Notes from Ryan Stewart&#8217;s keynote talk at Philly Flash Camp.)
Contextual Applications: 

Adobe&#8217;s Product Line:

]]></description>
			<content:encoded><![CDATA[<p>(Notes from <a href="http://blog.digitalbackcountry.com/">Ryan Stewart&#8217;s</a> keynote talk at Philly Flash Camp.)</p>
<p><strong>Contextual Applications: </strong></p>
<p><img src="http://www.bri-lance.net/blog/wp-content/uploads/2009/11/adobe1.gif" alt="contextual applications diagram" /></p>
<p><strong>Adobe&#8217;s Product Line:</strong></p>
<p><img src="http://www.bri-lance.net/blog/wp-content/uploads/2009/11/adobe2.gif" alt="Adobe products and intended users diagram" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bri-lance.net/2009/adobes-plan-to-take-over-the-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
