<?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>Coffee on the Keyboard &#187; tools</title>
	<atom:link href="http://coffeeonthekeyboard.com/tag/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://coffeeonthekeyboard.com</link>
	<description>by James Socol</description>
	<lastBuildDate>Fri, 20 Apr 2012 22:17:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/>		<item>
		<title>So You Wanna Help Mozilla?</title>
		<link>http://coffeeonthekeyboard.com/so-you-wanna-help-mozilla-316/</link>
		<comments>http://coffeeonthekeyboard.com/so-you-wanna-help-mozilla-316/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 00:45:22 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[amo]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[sumo]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://coffeeonthekeyboard.com/?p=316</guid>
		<description><![CDATA[A common theme we heard in responses to our web developer survey was: &#8220;I wish I could help Mozilla, but I&#8217;m just a web developer.&#8221; Well, fellow web ninjas, you can put your skills to work with Mozilla and help make the web a better place. Our web projects are open, just like Firefox, and [...]]]></description>
			<content:encoded><![CDATA[<p>A common theme we heard in responses to our <a href="http://hacks.mozilla.org/2009/11/web-developer-survey-update/">web developer survey</a> was: &#8220;I wish I could help Mozilla, but I&#8217;m just a web developer.&#8221;</p>
<p>Well, fellow web ninjas, you <em>can</em> put your skills to work with Mozilla and help make the web a better place. Our web projects are open, just like Firefox, and we&#8217;d love your help!</p>
<p>If you&#8217;re a web developer and want to help Mozilla and Firefox users while working on sites that see millions of visitors every day, follow me through the jump and I&#8217;ll show you around our shop and introduce you to the tools we use.<span id="more-316"></span></p>
<h3>Our Projects</h3>
<p>Mozilla Web Dev is responsible for pretty much every web site at Mozilla, from <a href="https://addons.mozilla.org/">Addons</a> to <a href="http://support.mozilla.com/">Support</a> to <a href="http://www.mozilla.com/">Mozilla.com</a> to <a href="http://www.spreadfirefox.com/">Spread Firefox</a>. We also take care of web services like the <a href="https://wiki.mozilla.org/AUS">Application Update Service</a>, <a href="https://wiki.mozilla.org/PFS2">Plugin Finder Service</a> and the <a href="https://wiki.mozilla.org/Socorro">Crash Report Beacon</a>.</p>
<p>Almost all of our code (everything except Socorro—the crash report beacon—I think) is available on <a href="http://viewvc.svn.mozilla.org/vc/">svn.mozilla.org</a>. You can browse around the server and see the source right now. It will all basically run on the standard LAMP (where P is PHP or Python) stack.</p>
<h3>Our Tools</h3>
<p>The control center of web development at Mozilla is <a href="http://bugzilla.mozilla.org/">Bugzilla</a>. All our work takes the form of &#8220;bugs&#8221; here. A &#8220;bug&#8221; is not necessarily a problem with the software. A new feature or a software update would also be called a &#8220;bug.&#8221; I&#8217;ll talk about the life-cycle of a web development bug below.</p>
<p>IRC is just as important as Bugzilla. Both our staff and our contributors are geographically diverse, and IRC gives us a good way to coordinate and talk to each other around the globe. If you&#8217;re new to IRC, <a href="https://addons.mozilla.org/en-US/firefox/addon/16">ChatZilla</a> is an easy place to start. Most projects have their own channel on <a href="http://irc.mozilla.org/">irc.mozilla.org</a>, like <a href="irc://irc.mozilla.org/sumo">#sumo</a> for Support and <a href="irc://irc.mozilla.org/amo">#amo</a> for Addons. We&#8217;re also usually in <a href="irc://irc.mozilla.org/webdev">#webdev</a>.</p>
<p>As web developers, are chief weapon is HTML. HTML and CSS. HTML, CSS, and JavaScript. <em>No one expects the&#8230;</em> (Sorry.) On the front-end, we chiefly work in HTML, CSS, and JavaScript, and occasionally other technologies like XML. On the back-end, nearly all of our projects are in PHP or Python.</p>
<p>For version control we mostly use Subversion, though git (and git-svn) has gained a bunch of ground lately. (Addons will be <a href="http://micropipes.com/blog/2009/11/17/amo-development-changes-in-2010/">moving to git</a> sometime next year.)</p>
<p>To work on your own computer, you&#8217;ll probably need to set up Apache, MySQL, and PHP or Python. <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> can be incredibly helpful here. Working on Linux (or Mac OS) is usually easier than Windows, and closer to our server environment. A tool like <a href="http://www.virtualbox.org/">VirtualBox</a> will let you run a Linux virtual machine on most other operating systems. It&#8217;s a little slower but switching back and forth is easy. I&#8217;ll try to write about my local development set up soon.</p>
<h3>Our Workflow</h3>
<p>Let&#8217;s go over the life of a bug. This is a little long-winded.</p>
<p>A bug is born either when someone describes a problem or when we decide to add a new feature. (Every project has its own way of doing the latter.) Sometimes our Web <abbr title="Quality Assurance">QA</abbr> team finds problems, sometimes community members do. Then the bug is created, or filed, usually by the person who discovers it—that could be you!</p>
<p>Once a bug has been filed, possibly after some discussion of the best way to fix it, a developer—and that could be you, too—will &#8220;take&#8221; the bug, accepting responsibility for fixing it. Fixing a bug means changing the application in some way: changing a behavior, adding a localization, etc.</p>
<p>When the developer believes they&#8217;ve fixed the problem in their copy, they generate a patch (Subversion&#8217;s &#8220;diff&#8221; command is useful). They then upload that patch as a new attachment, and request review (r?) from someone else. Who does the review will depend on the project and how busy everyone is. If you&#8217;re not sure who to ask, ask in IRC.</p>
<p>The patch will either get an r+ or an r-. An r+ means it&#8217;s good to go, and it can usually be checked in to Subversion (unless there are reasons to wait). An r- means there&#8217;s something wrong. This can range from a patch containing some extraneous data to a patch not solving the problem, and an r- almost always includes a description of the problem.</p>
<p>When a patch with a positive review (r+) gets checked in to Subversion, the developer will include the revision in the bug and change it from <em>new</em> to <em>resolved: fixed</em>. In a few minutes, the change will appear on a staging server that&#8217;s updated frequently with the latest code. Our Web QA staff and contributors will test the bug, compare expected to actual behavior, and with either <em>reopen</em> the bug, if it&#8217;s not fixed, or set the status to <em>verified</em>. Then the bug is considered done. Verified bugs rarely reopen.</p>
<p>Once all the bugs for a milestone are done, we &#8220;freeze&#8221; the source against new commits while Web QA does a final check that everything is in good shape. When QA signs off on the current code, we push the new version onto our production web servers.</p>
<p>So that&#8217;s the life of a bug, from filed to production. When it gets to production, your code can be seen or used by millions of people every day.</p>
<h3>Join Us</h3>
<p>So if you&#8217;re a web developer and want to help Mozilla and Firefox, head over to Bugzilla or IRC and get started. We hope to see you soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://coffeeonthekeyboard.com/so-you-wanna-help-mozilla-316/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Does the Web Hate School?</title>
		<link>http://coffeeonthekeyboard.com/does-the-web-hate-school-123/</link>
		<comments>http://coffeeonthekeyboard.com/does-the-web-hate-school-123/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 15:36:18 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[classrooms]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[schools]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[teachers]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://coffeeonthekeyboard.com/?p=123</guid>
		<description><![CDATA[Full Disclosure: I am employed at Michigan State University&#8217;s College of Education as a web designer and application developer. The opinions I express on this blog are mine, and do not necessarily reflect those of my employers or clients. Particularly this post. Education generally falls behind every other sector in computer technology integration and internet [...]]]></description>
			<content:encoded><![CDATA[<p class="note">Full Disclosure: I am employed at Michigan State University&#8217;s College of Education as a web designer and application developer. The opinions I express on this blog are mine, and do not necessarily reflect those of my employers or clients. Particularly this post.</p>
<p>Education generally falls behind every other sector in computer technology integration and internet use. A typical fast food employee uses a computer more during the day than a typical middle school student. (What are cash registers but custom computers?) At almost any business you can expect employees to use networked computers for everything from sales and inventory to customer service to internal work and communication.</p>
<p>But beyond simply using the box, private companies in every sector generally have up-to-date, professionally designed web sites that (at least try to) provide useful information or services to customers. Been to your or your kid&#8217;s school web site lately? Universities are usually &#8220;OK,&#8221; but they get worse as you go down.</p>
<p>In any other sector, you are likely to find online collaboration tools, meeting planners, digital resources for employees, use of messaging tools like internal e-mail (Exchange servers), private IM, Yammer/Laconi.ca, internal wikis, public and private blogs&#8230; you get the idea.</p>
<p>But not in education.</p>
<p>Education is part of the problem, but <strong>it is not the whole problem</strong>. Many <a href="http://speedchange.blogspot.com/">people talk about how teachers and schools fail to use computers and the internet well</a> in their classrooms. Many schools treat the computer itself as a goal, rather than as a tool to do new things, or do old things better and faster. Teachers generally fall behind the private sector in computer literacy. Yes, all these things are true.</p>
<p>But we, we the tech sector, the web 2.7.4 crowd, <strong>we are part of the problem, too</strong>.</p>
<p>How often does a new tool support education? Offer suggestions or support for teachers? Provide educational pricing? Provide the EULA and Privacy Policy education legally requires?</p>
<p>The people who become teachers are often the people who did well in school, who see no reason to change anything because, to them, <em>it works</em>. In the tech world, &#8220;where did they drop out of school?&#8221; is a legitimate question. Your typical programmer has at least one degree in Computer Science, but the real success stories—Bill Gates, Steve Jobs, Mark Zuckerberg—the ones who made real money, are drop outs. School didn&#8217;t work for them—for <em>us—</em>so what do we owe school?</p>
<p>When <a href="http://yammer.com/">Yammer</a> launched, they gave a simple business plan: for companies that wanted to &#8220;claim&#8221; and control their networks, they would charge $1 per month per user. A small start up might pay $5 to $20 a month. Even a big company is probably paying only a few hundred dollars per month. A university, on the other hand, could be stuck paying tens of thousands of dollars per month, or skipping the service entirely. Which do you think they&#8217;re likely to do?</p>
<p>What was <a href="http://forum.yammer.com/topic.php?id=551">Yammer&#8217;s response</a>? &#8220;Our product [...] is not geared toward educational institution [sic].&#8221;</p>
<p>Many schools have prohibitions against using Google services for anything work-related because, if you don&#8217;t <del>pay for</del> <ins>use (update: Google Apps for Education is free, my bad)</ins> their educational services, their <a href="http://www.google.com/intl/en/privacy_terms.html">Terms of Use</a> (read Section 11) could allow them to share sensitive student data.</p>
<p>You&#8217;re a school? You don&#8217;t matter. Only cool people matter.</p>
<p><strong>Let&#8217;s change</strong>. Let&#8217;s remember that the community of &#8220;tech-savvy&#8221; users, while growing, is still a minority. Let&#8217;s encourage teachers and schools to use the tools we create, so people come out of school ready to use these tools.</p>
<p>It is possible. <a href="http://education.ning.com/page/page/show?id=1027485:Page:45750">Ning is experimenting with education</a>. But how do we make tools ed-friendly?</p>
<p><strong>Fix your EULA and Privacy Policy, or provide a second one for education</strong>. Don&#8217;t be the next <a href="http://www.google.com/search?q=chrome+eula">Google Chrome</a>. (Frankly, everyone should be reconsidering their EULA right now. Why do some people need so many rights to my content?)</p>
<p><strong>Offer suggestions to teachers</strong>. I know: it&#8217;s not really a priority. You&#8217;ve got bug fixing, paying customers, searching for VC, coming out with the next version. But it&#8217;s not terribly difficult. Got a user forum? Add a section for education. Got a wiki? Add an education page. Blog? Throw up a post for teachers once in a while, or better, get guest posts from teachers who use your tool.</p>
<p><strong>Provide educational pricing</strong>. Schools have less money every year. If you can work out a deal to make your product free to schools, do it. But it&#8217;s not hard: just charge schools less. Think of this as an investment. If they use your product as students, they may well want to use it when they graduate and have to pay.</p>
<p>Or,<strong> provide an ad-free version to schools</strong>. This is the Ning method. If your business model doesn&#8217;t involve charging directly, be aware that schools often take issue with displaying ads to students. It&#8217;s the same investment as above: hook them young.</p>
<p>Schools lag on the internet because there is resistance on both sides: educators are reluctant to integrate new things into their curricula, and the new tools rarely give a damn about schools and students as users.</p>
<p>Changing the tech side won&#8217;t solve the problem. Schools need to adapt, too. (Where would you look for a Windows 95 computer if you needed one today? I&#8217;d check the local elementary school. It&#8217;s probably in a lab, or hidden in the back of a classroom.) Schools need to treat computers like tools, and the internet as a tool, and the tools we build on the internet as tools, and use those tools effectively. That will take time.</p>
<p>In the meantime, let&#8217;s try to reduce the resistance on our side, so when they come around, educators feel welcome.</p>
<p>Edit: I need to proofread better, even with angry rants.</p>
]]></content:encoded>
			<wfw:commentRss>http://coffeeonthekeyboard.com/does-the-web-hate-school-123/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

