<?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>Picoe Software</title>
	<atom:link href="http://picoe.ca/feed/" rel="self" type="application/rss+xml" />
	<link>http://picoe.ca</link>
	<description></description>
	<lastBuildDate>Mon, 13 May 2013 07:58:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>Introducing Eto.Forms &#8211; A cross platform UI for .NET</title>
		<link>http://picoe.ca/2012/09/11/introducing-eto-forms-a-cross-platform-ui-for-net/</link>
		<comments>http://picoe.ca/2012/09/11/introducing-eto-forms-a-cross-platform-ui-for-net/#comments</comments>
		<pubDate>Tue, 11 Sep 2012 18:24:26 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=2047</guid>
		<description><![CDATA[Creating desktop applications across multiple platforms has always been an elusive thing.  In .NET, there are a few options but none without drawbacks, most notibly is that the application will not look or behave like a native application for that platform, or that there are extra dependencies you must install/package with your app. Using the very [...]]]></description>
				<content:encoded><![CDATA[<p>Creating desktop applications across multiple platforms has always been an elusive thing.  In .NET, there are a few options but none without drawbacks, most notibly is that the application will not look or behave like a native application for that platform, or that there are extra dependencies you must install/package with your app. Using the very excellent <a href="http://mono-project.com" target="_blank">mono framework</a>, one can certainly write C# and .NET code that run across all platforms, including Mac OS X, most flavours of Linux, and Windows. This does not mean, however, that your UI code will work across all platforms &#8211; that is a different beast.</p>
<h3>Existing Frameworks</h3>
<p>A few of the existing options for cross platform UI development (that I&#8217;ve seen people use) in .NET are GTK# and Windows Forms.</p>
<p>I&#8217;ve seen it time and time again; someone trying to wrangle an existing Windows Forms application to work on OS X.  It looks horrible and functions even worse, which is not surprising as mono&#8217;s implementation of Windows Forms is largely unmaintained and does all of its own control rendering.</p>
<p>GTK# does a decent job and is fairly well supported on all platforms, however it too does not look native on OS X and cannot easily be packaged with your app on Windows or OS X.</p>
<h3>Multiple Implementations</h3>
<p>Another alternative to using a cross platform toolkit is to write multiple versions of your UI, and share only the back end logic of your code. This is one of the better ways of getting a real native experience on each platform, but requires a lot of work if your UI is complex or has a lot of UI-specific logic. Ideally, if your interface will be similar across platforms, you should be able to share the code.</p>
<p>Here is a (simple) comparison of UI Frameworks for .NET:</p>
<table border="0">
<caption>.NET Desktop UI Frameworks </caption>
<thead>
<tr>
<th>Framework</th>
<th>Platform Support</th>
<th>Extra dependencies*</th>
<th>Native on all Platforms?</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://www.mono-project.com/GtkSharp">GTK#</a></td>
<td align="center">All</td>
<td align="center">GTK# installer for Windows, Mono framework for OS X</td>
<td align="center">No</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/dd30h2yb.aspx">Windows Forms</a></td>
<td align="center">Windows,<br />
Linux/OSX: poor support</td>
<td align="center">Mono on non-Windows platforms</td>
<td align="center">No</td>
</tr>
<tr>
<td><a href="http://msdn.microsoft.com/en-us/library/aa970268.aspx">WPF</a></td>
<td align="center">Windows Only</td>
<td align="center">N/A</td>
<td align="center">N/A</td>
</tr>
<tr>
<td><a href="http://techbase.kde.org/Development/Languages/Qyoto">Qyoto (QT)</a></td>
<td align="center">All, little usage</td>
<td align="center">QT on non-Linux platforms</td>
<td align="center">No</td>
</tr>
<tr>
<td><a href="http://wxnet.sourceforge.net/">wxWidgets</a></td>
<td align="center">All</td>
<td align="center">wxWidgets on all platforms</td>
<td align="center">Yes</td>
</tr>
<tr>
<td><a href="http://www.mono-project.com/MonoMac">MonoMac</a></td>
<td align="center">OS X Only</td>
<td align="center">None</td>
<td align="center">N/A</td>
</tr>
</tbody>
</table>
<p><sup>*Extra dependencies that are typically not already on each platform</sup></p>
<h3>Enter: Eto.Forms</h3>
<p>Eto.Forms, which is a new BSD licensed (commercial app friendly) open-source UI framework, provides a new way to build desktop applications in .NET.  You can write simple, clean code and then have that code run natively, with no extra dependencies that wouldn&#8217;t already be available on each platform. Instead of choosing a framework above, you can target them all! (or, well a good portion of them.) The platforms that Eto.Forms supports currently are:</p>
<ul>
<li>Windows using <strong>Windows Forms</strong> or <strong>WPF</strong></li>
<li>OS X using <strong>MonoMac</strong> (creates an .app bundle with no additional dependencies)</li>
<li>Linux using <strong>GTK#</strong> (which come pre-installed or easily installed on popular distros such as Ubuntu and OpenSUSE)</li>
</ul>
<div>Let&#8217;s take a quick look at the Eto.Test application on each of these:</div>
<div>

<a href='http://picoe.ca/2012/09/11/introducing-eto-forms-a-cross-platform-ui-for-net/eto-test-os-x/' title='Eto.Test - OS X'><img data-attachment-id="2294" data-orig-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-OS-X.png" data-orig-size="902,730" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Eto.Test &#8211; OS X" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-OS-X-300x242.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-OS-X.png" width="150" height="121" src="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-OS-X-150x121.png" class="attachment-thumbnail" alt="OS X using MonoMac platform" /></a>
<a href='http://picoe.ca/2012/09/11/introducing-eto-forms-a-cross-platform-ui-for-net/eto-test-gtk/' title='Eto.Test - GTK'><img data-attachment-id="2295" data-orig-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-GTK.png" data-orig-size="902,717" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Eto.Test &#8211; GTK" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-GTK-300x238.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-GTK.png" width="150" height="119" src="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-GTK-150x119.png" class="attachment-thumbnail" alt="Ubuntu using GTK# platform" /></a>
<a href='http://picoe.ca/2012/09/11/introducing-eto-forms-a-cross-platform-ui-for-net/eto-test-wpf/' title='Eto.Test - WPF'><img data-attachment-id="2296" data-orig-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-WPF.png" data-orig-size="944,764" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Eto.Test &#8211; WPF" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-WPF-300x242.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-WPF.png" width="150" height="121" src="http://picoe.ca/wp-content/uploads/2012/09/Eto.Test-WPF-150x121.png" class="attachment-thumbnail" alt="Windows using WPF platform" /></a>

</div>
<h3>Use Native Power! Without the headache.</h3>
<p>A typical drawback of using a cross platform framework is that you can&#8217;t necessarily take advantage of each platform&#8217;s capabilities. Since Eto.Forms is just an abstraction layer, all of the power of each platform can still be fully utilized if need be, by way of its built-in <a href="https://github.com/picoe/Eto/wiki/Styling">styles</a> mechanism, by <a href="https://github.com/picoe/Eto/wiki/Custom-Platform-Controls">creating your own abstracted controls</a>, or by wrapping your Eto.Forms shared code inside of an existing native app.</p>
<h3>What does it all mean?</h3>
<p>Of course, no framework is the be-all end-all of frameworks.  Eto.Forms is relatively new, thus there will be use cases that it does not support yet.  Being open source you have the advantage that you can add any functionality as required, though a <a href="https://github.com/picoe/Eto/wiki/Controls" target="_blank">full compliment of typical controls</a> are already fully functional on all platforms. This means you can create apps that look and work great on all platforms, with one set of code.</p>
<h3>Start using &amp; contributing!</h3>
<p>Check out the Eto.Forms github page and wiki here: <a href="https://github.com/picoe/Eto">https://github.com/picoe/Eto</a>. You can find support for Eto.Forms on <a href="http://groups.google.com/group/eto-forms">google groups</a>, or chat with other Eto.Forms developers on <a href="http://chat.mibbit.com/?server=irc.gnome.org&amp;channel=%23eto.forms">IRC</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2012/09/11/introducing-eto-forms-a-cross-platform-ui-for-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing User Interfaces using Json</title>
		<link>http://picoe.ca/2012/09/11/designing-user-interfaces-using-json/</link>
		<comments>http://picoe.ca/2012/09/11/designing-user-interfaces-using-json/#comments</comments>
		<pubDate>Tue, 11 Sep 2012 09:10:25 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=2259</guid>
		<description><![CDATA[Introduction to using Json to define your user interface in Eto.Forms]]></description>
				<content:encoded><![CDATA[<p>User interface API&#8217;s are sometimes great, and if done correctly, they can be used directly from code without being too verbose. Even then, separating your back-end code from the UI design keeps your code clean, and encourages better overall architecture.  Larger teams can also leverage different skill sets for designers vs. developers.</p>
<p>Typically, the user interface would be stored in a machine/human readable format. This makes it easier to save/load the interface using tooling/designers, or to manually hand-write via a text editor. Some formats that would be good candidates would be XML (e.g. Xaml or a custom schema), or Json.</p>
<p>With the latest version of <a href="https://github.com/picoe/Eto">Eto.Forms</a> in github, you can now design user interfaces for <strong>WinForms</strong>, <strong>WPF</strong>, <strong>GTK#</strong>, <strong>iOS/MonoTouch</strong>, and <strong>Cocoa/MonoMac</strong> with a json definition. Since Json is much less verbose yet very flexible, it was a great choice. <a href="http://json.codeplex.com">JSON.NET</a> is one of the best .NET libraries to handle serializing/deserializing Json data to and from .NET objects, which is what I chose to use for this purpose.</p>
<p>An example of using json to build UI in Eto.Forms is quite simple, yet elegant:</p>
<pre class="brush: javascript; tab-size: 2">{
	Title: "My Form",
	Layout: {
		$type: "DynamicLayout",
		Rows: [
			{ $type: "TextBox", $name: "myTextBox" },
			null, /* expanding space */
			{ $type: "Button", Text: "Click Me!", Click: "HandleClick" }
		]
	}
}</pre>
<p>You can easily use this json with a class like so:</p>
<pre class="brush: c#; tab-size: 2">public class MyForm : Form
{
	protected TextBox myTextBox;

	public MyForm ()
	{
		Eto.Json.JsonReader.Load (this);

		// use myTextBox here to set initial values or bind to a model object
	}

	protected HandleClick (object sender, EventArgs e)
	{
		MessageBox.Show ("You clicked the button!");
	}

}</pre>
<p>This yields an interface that looks like so:</p>

<a href='http://picoe.ca/2012/09/11/designing-user-interfaces-using-json/screen-shot-2012-09-11-at-1-43-18-am/' title='Eto.Forms Sample - OS X'><img data-attachment-id="2273" data-orig-file="http://picoe.ca/wp-content/uploads/2012/09/Screen-Shot-2012-09-11-at-1.43.18-AM-e1347353452639.png" data-orig-size="225,101" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Eto.Forms Sample &#8211; OS X" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/09/Screen-Shot-2012-09-11-at-1.43.18-AM-e1347353452639.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/09/Screen-Shot-2012-09-11-at-1.43.18-AM-e1347353452639.png" width="150" height="67" src="http://picoe.ca/wp-content/uploads/2012/09/Screen-Shot-2012-09-11-at-1.43.18-AM-e1347353452639-150x67.png" class="attachment-thumbnail" alt="OS X using MonoMac platform" /></a>
<a href='http://picoe.ca/2012/09/11/designing-user-interfaces-using-json/eto-forms-simple-windows/' title='Eto.Forms Sample - Windows'><img data-attachment-id="2275" data-orig-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Simple-Windows.png" data-orig-size="212,114" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Eto.Forms Sample &#8211; Windows" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Simple-Windows.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Simple-Windows.png" width="150" height="80" src="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Simple-Windows-150x80.png" class="attachment-thumbnail" alt="Windows using WPF platform" /></a>
<a href='http://picoe.ca/2012/09/11/designing-user-interfaces-using-json/eto-forms-sample-gtk/' title='Eto.Forms Sample - GTK'><img data-attachment-id="2287" data-orig-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Sample-GTK.png" data-orig-size="231,122" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Eto.Forms Sample &#8211; GTK" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Sample-GTK.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Sample-GTK.png" width="150" height="79" src="http://picoe.ca/wp-content/uploads/2012/09/Eto.Forms-Sample-GTK-150x79.png" class="attachment-thumbnail" alt="Linux using GTK# platform" /></a>

<p>This loads the MyForm.json from the same assembly/namespace as the MyForm class. There are many other options of where and how to load the json (e.g. you can use a stream to load the json from database, external file, etc). You can also load the json without the backing class &#8211; though with the backing class, it allows you to hookup events and member variables to instances of the created controls.</p>
<p>An example of a more complex form can be found in the Eto.Test application <a href="https://github.com/picoe/Eto/blob/master/Source/Eto.Test/Eto.Test/Sections/Serialization/Json/Test.json">here</a>.</p>
<p>To try it out, clone the Eto.Forms github repository <a href="https://github.com/picoe/Eto">here</a> and run the Eto.Test application.  Enjoy!</p>
<p>Note that Eto.Forms does indeed <a href="https://github.com/picoe/Eto/blob/master/Source/Eto.Test/Eto.Test/Sections/Serialization/Xaml/Test.xaml">support xaml</a> as well (in case you were wondering). It, however, is not as well supported on all platforms (e.g. on mobile devices or mono &lt; 2.11).</p>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2012/09/11/designing-user-interfaces-using-json/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nibless MonoMac</title>
		<link>http://picoe.ca/2012/05/15/nibless-monomac/</link>
		<comments>http://picoe.ca/2012/05/15/nibless-monomac/#comments</comments>
		<pubDate>Tue, 15 May 2012 18:14:33 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=2199</guid>
		<description><![CDATA[Many developers do enjoy the use of a visual designer when building apps.  However, there are many like myself that prefer to build GUI applications through code alone. I use this little trick for the Eto.Forms cross platform UI framework. The problem with doing this is Cocoa (and thus MonoMac) typically requires at least one [...]]]></description>
				<content:encoded><![CDATA[<p>Many developers do enjoy the use of a visual designer when building apps.  However, there are many like myself that prefer to build GUI applications through code alone. I use this little trick for the <a href="https://github.com/picoe/Eto">Eto.Forms</a> cross platform UI framework.</p>
<p>The problem with doing this is Cocoa (and thus MonoMac) typically requires at least one xib for your main window and menu. If you do not provide one, your application actually loads the nib for Finder.app (why??), which causes problems. Thanks to some teachings from <a href="http://lapcatsoftware.com/blog/2007/11/25/working-without-a-nib-part-6-working-without-a-xib/">this post here</a>, we can translate that for use in MonoMac.</p>
<p>Here&#8217;s a little excerpt from the Eto.Forms code that shows the magic needed to create a nibless monomac project. What this does it skip loading the nib if the filePath to the nib is empty, which is what happens when you start an app with no nib defined in NSMainNibFile.</p>
<pre class="brush: c#">public static class EtoBundle
{
	static IntPtr selEtoLoadNibNamed = Selector.GetHandle ("etoLoadNibNamed:owner:");
	static IntPtr selLoadNibNamed = Selector.GetHandle ("loadNibNamed:owner:");

	public static void Init ()
	{
		var bundleClass = ObjCExtensions.GetMetaClass ("NSBundle");
		bundleClass.AddMethod (selEtoLoadNibNamed, new Func&lt;IntPtr, IntPtr, IntPtr, IntPtr, bool&gt; (EtoLoadNibNamed), "B@:@@");
		bundleClass.ExchangeMethod (selLoadNibNamed, selEtoLoadNibNamed);
	}

	static bool EtoLoadNibNamed (IntPtr self, IntPtr sel, IntPtr filePath, IntPtr owner)
	{
		var str = new NSString (filePath);
		if (str.Length == 0)
			return true;
		return Messaging.bool_objc_msgSend_IntPtr_IntPtr (self, selEtoLoadNibNamed, filePath, owner);
	}
}</pre>
<p><em>Note: This uses some code from <a href="https://github.com/picoe/Eto/blob/master/Source/Eto.Platform.Mac/ObjCExtensions.cs">ObjCExtensions</a> to perform its magic, which are just wrappers to some objective-c functions.</em></p>
<p>Now you just call EtoBundle.Init() right after your NSApplication.Init(), and be sure to set your app delegate manually:</p>
<pre class="brush: c#">NSApplication.Init();
EtoBundle.Init();
NSApplication.SharedApplication.Delegate = new MyAppDelegate ();
NSApplication.Main(args);</pre>
<p>.. and finally, in your Info.plist, just delete the Main nib file name (NSMainNibFile).</p>
<p>A full working sample application can be downloaded <a href="http://download.picoe.ca/development/monomac/MonoMac-Nibless.zip">here</a>.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2012/05/15/nibless-monomac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PabloDraw 3.1</title>
		<link>http://picoe.ca/2012/04/10/pablodraw-3-1/</link>
		<comments>http://picoe.ca/2012/04/10/pablodraw-3-1/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 02:30:31 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=2162</guid>
		<description><![CDATA[PabloDraw v3.1 is finally out! Draw ansi and ascii with your mouse. Tons of new fonts. Save ansi with 24-bit colour.]]></description>
				<content:encoded><![CDATA[<p>PabloDraw v3.1 is finally out! Some of the new features include:</p>
<ul>
<li>Draw ANSI and ASCII with your mouse</li>
<li>Load &amp; Save 24-bit colour ANSI files</li>
<li>New configurable ANSI/ASCII brush</li>
<li>New Colour brush</li>
<li>New text drawing tools: Pencil, Line, Circle, Box, Ink Dropper</li>
<li>Many Amiga and DOS fonts added, in multiple sizes</li>
<li>Bug fixes</li>
</ul>
<p>Download it <a title="PabloDraw v3.1" href="http://picoe.ca/products/pablodraw/">here</a></p>
<h2>Screenshots</h2>

<a href='http://picoe.ca/2012/04/10/pablodraw-3-1/pablodraw1-2/' title='PabloDraw1'><img data-attachment-id="2165" data-orig-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw1.png" data-orig-size="1280,800" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="PabloDraw1" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw1-300x187.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw1-1024x640.png" width="150" height="93" src="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw1-150x93.png" class="attachment-thumbnail" alt="PabloDraw1" /></a>
<a href='http://picoe.ca/2012/04/10/pablodraw-3-1/pablodraw2-2/' title='PabloDraw2'><img data-attachment-id="2166" data-orig-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw2-e1355533185958.png" data-orig-size="1049,780" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="PabloDraw2" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw2-e1355533185958-300x223.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw2-e1355533185958-1024x761.png" width="150" height="111" src="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw2-e1355533185958-150x111.png" class="attachment-thumbnail" alt="Chat with friends" /></a>
<a href='http://picoe.ca/2012/04/10/pablodraw-3-1/pablodraw3-2/' title='PabloDraw3'><img data-attachment-id="2167" data-orig-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw3-e1355533423106.png" data-orig-size="1046,780" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="PabloDraw3" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw3-e1355533423106-300x223.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw3-e1355533423106-1024x763.png" width="150" height="111" src="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw3-e1355533423106-150x111.png" class="attachment-thumbnail" alt="RIPscrip Editing!" /></a>
<a href='http://picoe.ca/2012/04/10/pablodraw-3-1/pablodraw4-2/' title='PabloDraw4'><img data-attachment-id="2168" data-orig-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw4-e1355533253179.png" data-orig-size="1046,780" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="PabloDraw4" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw4-e1355533253179-300x223.png" data-large-file="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw4-e1355533253179-1024x763.png" width="150" height="111" src="http://picoe.ca/wp-content/uploads/2012/04/PabloDraw4-e1355533253179-150x111.png" class="attachment-thumbnail" alt="Live preview while editing" /></a>

]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2012/04/10/pablodraw-3-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Setting environment variables with a MonoMac application</title>
		<link>http://picoe.ca/2011/11/10/setting-environment-variables-with-a-monomac-application/</link>
		<comments>http://picoe.ca/2011/11/10/setting-environment-variables-with-a-monomac-application/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 19:41:55 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=1664</guid>
		<description><![CDATA[When creating a MonoMac application, there&#8217;s sometimes a need to specify environment variables in the context of your application.  A few key environment variables specific to a MonoMac application: MONO_IOMAP &#8211; case insensitivity behaviour for file i/o. (more info) MONO_OPTIONS &#8211;  options to pass to the mono runtime (e.g. &#8211;gc=sgen) The way to do this [...]]]></description>
				<content:encoded><![CDATA[<p>When creating a MonoMac application, there&#8217;s sometimes a need to specify environment variables in the context of your application.  A few key environment variables specific to a MonoMac application:</p>
<ul>
<li>MONO_IOMAP &#8211; case insensitivity behaviour for file i/o. (<a href="http://www.mono-project.com/IOMap">more info</a>)</li>
<li>MONO_OPTIONS &#8211;  options to pass to the mono runtime (e.g. &#8211;gc=sgen)</li>
</ul>
<p>The way to do this is to put these into your Info.plist for you application, under an LSEnvironment dictionary key.  This is mentioned <a href="http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html#//apple_ref/doc/uid/20002093-113982" target="_blank">in Apple&#8217;s documentation</a>.</p>
<p>Steps:</p>
<ol>
<li>Open your Info.plist in MonoDevelop</li>
<li>Add a new top-level entry called &#8220;LSEnvironment&#8221;</li>
<li>Change its type to Dictionary</li>
<li>Add a child entry for each environment variable you wish to set</li>
</ol>
<div>You should end up with something like this:</div>
<p><img class="alignnone size-full wp-image-1668" title="MonoMac-LSEnvironment" src="http://picoe.ca/wp-content/uploads/2011/11/MonoMac-LSEnvironment.png" alt="" width="405" height="67" /></p>
<p><strong>Update:</strong> Make sure you do a clean of your project after updating your info.plist, otherwise monodevelop won&#8217;t copy the new changes over.</p>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2011/11/10/setting-environment-variables-with-a-monomac-application/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ezFeeds News Reader 2.0</title>
		<link>http://picoe.ca/2010/10/24/ezfeeds-2-0/</link>
		<comments>http://picoe.ca/2010/10/24/ezfeeds-2-0/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 23:39:24 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=513</guid>
		<description><![CDATA[ezFeeds has a major new update! Version 2.0 brings many new features, many based on user feedback. It took a bit longer than anticipated to get this release out, but it should be well worth it! Most notably, ezFeeds is now a universal application and has a beautiful new interface designed for iPad! Other new [...]]]></description>
				<content:encoded><![CDATA[<p>ezFeeds has a major new update!  Version 2.0 brings many new features, many based on user feedback.  It took a bit longer than anticipated to get this release out, but it should be well worth it!</p>
<p>Most notably, ezFeeds is now a universal application and has a beautiful new interface designed for iPad!</p>
<p>Other new features:</p>
<ul>
<li>Image caching for offline reading</li>
<li>Improved accessibility support</li>
<li>Feed favicons</li>
<li>Many performance &amp; memory optimizations</li>
<li>Show starred, unread, and shared for folders and feeds</li>
<li>Added Email Link and Copy Link/Article article actions</li>
<li>Options to show/hide article actions</li>
<li>Option to synchronize current feed/folder only</li>
<li>Find recommended feeds based on your current subscriptions</li>
<li>Can now cancel synchronization</li>
<li>More enhancements</li>
<li>Fixed some minor bugs</li>
</ul>
<p>I hope you enjoy it!</p>
<p>Here are some screenshots of the iPad version:</p>
<style type="text/css">
.blah { overflow-x:auto; margin: 20px; white-space: nowrap; vertical-align: top; }
.blah img { padding: 0px; margin: 10px; -webkit-box-shadow: rgba(0, 0, 0, 0.296875) 0px 3px 5px; vertical-align: top; }
.blah #gallery-1 .gallery-item, .blah #gallery-1 .gallery-icon { display:inline; float:none; }
.blah #gallery-1 .gallery-item { width: auto; margin: 0; }
.classic-wptouch-bg .blah #gallery-1 .gallery-item { display: block; }
.classic-wptouch-bg .blah { overflow-x: hidden; margin: 0px; }
.classic-wptouch-bg .blah img { max-width: 90%; }
</style>
<div class="blah">

<a href='http://picoe.ca/2010/10/24/ezfeeds-2-0/001-top-folder-2/' title='001 Top Folder'><img data-attachment-id="517" data-orig-file="http://picoe.ca/wp-content/uploads/2010/10/001-Top-Folder.png" data-orig-size="1024,768" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="001 Top Folder" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2010/10/001-Top-Folder-300x225.png" data-large-file="http://picoe.ca/wp-content/uploads/2010/10/001-Top-Folder.png" width="300" height="225" src="http://picoe.ca/wp-content/uploads/2010/10/001-Top-Folder-300x225.png" class="attachment-medium" alt="001 Top Folder" /></a>
<a href='http://picoe.ca/2010/10/24/ezfeeds-2-0/002-article/' title='002 Article'><img data-attachment-id="518" data-orig-file="http://picoe.ca/wp-content/uploads/2010/10/002-Article.png" data-orig-size="1024,768" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="002 Article" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2010/10/002-Article-300x225.png" data-large-file="http://picoe.ca/wp-content/uploads/2010/10/002-Article.png" width="300" height="225" src="http://picoe.ca/wp-content/uploads/2010/10/002-Article-300x225.png" class="attachment-medium" alt="002 Article" /></a>
<a href='http://picoe.ca/2010/10/24/ezfeeds-2-0/003-portrait/' title='003 Portrait'><img data-attachment-id="519" data-orig-file="http://picoe.ca/wp-content/uploads/2010/10/003-Portrait.png" data-orig-size="768,1024" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="003 Portrait" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2010/10/003-Portrait-225x300.png" data-large-file="http://picoe.ca/wp-content/uploads/2010/10/003-Portrait.png" width="225" height="300" src="http://picoe.ca/wp-content/uploads/2010/10/003-Portrait-225x300.png" class="attachment-medium" alt="003 Portrait" /></a>
<a href='http://picoe.ca/2010/10/24/ezfeeds-2-0/004-add-feed/' title='004 Add Feed'><img data-attachment-id="520" data-orig-file="http://picoe.ca/wp-content/uploads/2010/10/004-Add-Feed.png" data-orig-size="1024,768" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="004 Add Feed" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2010/10/004-Add-Feed-300x225.png" data-large-file="http://picoe.ca/wp-content/uploads/2010/10/004-Add-Feed.png" width="300" height="225" src="http://picoe.ca/wp-content/uploads/2010/10/004-Add-Feed-300x225.png" class="attachment-medium" alt="004 Add Feed" /></a>
<a href='http://picoe.ca/2010/10/24/ezfeeds-2-0/005-actions/' title='005 Actions'><img data-attachment-id="521" data-orig-file="http://picoe.ca/wp-content/uploads/2010/10/005-Actions.png" data-orig-size="1024,768" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="005 Actions" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2010/10/005-Actions-300x225.png" data-large-file="http://picoe.ca/wp-content/uploads/2010/10/005-Actions.png" width="300" height="225" src="http://picoe.ca/wp-content/uploads/2010/10/005-Actions-300x225.png" class="attachment-medium" alt="005 Actions" /></a>

</div>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2010/10/24/ezfeeds-2-0/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>ezFeeds update 1.1</title>
		<link>http://picoe.ca/2010/07/20/ezfeeds-update-1-1/</link>
		<comments>http://picoe.ca/2010/07/20/ezfeeds-update-1-1/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 05:26:40 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=475</guid>
		<description><![CDATA[ezFeeds has it's first update!  Tons of new features, including iOS 4 multitasking, high resolution graphics for the iPhone 4 retina display!]]></description>
				<content:encoded><![CDATA[<p>ezFeeds has it&#8217;s first update!  Tons of new features, including iOS 4 multitasking, high resolution graphics for the iPhone 4 retina display, Facebook, ReadItLater, and Instapaper support!</p>
<p>Hope you all like it!  It should be available in the App Store shortly!</p>
<p>Edit: It is now available!</p>
<h1>What&#8217;s new?</h1>
<p>- Updated for iOS 4 compatibility and high resolution graphics<br />
- Support for Multitasking and synchronizing in background<br />
- Post links to Facebook, ReadItLater, and Instapaper<br />
- Google Mobilizer &#038; Instapaper Mobilizer support<br />
- Added Shared items syncing<br />
- Improved reading visual style<br />
- New graphical Actions menu<br />
- Setting to specify your own Bit.ly account<br />
- Setting for article text size<br />
- Setting to open article/links with original, google mobilizer, or instapaper mobilizer by default<br />
- Open links in Safari (instead of built-in browser)<br />
- Setting to auto-sync after all articles are read<br />
- Settings to specify how long Starred and Shared items are kept<br />
- Option to enter descriptions for Instapaper<br />
- Fixed a few synchronization bugs with folder order</p>

<a href='http://picoe.ca/2010/07/20/ezfeeds-update-1-1/002-view-item/' title='002 View Item'><img data-attachment-id="483" data-orig-file="http://picoe.ca/wp-content/uploads/2010/07/002-View-Item.png" data-orig-size="320,480" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="002 View Item" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2010/07/002-View-Item-200x300.png" data-large-file="http://picoe.ca/wp-content/uploads/2010/07/002-View-Item.png" width="200" height="300" src="http://picoe.ca/wp-content/uploads/2010/07/002-View-Item-200x300.png" class="attachment-medium" alt="002 View Item" /></a>
<a href='http://picoe.ca/2010/07/20/ezfeeds-update-1-1/003-actions/' title='003 Actions'><img data-attachment-id="478" data-orig-file="http://picoe.ca/wp-content/uploads/2010/07/003-Actions.png" data-orig-size="320,480" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="003 Actions" data-image-description="" data-medium-file="http://picoe.ca/wp-content/uploads/2010/07/003-Actions-200x300.png" data-large-file="http://picoe.ca/wp-content/uploads/2010/07/003-Actions.png" width="200" height="300" src="http://picoe.ca/wp-content/uploads/2010/07/003-Actions-200x300.png" class="attachment-medium" alt="003 Actions" /></a>

]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2010/07/20/ezfeeds-update-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ezFeeds submitted to the App Store</title>
		<link>http://picoe.ca/2010/05/11/ezfeeds-submitted/</link>
		<comments>http://picoe.ca/2010/05/11/ezfeeds-submitted/#comments</comments>
		<pubDate>Tue, 11 May 2010 14:55:37 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=432</guid>
		<description><![CDATA[A new Google Reader client for the iPhone and iPod Touch has been submitted to the App Store for review.]]></description>
				<content:encoded><![CDATA[<p>I am pleased to announce that a new Google Reader client for the iPhone and iPod Touch has been submitted to the App Store for review!   You ask, do we really need another one?  well, if you&#8217;ve tried any of them, then you probably already know the answer!</p>
<p>ezFeeds has been in development for about five months, and was born to provide a <em>fully featured</em> Google Reader (news reader) client, opposed to a partial, slow, or read-only variation.</p>
<p>Some of the key goals that were taken into consideration when building ezFeeds:</p>
<ul>
<li>Must be <strong>FAST</strong>, even when you have subscribed to tons of feeds</li>
<li>Reading must be <strong>EASY</strong>, which is why there is a &#8216;Next Unread&#8217; button.  This allows you to read in the same order of your feeds.  Want to read all items chronologically?  Just tap on the Unread folder &#8211; it&#8217;ll show arrows in the bottom toolbar instead of the Next Unread button.</li>
<li>Provide <strong>FULL</strong> synchronization of feeds, folders, and their order (e.g. drag and drop feed order in google reader will sync to ezFeeds and vise-versa)</li>
<li>Allow users to <strong>DISCOVER</strong> feeds on the device, with global and user feeds on popular feed sources such as Google Blog Search, Google News, Twitter, eBay, Myspace, Flickr, Youtube, Blogger, del.icio.us, WordPress.com, and even specify a custom URL.</li>
</ul>
<p>Here&#8217;s what it looks like:</p>
<p style="text-align: center;"><a href="http://picoe.ca/wp-content/uploads/2010/04/001-Top-Folder.png"><img class="aligncenter size-full wp-image-395" title="Top Folder" src="http://picoe.ca/wp-content/uploads/2010/04/001-Top-Folder.png" alt="" width="192" height="288" /></a></p>
<p>Adding a feed:</p>
<p style="text-align: center;"><a href="http://picoe.ca/wp-content/uploads/2010/04/002-Add-Feed.png"><img class="aligncenter size-full wp-image-396" title="Add Feed" src="http://picoe.ca/wp-content/uploads/2010/04/002-Add-Feed.png" alt="" width="192" height="288" /></a></p>
<p><a href="http://picoe.ca/products/ezfeeds">Click here </a>for a list of features, details, and more screenshots.</p>
<p>There are a few things that didn&#8217;t make it into the first release, since they are not needed for a great reading experience, but are coming:</p>
<ul>
<li>Shared &amp; Notes (do people really use these anyway?)</li>
<li>Posting to Facebook, Read It Later, and Instapaper</li>
<li>Optionally Cache Images for full offline reading</li>
<li>Remember last position</li>
<li>Favicons</li>
<li>Possible iPad / OS X Version</li>
<li>More yummy tidbits that I&#8217;ll share if you&#8217;re nice!</li>
</ul>
<p>I&#8217;m not too sure how long it&#8217;ll take to be available on the App Store, but I will let everyone know when it is!</p>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2010/05/11/ezfeeds-submitted/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>PabloDraw videos</title>
		<link>http://picoe.ca/2010/03/31/pablodraw-videos/</link>
		<comments>http://picoe.ca/2010/03/31/pablodraw-videos/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 22:44:21 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://picoe.ca/?p=346</guid>
		<description><![CDATA[Linked to some excellent youtube videos of the art you can create using PabloDraw. I am still amazed at what kind of art can be created in this medium.]]></description>
				<content:encoded><![CDATA[<p>Linked to some excellent youtube videos of the art you can create using <a href="/products/pablodraw">PabloDraw</a>.  I am still amazed at what kind of art can be created in this medium.</p>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2010/03/31/pablodraw-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Picoe Website redesign</title>
		<link>http://picoe.ca/2010/01/05/picoe-website-redesign/</link>
		<comments>http://picoe.ca/2010/01/05/picoe-website-redesign/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 02:27:30 +0000</pubDate>
		<dc:creator>Curtis Wensley</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://wordpress.picoe.ca/?p=27</guid>
		<description><![CDATA[We are pleased to announce that we have updated our site to WordPress, which is a great, simple CMS.  This will accommodate our growth and has much better community support.]]></description>
				<content:encoded><![CDATA[<p>We are pleased to announce that we have updated our site to WordPress, which is a great, simple CMS.  This will accommodate our growth and has much better community support.</p>
<p>Previously, we were using <a href="http://www.mojoportal.com/">mojoPortal</a>, which is an excellent ASP.NET based CMS, however compatibility with <a href="http://mono-project.com">mono</a> was a little lacking.</p>
<p><a href="http://www.wordpress.org">WordPress</a> was chosen as it provides a huge community, lots of themes and plugins, and works seamlessly with OS X Server. The installation took only about 5 minutes, and was extremely straight forward (this means I didn&#8217;t read any documentation).</p>
]]></content:encoded>
			<wfw:commentRss>http://picoe.ca/2010/01/05/picoe-website-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
