<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>H3RALD: Simply on Rails - Part 1: Concepts and Bubbles</title>
    <link>http://www.h3rald.com/blog/simply-on-rails-1-concepts-map</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Fabio Cevasco's Writings</description>
    <item>
      <title>Simply on Rails - Part 1: Concepts and Bubbles</title>
      <description>&lt;p&gt;The first thing I do when I start developing a new application is write down some ideas.&lt;/p&gt;


	&lt;p&gt;Pen and paper normally do the job, but nowadays there are some valid online and offline applications which work as good if not (probably) better.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ve never been a fan of &lt;a href="http://en.wikipedia.org/wiki/Mind_Mapping"&gt;Mind Mapping&lt;/a&gt;. I&amp;#8217;ve been to a seminar on problem solving and creativity and they were showing how mind mapping can unleash your creativity, but it didn&amp;#8217;t really work for me. I found the concept-idea-concept-idea sequences a bit too restrictive for my liking.&lt;/p&gt;


	&lt;p&gt;So I decided to try something different: bubbles! &lt;a href="http://www.bubbl.us/"&gt;Bubbl.us&lt;/a&gt; is an interesting online flash application which lets you create bubbles. You can create bubbles and relationships between them, change their color, their dimensions etc. And above all it&amp;#8217;s absolutely fun to use.&lt;/p&gt;


	&lt;p&gt;I created two bubble sheets, the first one to define how content will be organized in the next version of ItalySimply:&lt;/p&gt;


&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="340" id="bblviewer"&gt;
&lt;param name="movie" value="http://bubbl.us/sys/view.swf?sid=26306&amp;#38;pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" /&gt;
&lt;param name="quality" value="high" /&gt;
&lt;param name="SeamlessTabbing" value="false" /&gt;
&lt;param name="AllowScriptAccess" value="always" /&gt;
&lt;param name="FlashVars" value="_sid=26306&amp;#38;_title=ItalySimply%20v3%20-%20Content&amp;#38;_z=75&amp;#38;_pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" /&gt;
&lt;embed src="http://bubbl.us/sys/view.swf?sid=26306&amp;#38;pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" FlashVars="_sid=26306&amp;#38;_title=ItalySimply%20v3%20-%20Content&amp;#38;_z=75&amp;#38;_pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="340" allowscriptaccess="always" SeamlessTabbing="false" name="bblviewer"&gt;&lt;/embed&gt;
&lt;/object&gt;

	&lt;p&gt;The diagram identifies three main types of content:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Houses &amp;#8211; basically what the site is about: house listing with information and pictures about houses for sale or rent.&lt;/li&gt;
		&lt;li&gt;Links &amp;#8211; Either swapped with partners or suggested by users.&lt;/li&gt;
		&lt;li&gt;Pages &amp;#8211; Static content.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;which will be organized in three different ways:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Tags&lt;/li&gt;
		&lt;li&gt;Categories&lt;/li&gt;
		&lt;li&gt;An internal search engine, allowing people to filter houses according to some criteria.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;The other sheet focuses on relationships between content and users.&lt;/p&gt;


&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" height="340" id="bblviewer"&gt;
&lt;param name="movie" value="http://bubbl.us/sys/view.swf?sid=26307&amp;#38;pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" /&gt;
&lt;param name="quality" value="high" /&gt;
&lt;param name="SeamlessTabbing" value="false" /&gt;
&lt;param name="AllowScriptAccess" value="always" /&gt;
&lt;param name="FlashVars" value="_sid=26307&amp;#38;_title=ItalySimply%20v3%20-%20Communication&amp;#38;_z=75&amp;#38;_pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" /&gt;
&lt;embed src="http://bubbl.us/sys/view.swf?sid=26307&amp;#38;pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" FlashVars="_sid=26307&amp;#38;_title=ItalySimply%20v3%20-%20Communication&amp;#38;_z=75&amp;#38;_pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="340" allowscriptaccess="always" SeamlessTabbing="false" name="bblviewer"&gt;&lt;/embed&gt;
&lt;/object&gt;

	&lt;p&gt;At the far sides we have users and administrators, and in the middle how they interact between themselves or with content, in particular:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Users will be able to access house feeds and be notified automatically of new additions&lt;/li&gt;
		&lt;li&gt;Users will be able to ask questions or comments to each house (they&amp;#8217;ll be moderated, of course).&lt;/li&gt;
		&lt;li&gt;Users will be able to suggest links, or contact administrators using a &amp;#8220;House Preferences&amp;#8221; form or a more generic contact form.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Bubbles are fun, but while I was creating these two diagrams, I felt I absolutely needed to name the relationships between each entity or concept, so I spend some time trying to find a tool who would let me do so in an easy and fast way.&lt;/p&gt;


	&lt;p&gt;Yep, I needed to create a &lt;a href="http://en.wikipedia.org/wiki/Domain_model"&gt;domain model&lt;/a&gt; to move a bit closer to create the database architecture of the site.
It turns out that this magic tool exists, and it&amp;#8217;s free for non-commercial use: &lt;a href="http://cmap.ihmc.us/download/"&gt;CmapTools&lt;/a&gt;.
It&amp;#8217;s not web based, and it&amp;#8217;s a 59MB Java desktop application which can be used to create &lt;a href="http://en.wikipedia.org/wiki/Concept_map"&gt;Concept Maps&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Within minutes I was able to create a simple but pretty and functional enough domain model for my site:&lt;/p&gt;


	&lt;p&gt;&lt;img src="/files/ItalySimply-v3_domain-model.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Basically all the concepts I used are going to become models, and all the named relationships will become model associations in Rails.&lt;/p&gt;


	&lt;p&gt;Next step: database architecture.&lt;/p&gt;</description>
      <pubDate>Sat, 07 Jul 2007 07:43:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:9957858d-dece-4cc7-a8d8-a7bbb3b133b1</guid>
      <author>h3rald</author>
      <link>http://www.h3rald.com/blog/simply-on-rails-1-concepts-map</link>
      <category>Blog</category>
      <category>Rails</category>
      <category>website</category>
      <category>web20</category>
      <trackback:ping>http://www.h3rald.com/trackback/entries/104</trackback:ping>
    </item>
  </channel>
</rss>
