<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Learning to code</title>
	<atom:link href="http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/</link>
	<description>GStreamer and Collabora news and more</description>
	<lastBuildDate>Sat, 11 Feb 2012 05:07:28 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Transmageddon continued &#171; Christian Schaller</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2288</link>
		<dc:creator>Transmageddon continued &#171; Christian Schaller</dc:creator>
		<pubDate>Fri, 27 Mar 2009 14:26:53 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2288</guid>
		<description>[...] was also something quite a few people suggested to me both in person and in the comments to the previous blog. I haven&#8217;t merged the patch yet as I am still very uncertain about if I want to do this [...]</description>
		<content:encoded><![CDATA[<p>[...] was also something quite a few people suggested to me both in person and in the comments to the previous blog. I haven&#8217;t merged the patch yet as I am still very uncertain about if I want to do this [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: liberforce</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2283</link>
		<dc:creator>liberforce</dc:creator>
		<pubDate>Tue, 24 Mar 2009 16:14:54 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2283</guid>
		<description>First, this is a really good idea, we&#039;re missing a simple application for that. Even better to have it GStreamer-powered.

Now some remarks : 
1. Don&#039;t use Glade XML files, prefer GtkBuilder. It does almost the same thing, but the format is a bit different. The bonus being that it&#039;s integrated in GTK and removes a dependency on libglade.
http://pygtk.org/docs/pygtk/class-gtkbuilder.html

2. Don&#039;t use GtkRadioButton for codecs, it doesn&#039;t scale well depending on the codecs available on the machine. Use one GtkTreeView for audio codecs, another one for video codecs so you can just not display the codecs not supported by the container.

3. Remove all the &quot;Choose&quot; from the interface. They clutter it and give no useful information.

4. Remove the &quot;Container&quot; word, which may be a bit confusing for newbies. &quot;Output Format&quot; or &quot;Output File Format&quot;. According to the widgets you choose for the UI, make sure you respect the capitalization for UI elements:
http://library.gnome.org/devel/hig-book/stable/design-text-labels.html.en#layout-capitalization

5. Have the Cancel and Transcode buttons respectively left and right aligned.

Nice work ;-)</description>
		<content:encoded><![CDATA[<p>First, this is a really good idea, we&#8217;re missing a simple application for that. Even better to have it GStreamer-powered.</p>
<p>Now some remarks :<br />
1. Don&#8217;t use Glade XML files, prefer GtkBuilder. It does almost the same thing, but the format is a bit different. The bonus being that it&#8217;s integrated in GTK and removes a dependency on libglade.<br />
<a href="http://pygtk.org/docs/pygtk/class-gtkbuilder.html" rel="nofollow">http://pygtk.org/docs/pygtk/class-gtkbuilder.html</a></p>
<p>2. Don&#8217;t use GtkRadioButton for codecs, it doesn&#8217;t scale well depending on the codecs available on the machine. Use one GtkTreeView for audio codecs, another one for video codecs so you can just not display the codecs not supported by the container.</p>
<p>3. Remove all the &#8220;Choose&#8221; from the interface. They clutter it and give no useful information.</p>
<p>4. Remove the &#8220;Container&#8221; word, which may be a bit confusing for newbies. &#8220;Output Format&#8221; or &#8220;Output File Format&#8221;. According to the widgets you choose for the UI, make sure you respect the capitalization for UI elements:<br />
<a href="http://library.gnome.org/devel/hig-book/stable/design-text-labels.html.en#layout-capitalization" rel="nofollow">http://library.gnome.org/devel/hig-book/stable/design-text-labels.html.en#layout-capitalization</a></p>
<p>5. Have the Cancel and Transcode buttons respectively left and right aligned.</p>
<p>Nice work <img src='http://blogs.gnome.org/uraeus/wp-content/mu-plugins/tango-smilies/tango/face-wink.png' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alan Horkan</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2282</link>
		<dc:creator>Alan Horkan</dc:creator>
		<pubDate>Tue, 24 Mar 2009 14:59:21 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2282</guid>
		<description>Transcode is relatively specific jargon so when translated it will very likely be simplified into a more generic word anyway. If instead you used the word &quot;Convert&quot; you could use the GTK stock item and label and effectively get your translation of that button for free/automagically. 

It will be very interesting to see how this program develops, the introduction of profiles will allow you to make it much simpler more task based even as the list of codecs and other options gets much longer. A longer list of codecs won&#039;t scale well though, putting them in drop down menus allows the interface to scale better but slows down users who would like to scan and select what they want quickly (but I think this would be an acceptable trade off since you would hope to provide profiles and obviate the need for users to choose the codecs themselves most of the time).

In terms of ergonomics bigger buttons are as you know easier to hit.  I&#039;d be interested to see if you could put the input and output choosers below their titles so they could use the full width of the dialog and see if that doesn&#039;t make the dialog too chunky. 

The interface Rudd-O uses in his program looks rather good. 

Since transcoding can be a potentially time consuming and resource intensive task it might be useful to have a Pause button to allow users to interrupt the task without being forced to cancel the transcoding from scratch. The idea might still be impractical to implement or risk making the dialog overcomplicated but I leave the idea for your consideration. 

From your plans it seems like you want to keep this as a standalone application but if you can manage to keep it simple (a single dialog) you might also be able to integrate it as a Plugin to Pitivi, which would be very cool. (It might also help limit the scope of the application if you could point to other parts of Pitivi to do more complicated tasks you&#039;d prefer not to include.)

Nice work.</description>
		<content:encoded><![CDATA[<p>Transcode is relatively specific jargon so when translated it will very likely be simplified into a more generic word anyway. If instead you used the word &#8220;Convert&#8221; you could use the GTK stock item and label and effectively get your translation of that button for free/automagically. </p>
<p>It will be very interesting to see how this program develops, the introduction of profiles will allow you to make it much simpler more task based even as the list of codecs and other options gets much longer. A longer list of codecs won&#8217;t scale well though, putting them in drop down menus allows the interface to scale better but slows down users who would like to scan and select what they want quickly (but I think this would be an acceptable trade off since you would hope to provide profiles and obviate the need for users to choose the codecs themselves most of the time).</p>
<p>In terms of ergonomics bigger buttons are as you know easier to hit.  I&#8217;d be interested to see if you could put the input and output choosers below their titles so they could use the full width of the dialog and see if that doesn&#8217;t make the dialog too chunky. </p>
<p>The interface Rudd-O uses in his program looks rather good. </p>
<p>Since transcoding can be a potentially time consuming and resource intensive task it might be useful to have a Pause button to allow users to interrupt the task without being forced to cancel the transcoding from scratch. The idea might still be impractical to implement or risk making the dialog overcomplicated but I leave the idea for your consideration. </p>
<p>From your plans it seems like you want to keep this as a standalone application but if you can manage to keep it simple (a single dialog) you might also be able to integrate it as a Plugin to Pitivi, which would be very cool. (It might also help limit the scope of the application if you could point to other parts of Pitivi to do more complicated tasks you&#8217;d prefer not to include.)</p>
<p>Nice work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simone</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2281</link>
		<dc:creator>Simone</dc:creator>
		<pubDate>Tue, 24 Mar 2009 14:46:47 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2281</guid>
		<description>Winff is another conversion program for Win and Linux, but its GUI looks very bad in GNOME.
Abyhow, it has a lot of presets that you could use for Transmageddon.
I too suggest to show the full output options only after the user&#039;s explicit request.
Cheers</description>
		<content:encoded><![CDATA[<p>Winff is another conversion program for Win and Linux, but its GUI looks very bad in GNOME.<br />
Abyhow, it has a lot of presets that you could use for Transmageddon.<br />
I too suggest to show the full output options only after the user&#8217;s explicit request.<br />
Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dries Desmet</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2280</link>
		<dc:creator>Dries Desmet</dc:creator>
		<pubDate>Tue, 24 Mar 2009 14:11:35 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2280</guid>
		<description>A big thumbs up for trying this. Scratching an itch. Keep it simple and post often. Know that we&#039;re reading!</description>
		<content:encoded><![CDATA[<p>A big thumbs up for trying this. Scratching an itch. Keep it simple and post often. Know that we&#8217;re reading!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: benny</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2279</link>
		<dc:creator>benny</dc:creator>
		<pubDate>Tue, 24 Mar 2009 13:42:02 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2279</guid>
		<description>For the profiles I would just add a combobox at the top and a little &quot;Save&quot;-button next to it. You could then add a few standard profiles (like PSP, iPod) to the combobox. If the user chooses one of them, the options are filled into the UI. If the user makes changes and wants to save them, he just clicks on the save button and chooses a name for the new profile in a little dialog.
That&#039;s how I would do it.

Regards, Benny</description>
		<content:encoded><![CDATA[<p>For the profiles I would just add a combobox at the top and a little &#8220;Save&#8221;-button next to it. You could then add a few standard profiles (like PSP, iPod) to the combobox. If the user chooses one of them, the options are filled into the UI. If the user makes changes and wants to save them, he just clicks on the save button and chooses a name for the new profile in a little dialog.<br />
That&#8217;s how I would do it.</p>
<p>Regards, Benny</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stephen Gentle</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2278</link>
		<dc:creator>Stephen Gentle</dc:creator>
		<pubDate>Tue, 24 Mar 2009 13:38:04 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2278</guid>
		<description>It&#039;s probably a good idea to eventually change from using Glade&#039;s file format and library to the shiny new one in GTK - GtkBuilder. You can save GtkBuilder files out of Glade now, and/or convert old glade files with a utility.</description>
		<content:encoded><![CDATA[<p>It&#8217;s probably a good idea to eventually change from using Glade&#8217;s file format and library to the shiny new one in GTK &#8211; GtkBuilder. You can save GtkBuilder files out of Glade now, and/or convert old glade files with a utility.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uraeus</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2277</link>
		<dc:creator>uraeus</dc:creator>
		<pubDate>Tue, 24 Mar 2009 09:47:53 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2277</guid>
		<description>@Rudd-O: thanks for the link. I took a quick look and once my code matures a little more I might take a stab at porting your UI to use my transcodeengine.py. It should help me both make sure that I have a clean UI and engine separation and also let me see what I need to expose to allow some basic tweaking of encoder parameters as I notice your current code also sets changes those. My code atm, just use the defaults for the encoder.</description>
		<content:encoded><![CDATA[<p>@<a href="http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/#comment-2275">Rudd-O</a>: thanks for the link. I took a quick look and once my code matures a little more I might take a stab at porting your UI to use my transcodeengine.py. It should help me both make sure that I have a clean UI and engine separation and also let me see what I need to expose to allow some basic tweaking of encoder parameters as I notice your current code also sets changes those. My code atm, just use the defaults for the encoder.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uraeus</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2276</link>
		<dc:creator>uraeus</dc:creator>
		<pubDate>Tue, 24 Mar 2009 09:41:47 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2276</guid>
		<description>@Rahul: that is my plan, although not before the code of my application contains a lot less known ugliness :)</description>
		<content:encoded><![CDATA[<p>@Rahul: that is my plan, although not before the code of my application contains a lot less known ugliness <img src='http://blogs.gnome.org/uraeus/wp-content/mu-plugins/tango-smilies/tango/face-smile.png' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rudd-O</title>
		<link>http://blogs.gnome.org/uraeus/2009/03/23/learning-to-code/comment-page-1/#comment-2275</link>
		<dc:creator>Rudd-O</dc:creator>
		<pubDate>Tue, 24 Mar 2009 03:31:22 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.gnome.org/uraeus/?p=1032#comment-2275</guid>
		<description>I would love if you&#039;d reuse my code and UI at rudd-o.com/new-projects/linuxvideoconverter for your application.  Contact me if you&#039;re interested.  I&#039;m familiar with pygst and pygtk2 too.</description>
		<content:encoded><![CDATA[<p>I would love if you&#8217;d reuse my code and UI at rudd-o.com/new-projects/linuxvideoconverter for your application.  Contact me if you&#8217;re interested.  I&#8217;m familiar with pygst and pygtk2 too.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/uraeus/2009/03/23/learning-to-code/feed/ ) in 0.19914 seconds, on Feb 12th, 2012 at 12:05 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 12th, 2012 at 1:05 am UTC -->
