<?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>Monotonous.org &#187; Accessibility</title>
	<atom:link href="http://www.monotonous.org/category/accessibility/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.monotonous.org</link>
	<description>Eitan&#039;s Pitch</description>
	<lastBuildDate>Sun, 15 Jan 2012 20:07:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hacking Firefox Mobile, Not The Good Kind Of Hacking</title>
		<link>http://www.monotonous.org/2011/10/17/hacking-firefox-mobile-not-the-good-kind-of-hacking/</link>
		<comments>http://www.monotonous.org/2011/10/17/hacking-firefox-mobile-not-the-good-kind-of-hacking/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 14:57:59 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.monotonous.org/?p=496</guid>
		<description><![CDATA[Hi again. Remember my first post to Planet Mozilla? I hope not. Sorry for the male enhancement pills spam. Please stop contacting me for orders. I am in Toronto right now, spending a week with Mobile folks. It has been about 6 weeks since I started working on a mobile extension, and the list of [...]]]></description>
			<content:encoded><![CDATA[<p>        Hi again. Remember my first post to Planet Mozilla? I hope not. Sorry for the <a href="http://yfrog.com/jyeitanplanetfeedp">male enhancement pills spam</a>. Please stop contacting me for orders.</p>
<p>I am in Toronto right now, spending a week with Mobile folks. It has been about 6 weeks since I started working on a mobile extension, and the list of dirty tricks we employing to get things done is growing. Some of these hacks are there because there is no alternative, and some are there because I just didn&#8217;t figure out the right way to do it.</p>
<p>Here is a short list:</p>
<dl>
<dt>Gestures</dt>
<dd>I reinvented them, poorly. Our extension relies heavily on the ability to support a rich set of multi touch gestures. We have a hack, similar to how it was done in <a title="Touching Is Good! Addon page" href="https://addons.mozilla.org/en-US/mobile/addon/touching-is-good/?src=search">Touching is Good</a> (I know!), where we swap out the callbacks in MouseModule and GestureModule for our own. This doesn&#8217;t seem right, for a few reasons. The main one being that this doesn&#8217;t seem like a real public API, and it will be broken sooner or later. The second thing is the fact that we are relying on <a title="Are weird gesture mangler" href="https://github.com/eeejay/Talk-To-Me/blob/master/content/gesture_mangler.js">shaky JS</a> to re-interpret the platform-interpreted events. So maybe there is a better way to do things. The <a href="https://developer.mozilla.org/En/NsIDOMSimpleGestureEvent"><code>nsIDOMSimpleGestureEvent</code></a> only serves us to a limited degree, I  think there is room for a more low-level multi touch event API that is similar to the Android one. Or maybe a comprehensive high level API with more event types.</dd>
<dt>Speech</dt>
<dd>This should probably be <a title="Bug 687879 - Expose platform's text to speech functionality as XPCOM component" href="https://bugzilla.mozilla.org/show_bug.cgi?id=687879">implemented natively</a> and have multi-platform support. Right now, in Android, we are doing Javascript &lt;-&gt; js-types &lt;-&gt; jni &lt;-&gt; Java. What could go wrong?! But seriously, <a href="https://github.com/eeejay/Talk-To-Me/blob/master/content/android_api.js">it is kind of ugly</a> right now, but I would like to make our JS solution prettier and useful to other extension writers who want to tap in to Android&#8217;s API and services.</dd>
<dt>Security</dt>
<dd>The Mozilla profile directory in Android is not world-readable, presumably for good reasons. Our extension&#8217;s media files need to be world-readable so that Android&#8217;s TextToSpeech service could pick them up and use them as earcons. This requires an <a href="https://github.com/eeejay/Talk-To-Me/blob/master/bootstrap.js#L51">install</a> and uninstall hook that uses Android&#8217;s Context.getDir to get/create a subdirectory in Firefox&#8217;s top-level app directory where we could copy over those media files for system consumption. Maybe this is the best way to do it&#8230; But I can&#8217;t imagine anyone being happy about an extension writing to that directory. Sorry!</dd>
<dt>&#8211;enable-accessibility</dt>
<dd>Our extension depends on accessibility being enabled at build time. Since I am getting some face time with folks this week, it seems like a good thing to bring up.</dd>
<dd></dd>
</dl>
<p>I am sure there are other horrible horrible hacks in there. But the list above is really what I needed to confess to. Thanks for empathetic attention.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/10/17/hacking-firefox-mobile-not-the-good-kind-of-hacking/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Caribou Week Who Is Paying Attention Anyway &#8211; We Need a New Maintainer</title>
		<link>http://www.monotonous.org/2011/08/07/caribou-week-who-is-paying-attention-anyway-we-need-a-new-maintainer/</link>
		<comments>http://www.monotonous.org/2011/08/07/caribou-week-who-is-paying-attention-anyway-we-need-a-new-maintainer/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 13:41:29 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[caribou]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=488</guid>
		<description><![CDATA[After making a non-binding resolution to report my Caribou progress on a weekly basis, I flaked. Of course. But luckily Nohemi has picked up the slack and have kept you all up to date about the libcaribou powered GNOME Shell keyboard in her more binding GSoC reports. So no more architecture diagrams are needed, you [...]]]></description>
			<content:encoded><![CDATA[<p>        <img class="alignnone" title="I'm Going To The Desktop Summit" src="https://www.desktopsummit.org/sites/www.desktopsummit.org/files/DS2011banner.png" alt="" width="333" height="110" /></p>
<p>After making a non-binding resolution to report my Caribou progress on a weekly basis, I flaked. Of course. But luckily <a title="Nohemi's Blog" href="http://justabovethetagclouds.blogspot.com/">Nohemi</a> has picked up the slack and have kept you all up to date about the libcaribou powered GNOME Shell keyboard in her more binding GSoC reports. So no more architecture diagrams are needed, you all get the idea. But if you didn&#8217;t, let me make it clear: The goal of Caribou is to make it easy to implement new on screen keyboards where you would only need to provide the view, and libcaribou will be your model and controller.</p>
<p>It is better to admit now than later: I will not have the bandwidth to continue to work on Caribou as my time is slowly running out. So&#8230;</p>
<p style="text-align: left;"><a href="http://monotonous.org/wp-content/uploads/2011/08/caribou_recruit.jpg"><img class="size-full wp-image-489 aligncenter" title="We need you in Caribou" src="http://monotonous.org/wp-content/uploads/2011/08/caribou_recruit.jpg" alt="" width="450" height="599" /></a><br />
What we need:</p>
<ul>
<li>A maintainer.</li>
<li>A GTK module, Nohemi is working on this, but we will need similar solutions for other toolkits and fallbacks (XIM?).</li>
<li>Unit tests for the library &#8211; libcaribou is gaining features and getting complex. We need some tests here.</li>
<li>More keyboard layouts/languages.</li>
<li>More function keys for the switch scanning keyboard.</li>
<li>Finer interaction modes:</li>
<ul>
<li>Modifiers, use latching and traditional key gestures with multitouch.</li>
<li>Respect AccessX settings for sticky/slow/bounce keys.</li>
<li>A more hardware-like interaction where keys will auto-repeat when held down.</li>
<li>etc.</li>
<li>&#8230; and automatically choose the right mode for the keyboard without comfusing the user.</li>
</ul>
<li>Revisit the &#8220;X adapter&#8221; and maybe use something more high level.</li>
</ul>
<p style="text-align: left;">Anyway, plenty of exciting work. Are you at the summit, please find me if any of this interests you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/08/07/caribou-week-who-is-paying-attention-anyway-we-need-a-new-maintainer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>I Am Speaking In Portland Next Week</title>
		<link>http://www.monotonous.org/2011/06/15/i-am-speaking-in-portland-next-week/</link>
		<comments>http://www.monotonous.org/2011/06/15/i-am-speaking-in-portland-next-week/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 03:20:48 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=482</guid>
		<description><![CDATA[I am getting really excited about the Open Source Bridge conference in Portland next week. It feels like most Open Source meetups I have attended lately have been on the other end of the Atlantic. It will be nice to be in my element, for once. It will also be nice to meet cool localish [...]]]></description>
			<content:encoded><![CDATA[<p>        <a href="http://opensourcebridge.org/?ref=2011speak125"><img style="float: left; margin-right: 5px;" src="http://opensourcebridge.org/badges/2011/speak125.png" border="0" alt="I'm speaking at Open Source Bridge - June 21–24, 2011 - Portland, OR" /></a>I am getting really excited about the Open Source Bridge conference in Portland next week. It feels like most Open Source meetups I have attended lately have been on the other end of the Atlantic. It will be nice to be in my element, for once. It will also be nice to meet cool localish people. I am planning to train down there and bring my bike. I hope to see you there!</p>
<p>I&#8217;ll be talking about inclusive design.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/06/15/i-am-speaking-in-portland-next-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Caribou Week Whatever</title>
		<link>http://www.monotonous.org/2011/06/07/caribou-week-whatever/</link>
		<comments>http://www.monotonous.org/2011/06/07/caribou-week-whatever/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 20:33:31 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[caribou]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=468</guid>
		<description><![CDATA[Hi again. Since the last time I wrote to you, dear bloggy, I have been working a lot on Caribou, made a trip to welcome Jenny back from Haiti, and crossed the continent by rail. Let&#8217;s talk about Caribou, so much has changed! Antler Antler is the Keyboard UI that is bundled with Caribou. It [...]]]></description>
			<content:encoded><![CDATA[<p>        Hi again.</p>
<p>Since the last time I wrote to you, dear bloggy, I have been working a lot on Caribou, made a trip to welcome Jenny back from Haiti, and crossed the continent by rail.</p>
<p><a href="http://www.flickr.com/photos/66518776@N00/sets/72157626635726069/with/5737930551/"><img class="alignnone" title="Glacier National Park, view from the train" src="http://farm4.static.flickr.com/3330/5737930551_da1ee8bba1.jpg" alt="" width="500" height="375" /></a></p>
<p>Let&#8217;s talk about Caribou, so much has changed!</p>
<h3>Antler</h3>
<p>Antler is the Keyboard UI that is bundled with Caribou. It does not have the pretension of being ready for users any time soon, it is more a sample implementation of a libcaribou keyboard,and a place for me to try stuff out and see if it would work in our platform. You could follow <a title="Nohemi's Blog" href="http://justabovethetagclouds.blogspot.com/">Nohemi</a>&#8216;s progress to catch up on how libcaribou is being used to power the new GNOME Shell keyboard UI. With all that said, Antler is still kinda cool. Here is a crappy video of Antler&#8217;s touch keyboard in action:</p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/y2dJRC-YoIs" frameborder="0" allowfullscreen></iframe></p>
<h3>Scanning Support</h3>
<p>I redesigned Caribou&#8217;s switch support from the ground up with the goal of simple configuration. There is still plenty of more work to do, but after looking at commercial alternatives I feel like we could do a pretty good job. Here is me typing text solely with the right shift key:<br />
<figure id="attachment_474" class="wp-caption alignnone" style="width: 500px"><a href="http://monotonous.org/wp-content/uploads/2011/06/caribou_scanning.gif"><img src="http://monotonous.org/wp-content/uploads/2011/06/caribou_scanning.gif" alt="" title="Caribou Scanning" width="500" height="302" class="size-full wp-image-474" /></a><figcaption class="wp-caption-text">Please excuse the green/red combo</figcaption></figure></p>
<h3>Input Method Support (bye AT-SPI!)</h3>
<p>This is an experimental tangent, that might or might not be worth the time I spend on it. Recently Caribou master received GTK2/GTK3 input modules that perform DBus calls to the Caribou keyboard, and have it show up when and where it is needed. This has proven to be pretty tricky. I will hopefully follow up with a post about this, and some interesting <del datetime="2011-06-07T19:22:36+00:00">hacks</del> innovations surrounding these methods. Future work includes writing similar modules for QT3 and QT4. And having the keyboard emit key activation signals that the modules could use for inserting text instead of using XTest which feels so hackish and wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/06/07/caribou-week-whatever/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Caribou Week 2.98</title>
		<link>http://www.monotonous.org/2011/04/30/caribou-week-2-98/</link>
		<comments>http://www.monotonous.org/2011/04/30/caribou-week-2-98/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 07:59:38 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[caribou]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=466</guid>
		<description><![CDATA[That diagram I drew up earlier this week? I finished implementing it. It is in the badly named &#8216;geometry&#8217; branch. I decided to take a day or two and redo some of the C stuff in Vala, with the hope that it will make life easier when I start adding a bunch of classes and [...]]]></description>
			<content:encoded><![CDATA[<p>        That <a href="http://monotonous.org/2011/04/26/caribou-week-2/">diagram</a> I drew up earlier this week? I finished implementing it. It is in the badly named <a title="Git repository" href="http://git.gnome.org/browse/caribou/log/?h=geometry">&#8216;geometry&#8217; branch</a>. I decided to take a day or two and redo some of the C stuff in Vala, with the hope that it will make life easier when I start adding a bunch of classes and create the DBus bits. I regretted it when I found myself hand editing vapi files and amending GIRs generated by valac, but all in all, I am pretty happy with the choice.</p>
<p>If I could be sentimental for just one paragraph and say that all the hard work folks have put into GObject introspection is finally paying off. Big time. Transitioning between all these different languages at will is really amazing. I think we are entering a perfect storm where we have an <em>extremely</em> competitive developer story. There is really nothing quite like this. Yay.</p>
<p>Since I spent this week shuffling deck chairs, I don&#8217;t have any exciting new visuals. Hopefully soon.</p>
<p><a href="http://www.flickr.com/photos/mostlypictures/5650171601/"><img class="alignnone" title="Sunset in West Seattle" src="http://farm6.static.flickr.com/5230/5650171601_da14a4746c_d.jpg" alt="" width="500" height="333" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/04/30/caribou-week-2-98/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Caribou Week 2</title>
		<link>http://www.monotonous.org/2011/04/26/caribou-week-2/</link>
		<comments>http://www.monotonous.org/2011/04/26/caribou-week-2/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 17:54:46 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[caribou]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=456</guid>
		<description><![CDATA[Hello again. I didn&#8217;t get a chance to talk about my plans for Caribou in this little private SOC I am having here. Well here are two oil rigs is a diagram to illustrate it: Caribou Daemon The daemon, through AT-SPI and any means necessary figures out when a typing task is needed and activates [...]]]></description>
			<content:encoded><![CDATA[<p>        Hello again.</p>
<p>I didn&#8217;t get a chance to talk about my plans for Caribou in this little private SOC I am having here. Well here <del>are two oil rigs</del> is a diagram to illustrate it:</p>
<p><a href="http://monotonous.org/wp-content/uploads/2011/04/caribou-arch.png"><img class="alignnone size-full wp-image-458" title="Caribou Architecture Diagram" src="http://monotonous.org/wp-content/uploads/2011/04/caribou-arch.png" alt="" width="500" height="286" /></a></p>
<dl>
<dt>Caribou Daemon</dt>
<dd>The daemon, through AT-SPI and <a href="http://www.democracynow.org/2010/2/22/malcolm_x_by_any_means_necessary">any means necessary</a> figures out when a typing task is needed and activates the keyboard through DBus. When it does this, it provides as much information as possible regarding the text entry task: The location and size of the text area, the location of the cursor and the type of text expected (plain, email, url, number, full name). The daemon is written in Python, at least for now as Python is equipped with the best AT-SPI client library. The daemon has a relatively small body of code, so porting it to C is a worthy mission for some time in the future.</dd>
<dt>libcaribou</dt>
<dd>This is a library for keyboard implementors. It is written in C/GObject. It handles all common Caribou keyboard tasks such as:</p>
<ul>
<li>De-serializing Caribou keyboard definition files into KOMs (Keyboard Object Model, I just made that up. You are welcome), with respect to the user&#8217;s XKB configuration and keyboard type preferences.</li>
<li>Implementing defined keyboard behavior.</li>
<li>Exposing the keyboard over DBus with interfaces known to the Caribou Daemon.</li>
<li>Implement scanning.</li>
<li>Do all the ugly X tasks, XKB, XTest, you name it. This could be replaces/supplemented with a higher level input method in the future.</li>
</ul>
</dd>
<dt>Keyboard UI</dt>
<dd>This is the view for libcaribou&#8217;s model. It can be written in any language and toolkit that supports GObject introspection. The packaged UI is called <b>Antler</b>, and currently it is less than 200 lines of Python/GTK+. The idea here is that GNOME Shell (or anyone) could easily implement their own keyboard that can take advantage of Caribou&#8217;s facilities. If we pull this off well, keyboards will be advertising capabilities and co-exist, so the appropriate keyboard UI is invoked for the given task.
</dd>
</dl>
<p>Thanks for reading! In a future post I will describe Antler and plans I have for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/04/26/caribou-week-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Caribou Week 1</title>
		<link>http://www.monotonous.org/2011/04/22/caribou-week-1/</link>
		<comments>http://www.monotonous.org/2011/04/22/caribou-week-1/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 01:48:44 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[caribou]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=450</guid>
		<description><![CDATA[Dear blog, I have been spending the last while working exclusively on Caribou, trying to get it out of the miserable shape it is in and make sure that it not only remains relevant, but really shines. I have been doing this for two weeks. But the first week was mostly spent on chasing down [...]]]></description>
			<content:encoded><![CDATA[<p>        Dear blog,</p>
<p>I have been spending the last while working exclusively on Caribou, trying to get it out of the miserable shape it is in and make sure that it not only remains relevant, but really shines. I have been doing this for two weeks. But the first week was mostly spent on chasing down this <a href="https://bugzilla.gnome.org/show_bug.cgi?id=647729">bug</a> in GDK. So I really only got down to business this last week.</p>
<p>Here is a photo:</p>
<p style="text-align: center;"><img class="aligncenter" title="Weather over Port Townsend" src="http://farm6.static.flickr.com/5142/5644079081_a7473371b6.jpg" alt="" width="500" height="333" /></p>
<p>What I have done:</p>
<ul>
<li>Created an introspectable C library, initially to do the keyboard emulation and XKB stuff, but I have grand plans for it. What already landed in master is just simple key synth methods to replace Caribou&#8217;s reliance on python-virtkey which was never approved as GNOME external dependency.</li>
<li>Created an experimental git branch with a revamp of how we do layout in Caribou. Users will no longer choose between layouts, this is inferred from the current keyboard group the X server is set to. If the user will have any choice it will be between geometries, either a more natural geometry similar to what you have on tablets, or a fuller keyboard emulation.</li>
<li>Made &#8220;sub keys&#8221;, all the latest screen keyboards seem to do this, so now Latin accents and Semitic vowels could be easily entered.</li>
</ul>
<p>Ok blog, I have to go. I&#8217;ll need to write a brief roadmap of where I think we should take this, and how Caribou could play a role in GNOME Shell, etc.</p>
<p>Here is a screencast of what Caribou looks like today.</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/TLNQNwM-fjE" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/04/22/caribou-week-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GNOME Accessibility Via JHBuild</title>
		<link>http://www.monotonous.org/2011/01/17/gnome-accessibility-via-jhbuild/</link>
		<comments>http://www.monotonous.org/2011/01/17/gnome-accessibility-via-jhbuild/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 09:23:20 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=429</guid>
		<description><![CDATA[So a couple of weeks ago I ported Caribou to GTK+ 3 and PyGI. I also stopped testing it (and implicitly stopped supporting it) with CORBA AT-SPI. This means that if you want to download and test Caribou, or any GNOME 3.0 accessibility module for that matter, you need to jump through hoops to get [...]]]></description>
			<content:encoded><![CDATA[<p>        So a couple of weeks ago I ported Caribou to GTK+ 3 and PyGI. I also stopped testing it (and implicitly stopped supporting it) with CORBA AT-SPI. This means that if you want to download and test Caribou, or any GNOME 3.0 accessibility module for that matter, you need to jump through hoops to get all the prerequisites. There are two sane options:</p>
<ol>
<li>Install a pre-release distro like Ubuntu 11.04 or Fedora Rawhide. While the Caribou package is not necessarily up to date on these platforms, the prerequisites generally are, so you just need to clone Caribou from git.</li>
<li>Use JHBuild. This is what all serious GNOME testers and developers use. Unfortunately Caribou is not in the current moduleset, and neither are some dependencies. Fortunately, I wrote a small <a href="http://people.gnome.org/~eitani/a11y/gnome-a11y-3.0.modules">moduleset</a> file that takes the shortest path to having a working version of Caribou for your testing needs. It also has Orca, and other modules will be added in the future. This should probably go into upstream jhbuild eventually.</li>
</ol>
<p>Once you have <a href="http://library.gnome.org/devel/jhbuild/stable/getting-started.html.en">installed JHBuild</a>, use the configuration below in your .jhbuildrc, or create .jhbuildrc.a11y, and use jhbuild -f if you have a working jhbuild environment you don&#8217;t want to mess with.</p>
<p><code>build_policy = 'updated'<br />
moduleset = 'http://people.gnome.org/~eitani/a11y/gnome-a11y-3.0.modules'<br />
modules = ['meta-gnome-a11y']<br />
checkoutroot = os.path.expanduser('~/gnome-a11y/source')<br />
prefix = os.path.expanduser('~/gnome-a11y/install')<br />
skip = ['gudev']</code></p>
<p>Next, run <code>jhbuild bootstrap</code> to install build tools, and install some other development libraries that are worth skipping in jhbuild (for now it&#8217;s just gudev).</p>
<p>In Fedora:<br />
<code>yum install libgudev1-devel</code></p>
<p>In Debian/Ubuntu:<br />
<code>apt-get install libgudev-1.0-dev</code></p>
<p>Run <code>jhbuild build</code>, and watch things compile successfully.</p>
<p>Now, the hairy part about GNOME accessibility is the fact that there is an AT-SPI registry that needs to start with the session. Optimally the registry runs on a dedicated accessibility D-Bus bus. First you need to make sure you installed and enabled at-spi2 through your distro. On Ubuntu you might want to install it via <a href="https://launchpad.net/~accessibility-dev/+archive/ppa">PPA</a>, on Fedora 14 it already is in the repositories, search for ﻿at-spi2. Next you need to enable desktop accessibility and D-Bus support:</p>
<p><code>gconftool-2 --set /desktop/gnome/interface/at-spi-corba --type bool false<br />
gconftool-2 --set /desktop/gnome/interface/at-spi-dbus --type bool true<br />
gconftool-2 --set /desktop/gnome/interface/accessibility --type bool true</code></p>
<p>There are a lot of tricks to get the newly built registry to run in your session, but the easiest way is also the most hackish, simply edit <code>/usr/share/dbus-1/services/org.a11y.atspi.Registry.service</code> and substitute <code>/usr</code> with the prefix to your newly installed registry, for example <code>/home/eitan/gnome-a11y/install</code>. Log out and back in again, and you should be using the latest AT-SPI2 registry.</p>
<p>If everything worked, running <code>jhbuild run caribou</code> should bring you the latest version of Caribou.</p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/01/17/gnome-accessibility-via-jhbuild/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Biannual Update</title>
		<link>http://www.monotonous.org/2011/01/07/biannual-update/</link>
		<comments>http://www.monotonous.org/2011/01/07/biannual-update/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 00:18:56 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=417</guid>
		<description><![CDATA[It&#8217;s been almost six months since my last post. So why not just recount all the major things that happened last year. I have been extremely busy, I have been working full time for Collabora, and at the same time managed to always have some project or other deadline I was racing towards. This is [...]]]></description>
			<content:encoded><![CDATA[<p>        It&#8217;s been almost six months since my last post. So why not just recount all the major things that happened last year. I have been extremely busy, I have been working full time for Collabora, and at the same time managed to always have some project or other deadline I was racing towards. This is probably the first time I paused to think about the wild goose chase that was 2010. Here goes:</p>
<h3>Collabora</h3>
<p><img class="alignleft" title="Collabora Logo" src="http://planet.collabora.co.uk/images/collabora.png" alt="" width="154" height="136" />I have been drafting <a href="http://telepathy.freedesktop.org/wiki">Telepathy</a> specs, improving Gabble, drafting more specs, and generally learning a lot. Some (potential) user-visible features include bomb-proof XMPP invisibility, interactive authentication, power saving, communication policy (contact blocking), improved codec-conflict user messages in VoIP and video sessions. And more that I can&#8217;t remember right now. Of course this is on top of the client work that is not public yet. It&#8217;s been a great experience, working with energized smart people like Simon, Will and Sjoerd is fantastic. I would love to head to <a href="http://fosdem.org">FOSDEM</a> this year and see everyone, but I will be turning 30, so probably not.</p>
<h3>GNOME Accessibility Team</h3>
<p><a href="http://monotonous.org/wp-content/uploads/2011/01/gnome_a11y.png"><img class="alignleft size-full wp-image-421" title="gnome_a11y" src="http://monotonous.org/wp-content/uploads/2011/01/gnome_a11y.png" alt="" width="131" height="161" /></a>Early last year Willie Walker&#8217;s Orca team in Oracle was finally liquidated and we were not sure where things were headed. I was working on putting a <a href="http://live.gnome.org/Accessibility/Hackfest2010">hackfest</a> together, giving a <a href="http://people.gnome.org/~eitani/csun2010/">talk</a>, organizing a booth, and generally having a presence in CSUN. This was the first a11y meetup, and I spent time preparing a presentation, dealing with sponsorship and travel, getting resources for the hackfest and booth. Besides saying goodbye to Will at CSUN, it was also a disengagement for me, as my job and other projects were keeping me elsewhere.</p>
<p>Since that hackfest there has been <a href="http://live.gnome.org/Accessibility/HackfestAEGIS2010">another one</a> in Seville, ﻿﻿Alejandro and Joanie have been leading the GNOME a11y team like nobody&#8217;s business. There is even a weekly meeting that I never attend on a regular basis. Things are looking good, it is really humbling. Joanie started doing this work pretty much at the same time I got involved in a11y, and she is still plugging away. Somebody please hire her so she could do this full time.</p>
<p>I also gave a <a href="http://monotonous.org/guadec2010">talk</a> at GUADEC about Universal Design. I learned a lot preparing it, and I hope to continue polishing it.</p>
<h3>Getting Closer</h3>
<p><a href="http://monotonous.org/wp-content/uploads/2011/01/weblogo.png"><img class="alignleft size-full wp-image-422" title="Getting Closer" src="http://monotonous.org/wp-content/uploads/2011/01/weblogo.png" alt="" width="143" height="150" /></a>At some point this year, I found the time to develop an iPhone application, a GIS Django backend and a web-based map authoring tool! The idea of the app is basically aural augmented reality. For example you could walk around in a city neighborhood and listen to past events and stories of different places. The main difference from an audio tour is that you are being led by sound as it gets louder when you approach as opposed to visible landmarks. Of course the technology is the trivial part, the real magic is in the well-produced audio. <a href="http://23rdandunion.org/">Jenny Asarnow</a> has been doing that, and created fantastic soundscapes with stories and music. Full discloser, she is also my sweetheart. <a href="http://getting-closer.org/">Getting Closer</a> was showcased in two events: <a href="http://megapolisfestival.org/blogalogadingdong/">Megapolis</a> in Baltimore and <a href="http://www.thirdcoastfestival.org/">Third Coast</a> in Chicago. We hope to collaborate with more audio producers and find new and exciting uses for this. As for my end, it was fun to step out of my niche Desktop programming and do some mainstream stuff, like iOS, Django and HTML/JS, just to know I could.</p>
<h3>Causing A Nuisance</h3>
<p><a href="http://monotonous.org/wp-content/uploads/2011/01/ga1.jpg"><img class="alignleft size-full wp-image-424" title="ga" src="http://monotonous.org/wp-content/uploads/2011/01/ga1.jpg" alt="" width="160" height="120" /></a>I joined other <a href="http://youngjewishproud.org">young Jewish activists</a> in New Orleans this fall where we successfully agitated the Jewish American community into conversation by interrupting the Jewish General Assembly, the largest annual event surrounding Jewish philanthropy. Disrupting the Israeli prime minister&#8217;s keynote was really just an added bonus. This is one of the most important things I have been part of this year, and I am completely flattened by the amount of positive responses we have gotten for this. I wrote an essay about the experience that I hope it will be published soon. I am looking forward to continuing to be part of this conversation.</p>
<h3>Caribou</h3>
<p><a href="http://monotonous.org/wp-content/uploads/2011/01/IMG_0161.jpg"><img class="alignleft size-full wp-image-426" title="IMG_0161" src="http://monotonous.org/wp-content/uploads/2011/01/IMG_0161.jpg" alt="" width="150" height="225" /></a>After things settled down, and I caught back up on work, I started giving Caribou some desperately needed attention. I asked that it be pulled from the GNOME 2.32 module set in the last cycle because I just never had time to really get it ready for release. No excuses! I spent the holiday slowness porting Caribou to GTK3 and GObject introspection. Let me tell you, it was not trivial! I ended up rewriting whole chunks of Caribou, which was not all that bad. Since taking over maintainership I have done little in doing major changes, and accepted some large patches that I never should have, so it was cleanup time. This whole ordeal did not introduce any user-visible changes besides a new prefs window and stability. Um, I guess that is something. Anyway, I will be merging it to master today. That bad news (and this is what sucks about GNOME 3.0), is that other contributors and testers will need to do a jhbuild dance before being able to run any of this. I have a moduleset I will share with the world that does the minimum required stuff for a development a11y stack, with the new AT-SPI2, Orca, Accerciser and Caribou. There are some amazing artists in the GNOME community, anyone fancy on <a href="https://bugzilla.gnome.org/show_bug.cgi?id=618293">designing an icon</a> for Caribou?</p>
<h3>That&#8217;s Not It!</h3>
<p>I am sure I forgot stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2011/01/07/biannual-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>It&#8217;s By Design</title>
		<link>http://www.monotonous.org/2010/07/23/its-by-design/</link>
		<comments>http://www.monotonous.org/2010/07/23/its-by-design/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 00:35:53 +0000</pubDate>
		<dc:creator>Eitan</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://monotonous.org/?p=391</guid>
		<description><![CDATA[Off to GUADEC tomorrow! I feel relatively prepared, I shaved and packed 4 US-Europe plug adapters. If you forgot yours, don&#8217;t buy one, you could borrow. I also prepared my talk. You should come, it&#8217;s on Wednesday at 11:15 AM in the Seville room. It&#8217;s going to be extremely nontechnical, but I hope you could follow. [...]]]></description>
			<content:encoded><![CDATA[<p>        Off to GUADEC tomorrow! I feel relatively prepared, I shaved and packed 4 US-Europe plug adapters. If you forgot yours, don&#8217;t buy one, you could borrow.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/lisybabe/4706073953/"><img class="size-full wp-image-392 aligncenter" title="I'm supposed to reach the toilet paper how?" src="http://monotonous.org/wp-content/uploads/2010/07/toilet1.jpg" alt="Wheelchair access toilet stall with paper way high up." width="375" height="500" /></a></p>
<p>I also prepared <a href="http://www.guadec.org/index.php/guadec/2010/paper/view/36#">my talk</a>. You should come, it&#8217;s on Wednesday at 11:15 AM in the Seville room. It&#8217;s going to be extremely nontechnical, but I hope you could follow. I don&#8217;t think a single acronym will be mentioned, although I don&#8217;t hold me to that. We will be discussing the software development process, design, things we take for granted every day, and door knobs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.monotonous.org/2010/07/23/its-by-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

