<?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>Eric Wendelin&#039;s Blog &#187; JavaFX</title>
	<atom:link href="http://eriwen.com/category/javafx/feed/" rel="self" type="application/rss+xml" />
	<link>http://eriwen.com</link>
	<description>Programming productively with open-source tools</description>
	<lastBuildDate>Thu, 26 Apr 2012 18:48:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>What and why: the tech behind Cheqlist</title>
		<link>http://eriwen.com/programming/the-tech-behind-cheqlist/</link>
		<comments>http://eriwen.com/programming/the-tech-behind-cheqlist/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 11:00:04 +0000</pubDate>
		<dc:creator>Eric Wendelin</dc:creator>
				<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://eriwen.com/?p=962</guid>
		<description><![CDATA[After <a href="http://eriwen.com/tools/cheqlist-remember-the-milk-app/" title="Cheqlist: A free, open-source desktop app for Remember The Milk">launching Cheqlist</a> last week, I felt compelled to give you a peek under the covers to see the tools involved and why I chose certain technologies. I hope to give you insight for times where you decide what to work with.

<h2>Getting started</h2>
Before I could really start working on a major project, I had to choose a VCS. I went with <a href="http://mercurial.selenic.com/wiki/">mercurial</a> based on a friend's insistence that I introduce myself to a <acronym title="Distributed Version Control System">DVCS</acronym> (specifically Hg) immediately. I knew what it was but never took time to try it myself. <strong>I am very glad I tried it.</strong>

Looking back, though, I think <strong><a href="http://git-scm.com/">git</a> may have been a (very slightly) better choice</strong>. Regardless, mercurial has served me very well and I strongly encourage anyone who hasn't given a DVCS a spin to do so! <a href="http://eriwen.com/programming/the-tech-behind-cheqlist/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related posts:<ol><li><a href='http://eriwen.com/tools/cheqlist-remember-the-milk-app/' rel='bookmark' title='Cheqlist: A free, open-source desktop app for Remember The Milk'>Cheqlist: A free, open-source desktop app for Remember The Milk</a></li>
<li><a href='http://eriwen.com/groovy/introducing-groovyrtm/' rel='bookmark' title='Introducing GroovyRTM: A Groovier way to Remember The Milk'>Introducing GroovyRTM: A Groovier way to Remember The Milk</a></li>
<li><a href='http://eriwen.com/interview/andres-almiray/' rel='bookmark' title='Interview with Andres Almiray'>Interview with Andres Almiray</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://eriwen.com/tools/cheqlist-remember-the-milk-app/" title="Cheqlist: A free, open-source desktop app for Remember The Milk">launching Cheqlist</a> last week, I felt compelled to give you a peek under the covers to see the tools involved and why I chose certain technologies. I hope to give you insight for times where you decide what to work with.</p>
<h2>Getting started</h2>
<p>Before I could really start working on a major project, I had to choose a VCS. I went with <a href="http://mercurial.selenic.com/wiki/">mercurial</a> based on a friend&#8217;s insistence that I introduce myself to a <abbr title="Distributed Version Control System">DVCS</abbr> (specifically Hg) immediately. I knew what it was but never took time to try it myself. <strong>I am very glad I tried it.</strong></p>
<p>Looking back, though, I think <strong><a href="http://git-scm.com/">git</a> may have been a (very slightly) better choice</strong>. Regardless, mercurial has served me very well and I strongly encourage anyone who hasn&#8217;t given a DVCS a spin to do so!</p>
<p>After getting some code and tests written, it was time to pick a project host. I chose <a href="http://kenai.com">kenai.com</a> because it integrated well with NetBeans (which is THE <acronym title="Integrated Development Environment">IDE</acronym> for JavaFX), it supported mercurial, and I like the direction Kenai is taking.</p>
<h2>Communicating with Remember The Milk: GroovyRTM</h2>
<p>RTM has a <a href="http://www.rememberthemilk.com/services/api/">REST API</a> that you can use to interact with the service. I decided to start by creating my own Groovy consumer of that API that would do the heavy lifting of interacting with <a href="http://www.rememberthemilk.com/">Remember The Milk</a> so I could keep my options open when looking for a UI technology. </p>
<p><img src="http://eriwen-cdn.s3.amazonaws.com/images/groovyrtm.png" style="margin: 0 auto; display: block;" /></p>
<p>I chose <a href="http://groovy.codehaus.org/" title="The Groovy programming language">Groovy</a> because:</p>
<ul style="margin-left: 2em; list-style-type: upper-roman;">
<li>I didn&#8217;t want to write and maintain a lot of code</li>
<li>I wanted to be able compile to Java classes I could use with other languages that run on the <abbr title="Java Virtual Machine">JVM</abbr></li>
<li>It has great utilities for <a href="http://groovy.codehaus.org/Reading+XML+using+Groovy%27s+XmlSlurper">parsing XML</a> and <a href="http://groovy.codehaus.org/HTTP+Builder">making HTTP requests</a></li>
</ul>
<p>In the end, <strong>Groovy totally came through for me</strong>. It did everything I needed and more, easily.</p>
<p>UPDATE: I&#8217;ve been polishing <a href="http://github.com/eriwen/groovyrtm">GroovyRTM</a> a lot since May and I&#8217;m confident in saying it is, by far, the best Java API kit available. If you have suggestions or improvements, <a href="http://eriwen.com/contact/">let me know</a>!</p>
<h2>The UI</h2>
<p><a href="http://www.rememberthemilk.com/services/api/">JavaFX</a> was a natural choice for me since I&#8217;d been playing with it since before it was 1.0. I was eager to develop something more than a demo app with it. The two key features here were:</p>
<ul style="margin-left: 2em; list-style-type: upper-roman;">
<li>Easily using Java classes &#8211; just an import</li>
<li>Deployment to the desktop AND mobile phones (hoping to deploy to Android eventually). I&#8217;m <strong>holding off on mobile</strong> right now because RTM introduced their own Android app which I can&#8217;t compete with (yet)</li>
<li>Java Web Start deployment gave me a lot of goodies for the desktop (title, icon, auto-update etc.)</li>
</ul>
<p>Here is where I thank <a href="http://learnjavafx.typepad.com/" title="Helping you become a JavaFXpert">Jim Weaver</a> and <a href="http://blogs.sun.com/rakeshmenonp/" title="Java, JavaFX and beyond...">Rakesh Menon</a> in particular for their useful JavaFX examples, helping me find a couple bugs, and their suggestions. If you use JavaFX and you&#8217;re not subscribing to their blogs, it&#8217;s time to come out from under that rock. </p>
<p>Frankly, I don&#8217;t think JavaFX was ready for building real applications until version 1.2 (released in June). Even then, including the <a href="http://code.google.com/p/jfxtras/">JFXtras</a> project is a must. <strong>There is no way I could have done this without them.</strong> I still had to create or adapt a few custom components. In all fairness, JavaFX is a young technology and I know that the team is working very, very hard on producing a lot more for JavaFX 1.3. <strong>Oh, and I can&#8217;t wait for the Sun to release the JavaFX visual designer.</strong></p>
<h2>Launch</h2>
<p>Last but not least, I needed to easily make a screencast to introduce Cheqlist. After listening to <a href="http://faceoffshow.com/2009/09/01/episode-32-screencast-showdown/">Faceoff Show&#8217;s excellent screencasting review</a>, I chose <a href="http://screenr.com">Screenr</a>. The only thing that caught me by surprise is that the video didn&#8217;t embed in my aggregation feeds. Could have been my idiot mistake, though.</p>
<p>You can catch <a href="http://screenr.com/vvH">my intro video here</a> if you haven&#8217;t for some reason.</p>
<h2>Updates!</h2>
<ul style="margin-left: 2em; list-style-type: upper-roman;">
<li>Where&#8217;d my edit button go? Oh yeah, you don&#8217;t need it anymore since all task edits occur immediately now.</li>
<li>Create and delete lists (including smart lists)</li>
<li>Toaster looks and acts much better ;)</li>
<li>Cheqlist is now on twitter! Follow <a href="https://twitter.com/cheqlist">@cheqlist</a> for news and updates.</li>
<li>Yet another update: Cheqlist has been approved for the <a href="http://store.java.com">Java Store</a>!</li>
</ul>
<p><a href="http://eriwen.com/cheqlist/Cheqlist.jnlp"><img width="88" height="34" style="border: medium none;" title="Launch Cheqlist via Java Web Start" src="http://eriwen.com/images/webstart.gif" alt="Launch Cheqlist"/></a></p>
<p>In addition, you should know that I&#8217;m currently working on <strong>notes management, minimizing to taskbar icon, and undo functionality</strong>. Anything else you want? Hit me up <a href="http://twitter.com/eriwen/">on twitter</a>, <a href="http://eriwen.com/contact/">email me</a> or <a href="http://github.com/eriwen/cheqlist-javafx/issues">submit an issue</a>.</p>
<p>What would you have done differently? Comment!</p>


<p>Related posts:<ol><li><a href='http://eriwen.com/tools/cheqlist-remember-the-milk-app/' rel='bookmark' title='Cheqlist: A free, open-source desktop app for Remember The Milk'>Cheqlist: A free, open-source desktop app for Remember The Milk</a></li>
<li><a href='http://eriwen.com/groovy/introducing-groovyrtm/' rel='bookmark' title='Introducing GroovyRTM: A Groovier way to Remember The Milk'>Introducing GroovyRTM: A Groovier way to Remember The Milk</a></li>
<li><a href='http://eriwen.com/interview/andres-almiray/' rel='bookmark' title='Interview with Andres Almiray'>Interview with Andres Almiray</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://eriwen.com/programming/the-tech-behind-cheqlist/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Cheqlist: A free, open-source desktop app for Remember The Milk</title>
		<link>http://eriwen.com/tools/cheqlist-remember-the-milk-app/</link>
		<comments>http://eriwen.com/tools/cheqlist-remember-the-milk-app/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 11:00:34 +0000</pubDate>
		<dc:creator>Eric Wendelin</dc:creator>
				<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://eriwen.com/?p=939</guid>
		<description><![CDATA[<img src="http://eriwen.com/cheqlist/cheqlist_logo_64.png" style="float: left; margin: 0 8px 0 0; border: 0px solid none;"/>Anyone looking to stay productive with their work, errands or chores keeps a to-do list. You need to have that to-do list available at all times and be easy to manage. 

With that in mind, I am introducing an application that I think will help you with that: <a href="http://eriwen.com/cheqlist/Cheqlist.jnlp">Cheqlist</a>. A desktop application powered by <a href="http://www.rememberthemilk.com/">Remember The Milk</a> that does 2 things very well: make <strong>managing tasks very efficient</strong> and <strong>look sweet</strong> on your desktop.

<h2>What makes Cheqlist awesome</h2>
I wanted to build an application that I, myself, would use everyday. There are a few key features that would make that happen:
<ul style="margin-left: 2em; list-style-type: upper-roman;"><li>Adding tasks quickly using RTM's new <a href="<a href="http://www.rememberthemilk.com/services/smartadd/">Smart Add feature</a></li>
<li>Visual appeal and lots of room for customization. Special thanks to Rakesh Menon for allowing me to use his <a href="http://blogs.sun.com/rakeshmenonp/entry/javafx_color_picker">JavaFX color picker</a></li>
<li>Easily search tasks and use RTM's <a href="http://www.rememberthemilk.com/help/answers/search/advanced.rtm">custom search keywords</a></li>
<li>Must work on all the OSes I use: Windows, Mac OS X, and Linux</li>
</ul>

On top of that, I think there are some things you'll come to appreciate:
<ul style="margin-left: 2em; list-style-type: upper-roman;"><li>Easy-update: Cheqlist checks for updates on startup, and if you want to upgrade, it takes just seconds!</li>
<li>Free and <a href="http://github.com/emwendelin/cheqlist-javafx" title="Cheqlist at GitHub">open-source</a></li>
<li>Lots of nice "easter egg" features for those of you who take time to find them ;)</li></ul>
 <a href="http://eriwen.com/tools/cheqlist-remember-the-milk-app/">Continue reading <span class="meta-nav">&#8594;</span></a>


Related posts:<ol><li><a href='http://eriwen.com/groovy/introducing-groovyrtm/' rel='bookmark' title='Introducing GroovyRTM: A Groovier way to Remember The Milk'>Introducing GroovyRTM: A Groovier way to Remember The Milk</a></li>
<li><a href='http://eriwen.com/programming/the-tech-behind-cheqlist/' rel='bookmark' title='What and why: the tech behind Cheqlist'>What and why: the tech behind Cheqlist</a></li>
<li><a href='http://eriwen.com/productivity/multiple-desktops-to-get-things-done/' rel='bookmark' title='How I use multiple desktops to get things done'>How I use multiple desktops to get things done</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://eriwen.com/cheqlist/cheqlist_logo_64.png" style="float: left; margin: 0 8px 0 0; border: 0px solid none;"/>Anyone looking to stay productive with their work, errands or chores keeps a to-do list. You need to have that to-do list available at all times and be easy to manage. </p>
<p>With that in mind, I am introducing an application that I think will help you with that: <a href="http://eriwen.com/cheqlist/Cheqlist.jnlp">Cheqlist</a>. A desktop application powered by <a href="http://www.rememberthemilk.com/">Remember The Milk</a> that does 2 things very well: make <strong>managing tasks very efficient</strong> and <strong>look sweet</strong> on your desktop.</p>
<h2>What makes Cheqlist awesome</h2>
<p>I wanted to build an application that I, myself, would use everyday. There are a few key features that would make that happen:</p>
<ul style="margin-left: 2em; list-style-type: upper-roman;">
<li>Adding tasks quickly using RTM&#8217;s new <a href="<a href="http://www.rememberthemilk.com/services/smartadd/">Smart Add feature</a></li>
<li>Visual appeal and lots of room for customization. Special thanks to Rakesh Menon for allowing me to use his <a href="http://blogs.sun.com/rakeshmenonp/entry/javafx_color_picker">JavaFX color picker</a></li>
<li>Easily search tasks and use RTM&#8217;s <a href="http://www.rememberthemilk.com/help/answers/search/advanced.rtm">custom search keywords</a></li>
<li>Must work on all the OSes I use: Windows, Mac OS X, and Linux</li>
</ul>
<p>On top of that, I think there are some things you&#8217;ll come to appreciate:</p>
<ul style="margin-left: 2em; list-style-type: upper-roman;">
<li>Easy-update: Cheqlist checks for updates on startup, and if you want to upgrade, it takes just seconds!</li>
<li>Free and <a href="http://github.com/eriwen/cheqlist-javafx" title="Cheqlist at GitHub">open-source</a></li>
<li>Lots of nice &#8220;easter egg&#8221; features for those of you who take time to find them ;)</li>
</ul>
<h2>A quick look</h2>
<p>I&#8217;ve created a short (3 minutes) introductory video to show you the main features. UPDATE: Apparently screenr videos don&#8217;t show up in RSS properly. View it <a href="http://screenr.com/vvH" title="Cheqlist intro video">here</a>.</p>
<p><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0' width='560' height='345' style='margin-left: 10px;'><param name='movie' value='http://screenr.com/Content/assets/screenr_0817090731.swf' /><param name='flashvars' value='i=18211' /><param name='allowFullScreen' value='true' /><embed src='http://screenr.com/Content/assets/screenr_0817090731.swf' flashvars='i=18211' allowFullScreen='true' width='560' height='345' pluginspage='http://www.macromedia.com/go/getflashplayer'></embed></object></p>
<p>Here are a few screenshots:<br />
<img src="http://eriwen.com/images/cheqlist_screen_1.png" alt="Cheqlist Splash Screen and Edit panes"/><br />
<img src="http://eriwen.com/images/cheqlist_screen_2.png" alt="Cheqlist Settings"/></p>
<p>You can find more on the <a href="http://wiki.github.com/eriwen/cheqlist-javafx/">Cheqlist Wiki</a>.</p>
<h2>Try it out!</h2>
<p>What you need:</p>
<ul style="margin-left: 2em; list-style-type: upper-roman;">
<li>A marginally recent (6u11 or newer) version of <a href="http://www.java.com/en/download/index.jsp" title="Download Java">Java</a></li>
<li><a href="http://www.rememberthemilk.com/">Remember The Milk account</a></li>
<li><strong><a href="http://eriwen.com/cheqlist/Cheqlist.jnlp">Launch Cheqlist</a></strong></li>
</ul>
<h2>Other resources</h2>
<p>Something missing? Request a feature at the <a href="http://github.com/eriwen/cheqlist-javafx/issues" title="Cheqlist issue tracker">issue tracker</a>. </p>
<p>Having trouble? <a href="http://eriwen.com/contact/">Let me know</a> directly. </p>
<p>For more information, you can hit the <a href="http://github.com/eriwen/cheqlist-javafx">project page</a> and <a href="http://wiki.github.com/eriwen/cheqlist-javafx/">Wiki</a> on GitHub. </p>
<p>Enjoy!</p>


<p>Related posts:<ol><li><a href='http://eriwen.com/groovy/introducing-groovyrtm/' rel='bookmark' title='Introducing GroovyRTM: A Groovier way to Remember The Milk'>Introducing GroovyRTM: A Groovier way to Remember The Milk</a></li>
<li><a href='http://eriwen.com/programming/the-tech-behind-cheqlist/' rel='bookmark' title='What and why: the tech behind Cheqlist'>What and why: the tech behind Cheqlist</a></li>
<li><a href='http://eriwen.com/productivity/multiple-desktops-to-get-things-done/' rel='bookmark' title='How I use multiple desktops to get things done'>How I use multiple desktops to get things done</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://eriwen.com/tools/cheqlist-remember-the-milk-app/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

