<?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>dariusz grabka &#187; Software Development</title>
	<atom:link href="http://grabka.org/internet/category/human-computer-interaction/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://grabka.org/internet</link>
	<description>sharing is caring.</description>
	<lastBuildDate>Thu, 15 Sep 2011 23:25:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Fusion 2011 and Desire2Learn Learning Repository</title>
		<link>http://grabka.org/internet/2011/07/fusion-2011-and-learning-repository/</link>
		<comments>http://grabka.org/internet/2011/07/fusion-2011-and-learning-repository/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 20:18:12 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[d2l]]></category>
		<category><![CDATA[fusion]]></category>
		<category><![CDATA[lor]]></category>
		<category><![CDATA[pm]]></category>
		<category><![CDATA[presentations]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=554</guid>
		<description><![CDATA[FUSION is Desire2Learn&#8217;s big annual user conference, and this year it&#8217;s in Denver, CO. Last year in Chicago was fantastic, and a professional breakthrough for me. It was pretty great to present for, interact with, and get to know 700+ power-users of the software my team was building. This year is special, as I&#8217;m representing [...]]]></description>
			<content:encoded><![CDATA[<p>FUSION is Desire2Learn&#8217;s <a href="http://www.desire2learn.com/fusion">big annual user conference</a>, and this year it&#8217;s in Denver, CO.  Last year in Chicago was fantastic, and a professional breakthrough for me.  It was pretty great to present for, interact with, and get to know 700+ power-users of the software my team was building.  This year is special, as I&#8217;m representing a whole product as it&#8217;s new designer: <em>Learning Repository</em>.</p>
<h3>Learning Repository?!</h3>
<p>Yeah, it&#8217;s not an awesome name for a web app, but it&#8217;s accurate. <a href="http://www.desire2learn.com/learningrepository/highered/">Learning Repository</a> is a catalogue system for learning objects.  Learning objects can be simple files, collections of files, things grouped together into a unit or module, or even complete courses.  Most people in the industry refer to catalogues like this as LORs.  In our implementation, the search is super powerful, the integration with <a title="D2L LE" href="http://www.desire2learn.com/learningenvironment/highered/">Learning Environment</a> is seamless, the structure is ridiculously flexible, and the metadata management is &#8230; well, complicated and insane, but that&#8217;s where some of the best stuff is.</p>
<h3>Fusion 2011</h3>
<p>I&#8217;ll be doing four presentations at Fusion this year (<a title="Fusion schedule" href="http://www.desire2learn.com/fusion/schedule/">see the schedule</a>), and I invite anyone who is interested in learning objects, repositories, Open Educational Resources (OERs), harvesting metadata, federated searches, and any related topics to come by, or catch me in the comments.</p>
<h4>Licensing and Rights Management for Learning Objects: What Next?</h4>
<p><strong>Monday @ 2:20pm in Plaza Court 1</strong><br />
Now that you can find and share more teaching materials online, navigating the complexities of licensing, copyrights and digital rights becomes a great challenge. Join in this focus group to discuss sharing and searching of learning objects, with all rights and privileges reserved, in Desire2Learn Learning Repository.</p>
<h4>Administering Desire2Learn Learning Repository</h4>
<p><strong>Tuesday @ 8:00am in Plaza Court 3</strong><br />
Federated searches? Trust permissions? Harvesting other indexes? Managing Learning Repository can overwhelm even the most seasoned administrators. This session will provide hands-on experience with managing Learning Repositories, discuss options for indexing third party resources, share some best practices, and demonstrate the power of Learning Repository. <em>(Full as of Thursday before Fusion &#8230; yikes)</em></p>
<h4>Desire2Learn Learning Repository: See What’s New</h4>
<p><strong>Tuesday @ 3:30pm in Plaza Court 8</strong><br />
The Learning Repository team has been hard at work. This session will introduce the new functionality recently released for RSS notifications, options for publishing, version management, CourseBuilder integration, and more.</p>
<h4>Being Ready for the World (World Readiness)</h4>
<p><strong>Wednesday @ 10:50am in Plaza Court 8</strong><br />
Technology has made it easier to reach global audiences, but with it comes language and cultural differences that need to be overcome. Desire2Learn technology offers opportunities from both an organizational and course design perspective to reach out to that larger audience effectively.  <em>Co-presenter for Jeff Geurts from Learning Platform</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2011/07/fusion-2011-and-learning-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seven days with the Samsung Omnia 7 Windows Phone 7</title>
		<link>http://grabka.org/internet/2011/03/seven-days-with-the-samsung-omnia-7-windows-phone-7/</link>
		<comments>http://grabka.org/internet/2011/03/seven-days-with-the-samsung-omnia-7-windows-phone-7/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 18:34:19 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[7]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[omnia]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[seven]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2011/03/seven-days-with-the-samsung-omnia-7-windows-phone-7/</guid>
		<description><![CDATA[One of the perks of working in software is occasional access to sweet, new hardware.  I&#8217;ve befriended the super-busy Mobile team at the office, and asked to borrow one of their spare Windows Phone devices.  Craig handed me a Samsung Omnia 7 and asked me not to destroy it.  I had been wary of the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the perks of working in software is occasional access to sweet, new hardware.  I&#8217;ve befriended the <a href="http://www.desire2learn.com/mobile/highered/" target="_blank">super-busy Mobile team</a> at the office, and asked to borrow one of their spare Windows Phone devices.  Craig handed me a <a href="http://www.samsung.com/global/microsite/omnia7/" target="_blank">Samsung Omnia 7</a> and asked me not to destroy it.  I had been wary of the Windows mobile experience having used Windows-based Palm devices (not great compared to their PalmOS counterparts), but had been prepped by blog posts that this Windows Phone 7 experience would be totally different.</p>
<p>Short story: <em>the hype stands up &#8211; the user experience of this phone is excellent</em>.  There are small issues that I&#8217;ll go into in detail including frustrations with the hardware design, but ultimately the overall package is slick, functional, and at times even beautiful.</p>
<h3>The Hardware</h3>
<p>The physical hardware of the phone is a generally great.  The phone has a large, bright, and easy to read screen, a single recessed button, very few creases and edges that collect dirt or grime.  <strong>No MicroSD</strong> card slot, but lots of RAM.  Normal (3.5mm) headphone jack that took my iPhone mic&#8217;ed headphones just fine.  The light vibration you get when you touch the dedicated &#8220;back&#8221; and &#8220;search&#8221; areas reminds you that this device is very <strong>touch sensitive</strong>.  VERY touch sensitive.  In my first day or two of usage I pocket-dialed, Facebook&#8217;ed, mapped about half of my contact list &#8211; until I learned to lock the device every time I wasn&#8217;t explicitly performing an action (with the <strong>dedicated &#8220;lock&#8221; button</strong>).</p>
<p>The lack of physical keyboard made my transition from a Blackberry Bold difficult for typing-heavy tasks like email, though <a title="spelling video" href="http://www.ampercent.com/windows-phone-7-trailer-videos/6987/" target="_blank">the live <strong>spelling</strong> correction works great</a>.  The orientation sensing works well (smooth and predictable), so I learned to type my emails with the phone laying horizontally, with just a few lines of my reply visible outside the on-screen keyboard.</p>
<p>Compared to my Bold, the reception was weak.  I <strong>dropped out of 3G</strong> far more often than I&#8217;m used to.  The point here is that Blackberry devices have great reception, more so than the Samsung having poor reception.   Same goes with the battery life.  On a full-night charge I got 8-10 hours of normal usage including WiFi internet and calling at a business-user level.  Apparently that&#8217;s endemic for these large touchscreen devices.  Definitely not a showstopper, but news to me.</p>
<h4>Search Button :(</h4>
<p>Lastly, the dedicated <strong>search button got in the way</strong> far more often than I found it useful. For example when I was holding the phone with two hands when taking pictures with the Samsung&#8217;s excellent camera, I would accidentally press the search button and jump out of the Camera app into Bing Search.  Oh man, that happened about four times before I started digging through Settings to try to re-map (or at least disable) the search button.  No luck.  This is my least favourite feature of this phone, and I would gladly do away with it (or at least have it recessed so the click has to be more deliberate).</p>
<h3>The Software</h3>
<p>This is my first look at the Windows Phone operating system, and a it&#8217;s stunning piece of software.  The <strong>lack of fake 3D</strong> buttons was jolting and refreshing.  The <a href="http://www.knowyourmobile.com/microsoft/windowsphone7/startscreen/640737/windows_phone_7_live_tiles.html" target="_blank">home-screen <strong>Tile</strong> view</a> is far more useful, customizable, and interactive than any other phone home-screen I&#8217;ve used.  Little features about the tiles were really nice: when you drag the screen the drag arrow gracefully rotates, the numbers for email counts <em>flip </em>rather than just changing, the text messaging tile gives me a wink <strong>;-)</strong> with one message, and an Oh No! face <strong>:-O</strong> when I have four unread text messages. All of it seems refined, friendly, and <strong>inviting</strong>.</p>
<h4>The Little Things :)</h4>
<p>I started customizing my home-screen immediately &#8211; added all of my frequently-called friends to the home page, local weather, Twitter, Facebook, work Outlook (seamless), personal email (less than seamless).  After the second day, I rarely ventured past my home screen other than to browse Facebook and play with phone settings.</p>
<p>The ability to <strong>bundle contacts</strong> from your phone with ones from Outlook, together with their Facebook profiles was amazing.  My friend Mike has three different identities on my Blackberry (unless I go through contact-synch hell to combine them), while he has only one on my Windows Phone, which is hugely convenient.</p>
<p>One thing that is often not well executed on phones is a good range of alerts, alarms, and audio stuff.  It&#8217;s obvious that great care went into the <strong>audio landscape</strong> of the phone. The clicks, pings, boops sound downright beautiful.  The alarms are gentle but effective, rather than being grating and amateurish like some Linux sounds (*cough*).  The external speaker could be louder in phone-call-at-the-train-station situations.</p>
<p>Considering this phone and platform is new to the market, I was impressed by the availability of applications (as I read that is one of the fatal flaws of this platform).  I know that Microsoft has been shitting bricks about the <strong>app experience</strong> as it compares to the Apple App Store, but Facebook, Twitter, Score Mobile, Yelp, and many of my favourite heavyweights were there, and were executed pretty well.  There is no Google Maps application available, and the Marketplace in general has some obvious holes &#8211; Foursquare, for example, <a href="http://www.artificialignorance.net/blog/windows-phone-7/drinking-from-the-foursquare-firehose-on-windows-phone-7/" target="_blank">but apparently that&#8217;s coming soon</a> and it&#8217;s hawt as hell. Bing Maps isn&#8217;t as good as Google Maps, as the location based searching for stuff <strong>sucks in Canada</strong> and elsewhere outside of the US.</p>
<p>The Facebook app doesn&#8217;t react as well as it does on the iPhone, as everything is clickable &#8230; while nothing is a button. There&#8217;s a theme of explicit &#8220;this will do this&#8221; <strong>actions being ambiguous</strong> in these apps, so I ended up changing screens and navigating away by accident &#8211; a side product of the really fluid and draggable design of the operating system.</p>
<p>While this may not be a highlight for a lot of people, the integration of <strong>Office viewers</strong> for Powerpoint, Word documents, and other documents was welcome.  The experience with attachments from within the email client was the best I&#8217;ve ever dealt with, and made both the Blackberry and Apple offerings seem Web 1.5.  This isn&#8217;t game-changing behaviour, but certainly helped me get over previously discouraging experiences with document-handling on my phone.</p>
<h3>Overall Thoughts</h3>
<p>The combination of the hardware and new Windows Phone 7 software is immediately slick and usable.  Little touches such as the smooth transitions, crisp fonting, and contact linking are a pleasure.  The hardware such as the case and camera are first rate.  The touch sensitivity of the device has forced me to pick up habits that I don&#8217;t love (locking the device constantly, being careful about interactions in Facebook, etc.) and the &#8220;search&#8221; touch button is infuriating when I&#8217;m in a hurry trying to take a photo.  This being my first introduction to Windows Phone / Mobile 7, I am excited about its future.  If anyone is listening, bring on Google Maps and Skype, please :-)</p>
<h4>Little Bugs</h4>
<p>This is a list of bugs I came across that didn&#8217;t warrant being in the main review, but hopefully will get addressed as the platform matures:</p>
<ul>
<li>Something is off about the audio system.  Occasional jitters, noticeable when you&#8217;re playing games or are doing web browsing that involves sound, were a nuisance.</li>
<li>You have to click &#8220;all&#8221; photos before being able to see the ones you took with your camera (&#8220;Camera Roll&#8221;), rather than having them show up on the front page of the Photos app.</li>
<li>After the phone is unplugged from its charger, the little charge indicator stays on, sometimes until the phone is turned off.</li>
<li>Making corrections to settings when setting up an email account requires you to retype everything on every retry.  Super annoying when you&#8217;re trying to debug your email connection.</li>
<li>Can&#8217;t <a title="microsoft answers" href="http://answers.microsoft.com/en-us/winphone/forum/wp7-wptips/how-do-i-change-the-windows-live-id-that-i-signed/56f83660-6ea7-4c4b-979b-ebdaa3b24a8c" target="_blank">change which Windows Live account</a> is associated with your phone unless you do a software reset?! A bit ridiculous.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2011/03/seven-days-with-the-samsung-omnia-7-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Presentation on Accessibility and Design on Jan 20, come!</title>
		<link>http://grabka.org/internet/2011/01/presentation-on-accessibility-and-design-on-jan-20-come/</link>
		<comments>http://grabka.org/internet/2011/01/presentation-on-accessibility-and-design-on-jan-20-come/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 22:50:02 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[a11y]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[waterloo]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2011/01/presentation-on-accessibility-and-design-on-jan-20-come/</guid>
		<description><![CDATA[For those of you in Kitchener-Waterloo who are into web accessibility and product design, myself and Ali Ghassemi are doing an hour-long talk at the next uxWaterloo event on January 20, 2011 at 5:30pm.  We&#8217;re super excited! The focus will be practical advice for designers and developers about building accessible web applications. Ali and I [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you in Kitchener-Waterloo who are into web accessibility and product design, myself and Ali Ghassemi are doing an hour-long  talk at the <a href="http://uxgroup.wordpress.com/2010/12/30/january-event-practical-advice-for-accessible-design/" target="_blank">next uxWaterloo event</a> on January 20, 2011 at 5:30pm.  We&#8217;re super excited!</p>
<p>The focus will be practical advice for designers and developers about building accessible web applications.  Ali and I will have lots of examples of specific things that need to be considered in the design, development, and testing stages, as well as make a case for building with open standards.  In general, the hope will be to provide attendees with a rich overview of the challenges, make A11Y less scary by sharing specific anecdotes.  It&#8217;ll be a design oriented presentation, but both Ali and I are versed pretty well in the technology if you care to Q&amp;A!</p>
<p>We <em>won&#8217;t</em> be focusing a lot on the legal responsibilities surrounding accessibility.  I find too many introductory discussions focus on the legal issues first, thereby mentally cheapening the problem to one of WCAG compliance.  Accessibility is one of the most interesting user experience problems the web has to offer, so I feel it deserves a more nuanced design discussion.</p>
<p>So yeah, <strong><a href="http://events.r20.constantcontact.com/register/event?oeidk=a07e37w6oyuf6d08868&amp;llr=auyxwfdab" target="_blank">please register on the uxWaterloo site</a></strong> if you&#8217;re interested.</p>
<p>There&#8217;s also a <a href="http://www.facebook.com/event.php?eid=143603582361567" target="_blank">Facebook event</a>, if you want to share the news.  My lovely employer <a href="http://www.desire2learn.com/contact/map/" target="_blank">Desire2Learn</a> will be hosting the event (it won&#8217;t be at the Accelerator Centre).  Looking forward to seeing you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2011/01/presentation-on-accessibility-and-design-on-jan-20-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Practial Advice for Agile Sprint Planning</title>
		<link>http://grabka.org/internet/2010/12/practial-advice-for-agile-sprint-planning/</link>
		<comments>http://grabka.org/internet/2010/12/practial-advice-for-agile-sprint-planning/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 23:59:11 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[sprint]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/12/practial-advice-for-agile-sprint-planning/</guid>
		<description><![CDATA[This last year has been a great year for my software-making skills.&#160; The team I&#8217;m on at Desire2Learn has really embraced Agile SCRUM. So far it&#8217;s been an adjustment, but with a lot of immediate rewards.&#160; More than anything (more than improving quality, or throughput, or any of that), it just feel like a better, [...]]]></description>
			<content:encoded><![CDATA[<p>This last year has been a great year for my software-making skills.&nbsp; The team I&#8217;m on at Desire2Learn has really embraced Agile SCRUM. So far it&#8217;s been an adjustment, but with a lot of immediate rewards.&nbsp; More than anything (more than improving quality, or throughput, or any of that), it just feel like a better, more integrated way to work.</p>
<p>I did a presentation yesterday about what I think is the single most important piece that was hardest for us to get right initially:&nbsp; <b>Sprint Planning</b>.&nbsp; Sprint Planning was initially difficult, as it was challenging for us to come up with Stories and Tasks that <i>actually </i>reflected the work we were going to do over the next two weeks.&nbsp; The slides perhaps are not for people new to Agile, but if you have any understanding of sprints, stories, and tasks, it&#8217;s worthwhile to take a look at.</p>
<div style="width: 425px;" id="__ss_6095268"><strong style="display: block; margin: 12px 0pt 4px;"><a href="http://www.slideshare.net/dariusz2/sprint-planning-agile-fight-club" title="Agile Fight Club: Practical planning of Stories and Tasks">Agile Fight Club: Practical planning of Stories and Tasks</a></strong>
<div class="youtube-video"><object id="__sse6095268" height="355" width="425"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sprintplanning-agilefightclub-101209174541-phpapp02&amp;stripped_title=sprint-planning-agile-fight-club&amp;userName=dariusz2"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed name="__sse6095268" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sprintplanning-agilefightclub-101209174541-phpapp02&amp;stripped_title=sprint-planning-agile-fight-club&amp;userName=dariusz2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"></embed></object></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/12/practial-advice-for-agile-sprint-planning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Farmville caused Firefox 3.6.6</title>
		<link>http://grabka.org/internet/2010/06/farmville-firefox-bug/</link>
		<comments>http://grabka.org/internet/2010/06/farmville-firefox-bug/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 07:21:04 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[farmville]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/06/farmville-firefox-bug/</guid>
		<description><![CDATA[So I noticed that Firefox updated itself again today, only a few days after it did last time.  Why the short time-lapse between Firefox 3.6.4 and 3.6.6? Just one bug: 574905. The Farmville Bug No joke, Firefox pushed an update on a single bug. Last release they introduced this great feature that times out Flash [...]]]></description>
			<content:encoded><![CDATA[<p>So I noticed that Firefox updated itself again today, only a few days after it did last time.  Why the short time-lapse between Firefox <a href="http://www.mozilla.com/en-US/firefox/3.6.4/releasenotes/" target="_blank">3.6.4</a> and <a href="http://www.mozilla.com/en-US/firefox/3.6.6/releasenotes/" target="_blank">3.6.6</a>? Just one bug: <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=574905" target="_blank">574905</a>.</p>
<h3>The Farmville Bug</h3>
<p>No joke, Firefox pushed an update on a single bug.  Last release they introduced this great feature that times out Flash applications if they take longer than 10 seconds to start up, thinking that anything that takes longer than that is probably crashing. Reasonable!</p>
<p>But Farmville often takes longer than 10 seconds to start up.  Oh shoot. Flash developers that do run-time debugging destroy the 10 second limit.  Double shoot!</p>
<h3>Use Real Data!</h3>
<p>It&#8217;s a cut-and-dry example of why you should use <strong>real data</strong> to make calls on design decisions. It&#8217;s a variation of the <a href="http://madebymany.co.uk/just-say-no-to-latin-00283" target="_blank">Lorem Ipsum Sucks</a> argument. The &#8220;10 second&#8221; decision seems arbitrary, and kudos to Mozilla for doing the right thing and releasing a fix right away.  It&#8217;s probably not the correct fix, as adding a friendly user prompt would be preferable to a low, fixed timeout.  But hey, baby steps.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/06/farmville-firefox-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microformats to the Rescue</title>
		<link>http://grabka.org/internet/2010/05/microformats-to-the-rescue/</link>
		<comments>http://grabka.org/internet/2010/05/microformats-to-the-rescue/#comments</comments>
		<pubDate>Fri, 21 May 2010 21:26:49 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[microformats]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/05/microformats-to-the-rescue/</guid>
		<description><![CDATA[This one is for the CMS designers out there.  If you&#8217;re in the business of building platforms that people create content in, you undoubtedly have run into the problem of storing metadata.  It may seem easy at first, &#8220;just put it in a database!&#8221;, but then you start running into predictable problems: the context information [...]]]></description>
			<content:encoded><![CDATA[<p>This one is for the CMS designers out there.  If you&#8217;re in the business of building platforms that people create content in, you undoubtedly have run into the problem of storing metadata.  It may seem easy at first, &#8220;just put it in a database!&#8221;, but then you start running into predictable problems: the context information is hard to store, keeping references valid/up to date, and what happens when you export?</p>
<h3>Databases + Metadata = Unsolved Problem</h3>
<p>Metadata in databases loses its context quickly.  Let&#8217;s say Jen uploads an image, titles it &#8220;My pet puppy.&#8221;  Jen&#8217;s friend Steve wants to use the image, selects it in the image library and wants to change the title to &#8220;Jen&#8217;s pet puppy.&#8221;  Where do you store that title now?  What happens when Jen renames her image?  What if you use a couple copies of the same image, with a different title?  It&#8217;s a bit of a mess, but usually the solution is store the metadata <em>in context</em>: keep the metadata with each use of the image, in that HTML page.  Problem is, images don&#8217;t have a <em>title </em>attribute.</p>
<p>The other issue is maintaining those goddamn references between the database, the HTML file, and the image file. Odds are you&#8217;ll be using some database file system of some kind so now you have to manage deletions, renames, and metadata edits in three different linked places.  Those links are fragile, so things fall out of sync. Especially if users have access to editing their HTML source code, offline editing, import/export, anything like that.  So make sure to keep <em>one authoritative copy</em> of that data.</p>
<p>Lastly is the issue of exporting/sharing this content.  The platform that I work on has a strict requirement for being exportable without ruining everything, in order to keep a very important ($$) industry certification.  So when we export that web page, we don&#8217;t want to lose all of that image metadata.  We will if it&#8217;s in the database, unless you do a lot of non-standard hackery.  And we&#8217;d want to avoid non-HTML shit just to pass data around (a standard solution).</p>
<h3>Microformats: Metadata, Inline, Bam</h3>
<p>Really, a good way to do this is just store metadata inline, in the HTML content.  The best solution we found for this setup is using <a href="http://microformats.org/" target="_blank">microformats</a>.  The ideas that you wrap your object (an image, an object, a text block, whatever) with <em>span</em> tags that represent each one of the pieces of metadata.  There&#8217;s a <a href="http://microformats.org/about" target="_blank">much more verbose explanation</a> on the microformats.org site.  The <a href="http://microformats.org/wiki/hcalendar" target="_blank">hCalendar format</a> is good place to look for examples of this concept embraced.</p>
<p>So for our image example above, the HTML would look something like this.<br />
<code><br />
&lt;span class="image"&gt;<br />
&lt;img src="puppies.png" width="500" height="169" /&gt;<br />
&lt;span class="imagetitle"&gt;The puppies are st00pid fly.&lt;/span&gt;<br />
&lt;span class="author hidden"&gt;Jen&lt;/span&gt;<br />
&lt;/span&gt;<br />
</code><br />
It&#8217;s pretty ingenious.  You have the semantic relationship between the <em>image</em> and the <em>imagetitle</em>, and you can easily extend to add other information like the <em>author</em>, and keep that specific item <em>hidden</em>, or whatever.</p>
<p>Best thing ever is that since it&#8217;s semantically sound, you can do some magic with the CSS and DOM manipulations.  You can make it look pretty, keep it accessible, hack it with JavaScript in a reliable way.  Anywho, sometimes, it&#8217;s better than putting things in a database.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/05/microformats-to-the-rescue/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Happy IDN Day!</title>
		<link>http://grabka.org/internet/2010/05/happy-idn-day/</link>
		<comments>http://grabka.org/internet/2010/05/happy-idn-day/#comments</comments>
		<pubDate>Thu, 06 May 2010 14:11:15 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[g11n]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[l10n]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/05/happy-idn-day/</guid>
		<description><![CDATA[Today is the day that internationalized domain names (IDNs) go live on the internet. As someone really interested in globalization, this is a huge development: this is the first time non-latin characters can be used as domain names in the public internet. Arabic nations especially are loving this, and I&#8217;m sure Hebrew and Chinese language [...]]]></description>
			<content:encoded><![CDATA[<p>Today is the day that internationalized domain names (IDNs) go live on the internet.  As someone really interested in globalization, this is a huge development: this is the first time non-latin characters can be used as domain names in the public internet.  <a href="http://news.bbc.co.uk/2/hi/technology/10100108.stm" target="_blank">Arabic nations especially</a> are loving this, and I&#8217;m sure Hebrew and Chinese language domain names will surely follow within hours.</p>
<p>I asked an Egyptian co-worker what the URL was for the Egyptian Ministry of Communication .. I didn&#8217;t even know how to search for it.  Here it is:</p>
<p><a href="http://%D9%88%D8%B2%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%D8%A7%D8%AA.%D9%85%D8%B5%D8%B1/" target="_blank">http://وزارة-الاتصالات.مصر/</a>.  Apparently the fonts I have butcher the script.</p>
<p><img src="http://grabka.org/internet/wp-content/uploads/2010/05/url.png" alt="" /></p>
<p>The URL looks good when I copy/paste, but it gets turned into <a title="punycode on wikipedia" href="http://en.wikipedia.org/wiki/Punycode">Punycode</a>: <code>http://xn--4gbrim.xn----rmckbbajlc6dj7bxne2c.xn--wgbh1c</code>, which magically still works. Anyone else have some insight into how this works?</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/05/happy-idn-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP on IIS</title>
		<link>http://grabka.org/internet/2010/03/php-on-iis/</link>
		<comments>http://grabka.org/internet/2010/03/php-on-iis/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 23:08:20 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/2010/03/php-on-iis/</guid>
		<description><![CDATA[I&#8217;ve been playing around with IIS recently.&#160; The Windows/IIS community is not nearly as well served by Open Source as the competition, which is unfortunate given that IIS is a really popular platform for intranets and other enterprise applications.&#160; It&#8217;s not really fair to ask your IT department to support Apache + MySQL as well [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with IIS recently.&nbsp; The Windows/IIS community is not nearly as well served by Open Source as the competition, which is unfortunate given that IIS is a really popular platform for intranets and other enterprise applications.&nbsp; It&#8217;s not really fair to ask your IT department to support Apache + MySQL as well as existing IIS + Microsoft SQL Server instances, especially if PHP can be installed, fairly easily, on IIS.</p>
<p>In hopes of one day running WordPress and MediaWiki well on IIS, I&#8217;ve been collecting links.&nbsp; First off, the simple recommendation is to just get the <a target="_blank" href="http://www.microsoft.com/web/gallery/install.aspx?appsxml=&amp;appid=PHP%3bPHP%3bPHP">Microsoft Web Platform</a>, which hopes to automate almost 100% of the process of PHP on IIS, including installing the FastCGI libraries that you&#8217;d probably want.</p>
<p>In case you&#8217;re trying to learn more about what&#8217;s actually going on, Bill S wrote up an extensive how-to for <a target="_blank" href="http://blogs.iis.net/bills/archive/2006/09/19/How-to-install-PHP-on-IIS7-_2800_RC1_2900_.aspx">installing PHP on IIS</a>.&nbsp; From the folks behind PHP, the documentation on <a target="_blank" href="http://php.net/manual/en/install.windows.php">php.net is pretty detailed</a>, especially if you&#8217;re working with an older set of servers (like Windows XP + IIS 5).&nbsp; A <a target="_blank" href="http://www.iisadmin.co.uk/?p=4">detailed IIS 6 walkthrough</a> can be found on the IIS Admin Blog.</p>
<p>Since this implementation uses CGI, and is still not as fast as the Apache+PHP stack, Ruslan has described how to <a target="_blank" href="http://ruslany.net/2010/03/make-wordpress-faster-on-iis-with-wincache-1-1/">make PHP faster on IIS using WinCache</a>.&nbsp; Performance seems to be a big concern, in general.</p>
<p>Somewhat unrelated, I found a place to get <a target="_blank" href="http://www.7host.com/free_hosting/free_hosting.asp">free IIS hosting</a> for ASP (via this <a target="_blank" href="http://www.aspfree.com/asp/freeasphost.asp">aspfree.com page</a>).</p>
<p>Hopefully that helps someone!</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2010/03/php-on-iis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting lucky with free mobile WiFi</title>
		<link>http://grabka.org/internet/2009/12/getting-lucky-with-free-mobile-wifi/</link>
		<comments>http://grabka.org/internet/2009/12/getting-lucky-with-free-mobile-wifi/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 17:51:59 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=352</guid>
		<description><![CDATA[Like lots of people in tech, I have a Blackberry with WiFi.  Regardless of how good Rogers has been with their 3G network, WiFi is faster to browse with, and free-er. With that in mind, I&#8217;ve added my home and work WiFi networks to my connections (Manage Connections -&#62; Set Up WiFi Network), and just [...]]]></description>
			<content:encoded><![CDATA[<p>Like lots of people in tech, I have a Blackberry with WiFi.  Regardless of how good Rogers has been with their 3G network, WiFi is faster to browse with, and free-er. With that in mind, I&#8217;ve added my home and work WiFi networks to my connections (Manage Connections -&gt; Set Up WiFi Network), and just let them connect when I&#8217;m in range.</p>
<p>I&#8217;ve also added a few SSIDs that are the hallmark of an unsecured network. I don&#8217;t put a password or try to hack anything, just hope to occasionally connect to a random unsecured network:</p>
<ol>
<li>linksys</li>
<li>default</li>
<li>NETGEAR</li>
<li>Belkin54g</li>
<li>Wireless</li>
<li>dd-wrt</li>
</ol>
<p>I based this list on the <a title="ssid popularity" href="http://www.wigle.net/gps/gps/main/ssidstats">most popular SSIDs</a> that wardrivers have found, as well as some local experience.</p>
<p>This has come in useful only once:  in the underground train station in Warsaw, where I had no data but some local restaurant had their WiFi open. :-)</p>
<p>So yeah, enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2009/12/getting-lucky-with-free-mobile-wifi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TorCHI Presentation: Sprint Zero and Agile Design</title>
		<link>http://grabka.org/internet/2009/12/agilesprintzero/</link>
		<comments>http://grabka.org/internet/2009/12/agilesprintzero/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 20:23:42 +0000</pubDate>
		<dc:creator>dariusz</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://grabka.org/internet/?p=349</guid>
		<description><![CDATA[My co-workers Khan and Brian and myself went to the University of Toronto for a presentation at TorCHI.  It was by Lynn Miller, a  Senior Manager at AutoDesk (Maya, 3DSMax, AutoCAD, etc.) The presentation was about Sprint Zero: the lead-up work that is required before a team embarks on an Agile project, or any project [...]]]></description>
			<content:encoded><![CDATA[<p>My co-workers Khan and Brian and myself went to the University of Toronto for a  presentation at <a title="TorCHI home page" href="http://www.torchi.org/">TorCHI</a>.  It was by Lynn Miller, a  Senior Manager at AutoDesk (Maya, 3DSMax, AutoCAD, etc.)</p>
<p>The presentation was about <strong>Sprint Zero</strong>: the lead-up work  that is required before a team embarks on an Agile project, or any project that has  an iterative nature with many stakeholders.</p>
<p>Bottom line was that in her experience, and in conversation she has had with designers at  UPA, CHI:   Without the Sprint Zero and a Pre-Sprint, designers felt lost and products tended to &#8220;fail.&#8221;  Historically, Agile organisations have dismissed  the need for a Sprint Zero.  In practice this has lead to designers that were  disconnected from the final product.</p>
<p>For the rest of this summary, there are a few assumptions:</p>
<ul>
<li>Sprint One (first 2-3 weeks of development) typically doesn&#8217;t require much  design.</li>
<li><strong>One project per designer</strong>. Any more than that, and it&#8217;s too  much to deal with.</li>
<li>All resources working on the project are <strong>full time on that  project</strong>.  The definition of &#8220;project&#8221; was larger than at my workplace, but perhaps typical for industry:  ex. 5 devs, 3 designers, 3 QA, 2 documentation people, project manager,  product manager.</li>
</ul>
<h2>Pre-Sprint Zero</h2>
<p>Before Sprint Zero, there is actually a long pre-Spring Zero phase that that  conceives of the project.  This is where the Executives, Sales, etc. get  involved to offer insight, feedback, and direction.</p>
<ul>
<li>It lasts several months</li>
<li>Anwsers marketing and sales need, defines the business scope.</li>
<li>Creates the research that is used throughout the rest of the process,  specifically identifies Personas.</li>
<li>It includes the competitive investigation.</li>
</ul>
<h2>Sprint Zero</h2>
<p>Sprint Zero itself is actually not very long, but focuses on an aggressive  building of common ground and understanding amongs the stakeholders.  Without  it, there&#8217;s a risk of no &#8221;big picture&#8221; cohesiveness, early buy-in before  complete understanding of the risks, and lots of  &#8221;thrash.&#8221;</p>
<ul>
<li>Sprint Zero Lasts 1-2 weeks</li>
<li>No coding, no designing: just big picture envisioning so that everyone  understands.  Motto: &#8220;Maximise the amount of work not done.&#8221; &#8211; Create work, do  not do any of it.</li>
<li>Priorities are determined, though that they are difficult flush out in  detail.</li>
<li>Who is involved: PM, Design Lead, Dev Lead, Doc Lead, QA lead</li>
<li>Get &#8220;just enough&#8221; that you have a &#8220;shared understanding&#8221; to begin design,  development, test planning.</li>
</ul>
<h2>Steps in Sprint Zero</h2>
<p>There are five steps to Sprint Zero.</p>
<h3>1. Determine Shared Product Vision</h3>
<p>If you haven&#8217;t done so yet, determine a vision for the whole product. This  vision will not change throughout the life of the product. It helps keeps the  project focused. TPM usually leads this, though external facilitation helps.</p>
<p>Do this by creating a &#8220;Vision Statement.&#8221;  The statement can have the  following format:</p>
<blockquote><p>For &#8230; &lt;users&gt;<br />
Who &#8230; &lt;do stuff&gt;<br />
NAME &lt;name your  product something useful&gt;<br />
Is a &#8230; &lt;thing&gt;<br />
That &#8230; &lt;does  stuff&gt;</p>
<p>Unlike &#8230; &lt;competitor&gt;<br />
… &lt;who does this&gt;.  (repeat)</p></blockquote>
<h3>2. Create a Project Objective Statement</h3>
<p>Define an objective statement for this specific release. Used to make  decsions against. Result of a 2 hour meeting, led by TPM.</p>
<blockquote><p>&#8220;Remove the top obstacles that prevent people who download our product from  purchasing it.&#8221;<br />
&#8220;Kill 3DS Max.&#8221;</p></blockquote>
<h3>3. Flush out a Project Data Sheet</h3>
<p>A product data sheet (of which there are many examples of online) create  alignment between stakeholders  Answers the Who, What, Why?  Makes it easy to  grasp fundamentals.  Unlike the previous steps, lead by the Development lead,  with all stakeholders involved.</p>
<p>The PDS will include:</p>
<ul>
<li>Personas</li>
<li>Object Statement</li>
<li>Client benefits</li>
<li>Tradeoff matrix:  Excel (perfect, immovable), Improve, Accept  (flexible)<span> </span>vs.<span> </span>Features, Schedule, Resource,  Stability</li>
<li>Specific features defined as &#8220;able to ..&#8221; statements.   &#8220;Colour picker&#8221; is  not a feature.  &#8220;Able to pick colours while drawing&#8221; is.</li>
<li>Milestones and schedule.</li>
<li>Prod architecture and performance considerations.</li>
<li>Risks and risk management.</li>
</ul>
<h3>4. Define an Operational Model</h3>
<p>At this point, you can get the team ready to go.  Physical planning is very  important. Whiteboards, decisions on what remote software to use, determine what  software for note taking. Physical environment is often neglected in planning.   Determine roles and procedures for the project.</p>
<ul>
<li>Led by Dev Lead.</li>
<li>Determines meeting times and format (stand-up, scrums, formal, etc.)</li>
<li>Good time to review &#8220;lessons learned&#8221; from last release: well, didn’t go  well, surprises, expectations, etc.</li>
<li>Who fills the customer role?</li>
</ul>
<h3>5. Have an Initial Planning Meeting</h3>
<p>The first planning meeting is pretty intense.  It results in  a <strong>speculative high-level schedule</strong> with sprints laid out.  It  establishes priorities and accepted timeframes.  The &#8220;Able To&#8221; statements are  broken down into chunks, which results in a planning board with story cards:  Estimations, &#8221;Able to&#8221; chunks, timeboxed.  List out employee vacation.</p>
<p>Once you have a first run of the schedule laid out, expect things to be more  mutable as you move left to right.</p>
<p>The pieces on this schedule are called Story Cards and Feature Cards</p>
<ul>
<li>Tight estimates in &#8220;Feature Points.&#8221;  FPs are kinda like a &#8220;person day&#8221; but  adjustable to the role, person, etc. Takes care of things like overhead,  quantifiable to figure out your &#8220;velocity.&#8221;</li>
<li>Story card is higher level, feature card is subset of story card.</li>
<li>Each card is associated with a developer.</li>
<li>Each card has an acceptance criteria from all the stakeholders: Docs, QA,  Dev, Design.</li>
<li>User Story cards can be used to illustrate strategy and tactics, but with  loose estimates. There are things that are a bit too big or in the future to  even break down. Usually things that can&#8217;t be estimated are user stories.</li>
<li>Risk cards are used to identify specific risks.  Make these red. You can  have specific risk cards, such as design risk cards, external dependency card,  engineering/dev risk card.</li>
</ul>
<p>These cards are place on the schedule in a timeline. Watch for janitorial  staff re-prioritisations (ie. take pictures). The physical cards are moved to  prioritise:</p>
<p>- Product requirement: must to nice<br />
- Workflow: essential to  additional<br />
- Development Risk: high to low<br />
- Dependencies: many depending  on it to none<br />
- Design risk: high to low</p>
<p>&#8230; and that&#8217;s it.  At this point, you&#8217;re in Sprint One and you&#8217;re following  your Agile method with a shared understanding and lots of decision-making  material.</p>
<h2>Best Practices for Design in Iterative Environments</h2>
<p>There were a few best-practices that  could be taken away by designers, irrespective of the SDLC.</p>
<p>Design is always being done for the <strong>next </strong>cycle, before the developers ask for  it. Special attention is paid to future high risk items.  This gives you time, and reduces pressure.</p>
<p>You have to<strong> pre-plan all your client</strong> <strong>visits</strong>, preferably during Pre-Sprint Zero.   Assume that you&#8217;re going to use them. Customers don&#8217;t mind seeing you over and  over if you show them progress every time you see them.</p>
<p>Always go on site with at least two people: a project manager to see  purchaser/client, and another UX person to get end-user access.  Those needs are  different, and impact your design in different ways.</p>
<p>Every once in a while offer a more public larger release, such as a free  preview, feature complete alpha, etc.  This may be hard to do, but is very worthwhile in holding trust and engagement from the customer.</p>
]]></content:encoded>
			<wfw:commentRss>http://grabka.org/internet/2009/12/agilesprintzero/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

