<?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"
	>

<channel>
	<title>GUI.NET</title>
	<atom:link href="http://gui.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://gui.net/blog</link>
	<description>Advanced Software Perspectives</description>
	<pubDate>Fri, 19 Dec 2008 06:06:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Boulder Denver New Tech Meetup Report - December 2, 2008</title>
		<link>http://gui.net/blog/2008/12/18/boulder-denver-new-tech-meetup-report-december-2-2008/</link>
		<comments>http://gui.net/blog/2008/12/18/boulder-denver-new-tech-meetup-report-december-2-2008/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 06:03:23 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=53</guid>
		<description><![CDATA[Our meetup report this month is over at the Gui.net Magazine at gui.magazines.me.
Going through the pages once again - it has been up for two or three&#8230; or is it five or six&#8230; let&#8217;s just say it has been a week now [dates on the articles are still forthcoming] - I can see it is [...]]]></description>
			<content:encoded><![CDATA[<p>Our meetup report this month is over at the <a href="http://gui.magazine.me">Gui.net Magazine</a> at gui.magazines.me.</p>
<p>Going through the pages once again - it has been up for two or three&#8230; or is it five or six&#8230; let&#8217;s just say it has been a week now [dates on the articles are still forthcoming] - I can see it is getting long in the tooth, that everybody is already learning how to make better looking pages that what we were making a week ago.</p>
<p>Oh, and by the way, if a couple of you Angel-type investors are interested in a publishing empire, or in a publishing platform empire, give us a holler. :-)</p>
<p>Enjoy!<br />
-Mike</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/12/18/boulder-denver-new-tech-meetup-report-december-2-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Boulder Denver New Tech Meetup Report - November 4, 2008</title>
		<link>http://gui.net/blog/2008/11/04/boulder-denver-new-tech-meetup-report-november-4-2008/</link>
		<comments>http://gui.net/blog/2008/11/04/boulder-denver-new-tech-meetup-report-november-4-2008/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 04:03:20 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=52</guid>
		<description><![CDATA[We didn&#8217;t make it to this MeetUp this time, first we have missed in several months. Sucks. We didn&#8217;t make it for several reasons. It was election night and wanted to spend it with family. And it was in Denver instead of Boulder. And we are knee deep in bugtrocities trying to get magazines.me ready [...]]]></description>
			<content:encoded><![CDATA[<p>We didn&#8217;t make it to this MeetUp this time, first we have missed in several months. Sucks. We didn&#8217;t make it for several reasons. It was election night and wanted to spend it with family. And it was in Denver instead of Boulder. And we are knee deep in bugtrocities trying to get magazines.me ready for beta [sometimes seems like every bit needs to be hand carried out of alpha territory], a website where the previous and hopefully the next several <a href="http://gui.magazines.me/">Boulder Denver New Tech MeetUp Reports</a> will be posted in Gui.Net&#8217;s magazine.</p>
<p>Reframe It Presented by Brian McKinney<br />
Demoing commenting in context, without the permission of the site.<br />
http://reframeit.com</p>
<p>Peaksware Presented by Donavon Guyot<br />
Demoing a nutrition and training program.<br />
http://www.trainingpeaks.com</p>
<p>Sxipper Presented by Dick Hardt<br />
Demoing Address Book 2.0<br />
http://sxipper.com</p>
<p>Syzygic Presented by Debra Brown and John Hand<br />
Demoing a group communications tool<br />
http://www.MobilizeUs.com</p>
<p>Socialeyes presented by Kevin Cawley<br />
Demoing several new viral Facebook applications<br />
http://www.standingmobile.com/</p>
<p>Churchill Navigation Presented by Tom Churchill<br />
Demoing the latest &#8220;Earthscape&#8221; application for the iPhone<br />
http://www.earthscape.com/iphone/index.html</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/11/04/boulder-denver-new-tech-meetup-report-november-4-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Boulder Denver New Tech Meetup Report - October 7, 2008</title>
		<link>http://gui.net/blog/2008/10/08/boulder-denver-new-tech-meetup-report-october-7-2008/</link>
		<comments>http://gui.net/blog/2008/10/08/boulder-denver-new-tech-meetup-report-october-7-2008/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 10:49:42 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=51</guid>
		<description><![CDATA[This will be a shorter report this month as I am supposed to be packing for the High-end Audio show this weekend at the Denver Tech-Center Marriott this weekend.
I got to the MeetUp a little late, but did catch that Boulder.me is signing up companies that are looking for top software talent.
Also that the November [...]]]></description>
			<content:encoded><![CDATA[<p>This will be a shorter report this month as I am supposed to be packing for the <a href="http://audiofest.net/">High-end Audio show this weekend at the Denver Tech-Center Marriott</a> this weekend.</p>
<p>I got to the MeetUp a little late, but did catch that Boulder.me is signing up companies that are looking for top software talent.</p>
<p>Also that the November MeetUp, on election day, will be at the Denver Hyatt at the deFrag conference.</p>
<h3><a href="http://www.appianvc.com/">Appian Ventures</a></h3>
<p>Presented by MARK SOANE<br />
Mark Soane Managing Director of Appian Ventures is going to talk about how the current financial crisis might effect the Boulder Denver Venture Market.</p>
<p>The meeting started with a special appearance by Mark Soane from Appian Ventures. He talked about how the &#8216;Financial Crises&#8217; [what a Orwellian name that is.] will affect VC investments in software technology. He said that VC for software tech has been at about $20B to $30B since the recovery after the stock market bubble burst - and that, although the funds used to fund tech are usually 10 year funds - that 2008 funding is down 20% year-over-year for software tech, but up for greentech/cleantech and something else I did not catch.</p>
<p>Valuations are also down, IPOs are essentially null and void [because, he speculated, Sarbanes Oxley adds a $3(0?)M tax to public companies]. But he thought the current situation will not be as bad as the wasteland that was tech those few years after the [last] crash.</p>
<p>He seemed to know which VCs had money to invest now - and what else are they going to do with it? Put it in a bank? Or the market? But that you had to more or less be a VC to know which VCs had the good stuff [and that there are pay-for newsletters with the scoop, but poor folks could also look at NBCA? and Price Cooper Waterhouse&#8230;]</p>
<p>OK. Enough cheery stuff.</p>
<h3><a href="http://www.chalk2me.com">Chalk2Me</a></h3>
<p>Presented by Nick Sowden, Rob Witoff<br />
They will be Demo&#8217;ing a communication tool that allows organizers to instantly send a single message to a large group of users via phone, text, email, IM or social network</p>
<p>Well, the summary pretty much describes what they do. Written in C# and ASP their target audience at the current time is teachers, who for $10 can send messages to all their students. There was a question raised about special privacy laws in CA et. al. vis-a-vis teachers contacting their students [outside the classroom? using email? by phone? what a world] - but the answer was that all communications are available to school administrators to monitor.</p>
<p>I couldn&#8217;t tell whether students used the system to indicate their preference for how they are contacted or whether the teachers filled in the data for each student.</p>
<h3><a href="http://www.verving.com">Verving</a></h3>
<p>Verving is a information site for people who are old. Very old. Like me. Lots of population statistics is driving marketing which, using their r proprietary development methodology, assures their technical team will stay marketing driven.</p>
<p>78M people are above 50 years of age. 86K will turn 50 this week. 67% are online, Of those 97% lookup health websites, 96% email, 93% pursue contacts with friends and family - but 67% do not like the current social websites. </p>
<p>Their site offers reviews of great content to be found on the net. 500 so far. They have partnered with Boomer Alley and are looking for more partners. </p>
<p>One of our projects was a site with goals very much like this one - but with an entirely different approach vis-a-vis look-and-feel - and the feedback we got was that people already knew all the sites that they thought were important to them. Why would they want to know about others? If they are any good they will, in the natural course of time, find them through the current sites they frequent. Maybe they were afraid of bring overwhelmed with great sites :-) - or of the idea of reviews that were managed by people with an agenda - or by lowest-common-denominator types [like most review sites].</p>
<p>So partnerships seems like a GREAT idea - get they people to visit for other reasons, THEN they will find the goldmines of information.</p>
<h3><a href="http://www.umapper.com">Umapper</a></h3>
<p>Presented by Andrei Taraschuk, Brett Grissinger<br />
They will be Demo&#8217;ing a web-based map authoring</p>
<p>A flash-based map editor that supports just about every geo format that people can distribute with or without advertising. Standard graphics editor operations were demoed, with nice integration between the graphics and the underlying semantic and stream-based content of the location-aware data on the map. </p>
<p>HTML is generated upon save so that the map is usable and search engine indexable on any website. They are growing rapidly and it looked like [the slides go by fast when you are trying to scribble everything down] they now have 80,000 users after about 5 months. Their wordpress plugin alone has garnered 6000 downloads. </p>
<p>They are looking for additional funding of $2M and indicated that, with respect to Google, their potential competitor, that they support many more formats and that they are not Google, which many companies are looking at as a positive as the behemoth-that-is-Google starts to scare people away by its very size.</p>
<h3><a href="http://www.iounote.com">IOUNote</a></h3>
<p>Presented by Erika Archer, Ben Monlezun, Scott Archer<br />
They will be Demo&#8217;ing an innovative Web-based tracking and management system for interpersonal loans.</p>
<p>Again, a good description above there. A social lending site for people who want to document their borrowing/lending things to their 1st and 2nd degree friendships network [i.e. friends and friends of friends]. They stated that 16% (or 14%?) of people renig on paying back what they borrowed, but that with documentation, only 5% to not pay back or return the borrowed item. </p>
<p>The site, still in early beta, is set up to handle the 3 things people mooch/lend: stuff, money and services.</p>
<p>This idea seemed to resonate quite well with the audience, though I wonder if it is really because lenders want to get paid back [and, of course, they do], but that it can add depth and fun to the lending/borrowing interaction between friends - and it gives the moocher more leverage to actually get the lender to cough up the items - what with it being documented and all. And having it be a uninterested 3rd party keeps the focus on the relationship between the friends, and not some stranger like a lawyer [nor another friend who does not want to be in the middle of something like this!].</p>
<p>They will charge money for a premium version that sets up monthly payment schedules, etc. </p>
<p>Statistics they presented [it was a night for statistics and the $700B wallop to the wallet was also in the room] indicated that person-to-person lending is growing (and I had to write this quickly, so this is the jist of what the slide said, don;t quote me):</p>
<p>2005 $118M<br />
2006 269M<br />
2007 647M<br />
2010 5.8B (projected, duh)</p>
<p>Also that the minimum credit score to borrow [what?] has risen from 680 to 720, so now the average American now has a bad credit rating. </p>
<p>So, yeah, I like this idea and I think the more fun they put into the website the better [and from the demo, it looks like they are already doing this]. </p>
<h3><a href="http://www.contxts.com">Contxts</a></h3>
<p>Presented by Daniel Newman<br />
They will be demo&#8217;ing a new way to quickly exchange contact info via SMS.</p>
<p>This site lets people send text messages to people that more or less sends them your business vcard. The free version lets you only have one business card, the premium model adds the ability for you to have multiple business cards [one personal, one corporate, one for family, etc.]. </p>
<p>These vcards have much more information than your traditional business card, like how to get to your Flikr photos, MySpace address, etc. Anything you want other people to see about you.</p>
<p>I am not sure I understood this very well - I think the face-to-face of handing someone a business card is important to many people, and it is just not as easy to forge yourself as CEO of Google on a piece of cardboard than in an online vcard (the cardboard card costs money - mostly shipping). So perhaps there are trust issues with vcards. And presumably you can only send vcards to other people who are signed up?</p>
<p>Back in 1999 Palm set up something similar at JavaONE and people were going around squirting information and who knows what else between each other. </p>
<p>Well,  I am in the &#8220;cells are for business and emergency management - not for fun - generation&#8221;. Perhaps the texting generation will love this approach.  If that includes you, send</p>
<p>JOIN FIRSTNAME LASTNAME EMAIL</p>
<p>to</p>
<p>50500</p>
<p>And you will be signed up.</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/10/08/boulder-denver-new-tech-meetup-report-october-7-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Determining and detecting Page Zoom levels in IE and Firefox</title>
		<link>http://gui.net/blog/2008/10/06/determining-and-detecting-page-zoom-levels-in-ie-and-firefox/</link>
		<comments>http://gui.net/blog/2008/10/06/determining-and-detecting-page-zoom-levels-in-ie-and-firefox/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 11:59:01 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=50</guid>
		<description><![CDATA[Page zoom is when the user zooms in and out of a page on a website by using ctrl + and ctrl - (or ctrl scrollwheel) increasing or decreasing the font and other stuff that the browser implementers thought would be easy at the time . 
Oh, Shakespeare needed to write a tragedy about all [...]]]></description>
			<content:encoded><![CDATA[<p>Page zoom is when the user zooms in and out of a page on a website by using ctrl + and ctrl - (or ctrl scrollwheel) increasing or decreasing the font and other stuff that the browser implementers thought would be easy at the time . </p>
<p>Oh, Shakespeare needed to write a tragedy about all the things programmers thought &#8216;would be easy at the time&#8217;. </p>
<p>Both Internet Explorer and Firefox try and do this - and they do it quite differently. We are not going to go into HOW they do it differently - even less people care about that than they do about being able to determine the zoom level. We are posting this because the code found on the internet - although helpful in pointing the way - did not work or was &#8230; verbose. </p>
<p>OK.</p>
<p>The javascript code returns a page zoom level of 1.0 for the default zoom level, about 1.2 for the zoom level I like to use, and in general I&#8217;ve seen numbers between about 0.75 and 1.5.</p>
<p>First (or second, whatever), insert an element somewhere on the page. We used a div. </p>
<pre>
&lt;div id="zoom_level_detector" style="left:100px;height:1em;position:absolute;font-size:16px;">&lt;/div&gt;
</pre>
<p>Our default font size is 16. If yours is different, change the 16 in the javascript to the font size your app is using where you inserted the div. There are tons of places online to find how to determine what browser your code is running in (isIE). The $ method is provided by prototype.js to do a lookup on the id of an element.</p>
<pre>
function getPageZoom()
	{
	var detector = $("zoom_level_detector");
	var zoom = 1.0;
	if (isIE)
		{
		zoom = detector.offsetLeft / detector.style.pixelLeft;
		}
	else
		{
		zoom = detector.offsetHeight / 16;
		}
	return(zoom);
	}
</pre>
<p>To detect when the user zooms in or out, just keep polling this function using setTimeout or setInterval, watching for changes to the value the getPageZoom function is returning.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/10/06/determining-and-detecting-page-zoom-levels-in-ie-and-firefox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Making tinyMCE work with custom domains</title>
		<link>http://gui.net/blog/2008/10/06/making-tinymce-work-with-custom-domains/</link>
		<comments>http://gui.net/blog/2008/10/06/making-tinymce-work-with-custom-domains/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 11:42:42 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=49</guid>
		<description><![CDATA[Our application uses custom domains. We let users point their own domains, say purplecow.com, to our magazines.me website and to all intents and purposes it looks like their domain.
TinyMCE 3.2.0.2 does not work with custom domains - when to goes to try and download additional sections of its own code during initialization (creation). It thinks [...]]]></description>
			<content:encoded><![CDATA[<p>Our application uses custom domains. We let users point their own domains, say purplecow.com, to our magazines.me website and to all intents and purposes it looks like their domain.</p>
<p>TinyMCE 3.2.0.2 does not work with custom domains - when to goes to try and download additional sections of its own code during initialization (creation). It thinks we are trying to do cross-domain scripting because our server is not residing at purplecow.com, it is instead still at magazines.me. It then gets the infamous and somewhat infuriatingly nonsensical [because the exception is indeed caught. Hello?] error:</p>
<p><span class="mcon"><strong>Error: uncaught exception: Permission denied to call method XMLHttpRequest.open</strong></span></p>
<p>TinyMCE trys to use its own code to drive <span class="mcon"><strong>XMLHttpRequest </strong></span>to download its own files from the server. Our solution, since we are using prototype anyway,  was to replace the tinyMCE code with code that uses prototype instead. Presumably one could to this with JQuery as well. Don&#8217;t know.</p>
<p>Code follows. Replace the XHR send function, at or around line 854 in tiny_mce_src.js with</p>
<pre>
	send : function(o) {
		var x, t, w = window, c = 0;

		// Default settings
		o.scope = o.scope || this;
		o.success_scope = o.success_scope || o.scope;
		o.error_scope = o.error_scope || o.scope;
		o.async = o.async === false ? false : true;
		o.data = o.data || '';

		var options = { method : o.type || (o.data ? 'POST' : 'GET'), onComplete: function(x) { o.success.call(o.success_scope, '' + x.responseText, x, o) }, asynchronous: o.async === false ? false : true, contentType: o.content_type }
		var req = new Ajax.Request(o.url, options); }
</pre>
<p>Compressing this into tiny_mce.js is left for another day.</p>
<p>P.S. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>We switched back.</p>
<p>We now have our users do their editing on a page with a url on the home domain, not the user&#8217;s subdomain. Not as clean looking, but FireFox does not allow javascript access to stylesheets from subdomains.</p>
<p>We then restored the above code to its original state. It still did not work to download tiny_mce from Amazon S3, yet another security breach, so it is now downloaded from our server instead. [We have switch back and manually download everything ourselves, and not let tinyMCE load its own code - which is the default.]</p>
<p>If there is a theme here, it is that the security in these browsers is haphazard, often unfathomable, and a pain in the butt [and on that subject, if we weren&#8217;t prohibited from reading the frame buffer, Javascript could compete directly with Flash, only better. Or the ability to determine what text the user has selected on the page, even when the text is not in a TextArea - so we could have real word processors right in the browser.].</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/10/06/making-tinymce-work-with-custom-domains/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Boulder Denver New Tech Meetup Report - September 2, 2008</title>
		<link>http://gui.net/blog/2008/09/03/boulder-denver-new-tech-meetup-report-september-2-2008/</link>
		<comments>http://gui.net/blog/2008/09/03/boulder-denver-new-tech-meetup-report-september-2-2008/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 02:18:17 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=48</guid>
		<description><![CDATA[Another month, another Boulder Denver New Tech Meetup. This month was the least crowded BDNTM I&#8217;ve been to, there may have even been an empty seat or two.
Announcements
There is a DEMO Conference coming up. According to PC World &#8220;a gathering of venture capitalists and corporate high-tech investors watch as demonstrators are present their efforts at [...]]]></description>
			<content:encoded><![CDATA[<p>Another month, another <a href="http://newtech.meetup.com/27/calendar/8675409/">Boulder Denver New Tech Meetup</a>. This month was the least crowded BDNTM I&#8217;ve been to, there may have even been an empty seat or two.</p>
<h3>Announcements</h3>
<p>There is a DEMO Conference coming up. According to <a href="http://www.pcworld.com/article/141916/demo_2008_conference_focuses_on_video.html#">PC World</a> &#8220;a gathering of venture capitalists and corporate high-tech investors watch as demonstrators are present their efforts at breakthrough technology worth investing in&#8221;. There is one of these in San Diego early this month.</p>
<p>Similarly, there is a <a href="http://csiaonline.com/Events/DEMOgala/tabid/192/Default.aspx">CSIA DEMO Gala</a> in Denver this Thursday.</p>
<p>There was a fella offering classes on how to get 1000 to 1500 people in your network on LinkedIn for free instead of the normal $100 price. Do real people actually know this many people professionally? [I mean the average Joe, not people like <a href="http://www.crankygeeks.com/">Dvorak</a>].</p>
<p><a href="http://www.rockymountaintechline.com/index.html">Rocky Mountain Tech Line</a> announced their new print magazine. &#8220;The Magazine for IT Professionals in Colorado&#8221;.</p>
<p>There were a few job announcements. Fewer than average. Uh Oh.</p>
<p>Later, a question was put to audience whether the MeetUp should be held at the <a href="http://defragcon.com/2008/index.html">deFrag Conference</a> in November. All these conferences&#8230; DeFrag really looks like fun, but $1500? Uh&#8230;.</p>
<h3>Fling it Girl </h3>
<p>Presented by Gerhard &#038; Kary Rivera<br />
a new social bookmarking and shopping site aimed at the Web-savvy consumer crowd.<br />
<a href="http://flingitgirl.com/">http://flingitgirl.com/</a></p>
<p>This was launched about a month ago. It started off as &#8220;a Digg for woman products&#8221;. They had their users use their downloadable toolbar, written by Me.dium, to select products they liked.</p>
<p>When they noticed that people were somewhat reticent to contribute references to products [they hoped their users would act similar to people contributing references to news stories on Digg] did not show results they started their current automated with benevolent dictator (ala <a href="http://slashdot.com">slashdot</a>) approach [yeah, you might be thinking, and even our host, <a href="http://newtech.meetup.com/27/members/3161500/">Robert Reich</a> asked them if they thought that one month was really long enough to evaluate their user&#8217;s behavior in this area. This brings up something that we&#8217;ve wondered about - we also expect a site to take off in the first month - that people will either like it immediately and flock to it - or, unfortunately, not. Is this reasonable? If not, why not. In the real world, things are so heavily marketed, it is hard to tell what really resonates with people and what we have just been badgered to death to want/buy/hate/think]. In this case, they said their celebrity gossip website had no such problems with people contributing stories and concluded that people just did not like to contribute products.</p>
<p>They now also have 300 blogs and online retailers? signed up who will submit their best products. From what I understand, it is from these businesses they anticipate generating revenue. </p>
<p>They are working on expanding the feature set of the site by adding a recommendation engine that gathers data by watches the user&#8217;s behavior. The site is written on top of the <a href="http://www.pligg.com/">Pligg Content Management System</a>.</p>
<p>Gerhard was an entertaining speaker and congratulations to them getting 300 contributing sites signed up already.</p>
<h3>Sports Data hub</h3>
<p>Presented by Kevin Goodfellow<br />
interactive football data analysis tools<br />
<a href="http://www.sportsdatahub.com">http://www.sportsdatahub.com</a></p>
<p>Denver-based website that supports sports data visualization- currently Football and Fantasy Football. This was also launched one month ago. ESPN has already pronounced the site &#8216;very promising&#8217; [good job guys]. They seem to be well-funded (Angel) and have 10-15 people and it took 18 months to get where they are today.</p>
<p>Football is just the first sport they are covering - and their business model has them making money from:</p>
<p>* B2B - their site can be skinned so that someone, like ESPN, can brand their own version<br />
* Subscriptions - for users who want advanced features<br />
* Online ads</p>
<p>What does the site do? It shows many kinds of custom graphs of all kinds of relations between all kinds of data about Football. Their example was based on the recent news that a baseball referee was caught cheating - and that statistically, one could see this immediately if one looked at a few graphs and saw how strange the stats were for this ref. So, the demo was about looking at stats about football referees and seeing if there was a ref in that sport whose stats indicated anomalous behavior. </p>
<p>And there was! Graphing pass completions per game per ref, a ref named Ken Dollar had significantly more successful pass completions occur when he was refereeing the game. We were demoed several different graphs that showed this.</p>
<p>This went by pretty fast [during a 5-minute demo] and I am no Football statistician [aka fan]. They do have 3 videos and more are on the way to help users use the site. Later they are planning on adding support for visualization involving play-by-play stats.</p>
<p>For some reason, people were nosy about what the apps were built on tonight - and we learned that this was built partially on <a href="http://pentaho.com/">Pentaho</a> and not Joomla. It also uses <a href="http://www.qliktech.com/home.aspx">QlikView</a>&#8217;s <a href="http://en.wikipedia.org/wiki/Extract,_transform,_load">ETL </a>services to best effect.</p>
<p>[One of the GREAT things about the MeetUp, when it clicks, is that you can immediately learn about many of the products and issues in the presenter&#8217;s particular domain - as much from the audience as the presenter.] </p>
<h3>AppVenture</h3>
<p>Presented by Fernando Cardenas<br />
Software that generates applications<br />
<a href="http://www.appventure.com">http://www.appventure.com</a></p>
<p>AppVenture presented their AppGen application. AppGen generates applications from graphs of entity-relation models. This demo consisted of building a Personal Movie Database application in 3 minutes or so. The created app (and the builder) ran on .NET. It generated 10,000 lines of C++ [OK, I can hear all you Ruby on Rails people giggling] in 100 files. AppGen is two-years old.</p>
<p>AppGen will support other platforms, and there is an Architect&#8217;s license available for people who want to write the porting layer themselves.</p>
<p>I like the focus on modeling and leaving the algorithms to programming languages [and attributes in forms, unlike the UML visual programming language]. Having written several AppGen-like tools ourselves, and watching many other companies write them as well [Sun, SGI, NeXT, etc.] and watch them receive lukewarm receptions [even AVS is backing away from its scientific dataflow visual programming tool] I now wonder if it is because the tools that target programmers fail because programmers like to code, not draw pictures - and those that target domain specific experts [for example, Telecoms] are targeting users not comfortable thinking abstractly. That perhaps the only visual programming tools that are successful are domain-specific tools that support direct-manipulation of something &#8216;real&#8217; to the user - like photos, or music&#8230; or files, or stocks, or switches - and provide immediate feedback.</p>
<p>AppGen sells for $650/seat. It was also launched 1 month ago. </p>
<p>The Q&#038;A session was reflective of the little bit of a trend last night for the presenters to misunderstand the questions - or maybe it was just me.</p>
<p>For example, the question/suggestion that AppVenture might want to think seriously about consulting as a business model. The presenter responded by reiterating their intention to continue developing their AppGen product - missing the point that many many companies use consulting around their nascent product to:</p>
<p>1. Generate revenue to fund further development of the product<br />
2. Get feedback about what features of their product are really useful in the field<br />
3. Provide a comfort level to their client base by letting the client know that their current, no-doubt over-worked IT team has a back-up team of trained consultants ready to step in.<br />
4. Let&#8217;s clients put their foot in the water by trading money to see if the product can really do what they need it to do - if trained consultants can do it, and the developed app is successful, then they will move to the next step of bringing the expertise in-house<br />
5. etc.</p>
<h3>NAVARAGA CORP - KAMUNE</h3>
<p>Presented by Steve Phelan<br />
<a href="http://www.navaraga.com">http://www.navaraga.com</a></p>
<p>Navaraga, soon to be Kamune.com, has a product that is sort of like a social community wrapped around a wiki that is indexed by a hierarchical file folder system like Windows Explorer. Targeted at large organizations and billed as a replacement for email [the presenter got some flak for this - but the school of &#8220;products must be marketed by pointing out what pain they are relieving&#8221; might approve of this approach] the company is directly aimed at Microsoft Outlook and Exchange users. </p>
<p>Not ever having to use Outlook [:-)] I will focus on what looks to me like an interesting idea of how to organize communications between people. The demo example had a hierarchy about 8 levels deep, which may be kind of overly organized [from the perspective of email] - where at the bottom of the hierarchy might be an area for a small team in a large company to have a meeting, or a ongoing debate about a particular issue, or a document that people are commenting on over the course of a long project. I like this hierarchical approach - as long as their can be direct links and search - too many things these days, IMHO, are just spiderwebs of links]</p>
<p>Their app also has support for &#8216;bubbling up&#8217; notifications [aka sending emails] about changes to one of these &#8216;erooms&#8217; to people that presumably had to register their interest in. </p>
<p>In the Q&#038;A they mention that, as opposed to <a href="http://www.emc.com/products/family/eroom-family.htm">eroom</a>, their product is designed for private communications within and under control of a company. From my perspective, Kamune seems more user-centered [getting things done], as opposed to management-centered [make sure that people are doing what they are supposed to be doing]. In this sense it then competes with <a href="http://www.basecamphq.com/">BaseCamp </a> et. al. but with way, way, way more features [which may be a good thing and a bad thing].</p>
<p>This app is web-based, has most if not all of the widgety features of Outlook, and costs $50/user per month.</p>
<h3>Orchestr8</h3>
<p>Presented by Elliot Turner<br />
A content portability service for the creation of widgets, feeds, and APIs from any existing content on the web.<br />
<a href="http://grid.orch8.net/overview/">http://grid.orch8.net/overview/</a></p>
<p>They demoed their Alchemy Grid product which is a web service which takes any piece of a website and turns it into a widget.</p>
<p>For example, they have a widget that recognizes that a webpage contains search results, they can bottle up the search that generated those results, put them in a widget, and then filter the results - even automatically filtering the results based on what else is on the page. For example, the widget showing search results for &#8216;concerts&#8217;, say, would show different results on a blog post about Madonna than it would on a blog post about Radiohead.[I hope I got this feature right - I spent a lot of time trying to figure out how they did some of this stuff and so would miss bits here and there of what they were saying - another of the funs things, for me, to do at these MeetUps]</p>
<p>[These guys have the same problem I have: start with a great idea, and then write tons of code and blow it up into a paradigm shift. I, however, am trying to be better and resist&#8230;the&#8230; urge].</p>
<p>They provide several APIs to the widgets: JSON, RSS, Atom, etc. They support Open Social and most social networks. They use statistical models to process data instead of semantic keyword lookups. They have a way for content producers to log in and verify themselves and block uses of their content by people using these widgets on their websites.</p>
<p>They have been working on this since 2005 with $500K in funding. It is about 400K lines of C++ code and took about 15 staff years to write and they have created about 3000 APIs and 1000 widgets [by which they mean, I think, an API for Google search, one for Facebook, etc]. They are currently looking for $3.5M in new funding - and are doing a beta release this month.</p>
<p>One use-case they mentioned, as a business model [I think], is advertisers wanting people to put widgets on their blogs. Perhaps if a online business were to create several types of widgets - and there was a way for your average blogger to stop by and select one of these widgets and install it on their blog, and there was a way for the blogger to earn money when someone clicked on the widget while on their blog [and bought something? That might be out-of-scope]&#8230; then this might be a very nice around having to pay Google, or any one else, to run ads. Well, maybe they would have to pay Orchestr8 - but they would definitely have more control over the ads - much more the way Amazon widgets work with their &#8220;associate&#8217;s&#8221;.</p>
<p>Or another idea is to just do one widget - a small, small part of Orchestr8 - one that searches for something like&#8230; your company name for example, and notifies you whenever someone new references it on Google, or someone references it in specific forums, or Digg, or Facebook, etc. Right now small companies have to keep checking for themselves, and medium-sized ones get to have their customers surprise them, for people posting positive feedback [ah, the rewards of doing your job well], constructive criticism [yeah, right],  and brand-damaging accusations [on the web? Nahhhh]. This is alone probably worth $3.5M to a smart investor [which I *think* is what Robert&#8217;s point was - when he was weighing the 5 or 6 products Orchestr8 seems to have now and the measly ;-) $3.5M].</p>
<p>A lot of *I think*s in this last part here&#8230;. short for &#8216;there is a larger probability than the already quite high probability that I could be wrong about this&#8217;. </p>
<p>Well, we are off to cover CEDIA, the Consumer Electronics Design and Installation Association Show, which is in Denver and occupying most of the Colorado Convention Center Thursday - Sunday. We do a <a href="http://www.audiofederation.com/hifiing/2008/CEDIA2008/index.htm">CEDIA show report</a> with several hundred large juicy photos of mostly new TVs, projectors, and high-end audio gear - and just the spectacle of it all [kind of a junior CES]</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/09/03/boulder-denver-new-tech-meetup-report-september-2-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Boulder Denver New Tech Meetup Report - August 6, 2008</title>
		<link>http://gui.net/blog/2008/08/06/boulder-denver-new-tech-meetup-report-august-6-2008/</link>
		<comments>http://gui.net/blog/2008/08/06/boulder-denver-new-tech-meetup-report-august-6-2008/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 21:51:53 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=46</guid>
		<description><![CDATA[This month at the Boulder Denver New Tech Meetup here at the Law Center on the C.U. campus, it was an overflow crowd watching 6 presentations by companies, all of whom were also showing at TechStars, one from TechStars 2007 and the rest from 2008.
This was this MeetUp&#8217;s two-year anniversary. It now has a LinkedIn [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.techstars.org/images/global/logo.gif" alt="TechStars Logo" />This month at the <a href="http://newtech.meetup.com/27/">Boulder Denver New Tech Meetup</a> here at the Law Center on the C.U. campus, it was an overflow crowd watching 6 presentations by companies, all of whom were also showing at <a href="http://www.techstars.org/">TechStars</a>, one from TechStars 2007 and the rest from 2008.</p>
<p>This was this MeetUp&#8217;s two-year anniversary. It now has a LinkedIn page, a Facebook page, and they are going to start having after-meeting demos outside the auditorium in the hallway.</p>
<p>I am not sure I understand somethings about TechStars&#8230; for example, at what point does a start-up become not-a-start-up-anymore and no longer TechStarable? How many years old and how many registered users? Or are there just 3 states of &#8216;corporate being&#8217; in the tech world: start-up, failure, and sold-to-Google? Well, here&#8217;s hoping everybody moves to the 3rd state of being.</p>
<p>TechStars is <a href="http://techstars.org/community">starting a community</a>. It requires an invite code&#8230; and I am not sure they want me posting it on the web&#8230; so if you are interested, email me at michael@gui.net and I&#8217;ll email you back.</p>
<p>And August 20 is DEMO DAY. They are now open to the public but you <a href="http://tinyurl.com/tsdemo">must RSVP first</a>.</p>
<p>Funny, just yesterday I watched the <a href="http://www.justin.tv/hackertv/98115/David_Heinemeier_Hansson_Creator_of_Rails">videos from the Startup School</a> this Spring with David Heinemeier Hansson creator of Rails, Marc Andreessen, Mike Arrington founder of TechCrunch and Peter Norvig Director of Google Research. Summarizing: Target something reasonable and sustainable. not everybody can be Google | Be like a cruise missile, constantly course correcting and course-correctable | Be so good / different they can&#8217;t (it doesn&#8217;t pay to) ignore you - and well that is about it. Not many companies can be data-driven instead of code-driven [I don&#8217;t think - though almost all of us look at data and develop algorithms based on the data. Or I could be missing opportunities here. Needs more thought.] like Google, and if you got a great story about someone who really does not want the story told, send it to <a href="http://techcrunch.com">TechCrunch</a>. [But I think David is wrong about people not being able to work productively 12-14 hour days, day after day, week after week, &#8230; at least not in a quiet supportive environment. If, however, you got a Difficult Programming Environment, well, your mileage may vary]</p>
<h3><a href="http://eventvue.com">EventVue</a></h3>
<p>Presented by Rob Johnson<br />
They will demonstrate a new feature that lets you discover who in your LinkedIn network is attending an upcoming conference</p>
<p>EventVue sets up communities around conferences, so that attendees can get more bang out of their conference attending experiences. Putting horrific [;-)] amounts of pressure on this year&#8217;s TechStars, they announced that they got $250K in funding right after last years event. They also announced that they now support 28 different conferences, of which 9 signed up in the last month.</p>
<p>The new feature they demoed this night was a widget of their that goes on conference websites, and that, when clicked, displays all your LinkedIn associates who are also going to the conference. They will also email you whenever one of your LinkedIn associates signs up for the conference. Pretty cool. Of course, it does depend on you having some number of friends over on LinkedIn (which I personally find, how can I say this nicely&#8230; too corporate. Someone needs to make a nice, characterless social site. You know, for the rest of us - who don&#8217;t have time to chat all day and think &#8216;networking&#8217; is fine when you are looking for work but as a pastime seems a little - uh - shallow?). One can only imagine that Facebook is next. Twitter seems like it would make a lot of sense as well.</p>
<p>They are looking for PHP developers and are interested in any feedback someone might have. They are also looking for conferences that might be interested in setting up a community around their conference. Seems like a good idea to me - and would increase the number and &#8217;stickiness&#8217; of the attendees. </p>
<p>Their business model relies on charging the conferences $4/registered attendee. Because of this approach they are not able to support communities around, say, the New Tech Meetup: Registration is iffy and the MeetUp is free. I think this is a mistake. Perhaps they can have two-tiers of product: one is free and one, with more features of some sort, is not. Then people would get used to their communities by joining a free one and then surf over to the for-pay ones to see what other cool conferences even exist [it is hard to keep track of what conferences are in the area, much less what are the cool ones coming up. An idea for another start-up? For example, how many readers know that CEDIA is in Denver Sept. 3-7 (which we will cover on <a href="http://audiofederation.com">Audio Federation</a>)? Or that <a href="http://audiofest.net/2008/index.php">Rocky Mountain Audio Fest</a> is at the Denver Tech Center Marriott this October 10-12th?].</p>
<h3><a href="http://Ignighter.com">Ignighter</a></h3>
<p>Presented by Dan Osit, Adam Sachs, Kevin Owocki<br />
They will demonstrate online dating with a twist.? You and your friends put up a profile together and look for another group to hangout with</p>
<p>Ignighter is a your-group-meets-with-my-group dating service with over 10,000 members. The demo went pretty fast - all these TechStars demos were perfecto mundo in terms of getting through their presentation in a clean and comprehensive manner - so it was hard to catch everything they were showing. But it looked like they have given each aspect of their service a lot of thought and the website looked clean and cared for.</p>
<p>Their presentation involved a fictitious walk-through of using the website to set up a rendezvous between their VC, Jason.. uh&#8230; Mendelson, and his group of friends and a gal and her group of friends. They poked a lot of fun at him last night and hopefully they still have funding today. ;-)</p>
<p>When asked if they had a filter for adult content, they said they were trying to build a filter that ONLY gives you adult content. There are so many ways for this joke to expand to TV and the election and &#8230;.</p>
<p>Their business model, which I missed some of, has them derive revenue from premium members and ads and something else.</p>
<h3><a href="http://Fluxcapacity.net">Fluxcapacity</a> (now <a href="http://Occipital.com">Occipital</a>)</h3>
<p>Presented by Jeffrey Powers, Vikas Reddy<br />
They will demonstrate a new way to navigate a digital photo stream</p>
<p>Occipital helps people arrange their 1000s and 1000s and 1000s of photos. The problem is getting out of hand with everyone taking lots of photos and not having to delete any because we all have such large disks.</p>
<p>They do this my arrange photos in 3D in various arrangements and visualizations. For example, they can arrange the photos in time order, and even cluster the photos together in clumps to reflect how most of us go on shooting sprees. If you have the right kind of camera, they can also arrange photos so that you can see WHERE you took the photos. Their example was showing how some photos were taken while they were sight-seeing along Boulder Creek. </p>
<p>They can also recognize characteristics of the photos themselves and link them together based on common features detected. Again, in one of their examples, they could identify all photos that had their business card in them. A little contrived, but you can see how just being able to recognize even basic things like daytime versus nighttime, or inside versus outside, would be an immense help in finding photos and enjoying our photos.</p>
<p>The final major feature they demoed was automatic panorama creation - where they can take your photos and position the photos next to each other, or even overlapping [and apparently smoothing some of the transitions] so that you can see a wide-angle view of what the photos were taken of. </p>
<p>[FireFox (2) died and I lost the first  edition of this write-up. What is with WordPress (2.5.x) not automatically saving published posts, just unpublished ones? What is with them removing the Save and Continue Editing button? What is with the coming out with a new release every 6 months and yet requiring a manual install? Like we all have extra time to spend reinstalling on, well in my case, 3 active blogs plus my Dad&#8217;s - not to mention the little fixes and customizations we apply to each version so now the situation is one large multi-versioned mess&#8230; OK, back to the MeetUp].</p>
<p>One of the questions was about PhotoSynth 3D and how they also did automatic panoramas as well. Occipital pointed out that they do not require 1000s of photos of a location to panoramerize [:-)] it - and so are able to provide this feature to ordinary people with ordinary shooting habits.</p>
<p>Seems to me like these guys got the technology down pat - although their visualizations haven&#8217;t been optimized to be real-time yet [they showed a video]. They seems to be waiting until they are sure they got the right set of visualizations before they optimize and put out a product for people like us to use [we take about 10,000 photos per year, although most of them go into high-res show reports - so the fact that the rest get abandoned (but not deleted!) might be appropriate in our case].  </p>
<p>Having been around visualization for 20 years, it seems to me that people are particularly fickle when it comes to apps like this. Some people like it, some will not. Some will love it. Many will change their minds over time. Before Google bought Picasa, they were just an oddity, and deservedly so IMHO [post Google do they even still have a treemap? Do they still leave a turd in every single damn directory on the disk?]. </p>
<p>Businesses seem to be open to visualizations more than consumers - and an app like this that visualized documents would be cool, where versions could be tracked through time, and geographically based on location of storage server and author of document. Similar documents could be determined and clustered together&#8230;.</p>
<p>But for Occipital - we have kind of moved away from visualization here, away from doing anything that requires users to think, especially abstract thinking. Like Zappa said - it ain&#8217;t getting any smarter out there [and he said that long, long ago :-)]. So my lame advice would be to make it simple enough for an ape, and focus on things like the user&#8217;s vanity and porn-viewing habits [perhaps allow scoring of photos so their favorites immediately come to the front, etc.]. Maybe Neli will come up with something&#8230;</p>
<h3><a href="http://peoplesoftware.com">People&#8217;s Software Company</a></h3>
<p>Presented by Susan Mernit &#038; Lisa Williams<br />
They will demonstrate WhozAround? a new application that offers a better way to plan and schedule</p>
<p>Sorry everyone, but I do not have hardly anything in my notes, nor is there information on the website, so let&#8217;s move on to the next presentation.</p>
<h3><a href="http://Foodzie.com">Foodzie</a></h3>
<p>Presented by Emily Olson, Nik Bauman, Rob LaFave<br />
They will demonstrate an online marketplace for consumers to discover and buy food directly from small, artisan producers</p>
<p>FoodZie helps producers of edibles sell directly to consumers of edibles. Their focus is the producers and on making their website very easy for producers to list what they have for sale. For example, after a user uses their website to buy something, FoodZie automatically ships a the shipping labels to the producer.</p>
<p>They even have a widget for producers to put on their own websites, so that people can click on over to FoodZie and buy their stuff. There was some questions [I think] about the conflict the producer will have sending their consumers over to FoodZie where they might buy from the producers competitors [at a lower price, forcing downward pressure on pricing - good for the consumer, but this is supposed to be a producer-focused site]. Perhaps they could enhance their widget so that the producer&#8217;s items can be bought directly on the producer&#8217;s website? </p>
<p>From the demo, it looks like a well-thought out site in a clean web 2.0-ish style. FoodZie, Ignighter and Gyminee all seemed to have nicely designed websites - the latter 2 appearing to be more mature [the other 3 presenters did not demo their sites] [oh, and FoodZie is not even live yet, which accounts for the other two looking more mature - though by mature we mean what? Lots of subtle features that only a few people will want, &#8230;kind of like Rails 2.1 ;-)]. </p>
<h3><a href="http://Gyminee.com">Gyminee</a></h3>
<p>Presented by Andy Smith, Stephen Blankenship<br />
They will demonstrate a web-based health and fitness tracking application and social network</p>
<p>Gyminee [love their name] is a fitness training social community. They have 35,000 users, 100K visitors an 1M page views per month. They have fancy widgets, fancy charts, fancy demonstration videos [which anyone can upload], they have widgets for your own website, for the iphone&#8230;</p>
<p>This demo went by quickly [and boy do we get a lot of demos of fitness software here at the Boulder MeetUp. Wonder why that is&#8230;. ;-)] but it looked very impressive in terms of the breadth and depth of the support for people who want to track their fitness regime [or is it regimen] online. They make money by charging $15/3 months for their premium membership - where they can get advice from real trainers and not just, potentially, their neighbor. </p>
<p>Some of their ads [in their presentation] were a little distressing - but probably common in today&#8217;s marketplace&#8230; Lose 44 lbs in 70 days! 216 to 160 lbs in [I forget]! Holy unsustainable and likely dangerous and permanently scaring weight loss Batman!</p>
<p>35K users seems pretty good to me. I mean, how many people exercise in the U.S.? 35K? And are they all in Boulder? I workout [I am in Boulder] and their website looks very attractive to me - enticing me to spend more time there even though I am not at all interested in tracking my workouts online, or telling people about them [although I do sometimes look for new exercises and how to focus on one particular muscle - and the way that Gyminee has videos instead of still photos to demo exercises is great]. </p>
<p>My feedback would be to stick with it and maybe target the rest of the 300M Americans by putting a prominent LOSE FAT tab and have lots of walking programs: at the mall, at the ballpark, etc. Videos of basic stretches. Cleaning the garage. Using a people-powered mower [OK, that is just cruel, I know ;-)]. Things that target the slovenly but at the same time providing honest helpful support .</p>
<p>Another idea would be to expand into the Yoga, Pilates, etc. areas - especially since the site seems already successful with the people who actually already workout.</p>
<p>&#8212;&#8212;&#8211;</p>
<p>Okeedokee. Hope you enjoyed this review and see you all next Month.</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/08/06/boulder-denver-new-tech-meetup-report-august-6-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Dot Me Domain Open Registration Whiners</title>
		<link>http://gui.net/blog/2008/07/24/the-dot-me-domain-open-registration-whiners/</link>
		<comments>http://gui.net/blog/2008/07/24/the-dot-me-domain-open-registration-whiners/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 21:46:45 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=44</guid>
		<description><![CDATA[Seems like there is a lot of confusion and finger pointing lately mostly about the Open Registration on July 17th.
We have a LOT more to write about this adventure - but a few words about the furor.
Now, I am no fan of GoDaddy, and think the website GUI is horrific, the founder too flamboyantly macho, [...]]]></description>
			<content:encoded><![CDATA[<p>Seems like there is a lot of confusion and <a href="http://www.techcrunch.com/2008/07/17/godaddys-domain-registration-totally-screws-me/">finger pointing</a> lately mostly about the Open Registration on July 17th.</p>
<p>We have a LOT more to write about this adventure - but a few words about the furor.</p>
<p>Now, I am no fan of GoDaddy, and think the website GUI is horrific, the founder too flamboyantly macho, and, well, that is what I think of GoDaddy. But a lot of people seem like they cannot read the rules of the game and/or have never used GoDaddy before and/or do not understand the practicalities of allocating constricted resources [domain names] to large numbers of feeders [buyers] in a short amount of time [minutes].</p>
<p>Anyway, here is more or less what I wrote on <a href="http://www.dnforum.com/f551/did-you-face-same-situation-when-registering-me-thread-312414.html">DnForum</a>:</p>
<p>&#8220;<em>Yesterday, GoDaddy&#8217;s website did no filtering of .me names that were already taken. You could sign up and pay for anything and they would charge the card and they would send a confirmation message. They let their backend do all the filtering and sorting of what names were available and who got first dibs. Then they sent out those emails that let us know that our registrations succeeded or failed.</p>
<p>This confirmation email + later registration succeeded / failed email is the way GoDaddy always works. The only stinky part is keeping our money for 24 hours - but maybe if some buyers cannot pay then we might get a 3rd email that says that we got the domain after all.</p>
<p>When you think about it, although they COULD have at least filtered out the names that are going to auction, like the complaint about &#8216;forum.me&#8217; on another thread [and this seems to be the cause of a lot of the anger out there. Yes, it is lame and clumsy, like the rest of the execution - but no hanky panky that I have seen, as anybody could have downloaded the list of names going to auction weeks before the Open Registration &#8230; which we, in fact, did in order to plan for July 17th], filtering the rest of the names as they were purchased would be a waste of everyone&#8217;s time&#8230; their availability was changing so fast, even if they did the right thing - if website showed it was available it would be meaningless as microseconds later it was likely to be taken.</p>
<p>The bigger scam is keeping the money for 2700 names going to auction at, say, 10 people for each auction times $100 which adds up to $2.7M for 2 months or so.</em> &#8221;</p>
<p>At 10% annual interest, this pays for lots of programmers to write the code while we twiddle our thumbs [the auction is starting a month late because their auction software was not working - or not even written yet?].</p>
<p>There has been some horrendously not-well-thought-through aspects to the process: like a separate login for each of the 100 domains one is bidding on [which they did remedy a week later] and the fact that bid increments are minimum $5, and if someone has bid a maximum of, say, $1825 above the current price, and because each time someone bids the auction is extended 1 day, regardless of whether it is the new high bid or not, someone could have the winning bid and yet the auction could still last for a year [e.g. if someone bids $5 more each day].</p>
<p>Usually, auctions get extended if there is a NEW HIGH BIDDER, not just whenever there is a new bid. And here they get extended by 24 hours. So, if someone wanted to be obnoxious, &#8230; not me, of course&#8230;. they could really gum up the works by prolonging these auctions almost indefinitely.</p>
<p>Here is GoDaddy&#8217;s response to this last bit of software tomfoolery:</p>
<p>&#8220;Dear Sir/Madam,<br />
Currently our site states that &#8220;Any lead changes in the last 24 hours results in an automatic 24-hour extension of the auction.&#8221;. Entering a bid that is lower than your proxy bid does technically initiate a lead change as the new bidder is the leader of the auction until our system automatically places a new proxy bid for you. This means that there is a lead change in the auction price but not a leader change in the auction. Please let us know if you have any further questions regarding this matter.</p>
<p>Regards,<br />
Mason G.<br />
.ME Domain Auction Support<br />
support@auctions.domain.me&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/07/24/the-dot-me-domain-open-registration-whiners/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Boulder Denver New Tech Meetup Report - July 1, 2008</title>
		<link>http://gui.net/blog/2008/07/02/boulder-denver-new-tech-meetup-report-july-1-2008/</link>
		<comments>http://gui.net/blog/2008/07/02/boulder-denver-new-tech-meetup-report-july-1-2008/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 00:27:34 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<category><![CDATA[Add new tag]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=41</guid>
		<description><![CDATA[
It was standing room only again here at the Boulder Denver New Tech Meetup at C.U. There were announcements to start off the meeting, as usual, and, also as usual, we could only catch a few of them in toto.
First, this MeetUp, and the similar meetup in S.F. are organizing a meta-meetup of some unspecified [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://newtech.meetup.com/27/photos/388316/"><img src="http://photos1.meetupstatic.com/photos/event/9/0/f/9/event_4657113.jpeg" alt="Meetup photos" /></a><br />
It was standing room only again here at the <a href="http://newtech.meetup.com/27/">Boulder Denver New Tech Meetup </a>at C.U. There were announcements to start off the meeting, as usual, and, also as usual, we could only catch a few of them in toto.</p>
<p>First, this MeetUp, and the similar meetup in S.F. are organizing a meta-meetup of some unspecified configuration with the meetups from all over [the country? the world? presumably on the same &#8216;New Tech&#8217; topic&#8217;] with the sum total of 60,000 people. There was also someone video-taping this MeetUp, so for those of us who get stage-fright in front of more than 3 people&#8230; but for the rest of you, the carrot seems to be the possibility of presenting your case to many, many people at one time. </p>
<p>They are also creating a Linked-In profile for this MeetUp&#8230; starting classes on How To Present At The MeetUp, and perhaps other things the details of which I am sure we will get email about.</p>
<p>Dan from PhotoBucket is hiring PHP, Linux, Perl etc. or rather people with these skill sets - senior and otherwise.<br />
Peter from Me.dium is looking for a Win32 expert and senior Java person[s?].<br />
It is about 30 days until the iphone developers conference<br />
We were all invited to the Green Tech MeetUp<br />
eswarm is looking for a lead developer / project lead<br />
excellentcreations[?] is hiring Cocoa and Android developers<br />
Kforce is hiring 200 developers&#8230;<br />
richmarlena@gmail.com does marketing and is looking for work after her previous client was sold to Cisco</p>
<p>There were lots more, for example someone who can translate websites in Thai and Chinese, but&#8230; it would help if people could mention their website at the end of their announcement. And, as I know from personal experience, we all tend to say our personal names and website very, very quickly, and mumbley, because we are used to [and bored with] saying them all the time.</p>
<p>OK, on with the show&#8230;</p>
<h3>Gnip</h3>
<p>Presented by Peter Williams &#038; Jud Valeski<br />
Gnip will be demo&#8217;ing its first step in what will be a suite of pragmatic data portability solutions for today&#8217;s web services.<br />
How the group can help: product feedback and utilization by relevant parties<br />
http://gnipcentral.com</p>
<p>(Pronounced Guh-nip) Publicly launched today. Demoed the backend [by editing curl statements and viewed the resulting XML]</p>
<p>A few products this week were somewhat confusing and this was one of them. Using twitter as an example, they want people to access the twitter data API through them because:</p>
<p>1. This will reduce the loads on the network. This was their first point, and&#8230; well, I would love to be able to put the load on the network on my top 100 things to care about list. And, well, it seems like on the face of it, that Gnip will instead *increase* traffic: we poll them, and now they poll twitter. But it might reduce the load on the twitter servers if everybody goes through Gnip. But then so would Twitter adding a server to handle this very thing.<br />
2. They can filter out data that you may not need to download. But hopefully Twitter has a decent API so I can specify just what information I need.<br />
3. In the future they could normalize [generalize] the data so that, say, all profiles look the same from whatever server people are fetching them from&#8230; [sorry, my example sucks]<br />
4. Future they could track user actions by looking at the data streams [uh&#8230; the privacy issues would be prohibitive, I would think .. and hope]</p>
<p>5. They mentioned their Gnip Notifications, kind of offhand, and yeah, it was compared to the idea of Push. Robert Reich, our host, mentioned PointCast hinting that there are other Push initiatives that failed. </p>
<p>The idea would seem to me to be that we could register to have Gnip notify our API when the information we want from Twitter has changed. To me, this seems different than the other Push technologies&#8230; it is opt-in, and it is an API.</p>
<p>If they are successful, one might imagine that they can poll Twitter (Twitter is just an example) just once for 1000s of people like us reducing the load on Twitter [but, in general, we all want different information, so, no this would still require 1000s of polls.]. So the whole, I just don&#8217;t see the &#8216;Gnip reduces the load on the Net and on Twitter et. al.&#8217; thing.</p>
<p>But I think it would be GREAT for people with websites like us using the Gnip service. </p>
<p>As a different example, one of our feed-reader sites polls every 5 minutes to check on 1000s of RSS feeds. Many just return the entire feed, even when nothing has changed, which we then have to compare with a cache to see if anything is different. This would be a lot easier if we could just register to be notified when it changed.</p>
<p>The question is, then, why doesn&#8217;t Twitter, Feedburner , Goggle, Amazon etc support Push Notifications now? It would reduce the load on their servers quite a bit. [although Google already does this for their Checkout e-commerce API, and presumably so do others]. And if they do move to this, what will happen to Gnip? </p>
<p>The answer is&#8230; :-) Well, I do not know about our examples, but is a lot easier for me, as a website developer to add a Polling API to the server, and to poll a server as well [a website is just one big polling API anyway&#8230;], as opposed to implementing Push and its associated callback registration system . Obviously, the ease of adding Push could change if someone came out with a decent plug-in for this tomorrow [on Ruby on Rails]. So Gnip has a future handling this for small fry and people stuck with using J2EE and .NET, which will be slow to move to push. </p>
<p>Think of Gnip as a generic FeedBurner, a FeedBurner for things besides blogs. When I wrote my first blogging software, I was surprised to learn that when I post a blog entry, it didn&#8217;t push out the post to technorati or something. Maybe someday Blogging Tools will Push, but for the present, FeedBurner and other subscribers poll my blog over and over waiting for me to get off my ass and post something else. Further comparisions between these two tools is left to the reader&#8230;</p>
<h3>mobileXware</h3>
<p>Presented by Jason Ryer, Joel Lenorovitz<br />
Demoing mobileXware&#8217;s flagship product, xFit, that helps people achieve their fitness goals by putting Fitness in the Palm of Your Hand<br />
How the group can help: We are looking for general feedback on our product<br />
http://www.mobileXware.com</p>
<p>This company sells a $25 product that shows you about 50 workout exercises on your mobile phone and/or device. They are looking for developers.</p>
<p>Truthfully, we go to the gym 3 to 5 times per week - and have about 100 books on various types of exercises, stretching, yoga, pilates, etc. So we are not the target audience and have a hard time relating to the target audience [hey, this is BOULDER,&#8230; we are just barely average here :-)].</p>
<p>My suggestion would be to talk up the weight-loss aspect of their exercises, which most Americans like to spend money on while they eat ever more junk food.</p>
<p>Also, they might want to team up with another, previous MeetUp presenter, Treatment Exchange, at http://www.txxchange.com who helps physical therapists deliver exercises to their patients.</p>
<h3>Dizgo, Inc</h3>
<p>Presented by Jeff Kohn<br />
Dizgo&#8217;s web-based advertising platform (Advertising Management Portal) and show its mobile integration and SMS delivery of real-time, hyper local content.<br />
How the group can help: looking for potential syndication partners, get feedback from potential users, encourage people to opt-in to receive great local (downtown Boulder) discounts-on-the-go!<br />
http://www.dizgo.com</p>
<p>I have no idea what the competition is like, but this is a killer app. </p>
<p>A restaurant is having a slow night? The restaurateur signs in and creates a coupon for people to use that evening. </p>
<p>People are on the Pearl Street mall and can&#8217;t figure out which place of 600 in a 6 block radius to go to eat at? Use your Mobile to see what deals and specials are happening nearby.</p>
<p>The demonstration of the GUI for the restaurant owner to use to make electronic coupons looked straight forward and complete and includes information like a name, description [&#8217;happy hour with Radiohead in-person&#8217;], code [MeetUpsRule&#8217;], Length of time the coupon is good for [this evening], amount willing to spend [$400], tags [so people can find the coupon, like &#8216;Restarant&#8217;, &#8216;Indian food&#8217;]. etc.</p>
<p>The tags are bid on in a similar manner to Google AdWords. And they use a patented ontology to generalize user&#8217;s searches so that if they search for, I imagine, burgers, they will also be searching for &#8216;Restaurants&#8217;. [So people can patent ontologies now, huh? Or is that all searches that use an ontology? Ah, the mentally challenged and those that take advantage of them - how wonderful]. </p>
<p>Real time analytics is also quite nice here - to see who is looking at your coupons and how many have used them. [How about, what coupons your competitors are offering next door? :-)]</p>
<p>There is also a part of the site dedicated to the consumer looking for coupons, called MyDizgo. You can subscribe to be &#8216;pushed&#8217; information about when a restaurant, or whoever, has deals, perhaps just within certain time periods, etc.</p>
<p>They are actively signing up Pearl St. establishments here in Boulder, and soon LoDo and the Tech Center in Denver. They are also focusing on TradeShows and Grocery Shopping verticals. They are also seeking syndication partners, like mapping sites, who want to, say, display coupons on their maps.</p>
<h3>DandyId</h3>
<p>Presented by Sara Czyzewicz, Arron Kallenberg, and Anthony Dimitre<br />
DandyId.org is a repository for users&#8217; service identifiers and API for third-party sites.<br />
How the group can help: a) signing up for a dandyid and adding their identifiers to our system, and b) use our widget or services API.<br />
http://www.dandyid.org</p>
<p>DandyId [derived from dandelion] is another site that confused us. </p>
<p>They focused on &#8216;Share Your Id&#8217;. The idea seems to be that your friends, who are on MySpace and FaceBook, say, use this to find out what your id is: given that they know your id on one site already, they look it up on DandyId to find what your id is on the other. OK, I do not know about you folks out there, but I am too stupid and/or forgetful to use lots of different ids all over the place. I just use one. I guess if I had lots, then I would use DandyId not to find friend&#8217;s ids, but to find my own :-)</p>
<p>DandyId does not save passwords, just information publicly available from people&#8217;s profile. They mention something about being able to auto-populate a signup form when the place you are signing up to uses DandyId. Again, I do not sign up for places very often. If they ask me to sign-up, 95% of the time I am out-a-there, and if I do go for it, and they ask for more than my email, I am again most likely on my way somewhere else.</p>
<p>They have some good analytic tools, percent users on digg versus twitter, percent users on digg who are also on twitter, etc. Nice web 2.0 design, too.</p>
<p>They are looking for evangelists, product developers, and backend developers.</p>
<p>As we played with this website a little, trying to figure this out some by looking for people we thought might be on multiple social networks, we had a little argument about whether the Invite Someone field was associated with the People Search form or the form over on the right [BTW, I lost the argument] and found out that people have to register to get their profiles on to DandyId. I had just assumed that when I searched, they had either cached profiles, or did a poll on the major social networks, using Open Social, to find the person I was looking for.</p>
<p>One way this might work, for me, which is somewhat related to this, would be to have a site which only has profiles. No chats. No messages. No twits. It would be the master profile site for the net. IDinator.com or something [there are better names available July 17th]. And the profiles would have to be very cool looking to make people want to put their profiles there [using Open social and home page scrapers, it would be easy to initialize]. The temptation would, of course, be to work with Disqus or Intense Debate so people could see all their comments, and with Twitter to see what they are up to now, and flickr to see their photos&#8230; etc. But, focusing on just profiles, the idea would be to make profiles elsewhere seem to be, in comparison, behind a walled garden, inaccessible and unfindable to the world at large [i.e. appeal to both people&#8217;s vanity and their desire to advertise themselves]. </p>
<h3>mShopper</h3>
<p>Presented by Jeff Kohn<br />
We will demo an innovative, market-leading mobile commerce (shopping) application that runs on most web-enabled cell phones.<br />
http://www.mshopper.com</p>
<p>Another &#8216;discounts on the go&#8217;, but with comparison shopping for consumer goods. The killer app would use Amazon, of course, to go into Circuit City and read both reviews and get a decent price. Amazon, however, terminates the accounts of their associates who try this [according to the Amazon Associates&#8217; forum - when the iphone came out everybody was, yeah - this&#8217;ll be cool - let&#8217;s all port our Amazon apps to the iPhone. Presumably Amazon thought so too. I guess they will eventually write this themselves, and cut out the middlepeople.]</p>
<p>So, even though mshopper shows results from Amazon, they are not a partner with Amazon, and it is a good thing that they are partnering with others, like Apple. </p>
<p>The demo, also on their website, shows price shopping for a Sony TV [BTW, the XBR2 is old, old, old (about a year and a half to two years, I think :-)), we are up to XBR6 now for those most lust-worthy LCD TVs].</p>
<p>mShopper is, Angel funded, headquartered in Boulder and outsources development to New Delhi. They are looking for feedback from local focus groups on their Sprint-specific GUI [doesn&#8217;t New Delhi have people who will volunteer for focus groups? Come on, I can&#8217;t be the only person wondering &#8230;. ;-)].</p>
<h3>Lijit</h3>
<p>Presented by David Fero and Micah Baldwin<br />
Lijit is launching a new ad platform for publishers.<br />
How the group can help: General feedback around the efficacy of an advertising platform for publishers within their search results.<br />
http://www.lijit.com</p>
<p>Lijit is another presentation that confused us. We thought that they were originally doing something else&#8230;.but now they appear to be providing &#8216;in-situ&#8217; search for blogs, along with widgets that bloggers can use on their blogs to show the most popular searches. They also provide analytic tools to show bloggers what people are searching for and not finding on their site [i.e. as a hint about what to write about next - something most bloggers would love help with]. Using these tools, they can quote statistics about how their widgets help keep people on their blog instead of hitting the back button [i.e. &#8216;bouncing&#8217; - and they referred to the latest post on useit. What is it about a GUI design expert whose site looks ugly and who likes to post the obvious&#8230; *sigh*].</p>
<p>This presentation announced their plans to show ads on the top and side of the search results. Yep, just like Google. They will be aggregating 4 different advertising steams, and more later, so, unlike Google, they will have other ads [Rubicon, etc. from the 20% that Google does not currently control]. The blogger themselves are to get a portion of the proceeds from the ads.</p>
<p>It seems to me&#8230;. that competing with Google on their core-competency is a little difficult - and hoping that MSFT will get interested, as they try to buy everything search-related under the sun, well, that might work. But I think Lijit would have to be pretty well entrenched in a lot of blogs first. However, MSFT *is* in panic mode. :-)</p>
<p>But as a blogger, I would use Goggle for our blog - they do a good job, they got lots of ads, and it solidifies our relationship [such as it is] and helps expand our Googleworthy knowledge base and comfort level.</p>
<p>The reason we do not use Google search [yet] on our blogs? Because the search results look like poop. They look like Google, and not like our blog[s]. This is to say, a widget like Lijit that produced search results that looked like my blog, using the same theme, perhaps including a header and a few words of content from each post in the results, maybe a thumbnail from the post too - something that smoothly integrates with Wordpress blogs et. al. Well, maybe that is something that a lot of bloggers would be more comfortable with. [thinking about it, this is a lot like search on forums - which is boring but better than the Googlish approach. Combining with &#8216;most popular searches today&#8217; kind of widgets, a tag cloud widget, heat maps, etc. would be nice].</p>
<h3>blitzlocal</h3>
<p>Presented by Dennis Yu<br />
High level overview of social advertising using Facebook<br />
http://www.blitzlocal.com</p>
<p>A presentation of how to advertise on FaceBook. OK. A short high-altitude introduction to the fact that there is indeed advertising on FaceBook [hey, I did not know. But then again, we do not sell anything kids can afford], and how it might be a good idea give it a look see.</p>
<p>Blitzlocal spends $10K a day on FaceBook ads. They were one of the first to bat when FaceBook opened their API with 100s of applications. From what I understand they had about 1/3 of all FaceBook traffic for awhile there. OK, so we are not going to see these guys at the MeetUp looking for work anytime soon.</p>
<p>He was also able to explain in an exceptionally clear manner about how advertising on FaceBook is different than, say, Google. People on FaceBook are there to hang out with friends, not searching for a color laser printer to buy. Instead of keyword focused, ads are user-profile focused. </p>
<p>Ads are targeted by group, age, location, etc. which is much more specific than Google [who, on the other hand, has people who are frequently actually looking to buy something].</p>
<p>The idea is that [kids] like to tell everyone about what they buy, so if you can engage just one, they will have an average of 64 friends who will know they just bought the latest cool ringtone or whatever.</p>
<p>Currently, the Ad Manager on FaceBook is primitive compared to the Google manager: no ad groups, inferior [my word :-)] analytic reporting. </p>
<p>There then followed some ROI talk, which to me is like much of the information on this topic&#8230; which can be summarized as lots of ways to say &#8216;keep your head down&#8217;, &#8216;your mileage may vary&#8217;, &#8216;good money after bad&#8217;. </p>
<p>For a message therapist. 5 clicks per day, resulting in a cost of $20 - $30 per new client, is a good ROI. OK&#8230;. make sense.</p>
<p>Click rates vary from 0.01%, to 2-3% if your ad copy is good, to 10-20% if you have great ad copy. OK. Now about that ad copy - in my [albeit limited] experience great ad copy is not even &#8216;know it when you see it&#8217;, it is just some mysterious relativistic windfall that strikes your ad [or doesn&#8217;t! :-)] and makes it magic [or money forever gone and a complete waste of time spent. Yes, I looooove running ads.]. </p>
<p>There is more &#8230; the main idea being that now is a good time to advertise on FaceBook - the prices can be about 30% of what you pay on Google - but you will have to shift your thinking some about how you target your ads.</p>
<p>OK, see ya all next Month! </p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/07/02/boulder-denver-new-tech-meetup-report-july-1-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rails Testing, TDD, BDD, and Competitive Advantage [Not]</title>
		<link>http://gui.net/blog/2008/06/26/rails-testing-tdd-bdd-and-competitive-advantage-not/</link>
		<comments>http://gui.net/blog/2008/06/26/rails-testing-tdd-bdd-and-competitive-advantage-not/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 21:54:09 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[The Industry]]></category>

		<guid isPermaLink="false">http://gui.net/blog/?p=40</guid>
		<description><![CDATA[Finally made it up to the two chapters on testing in the Obie Fernandez book &#8216;The Rails Way&#8217;. This is one of the best programming framework books I have read. Concise, clear, balanced. Up to now it was only the database chapters that were a wee bit presumptive about the depth of knowledge on the [...]]]></description>
			<content:encoded><![CDATA[<p>Finally made it up to the two chapters on testing in the Obie Fernandez book &#8216;The Rails Way&#8217;. This is one of the best programming framework books I have read. Concise, clear, balanced. Up to now it was only the database chapters that were a wee bit presumptive about the depth of knowledge on the part of the reader - but still, quite good. Very, very few books do I read from start to, well, page 640 so far.</p>
<p>With that said, the testing chapters&#8230; are either uncharacteristically shallow, or&#8230; the testing in Rails sucks as much as JUnit and all the other toys people strut around giving each other group hugs about. Maybe there is a wonderful plugin out there that has so far slipped through the blogaratsi&#8217;s fingers and raises TestUnit and RSpec above what I have seen so far.</p>
<p>All these things are just test harnesses. Scaffolding and files in which to put and run your tests. Whoo Hoo! Tests which are usually so inane and simple that people do not have to think about what really needs testing. </p>
<p>Which is the point of course. All these methodologies are just dreamed up by people to make managers who do not know how to manage tech projects feel like they are doing something. I.E. they convince coders that they do not have to think, and managers that they do not have to think, and that they do not therefore need people who think on their team - and so can treat them and pay them like interchangeable &#8216;coder bots&#8217; and &#8216;manager bots&#8217; .</p>
<p>Why is not having to think so bad? Because this approach gets us track housing and &#8216;no child left behind&#8217;. Where the focus is all about passing tests and inspections, and not about the real reason why we are doing this, what the purpose of it all is. And it is the challenge of thinking about these real purposes and how to do them better that makes life worth living and the meeting and overcoming of these challenges that makes products worth using.</p>
<p>So now you got these test harnesses, that double the size of the code, are laborious to write, and are intricitly dependent on the code signature.</p>
<p>It is so hilarious&#8230; ever since UML [3 top-notch modelers who instead of making a wonderful uber modeling language, since, you know, they are experts at it, decide to make a visual language instead - and as far as I can see ignored all the previous work on that topic], all these methodologies that are accepted with such religious fervor reduce productivity by as much as an order of magnitude. But.. it makes managers and consultants happy, and it is these people who drive our industry&#8230; so I am sure there is no end to newer, bigger, better[better names that is. We got some good names already&#8230; EXTREME, AGILE &#8230; even RATIONAL, much better than &#8216;top-down&#8217; or &#8216;bottom-up&#8217; or &#8216;functional decomposition&#8217;  or &#8216;piecewise refinement&#8217; huh? :-)] methodologies in sight.</p>
<p>What a testing framework should do, IMHO, [for DB-driven apps, which helps makes things easier. The view, the view is a little more work], is to:</p>
<p>0. Construct the DB from scratch with several / many DB building operations [controller methods]. </p>
<p>1. Examine the DB and application operation. If things are good, save the state of the DB and use it to compare against when test 0 is run again.</p>
<p>2. Take a DB in several initial conditions [empty was tested in step 0], with several objects/rows/tables in boundary conditions.</p>
<p>3. Permute the DB using a sequence of 1..n standard operations [controller methods] </p>
<p>4. Checks the state of the DB [this still may require tight coupling, depends&#8230;]</p>
<p>5. Permute the DB with the intent to break it using a sequence of 1..n standard operations with invalid parameters</p>
<p>6. Check the results [theoretically the DB should not have changed]</p>
<p>In detail:</p>
<p>This might be actually easier in Java, with reflection and static typing IF THEY WOULD ADD TYPEDEFS [I have finally given up], but the idea is that each method and the types and ranges of its arguments are declaratively described:</p>
<p>method_declaration :add_user([{:name => &#8216;name&#8217;, :type => String, :min-length: 6, etc&#8230;. :good => [&#8217;sam&#8217;, &#8216;joe&#8217;], :bad => [&#8217;%$%&#8217;], :boundary => [&#8217;123456&#8242;], :db_attack => [&#8217;select * from user&#8217;], view_attack => [&#8217;<script>window.location = google.com</script>&#8216;&#8230; }])</p>
<p>OK. I am not very good with the attack code thing, not spending much time on that side of the hobby.</p>
<p>And the test driver takes these declarations and calls the method with good, bad, attack, boundary condition and insufficient parameters and evaluates the results [some of which must be eval&#8217;d by hand coded methods]. </p>
<p>Being lazy, test drivers can often use the type of the parameter [email address, uri, image, password, phonenumber, enum, etc] and figures out for itself the good, bad, etc values for the method parameters. Sometimes this can be more difficult for some types, and things like countrynames, email addresses, image uris, enums, etc. the list of &#8216;good&#8217; values must be supplied by a table.</p>
<p>The driver can also &#8216;SANITY CHECK&#8217; the database using tables described by these highly described parameters, along with special hand-coded sanity checking procedures. And runtime sanity checks and corresponding SANITY REPAIR can deal with those &#8216;acts of god and users&#8217; that might otherwise require, say, a slow transaction-based DB.</p>
<p>Speshy [the slow SOB] uses this technique, and in the Obsidian Framework every method is a plug in, and each parameter and return value to each method is a fully described parameter, and the test framework just kind of writes itself. The older Cadabra has a class-based [metaclass actually, being a metaclass-driven prototype-instance-based framework in Java] approach and we&#8217;ll list it here [relations in Cadabra, like delegate, inherit, etc., are first class objects]:</p>
<p>		//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
		// Validate methods<br />
		//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
	public		String		validate();<br />
	public		String		validateValue(String attributeName, String attributeValue);<br />
	public		String		validateRelation(String relationType, CaiObject src, CaiObject dest);</p>
<p>		//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
		// Test methods<br />
		//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
					// Test internal behavior of this object<br />
	public		CaTestResults	selfTest(CaTestConfiguration config);</p>
<p>					// Check current internal values/setup<br />
	public		CaTestResults	selfCheck(CaTestConfiguration config);</p>
<p>					// Test external behavior of this object<br />
					// i.e. send itself msgs and att values<br />
	public		CaTestResults	unitTest(CaTestConfiguration config);</p>
<p>					// Check current relationships of this<br />
					// object to the rest of the system<br />
	public		CaTestResults	unitCheck(CaTestConfiguration config);</p>
<p>There seems to be an obsession, for some reason, in the Rails community with mocking the database - one method at a time. The only reason I can see to mock the DB, with my extremely cloudy and impatient glasses, is when the schema is generated by an organization separate from the one implementing the application, and that organization is a little sloooow [I am being so kind in this post today]. The happened on a Raynet / Ericcson project in 93-94 (95?) and, using a rigid layering architecture, we mocked the entire DB, generating [pseudo - it needs to be repeatable for bug fixing] random but semantically valid data to test the app with. A Rails tool could easily do this by scanning the DB and generating mock tables and rows on startup, in memory, and then overriding the DB find() methods to return this mock data. No more hand writing each and every mock. Ugh. [Ugh, not because it is hard, but because it is so BORING!]</p>
<p>Well, as you may be able to tell, I am kind of disappointed. This is the first large hole in Rails [as a web dev platform] that I have found so far. Kind of surprised that it is here, in TEST of all places, with all the TDD this and BDD that. </p>
]]></content:encoded>
			<wfw:commentRss>http://gui.net/blog/2008/06/26/rails-testing-tdd-bdd-and-competitive-advantage-not/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
