<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5678424368747750223</id><updated>2012-01-18T09:00:28.799-07:00</updated><category term='Startup'/><title type='text'>Bradley D. Brown</title><subtitle type='html'>Startup CTO&lt;br&gt;
&lt;hr&gt;
Platform Technology Development&lt;br&gt;
Road Show Technical Expert&lt;br&gt;
Foundational Team Building&lt;br&gt;
Use Technology to Your Competitive Advantage&lt;br&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default?start-index=101&amp;max-results=100'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>114</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-2047542980859563264</id><published>2012-01-18T08:57:00.000-07:00</published><updated>2012-01-18T09:00:28.806-07:00</updated><title type='text'>Cool Government Info Available</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I was doing some research on the government census site when I came up on their cool fact dashboard...&lt;iframe frameborder="0" height="315" scrolling="yes" src="http://www.census.gov/main/econdash/" width="450"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-2047542980859563264?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/2047542980859563264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=2047542980859563264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2047542980859563264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2047542980859563264'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2012/01/cool-government-info-available.html' title='Cool Government Info Available'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5644766493103639210</id><published>2011-11-28T14:09:00.001-07:00</published><updated>2011-11-30T11:28:14.612-07:00</updated><title type='text'>Tiger/Line Shape Files and Oracle</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;Have you ever needed to load an ESRI "shape file" and wondered if that's an easy effort or a difficult effort? &amp;nbsp;I know I have and I assumed that it was a pretty difficult effort. &amp;nbsp;However, I learned today that's actually pretty easy!&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: large;"&gt;The Problem&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;The problem I was trying to solve was this:&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;We have property data in our Oracle database.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;Each property has a latitude and longitude in the database.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;We also store the census tract information in our database. &amp;nbsp;This includes the following for each property (in increasing granularity levels from top to bottom):&lt;/span&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;State&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;County&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;Census Tract&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;Census Block Group&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;Census Block&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;The government publishes Census Tract information in an ESRI shape file. &amp;nbsp;You can download the shape files from &lt;a href="http://web2.ssd.census.gov/cgi-bin/geo/shapefiles2010/main" style="text-indent: -24px;"&gt;http://web2.ssd.census.gov/cgi-bin/geo/shapefiles2010/main&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;You can find more Tiger/Line and Shape files at:&amp;nbsp;&lt;a href="http://www.census.gov/geo/www/tiger/tgrshp2010/tgrshp2010.html"&gt;http://www.census.gov/geo/www/tiger/tgrshp2010/tgrshp2010.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;We want to look up the census block for each property - i.e. we want to know what tract, block group and block the property resides in.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;If we want to process every property in the country, we have to&amp;nbsp;download the Block shape files one state ata time. &amp;nbsp;This is the data contained in the shapefile:&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Arial, Helvetica, sans-serif; margin-left: 1em; margin-right: 1em;"&gt;&lt;a href="http://2.bp.blogspot.com/-QSlfkQ1rKTM/TtP44Cuq7UI/AAAAAAAAOvI/pAIK_uaqS2s/s1600/Table.png" imageanchor="1" style="background-color: white; margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="282" src="http://2.bp.blogspot.com/-QSlfkQ1rKTM/TtP44Cuq7UI/AAAAAAAAOvI/pAIK_uaqS2s/s320/Table.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="text-indent: -24px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="text-indent: -24px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: large;"&gt;Loading the Shape File&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="text-indent: -24px;"&gt;Loading the shape file is as simple as can be...when you use Oracle's MapBuilder utility. &amp;nbsp;You can download OracleMapBuilder from &lt;/span&gt;&lt;a href="http://www.oracle.com/technetwork/middleware/mapviewer/downloads/index.html" style="text-indent: -24px;"&gt;http://www.oracle.com/technetwork/middleware/mapviewer/downloads/index.html&lt;/a&gt;&lt;span style="text-indent: -24px;"&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;MapBuilder is used to load the shape files mentionedabove into the Oracle database. &amp;nbsp;Once you download it, starting&amp;nbsp;MapBuilder is pretty easy – it’s acommand line start:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;java –jar MapBuilder.jar&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span style="text-indent: -24px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;To load shapefiles, use Tools, Import Shapefile in MapBuilder:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Y6J8sYVcviI/TtP433l3bzI/AAAAAAAAOvA/JxmvvcSFiQw/s1600/MapBuilder.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="149" src="http://1.bp.blogspot.com/-Y6J8sYVcviI/TtP433l3bzI/AAAAAAAAOvA/JxmvvcSFiQw/s320/MapBuilder.png" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.5in; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.5in; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;From here, you simply pick the shapefile to load and it&amp;nbsp;loads it into the database as a table&amp;nbsp;with a geometryshape column. &amp;nbsp;&lt;span style="text-indent: -24px;"&gt;You can create anindex on the geometry field:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.5in; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;"&gt;&lt;span style="text-indent: -24px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;CREATE INDEXspatial_index ON TL_2010_08_TABBLOCK10 (geometry)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;INDEXTYPEIS MDSYS.SPATIAL_INDEX;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: large;"&gt;Querying what you want...&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="text-indent: -24px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;4.&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;From here, all youhave to do is select each block record based on the lat and long for eachproperty (you can see the lat and long hardcoded below, but we would select this from our table of properties):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;SELECT&amp;nbsp; *&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;FROM&amp;nbsp;TL_2010_08_TABBLOCK10&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;WHERESDO_WITHIN_DISTANCE(Geometry, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SDO_GEOMETRY(2001,4269,&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SDO_POINT_TYPE (-104.798643,39.917394,NULL), NULL, NULL), &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 'distance=0unit=mile') = 'TRUE';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;5.&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;This will return thedetails for the block that the property is in:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-VWfWqR5yy50/TtP5SiLy38I/AAAAAAAAOvQ/vK_Uy-nULw4/s1600/Select.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;img border="0" height="57" src="http://2.bp.blogspot.com/-VWfWqR5yy50/TtP5SiLy38I/AAAAAAAAOvQ/vK_Uy-nULw4/s320/Select.JPG" width="320" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level2 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="background-color: white; color: #666666; font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #666666;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;I don't think it could be any easier! &amp;nbsp;Download and load up the shape file...then run queries to get the information you want. &amp;nbsp;You can map the data visually too! &amp;nbsp;This is a VERY powerful Oracle feature. &amp;nbsp;It used to be called Oracle Spatial or Oracle Locator and it used to be a separate license. &amp;nbsp;Today Spatial, which is the "partitioned" version of Locator (higher performance) is an extra license in Oracle Enterprise, but the standard edition of Oracle contains Locator.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif;"&gt;Enjoy this functionality!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5644766493103639210?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5644766493103639210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5644766493103639210' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5644766493103639210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5644766493103639210'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/11/tiger-zip-shape-files.html' title='Tiger/Line Shape Files and Oracle'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-QSlfkQ1rKTM/TtP44Cuq7UI/AAAAAAAAOvI/pAIK_uaqS2s/s72-c/Table.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6908588930003801197</id><published>2011-11-08T14:29:00.002-07:00</published><updated>2011-11-08T20:52:03.768-07:00</updated><title type='text'>PDFs, FDFs, Document Templates, Database Data Merging and More...</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Adobe has created an amazing amount of functionality in the Adobe Reader. &amp;nbsp;Most everyone is all too familiar with Adobe PDFs. &amp;nbsp;They allow you to write a source document (in something like Word, Excel, Project or whatever) and print the document to a universal electronic printer. &amp;nbsp;In other words, I don't need the source software to be able to view the output produced. &amp;nbsp;Additionally, I can't change the source document. &amp;nbsp;This works great for legal documents. &amp;nbsp;For example, let's say you have an NDA (Non-Disclosure&amp;nbsp;Agreement) that you want someone to sign. &amp;nbsp;If you send them a Word document to print and sign, they could easily modify the document before printing it...and you would likely never know it because they then print the document, sign it, scan it and send it back to you (often in a PDF format).&lt;br /&gt;&lt;br /&gt;I was trying to solve a very specific problem when I learned about some of the things in this blog post. &amp;nbsp;The problem that I was attempting to solve was the following. &amp;nbsp;For &lt;a href="http://clearsale.omnitechteam.com/"&gt;ClearSale &lt;/a&gt;(short sale&amp;nbsp;facilitation company), we need to create letters that will go to customers. &amp;nbsp;I already had the functionality built into my app to generate emails, but letters on company letterhead was an issue. &amp;nbsp;My initial approach was to create a document in Word, then I saved the file as an RTF (rich text format - which is an open standard for documents) since RTFs are simple text files. &amp;nbsp;The RTF file was quite large since it contained a number of images (i.e. the company logo, etc). &amp;nbsp;I pasted the RTF file into my IDE (in this case SQL Developer). &amp;nbsp;My plan was to dynamically write the RTF using PL/SQL's HTP.P (print to browser) command. &amp;nbsp;I had to break up the RTF into a number of lines. &amp;nbsp;I put my dynamic text in the right place in the output and sure enough it generated an RTF on the fly.&lt;br /&gt;&lt;br /&gt;It was then decided that we needed to have a number of templates. &amp;nbsp;We might have a template for customers (first lien holder), another for homeowner, another for the junior lien holders, etc. &amp;nbsp;These letters are going to be printed by a person who will then stuff them into an envelope, so the mailing address needs to be in the right place each time. &amp;nbsp;The right information must be in the documents as well (i.e. the legal information). &amp;nbsp;At this point I knew that my hacked method of creating RTF output wasn't sustainable (or supportable).&lt;br /&gt;&lt;br /&gt;I remembered that Adobe PDFs could be merged with data, so I began to research this avenue. &amp;nbsp;I quickly learned about the FDF (forms data format) functionality. &amp;nbsp;I downloaded the &lt;a href="http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/FDFtkRef.pdf"&gt;Adobe documents&lt;/a&gt; to learn more about this functionality. &amp;nbsp;The documentation was centered around CGI, PHP, C++, Active X, Perl, Java and other APIs in Adobe's toolkit. &amp;nbsp;Since I was developing this solution using Oracle PL/SQL I knew there wasn't a toolkit that I needed. &amp;nbsp;I also knew that it just couldn't be this complicated!&lt;br /&gt;&lt;br /&gt;I then came across &lt;a href="http://plpdf.com/"&gt;PL/PDF&lt;/a&gt;. &amp;nbsp;They mention support for templates, so I got excited! &amp;nbsp;PL/PDF allows you to write a PDF from PL/SQL. &amp;nbsp;This is very cool functionality, but I didn't want to write a PDF from PL/SQL, I wanted to merge an existing PDF with data in my database. &amp;nbsp;The templates that are supported in PL/PDF allow you to use an existing PDF document as a template and then you can add text onto the PDF. &amp;nbsp;Whereas FDFs allow you to set the placement of the fields - again, exactly what I wanted to do.&lt;br /&gt;&lt;br /&gt;So I went back to researching FDFs and how they worked. &amp;nbsp;I came upon &lt;a href="https://www.acrobat.com/formscentral/en/home.html?trackingid=idnlw"&gt;Adobe's Forms Central&lt;/a&gt;. &amp;nbsp;This is very impressive! &amp;nbsp;You can create a form using your browser and then Adobe allows you to send emails, have people fill in the forms with data, which they capture for you. &amp;nbsp;It's an entire cloud-based solution that I never knew existed. &amp;nbsp;Very impressive functionality, so worth mentioning, but not what I was looking for. &amp;nbsp;I wanted to merge my database information with one of these forms...&lt;br /&gt;&lt;br /&gt;I remembered that a guy I met about 5 years ago was doing something with FDFs. &amp;nbsp;I was 2 degrees of separation from this guy (i.e. a friend of mine introduced me to him) so I reached out to my friend, who put me in contact with his friend. &amp;nbsp;Sure enough, I learned that I was on the right track and I kept digging from there until I figured out what I'm about to share below.&lt;br /&gt;&lt;br /&gt;Here's the end result I was trying to achieve. &amp;nbsp;I wanted to take data from my database and fill in template:&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-lMno2y40xHI/Trl2aPclxiI/AAAAAAAAOrc/grBs00N2MKI/s1600/Adobe1.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-lMno2y40xHI/Trl2aPclxiI/AAAAAAAAOrc/grBs00N2MKI/s320/Adobe1.JPG" width="262" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The End Result - A "Merged" Form / FDF with Data&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Remember that I had an existing Word document that was the basis for my template. It's a pretty simple template. &amp;nbsp;As I mentioned, it contains the logo and a bunch of legal information.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GcuY9MwyyL4/Trl3jaMdbKI/AAAAAAAAOrk/p_Q8XbhaWJM/s1600/Adobe2.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="201" src="http://2.bp.blogspot.com/-GcuY9MwyyL4/Trl3jaMdbKI/AAAAAAAAOrk/p_Q8XbhaWJM/s320/Adobe2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;My 2 Page Word Template&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Adobe Reader allows you to create forms (and PDFs) from existing documents. &amp;nbsp;Choose File, then Create PDF and From File:&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-judvSosyFgU/Trl4M-_fHWI/AAAAAAAAOrs/rugFJj33ndg/s1600/Adobe3.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="142" src="http://3.bp.blogspot.com/-judvSosyFgU/Trl4M-_fHWI/AAAAAAAAOrs/rugFJj33ndg/s320/Adobe3.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;File | Create PDF | From File&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;This is where I selected my existing Word document template:&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QWpOObucAkE/Trl48omLdsI/AAAAAAAAOr0/BQwwwctsm7o/s1600/Adobe4.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="217" src="http://1.bp.blogspot.com/-QWpOObucAkE/Trl48omLdsI/AAAAAAAAOr0/BQwwwctsm7o/s320/Adobe4.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Choose Your Template Document&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;This opens the PDF in Adobe Reader and you're now ready to start adding your form fields. &amp;nbsp;Click on Forms, then Add or Edit Fields:&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-EUdsn-Jc6vQ/Trl5wIlDAyI/AAAAAAAAOr8/9tmWo_283oc/s1600/Adobe5.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="149" src="http://4.bp.blogspot.com/-EUdsn-Jc6vQ/Trl5wIlDAyI/AAAAAAAAOr8/9tmWo_283oc/s320/Adobe5.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Forms | Add or Edit Fields&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Choosing this option presents you with a toolbar of field types that you can add to your form:&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-UjK9eovjiTg/Trl7yKGpVCI/AAAAAAAAOsE/_m0mPIMepKA/s1600/Adobe6.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="42" src="http://4.bp.blogspot.com/-UjK9eovjiTg/Trl7yKGpVCI/AAAAAAAAOsE/_m0mPIMepKA/s320/Adobe6.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Form Field Toolbar&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;You can add everything from text fields to checkboxes to radio buttons to dropdown lists to combo boxes to buttons to electronic signature blocks to barcodes. &amp;nbsp;In my case I simply wanted to add text boxes that I'm going to fill in with data from my database...but, you could absolutely fill in a low more information or you could even email the PDF to people and ask them to fill in more information. &amp;nbsp;There is a LOT of functionality available here!&lt;br /&gt;&lt;br /&gt;I clicked on the "Text Field" tool and added the sections I wanted to add as you can see here. &amp;nbsp;I named my fields as I went through this process.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-aEO3I10sbqk/Trl-MjuGCfI/AAAAAAAAOsM/SrmO1yR5gd8/s1600/Adobe7.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="199" src="http://1.bp.blogspot.com/-aEO3I10sbqk/Trl-MjuGCfI/AAAAAAAAOsM/SrmO1yR5gd8/s320/Adobe7.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;My Fields Have Been Added&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;Each field has a number of attributes that can be set.&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9qupSZdJJsg/TrmAZt7tV-I/AAAAAAAAOtE/XDiFxwVHAm4/s1600/Adobe8a.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="272" src="http://4.bp.blogspot.com/-9qupSZdJJsg/TrmAZt7tV-I/AAAAAAAAOtE/XDiFxwVHAm4/s320/Adobe8a.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;General Attributes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fWqlZUNlhKA/TrmAZfZygcI/AAAAAAAAOs8/7-hOE-pNe0Q/s1600/Adobe8b.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="303" src="http://4.bp.blogspot.com/-fWqlZUNlhKA/TrmAZfZygcI/AAAAAAAAOs8/7-hOE-pNe0Q/s320/Adobe8b.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Appearance Attributes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-9nx-1_I4jIw/TrmAZOfsfnI/AAAAAAAAOs0/yyxWJzHyQRU/s1600/Adobe8c.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-9nx-1_I4jIw/TrmAZOfsfnI/AAAAAAAAOs0/yyxWJzHyQRU/s320/Adobe8c.JPG" width="241" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Options Attributes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pp5onrGlh7M/TrmAY1YE00I/AAAAAAAAOss/8xfHYZ7il0I/s1600/Adobe8d.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-pp5onrGlh7M/TrmAY1YE00I/AAAAAAAAOss/8xfHYZ7il0I/s320/Adobe8d.JPG" width="315" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Actions Attributes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bmtVvgpjQFU/TrmAYiHUOSI/AAAAAAAAOsk/ajSWArWD6tI/s1600/Adobe8e.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="214" src="http://1.bp.blogspot.com/-bmtVvgpjQFU/TrmAYiHUOSI/AAAAAAAAOsk/ajSWArWD6tI/s320/Adobe8e.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Format Attributes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cCDYpznI1zY/TrmAYZUZ21I/AAAAAAAAOsc/MFAYjDGlxeM/s1600/Adobe8f.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="254" src="http://4.bp.blogspot.com/-cCDYpznI1zY/TrmAYZUZ21I/AAAAAAAAOsc/MFAYjDGlxeM/s320/Adobe8f.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Validation Attributes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QHfSiBHOv7c/TrmAYKtCFmI/AAAAAAAAOsU/rshztYVUgeU/s1600/Adobe8g.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-QHfSiBHOv7c/TrmAYKtCFmI/AAAAAAAAOsU/rshztYVUgeU/s320/Adobe8g.JPG" width="288" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Calculation Attributes&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;At this point, I closed the Form editing functionality. &amp;nbsp;I filled in the fields with data that I could recognize (you'll see what I mean soon).&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PDjNlPrGu_w/TrmEzB6JJUI/AAAAAAAAOtM/Mfhkpryvvmg/s1600/Adobe9.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-PDjNlPrGu_w/TrmEzB6JJUI/AAAAAAAAOtM/Mfhkpryvvmg/s320/Adobe9.JPG" width="270" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Filled in the Fields with Real Data&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="" style="clear: both; text-align: left;"&gt;Now for the "magic!" &amp;nbsp;This is where the fun begins. So how do you merge the data with the form? &amp;nbsp;This is exactly what an FDF is, but an FDF is a binary format. &amp;nbsp;We need a text format. &amp;nbsp;We need something that points to the PDF and contains the (text) data to merge into the PDF form fields.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: left;"&gt;If you click on "Form" then "Manage Form Data" and finally "Export Data."&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MjDnnNX0o6w/TrmFcBPpMII/AAAAAAAAOtU/Ji7Lo2BuplM/s1600/Adobe10.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="137" src="http://2.bp.blogspot.com/-MjDnnNX0o6w/TrmFcBPpMII/AAAAAAAAOtU/Ji7Lo2BuplM/s320/Adobe10.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Form | Manage Form Data | Export Data&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="" style="clear: both; text-align: left;"&gt;The magic format is the Adobe XFDF format. &amp;nbsp;This is an XML format for the FDF. &amp;nbsp;It contains the data and the pointer to the PDF. &amp;nbsp;I saved the file and then opened it in a text editor.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-e2Hj-XtiFP4/TrmISNAm7JI/AAAAAAAAOtc/itSYMizRcpA/s1600/Adobe11.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="41" src="http://4.bp.blogspot.com/-e2Hj-XtiFP4/TrmISNAm7JI/AAAAAAAAOtc/itSYMizRcpA/s320/Adobe11.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Magical XFDF File Format&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: left;"&gt;Here's what the XFDF looks like:&lt;/div&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nGg6YL2tlmc/TrmeHbWakwI/AAAAAAAAOuM/avuhA8nw-BU/s1600/Code1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-nGg6YL2tlmc/TrmeHbWakwI/AAAAAAAAOuM/avuhA8nw-BU/s320/Code1.JPG" width="174" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: left;"&gt;As you can see, the first line references the PDF that's going to be merged with this XFDF file. &amp;nbsp;The rest of the lines are the fields and the data that goes into the form. &amp;nbsp;&lt;/div&gt;&lt;div class="" style="clear: both; text-align: left;"&gt;Now it's time to dynamically build this XML file and I need to change the reference to the PDF file from a file that should be in the same directory as the XFDF file to an HTTP reference (i.e. a URL). &amp;nbsp;To do so, you can upload the PDF to any website (including Adobe's site discussed above). &amp;nbsp;Since I am using Oracle Application Express, I added 2 fields to my "letters" table. &amp;nbsp;One field contains the XFDF that will be generated (and substitution variables changed out on the fly) and the other contains a "File Browse" (i.e. BLOB storage in Oracle) field.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Here's what my letters maintenance page looks like in my application:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NokiBuUzaZw/TrmSeqs6jOI/AAAAAAAAOtk/KzuXoPwqfaY/s1600/Adobe12.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="165" src="http://1.bp.blogspot.com/-NokiBuUzaZw/TrmSeqs6jOI/AAAAAAAAOtk/KzuXoPwqfaY/s320/Adobe12.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Letters Page in ApEx - includes XFDF and PDF document&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div&gt;You can see that on the top right hand side of the page I have a number of substitution variables. &amp;nbsp;These variables get changed out in the letter itself - it's like a mail merge functionality. &amp;nbsp;Here's the text that's in the body of the letter section:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Please call us ASAP.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;$PEOPLE.FIRST_NAME$&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;$PEOPLE.PRIMARY_PHONE$&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;$PEOPLE.EMAIL_ADDRESS$&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The text that's in the XFDF section looks like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KbfOcEoyvD4/Trme7z6QyTI/AAAAAAAAOuU/LOHs-v2TVJY/s1600/Code3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-KbfOcEoyvD4/Trme7z6QyTI/AAAAAAAAOuU/LOHs-v2TVJY/s320/Code3.JPG" width="142" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can see that the above XFDF is the same as the template I exported above except that I placed the substitution variables in here rather than hardcoded values. &amp;nbsp;This ultimately generates the PDF that you see in the top of this blog post.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Within the application, users can log conversations they have with homeowners. &amp;nbsp;You can see that on the right side of the page, the user can select a letter that they wish to use - this is effective the template that they want to use to write an email or a letter. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_llI0UUgvq8/TrmUMr0QAvI/AAAAAAAAOts/uo_2bFQ7-cA/s1600/Adobe13.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="110" src="http://3.bp.blogspot.com/-_llI0UUgvq8/TrmUMr0QAvI/AAAAAAAAOts/uo_2bFQ7-cA/s320/Adobe13.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Writing a Letter to a Customer&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;Above you can see the text that was written for the body of the letter or email:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Please call us ASAP.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;Jason&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;303.946.2707&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="background-color: #d9ead3; color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;jbyrne@noreo.us&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can't see the XFDF that gets written, but I will share it shortly. &amp;nbsp;The trigger on this page basically reads the template text and replaces each of the substitution variables with real data for the current record. &amp;nbsp;This saves the data in the conversation log. &amp;nbsp;If the user calls the person, they can log their conversation here. &amp;nbsp;If they want to send an email, they click on the send email link, it brings up the email in their email client.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0depzkbXmdE/TrmV3O7iIlI/AAAAAAAAOt0/MC4H4O82GAI/s1600/Adobe14.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="239" src="http://2.bp.blogspot.com/-0depzkbXmdE/TrmV3O7iIlI/AAAAAAAAOt0/MC4H4O82GAI/s320/Adobe14.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Sending an Email&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If they want to send a letter rather than an email, the user simply flags the message as not delivered in the conversation log. &amp;nbsp;One person in the organization is responsible for sending out physical letters. &amp;nbsp;When they are ready to send the letters from today, they simply go to the "Unsent Letters" page in the application.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For each of our customers we see the letters that we need to send out today.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-o_9QIk65X2I/TrmXizl8HuI/AAAAAAAAOt8/Z_VxpDoiwVQ/s1600/Adobe15.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="122" src="http://2.bp.blogspot.com/-o_9QIk65X2I/TrmXizl8HuI/AAAAAAAAOt8/Z_VxpDoiwVQ/s320/Adobe15.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Unsent Letters&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can see that in the above image, the user can open the document in Word which uses the RTF format as we discussed above. &amp;nbsp;You can also see that they can open it in PDF, which is actually opening an XFDF on the fly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If I open it in Word, it uses the RTF I mentioned and looks like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-aRHLH9totqM/TrmYNlHKg9I/AAAAAAAAOuE/_Xr40RSsST0/s1600/Adobe16.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-aRHLH9totqM/TrmYNlHKg9I/AAAAAAAAOuE/_Xr40RSsST0/s320/Adobe16.JPG" width="297" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Opened in Word using RTF&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;The XFDF that was dynamically created (in the conversation log) looks like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-D35kNGwTnIk/Trme8XtBU6I/AAAAAAAAOuc/NppLfydktvY/s1600/Code2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-D35kNGwTnIk/Trme8XtBU6I/AAAAAAAAOuc/NppLfydktvY/s320/Code2.JPG" width="182" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue; font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You'll notice above that the filename points to an HTTP reference. &amp;nbsp;Here's what the "OPEN_IN_PDF" procedure looks like. &amp;nbsp;This is PL/SQL code:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;create&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;or&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;replace&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;PROCEDURE&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;OPEN_IN_PDF&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;(&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;in_conversation_id&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-type" style="color: purple; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;number&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;in_workspace_images&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-type" style="color: purple; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;varchar2&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;AS&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;cursor&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;letter_cur&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;is&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;select&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;from&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;property_conversation&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;where&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;conversation_id&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;in_conversation_id&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;begin&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;OWA_UTIL&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;.MIME_HEADER&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;(&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-literal" style="color: green; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;'Content-Type:application/vnd.adobe.xfdf;charset=utf-8'&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-function" style="color: darkorange; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;false&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;)&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;htp&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;.print&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;(&lt;/span&gt;&lt;span class="plsql-literal" style="color: green; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;'Content-Disposition:attachment;filename="Letter'&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;||&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;in_conversation_id&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;||&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-literal" style="color: green; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;'.xfdf"'&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;)&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;OWA_UTIL&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;.HTTP_HEADER_CLOSE&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;for&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;letter_rec&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;in&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;letter_cur&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;loop&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;htp&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;.p&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;(&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;letter_rec&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;.XFDF_TEXT&lt;/span&gt;&lt;span class="plsql-punctuation" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;)&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;end&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;loop&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;update&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;property_conversation&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;set&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;delivered&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-literal" style="color: green; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;'Y'&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;where&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;conversation_id&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;=&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;in_conversation_id&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;commit&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;end&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span class="whitespace" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;htmldb_application&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;.g_unrecoverable_error&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-operator" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-function" style="color: darkorange; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;true&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="plsql-keyword" style="color: blue; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;END&amp;nbsp;&lt;/span&gt;&lt;span class="plsql-word" style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;OPEN_IN_PDF&lt;/span&gt;&lt;span class="plsql-separator" style="color: #666666; font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;;&lt;/span&gt;&lt;span style="font-family: monospace; font-size: 13px; line-height: 14px; white-space: nowrap;"&gt;​&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You might have noticed that the address and text in the letter isn't going to the next line like it should. &amp;nbsp;The carriage returns are in the XFDF as you can see above, so you might expect the letter to look as follows...but it doesn't. &amp;nbsp;So why is this?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-7bByl68cgN8/Trn3jKn7kSI/AAAAAAAAOuk/LOZ4pONoVp8/s1600/Adobe17.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="313" src="http://4.bp.blogspot.com/-7bByl68cgN8/Trn3jKn7kSI/AAAAAAAAOuk/LOZ4pONoVp8/s320/Adobe17.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The reason is that if you want the fields to wrap (i.e. to be displayed on multiple lines), you must indicate this in the attributes "Multi-Line" feature:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-FKLbsvWYbWM/Trn4b722keI/AAAAAAAAOus/2ulN2yHBUNA/s1600/Adobe18.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-FKLbsvWYbWM/Trn4b722keI/AAAAAAAAOus/2ulN2yHBUNA/s320/Adobe18.JPG" width="273" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The important thing above is that the content type is set to open the XFDF from the browser. &amp;nbsp;The filename is set via my search and replace (for substitution variables). &amp;nbsp;I think that covers all of the technical details that are important. &amp;nbsp;If not and you have a question, please submit a comment. &amp;nbsp;Hopefully this is helpful for others as this was hours brain damage for me! &amp;nbsp;Enjoy!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6908588930003801197?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6908588930003801197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6908588930003801197' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6908588930003801197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6908588930003801197'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/11/pdfs-fdfs-document-templates-database.html' title='PDFs, FDFs, Document Templates, Database Data Merging and More...'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-lMno2y40xHI/Trl2aPclxiI/AAAAAAAAOrc/grBs00N2MKI/s72-c/Adobe1.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-3928370286407931011</id><published>2011-10-05T23:49:00.000-06:00</published><updated>2011-10-17T21:56:37.367-06:00</updated><title type='text'>You're Invited to Colder Weather Outfitters Open House</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QP-8zui8LMo/Tpz29FYl5aI/AAAAAAAAOpg/mRNydwnXwoY/s1600/Slide1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-QP-8zui8LMo/Tpz29FYl5aI/AAAAAAAAOpg/mRNydwnXwoY/s640/Slide1.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Wq3GiNpDFj4/Tpz2rYtkfnI/AAAAAAAAOpA/sLOUfrW4NdY/s1600/Slide2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-Wq3GiNpDFj4/Tpz2rYtkfnI/AAAAAAAAOpA/sLOUfrW4NdY/s640/Slide2.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-RTQx3_1wrU4/Tpz2vmMGvzI/AAAAAAAAOpI/pcAw1XvlFOs/s1600/Slide3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-RTQx3_1wrU4/Tpz2vmMGvzI/AAAAAAAAOpI/pcAw1XvlFOs/s640/Slide3.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gghZZEueTzA/Tpz20t_qnoI/AAAAAAAAOpQ/RlPt0W4wcBs/s1600/Slide4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-gghZZEueTzA/Tpz20t_qnoI/AAAAAAAAOpQ/RlPt0W4wcBs/s640/Slide4.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zQY4yFv29mo/Tpz25DEYBeI/AAAAAAAAOpY/9hGxMyfcfZc/s1600/Slide5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-zQY4yFv29mo/Tpz25DEYBeI/AAAAAAAAOpY/9hGxMyfcfZc/s640/Slide5.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jTJBE3dOhro/Tpz2duydJgI/AAAAAAAAOoo/pnO2CRrC8iM/s1600/Slide6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://1.bp.blogspot.com/-jTJBE3dOhro/Tpz2duydJgI/AAAAAAAAOoo/pnO2CRrC8iM/s640/Slide6.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bVpduiHmInQ/Tpz2ijJs8ZI/AAAAAAAAOow/s_i2oY8P90I/s1600/Slide7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-bVpduiHmInQ/Tpz2ijJs8ZI/AAAAAAAAOow/s_i2oY8P90I/s640/Slide7.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-srq-HPZRGZk/Tpz2nx6AhcI/AAAAAAAAOo4/hSR_TgpRPcU/s1600/Slide8.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://4.bp.blogspot.com/-srq-HPZRGZk/Tpz2nx6AhcI/AAAAAAAAOo4/hSR_TgpRPcU/s640/Slide8.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-oLl5AtBmR5g/Tpz2XkY60QI/AAAAAAAAOog/ypbILT9W3MI/s1600/Slide9.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-oLl5AtBmR5g/Tpz2XkY60QI/AAAAAAAAOog/ypbILT9W3MI/s640/Slide9.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-3928370286407931011?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/3928370286407931011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=3928370286407931011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3928370286407931011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3928370286407931011'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/10/youre-invited-to-colder-weather.html' title='You&apos;re Invited to Colder Weather Outfitters Open House'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-QP-8zui8LMo/Tpz29FYl5aI/AAAAAAAAOpg/mRNydwnXwoY/s72-c/Slide1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-4547784383391113792</id><published>2011-08-25T18:05:00.000-06:00</published><updated>2011-08-25T18:05:31.256-06:00</updated><title type='text'>Looking for a 3rd Partner</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-bottom: 13.0pt; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="color: black; font-family: &amp;quot;Cambria&amp;quot;,&amp;quot;serif&amp;quot;; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Calibri; mso-hansi-theme-font: major-latin;"&gt;My Partner, Kevin Fallon, and I have formed &lt;/span&gt;&lt;span style="color: black;"&gt;&lt;a href="http://www.breosla.com/"&gt;&lt;span style="font-family: &amp;quot;Cambria&amp;quot;,&amp;quot;serif&amp;quot;; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Calibri; mso-hansi-theme-font: major-latin;"&gt;Breosla&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Cambria&amp;quot;,&amp;quot;serif&amp;quot;; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Calibri; mso-hansi-theme-font: major-latin;"&gt;, a software business accelerator, and are in search of a Managing Partner to lead finance, capital formation and investor relations. &lt;u9:p&gt;&lt;/u9:p&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 13.0pt; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="color: black; font-family: &amp;quot;Cambria&amp;quot;,&amp;quot;serif&amp;quot;; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Calibri; mso-hansi-theme-font: major-latin;"&gt;The Partner we seek must have a background in software and experience in venture capital. Ideally, the candidate will be certified in FINRA Series 63 and 79. We are embarking on a $60 M capital raise and have identified several prospective portfolio companies. All Fund documents are complete. &lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;u9:p&gt;&lt;/u9:p&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 13.0pt; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span style="color: black; font-family: &amp;quot;Cambria&amp;quot;,&amp;quot;serif&amp;quot;; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Calibri; mso-hansi-theme-font: major-latin;"&gt;Breosla consults with, advises and invests in software companies in emerging and established stages. It improves business model design, strategy and execution for its portfolio companies in the SaaS arena with a focus on collaboration, security and mobile. Our goal is to drive outsized investor returns from the Cloud adoption opportunity swell.&lt;u9:p&gt;&lt;/u9:p&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 13.0pt; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span class="Apple-style-span" style="font-family: Cambria, serif;"&gt;If ANYONE comes to mind, please have them give me a call or send me an email at brad.brown@breosla.com!&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 13.0pt; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span class="Apple-style-span" style="font-family: Cambria, serif;"&gt;Thank you!&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 13.0pt; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span class="Apple-style-span" style="font-family: Cambria, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-o2gJZ_421pw/TlbjQqpgGuI/AAAAAAAAOoY/AjqOtGgkx0k/s1600/three-legged-stool-outline-md.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-o2gJZ_421pw/TlbjQqpgGuI/AAAAAAAAOoY/AjqOtGgkx0k/s1600/three-legged-stool-outline-md.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 13.0pt; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;"&gt;&lt;span class="Apple-style-span" style="font-family: Cambria, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-4547784383391113792?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/4547784383391113792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=4547784383391113792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4547784383391113792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4547784383391113792'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/08/looking-for-3rd-partner.html' title='Looking for a 3rd Partner'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-o2gJZ_421pw/TlbjQqpgGuI/AAAAAAAAOoY/AjqOtGgkx0k/s72-c/three-legged-stool-outline-md.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6690096975818708320</id><published>2011-08-12T19:40:00.000-06:00</published><updated>2011-08-12T19:40:05.389-06:00</updated><title type='text'>Appalled by Shark Tank VCs</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I just watched the end of Shark Tank. &amp;nbsp;I have to say that I'm absolutely&amp;nbsp;appalled&amp;nbsp;by what I just watched. &amp;nbsp;It's one thing for the sharks that have billions already to take advantage of people, but when the show doesn't explain what they did to the poor guy, I'm sickened!&lt;br /&gt;&lt;br /&gt;Basically the guy's (&lt;span class="Apple-style-span" style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;Joe Moore of Daytona Beach Shores)&amp;nbsp;&lt;/span&gt;concept was simple, but simple ideas can become huge. &amp;nbsp;I can't see it taking off in the US, but in Asia, where people where masks around, yes, absolutely. &amp;nbsp;Here is his &lt;a href="http://www.google.com/patents/about/11_928_226_RESPIRATORY_NASAL_FILTER.html?id=80vKAAAAEBAJ"&gt;patent&lt;/a&gt;. &amp;nbsp;The company / product is &lt;a href="http://www.filteryourlife.com/"&gt;First Defense&lt;/a&gt;, which are&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;&lt;em style="font-style: normal; font-weight: bold;"&gt;Nasal&lt;/em&gt;&amp;nbsp;dust covers made of 100% breathable non-latex, skin safe material. They &lt;a href="http://www.youtube.com/watch?v=dB2XUF_b5bo"&gt;look kind of funny,&lt;/a&gt; but like I said, they might just work in other countries or maybe in the military.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;So what was so terrible? &amp;nbsp;Well...he had an order for $8M over 6 years. &amp;nbsp;He needed $1.2M to fulfill his first order. &amp;nbsp;The sharks offered him a number of deals. &amp;nbsp;$500k for 20% of the company and they wanted a 10% royalty (until they got their money back) and the offers continued until he got an offer for $4M for the entire company with a 10% royalty back to him for life. &amp;nbsp;What they didn't explain is that $500k/20% = $2.5M post money valuation. &amp;nbsp;He's thinking he would retain control since he only gave up 20% of the company. &amp;nbsp;But...that was money going back into the company's pocket (not his)...therefore he still needs $1.2M - 500k = $700k. &amp;nbsp;If he sold the entire company for $4M, that was money in his pocket, he would lose control AND he would get a 10% royalty on the $8M or another $800k.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;He turned that offer down because he wanted $5M for the company and a 15% royalty. &amp;nbsp;Seriously? &amp;nbsp;You just got offered $4.8M minimum and you turned it down. &amp;nbsp;OK, that's bad, but then the sharks regrouped and came up with a common (shark) offer. &amp;nbsp;They offered him $750k for 30% of the company - again, a $2.5M valuation. &amp;nbsp;He reminded them he needs $1.2M to fulfill the first order. &amp;nbsp;They said "do you think we're going to let you fail?" &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;What they didn't tell him are the terms of the rest of the money. &amp;nbsp;They said it behind closed doors, but I'm not sure most people got what they were saying...i.e. we'll change the terms on the rest of the money he needs. &amp;nbsp;In other words, they will cram him down (i.e. his valuation on the additional capital will be worse). &amp;nbsp;If they give him a $1.5M valuation on the additional $450k needed, that's another 30% of the company for them, so they will own 60% of the company before he fills his first order. &amp;nbsp;Believe me, they will own at least 51%. &amp;nbsp;Once someone owns 51% of your company, they have control. &amp;nbsp;They don't ever need to sell your 1/2 of the company. &amp;nbsp;So...what will Joe end up with in his pocket? &amp;nbsp;$0. &amp;nbsp;Let's see $4.8M and ZERO obligations to come up with the $1.2M and a 10% royalty forever...or $0.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;Shouldn't they explain this stuff? &amp;nbsp;I'm&amp;nbsp;appalled! &amp;nbsp;If you read articles like&amp;nbsp;&lt;a href="http://blogs.orlandosentinel.com/entertainment_tv_tvblog/2011/03/shark-tank-how-about-a-4-million-offer-would-you-take-it.html"&gt;Orlando Sentinel&lt;/a&gt;, they make it out like he did the right thing...come on guys, where's the education for people? &amp;nbsp;The article in &lt;a href="http://www.chubbybrain.com/blog/shark-tank-tv-reality-angel-investor-venture-capitalist/"&gt;ChubbyBrain&lt;/a&gt; explains more about VCs and their actions, but doesn't point out the reality above either! &amp;nbsp;Absolutely appalled!&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6690096975818708320?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6690096975818708320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6690096975818708320' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6690096975818708320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6690096975818708320'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/08/appalled-by-shark-tank-vcs.html' title='Appalled by Shark Tank VCs'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-2844668461067663285</id><published>2011-08-10T21:40:00.000-06:00</published><updated>2011-08-10T21:40:58.213-06:00</updated><title type='text'>AnDevCon II</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;If you're thinking about developing mobile apps, I'd highly recommend this conference. &amp;nbsp;I spoke and attended this conference last year. &amp;nbsp;Great speakers, great attendees, networking, fun, and lots of energy!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.andevcon.com/AndevCon_II/index.html"&gt;http://www.andevcon.com/AndevCon_II/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can save $200-600 (depending on what you sign up for) if you put my last name (brown) into the discount code. &amp;nbsp;I hope to see you there!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-2844668461067663285?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/2844668461067663285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=2844668461067663285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2844668461067663285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2844668461067663285'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/08/andevcon-ii.html' title='AnDevCon II'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5310529015959746395</id><published>2011-08-05T23:50:00.000-06:00</published><updated>2011-08-05T23:50:21.849-06:00</updated><title type='text'>Enhanced Recovery</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;I talked about Enhanced Recovery a while ago. &amp;nbsp;We've been working for a while now to find a partner. &amp;nbsp;We knew it was going to be important to have several hundred people trained quickly. &amp;nbsp;Our partner has a great training facility and they have a beautiful, state-of-the-art building that can house many more employees. &amp;nbsp;Their infrastructure is impressive to say the least! &amp;nbsp;I developed the technology for this company and we're now ready to save people from foreclosure!&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;The current secondary mortgage market of the private sector of the U.S. is currently in a depression mode.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Very little activity is being recorded other than that between essentially the big 5 mortgage originators and the GSEs and FHA.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;One of the compelling reasons for this state of affairs is the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol start="1" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal" style="mso-list: l1 level1 lfo1; tab-stops: list .5in;"&gt;Three      out of five mortgages in the U.S. are currently upside down.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l1 level1 lfo1; tab-stops: list .5in;"&gt;There      are over 12.5 million mortgages in REO or foreclosure in the U.S.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l1 level1 lfo1; tab-stops: list .5in;"&gt;The      average cost of a foreclosure is north of $20,000.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l1 level1 lfo1; tab-stops: list .5in;"&gt;The      average settlement time for a mortgage in REO or foreclosure is 580 days.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l1 level1 lfo1; tab-stops: list .5in;"&gt;The      current successful settlement rate of a REO or foreclosure is ½ of 1% of      all REOs and foreclosures.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;The reason for this dismal performance is that current processes and procedures for REO and foreclosure were designed 30 to 40 years ago and were never intended for the current rates of volume in each category.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;First Premier&amp;nbsp;(our new partner), this country’s 9&lt;sup&gt;th&lt;/sup&gt; largest credit card issuer in the U.S. has found a solution to this problem called Enhanced Recovery (ER).&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Enhanced Recovery:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol start="1" style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;"&gt;Deals      with mortgage loans in default before they are in REO, foreclosure or      short sale status.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;"&gt;Only      charges fees of any kind on a success basis.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;"&gt;Provides      a return to the investor of 300% to 400% of the normal return.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;"&gt;Reduces      the amount of time of a loan being in limbo from 580 to less than 100      days.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo2; tab-stops: list .5in;"&gt;Has a      balance sheet of half a billion dollars, equity of a quarter billion      dollars, access to four data centers and 1600 employees, is operative and      ready for operation for all U.S. mortgage loan servicers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span"&gt;Please call&amp;nbsp;&lt;/span&gt;&amp;nbsp;303-925-1777 or contact Bob Gaudet @fcon9999@msn.com&amp;nbsp;&lt;span class="Apple-style-span"&gt;to arrange for a webinar demoing the ER systems. &amp;nbsp;If you know someone at a large bank that could use our help, please refer them to us! &amp;nbsp;We're looking for an initial commitment of 500-1000 files a month.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5310529015959746395?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5310529015959746395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5310529015959746395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5310529015959746395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5310529015959746395'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/08/enhanced-recovery.html' title='Enhanced Recovery'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total><georss:featurename>Sioux Falls, SD, USA</georss:featurename><georss:point>43.5499749 -96.70032700000002</georss:point><georss:box>43.474643900000004 -96.79495200000001 43.6253059 -96.60570200000002</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-4987178124810832683</id><published>2011-05-23T15:24:00.000-06:00</published><updated>2011-05-23T15:24:55.927-06:00</updated><title type='text'>Test Out IntegrateIt</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div siber__q92dpb7seovvtbh5__vptr="b9eafd0" sourceindex="4"&gt;I promised I would get this out there and here it is. &amp;nbsp;Please &lt;a href="http://www.tatsmystory.com/apex/f?p=106"&gt;give it a try&lt;/a&gt; and let me know what you think. &amp;nbsp;This app pulls a list of businesses from Yahoo and puts it into your very own Google docs spreadsheet. &amp;nbsp;If you're looking for free mailing lists for local businesses, this is your solution!&lt;/div&gt;&lt;div siber__q92dpb7seovvtbh5__vptr="b9eafd0" sourceindex="4"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div siber__q92dpb7seovvtbh5__vptr="b9eafd0" sourceindex="4"&gt;&lt;a href="http://www.tatsmystory.com/apex/f?p=106"&gt;Try it out&lt;/a&gt;&amp;nbsp;- I look forward to your feedback!&lt;/div&gt;&lt;div siber__q92dpb7seovvtbh5__vptr="b9eafd0" sourceindex="4"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-4987178124810832683?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.tatsmystory.com/apex/f?p=106' title='Test Out IntegrateIt'/><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/4987178124810832683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=4987178124810832683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4987178124810832683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4987178124810832683'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/05/test-out-integrateit.html' title='Test Out IntegrateIt'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6520012468341539155</id><published>2011-05-20T16:04:00.000-06:00</published><updated>2011-05-20T16:04:33.343-06:00</updated><title type='text'>IntegrateIt</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Have you ever wanted to a get a list of local (or non-local) businesses?  Would you like to do a mail merge to print letters or mailing labels?  Have you ever wanted to create a map of all of your local coffee or bagel shops?  I know at different points in time, I've needed to do all of the above.&lt;br /&gt;&lt;br /&gt;Yahoo is a content provider.  Yahoo has a query language called Yahoo Query Language (YQL).  It's nice that they provide this data in XML and JSON, but how does that apply to the average person?  Answer - it doesn't.  I've written an application that takes information from any source, such as Yahoo's Local Search and places that data into a spreadsheet for you.  So how does this apply to the average user?  Directly!&lt;br /&gt;&lt;br /&gt;Google offers Google Docs, which allow you to create documents/letters (i.e. like Microsoft Word), spreadsheets (i.e. like Microsoft Excel), presentations (i.e. like PowerPoint), forms and drawings...all through your browser!  You can export or download any of these files onto your own computer as Microsoft file formats (i.e. doc, xls, ppt, etc).&lt;br /&gt;&lt;br /&gt;I wrote IntegrateIt to merge these 2 technologies together.  In other words, I can search for any business name (i.e. McDonald's, Starbucks, Einsteins) or category (i.e. pizza, coffee, automotive) within a radius of an address, city or zip code and populate a Google Docs spreadsheet with the data.  Yahoo provides you with an address and phone number for a business, but they don't provide you with the zip code.  This makes their addresses pretty useless for mailing.  So I call another service to calculate the zip code.  I also include other links (for Google maps, a Google Map frame, etc).  If there is something you would like me to include that I'm not including today, I'd love to hear about it.&lt;br /&gt;&lt;br /&gt;I'm going to publish this app soon and at that time I'll make the URL available for everyone to test it out for themselves. &amp;nbsp;The application from a user perspective is pretty simple. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-f6r52sS11D8/Tdbhv1M8XOI/AAAAAAAAOmw/x5l_Q81_kfg/s1600/IntegrateIt1.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="309" src="http://4.bp.blogspot.com/-f6r52sS11D8/Tdbhv1M8XOI/AAAAAAAAOmw/x5l_Q81_kfg/s320/IntegrateIt1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;You simply specify what you want to search for, what location you want to search from, how big of a radius you want to search within. &amp;nbsp;You can choose the fields you wish to gather data for and you can even shuffle them around (order-wise). &amp;nbsp;You can specify how many records you want to find at the upper limit (Yahoo's good for about 100 records at a time). &amp;nbsp;Then you specify your Google docs username, password and spreadsheet name. &amp;nbsp;Finally, you simply click on "Popular Google Spreadsheet."&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-VTrm5xm4BYg/Tdbhv8G2G6I/AAAAAAAAOm4/2bc0ENaT4J0/s1600/IntegrateIt2.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="164" src="http://2.bp.blogspot.com/-VTrm5xm4BYg/Tdbhv8G2G6I/AAAAAAAAOm4/2bc0ENaT4J0/s320/IntegrateIt2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Directions are provided on the right hand side of the page. &amp;nbsp;Videos are also provided below the directions. &amp;nbsp;You can find the full 6 minute video &lt;a href="http://www.youtube.com/watch?v=O_PHvX6YYac"&gt;here&lt;/a&gt;&amp;nbsp;and it's below as well.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-hcElnA9jTew/TdbhwQR-4yI/AAAAAAAAOnA/vLYtaKi_jbA/s1600/IntegrateIt3.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="263" src="http://4.bp.blogspot.com/-hcElnA9jTew/TdbhwQR-4yI/AAAAAAAAOnA/vLYtaKi_jbA/s320/IntegrateIt3.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;When you start the process, a new worksheet will be created within your spreadsheet. &amp;nbsp;The worksheet will be named based on whatever you searched for and your search location. &amp;nbsp;All of the fields that you included will be loaded into the spreadsheet. &amp;nbsp;You can see in the image to the left that the address, then business name, phone number, etc. are here for each of the bagel shops. &amp;nbsp;This spreadsheet can be downloaded as an Excel spreadsheet, which can be used for mail merges or however you see fit.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-egeksQgs5IM/Tdbhwj282BI/AAAAAAAAOnI/jy_yXTt7hlo/s1600/IntegrateIt4.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://3.bp.blogspot.com/-egeksQgs5IM/Tdbhwj282BI/AAAAAAAAOnI/jy_yXTt7hlo/s320/IntegrateIt4.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Google also has a number of really nice gadgets within Google docs. &amp;nbsp;One gadget is called a simple map gadget. &amp;nbsp;I mapped each of the bagel shops in about 5 clicks.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-lqC_q8v--r0/Tdbhw8hiRSI/AAAAAAAAOnQ/1cwESkNuTb0/s1600/IntegrateIt5.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://2.bp.blogspot.com/-lqC_q8v--r0/Tdbhw8hiRSI/AAAAAAAAOnQ/1cwESkNuTb0/s320/IntegrateIt5.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Another gadget is the store locator gadget. &amp;nbsp;This gadget is pretty cool and could be placed on any company's web page within seconds.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7Y3rAoIEJNE/Tdbh8EqFofI/AAAAAAAAOnY/ch8DAi8ni_c/s1600/IntegrateIt6.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="95" src="http://2.bp.blogspot.com/-7Y3rAoIEJNE/Tdbh8EqFofI/AAAAAAAAOnY/ch8DAi8ni_c/s320/IntegrateIt6.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;Any gadget can be placed onto your iGoogle dashboard too. &amp;nbsp;This can be done in 2 clicks.&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/O_PHvX6YYac?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/O_PHvX6YYac?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;This video above walks you through this app. &amp;nbsp;I'd love to hear your feedback/thoughts on this functionality.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6520012468341539155?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6520012468341539155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6520012468341539155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6520012468341539155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6520012468341539155'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/05/integrateit.html' title='IntegrateIt'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-f6r52sS11D8/Tdbhv1M8XOI/AAAAAAAAOmw/x5l_Q81_kfg/s72-c/IntegrateIt1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-1008735551911984346</id><published>2011-04-19T19:34:00.005-06:00</published><updated>2011-05-20T16:11:35.911-06:00</updated><title type='text'>Role of a Startup CTO</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;I asked each of my Startup (and still currently active) CEOs for a&amp;nbsp;bullet list of things I did for them as the Startup CTO. &amp;nbsp;I asked them what I did to help them, how I made their technical lives easier, and how I helped them sleep at night. &amp;nbsp;I thought this might be a helpful list if you're a startup&amp;nbsp;entrepreneur&amp;nbsp;and you're wondering what a Startup CTO does. &amp;nbsp;Here are their responses - Brad, as our Startup CTO...:&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Enhanced Recovery&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Helped put together the technical spec, advised on improvements to it&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Put together the 3rd generation platform quickly and elegantly&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Has an "I'll get it done" attitude, Brad met every milestone on time, I simply didn't have to worry about performance or responsiveness&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Simply took accountability and control for all things IT and made it happen&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;In presentations has a quiet confidence that is transferred to people on the other side of the table who are writing the checks - they simply have not doubted our code or platform or ability to get the platform into production&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;IntelliReal&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Research and validate the underlying technologies to insure correct decisions are made relative to platform, architecture, software components&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Selectively prototyped core product functionality to verify feasibility and course-correct based on this feedback&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Worked hand in hand with partners to refine and define practical business solutions – features, functionality and value proposition&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Liaison to industry talent – building technical support infrastructure with the proper personnel - Brad knows (and hires) the best of the best technology people&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Sell and promote the solution along with entrepreneur – adding critical credibility as it relates the technology&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Worked to identify and recruit key technology partnerships necessary for a complete solution&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Insured fiscal feasibility of selected technology&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Constructed and managed team of engineers, developers, architects and other key technical resources&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Defined and project-managed the implementation of solutions&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Independent Nation and Open Access Broadband&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;How to use IT as a strategic weapon&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Thinking creatively and very much out of the box about the uses and capabilities of IT&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Practical considerations about staffing, outsourcing, other avenues&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Knowing we were doing right thing instead of expedient thing&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Knowing we weren't going to be fleeced by consultants&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Knowing we were capable of working at the cutting edge of the intersection between our industry and information technology&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Even developing some applications that didn't exist without fear&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;EventConnex&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Translated business specifications to technology needs&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Understood business model and matched technology (i.e.: in our case "software as a service" rather than enterprise software installation)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Defined technology: recommend platforms (DB, tiers, language, etc.)&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Designed architecture&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Insured appropriate documentation&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Developed prototype&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Helped select technology vendors&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Specified and hired initial technology team&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Represented technology to investors&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Used technology as our competitive advantage!&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul style="text-align: left;"&gt;&lt;/ul&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;I also asked them to fill in the blank for&amp;nbsp;“Brad is…”:&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;Jason Bryne, CEO, Enhanced Recovery said "...an amazing trifecta or Jedi Knight of 1) &amp;nbsp;"scary" coder (he codes so quickly, well and elegantly it's amazing what he can get done in a small period of time), 2) &amp;nbsp;experienced and highly successful entrepreneur (sold his $50MM revenue company to an Indian IT company), and 3) &amp;nbsp;real estate valuation and process expert. &amp;nbsp;Those three things, solo and in combination, have been very useful to Enhanced Recovery."&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #990000;"&gt;&lt;b&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Ric Miles, CEO, Intellireal said "Without Brad’s involvement, I would have been lost and my project would have surely failed. &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Brad has a rare mix of strong business acumen and deep technical knowledge.&amp;nbsp; He can comfortably go from the board room to hands-on software development. &amp;nbsp;What I look for in a partner is a person of flawless integrity – this is Brad's character."&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Dave Maney, CEO, Independent Nation and Open Access Broadband said "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Brad Brown, more than anyone I've encountered in a 25 year business and entrepreneurial career, fuses cutting edge IT and systemic design knowledge with creativity, cost-consciousness, and his own entrepreneurial sensibility to help create truly wonderful and enabling solutions for dynamic young businesses. If I could bottle Brad Brown, I'd have my newest business."&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Ellen Robinson, CEO, EventConnex said "&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;We would not have been successful in raising our venture capital without Brad's technology leadership and direction. &amp;nbsp;He was able to show how technology could be used to solve the business problem and market that we wanted to attack. &amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #990000; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;i&gt;In other words, Brad helped us move from a solution drawn out on paper to a working prototype our initial customers could start to use."&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-1008735551911984346?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/1008735551911984346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=1008735551911984346' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/1008735551911984346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/1008735551911984346'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/04/role-of-acting-cto.html' title='Role of a Startup CTO'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-8947562071689812712</id><published>2011-04-14T23:40:00.002-06:00</published><updated>2011-04-14T23:44:04.373-06:00</updated><title type='text'>Tats My Story</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 14px;"&gt;First cut of &lt;a href="http://www.tatsmystory.com/"&gt;Tats My Story&lt;/a&gt; is up and running. Give it a try! If you have a tattoo or if you know someone with a great tattoo story, tell them about the site and have them upload their pictures, stories, etc. The winners will end up in a colorful book!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 14px;"&gt;It includes full social media connections for&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 14px;"&gt;&lt;a href="http://www.facebook.com/share.php?u=http%3A%2F%2Ffb-share-control.com%2F%3Ft%3DTats%2520My%2520Story%26i%3Dhttp%253A%252F%252Fwww.tatsmystory.com%252Fapex%252Fp%253Fn%253D2513301785864574%26d%3DSick%20of%20hearing%20-%20%22I%20have%20the%20key%20to%20your%20lock%22%26u%3Dhttp%253A%252F%252Fwww.tatsmystory.com%252Fapex%252Ff%253Fp%253D115%253A101%253A%253A%253A%253A%253Ap101_a%253A21"&gt;Facebook&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 14px;"&gt;&lt;a href="http://twitter.com/?status=http://www.tatsmystory.com/apex/f?p=115:101:::::p101_a:21%20-%20Sick%20of%20hearing%20-I%20have%20the%20key%20to%20your%20lock"&gt;Twitter&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 14px;"&gt;Please try it out - create a profile, give me feedback, tell your friends!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="600" src="http://3.bp.blogspot.com/-EgYflN4o-30/TafacsI0CRI/AAAAAAAAOmo/AqRHmbmtGmA/s640/TATSfinal.png" width="640" /&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-8947562071689812712?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.tatsmystory.com' title='Tats My Story'/><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/8947562071689812712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=8947562071689812712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8947562071689812712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8947562071689812712'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/04/tats-my-story.html' title='Tats My Story'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-EgYflN4o-30/TafacsI0CRI/AAAAAAAAOmo/AqRHmbmtGmA/s72-c/TATSfinal.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-8427790878154932749</id><published>2011-04-13T09:50:00.001-06:00</published><updated>2011-04-13T09:52:26.779-06:00</updated><title type='text'>New Venture Creation</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;h1 class="h1" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 10px; vertical-align: baseline;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: small; font-weight: normal;"&gt;If you're getting ready to start a new venture or if you're looking for a new idea, I'd HIGHLY recommend you purchase this book. &amp;nbsp;It's the book I used for my "New Venture Creation" class that I taught at the University of Denver, Daniels. &amp;nbsp;This class is part of the MBA&amp;nbsp;curriculum at DU. &amp;nbsp;I have not found many books that really explain the&amp;nbsp;entrepreneurial&amp;nbsp;process, but this one does. &amp;nbsp;The book is called:&lt;/span&gt;&lt;/h1&gt;&lt;h1 class="h1" style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 26px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 10px; vertical-align: baseline;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;New Venture Creation:&lt;br /&gt;Entrepreneurship for the 21st Century&lt;/span&gt;&lt;/h1&gt;&lt;div style="color: #333333; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Timmons, Jeffry; Spinelli, Stephen&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #333333; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-weight: 900; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;Publisher:&amp;nbsp;&lt;/span&gt;McGraw-Hill Higher Education&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #333333; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="color: #444444;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #444444; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;I'd recommend you g&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;span class="Apple-style-span" style="line-height: 16px;"&gt;et the latest edition you can find. &amp;nbsp;The advantage of new editions is that the case studies are newer / more&amp;nbsp;relevant. &amp;nbsp;They continue reworking content too. &amp;nbsp;I believe they are on the 8th edition at this point. &amp;nbsp;Here's what the 8th edition looks like - you'll see the edition number on the cover - it's pretty difficult to read the print however.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Arial, Verdana, sans-serif; line-height: 16px;"&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="clear: left; color: #333333; font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Arial, Verdana, sans-serif; line-height: 16px; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ACQowoycqg0/TaW0SqVD7NI/AAAAAAAAOmY/YB6REhKVA9w/s1600/NVCV6.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-ACQowoycqg0/TaW0SqVD7NI/AAAAAAAAOmY/YB6REhKVA9w/s200/NVCV6.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;V8&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Arial, Verdana, sans-serif; line-height: 16px; margin-left: 1em; margin-right: 1em; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This is the 7th edition, which is the version I taught my classes from - the version is in the lower right corner of this book:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-UYUhAN7b25M/TaWzqJEqkxI/AAAAAAAAOmQ/XdxAjpZtSJM/s1600/NVCV7.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/-UYUhAN7b25M/TaWzqJEqkxI/AAAAAAAAOmQ/XdxAjpZtSJM/s200/NVCV7.jpg" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;V7&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I like this book for a number of reasons, so I'll lay out the reasons by the chapters in the book that I really like:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Chapter 1 - "The&amp;nbsp;Entrepreneurial&amp;nbsp;Mind" - people have a lot of beliefs about what an&amp;nbsp;entrepreneur&amp;nbsp;is, looks like, thinks like, etc. &amp;nbsp;In other words, they read to try to figure out if they "fit the mold." &amp;nbsp;Well...there isn't a mold. &amp;nbsp;ANYONE can be an&amp;nbsp;entrepreneur...with the right partner anyway. &amp;nbsp;We all have strengths and we all have weaknesses. &amp;nbsp;If you have weaknesses, then you need to find a partner or partners who fill those gaps. &amp;nbsp;There are core attributes that make some people better for the job than others (determination, leadership, motivated) and there are traits that are not good (know it all, dependency, impulsive) - both of those trait types are listed in this chapter. &amp;nbsp;There are a lot of myths about&amp;nbsp;entrepreneurs - I love this exhibit in this chapter. &amp;nbsp;Things like we are born not made, we are gamblers, we want the whole show to ourselves, we must be young, unless you had a 600+ on the SAT you'll never make it, and the list goes on. &amp;nbsp;The exercises in the chapter are great because they help you craft your own strategy. &amp;nbsp;I think the bottom line is that most people go into businesses they understand. &amp;nbsp;That means that starting a business right out of college is tough - but once you have a little experience under your belt...you're ready...and at ANY age!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Chapter 3 - "The&amp;nbsp;Entrepreneurial&amp;nbsp;Process" - this chapter talks about the importance (and balance) of a team, the opportunity size, and the resources (money required).&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Chapter 4 - "The Opportunity: Creating, Shaping, Recognizing, Seizing" - I like this chapter because it talks about "thinking big enough" which is very important. &amp;nbsp;One small idea is tough to make into an entire business. &amp;nbsp;You're going to dedicate years to make a business successful, so make sure it's a big enough idea! &amp;nbsp;That doesn't mean you have to hit the market with your entire idea from end-to-end, it just means that your idea needs to have a future - many children ideas, etc. &amp;nbsp;This chapter talks about the 4 anchors that make an idea an opportunity. &amp;nbsp;1) they create significant value for customers, 2) they solve a significant problem, 3) they have robust market margin, 4) they are a good fit for the founders. &amp;nbsp;My favorite exercise in this chapter is the "Idea Generation Guide." &amp;nbsp;This will help you take ideas and figure out if they are opportunities. &amp;nbsp;In my class, students came to the class with 2-3 ideas each...I think everyone has always been amazed at the REAL ideas that they came up with that could be market opportunities!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Chapter 5 - "Screening Venture Opportunity" - this chapter has an excellent exercise called the "QuickScreen" which will help you determine if your idea is&amp;nbsp;fund-able. &amp;nbsp;I'm a bootstrap guy myself, but not every idea is&amp;nbsp;bootstrap-able. &amp;nbsp;There are great exercises and case studies in this chapter!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Chapter 6 - "The Business Plan" - I'm not much of a fan of a formal business plan...at least not as "step 1." &amp;nbsp;I personally believe that you have to start with a PowerPoint presentation that boils your business plan down the essence. &amp;nbsp;You need to be able to pitch your concept to someone in about 5 minutes. &amp;nbsp;You need to be able to give your high level "elevator pitch" in about 30 seconds. &amp;nbsp;But...when you're ready for the formal business plan (after MANY elevator pitches and MANY PowerPoint presentations)...this chapter is helpful!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;That's enough for today's blog...maybe I'll talk about the other chapters at another time. &amp;nbsp;The bottom line is that this book is the best book I've ever read about going from an idea to an opportunity to fund raising, choosing your team, and so on.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I understand a lot about this process as I've been through it many times! &amp;nbsp;If I can help you get through this process, please give me a call or send me an email!&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Arial, Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="color: #333333; font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Arial, Verdana, sans-serif; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-8427790878154932749?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/8427790878154932749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=8427790878154932749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8427790878154932749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8427790878154932749'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/04/new-venture-creation.html' title='New Venture Creation'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-ACQowoycqg0/TaW0SqVD7NI/AAAAAAAAOmY/YB6REhKVA9w/s72-c/NVCV6.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-4866519151025709721</id><published>2011-04-12T08:21:00.000-06:00</published><updated>2011-04-12T08:21:02.349-06:00</updated><title type='text'>Startup CTO's Role - or Acting CTO</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;What does a Startup CTO do? &amp;nbsp;I found a great article on this:&lt;br /&gt;&lt;a href="http://www.startuplessonslearned.com/2008/09/what-does-startup-cto-actually-do.html"&gt;http://www.startuplessonslearned.com/2008/09/what-does-startup-cto-actually-do.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dr. Tony Karrer talked about the technology focus and budget at each phase of the company at:&lt;br /&gt;&lt;a href="http://socalcto.blogspot.com/2010/01/startup-cto-or-developer.html"&gt;http://socalcto.blogspot.com/2010/01/startup-cto-or-developer.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tony has another great article about the Acting CTO in a Startup:&lt;br /&gt;&lt;a href="http://socalcto.blogspot.com/2007/12/acting-cto-role-in-start-up.html"&gt;http://socalcto.blogspot.com/2007/12/acting-cto-role-in-start-up.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In my experience startup technology failures are the result of Startup CTOs that can't actually walk the walk - i.e. they can't do the initial development. &amp;nbsp;Rather they need a team of people to do this. &amp;nbsp;That's where I think my skills are unique. &amp;nbsp;Not only can I define an &amp;nbsp;architecture for the long term, but I can do all of the initial development necessary to get the business funded. &amp;nbsp;I've been involved in a number of businesses, so I understand business quite well...and I understand technology quite well too! &amp;nbsp;There's a great discussion on this topic at:&lt;br /&gt;&lt;a href="http://answers.onstartups.com/questions/93/does-a-start-up-cto-have-to-be-a-coder"&gt;http://answers.onstartups.com/questions/93/does-a-start-up-cto-have-to-be-a-coder&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-4866519151025709721?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/4866519151025709721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=4866519151025709721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4866519151025709721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4866519151025709721'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/04/startup-ctos-role-or-acting-cto.html' title='Startup CTO&apos;s Role - or Acting CTO'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5261402515992653091</id><published>2011-04-11T23:34:00.000-06:00</published><updated>2011-04-11T23:34:47.197-06:00</updated><title type='text'>Startup CTO</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;After 3 weeks of reflection, talking with friends and family, and dreaming, I think I'm getting closer to my "next big thing" plan. &amp;nbsp;Over my 22+ years with TUSC, I enjoyed nothing more than my role as an Acting /Startup CTO for a number of startup organizations including (but not limited to): Verio Colorado, EventConnex, Open Access Broadband, and IntelliReal. &amp;nbsp;I've also really enjoyed being a board member, coach and business advisor for a number of personal and business friends' businesses.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;What's a Startup CTO?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;I thought it might be helpful to share some of the businesses that I've been involved with as the Startup CTO over the past 10 years. &amp;nbsp;Hopefully this will spark a thought about a business you would like to create or maybe you'll refer me to friend in need of a Startup CTO. &amp;nbsp;The bottom line is that the Startup CTO does what's necessary to get the business from a concept to funding and from funding through the startup phase of the business. &amp;nbsp;Someone else usually steps in when it becomes an operational position. &amp;nbsp;At least that is how it's typically worked for me.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Tats My Story&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;If you're familiar with crowd sourcing, you're going to love this concept. &amp;nbsp;Imagine that you want write a book about people and their tattoo stories. &amp;nbsp;You want to find the best stories possible. &amp;nbsp;You want people to write their own stories. &amp;nbsp;You want people to vote on the best stories and then ultimately you want to publish a book (or magazine) on some frequency (i.e. once a year) or&amp;nbsp;recurrence (i.e. 2-3 times).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ad_4SCQX06A/TaOIj5kWv2I/AAAAAAAAOlE/ehC9McNYuvc/s1600/TATSfinal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-ad_4SCQX06A/TaOIj5kWv2I/AAAAAAAAOlE/ehC9McNYuvc/s320/TATSfinal.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The first step for this business was to crowd source the logo, which you see above. &amp;nbsp;I'm currently in the process of building the web site that will allow tattoo "owners" to register their profile, upload their pictures, and tell their stories. &amp;nbsp;I am also building everything that's required to vote, "like" on FaceBook and Twitter, and so much more! &amp;nbsp;This is a real business with real opportunities ahead. &amp;nbsp;But...without the IT infrastructure and application, it wouldn't be possible. &amp;nbsp;That's where an Startup CTO fills in! &amp;nbsp;In fact, I may be the only CTO (and IT person for that matter) required for this business long term since it won't need a lot of IT resources on a go-forward basis. &amp;nbsp;Crowd sourced book, crowd sourced voting, and on demand printing!&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Bradley D. Brown Software, LLC&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;The day the iPhone hit the market, I went to the Apple store. &amp;nbsp;I had no intension of buying a new phone, but as soon as I started playing with the iPhone, I knew this new world of mobile devices and apps was going to be the way of the future. &amp;nbsp;I walked out of the store with an iPhone! &amp;nbsp;Months later I purchased Google's first Android phone, the Nexus One. &amp;nbsp;I knew that Apple owned the market on the best user interface, but since they have a closed platform (i.e. it runs on one phone and now one tablet), I knew that Android was going to be like the IBM PC of the computing world. &amp;nbsp;The Mac has always been easier to use than the WinTel platform. &amp;nbsp;However, it's always been easier to purchase an "IBM PC" because there are so many vendors who can run on that generic platform. &amp;nbsp;The same is true of Android vs. iOS (iPhone and iPad).&lt;br /&gt;&lt;br /&gt;I download the iOS SDK and started learning Objective C (the programming language for iOS). &amp;nbsp;About that time, I learned that Google had phones being released in the market with the Android OS. &amp;nbsp;One of my employees purchased one of those first phones. &amp;nbsp;He told me that he downloaded the Android SDK, which was all Java-based. &amp;nbsp;He said he developed an app in no time at all. &amp;nbsp;That was all I needed to hear since I've been doing Java development for more than 10 years - I found this quite appealing. &amp;nbsp;That's when I ordered my Nexus One, downloaded the SDK and I started experimenting in the mobile app development world.&lt;br /&gt;&lt;br /&gt;I developed my first app and put it into the Android market within days...and I received my first revenue within hours of uploading my first app. &amp;nbsp;In fact, I started making about $5/day almost immediately. &amp;nbsp;This intrigued me, so I continued developing apps until I got to sales between $150 and $500 per day!&lt;br /&gt;&lt;br /&gt;&lt;a href="https://docs.google.com/document/d/1WoeNxUTXW4PWsf0HKhDoEE8xB8SCwmLCvpYKqS-qgJg/edit?hl=en"&gt;I wrote a great white paper on this topic&lt;/a&gt;. &amp;nbsp;This is my own company, but I'm effectively the Startup CTO for this business. &amp;nbsp;Again, I'll likely always be the only IT resource required for this business. &amp;nbsp;One of the apps I wrote in this business is the Club Droid app, which includes the ability to take pictures, it knows where you and send alerts, there are inline ads, video insertion ads, news feeds and so much more is included in this app:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-PlLx7RRdvY4/TaPMi01aMtI/AAAAAAAAOlI/BUDoomtBL5E/s1600/Club+Droid+1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-PlLx7RRdvY4/TaPMi01aMtI/AAAAAAAAOlI/BUDoomtBL5E/s320/Club+Droid+1.png" width="179" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;a href="http://2.bp.blogspot.com/-NgX9eW-WqNY/TaPMmjSaieI/AAAAAAAAOlM/qpydQ6R3kZQ/s1600/Club+Droid+2.png" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-NgX9eW-WqNY/TaPMmjSaieI/AAAAAAAAOlM/qpydQ6R3kZQ/s320/Club+Droid+2.png" width="179" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="http://iperspective.tuscsoftware.com/"&gt;Rolta TUSC iPerspective&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;After the acquisition of TUSC by Rolta, I ran the iPerspective software development group. &amp;nbsp;You can read all about this in my earlier blogs. &amp;nbsp;It was in many ways as the "Startup CTO." &amp;nbsp;Most of my "Startup CTO" postitions have been far from full time positions, but was was in fact a full time position (plus some)! &amp;nbsp;We built the team up to a very large size with product managers to marketing VP to business development to scrum masters to development to testing and so forth. &amp;nbsp;We worked with a development team in India. &amp;nbsp;I made about 8 trips to India over the last 3 years. &amp;nbsp;This was an exciting opportunity in which I learned a lot! &amp;nbsp;This product is now at more of an operational stage. &amp;nbsp;We moved most of the development to India (some is still in the US). &amp;nbsp;I'm excited for the team and to watch iPerspective move into an operational phase!&lt;br /&gt;&lt;br /&gt;We developed using Agile. &amp;nbsp;Our primary language was Java. &amp;nbsp;Our user interface is all built with Rich Faces. &amp;nbsp;We developed interfaces for SAP, Oracle, MySQL, SQL Server and more data source. &amp;nbsp;Our template-based code generator uses Apache Velocity and many other open source components to write Web Services and the client code that consumes the services.&lt;br /&gt;&lt;br /&gt;I developed the iPerspective Mobile app that I wrote a lot about as well. &amp;nbsp;Here's are screen shots:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-cd0roM2n23M/TaPNodMFYDI/AAAAAAAAOlU/hROq98js2j8/s1600/iPerspective+Mobile+2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="165" src="http://3.bp.blogspot.com/-cd0roM2n23M/TaPNodMFYDI/AAAAAAAAOlU/hROq98js2j8/s200/iPerspective+Mobile+2.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-ZKqMN1LuNxg/TaPNnwpO4AI/AAAAAAAAOlQ/wtRibsbByTk/s1600/iPerspective+Mobile+1.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="164" src="http://3.bp.blogspot.com/-ZKqMN1LuNxg/TaPNnwpO4AI/AAAAAAAAOlQ/wtRibsbByTk/s200/iPerspective+Mobile+1.png" width="200" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-cscMKyO_P08/TaPNo8njtoI/AAAAAAAAOlY/sT6UDhRwxuM/s1600/iPerspective+Mobile+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-cscMKyO_P08/TaPNo8njtoI/AAAAAAAAOlY/sT6UDhRwxuM/s200/iPerspective+Mobile+3.png" width="171" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;a href="http://www.noreo.us/"&gt;Enhanced Recovery&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Over the past 12 months I've been filling in as the Startup CTO role for Enhanced Recovery (ER). &amp;nbsp;ER is a startup that's in the short sale process improvement space. &amp;nbsp;I built the architecture and software that we've demoed to a number of potential funding sources. &amp;nbsp;We have a robust application that services the needs of management, short sales processors, customers (i.e. banks), and the home owner. &amp;nbsp;The market acceptance has been great! &amp;nbsp;Ultimately this will be a large scale integration effort - i.e. Web Services. &amp;nbsp;At some point the business will require an operational CTO, which will not be me.&lt;br /&gt;&lt;br /&gt;We are currently able to run this application on my laptop and a hosted server. &amp;nbsp;This is not a high scale application. &amp;nbsp;1000 files a month would be a lot of short sales to process. &amp;nbsp;The challenge here is integration more than any other IT concerns. &amp;nbsp;Ultimately the application (written in Oracle Application Express) will run in a SAS70 data center. &amp;nbsp;This is a mandatory requirement in this business. &amp;nbsp;That's when it becomes very "operational" and I won't need to be involved.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-a2pDRQse9lM/TaPOjZO-a2I/AAAAAAAAOlc/ITJiufJet2U/s1600/Enhanced+Recovery+Dashboard+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="161" src="http://3.bp.blogspot.com/-a2pDRQse9lM/TaPOjZO-a2I/AAAAAAAAOlc/ITJiufJet2U/s640/Enhanced+Recovery+Dashboard+1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-GxgU-PqQgm0/TaPOj35nqiI/AAAAAAAAOlg/PHcaiOC8u-s/s1600/Enhanced+Recovery+Dashboard+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://3.bp.blogspot.com/-GxgU-PqQgm0/TaPOj35nqiI/AAAAAAAAOlg/PHcaiOC8u-s/s320/Enhanced+Recovery+Dashboard+2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;&lt;a href="http://www.independentnation.org/"&gt;Independent Nation&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;More than a year ago, I was the Acting CTO for another startup by the name of Independent Nation. &amp;nbsp;This company was planning to enter the market by providing intelligence about voters to political campaigns. &amp;nbsp;Using data providers and intelligent data merging techniques, I built a geo-based (i.e. map) application that allowed parties to filter data by any criteria necessary.&lt;br /&gt;&lt;br /&gt;Required demos that would provide not just virtually private databases, but absolutely separate databases. &amp;nbsp;I decided to use Amazon EC2 (Elastic Computing Cloud) for this. &amp;nbsp;It cost us $.07/hr when our server was up and running. &amp;nbsp;Ultimately we determined that the political world was too political...just kidding, we determined that it was difficult to get a well established field to change their mind about how they marketed.&lt;br /&gt;&lt;br /&gt;This application made for excellent and effective demos. &amp;nbsp;Here are a couple of screen shots from Independent Nation's app - you can see that it provided campaign managers to visually see how their potential voters live:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-a9tNsmSFk4g/TaPQGIWjO_I/AAAAAAAAOlk/Fj4V-hXrAAM/s1600/Independent+Nation+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="314" src="http://4.bp.blogspot.com/-a9tNsmSFk4g/TaPQGIWjO_I/AAAAAAAAOlk/Fj4V-hXrAAM/s640/Independent+Nation+1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6sGYk_2rvc4/TaPQJVQ4fFI/AAAAAAAAOlo/HpJHgUnzGCk/s1600/Independent+Nation+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://3.bp.blogspot.com/-6sGYk_2rvc4/TaPQJVQ4fFI/AAAAAAAAOlo/HpJHgUnzGCk/s640/Independent+Nation+2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.intellireal.com/" style="font-size: x-large; font-weight: bold;"&gt;IntelliReal&lt;/a&gt;&lt;br /&gt;IntelliReal goes back a few years now. &amp;nbsp;My partner in this venture, Ric Miles and started working on this concept back in 2005. &amp;nbsp;My family (wife and kids) were working on fix and flips at this time. &amp;nbsp;In other words, we were buying homes, fixing them up and flipping (selling) them. &amp;nbsp;This can be a great business if you can find homes at a good price. &amp;nbsp;Ric had invested in a company by the name of Bluelime Software. &amp;nbsp;The company was trying to sell their property valuations to appraisers. &amp;nbsp;Appraisers tend to be small companies (i.e. 1 or maybe 2 people, husband and wife teams). &amp;nbsp;Therefore they are a fragmented group (i.e. they are hard to reach). &amp;nbsp;The company found a market opportunity when they decided to take their MLS (Multiple Listing Service -&amp;nbsp;Realtor&amp;nbsp;data feed) feed and valuing each new property listed. &amp;nbsp;When homes were more than 20% below the automated appraisal, a team was dispatched to investigate the opportunity. &amp;nbsp;I was intrigued by this since I knew how difficult it was for me to find good fix and flip properties.&lt;br /&gt;&lt;br /&gt;Ric and I started talking to people in the default mortgage industry (keep in mind, this was before the&amp;nbsp;sub-prime&amp;nbsp;meltdown occurred) about automated valuations since they were in needed of a lot valuations, the number of defaults was increasing heavily AND the forecast was that a major cliff of defaults was coming.&lt;br /&gt;&lt;br /&gt;We purchased Bluelime to get our initial customer base. &amp;nbsp;The application was written in Russia and was on a MySQL database. &amp;nbsp;It handled the Denver metro area, but nothing else. &amp;nbsp;Data normalization was a major challenge. &amp;nbsp;So we started to seek out data sources for the 100MM+ homes in America. &amp;nbsp;It turns out there are several! &amp;nbsp;The data is expensive! &amp;nbsp;So initially I thought we would take on that normalization challenge...one county at a time. &amp;nbsp;At that time I thought that our customers would appreciate that we covered the Denver area, then we would cover LA, New York, etc. - in other words, we were going to triage the 3000 counties in the US. &amp;nbsp;When we interviewed our potential customer base, we quickly learned this wasn't going to be possible. &amp;nbsp;We needed to have data for the entire country!&lt;br /&gt;&lt;br /&gt;Scaling, parallel processing, and a large database (for the time - it was about 6TB) came into the picture almost overnight. &amp;nbsp;This was before the days of Amazon EC2, so we had to buy hardware for our proof of concept. &amp;nbsp;We proved everything out with hardware we purchased (today we would spend about $500 on Amazon EC2), which enabled us to do excellent demos and presentations to prospective customers.&lt;br /&gt;&lt;br /&gt;At conferences, I had been talking about XML, then about Web Services for a number of years before this time. &amp;nbsp;However, adoption of Web Service technology was going slow. &amp;nbsp;I wanted to have a customer that would stand up and bet the farm on Web Services. &amp;nbsp;IntelliReal was that perfect company! &amp;nbsp;Why? &amp;nbsp;Because all of their customers needed real-time data, but only the data they paid for. &amp;nbsp;Our algorithms were running 24x7, so we wanted customers to have the latest and greatest valuation - not a cached valuation. &lt;br /&gt;&lt;br /&gt;So we bet the farm on Web Services at IntelliReal. &amp;nbsp;This paid off because we were able to build our own user interface that customers could use. &amp;nbsp;When they asked us for functionality that we didn't have in our application or for UI (user interface) changes, we pointed them to our API (i.e. Web Services Interfaces). &amp;nbsp;The customers could then do this on their own.&lt;br /&gt;&lt;br /&gt;Ultimately all of this functionality and these IT services allowed IntelliReal to get funded. &amp;nbsp;After funding, the selling began and we were in non-stop POC mode. &amp;nbsp;I stayed involved through the entire startup phase of the business. &amp;nbsp;When it became more operational, we hired a CTO to run the IT side of the business.&lt;br /&gt;&lt;br /&gt;Here are some screen shots from the original IntelliReal application. &amp;nbsp;We allowed customers to perform valuations for properties at a specific address or by other methods:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mejUHTsb-VQ/TaPWzKmN84I/AAAAAAAAOls/LBQpZhrMk4Y/s1600/IntelliReal+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://3.bp.blogspot.com/-mejUHTsb-VQ/TaPWzKmN84I/AAAAAAAAOls/LBQpZhrMk4Y/s320/IntelliReal+1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This graphic shows a map of properties in a neighborhood. &amp;nbsp;The properties are color coded by the property type (ranch, 2 story, raised ranch, etc.). &amp;nbsp;We called this the geosearch functionality. &amp;nbsp;It allows people to slide and dice a neighborhood (or properties on a map) by different criteria:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--8dAsripmSg/TaPW0siq7JI/AAAAAAAAOlw/f085Y3OJ30M/s1600/IntelliReal+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="http://4.bp.blogspot.com/--8dAsripmSg/TaPW0siq7JI/AAAAAAAAOlw/f085Y3OJ30M/s320/IntelliReal+2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Our real estate customers wanted an Intelligent Property Report, which provides a full analysis of a property valuation. &amp;nbsp;This report includes comparable properties (i.e. comps):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-eCVcyrE0L7Y/TaPW1k6o8II/AAAAAAAAOl0/WykIzqc05Tc/s1600/IntelliReal+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-eCVcyrE0L7Y/TaPW1k6o8II/AAAAAAAAOl0/WykIzqc05Tc/s320/IntelliReal+3.png" width="270" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;One of my favorite charts is this graph. &amp;nbsp;I always found this very helpful when it came to determining the value of a property that I was interested in fixing and flipping. &amp;nbsp;The whole idea is to figure out if the property you're buying is the prince or dog of the neighborhood:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DglNPXJ-3Mg/TaPW2EF3yzI/AAAAAAAAOl4/06fMkLDxVGs/s1600/IntelliReal+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-DglNPXJ-3Mg/TaPW2EF3yzI/AAAAAAAAOl4/06fMkLDxVGs/s320/IntelliReal+4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Our Intelligent Market&amp;nbsp;Volatility&amp;nbsp;Index (iMVI) is a heat map of appreciation and depreciation of neighborhoods between 2 timeframes:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-aiHifRgfv3Q/TaPW3jF4N2I/AAAAAAAAOl8/_ZyFZ1A2fz8/s1600/IntelliReal+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="155" src="http://4.bp.blogspot.com/-aiHifRgfv3Q/TaPW3jF4N2I/AAAAAAAAOl8/_ZyFZ1A2fz8/s320/IntelliReal+5.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We allowed customers to build their search criteria and save this data for constant lookups. &amp;nbsp;For example, this map allows you to pick a rectangle on a map and then allows you to build the criteria of the properties in that area. &amp;nbsp;For example, I might want to see all of the homes where the list price is 20% less than the appraised value that are ranches or 2 story homes:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-aT4senzRrr4/TaPW7O2gFqI/AAAAAAAAOmA/EtKSMBayyCs/s1600/IntelliReal+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://2.bp.blogspot.com/-aT4senzRrr4/TaPW7O2gFqI/AAAAAAAAOmA/EtKSMBayyCs/s320/IntelliReal+6.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The above maps led to a concept that we developed for a testing agency in Iowa:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vIbRf46Ant4/TaPW-maAOeI/AAAAAAAAOmE/YGdBJKMKiJQ/s1600/IntelliReal+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="274" src="http://4.bp.blogspot.com/-vIbRf46Ant4/TaPW-maAOeI/AAAAAAAAOmE/YGdBJKMKiJQ/s320/IntelliReal+7.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Open Access Broadband&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I was the Startup CTO for this company. &amp;nbsp;The mission was to raise $1B per city that OAB was going to enter. &amp;nbsp;OAB was going to provide fiber to the home - i.e. they were going to be a last mile provider. &amp;nbsp;As you can tell, it was an expensive proposition per city! &amp;nbsp;We got to $750MM out of the $1B and the telecom industry was falling apart under our feet (2001). &amp;nbsp;Therefore we decided to end of life the business.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;EventConnex&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;This is going back to 1999. &amp;nbsp;EventConnex engages in the design and development of Web-based workflow and communication application for the professional event planner and meeting management industry. It offers an online communication solution that enables to communicate with work partners through a Website.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;"&gt;I was the Startup CTO for this business. &amp;nbsp;Once it was funded, many other IT people were hired.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Verio Colorado&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;In 1995 a good friend of mine came to me and asked if I would be the startup CTO for a local ISP business for Verio. &amp;nbsp;Verio was a pretty big company at this point in time, but they didn't have a good local ISP, so they thought it would be best to build one from the ground up. &amp;nbsp;I stayed active through the startup phase including hiring the entire team.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Verio (which Verio Colorado was a small part of this picture) was later purchased by NTT for over $6B. &amp;nbsp;This was a good transaction for all of those involved!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;How Does this Work?&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;You come up with an idea that requires development. &amp;nbsp;You call me, I help you what you need before each phase of the funding. &amp;nbsp;Do you know of someone in need of a Startup CTO? &amp;nbsp;If so, please have them send me an &lt;a href="mailto:brownb@tusc.com"&gt;email&lt;/a&gt; or give me a call!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Financial&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;There are many ways this can work financially...ideally I'm paid up front and a monthly retainer, plus equity. &amp;nbsp;No upfront money = more equity (and more due diligence on my part).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5261402515992653091?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5261402515992653091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5261402515992653091' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5261402515992653091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5261402515992653091'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/04/startup-cto.html' title='Startup CTO'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ad_4SCQX06A/TaOIj5kWv2I/AAAAAAAAOlE/ehC9McNYuvc/s72-c/TATSfinal.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-300849585934151622</id><published>2011-04-01T23:35:00.000-06:00</published><updated>2011-04-01T23:35:54.250-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Startup'/><title type='text'>My Next Big Thing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;It's only fitting that this is my 100th post on my blog!&amp;nbsp; Joe Trezzo, Rich Niemiec and I started TUSC in December of 1988.&amp;nbsp; We worked for Oracle prior to starting TUSC.&amp;nbsp; In our 20th year (in January of 2008), we sold TUSC to Rolta - now called Rolta TUSC.&amp;nbsp; I stepped into the role of general manager of a new product, iPerspective&amp;nbsp;after the acquisition.&amp;nbsp; You can read all about iPerspective (in my blog) and it amazing power!&amp;nbsp;&amp;nbsp;iPerspective is a powerful&amp;nbsp;template-based code generator.&amp;nbsp; It generates Web Services and the client code that consumes the services.&amp;nbsp; I'm a HUGE believer in Web Services and the future of iPerspective!&lt;br /&gt;&lt;br /&gt;The time has come for me to go in search of my next big opportunity!&amp;nbsp;&amp;nbsp;After more than 3 years in my current role, I am&amp;nbsp;now moving to a "board advisory" role at Rolta TUSC.&amp;nbsp; You could say I'm&amp;nbsp;retiring or...if you know me at all, you would say that I'm ready for my next big gig.&amp;nbsp; I asked my wife for a month to sort this out.&amp;nbsp; I've had a week so far...and I'm certainly full of ideas.&amp;nbsp; I like the power of numbers.&amp;nbsp; I like making a difference!&amp;nbsp; I love using my talents.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I would love to hear your ideas about what you think I should do next!&amp;nbsp; Please submit your comments or send me an email to &lt;a href="mailto:brad@tusc.com"&gt;brad@tusc.com&lt;/a&gt;.&amp;nbsp; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-300849585934151622?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/300849585934151622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=300849585934151622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/300849585934151622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/300849585934151622'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/04/my-next-big-thing.html' title='My Next Big Thing'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5418687071448066794</id><published>2011-03-04T03:53:00.001-07:00</published><updated>2011-03-04T03:53:45.131-07:00</updated><title type='text'>Oracle ApEx 4.0 Cookbook</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I read this book on the plane to India last week. &amp;nbsp;I was impressed by the book, the examples, the real world usability, etc. &amp;nbsp;If you're interested in writing ApEx apps, I'd highly recommend this book: &amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif; font-size: 13px;"&gt;&lt;a href="http://link.packtpub.com/3qF5pr"&gt;Oracle APEX 4.0 Cookbook&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5418687071448066794?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5418687071448066794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5418687071448066794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5418687071448066794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5418687071448066794'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/03/oracle-apex-40-cookbook.html' title='Oracle ApEx 4.0 Cookbook'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-3957432678985461228</id><published>2011-02-23T20:31:00.005-07:00</published><updated>2011-02-24T09:45:08.351-07:00</updated><title type='text'>Watch Out Larry...Here they Come!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: #666666; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;The enterprise landscape is changing...and rapidly. Less than a year ago, we were talking about netbooks (i.e. small, inexpensive laptops) and today I see iPads (i.e. soon to be tablets of all shapes and sizes) in every enterprise I visit. What happened to the netbook? It's virtually gone! Taken over by the iPad...for now! This is an interesting transition that occurred nearly overnight. I received my first iPad 3G last May and it was clear, just like the iPhone, it was soon to transform the world. Netbooks run software that we already use...iPad requires software written for iOS. One of the first software packages I purchased was Keynote (Powerpoint for the iPad). I was surprised to find that it was only $9.99, but I didn't realize it's only $19.99 on the Mac! Powerpoint is $139.99!!!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;Where are the (Android) tablets in the enterprise? I purchased the Archos 101 tablet the day it came out as well...and I was VERY disappointed! It was difficult to connect to a network, most of my Android software (i.e. that contains Google Maps or other libraries) won't work on the device, it feels like a piece of plastic (vs. the glass screen and sturdy case on my iPad)...and there are many other issues. Maybe the issue is Archos&lt;span class="Apple-style-span"&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif;"&gt;(I don't expect either a Christmas card or access to their app store :)&lt;/span&gt;? Google has promised that Android OS&amp;nbsp;&lt;/span&gt;3.0, Honeycomb solves these issues...we'll see! Maybe I need to try another tablet? I still like my iPhone a LOT better than I like my Android phone...and I still like my iPad better than any Android tablet I've used.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;I'm confident that tablets will take over the enterprise...iPads already have to a large degree...and Google will improve the Android platform over time. It's going to be a while before you hear anyone say they like their Android tablet better than their iPad. I can't wait until the day I can say I like my Android phone better than my iPhone! T&lt;/span&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;span class="Apple-style-span"&gt;he first (Android-based) tablet device maker that focuses on (seamless) integration with corporate ERP's (like RIM did with email and the BB) might have a giant first mover advantage....who will this be? Dell? Come on tablet makers - I'm rooting for you! The enterprise is your ticket! Focus, focus, focus!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: #666666; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: #666666; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;span style="color: navy;"&gt;Today most mobile devices are used by employees in a "self-contained" way (i.e. personal note taking and email) because enterprises do not have technologies that allow them to expose enterprise data to the plethora of devices.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: navy; line-height: 18px;"&gt;&lt;span class="Apple-style-span"&gt;This presents a challenging prospect for enterprises.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: navy; line-height: 18px;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="color: navy; line-height: 18px;"&gt;&lt;span style="color: navy; font-family: Arial, sans-serif;"&gt;Shameless plug...Rolta TUSC is racing to bridge this gap for Android devices and has developed an initial app that solves this very problem...check it out at on our&amp;nbsp;&lt;a href="http://iperspective.tuscsoftware.com/" style="color: #2288bb; text-decoration: none;"&gt;site&lt;/a&gt;&amp;nbsp;and let me know what you think or what other functionality you like us to add. We saw the potential early on for the marriage of the power of enterprise data and the capabilities inherent in mobile devices and that's why we're racing to fully build out the iPerspective mobile suite of products...what you see here is just the first very small step. So PLEASE give us your feedback- we'd love to know what you think!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #666666; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;span style="color: navy;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: navy; font-family: Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #666666; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;What about mobile computing in general? This is certainly changing the landscape for enterprises. Every Fortune 500 company that I've talked to in the last few months is trying to figure out their mobile strategy. Organizations are getting the push from the top down - i.e. executives are asking for data from their mobile devices.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;Where does this leave the "big boys" like SAP, Oracle, Microsoft, etc? I worked on a mobile approach with Oracle years ago, but they never implemented what I designed...they are missing the boat. What's the net result? Larry's going to be buying someone in the cross platform mobile space!&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: navy;"&gt;I talked about cross platform mobile development some time ago...and now you're seeing a number of vendors who are playing (in a big way) in this space. Every one of them appears to have $20M+ in venture funds behind them! Some companies are focused on cross platform developer tools, while others are focused on cross platform business intelligence tools. Where else should they be focused?&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: navy;"&gt;Watch out Larry....Here they come!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-3957432678985461228?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/3957432678985461228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=3957432678985461228' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3957432678985461228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3957432678985461228'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2011/02/watch-out-larryhere-they-come.html' title='Watch Out Larry...Here they Come!'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-8788031635115305311</id><published>2010-12-22T14:50:00.001-07:00</published><updated>2010-12-22T14:50:43.936-07:00</updated><title type='text'>look at the divide</title><content type='html'>&lt;div class="pp_items"&gt;&lt;div class="pp_item" align="center"&gt;&lt;img src="http://static.pixelpipe.com/ed3705c6-93bf-42cc-a45b-802648b88873_b.jpg" style="max-width: 100%;" /&gt;&lt;p&gt;what a day for snowmobiling!&lt;/p&gt;&lt;/div&gt;&lt;div class="pp_item" align="center"&gt;&lt;h4 class="pp_title"&gt;stuck?&lt;/h4&gt;&lt;img src="http://static.pixelpipe.com/685203a9-680e-4b86-898f-7e73d1bb33d1_b.jpg" style="max-width: 100%;" /&gt;&lt;p&gt;is this how  you ride these sleds?&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-8788031635115305311?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/8788031635115305311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=8788031635115305311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8788031635115305311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8788031635115305311'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/12/look-at-divide.html' title='look at the divide'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6359936452737636655</id><published>2010-12-13T18:55:00.000-07:00</published><updated>2010-12-13T18:55:13.125-07:00</updated><title type='text'>Oracle ApEx Sure Can Frustrate Me...</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;I thought I best document this since it's happened to me a few times and I've poked and plodded my way to a resolution far too many times. &amp;nbsp;I did not find good reference material on the subject. &amp;nbsp;So hopefully if you're running into this issue, this blog entry will give you the step-by-step instructions for how to resolve this issue. &amp;nbsp;If it doesn't, please add a comment with the magic resolution for you!&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;Here's the bottom line of the issue. &amp;nbsp;In Oracle ApEx I was trying to define a new Web Service. &amp;nbsp;ApEx is VERY picky about the format of the WSDL, so at first I thought the issue was the result of the service being different on 2 different machines. &amp;nbsp;However, in the end it turned out to be an ACL issue. &amp;nbsp;When I was trying to reference a Web Service on my laptop by localhost or by it's IP address, ApEx would give me a nice / descriptive (just kidding) error message:&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: yellow;"&gt;The WSDL document was unretrievable because either the URL you supplied was invalid, your environment requires a valid proxy server address for HTTP requests and you have not defined one for this application, or a wallet needs to be configured for this instance of Application Express for HTTPS requests.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, Geneva, sans-serif; font-size: 12px; font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, Geneva, sans-serif; font-size: 12px; font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;If I defined the service on an EC2 box (in the cloud), it worked. &amp;nbsp;After considerable frustration, I COMPLETELY uninstalled ApEx and reinstalled the latest version of ApEx available (4.0.2) - that didn't work. &amp;nbsp;I ran all of the post install scripts...again, that didn't work. &amp;nbsp;Time after time I found nothing but frustration.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;I resolved this issue by removing all of the existing ACLs and then running the script that you're bound to find everywhere on the Web - it's in the post-install instructions (and below), but this script WILL NOT work if you have existing ACLs that conflict. &amp;nbsp;I ran the follow SQL (as SYS) to find my existing ACLs:&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;SELECT ACL&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;FROM &amp;nbsp; &amp;nbsp;DBA_NETWORK_ACLS;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;This returned the following list:&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: lime;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;ACL&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;--------------------------&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;/sys/acls/power_users.xml&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;/sys/acls/bradacls.xml&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;/sys/acls/bradacls.xml&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;/sys/acls/power_users.xml&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;As you can see, I had 2 existing ACLs - likely conflicting. &amp;nbsp;So I removed them both using the following script:&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;BEGIN&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&amp;nbsp;&amp;nbsp;DBMS_NETWORK_ACL_ADMIN.drop_acl (&amp;nbsp;acl &amp;nbsp;=&amp;gt; '&amp;amp;acl');&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&amp;nbsp;&amp;nbsp;COMMIT;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;END;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;/&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;I ran this script 2 times and I provided each of the above ACL XML paths as the input for the ACL parameter:&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;/sys/acls/bradacls.xml&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;/sys/acls/power_users.xml&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;I then verified they were gone:&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;SELECT ACL &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;FROM &amp;nbsp; &amp;nbsp;DBA_NETWORK_ACLS;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;And then I ran the post install script that's in the documentation:&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;DECLARE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;ACL_PATH &amp;nbsp;VARCHAR2(4000);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;ACL_ID &amp;nbsp; &amp;nbsp;RAW(16);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;BEGIN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- Look for the ACL currently assigned to '*' and give APEX_040000&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- the "connect" privilege if APEX_040000 does not have the privilege yet&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- Before checking the privilege, ensure that the ACL is valid&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- (for example, does not contain stale references to dropped users).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- If it does, the following exception will be raised:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;--&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- ORA-44416: Invalid ACL: Unresolved principal 'APEX_040000'&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- ORA-06512: at "XDB.DBMS_XDBZ", line ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;--&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FROM XDB.XDB$ACL A, PATH_VIEW P&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EQUALS_PATH(P.RES, ACL_PATH) = 1;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;DBMS_XDBZ.ValidateACL(ACL_ID);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_040000',&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; 'connect') IS NULL THEN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; 'APEX_040000', TRUE, 'connect');&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;END IF;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;EXCEPTION&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;-- When no ACL has been assigned to '*'.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;WHEN NO_DATA_FOUND THEN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'ACL that lets power users to connect to everywhere',&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'APEX_040000', TRUE, 'connect');&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&amp;nbsp;&amp;nbsp;DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;END;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;COMMIT;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;Once I ran the above script, everything worked exactly as it should have at the beginning of the day :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6359936452737636655?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6359936452737636655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6359936452737636655' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6359936452737636655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6359936452737636655'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/12/oracle-apex-sure-can-frustrate-me.html' title='Oracle ApEx Sure Can Frustrate Me...'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5705001839874555399</id><published>2010-12-03T18:56:00.001-07:00</published><updated>2010-12-03T18:56:22.832-07:00</updated><title type='text'>Christmas in  New York</title><content type='html'>&lt;div class="pp_items"&gt;&lt;div class="pp_item" align="center"&gt;&lt;img src="http://static.pixelpipe.com/ee3d2763-27ee-4fd1-ad19-7dcf4a675975_b.jpg" style="max-width: 100%;" /&gt;&lt;p&gt;yes virginia there is a santa clause&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5705001839874555399?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5705001839874555399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5705001839874555399' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5705001839874555399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5705001839874555399'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/12/christmas-in-new-york.html' title='Christmas in  New York'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-2644397093710692488</id><published>2010-11-15T11:28:00.001-07:00</published><updated>2010-11-15T11:28:25.151-07:00</updated><title type='text'></title><content type='html'>&lt;div class="pp_items"&gt;&lt;div class="pp_item" align="center"&gt;&lt;img src="http://static.pixelpipe.com/7fde73e6-8c3c-4037-af94-41e926eb3ac8_b.jpg" style="max-width: 100%;" /&gt;&lt;p&gt;Notre dame&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-2644397093710692488?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/2644397093710692488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=2644397093710692488' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2644397093710692488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2644397093710692488'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/11/notre-dame.html' title=''/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6485979365565832975</id><published>2010-11-02T14:44:00.002-06:00</published><updated>2010-11-02T14:48:54.591-06:00</updated><title type='text'>Wild Wild West</title><content type='html'>&lt;div class="pp_items"&gt;&lt;div align="left" class="pp_item"&gt;&lt;/div&gt;&lt;div align="left" class="pp_item"&gt;&lt;h4 class="pp_title"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;It's pretty clear that we're in the early stages of a whole new frontier (mobile app development) that will mature&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;over the next 10 years.  It's going to be an interesting ride (and opportunity) for many!&lt;/span&gt;&lt;/h4&gt;2 interesting data points:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.scribd.com/doc/38328618/Market-Comparison-Nokia-Ovi-Store-Google-Android-Marketplace-Apple-App-Store"&gt;Android Marketplace Survey&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://android-developers.blogspot.com/2010/09/more-countries-more-sellers-more-buyers.html"&gt;Google's App Distribution&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6485979365565832975?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6485979365565832975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6485979365565832975' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6485979365565832975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6485979365565832975'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/11/it-pretty-clear-that-we-in-early-stages.html' title='Wild Wild West'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-3902879784067549387</id><published>2010-10-27T22:38:00.000-06:00</published><updated>2010-10-27T22:38:38.010-06:00</updated><title type='text'>iPhone is the next mobile market (for me)...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;The "NearBy" locations or "Local Favorite Places" app is almost done for the iPhone market.&amp;nbsp; It will be released next week!&amp;nbsp; I thought I'd give you a sneak peak at the apps on the iPhone.&amp;nbsp; Here's what the list looks like for Pizza places near me:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMj9KDyOEsI/AAAAAAAAOiE/RM4N_kXn4cc/s1600/Screenshot+2010.10.27+00.25.44.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" nx="true" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMj9KDyOEsI/AAAAAAAAOiE/RM4N_kXn4cc/s320/Screenshot+2010.10.27+00.25.44.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If I select and entry, I see the details for that location (i.e. I clicked on Pizza Hut here).&amp;nbsp; You can see that we show the details, the average rating (in stars), the distance and a number of links for the location:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMj9OPMe3pI/AAAAAAAAOiI/GN2lqQ0scCs/s1600/Screenshot+2010.10.27+00.26.26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" nx="true" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMj9OPMe3pI/AAAAAAAAOiI/GN2lqQ0scCs/s320/Screenshot+2010.10.27+00.26.26.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If add a location (or search) to your favorites, you will be able to pull that search up at any point.&amp;nbsp; It looks a bit different on the iPhone, but it follows the iPhone model.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMj9FVIAzoI/AAAAAAAAOiA/B4cXZdIjQVw/s1600/Screenshot+2010.10.27+00.26.56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" nx="true" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMj9FVIAzoI/AAAAAAAAOiA/B4cXZdIjQVw/s320/Screenshot+2010.10.27+00.26.56.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Like I said, this version of the app should be on the iPhone (and iPad and iPod) store early next week!&amp;nbsp; Exciting stuff!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-3902879784067549387?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/3902879784067549387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=3902879784067549387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3902879784067549387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3902879784067549387'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/10/iphone-is-next-mobile-market-for-me.html' title='iPhone is the next mobile market (for me)...'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QS55kL-NHdQ/TMj9KDyOEsI/AAAAAAAAOiE/RM4N_kXn4cc/s72-c/Screenshot+2010.10.27+00.25.44.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6315414330041929612</id><published>2010-10-26T21:00:00.000-06:00</published><updated>2010-10-26T21:00:28.053-06:00</updated><title type='text'>Local Favorite Place Application</title><content type='html'>I talked about my first Android app back in April. &amp;nbsp;I've continued enhancing it over the months and providing new versions to those who have purchased it. &amp;nbsp;One cool feature of buying Android apps is that you get free upgrades of the software. &amp;nbsp;Here's the latest and greatest version for "The Home Depot." &amp;nbsp;The application lists the closest 10 items matching your search criteria. &amp;nbsp;I have different versions for different companies and generic categories (e.g. pizza, sushi, etc).&lt;br /&gt;&lt;br /&gt;You might wonder (and many people ask) - can't I get this information for free? &amp;nbsp;Yes and no. &amp;nbsp;Yes, you can go to the Map on your phone and type in a phrase, like Home Depot and you can see the local home depots. &amp;nbsp;However, the data I display is different than that data. &amp;nbsp;I use Yahoo's data over Google's data for a couple of reasons. &amp;nbsp;First, Yahoo is an excellent content provider - often better than Google. &amp;nbsp;They use Navtec's data, which can be found in most GPS units. &amp;nbsp;Second, as I pointed out, you can get Google's data on Google's map too! &amp;nbsp;So different content is better. &amp;nbsp;I'm working on using a combination of the data sets now.&lt;br /&gt;&lt;br /&gt;The first page that displays is a summary listing of all of the local Home Depots. &amp;nbsp;You can see that there are a number of "buttons" for each item. &amp;nbsp;Each of these buttons is explained below based on the figures. &amp;nbsp;You can click on the item (blue box), the phone number, and each of the map options. &amp;nbsp;There is also a menu that gives you more options. &amp;nbsp;You'll also notice the compass. &amp;nbsp;This tells you which direction you're heading (currently) and which direction each location is from your current location. &amp;nbsp;This is important when you're buzzing down the highway as you'll know which locations are ahead vs. behind you.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHtTcHVuI/AAAAAAAAOhs/6d58KcsMKTA/s1600/HomeDepotSummary.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHtTcHVuI/AAAAAAAAOhs/6d58KcsMKTA/s320/HomeDepotSummary.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 1 - Summary Page&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;If you click on the blue box (i.e. Home Depot), I pull up the complete "Local Yahoo" information for this favorite location. &amp;nbsp;This includes vendors they carry, reviews of this location, a Yahoo map, photos, amenities (e.g. Wifi) and more.&lt;div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHjWd9nRI/AAAAAAAAOhg/YDz1xbVyXSo/s1600/HomeDepotDetails.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHjWd9nRI/AAAAAAAAOhg/YDz1xbVyXSo/s320/HomeDepotDetails.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 2 - Local Yahoo Page, Details, Ratings, Map&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;If you click on the phone number for the listing (in the summary page), it will pull up the number in the phone. &amp;nbsp;You can dial the number, add it to your contacts and more.&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMeHiPcEkmI/AAAAAAAAOhc/IMdo-sNZdL4/s1600/HomeDepotPhone.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMeHiPcEkmI/AAAAAAAAOhc/IMdo-sNZdL4/s320/HomeDepotPhone.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 3 - Phone number integration&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp;If you go to the menu and select "Map" you will see the closest 10 locations on the map. &amp;nbsp;You'll also see a pin for your current location. &amp;nbsp;You can click on your location to get more information about your current location. &amp;nbsp;You can click on any of the location icons and you will see all of the information for that location.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/TMeHkYpsocI/AAAAAAAAOhk/YVN5C8N4fVY/s1600/HomeDepotMap.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/TMeHkYpsocI/AAAAAAAAOhk/YVN5C8N4fVY/s320/HomeDepotMap.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 4 - The Map with All 10 Locations&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;From the menu, if you click on the "Quick" option, you will see the top 10 locations and their distance from you. &amp;nbsp;Note the "Click here to Refresh" option on each page. &amp;nbsp;This allows you to do exactly as it says. &amp;nbsp;This is helpful when you're buzzing down the interstate. &amp;nbsp;If you click on the location, you'll see the Local Yahoo page for this location.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHs5zZNOI/AAAAAAAAOho/hna1INQMnEM/s1600/HomeDepotQuick.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHs5zZNOI/AAAAAAAAOho/hna1INQMnEM/s320/HomeDepotQuick.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 5 - Quick listing&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;I've mentioned the menu above. &amp;nbsp;When you click on the "menu" button on your phone, you'll see the menu options below. &amp;nbsp;I've discussed the summary, quick, and map options above. &amp;nbsp;I'm going to discuss the "settings" option next. &amp;nbsp;The wide option shows you all of the Yahoo details about the location in a spreadsheet-like format. &amp;nbsp;The narrow option shows you the same detailed information, but one field at a time (i.e. down the page).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMeIDMnHzOI/AAAAAAAAOh0/Pj-6EMg2TRQ/s1600/HomeDepotMenu.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMeIDMnHzOI/AAAAAAAAOh0/Pj-6EMg2TRQ/s320/HomeDepotMenu.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 6 - Application Menu&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;The settings menu allows you to change the settings for the program. &amp;nbsp;You can change the settings for any version of the program. &amp;nbsp;So even if you purchased the Starbucks version, you can change the search string to anything you want. &amp;nbsp;If you want the one-click ability to search for a specific chain, you need to buy each of the versions of the software. &amp;nbsp;If you don't mind typing in what you're searching for, you can change it to search for different things. &amp;nbsp;The logo shown in the map doesn't change. &amp;nbsp;You can see that you can also change the radius that you search from the current location and you can control the size of the text that's displayed.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMeICpFS1UI/AAAAAAAAOhw/FYJ-HyZPW0o/s1600/HomeDepotSettings.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMeICpFS1UI/AAAAAAAAOhw/FYJ-HyZPW0o/s320/HomeDepotSettings.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 7 - Settings Menu&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;If you click on "View Google Map" in the summary view, it will show you the location of this Home Depot on the map. &amp;nbsp;You can zoom out and it will show you your current location too. &amp;nbsp;You can click on the address and you'll see the options on the next page.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMeHhTk64OI/AAAAAAAAOhY/xnznX065NFg/s1600/HomeDepotGoogleMap1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMeHhTk64OI/AAAAAAAAOhY/xnznX065NFg/s320/HomeDepotGoogleMap1.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 8 - Specific Location on the Map&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;When you click on the address on the map, you'll see a number of options for this location. &amp;nbsp;The left (marker) icon takes you back to the map. &amp;nbsp;The turn arrow / sign will take you to Google Navigation, which allows you to walk or drive to this location. &amp;nbsp;You can see there are other options that can be available too - such as call, street view, searching for other nearby places, and so on.&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHgHtLetI/AAAAAAAAOhU/6tn7bbx9K64/s1600/HomeDepotGoogleMap2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHgHtLetI/AAAAAAAAOhU/6tn7bbx9K64/s320/HomeDepotGoogleMap2.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 9 - Options for Map Location&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;If you navigate to your destination, Google Navigation takes over....and helps you get there!&lt;br /&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMeHfsBvhFI/AAAAAAAAOhQ/6oGhPpk_IXo/s1600/HomeDepotGoogleMap3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMeHfsBvhFI/AAAAAAAAOhQ/6oGhPpk_IXo/s320/HomeDepotGoogleMap3.png" width="213" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Figure 10 - Navigation to Destination&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;As I mentioned, I'm constantly working on new versions of my software. &amp;nbsp;If you have any ideas or things you think I should add to the app - please pass them along!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6315414330041929612?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6315414330041929612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6315414330041929612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6315414330041929612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6315414330041929612'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/10/local-favorite-place-application.html' title='Local Favorite Place Application'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QS55kL-NHdQ/TMeHtTcHVuI/AAAAAAAAOhs/6d58KcsMKTA/s72-c/HomeDepotSummary.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5542393204605985</id><published>2010-10-26T16:55:00.001-06:00</published><updated>2010-10-26T16:55:33.092-06:00</updated><title type='text'>Testing PixelPipe</title><content type='html'>&lt;div class="pp_items"&gt;&lt;div class="pp_item" align="center"&gt;&lt;img src="http://static.pixelpipe.com/45205c48-d007-4566-9f99-4e874e191dd5_b.jpg" style="max-width: 100%;" /&gt;&lt;p&gt;Trying out a new way to post to YouTube, FaceBook, Twitter, Picasa, etc...once labeled as "YouTwitFace" by Connan...&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5542393204605985?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5542393204605985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5542393204605985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5542393204605985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5542393204605985'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/10/testing-pixelpipe.html' title='Testing PixelPipe'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-7403063191503447990</id><published>2010-10-26T00:55:00.000-06:00</published><updated>2010-10-26T00:55:17.117-06:00</updated><title type='text'>CraigsList Consolidator</title><content type='html'>I created a new application for the Android.  The reception to this application has been VERY good!  Many have said that it's the way CraigsList was meant to be...and that the user interface is better than CraigsList themselves.  I'm working on FaceBook integration now.  This will allow people to recommend the app to their friends.  I'm hoping to work out a way to credit people for recommending their friends - but I haven't figured that one out yet.&lt;br /&gt;&lt;br /&gt;I started with a &lt;a href="http://www.facebook.com/pages/Android-CraigsList-Consolidator/163579533665801"&gt;FaceBook &lt;/a&gt;page that people will be able to "like."&lt;br /&gt;&lt;br /&gt;The application starts with a page that allows you to search for whatever you want within CraigsList. &amp;nbsp;You can search in the entire post for specific text or you can just search within the title. &amp;nbsp;You can search for only items that have pictures or for all items matching your search criteria. &amp;nbsp;You can search for a price range (for items you're purchasing or selling) or an age range (for the personals).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMZ1eF3ZZZI/AAAAAAAAOgk/PiMwil06rmo/s1600/CraigsListSearch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMZ1eF3ZZZI/AAAAAAAAOgk/PiMwil06rmo/s320/CraigsListSearch.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Just like on CraigsList, it defaults to searching for items for sale. &amp;nbsp;You can also change the category. &amp;nbsp;You can set the radius to whatever number you want. &amp;nbsp;It starts with a 50 mile radius from your current location. &amp;nbsp;There are nearly 800 CraigsList sites available. &amp;nbsp;If you set your radius high enough (about 20,000), you'll search the entire world's CraigsList sites! &amp;nbsp;You can set the font size too.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMZ15QMpaWI/AAAAAAAAOgo/RGQMYH9F0xw/s1600/CraigsListSearch2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TMZ15QMpaWI/AAAAAAAAOgo/RGQMYH9F0xw/s320/CraigsListSearch2.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There are a number of categories and subcategories (about 150) available on CraigsList. &amp;nbsp;This allows you to get VERY specific about what you're trying to find.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMZ2hjbIITI/AAAAAAAAOgs/DNDaQ0Ylryk/s1600/CraigsListCategory.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMZ2hjbIITI/AAAAAAAAOgs/DNDaQ0Ylryk/s320/CraigsListCategory.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I performed a search for a Skidoo snowmobiles being sold, that have pictures available up to 500 miles from my current location. &amp;nbsp;It's a LONG list! &amp;nbsp;Here's what the listings look like:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMZ6aV3KD3I/AAAAAAAAOg8/9JlGLtIfFQI/s1600/CraigsListSkiDoo1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TMZ6aV3KD3I/AAAAAAAAOg8/9JlGLtIfFQI/s320/CraigsListSkiDoo1.png" width="213" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/TMZ6Z2xMlJI/AAAAAAAAOg4/kFmhjWAmjR8/s1600/CraigsListSkiDoo2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/TMZ6Z2xMlJI/AAAAAAAAOg4/kFmhjWAmjR8/s320/CraigsListSkiDoo2.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;All of the listings are full of active information and links. &amp;nbsp;If you click on the item, you'll see the results in the browser:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMZ6pHCZSAI/AAAAAAAAOhA/mdfMW8VUEuk/s1600/CraigsListSkiDoo3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TMZ6pHCZSAI/AAAAAAAAOhA/mdfMW8VUEuk/s320/CraigsListSkiDoo3.png" width="213" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/TMZ67nS3eYI/AAAAAAAAOhE/4t41V6PPB_o/s1600/CraigsListSkiDoo4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/TMZ67nS3eYI/AAAAAAAAOhE/4t41V6PPB_o/s320/CraigsListSkiDoo4.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Every time I go back into the application, it re-pulls my last search. &amp;nbsp;This is a powerful way to use CraigsList! If you have an Android phone, go to the market and search for the CraigsList Consolidator. &amp;nbsp;Or you can use Google Goggles and scan this barcode:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://chart.apis.google.com/chart?cht=qr&amp;amp;chs=125x125&amp;amp;chld=Q|0&amp;amp;chl=http%3A%2F%2Fwww.androidzoom.com%2Fweb%2Findice%2FqrLink%3FappCode%3Dmhpo%26dwnId%3D5058444" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-7403063191503447990?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.facebook.com/pages/Android-CraigsList-Consolidator/163579533665801' title='CraigsList Consolidator'/><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/7403063191503447990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=7403063191503447990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7403063191503447990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7403063191503447990'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/10/craigslist-consolidator.html' title='CraigsList Consolidator'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QS55kL-NHdQ/TMZ1eF3ZZZI/AAAAAAAAOgk/PiMwil06rmo/s72-c/CraigsListSearch.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-7727751537307589799</id><published>2010-10-06T22:18:00.000-06:00</published><updated>2010-10-06T22:18:32.714-06:00</updated><title type='text'>iPerspective Server with Yahoo Pipes, iGoogle, and Android Client</title><content type='html'>Chris created a couple of awesome demos that show off iPerspective, Yahoo Pipes, iGoogle, and Android.&lt;br /&gt;&lt;br /&gt;In this video Chris takes you through an awesome demonstration of how you can create a RESTful service using iPerspective and then use an Android application to display the data.  The data is stored in a MySQL database.  The service has numerous select operations and create, update, and delete operations.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Cw9RCogVE3Q?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Cw9RCogVE3Q?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;In this video Chris takes you through an awesome demonstration of how you can create a RESTful service using iPerspective and then using Yahoo Pipes and publishing the Pipe to iGoogle, MyYahoo, Blogspot and more.  The data is stored in a MySQL database.  The service has numerous select operations and create, update, and delete operations.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SAX2uqcUR_k?hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/SAX2uqcUR_k?hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-7727751537307589799?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/7727751537307589799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=7727751537307589799' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7727751537307589799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7727751537307589799'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/10/iperspective-server-with-yahoo-pipes.html' title='iPerspective Server with Yahoo Pipes, iGoogle, and Android Client'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5706468012351953713</id><published>2010-10-03T01:00:00.002-06:00</published><updated>2010-10-03T23:32:20.743-06:00</updated><title type='text'>NeedALoo - Yahoo Pipes, iGoogle and iPerspective</title><content type='html'>As I mentioned at the end of my prior blog entry, in this entry, I'll talk about taking an iPerspective RESTful service and turning it into an Android app, consuming it with a Yahoo Pipe and publishing it to my.yahoo.com and iGoogle.&amp;nbsp; So let's get started...&lt;br /&gt;&lt;br /&gt;In most cases, you already have your data in your ERP system (i.e. Oracle ERP, SAP, Banner, etc) or a point of sale system or a proprietary database.&amp;nbsp; iPerspective allows you to expose your data (and business logic) through an open standard API...i.e. SOAP-based or RESTful Web Services.&amp;nbsp; You can expose raw table data (that's not typical, but as in this NeedALoo example, can occur), a view (which is business logic around tables in your database), a custom query (which can include bind variables - i.e. pass in the customer number, latitude, etc.), and business logic (i.e. packaged procedures/functions in databases or function modules in SAP).&lt;br /&gt;&lt;br /&gt;For this example application, Chris (NeedALoo designer) provided us with an Excel spreadsheet containing our disabled loo (bathrooms) data.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TKgeG5a38WI/AAAAAAAAOgI/c57xlHAyWq8/s1600/article7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="91" px="true" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TKgeG5a38WI/AAAAAAAAOgI/c57xlHAyWq8/s320/article7.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There are JDBC drivers for Excel, but we preferred the performance of a MySQL database (or we could have used Oracle - or even Oracle XE - the free version of Oracle), so we loaded this data into our MySQL database.&amp;nbsp; We then exposed a RESTful service using iPerspective - all in a matter of seconds - not weeks or months.&amp;nbsp; As I mentioned in my prior blog entry, RESTful services can be executed through a URL.&amp;nbsp; So right from my browser, I can execute a URL, which will then return the data to me right in the browser...not pretty, but it will be there!&lt;br /&gt;&lt;br /&gt;For example, to select all of the rows in my NeedALoo MySQL table, I can execute the following URL:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2a00ff; font-size: x-small;"&gt;&lt;span style="color: #2a00ff; font-size: x-small;"&gt;&lt;a href="http://madison.dyndns-server.com:8080/Loos/rest/NeedalooService/selectAll"&gt;http://madison.dyndns-server.com:8080/Loos/rest/NeedalooService/selectAll&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you try this from Internet Explorer (IE), it will prompt you to save the data.&amp;nbsp; If you do this from most other browsers, you'll see the JSON data returned, which will look something like this:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;[{"NeedalooEntity":{"id":1,"disabledLooName":"Front Street, Acomb","disabledFacilities":"Y","address":"Front Street, Acomb","postcode":"YO24 3BW","latitude":53.954861,"longitude":-1.126852,"googleMapsLink":"http:\/\/maps.google.co.uk\/maps\/ms?hl=en&amp;amp;ie=UTF8&amp;amp;msa=0&amp;amp;msid=100801057174770839973.00049048b46cec7510f77&amp;amp;ll=53.955003,-1.126056&amp;amp;spn=0.001471,0.003449&amp;amp;t=h&amp;amp;z=18"}},{"NeedalooEntity":{"id":2,"disabledLooName":"Aislaby, North Yorkshire","disabledFacilities":"Y","address":"Aislaby, North Yorkshire","postcode":" YO21 1SN","latitude":54.465994,"longitude":-0.676345,"googleMapsLink":"http:\/\/maps.google.co.uk\/maps\/ms?hl=en&amp;amp;ie=UTF8&amp;amp;msa=0&amp;amp;msid=100801057174770839973.00049048cf740cb3137d6&amp;amp;ll=54.465874,-0.677875&amp;amp;spn=0.000765,0.001725&amp;amp;t=h&amp;amp;z=19"}},{"NeedalooEntity":{"id":3,"disabledLooName":"Village Hall","disabledFacilities":"Y","address":"Askrigg","postcode":"","latitude":"0.000000","longitude":"0.000000","googleMapsLink":""}},{"NeedalooEntity":{"id":4,"disabledLooName":"Car Park","disabledFacilities":"Y","address":"Aysgarth Falls, North Yorkshire","postcode":"DL8 3TH","latitude":54.294557,"longitude":-1.983265,"googleMapsLink":"http:\/\/maps.google.co.uk\/maps\/ms?hl=en&amp;amp;ie=UTF8&amp;amp;msa=0&amp;amp;ll=54.29457,-1.98329&amp;amp;spn=0.001537,0.003449&amp;amp;t=h&amp;amp;z=18&amp;amp;msid=100801057174770839973.000490498b6586d7804e3"}},&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: medium;"&gt;&lt;/span&gt;....(more data here)...&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;I guess that data is&amp;nbsp;technically human readable, but&amp;nbsp;you really need a client tool to render this data as you want to see it.&amp;nbsp;&amp;nbsp;MANY client tools can read Web Service data.&amp;nbsp; The beauty here is that the Android phone can pull this "live" data from our MySQL data when it needs the data!&amp;nbsp; In the examples below, the client tool is an&amp;nbsp;Android phone, Yahoo, Google, etc.&amp;nbsp; Android LOVEs REST and LOVEs to handle XML or&amp;nbsp;JSON.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With the iPerspective services, selectWhere is another RESTful operation.&amp;nbsp; The Android dynamically builds the where clause based on the current latitude and longitude to send off a URL such as:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://madison.dyndns-server.com:8080/Loos/rest/NeedalooService/selectWhere/latitude%20between%2054.25%20and%2054.45%20and%20longitude%20between%20-1.99%20and%20-1.90"&gt;http://madison.dyndns-server.com:8080/Loos/rest/NeedalooService/selectWhere/latitude%20between%2054.25%20and%2054.45%20and%20longitude%20between%20-1.99%20and%20-1.90&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This will limit the data to only a few rows since it between a lat and long range:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;[{"NeedalooEntity":{"id":4,"disabledLooName":"Car Park","disabledFacilities":"Y","address":"Aysgarth Falls, North Yorkshire","postcode":"DL8 3TH","latitude":54.294557,"longitude":-1.983265,"googleMapsLink":"http:\/\/maps.google.co.uk\/maps\/ms?hl=en&amp;amp;ie=UTF8&amp;amp;msa=0&amp;amp;ll=54.29457,-1.98329&amp;amp;spn=0.001537,0.003449&amp;amp;t=h&amp;amp;z=18&amp;amp;msid=100801057174770839973.000490498b6586d7804e3"}},{"NeedalooEntity":{"id":40,"disabledLooName":"Car Park, B6270","disabledFacilities":"Y","address":"Grinton, North Yorkshire","postcode":"DL11 6HN","latitude":54.381075,"longitude":-1.929144,"googleMapsLink":"http:\/\/maps.google.co.uk\/maps\/ms?ie=UTF8&amp;amp;hl=en&amp;amp;msa=0&amp;amp;msid=100801057174770839973.0004905e007d06cad90b8&amp;amp;ll=54.381507,-1.92898&amp;amp;spn=0.006136,0.013797&amp;amp;t=h&amp;amp;z=16"}},{"NeedalooEntity":{"id":94,"disabledLooName":"Anvil Square","disabledFacilities":"Y","address":"Reeth","postcode":"DL11 6SW","latitude":54.389557,"longitude":-1.942773,"googleMapsLink":"http:\/\/maps.google.co.uk\/maps\/ms?hl=en&amp;amp;ie=UTF8&amp;amp;msa=0&amp;amp;ll=54.389592,-1.942627&amp;amp;spn=0.003067,0.006899&amp;amp;t=h&amp;amp;z=17&amp;amp;msid=100801057174770839973.00049063931345f5cd897"}}]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Android SDK (software development kit) allows you to then parse out the JSON or XML and display the data as shown in my prior blog entry.&amp;nbsp; A couple of months ago I provided the specific code required to do this too.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;Let's take a look at how Yahoo Pipes handles REST and JSON.&amp;nbsp; We have our URL as you can see above.&amp;nbsp; If&amp;nbsp;you go to &lt;a href="http://pipes.yahoo.com/"&gt;Yahoo Pipes &lt;/a&gt;site, you can graphically build a program that will run the REST service and then display the information as you desire.&amp;nbsp; Yahoo Pipes is SUPER powerful.&amp;nbsp; It's effectively a graphical programming language that allows you to publish your "program" to Yahoo, Google, as an embedded HTML string (for your own website), as an RSS feed, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;Pipes allows you to do 100s of operations.&amp;nbsp; When you save a pipe, you can use it as input to another pipe - in other words, pipes can be nested!&amp;nbsp; There are 100s of great examples of pipes that you can use to get started.&amp;nbsp; I've also talked about Yahoo Pipes in the past.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;In the example below, I am using the "fetch data" widget, which will&amp;nbsp;call a RESTful URL for you.&amp;nbsp; You can use xpath to specify where the items are in the data set...but Pipes usually figures this out for you.&amp;nbsp; Next my Pipe is using the "rename" widget to rename the Loo name to "item" and rename the Loo address to "description."&amp;nbsp; I'm keeping latitude and longitude as well.&amp;nbsp; The reason I rename the 2 fields to item and description is because Pipes uses the item and description fields to label the list as you'll see in the minute.&amp;nbsp; The results after the rename widget are sent to the location extractor widget, which will figure out the latitude and longitude fields and draw the data on a map.&amp;nbsp; If you had an address (and no lat and long), it will figure out (i.e. look it up the address, calculate the lat and long, etc.) the lat and long for each address.&amp;nbsp; We're sending all of this information to the pipe's output.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;There are MANY more widgets within Pipes.&amp;nbsp; For example, for each record that you find, you could look up the weather from Yahoo's database using YQL (Yahoo Query Language).&amp;nbsp; You can pull images from Flickr, pull from Google Base, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;Here's a look at my pipe.&amp;nbsp; The only thing that I really had to specify here was my URL for my RESTful service:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/TKgg7JL-DFI/AAAAAAAAOgM/vj9mv_9cBIs/s1600/article8.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" px="true" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/TKgg7JL-DFI/AAAAAAAAOgM/vj9mv_9cBIs/s320/article8.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;After you save the pipe (and give it a name), you'll see a link for "Run Pipe" and your pipe will show up whenever you go to MyPipes.&amp;nbsp; When you run the pipe, you'll&amp;nbsp;see a map of the NeedALoo locations.&amp;nbsp; How cool is that!&amp;nbsp; If I hadn't run the data through the location extractor, I would only see a list of the items.&amp;nbsp; Here are the awesome results - clickable flags with a header (item) and details (description):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgjmwXWZoI/AAAAAAAAOgQ/DEVMoo1026U/s1600/article9.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="251" px="true" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgjmwXWZoI/AAAAAAAAOgQ/DEVMoo1026U/s320/article9.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;You can click on any of the flags and you'll see the Loo name and the description under that data.&amp;nbsp; You'll notice that in the above image, there are a number of things I can do with this Pipe.&amp;nbsp; I can "Get as a Badge" which basically allow you to publish this Pipe to TypePad (a blog software as a service), Blogger (which is the blog SaaS you're reading here - and the option I selected to publish the "NeedALoo" gadget on my Blog page above right..), WordPress (another Blog software) or iGoogle:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgkrDo5zMI/AAAAAAAAOgU/HTwCtyMh0_0/s1600/article10.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="189" px="true" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgkrDo5zMI/AAAAAAAAOgU/HTwCtyMh0_0/s320/article10.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;You have already seen the results of publishing to Blogger in action.&amp;nbsp; Embed give you the HTML that you'll need to embed my NeedALoo widget into any Web page.&amp;nbsp; For this Pipe, the Embed source is:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&amp;lt;script src="http://l.yimg.com/a/i/us/pps/mapbadge_1.3.js"&amp;gt;&lt;br /&gt;{"pipe_id":"25f160cfc831f3349ef49db673a2ff94","_btype":"map"} &lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font: medium &amp;quot;Times New Roman&amp;quot;; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap;"&gt;&lt;span style="font-family: Times New Roman; font-size: small;"&gt;If you create a Web page and embed the above code, you will place a NeedALoo gadget on your page - as you see here (and top right side of my blog page):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://l.yimg.com/a/i/us/pps/mapbadge_1.3.js"&gt;{"pipe_id":"25f160cfc831f3349ef49db673a2ff94","_btype":"map"}&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;When you click on iGoogle, it will confirm you want to add the gadget onto your page:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgmZsEuClI/AAAAAAAAOgY/gDdOSiBq3_U/s1600/article11.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="138" px="true" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgmZsEuClI/AAAAAAAAOgY/gDdOSiBq3_U/s320/article11.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you confirm, the gadget will be on your Google homepage from then on.&amp;nbsp; You can move (and resize) any of the gadgets:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/TKgmkpF304I/AAAAAAAAOgc/K4lJ6mhwimY/s1600/article12.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="173" px="true" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/TKgmkpF304I/AAAAAAAAOgc/K4lJ6mhwimY/s320/article12.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The RESTful URL has a number of other commands or operations.&amp;nbsp; As I demonstrated above, I can not only query all of the records, I can query with a where clause...but there are MANY more operations - I can query with a specific range of records, by a primary key, etc.&amp;nbsp; And not only can I query data, I can insert, update and delete data through my RESTful service.&amp;nbsp; iPerspective also allows you to create a service that will execute a dynamic SQL statement (a bit dangerous, but better if you have security on the RESTful service)...so you can create tables, drop tables, etc...all through browser commands!&lt;br /&gt;&lt;br /&gt;You probably noticed above that beyond the badges in Pipes, you can publish your Pipe directly to MyYahoo or iGoogle as a list.&amp;nbsp; As I mentioned, when you run a Pipe that has mapped data, it will start by showing you the data on a map, but you probably noticed that there is a "List" option/tab as well.&amp;nbsp; If you select the map and then you select a badge, you'll get a badge for the map feature.&amp;nbsp; If you select the list and then select a badge, you're creating a badge for the list option.&amp;nbsp; Here's what the list looks like -it just shows the item and description for each Loo record:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgoBNoqLYI/AAAAAAAAOgg/fpjy1PzbQiM/s1600/article13.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" px="true" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgoBNoqLYI/AAAAAAAAOgg/fpjy1PzbQiM/s320/article13.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;There are MANY (client) tools that consume SOAP-based and RESTful Web Services.&amp;nbsp; iPerspective can easily create these services for you - in whatever flavor you require.&amp;nbsp; The service mentioned above took less than an hour (literally just minutes) from start to finish.&amp;nbsp; By start to finish I'm talking about from the time that Chris delivered the Excel (XLS file) spreadsheet, to getting the data loaded in MySQL to creating the RESTful service (took less than 1 minute) and publishing the service to an App Server (takes seconds and is automated).&lt;br /&gt;&lt;br /&gt;Another cool feature of iPerspective is that the code that's generated is all template-based.&amp;nbsp; So you don't like the code, you can easily change the template and re-sync your services (which re-writes all of the code to follow your new and improved best practices)....all within seconds. If you want to add security or logging or whatever to the services, you can change a template, re-sync and again...you're done.&lt;br /&gt;&lt;br /&gt;If you would like a demo of iPerspective, please send me an email - we would love to show it off to you!&amp;nbsp; We have an Amazon EC2 image available too...so if you would like to run it in the cloud, we can provide you with the image to test it out yourself.&amp;nbsp; We also have iPerspective running in the cloud / SaaS, so you can test it out from our servers too.&amp;nbsp; The above link is to a VERY small machine and the performance is amazing!&amp;nbsp; We've done a lot to make sure the hydration of the return messages (turning the data into XML, JSON, etc) is the most efficient possible!&lt;br /&gt;&lt;br /&gt;Hopefully I've inspired you to give us a call or send us an email!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5706468012351953713?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5706468012351953713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5706468012351953713' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5706468012351953713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5706468012351953713'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/10/needaloo-yahoo-pipes-igoogle-and.html' title='NeedALoo - Yahoo Pipes, iGoogle and iPerspective'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QS55kL-NHdQ/TKgeG5a38WI/AAAAAAAAOgI/c57xlHAyWq8/s72-c/article7.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-9050975097832033939</id><published>2010-10-02T23:54:00.003-06:00</published><updated>2010-10-03T23:33:04.752-06:00</updated><title type='text'>NeedALoo - RESTful Services - Open Standard API</title><content type='html'>Exposing your data through RESTful services can quickly provide an open standard API that numerous client tools can easily integrate with.&lt;br /&gt;&lt;br /&gt;Let me back up just a bit and get back to the above conclusion.&amp;nbsp; As I've mentioned in my past several blogs, I've been working on Android development lately.&amp;nbsp; I was fascinated with this new platform and the rapid adoption.&amp;nbsp; When I went to the Apple store the day that the iPhone was released, I knew we were moving into a whole new world.&amp;nbsp; I knew the web was dead...or was it?&amp;nbsp; Not really...we just have so many options for where we access our information now.&amp;nbsp; We also seem to access content nearly 24x7.&amp;nbsp; In fact, many people sleep with their phones right next to them, texting through the night.&lt;br /&gt;&lt;br /&gt;I purchased my iPhone the day I checked it out - as I said, I knew immediately that it was a game changer.&amp;nbsp; Then when the iPad came out, I knew I "had to have one", but that I had to have the 3G version - I didn't need another wireless network device.&amp;nbsp; I received the 3G version the day Apple shipped their very first units.&amp;nbsp; I love the iPad!&amp;nbsp; And...when Google announced their Nexus One phone, I received my phone the day Google shipped their first units.&amp;nbsp; So yes, I'm an early adaptor.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I learned about early adaption back in 1994.&amp;nbsp; I was asked to debate client server vs. the web development.&amp;nbsp; My roll at the debate was to be the guy that said "client server is proven technology, so go with it."&amp;nbsp; I couldn't do that without reaching this new "web development" thing.&amp;nbsp; By the time I got to the debate, I had learned that if you were an early adaptor, you should be doing web development at that moment - it was here to stay!&amp;nbsp; I went on to write 5 books on web development for Oracle Press.&amp;nbsp; Today I feel the same way about mobile platform development.&amp;nbsp; If you're an early adaptor, you should be developing mobile apps.&lt;br /&gt;&lt;br /&gt;Technology adaption continues to move FASTER and FASTER by the hour.&amp;nbsp; When I saw the power of the iPhone platform (just like when I saw Apple's Lisa computer for the first time), I knew that Apple would own that platform from end-to-end.&amp;nbsp; That was great for Apple's profitability, but with that strategy they would never own the mobile device market.&amp;nbsp; That's not their strategy and never has been - it's profitability.&amp;nbsp; When I saw Google's Android platform and its rapid adaption rate, I knew it was effectively what Microsoft was to the "IBM PC."&amp;nbsp; In other words, I knew that Android would be adapted faster than the iPhone platform...and it would continue growing.&amp;nbsp; Well...that's old news.&lt;br /&gt;&lt;br /&gt;That's not to say that we don't need to develop apps for the iPhone (and BlackBerry) too.&amp;nbsp; My expertise is with Java and the Android platform is all built with Java (their own version, which is what's got Oracle so upset with Google).&amp;nbsp; So for me, the learning curve for the Android platform (and the other 9M Java developers) is pretty easy!&amp;nbsp; My plan is to develop apps for the Android platform and then port the successful apps to iPhone and BlackBerry.&amp;nbsp; Or...as I've mentioned before, we'll develop the cross-platform development environment.&lt;br /&gt;&lt;br /&gt;The beauty of these smart devices (Android OS phones and iPhones) is that they are SO smart!&amp;nbsp; Not only can you run your program on them (i.e. they are a computer), they have full time Internet access, access to wireless networks, bluetooth connections, you can tell which way the phone is pointing (i.e. they are a compass), you can tell if I'm shaking the phone, moving it, etc (i.e. they&amp;nbsp;include an accelerometer), they know where you are in the world (i.e. they are a GPS device), they have full keyboards, multiple input devices (i.e. roller balls, buttons and other controls)&amp;nbsp;and so much more.&lt;br /&gt;&lt;br /&gt;2 of these features became important to me very early on.&amp;nbsp; First, full time Internet connectivity and second, knowing the latitude and longitude of where you're currently located.&lt;br /&gt;&lt;br /&gt;When it comes to delivering "live" content (i.e. over the Internet), you need need to speak a common language across devices.&amp;nbsp; When the Internet first became popular, sites were written in HTML and transferred over HTTP (hypertext transfer protocol).&amp;nbsp; HTML is a loose standard, but it's based on XML, which is a strict language syntax.&amp;nbsp; Browsers understand HTML so that data becomes human readable.&amp;nbsp;When I first looked at web development back in 1994, people were primarily developing static web pages (i.e. HTML files).&amp;nbsp; Being a database guy at heart, I knew that the future of the Web was something Forrester later termed "Transactive Content."&amp;nbsp; Delivering content dynamically (i.e. reading it from a database and writing out HTML to display it) was the future of all Web computing.&amp;nbsp; Shortly thereafter, I realized that the future of the Web (beyond a transfer protocol) was going to the delivery of application to application content.&lt;br /&gt;&lt;br /&gt;Historically (and frankly still), a lot of data moved across (inter and intra) organizations via comma delimited files.&amp;nbsp; However, commas in the data wreaked havoc with developers, so we would often put quotes around the data too...but when quotes and commas were in the data...you get the picture.&amp;nbsp; XML solved a lot of these issues and standards were developed to transfer data between programs via XML.&amp;nbsp; Ultimate this was standardize into an open standard for data transfer between systems and is his is known as Web Services.&lt;br /&gt;&lt;br /&gt;The initial Web Services protocols all centered around SOAP-based Web services.&amp;nbsp; However, SOAP-based services contain a lot of extra bytes in them (i.e. XML is rather verbose) and they can also require a complex message format (i.e. an HTML POST) to request the data that you want to get back from the program.&amp;nbsp; In other words, you basically had to write a program to call the Web Service and then you had to write another program to extract the data returned from the Web Service.&amp;nbsp; Web Services simply allow you call a program on another server as if the program is on your same server.&amp;nbsp; Programs can have inputs - for example, a program might require a customer number as the input.&amp;nbsp; Programs usually have outputs - for example, the program might return the customer data (name, address, contacts, etc).&amp;nbsp; A Web Service SOAP request would pass the customer number in the inputs (wrapping it in a SOAP message) and the SOAP response would contain the customer data (as XML).&lt;br /&gt;&lt;br /&gt;And...that's where RESTful Web Services came about.&amp;nbsp; The REST protocol allows you to call a Web Service through an HTTP GET operation...more commonly known as executing a URL.&amp;nbsp; Just like when you type a URL in your browser window - as you'll see below, you can execute a REST request right from your browser!&lt;br /&gt;&lt;br /&gt;Let's talk about how accessing live data over the Internet (from your mobile device) could provide value to you.&amp;nbsp; In other words, your phone knows where in the world you currently are...and it has Internet access.&amp;nbsp; There's a lot of information that you might want to share with an Android phone!&lt;br /&gt;&lt;a href="http://www.needaloo.org/about.htm"&gt;Chris Ryan&lt;/a&gt;, the designer of the &lt;a href="http://needaloo.org/"&gt;needaloo.org&lt;/a&gt; website approached me with the idea of building an Android app to serve up the disabled Loo (bathroom) data based on your current location.&amp;nbsp; The concept is simple.&amp;nbsp; You're in need of a Loo in England, Scotland, Ireland, etc...so you hit the NeedALoo icon on your Android phone and you see a list of Loos closest to you.&amp;nbsp; Here's what my application list looks like on my Android phone:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgTMdg2E9I/AAAAAAAAOfw/zXabVSfQmtM/s1600/Article1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" px="true" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgTMdg2E9I/AAAAAAAAOfw/zXabVSfQmtM/s320/Article1.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can see the "NeedALoo" icon above.&amp;nbsp; When you click on this icon, the application runs and gets the live data over the Internet.&amp;nbsp; It gets this data based on your current location.&amp;nbsp; In other words, the phone sends the latitude and longitude data through a REST request.&amp;nbsp; Here's what the detailed list looks like on the phone:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgURSmTePI/AAAAAAAAOf0/dpwqg1UKOt0/s1600/article2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" px="true" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgURSmTePI/AAAAAAAAOf0/dpwqg1UKOt0/s320/article2.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;You can see that it shows the location of the Loo and a number of options.&amp;nbsp; Notice the compass, which can be refreshed (along with the distance) - the compass tells you which way you're headed and which way the Loo is from your current location.&amp;nbsp; In other words, turn around if it's behind you.&amp;nbsp; If you click on the Loo, it will render a Google Map of the Loo's location:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgU3nzu6GI/AAAAAAAAOf4/joNaa_W2bcU/s1600/article3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" px="true" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgU3nzu6GI/AAAAAAAAOf4/joNaa_W2bcU/s320/article3.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And if you click on the Loo itself, you can do all of the normal mapping functionality (navigate, get a street view, etc.):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgVJ8xM54I/AAAAAAAAOf8/akZlRVhVgzw/s1600/article4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" px="true" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/TKgVJ8xM54I/AAAAAAAAOf8/akZlRVhVgzw/s320/article4.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If you&amp;nbsp;click on the Android menu button, you can get a wide (one record per line and all of the details) or narrow (one field per line) view of the details or quick list:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/TKgV5PGiUPI/AAAAAAAAOgA/nveUJZ6nfEM/s1600/article5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" px="true" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/TKgV5PGiUPI/AAAAAAAAOgA/nveUJZ6nfEM/s320/article5.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Or you can view an overlay of the Loos on a Map:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgXwzp1XOI/AAAAAAAAOgE/6BhCXvYs54o/s1600/article6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" px="true" src="http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgXwzp1XOI/AAAAAAAAOgE/6BhCXvYs54o/s320/article6.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;As I mentioned, the bottom line is that you can have MANY representations of the same data on an Android device.&amp;nbsp; But...what if you wanted to display this information in a browser?&amp;nbsp; It's easy enough to dynamically serve this data up onto a Web page, but what about an open dashboard?&amp;nbsp; For example, Yahoo has their &lt;a href="http://my.yahoo.com/"&gt;my.yahoo.com&lt;/a&gt; site and Google has their &lt;a href="http://www.igoogle.com/"&gt;iGoogle&lt;/a&gt; site.&lt;br /&gt;&lt;br /&gt;How can you serve up consistent data to all of these locations?&amp;nbsp; Going back to my above discussion, you can do this via Web Services...SOAP-based or RESTful.&amp;nbsp; Yahoo and Google LOVE to consume RESTful services as do many of the client tools.&amp;nbsp; However, some tools prefer SOAP-based services...and to top that off, there are many different SOAP-based message formats (i.e. Document literal wrapped, RPC encoded, etc.) and there are many RESTful return message formats (i.e. JSON, XML, YAML).&lt;br /&gt;&lt;br /&gt;I'll put my plug in for iPerspective (contact me at &lt;a href="mailto:brad@tusc.com"&gt;brad@tusc.com&lt;/a&gt; for more information) now!&amp;nbsp; iPerspective allows you to expose any JDBC data source (i.e. virtually any database, file, XML data, etc) and SAP data as Web Services.&amp;nbsp; iPerspective generates SOAP-based or RESTful services.&amp;nbsp; It supports a number of message formats too.&amp;nbsp; So if you have a data source that you want to expose (within seconds), iPerspective can do this.&amp;nbsp; We have it running in the cloud too!&lt;br /&gt;&lt;br /&gt;Can you do this securely?&amp;nbsp; Absolutely - the services you expose can be secured through any security method you prefer.&amp;nbsp; In other words, you're data is exposed via an open standard API...and it's securely exposed!&lt;br /&gt;&lt;br /&gt;In my next blog, I'll give you a practical example where I take a RESTful service for NeedALoo and expose it through the above Android app, iGoogle and my.yahoo / Yahoo Pipes.&amp;nbsp; Note the gadget on the top right column of my blog - that's coming from Yahoo Pipes.&amp;nbsp; BTW...if you have an Android phone, you can download the above NeedALoo application and see it in action for yourself.&amp;nbsp; Of course, you'll only be able to see the Loos if you're currently near one of the Loos in our database.&amp;nbsp; I do have other similar applications that query their data from Yahoo through their YQL (Yahoo Query Language)...a topic for another day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-9050975097832033939?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/9050975097832033939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=9050975097832033939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/9050975097832033939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/9050975097832033939'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/10/needaloo.html' title='NeedALoo - RESTful Services - Open Standard API'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QS55kL-NHdQ/TKgTMdg2E9I/AAAAAAAAOfw/zXabVSfQmtM/s72-c/Article1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-3413989570349347164</id><published>2010-09-28T21:28:00.000-06:00</published><updated>2010-09-28T21:28:15.419-06:00</updated><title type='text'>OOW Summary</title><content type='html'>Oracle Open World was a great event in so many ways.&amp;nbsp; Here we are a week after the event and things are continuing to come out of the woodwork.&amp;nbsp; Today it was in...rumored that Chuck Phillips is going to HP.&amp;nbsp; Let me get this straight...HP got rid of Hurd for integrity issues and now they are hiring the guy who's mistress put a billboard up in NYC to bring the issue to light?&amp;nbsp; Wow!&amp;nbsp; How things change and quickly.&amp;nbsp; There must be some master plan coming soon!&amp;nbsp; I think Larry wants to buy HP, so he and Hurd worked out a plan to get him out of HP (i.e. get fired), and get his spy (Chuck) in...what do you think?&amp;nbsp; So far his master plan is working!&amp;nbsp; Look how Oracle drove the value of Sun down before they purchased them!&amp;nbsp; Time will tell all!!!&lt;br /&gt;&lt;br /&gt;Of course I'm just kidding!&amp;nbsp; Oracle is one of the most strategic companies I've ever seen.&amp;nbsp; What they did to / with Red Hat several years ago (also announced at OOW) was brilliant!&amp;nbsp; This year they completely dissed Red Hat and moved to their new Linux - because Red Hat didn't move fast enough for them...and they need to be able to scale to thousands of cores - which are coming soon!&lt;br /&gt;&lt;br /&gt;If there was anyone that could leverage Sun into something hugh, it's Oracle/Larry!&amp;nbsp; Their Exadata, Exalogic, and other hardware annoucements were impressive this year!&amp;nbsp; As Rich Niemiec said "Larry was like a kid in the candy store&amp;nbsp;leveraging Sun."&amp;nbsp; They are going after Google on the Java front, which I frankly don't understand, but they clearly do!&amp;nbsp; Here's a good summary of some of the things I saw/heard at the conference:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Exadata (towting 1M I/O requests per second) is the real deal – I personally have no worked on&amp;nbsp;one yet,&amp;nbsp;but several people I talked to at the conference have -&amp;nbsp;every single one of them had to mention that was awesome, amazing, fast, etc...&amp;nbsp; Rich did an "Exadata for Beginners" session and he said that about 60% of the audience said they were seriously considering buying it!&amp;nbsp; That's amazing!&amp;nbsp; A year ago when they asked the ACE Director community how many had used one I think 1 or 2 hands went up - this year it was more than 1/2 the room!&amp;nbsp; This is a SERIOUS box for SERIOUS processing!&lt;/li&gt;&lt;li&gt;Exalogic – Oracle modified Exadata into an App Server that can do 1M HTTP requests per second.&amp;nbsp; This was just annouced at the show, so I didn't meet anyone who had&amp;nbsp;worked on one yet, but it sure&amp;nbsp;looks very good!&amp;nbsp; They said that Facebook would need 2 of these...(only for redundancy).&amp;nbsp; In other words, this box can handle the 500M users of Facebook!&amp;nbsp; How's that for rationalization!&amp;nbsp; Imagine the savings this would give you!&lt;/li&gt;&lt;li&gt;Chip Level futures - Oracle said that today they are in the "10s" of cores...yet, what's coming in the not too distant future is 100s of cores.&amp;nbsp; Imagine that!&amp;nbsp; How about a laptop with 2 CPUs and 300 cores - imagine that!&lt;/li&gt;&lt;li&gt;Storage - Oracle has some VERY impressive network storage devices!&lt;/li&gt;&lt;li&gt;O/S - the new Oracle Linux O/S is built to scale - just like the Oracle DB!&amp;nbsp; Once again, they rocked the O/S world too!&lt;/li&gt;&lt;li&gt;Java – Oracle continues to innovate Java.&amp;nbsp; There was a LOT of very cool stuff at the conference.&amp;nbsp; The Java One conference was running at the same time&amp;nbsp;or as part of OOW.&amp;nbsp; Since Oracle purchased Java, I have talked to many Java developers.&amp;nbsp; Some say they are not sure they can trust Oracle.&amp;nbsp; Oracle is very focused on the purity of Java, following standards, etc - ask Google!&amp;nbsp; I continue to be impressed with Oracle's doing with Java!&amp;nbsp; There are 9M Java developers out there, so I'm not alone!&amp;nbsp; Oracle is VERY committed to Java.&amp;nbsp; There are 3 billon handsets running Java!&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Java FX - Oracle decided the world needs a graphics library for the Java community.&amp;nbsp; People were concerned about the path they took to get there.&amp;nbsp; The standard path historically&amp;nbsp; has been through JSRs.&amp;nbsp; Yet Oracle didn't go through this standard practice - they have just developed it on their own.&amp;nbsp; The library is VERY impressive!&amp;nbsp; Super fast, TONs of power, amazing!&lt;/li&gt;&lt;li&gt;AppXRay - Oracle wrote this to help you analyze an EAR (Enterprise Archive) file.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;MySQL – there is another new version out that includes clustering.&amp;nbsp; Nothing has stopped in the MySQL community.&amp;nbsp; I've always been impressed with MySQL for "reads" and easy of use, install, etc.&amp;nbsp; It doesn't perform as well as Oracle - but...heck, it's free.&amp;nbsp; But...why not just use the free version of Oracle (Oracle Express Edition) if you want "free?"&lt;/li&gt;&lt;li&gt;Oracle Express Edition - for some time now the ACE Director community has been asking Mark Townsend (product manager for the Oracle DB) when the 11g version of Express was going to be available.&amp;nbsp; He was consistent in saying that they wouldn't even consider releasing it until 11gR2 was available.&amp;nbsp; Well...it's available now!&amp;nbsp; So the ACED community said "OK, Mark..." and he responded with - it's already in the works and should be out...when asked "when..." we got the standard answer.&amp;nbsp;&amp;nbsp;The good news is that it's coming!&amp;nbsp; Another piece of good news is that they raised the DB size limit from 4GB to 10GB.&amp;nbsp; That makes for a nice free DB engine.&amp;nbsp; They aren't including ApEx with the installation - only because Oracle Express 10g stayed around for a LONG time and the ApEx version included with it became dated quickly.&amp;nbsp; So now you simply install ApEx off Oracle's site.&lt;/li&gt;&lt;li&gt;Oracle Application Express (ApEx) - once again, a new version has been released - 4.0.&amp;nbsp; This version is extremely impressive.&amp;nbsp; There are&amp;nbsp;really cool new features!&lt;/li&gt;&lt;li&gt;Database - 11g is now on its terminal release - 11gR2.&amp;nbsp;&amp;nbsp;About half the audience is on it now!&amp;nbsp; That's pretty impressive really!&amp;nbsp; We still have customers running version 6 of Oracle...&lt;/li&gt;&lt;ul&gt;&lt;li&gt;OTP - one time password - this is a new cool feature that Oracle added&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-3413989570349347164?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/3413989570349347164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=3413989570349347164' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3413989570349347164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3413989570349347164'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/09/oow-summary.html' title='OOW Summary'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5900611485878408707</id><published>2010-09-24T08:39:00.000-06:00</published><updated>2010-09-24T08:39:10.045-06:00</updated><title type='text'>Oracle Open World - HUGE Conference, Poor Booth Traffic</title><content type='html'>I just returned from Oracle Open World.&amp;nbsp; It was reported that 42,000 people attended the conference this year.&amp;nbsp; Based on the number of people at the concerts on Wednesday evening and the bus lines (at least 15 busses deep) at the Hilton, I would say that number was pretty accurate.&amp;nbsp; I would guess that 20,000 of the people (or maybe more) were vendors.&amp;nbsp; The vendor count was WAY up this year.&amp;nbsp; That surprised me.&amp;nbsp; Of course, OOW covers every prior Oracle conference - JD Edwards to Peoplesoft to Java One and so on.&amp;nbsp; There must be 20 major conferences that are now combined into one.&amp;nbsp; I heard many people say that they felt the conference needed to be moved to Vegas to handle the shear number of people.&amp;nbsp; I would agree - San Fran doesn't handle a crowd very well.&amp;nbsp; I also heard there were 60,000 people staying in the hotel rooms, etc. for the conference.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;The booth traffic (we had a 40x50 - HUGE booth this year) was VERY light compared to prior years.&amp;nbsp; We had some customers attending, which is always great to see.&amp;nbsp; People said the technical sessions were full, and few and far between.&amp;nbsp; Most sessions were very salesy from what I heard.&amp;nbsp; I looked through the conference book and had a hard time coming up with sessions to attend.&lt;br /&gt;&lt;br /&gt;The&amp;nbsp;concerts were awesome!&amp;nbsp; Black Eyed Peas, Don Henley, Montgomery Gentry, Berlin and Steve Miller Band.&lt;br /&gt;&lt;br /&gt;I'm hoping that the booth traffic is better next year!&amp;nbsp; I'm not sure how to resolve it.&amp;nbsp; The exhibit hall might just be too overwhelming for people - i.e. too many unrelated services.&amp;nbsp; There are bar code scanner to manufacturing firms to remote database administration to consulting firms.&lt;br /&gt;&lt;br /&gt;I attended the conference through the ACE Director group, which did an AWESOME job of having all of the product managers brief us the week before the conference.&amp;nbsp; It was great to hear all of Oracle's annoucements (under NDA) the week before.&amp;nbsp; Oracle continues to make HUGE strides in technology.&amp;nbsp; Not just in software anymore - in hardware too!&amp;nbsp; The Exalogic box is a major improvement in the app server world.&amp;nbsp; Their new Linux kernal is 100% based on scalability, 128 bit, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5900611485878408707?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5900611485878408707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5900611485878408707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5900611485878408707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5900611485878408707'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/09/oracle-open-world-huge-conference-poor.html' title='Oracle Open World - HUGE Conference, Poor Booth Traffic'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-7984206872906318391</id><published>2010-08-24T22:50:00.000-06:00</published><updated>2010-08-24T22:50:09.617-06:00</updated><title type='text'>Google Goggles</title><content type='html'>If you're interested in&amp;nbsp;a very cool app from Google, check out &lt;a href="http://www.androidzoom.com/android_applications/tools/google-goggles_blie.html"&gt;Google Goggles&lt;/a&gt;!&amp;nbsp; This app allows you to take a picture of about anything and it finds the item so you can get more information or purchase the item.&amp;nbsp; In fact, you can barcodes for an app and it pops right up in the market!&amp;nbsp; &lt;br /&gt;&lt;br /&gt;For example, this image will take you right purchasing Goggles:&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QS55kL-NHdQ/THSezVNrfCI/AAAAAAAAOfM/ePjRtmyTYjs/s1600/Goggles.png" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" ox="true" src="http://3.bp.blogspot.com/_QS55kL-NHdQ/THSezVNrfCI/AAAAAAAAOfM/ePjRtmyTYjs/s320/Goggles.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Google Goggles&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;And if you want to purchase my &lt;a href="http://www.androidzoom.com/android_applications/entertainment/local-events_gmnr.html"&gt;Local Even&lt;/a&gt;ts app, you can scan this image (right from the screen):&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/THSfKhSImUI/AAAAAAAAOfU/mu8O0UIiKn0/s1600/LocalEvents.png" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/THSfKhSImUI/AAAAAAAAOfU/mu8O0UIiKn0/s320/LocalEvents.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Local Events&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-7984206872906318391?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.androidzoom.com/android_applications/tools/google-goggles_blie.html' title='Google Goggles'/><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/7984206872906318391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=7984206872906318391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7984206872906318391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7984206872906318391'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/08/google-goggles.html' title='Google Goggles'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QS55kL-NHdQ/THSezVNrfCI/AAAAAAAAOfM/ePjRtmyTYjs/s72-c/Goggles.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-2477282573814063292</id><published>2010-08-24T22:13:00.001-06:00</published><updated>2010-08-24T22:13:40.126-06:00</updated><title type='text'>149 Apps and Counting</title><content type='html'>I've continued to work on my &lt;a href="http://www.androidzoom.com/android_developer/bradley-d-brown_gmnq.html"&gt;Android App library&lt;/a&gt; in my spare time.&amp;nbsp; I've been very happy with the results so far.&amp;nbsp; None of my apps are "killer apps" yet.&amp;nbsp; On average each app sells about 1 copy a day.&amp;nbsp; In other words, my revenue is about $150 per day.&amp;nbsp; Some apps haven't sold a single copy and others have sold a number of copies.&amp;nbsp; Not many of apps are over 50 sales overall.&amp;nbsp; To generate revenue reaching $1M a year (seems like a nice goal), I'd need to get my count up to about 4,000 apps...or...I need a killer app.&lt;br /&gt;&lt;br /&gt;I think I'll strive for a killer app instead of the 4,000 app route.&amp;nbsp; My apps pull data from Yahoo, Google and a variety of other sources.&amp;nbsp; Yahoo has great content about events, places, and the like.&amp;nbsp; Google Base is Google's XML database.&amp;nbsp; It's a great repository of data about everything from reference articles, product reviews, company reviews, services offered, travel packages, vacation rentals, vehicles for sale, housing information (rentals and for sale), jobs, local products, household products, personal ads, product catalogs, products, course schedules, events, activities and more!&amp;nbsp; It's all great content, but how do people find my apps?&amp;nbsp; How do I drive people to my apps?&amp;nbsp; All fun challenges to try to solve.&lt;br /&gt;&lt;br /&gt;I'm currently working on designing a number of killer apps.&amp;nbsp; I know they could be huge in the marketplace.&amp;nbsp; When I get them created and available in the market, you'll be the first to know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-2477282573814063292?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.androidzoom.com/android_developer/bradley-d-brown_gmnq.html' title='149 Apps and Counting'/><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/2477282573814063292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=2477282573814063292' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2477282573814063292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2477282573814063292'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/08/149-apps-and-counting.html' title='149 Apps and Counting'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-2768649189207581872</id><published>2010-08-23T16:12:00.000-06:00</published><updated>2010-08-23T16:12:44.301-06:00</updated><title type='text'>Who's next?  Will it be Informatica?</title><content type='html'>I posted the opportunity to be a part of the poll for Oracle futures and the results are now in - check them out at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.softwareadvice.com/articles/enterprise/oracle-mergers-acquisitions-whos-next-1080310/"&gt;http://www.softwareadvice.com/articles/enterprise/oracle-mergers-acquisitions-whos-next-1080310/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Very interesting!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-2768649189207581872?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/2768649189207581872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=2768649189207581872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2768649189207581872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2768649189207581872'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/08/whos-next-will-it-be-informatica.html' title='Who&apos;s next?  Will it be Informatica?'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-8112056227275004991</id><published>2010-08-15T23:54:00.000-06:00</published><updated>2010-08-15T23:54:41.415-06:00</updated><title type='text'>Ineffective Advertising</title><content type='html'>I've been writing (&lt;a href="http://www.facebook.com/brownb"&gt;Facebooking primarily&lt;/a&gt;) about development for the Android platform for the last few months now.&amp;nbsp; I solicited ideas from friends and family.&amp;nbsp; My sales went from $3-5/day up to $30-50/day and now up to around $70-100/day.&amp;nbsp; As one would expect, some of my apps sell better than others.&amp;nbsp; As you can see in other posts, some people feel I'm spamming the market.&amp;nbsp; People who buy the app seem to love it based on the feedback I get.&amp;nbsp; I have over &lt;a href="http://www.androidzoom.com/android_developer/bradley-d-brown_gmnq.html"&gt;100 variations of 2 primary applications&lt;/a&gt;.&amp;nbsp;&amp;nbsp;One application shows local events (i.e. music, culinary, etc.) and the other shows local favorite places (i.e. sushi, home improvement, etc).&amp;nbsp; I've experimented with a number of things including pricing.&amp;nbsp; I've priced from free (which gets a LOT of downloads, but I can't figure out a way to make that of value to me) to $.99, $1.99 and $2.99.&amp;nbsp; Over the past many weeks I reduced most of my apps to $.99, so that I could get a benchmark at $.99.&amp;nbsp; This week I've raised some of my prices to $1.99.&amp;nbsp; Next week I'm going to raise them to $2.99.&amp;nbsp; It's like playing the lemonade game.&amp;nbsp; I'm trying to determine the price where I sell the most (i.e. net sales - sales less cancellations).&lt;br /&gt;&lt;br /&gt;This past week I experimented with Admob.&amp;nbsp; Admob was purchased by Google a while back.&amp;nbsp; Therefore I assumed it must be the premier mobile advertising provider.&amp;nbsp; However...I was wrong!&amp;nbsp; I experimented (similar to this &lt;a href="http://www.seroundtable.com/archives/018847.html"&gt;experiment&lt;/a&gt;) by spending $100 on advertising.&amp;nbsp; My ad ended up running for about an hour - you can spend a WHOLE bunch of money in a day!!!!&amp;nbsp; I spent $.05 per who knows what...they just ask how much you want to bid, but they don't really explain the pricing - is it per click through?&amp;nbsp; Per impression?&amp;nbsp; What?&amp;nbsp; &lt;br /&gt;&lt;br /&gt;It took me days to get my account set up.&amp;nbsp; The site is one of the worst I've worked with.&amp;nbsp; When I finally got my account and ad set up, it said it was waiting for approval.&amp;nbsp; It took me a while to figure out if&amp;nbsp;I needed to approve the ad - or them.&amp;nbsp; It's them who has to approve.&amp;nbsp; I waited 3 days for them to approve a simple ad that read "Local Events - View Events in area" and linked to my app.&amp;nbsp; You only get 30 characters in your ad.&amp;nbsp; After 3 days, they said my ad was declined and gave a very cryptic explanation - so I reached out to support, who got back to me a couple days later.&amp;nbsp; They said it was a clerical error that my ad was now approved.&amp;nbsp; By the time I got to their site, I had already spent $50!&amp;nbsp; So I upped my limit to $100 for the day...yet the stats didn't update.&amp;nbsp; It says on their site that the stats are 90 minutes behind.&amp;nbsp; So I waited 90 minutes, then 180 minutes...then...sometime later the stats finally appeared!&lt;br /&gt;&lt;br /&gt;During the time that my ad ran, my assumption was that I would sell 0 copies of my app.&amp;nbsp; I ended up selling 3 copies of my app.&amp;nbsp; That's $3 in gross revenue or $2.10 in net revenue.&amp;nbsp;&amp;nbsp;I spent $100 to get a return of $2.10!!!!&amp;nbsp; Not a great return on my investment.&amp;nbsp; In other words, this is ineffective advertising!&lt;br /&gt;&lt;br /&gt;They said I received 356,555 impressions.&amp;nbsp; That's a LOT of apps that displayed my ad!&amp;nbsp; They said I received 1,833 click throughs.&amp;nbsp; 1,833 people reading about my app is pretty good success...yet only&amp;nbsp;3 people purchased it.&amp;nbsp; Holy smokes that's terrible ROI.&lt;br /&gt;&lt;br /&gt;So the bottom line - this isn't a method I can recommend to drive business to your apps!&lt;br /&gt;&lt;br /&gt;I also tried making money by selling advertising for Admob within my app.&amp;nbsp; This is completely ineffective as I've made $.01 (and they have made a whole lot more) from my free "sales."&amp;nbsp; I would have made MANY times this amount my selling my app.&amp;nbsp; Even if I sold only one copy, I would have made 100 times my Admob ROI.&lt;br /&gt;&lt;br /&gt;So...back to the drawing board!&amp;nbsp; If you have any ideas about how to sell more apps, please pass them on!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-8112056227275004991?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/8112056227275004991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=8112056227275004991' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8112056227275004991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8112056227275004991'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/08/ineffective-advertising.html' title='Ineffective Advertising'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-3870817262518418352</id><published>2010-08-09T12:50:00.001-06:00</published><updated>2010-08-09T13:03:16.211-06:00</updated><title type='text'>Oracle Continues their Acquisition Path</title><content type='html'>Do you work for a company that might be in Oracle's path?&amp;nbsp; How do you feel about working for Oracle?&amp;nbsp; Personally I'd love to figure out the gap that Oracle has today, develop software that fills that gap and then sell it to them in 2-5 years.&amp;nbsp; Stephen Jannise of &lt;a href="http://www.softwareadvice.com/distribution/"&gt;Distribution Software Advice&lt;/a&gt; has written a good article about their strategy, history, and targets.&amp;nbsp; He also has a poll that you can participate in.&amp;nbsp; I'd love to hear feedback on people's thoughts about all of the above!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.softwareadvice.com/articles/enterprise/oracle-mergers-acquisitions-whos-next-1080310/"&gt;http://www.softwareadvice.com/articles/enterprise/oracle-mergers-acquisitions-whos-next-1080310/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-3870817262518418352?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/3870817262518418352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=3870817262518418352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3870817262518418352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3870817262518418352'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/08/oracle-continues-their-acquisition-path.html' title='Oracle Continues their Acquisition Path'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-1132832335406367014</id><published>2010-07-09T11:52:00.002-06:00</published><updated>2010-07-12T11:08:20.192-06:00</updated><title type='text'>SQL to Non-SQL Databases - Draining the Swamp</title><content type='html'>Are people moving from SQL to Non-SQL databases - i.e. draining the swamp?&amp;nbsp; Or...are they storing their data in SQL databases and hydrating their Non-SQL database with the data in the SQL database?&lt;br /&gt;&lt;br /&gt;I guess it depends on who you are and what you're trying to accomplish.&amp;nbsp; I'd love to hear your feedback/comments on this.&amp;nbsp; What are you doing and how's it working out for you?&lt;br /&gt;&lt;br /&gt;The reason I ask is that our iPerspective product makes it easy to pull off either scenario...or both.&amp;nbsp; However, we need to write the reference architecture and then templatize the solution...which takes time and effort.&amp;nbsp; That's why I'm asking.&amp;nbsp; We have the SQL side covered, but we need to add in the Non-SQL databases / APIs.&amp;nbsp; There's no JDBC driver for Non-SQL databases - in fact you have to write code specifically for each of the APIs.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Which Non-SQL database should we tackle first?&amp;nbsp; BigTable?&amp;nbsp; Hadoop?&amp;nbsp; Looking forward to your feedback!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-1132832335406367014?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/1132832335406367014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=1132832335406367014' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/1132832335406367014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/1132832335406367014'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/07/sql-to-non-sql-databases-draining-swamp.html' title='SQL to Non-SQL Databases - Draining the Swamp'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6399511667772972278</id><published>2010-04-28T23:42:00.000-06:00</published><updated>2010-04-28T23:42:53.062-06:00</updated><title type='text'>Real-Time Integration</title><content type='html'>Today I updated an article that I wrote about 6 years ago.&amp;nbsp; You can download the &lt;a href="http://docs.google.com/fileview?id=0B8dC_o-tXnKBZGQzMWRkOGYtOGZlOC00ZmM4LTljZmMtZDA1YWQ4N2U3Y2Vj&amp;amp;hl=en"&gt;full article &lt;/a&gt;on the concept of "Real-Time Integration."&amp;nbsp; We've since implemented this solution for customers, but not nearly enough customers have gone this route.&amp;nbsp; Please read the white paper and tell me your thoughts on this subject.&amp;nbsp; Why aren't more companies moving this way yet?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6399511667772972278?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6399511667772972278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6399511667772972278' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6399511667772972278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6399511667772972278'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/real-time-integration.html' title='Real-Time Integration'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-7850295782955179357</id><published>2010-04-27T21:11:00.001-06:00</published><updated>2010-04-28T11:16:50.147-06:00</updated><title type='text'>The Killer App - iPerspective 3.0</title><content type='html'>Based on my discussions from yesterday's blog, I put this paper out there for those who are interested in hearing more about our cross platform development environment.&amp;nbsp;You can &lt;a href="http://docs.google.com/fileview?id=0B8dC_o-tXnKBZDM3NDhhZTUtNDk2OC00ODIzLTg2ZGUtNzRhMWZkNGZlNjc3&amp;amp;hl=en"&gt;download&lt;/a&gt; it and read it.&amp;nbsp; We have everything in place - testing will begin soon enough, so if you're interested in being a beta customer, please send me an email!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-7850295782955179357?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/7850295782955179357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=7850295782955179357' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7850295782955179357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7850295782955179357'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/killer-app-iperspective-30.html' title='The Killer App - iPerspective 3.0'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5729889112078583166</id><published>2010-04-26T12:59:00.000-06:00</published><updated>2010-04-26T12:59:27.837-06:00</updated><title type='text'>Cross (Software) Platform Development - iPad, iPhone, Android</title><content type='html'>Wouldn't it be great if you could develop an application once and deploy it to multiple platforms.&amp;nbsp; In other words, you develop your GUI application and deploy it to Oracle Application Express, a&amp;nbsp;Java-based App Server, Adobe Flex, Android, iPhone, and the iPad.&amp;nbsp; How cool would that be?&amp;nbsp; Why doesn't it exist today?&amp;nbsp; Most likely because most vendors want you to develop for their platform.&amp;nbsp; But what if that's the platform?&amp;nbsp; A cross platform development environment.&amp;nbsp; Would you buy it?&lt;br /&gt;&lt;br /&gt;This isn't really that different from what Oracle did some 20 years ago is it?&amp;nbsp; It used to be that products ran on specific hardware.&amp;nbsp; In other words, they weren't cross (hardware) platform.&amp;nbsp; Then Oracle developed an application (their database and development tools - Oracle Forms and Reports) that ran across a number of hardware platforms.&amp;nbsp; All without changing the application itself.&amp;nbsp; This was revolutionary at the time!&lt;br /&gt;&lt;br /&gt;So what are we working on at TUSC?&amp;nbsp; Guess...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5729889112078583166?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5729889112078583166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5729889112078583166' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5729889112078583166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5729889112078583166'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/cross-software-platform-development.html' title='Cross (Software) Platform Development - iPad, iPhone, Android'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-4068840532947491771</id><published>2010-04-14T08:13:00.000-06:00</published><updated>2010-04-14T08:13:43.424-06:00</updated><title type='text'>Eclipse is the defacto standard IDE</title><content type='html'>It's clear that Eclipse has effectively become the defacto standard IDE in the Java world.&amp;nbsp; If you don't believe me, check out just how many plug-ins are available on the &lt;a href="http://www.eclipseplugincentral.com/"&gt;Eclipse Plug-in Central &lt;/a&gt;- over 1000!&amp;nbsp; That's a whole lot of applications based on the Eclipse IDE!&lt;br /&gt;&lt;br /&gt;If you read through my blogs over the past year, I've talked about Google, Amazon, Adobe, Facebook and numerous other companies.&amp;nbsp; Note that there are Eclipse plug-ins for most of these companies.&amp;nbsp; Facebook is missing from the list, but development environments based on Eclipse Plug-ins exist for:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://developer.android.com/sdk/index.html"&gt;Google Android development environment&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://aws.amazon.com/sdkforjava/?ref_=pe_8050_15058410"&gt;Amazon SDK for Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adobeopenoptions.com/products/flashbuilder/"&gt;Flex Builder (now called Flash Builder)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-4068840532947491771?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/4068840532947491771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=4068840532947491771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4068840532947491771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/4068840532947491771'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/eclipse-is-defacto-standard-ide.html' title='Eclipse is the defacto standard IDE'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-2664590098541108677</id><published>2010-04-13T20:50:00.000-06:00</published><updated>2010-04-13T20:50:59.619-06:00</updated><title type='text'>Powerful Social Media Platform - FaceBook Markup Language - FBML to the API to Connect...</title><content type='html'>Is traditional media changing?&amp;nbsp; Do you watch TV?&amp;nbsp; As much as you once did?&amp;nbsp; Do you get your news from the Internet?&amp;nbsp; From TV?&amp;nbsp; Both?&amp;nbsp; Are your friends, family, classmates your nightly news - i.e. via FaceBook?&amp;nbsp; &lt;br /&gt;&lt;br /&gt;It's amazing to me the power of viral marketing.&amp;nbsp; For example, there are a couple of videos that have reached viral marketing sensation status.&amp;nbsp; I don't want to continue to promote them in the viral spin, but you've probably heard of both of them.&amp;nbsp; One dad quit his job over the success of selling t-shirts and items about the video.&amp;nbsp; I'm not sure how he plans to re-create that (i.e. how he thinks he can continue making money that way), but I guess we'll see.&lt;br /&gt;&lt;br /&gt;Take some time to check out the &lt;a href="http://developers.facebook.com/"&gt;Facebook Developers Guides&lt;/a&gt;.&amp;nbsp; It should spark some interesting thoughts in your head just as it has for me.&amp;nbsp; The Facebook developers have worked long and hard to make a development platform that great simplifies development for you!&amp;nbsp; For example, check out Facebook &lt;a href="http://developers.facebook.com/connect.php"&gt;Connect &lt;/a&gt;- I think you'll be impressed with how easy it is to create a Facebook connected application.&amp;nbsp; You can use Facebook to authenicate your&amp;nbsp;own applications!&lt;br /&gt;&lt;br /&gt;You can create applications that run &lt;a href="http://developers.facebook.com/get_started.php"&gt;inside of Facebook&lt;/a&gt;&amp;nbsp;or you can use &lt;a href="http://wiki.developers.facebook.com/index.php/FBML"&gt;Facebook Markup Language&lt;/a&gt; (FBML) to create an application that interfaces with Facebook from your own website.&amp;nbsp; The is also a complete &lt;a href="http://wiki.developers.facebook.com/index.php/API"&gt;RESTful API &lt;/a&gt;available too!&amp;nbsp; And...if you're a database guy like me, you'll probably like the &lt;a href="http://wiki.developers.facebook.com/index.php/FQL"&gt;Facebook Query Language&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;As I mentioned, there are so many great ways to integrate social media into your site, your applications or to build a standalone Facebook application.&amp;nbsp; What power!&amp;nbsp; Read up, think about your applications, how you're going to make millions through Facebook and pass it on :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-2664590098541108677?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/2664590098541108677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=2664590098541108677' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2664590098541108677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/2664590098541108677'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/powerful-social-media-platform-facebook.html' title='Powerful Social Media Platform - FaceBook Markup Language - FBML to the API to Connect...'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-3128115551457324894</id><published>2010-04-12T22:55:00.000-06:00</published><updated>2010-04-12T22:55:27.641-06:00</updated><title type='text'>Flex is a VERY Powerful Development Platform</title><content type='html'>I recently spent some time investigating development platforms.&amp;nbsp; If you've read any of my prior posts (or any of my books), you know that I've always been a fan of Oracle Application Express (ApEx).&amp;nbsp; The upsides are numerous, but the primary upside is how rapidly you can develop (and deploy) a production application.&amp;nbsp; The downsides are that it's based on Oracle's proprietary PL/SQL language (not on Java), it runs in the database (not on an app server, so it's not as scalable), Oracle can be expensive if you want to scale (but ApEx is free and Oracle Express is free).&amp;nbsp; All this being said, I do love ApEx - it makes for very rapid application development.&lt;br /&gt;&lt;br /&gt;As I mentioned, I recently went in search of a server-based development environment that was in a more "open" language - such as Java (or JavaScript), was open source or at least free, could scale (i.e. ran on the app server or better yet on the client machine), was very powerful (i.e. people had built some really cool apps with it), etc.&amp;nbsp; What did I discover?&amp;nbsp; As I mentioned over the last couple of posts, I found the Android development environment, which I really like.&amp;nbsp; But that's a client development environment, not a browser-based client application.&lt;br /&gt;&lt;br /&gt;I also discovered Adobe Flex!&amp;nbsp; Turns out to be a very impressive development environment!&amp;nbsp; The client delivery is through Flash, which makes for a nice looking&amp;nbsp;user interface - case in point:&lt;br /&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/S8PxAB9j_6I/AAAAAAAAOUE/fDMdDPMMQ2o/s1600/FlexDashboard.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/S8PxAB9j_6I/AAAAAAAAOUE/fDMdDPMMQ2o/s320/FlexDashboard.PNG" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left" class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;The "portlets" in my dashboard above&amp;nbsp;are pulling information from&amp;nbsp;an SAP instance, an Oracle database, a SQL Server database, and a MySQL database.&amp;nbsp; How can we pull from all of these disparate sources?&amp;nbsp; Using Web Services (that were created with iPerspective).&lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;When looking at server-based development environments, there were more of the important factors to me:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="left"&gt;Consuming web services - the ability to consume Web Services is very important to me.&amp;nbsp; Why?&amp;nbsp; Because we have a product that writes Web Services in seconds.&amp;nbsp; It turns out that consuming Web Services in Flex is super easy!&amp;nbsp; Even easier than&amp;nbsp;ApEx!&amp;nbsp; Simply&amp;nbsp;provide a WSDL and the operation you want to use and you're pretty much there!&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Web Service data set management - I really like how it handles data sets from Web services...you can consume the Web Service operation and use the data as a data source for&amp;nbsp;graphs, text charts, etc.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Learning curve - I liked the learning curve for Flex.&amp;nbsp; The syntax is basically JavaScript, so the learning curve was&amp;nbsp;minimal for me.&amp;nbsp; Flex is like having a super library of UI functions on top of Java.&amp;nbsp; It's so amazingly powerful.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Reference material - there are many good books on the subject and there is plenty of online reference material.&amp;nbsp; It's always nice when you do a Google search and you find help for the problem you're trying to solve.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div align="left"&gt;I like the licensing for Flex - i.e. it's free.&amp;nbsp; You have to pay for the Eclipse add-on if you plan on using that, but that's pretty inexpensive (i.e. you don't pay per server).&amp;nbsp; Overall I'd rate Flex an 8 overall.&amp;nbsp; If you're looking for a great development and production platform, give Flex a try!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-3128115551457324894?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/3128115551457324894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=3128115551457324894' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3128115551457324894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/3128115551457324894'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/flex-is-very-powerful-development.html' title='Flex is a VERY Powerful Development Platform'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QS55kL-NHdQ/S8PxAB9j_6I/AAAAAAAAOUE/fDMdDPMMQ2o/s72-c/FlexDashboard.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5777113230451472256</id><published>2010-04-11T23:38:00.001-06:00</published><updated>2010-04-11T23:47:29.578-06:00</updated><title type='text'>Somebody Else's Services are the Foundation</title><content type='html'>The comment on my last post brings up an interesting point.&amp;nbsp; There is absolutely an interesting opportunity from a middleware standpoint.&amp;nbsp; In fact, at &lt;a href="http://www.tusc.com/"&gt;TUSC&lt;/a&gt; we've bet the farm on this point with our &lt;a href="http://www.tuscsoftware.com/"&gt;iPerspective&lt;/a&gt; product.&amp;nbsp; In fact, that's why I first got curious about mobile app building.&amp;nbsp; Using RESTful services (created by iPerspective), a company could easily deliver a mobile application that consumes the corporate data...securely of course.&amp;nbsp; So yes, that's a real opportunity, no doubt about it.&amp;nbsp; iPerspective is a code generator, so not only can it generate the RESTful services, but it could generate the iPhone, iPad, Android, etc. application.&amp;nbsp; I get the opportunity there for sure!&lt;br /&gt;&lt;br /&gt;However, what if you to build a consumer-based application that consumes somebody else's services?&amp;nbsp; Yahoo has a number of excellent content providing services.&amp;nbsp; In fact, my application pulls the data from Yahoo's services.&amp;nbsp; So in that case I don't need a middle tier - Yahoo provides this for me.&amp;nbsp; Yelp and other companies provide content like this too.&lt;br /&gt;&lt;br /&gt;These mobile devices have so much power and information available - right at your fingertips!&amp;nbsp; They have built-in GPS's that allow you to provide location-based services.&amp;nbsp; They provide you Internet connectivity.&amp;nbsp; They provide a number of integrated devices - from a camera, to a video camera to a phone to Wifi and more...wow, what power!&amp;nbsp; In fact, they are fully functional servers!&lt;br /&gt;&lt;br /&gt;So based on the above situation - i.e. building a consumer application...do you sell the app or upsell "premium" functionality.&amp;nbsp; It reminds me of the lemonade game I used to play as a kid...I guess it depends on the type of app, who's buying, etc...just link in the lemonade game where it depended on the weather, how thirsty your customers are, the temperature, etc....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/S8Kz5xh4mBI/AAAAAAAAOT8/sTmYGFXmt4s/s1600/lemonade.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/S8Kz5xh4mBI/AAAAAAAAOT8/sTmYGFXmt4s/s320/lemonade.jpg" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Business Life is a complex puzzle isn't it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5777113230451472256?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5777113230451472256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5777113230451472256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5777113230451472256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5777113230451472256'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/somebody-elses-services-are-foundation.html' title='Somebody Else&apos;s Services are the Foundation'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QS55kL-NHdQ/S8Kz5xh4mBI/AAAAAAAAOT8/sTmYGFXmt4s/s72-c/lemonade.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6383649843768624698</id><published>2010-04-10T23:13:00.001-06:00</published><updated>2010-04-10T23:16:02.490-06:00</updated><title type='text'>Sell or upsell</title><content type='html'>I've been thinking about developing apps for mobile devices (e.g. iPhone, Android, etc.) quite a bit lately.&amp;nbsp; I think one of the opportunities out there centers around building apps for businesses.&amp;nbsp; For example, allowing you to securely access corporate information from your mobile device.&amp;nbsp; This is a no-brainer opportunity as business applications always bring maximum dollars per deal.&amp;nbsp; In other words, you can sell an app for $5/copy or you can sell it to an enterprise for $100k or $1M.&amp;nbsp; It takes a lot of $5 sales to add up to $1M - 200,000 of them in fact...that's a lot of downloads.&lt;br /&gt;&lt;br /&gt;So who pays for applications for mobile devices?&amp;nbsp; Do you?&amp;nbsp; How much are you willing to pay?&amp;nbsp; When?&amp;nbsp; Why?&amp;nbsp; Personally I find that don't like paying for an application out of the gates - i.e. when I don't know exactly what I'm getting and why I would want to pay $5 or $20 for an application.&amp;nbsp; I'm also not a big fan of try it and it expires in 7 or 30 days.&amp;nbsp; Sometimes I forget that I have the app and when I'm ready to use it again, my time is up.&amp;nbsp; I do like the limited use licenses - for example, try it 10 times and after that you have to buy it if you like it...but I'm not sure that always works out for the vendor - i.e. 10 tries might be all I need for 6 months.&lt;br /&gt;&lt;br /&gt;I think my favorite method of actually paying money for something is if there is a base package available for free and then certain functionality that you have to pay for if you want it...i.e. the upsell model.&amp;nbsp; What's your opinion?&amp;nbsp; What's your favorite model and why?&amp;nbsp; I think when kids' parents are paying for apps they don't mind buying a game and trying it - if they don't like it, they don't use it.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/S8FbCu66dKI/AAAAAAAAOT0/RwHPtyfkD18/s1600/upsell.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/S8FbCu66dKI/AAAAAAAAOT0/RwHPtyfkD18/s320/upsell.jpg" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-6383649843768624698?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/6383649843768624698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=6383649843768624698' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6383649843768624698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/6383649843768624698'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/sell-or-upsell.html' title='Sell or upsell'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QS55kL-NHdQ/S8FbCu66dKI/AAAAAAAAOT0/RwHPtyfkD18/s72-c/upsell.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5711534094716594881</id><published>2010-04-09T00:29:00.000-06:00</published><updated>2010-04-09T00:29:52.189-06:00</updated><title type='text'>Android Apps and RESTful Services</title><content type='html'>I've been thinking there is a real opportunity around mobile apps.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;I've had the iPhone since they came out and as soon as the iPad 3G is available, mine should arrive in the mail.&amp;nbsp; I was excited to receive my iPad docking station the other day - not really, it was kind of funny to receive the parts before the iPad.&amp;nbsp; A few months ago I switched over to the Google Nexus One, which runs the Google Android O/S.&amp;nbsp; Personally I think the iPhone is a cleaner interface (i.e. easier for the non-technical person to use) and it frankly works better (i.e. my presses always press in the right place on the iPhone).&amp;nbsp; However, our company is on T-Mobile, so I switched to a device that works on their network.&lt;br /&gt;&lt;br /&gt;So back to the opportunity.&amp;nbsp; How many businesses can you start where you require next to zero infrastructure to get them started?&amp;nbsp; Apple iTunes and Google Market both provide you with everything you need in order to deliver your applications to the market and to collect the cash for you!&amp;nbsp; You receive 70% of the revenue from both companies.&amp;nbsp; If you give your app away, you 70% of nothing of course.&amp;nbsp; So you develop an app, deploy it on their servers, they collect the money and you get 70% of the take!&lt;br /&gt;&lt;br /&gt;One downside is that both mobile development environments are platforms in and of themselves - if you develop for one, it might port "easily" to the other, but you must port it.&amp;nbsp; The iPhone SDK uses Objective C and Android uses Java.&amp;nbsp; If you know Objective C or if you know Java, the SDK will be a learning curve for you.&amp;nbsp; I know Java pretty well, but I don't know Objective C.&amp;nbsp; It's syntax is similar to Java, but not.&lt;br /&gt;&lt;br /&gt;So since I have an Android AND I know Java, I purchased a book on Android development.&amp;nbsp; The book is titled "Android Wireless Application Development" and was written by Shane Conder and Lauren Darcey.&amp;nbsp; The book contains MANY excellent examples.&amp;nbsp; Some of the examples don't work and most of the examples aren't complete (i.e. they didn't include the layout pages/code), but for something that overall is an early adaptor development platform, they've done an excellent job of writing a great book.&amp;nbsp; I've personally been involved with writing 5 books in the Web development world, so I know how hard it is to write a book like this.&lt;br /&gt;&lt;br /&gt;I decided I was going to learn how to develop mobile apps while I was on vacation with the family.&amp;nbsp; In other words, I spent a few hours a day (actually late night) reading and playing around.&amp;nbsp; By the end of the week&amp;nbsp;I felt comfortable developing mobile apps.&amp;nbsp; Like I said, I already knew Java.&amp;nbsp; I've used Eclipse a little bit (not too much) and I've used Oracle's JDeveloper IDE a lot.&lt;br /&gt;&lt;br /&gt;My goal was to develop an application that would pull local events (within a radius of where you're currently standing) that might interest you.&amp;nbsp; This idea came from my wife (who uses an iPhone) who is always interested in what's going on in town today (wherever we are).&amp;nbsp; I'll talk more about the development in the upcoming weeks, but for now, I'll just show you the end results of my application.&amp;nbsp; I plan on putting it on the Google Market as a number of apps (i.e. Local Country Music, Local Art Events, Local Jazz).&lt;br /&gt;&lt;br /&gt;Here's a look at my application in the emulator:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/S77JC1RUu4I/AAAAAAAAOTk/ujqR3taoQe8/s1600/Application_Page.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/S77JC1RUu4I/AAAAAAAAOTk/ujqR3taoQe8/s320/Application_Page.PNG" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Here's a look at my settings page:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/S77JLUE_UYI/AAAAAAAAOTs/tAIuNvARScE/s1600/Application_Settlings.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/S77JLUE_UYI/AAAAAAAAOTs/tAIuNvARScE/s320/Application_Settlings.PNG" wt="true" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5711534094716594881?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5711534094716594881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5711534094716594881' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5711534094716594881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5711534094716594881'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2010/04/android-apps-and-restful-services.html' title='Android Apps and RESTful Services'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QS55kL-NHdQ/S77JC1RUu4I/AAAAAAAAOTk/ujqR3taoQe8/s72-c/Application_Page.PNG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-8196317249826634954</id><published>2009-11-12T23:12:00.001-07:00</published><updated>2010-10-06T22:35:32.224-06:00</updated><title type='text'>Cloud Computing - I'm betting you'll be using it before you know it...</title><content type='html'>&lt;strong&gt;Are You Going to use Cloud Computing?&lt;/strong&gt;&lt;br /&gt;I did a keynote on cloud computing last week.&amp;nbsp; When I asked the audience how many people were using cloud computing today, nobody raised their hand (in an audience of about 300).&amp;nbsp; Then I asked how many people thought they would ever use it.&amp;nbsp; Maybe 20 people raised their hands.&amp;nbsp; How many people thought it was "real" or coming?&amp;nbsp; Same 20 or so.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Flashback to 1994&lt;/strong&gt;&lt;br /&gt;In preparing for this keynote, I had a flashback to 1994 when I was asked to do a debate on client server computing vs. this new technology call "web computing."&amp;nbsp; I was a client server guy, so I was to debate how client server was here to stay, how it was proven, etc.&amp;nbsp; After doing my research, I realized that the computing world would move toward dynamic web page generation, web computing, etc.&amp;nbsp; At that presentation I talked about web development as an "early adaptor" technology at that point.&amp;nbsp; Sure things changed, but those who were in on the group floor understood the fundamentals and therefore saw opportunities that weren't available later...such as Amazon.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Are You an Early Adaptor?&lt;/strong&gt;&lt;br /&gt;Cloud computing is in a similar state.&amp;nbsp; If you're an early adaptor, now is your time to truly understand and dig into cloud computing.&amp;nbsp; If you're a late adaptor, wait 10 years or more.&amp;nbsp; The thing I can assure EVERY company out there is that they will use a form of cloud computing at some point.&amp;nbsp; Some sooner than others.&amp;nbsp; Personally when it comes to new applications, businesses, etc. I'm only thinking in terms of this elastic computing model.&amp;nbsp; Simply put, for less than $3/hr I can spin up a SUPER fast processor on Amazon.&amp;nbsp; If&amp;nbsp;I purchased that machine, it would cost me $50k or more...and I'd have to install the OS, configure hardware, install my applications and more.&amp;nbsp; Why not just fire up a virtual image pre-configured?&amp;nbsp; You can do your development, testing, etc. on a box that will cost you about $.08/hr.&amp;nbsp; Imagine what $1000 will do for you in this model vs. a traditional / physical model.&amp;nbsp; There's no comparison.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Are You Confused?&lt;/strong&gt;&lt;br /&gt;There's a lot of confusion out there.&amp;nbsp; There are also a number of cloud offerings in a variety of forms.&amp;nbsp; When I think about cloud computing, I think of server farms that can be spun up to run my application at the drop of a command.&amp;nbsp; Those are cloud infrastructure providers like Amazon EC2 and Microsoft Azure.&amp;nbsp; Then there are Application Platform cloud providers like Google App Engine, Force.com and hosted Oracle Application Express (ApEx) vendors.&amp;nbsp; These are vendors who provide a platform that you can build your applications on.&amp;nbsp; Google App Engine can be built on Java or Python.&amp;nbsp; Force and ApEx are 4GL application platforms (i.e. point and click interfaces).&amp;nbsp; There are many portal and mashup companies who feel they provide cloud solutions.&amp;nbsp;&amp;nbsp; There are SaaS portal applications like iGoogle, MyYahoo, Yahoo Pipes, Yahoo YQL and more.&amp;nbsp; There are cloud load testing companies like Soasta.&amp;nbsp; There are also a number of SaaS integration appliance vendors (Integration as a Service).&amp;nbsp; Most of which mention cloud computing in their marketing literature.&amp;nbsp; So yes, there's plenty of confusion and it's difficult to keep up.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What's in Your Way?&lt;/strong&gt;&lt;br /&gt;So why not move to the cloud today?&amp;nbsp; There are many reasons of course.&amp;nbsp; Just like when web computing came into play - many things come to mind.&amp;nbsp; They can likely be grouped into 3 categories: 1) Technological - security, integration, etc., 2) Financial - such as SLA, what does it cost you if you're down vs. your SLA, etc. 3) Cultural - do you really enjoy spinning up servers?&amp;nbsp; Someone in your company might.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SaaS vs. Cloud&lt;/strong&gt;&lt;br /&gt;Many people say they have cloud offerings…and by their own definition, they might. Many of those are SaaS (Software as a Service) vendors…not Cloud vendors. SalesForce is actually both, but what most people thing of when they think of them is their CRM package online –that’s SaaS. Hardware as a Service (HaaS) is something that’s been around for a while too – i.e. timesharing, outsourcing your hardware to someone else. Cloud is SaaS and HaaS – running your applications on someone else’s hardware. The software could be used as a service – i.e. an Oracle license.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;No Lack of Benefits&lt;/strong&gt; &lt;br /&gt;The reality of cloud computing is that the benefits are numerous. Ultimately you can absolutely reduce your costs using cloud computing. It’s all about economies of scale. To do it right in a data center is very expensive. If you can share that expense with 1000 of your closest friends – why wouldn’t you! The fact that you can spin up new instances within seconds is exceptionally powerful. All of this translates into risk mitigation. You don’t need to spend any money on hardware! I think you’ll see more seamless cloud offerings in the future. Google has a nice seemless cloud offering for example. You can run their cloud offering (Google App Server) in your own environment or in theirs. You’ll have real power from Oracle when there is a “cloud” option on a SQL statement – just like parallelism…run it on the cloud. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;On the other hand, the variable costs can be high. If I buy a box, put some hardware on it, install software on it, I know the costs, right? Not totally – all of this setup requires time, but we often don’t consider that a variable cost. We also have to support our hardware and software – that’s all very expensive. But we tend to think of these things (i.e. salaries, hardware, software, etc) as a sunk cost, right? We’re fooling ourselves. It’s like setting your watch ahead by 15 minutes – do I really think I’m that dumb?&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;Cloud Solutions &lt;/strong&gt;&lt;br /&gt;I’ve experimented with all of these cloud providers in one form or another. Some I’ve used in production environments and others not. I think I have a pretty good handle on these technologies, but I learned a long time ago – if I’m a guy who likes my big boat, there’s always someone who has a bigger boat out there…and that’s true for all of these technologies. I know the Oracle technologies pretty well and I’m confident that I don’t know the entire stack. This is complicated stuff. I’m going to tell you my thoughts about each of these vendors cloud offerings. Again, my goal is to get you energized – to get you thinking, questioning some future direction, etc. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you’re thinking about a new highly scalable application that you’re going to build, I sure hope you’ll consider doing it in the cloud.&amp;nbsp; &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Oracle&lt;/li&gt;&lt;li&gt;Amazon&lt;/li&gt;&lt;li&gt;SalesForce (Force.com)&lt;/li&gt;&lt;li&gt;Google App Engine&lt;/li&gt;&lt;li&gt;Yahoo Pipes&lt;/li&gt;&lt;li&gt;Zoho&lt;/li&gt;&lt;li&gt;Others…&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;Keep in mind that long term this is an infrastructure decision, so don’t take it lightly!&amp;nbsp; There are so many questions that you have to ask yourself:&amp;nbsp; &lt;ul&gt;&lt;li&gt;Do you need to spin up servers or just run an application?&lt;/li&gt;&lt;li&gt;Existing or new application?&lt;/li&gt;&lt;li&gt;Oracle in the Cloud?&lt;/li&gt;&lt;li&gt;Pay per use OK?&lt;/li&gt;&lt;li&gt;Global application?&lt;/li&gt;&lt;li&gt;Scaling on demand important?&lt;/li&gt;&lt;li&gt;Public, private, partner cloud?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;Let's take a look at what each of the above vendors.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Oracle&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;First off, Oracle is really a cloud enabler, not so much a cloud infrastructure provider. The preferred Oracle cloud infrastructure is &lt;a href="http://www.oracle.com/technology/tech/cloud/index.html"&gt;provided by Amazon&lt;/a&gt;. You could say that ApEx running in a SaaS environment is a cloud offering. On &lt;a href="http://apex.oracle.com/"&gt;apex.oracle.com&lt;/a&gt; you can build your own application there and run it on their hardware. Not really in a production environment – Oracle doesn’t provide “production level” ApEx – at least they don’t support it. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Oracle has numerous SaaS offerings, which is running their software on their hardware….for example CRM, ERP, etc.&amp;nbsp;They say they have "Oracle Technology on Demand" but it's all Oracle 9.2, so I'm not sure what that says since Oracle's on version 11g now.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Personally I believe they could be one of the biggest cloud providers once they complete the Sun transaction. The Exadata boxes running in the cloud would be a great virtual offering!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Amazon&lt;/strong&gt;&lt;br /&gt;Amazon is one of my favorite cloud infrastructure providers…Oracle’s too – so far. That’s certain to change. With EC2 you can spin up a server in no time. You pay by the hour of computing time. As low as about 8 cents up to about $3/hr depending on the size and performance of the virtual box. You also will pay for data storage, data transfer, and other costs. But…what’s it cost you to spin up a box today? What’s it cost you to decommission a box today?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;EC2 (Elastic Compute Cloud)&amp;nbsp; is a true cloud infrastructure.&amp;nbsp; S3 (Simple Storage Service) is how you store your data.&amp;nbsp; You can get virtual machines in a variety of configurations – small, large, extra large, high CPU or standard CPU.&amp;nbsp; You can run as many virtual images as you would like - $.085-$2.88/hr/machine + licenses + data transfer (to S3).&amp;nbsp; And of course, you can build your own virtual instances on the OS, software, etc. of your choice. &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;Force.com&lt;/strong&gt; &lt;br /&gt;SalesForce offers what they call a cloud offering.&amp;nbsp; It's really an "Application Platform as a Service."&amp;nbsp; I liken it to apex.oracle.com. If you want to build a hosted Web app – Force.com might be for you.&amp;nbsp; There are entire consulting firms sprouting up who do nothing but Force.com development - I like this!&amp;nbsp; Force.com provides&amp;nbsp;an ApEx like development environment,&amp;nbsp; There are are sample applications (recruiting and volunteers) that you can check out on their site too. &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;I'd like to know how do you spin up a box?&amp;nbsp; Manage reliability, performance, etc...these are concerns to me.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Google App Engine&lt;/strong&gt;&lt;br /&gt;Google App Engine is a very powerful way to run your applications. It’s basically a hosted JVM environment. It’s nice that you can run it on your own hardware too. But, the downside in my book is that it’s not all that developer friendly. There’s no ApEx-like interface.&amp;nbsp; So it's a 3GL Application Platform as a Service.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;But…don’t count Google out just yet. They have a number of SaaS offerings (Mail, Calendar, etc) that can be great components of your cloud solution…for free.&lt;br /&gt;&lt;br /&gt;It's a true Cloud&amp;nbsp;(scalable, redundant, etc) environment, but can’t run Oracle.&amp;nbsp; You&amp;nbsp;have to develop your own app in Google App Engine lingo - i.e. Java or Python.&amp;nbsp; You can run Java databases like Derby of course.&amp;nbsp; By default you get BigTable, which is the same "database" that Google's search engine uses. &lt;br /&gt;&amp;nbsp; &lt;br /&gt;One thing I like about this architecture is that you can run it on your own hardware or run on Google (i.e. in the cloud).&amp;nbsp; Easy to build, easy to maintain, easy to scale.&amp;nbsp; An application on a free account can use up to 500MB of storage and up to 5 million page views a month.&amp;nbsp; You can also pay and configure: &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;CPU Time &lt;/li&gt;&lt;li&gt;Bandwidth in &lt;/li&gt;&lt;li&gt;Bandwidth out &lt;/li&gt;&lt;li&gt;Storage &lt;/li&gt;&lt;li&gt;Email &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Google provides the Google Data API to get to everything.&amp;nbsp; As I mentioned, there are many SaaS / hosted solutions that they have too - such as&amp;nbsp;Calendars, Documents, App Server, etc.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;Yahoo&lt;/strong&gt;&lt;br /&gt;Yahoo is a content company.&amp;nbsp; They don't really seem to have any cloud solutions.&amp;nbsp; They have one that's currently been introduced to universities only, but that doesn't seem all that interesting to industry.&amp;nbsp; Yahoo’s been talking about their cloud offering for a while now. In April they finally released it to universities – i.e. a limited beta. But again, don’t count Yahoo out – they are a content company. &lt;br /&gt;&lt;br /&gt;If you want weather information, stock information, traffic, etc…they have the content. All of us love SQL, and Yahoo has YQL. Is the Y long or short? EEQL, IQL, ICKQL? YuckQL?&lt;br /&gt;&lt;br /&gt;Actually I’m a big fan of YQL as you’ll see in a minute.&amp;nbsp; Yahoo provides many great developer tools (YUI, YQL, APIs).&amp;nbsp; In fact, YQL is quite powerful.&amp;nbsp; It returns data as XML or JSON.&amp;nbsp; You can also&amp;nbsp;store your own data on Yahoo (Google offers this too).&amp;nbsp; You can query your own XML through YQL.&amp;nbsp; And...Yahoo Pipes are great!&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;Zoho&lt;/strong&gt;&lt;br /&gt;Zoho considers themselves a cloud provider. Personally again, I’d say that’s a stretch. It’s more like a Google Documents on steroids. It does have some nice APIs and a JDBC driver.&amp;nbsp; Zoho as in Soho, so I have to wonder - is it for small time companies?&amp;nbsp; Again, it's more like ApEx on a server than Cloud.&amp;nbsp; They say they have CloudSQL...all marketing hype.&amp;nbsp;&amp;nbsp;It's really more like SaaSSQL…&amp;nbsp; They do have JDBC and ODBC drivers, which is pretty cool!&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;Others&lt;/strong&gt; &lt;br /&gt;As I mentioned, there are MANY other cloud providers. So take some time to pick your cloud provider. This is an infrastructure decision.&amp;nbsp; Think about what you really need right now.&amp;nbsp; Do you need SaaS or Cloud? &lt;br /&gt;Do you need to move from your hardware to someone else’s?&amp;nbsp; What kind of scale do you need?&amp;nbsp; I'd recommend you hire an expert…so you make the right decisions.&amp;nbsp; As I mentioned, it's tough to study up on all this stuff.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cloud with SOA?&lt;/strong&gt;&lt;br /&gt;What’s SOA – Service Oriented Architecture. SOA is an architecture, not a technology. So it contains a lot of components, best practices, etc. Many people say that SOA is a best practices approach to best practices. SOA bigots will say that SOA is just Web Services – in fact, you can do SOA without Web Services. Sure, that’s true, but I think the best place to start on your SOA journey is via Web Services. What are web services? Just an open standard API. You already have services or APIs. You already have data. So why not expose your existing data and business logic through an open API?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What’s your path to cloud? Start with web services. Start with something like YQL and see how it works. Integrate some Yahoo data into your applications. For example, I send myself emails with all of the weather updates for the town I live in – Littleton, CO. My plan is to integrate this with my calendar and figure out what city I’m in or going to be in and send weather updates for my current location…and traffic info…and events of interest, etc.&lt;br /&gt;&lt;br /&gt;What are the steps to success?&amp;nbsp; I believe a company should:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;You have services (packages, data)&lt;/li&gt;&lt;li&gt;Figure out which service you want to expose internally or externally&lt;/li&gt;&lt;li&gt;Create web services based on your existing services&lt;/li&gt;&lt;li&gt;Pick a product to create your services - iPerspective, Jdeveloper, …&lt;/li&gt;&lt;li&gt;Try out Yahoo YQL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;I’d also encourage you to check out Yahoo Pipes. Pipes allows you to prompt for information, use YQL, draw it in a map, overlay data and more. The maps you see here are 2 maps I created that show current traffic on a map. The map on the bottom of the page shows the culinary events that are in town. Again, I plan on merging this information with my “current” location and sending daily emails of maps and other items of interest. So let’s take a look at how you can do this with ApEx… &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CGQ&lt;/strong&gt;&lt;br /&gt;I wrote a product that we call CGQ – consumer gateway for queries. It allows you to write a query against ANY Web Service. We have another product, iPerspective that creates Web Services based on your existing assets – i.e. data in any database or business logic in any database (T-SQL, PL/SQL, etc.). So CGQ allows me to write a query against any Web Service. The services can be ones I created or ones already in existence…or in a cloud. Using CGQ I could query from YQL or fire off an EC2 server or CRUD data, etc. VERY powerful stuff and to the developer it simply looks like SQL and/or PL/SQL code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;CGQ Query 1 - Get all of the places named Littleton&lt;/strong&gt; &lt;br /&gt;If we take a look at this query, it's pretty simple.&amp;nbsp; It "virtualizes" the Web Service from Yahoo, so the Oracle engine thinks it's an Oracle table: &lt;br /&gt;&amp;nbsp; &lt;br /&gt;select text_column1 place_type, text_column2 name, &lt;br /&gt;&lt;br /&gt;text_column3 country, text_column4 state, &lt;br /&gt;text_column5 county, text_column6 postal_code, &lt;br /&gt;text_column7 locality1, num_column1 centroid_lat, &lt;br /&gt;num_column2 centroid_long&lt;br /&gt;from table(cast(soap_ws.select_restful(&lt;br /&gt;'placeTypeName,name,country,admin1,admin2,postal,locality1',&lt;br /&gt;'centroid/latitude,centroid/longitude',&lt;br /&gt;'http://query.yahooapis.com/v1/public/yql?q=&lt;br /&gt;select%20*%20from%20geo.places%20 &lt;br /&gt;where%20text%3D%22littleton%22',&lt;br /&gt;'place', 'results',&lt;br /&gt;'xmlns="http://where.yahooapis.com/v1/schema.rng"') &lt;br /&gt;as generic_table));&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Here's what the output looks like in SQL Developer: &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/Svz4LeoA2UI/AAAAAAAAORE/4oOkFxNW9po/s1600-h/Littleton.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" sr="true" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/Svz4LeoA2UI/AAAAAAAAORE/4oOkFxNW9po/s320/Littleton.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;&lt;strong&gt;Sample CGQ Query 2 - Get the detailed weather for 80123&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;br /&gt;select text_column1 date_1, text_column2 day1, &lt;br /&gt;&lt;br /&gt;num_column1 Day1_Low, num_column2 Day1_High, &lt;br /&gt;text_column3 Weather_1, text_column4 date_2, &lt;br /&gt;text_column5 day2, num_column3 Day2_Low, &lt;br /&gt;num_column4 Day2_High, text_column6 Weather_2&lt;br /&gt;from table(cast(soap_ws.select_restful(&lt;br /&gt;'yweather:forecast[1]/@date,yweather:forecast[1]/&lt;br /&gt;@day,yweather:forecast[1]/@text,yweather:forecast[2]/&lt;br /&gt;@date,yweather:forecast[2]/@day,yweather:forecast[2]/@text',&lt;br /&gt;'yweather:forecast[1]/@low,yweather:forecast[1]/&lt;br /&gt;@high,yweather:forecast[2]/@low,yweather:forecast[2]/@high',&lt;br /&gt;'http://query.yahooapis.com/v1/public/yql?q=&lt;br /&gt;select%20*%20from%20weather.forecast%20&lt;br /&gt;where%20location%3D80123',&lt;br /&gt;'item', 'results',&lt;br /&gt;'xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0"') &lt;br /&gt;as generic_table));&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Here's what the output looks like in SQL Developer: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/Svz4ZMVm9II/AAAAAAAAORM/sB5q1r7bxNY/s1600-h/Weather.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" sr="true" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/Svz4ZMVm9II/AAAAAAAAORM/sB5q1r7bxNY/s320/Weather.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;strong&gt;Query 3 - Get the upcoming events for a location&lt;/strong&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;select text_column1 date_posted, text_column2 description, &lt;br /&gt;&lt;br /&gt;text_column3 name, text_column4 photo_url, &lt;br /&gt;text_column5 distance_units, text_column6 start_date, &lt;br /&gt;text_column7 start_time, text_column8 ticket_price, &lt;br /&gt;text_column9 ticket_url, text_column10 venue_address,&lt;br /&gt;num_column1 distance, num_column2 latitude, num_column3 longitude&lt;br /&gt;from table(cast(soap_ws.select_restful(&lt;br /&gt;'@date_posted,@description,@name,@photo_url,&lt;br /&gt;@distance_units,@start_date,@start_time,@ticket_price,&lt;br /&gt;@ticket_url,@venue_address,@distance,@latitude,@longitude',’',&lt;br /&gt;'http://query.yahooapis.com/v1/public/yql?q=&lt;br /&gt;select%20*%20from%20upcoming.events%20&lt;br /&gt;where%20search_text%3D%22music%22%20&lt;br /&gt;and%20location%3D%22Denver%2CCO%22%20&lt;br /&gt;and%20radius%3D1',&lt;br /&gt;'event', 'results') &lt;br /&gt;as generic_table));&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Here's what the output looks like in SQL Developer: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QS55kL-NHdQ/Svz4exaq7xI/AAAAAAAAORU/M4xiA9BkCAg/s1600-h/Events.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" sr="true" src="http://4.bp.blogspot.com/_QS55kL-NHdQ/Svz4exaq7xI/AAAAAAAAORU/M4xiA9BkCAg/s320/Events.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;strong&gt;Query 4 - Traffic in a Radius&lt;/strong&gt; &lt;br /&gt;&amp;nbsp; &lt;br /&gt;select text_column1 date_posted, text_column2 description, &lt;br /&gt;&lt;br /&gt;text_column3 name, text_column4 photo_url, &lt;br /&gt;text_column5 distance_units, text_column6 start_date, &lt;br /&gt;text_column7 start_time, text_column8 ticket_price, &lt;br /&gt;text_column9 ticket_url, text_column10 venue_address,&lt;br /&gt;num_column1 distance, num_column2 latitude, num_column3 longitude&lt;br /&gt;from table(cast(soap_ws.select_restful(&lt;br /&gt;'@date_posted,@description,@name,@photo_url,&lt;br /&gt;@distance_units,@start_date,@start_time,@ticket_price,&lt;br /&gt;@ticket_url,@venue_address,@distance,@latitude,@longitude',’',&lt;br /&gt;'http://query.yahooapis.com/v1/public/yql?q=&lt;br /&gt;select%20*%20from%20upcoming.events%20&lt;br /&gt;where%20search_text%3D%22music%22%20&lt;br /&gt;and%20location%3D%22Denver%2CCO%22%20&lt;br /&gt;and%20radius%3D1',&lt;br /&gt;'event', 'results') &lt;br /&gt;as generic_table));&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Here's what the output looks like in SQL Developer: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QS55kL-NHdQ/Svz4j6ZXFgI/AAAAAAAAORc/H6R0cBlZTKU/s1600-h/Traffic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" sr="true" src="http://1.bp.blogspot.com/_QS55kL-NHdQ/Svz4j6ZXFgI/AAAAAAAAORc/H6R0cBlZTKU/s320/Traffic.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;strong&gt;Now It's up to You!&lt;/strong&gt; &lt;br /&gt;I can assure you that the cloud is real. I can assure you that you'll use it in your business.&amp;nbsp; There's a natural progression to get started.&amp;nbsp; Give SOA a try.&amp;nbsp; Test out a Cloud provider.&amp;nbsp; Learn!&amp;nbsp; I have some questions for you: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Did I get you thinking?&lt;/li&gt;&lt;li&gt;Are you more curious than before you read this?&lt;/li&gt;&lt;li&gt;Do you see how it might apply to your business?&lt;/li&gt;&lt;li&gt;Still don’t see a fit? Why not?&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-8196317249826634954?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/8196317249826634954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=8196317249826634954' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8196317249826634954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/8196317249826634954'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2009/11/cloud-computing-im-betting-yourll-be.html' title='Cloud Computing - I&apos;m betting you&apos;ll be using it before you know it...'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QS55kL-NHdQ/Svz4LeoA2UI/AAAAAAAAORE/4oOkFxNW9po/s72-c/Littleton.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-7323600718998250660</id><published>2009-10-21T19:27:00.000-06:00</published><updated>2009-10-24T05:52:14.779-06:00</updated><title type='text'>Mapping RESTful Data</title><content type='html'>&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap5.jpg"&gt;&lt;/a&gt;As I mentioned before, Yahoo provides Yahoo Query Language (&lt;a title="YQL" href="http://developer.yahoo.com/yql/"&gt;YQL&lt;/a&gt;) in a variety of forms.  There is a console that allows you to write a query in a browser and see the XML results on the screen.  This is nice for development purposes, but XML isn't all that "humanly readable."  I'm a big fan of maps to represent data that can be attached to a latitude and longitude.  When you think about it, most data actually can be attached to an address, a zip code, a city or some geospatial component.  In my last blog, demonstrated how to use YQL and it's RESTful API to query and display information in a tabular form.  Today I'm going to show you how to take that tablular data and represent it in map.&lt;br /&gt;&lt;br /&gt;In my ApEx application, I created a region that contains 4 input fields:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap1.jpg"&gt;&lt;img class="alignnone size-medium wp-image-234" title="Prompts for Info" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap1-300x130.jpg" alt="Prompts for Info" width="300" height="130" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;You can see that I'm collecting:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;	&lt;li&gt;Address (to use for events and traffic)&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;Weather Zip (zip code to use for the weather information)&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;Event Search (search text for the events)&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;Radius (radius from the address to search for events and traffic)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;As you can see in the following figure, I displayed the traffic information on the map (pretty cool isn't it).  Below the map, I included the detailed traffic information in a tabular format (not very existing is it).  The traffic is within the specified radius of the address on the page.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap2.jpg"&gt;&lt;img class="alignnone size-medium wp-image-235" title="Traffic on the Map" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap2-299x300.jpg" alt="Traffic on the Map" width="299" height="300" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;In the following figure you'll see that I displayed all of the events within the radius of the specified address that contain the search text specified.  Again, below the events, is a tabular listing of the event details.&lt;br /&gt;&lt;br /&gt;.&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap3.jpg"&gt;&lt;img class="size-medium wp-image-236 alignnone" title="Events and Weather on the Map" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap3-300x208.jpg" alt="yqlmap3" width="300" height="208" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; There are many maps available including Yahoo, Microsoft (Virtual Earth), Google, etc.  Yahoo Pipes, which I've discussed previously, allows you to consume RESTful (or standard) Web Services.  Pipes allows you to consume YQL queries too.  I decided to use Yahoo Pipes to consume my YQL queries.  The figure below shows the Pipes visual diagram, which I'll explain below.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap4.jpg"&gt;&lt;img class="alignnone size-medium wp-image-238" title="Pipes Diagram" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap4-300x153.jpg" alt="Pipes Diagram" width="300" height="153" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Above you'll see that the diagram starts in the upper right corner with 2 text input values (location and radius).  These feed into the "String Builder" which writes a SQL statement that's used in the YQL query.  The query will look like: &lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre; font-size: 12px;"&gt;select * from maps.traffic where location="loc" and radisu=radius.  This is fed into the YQL query, which pases it's results into rename, which changes item.description to description and item.title to title.  The "Location Exrtaction" module will pull the lat/long information from YQL query.  Amazingly simple isn't it!  When you run the Pipe, you can see that there are 2 tabs.  1 for the Map (because we used the Location Extractor and a list.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre; font-size: 12px;"&gt;&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap5.jpg"&gt;&lt;img class="alignnone size-medium wp-image-239" title="Running the Pipe" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap5-291x300.jpg" alt="Running the Pipe" width="291" height="300" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre; font-size: 12px;"&gt;You see that all of the traffic shows up in the lat/long location it belongs on the map.  I'm always amazed how easy it is to integrate this data when you have services.  You can see above that there are many options available with the Pipe data.  You can publish the map on your MyYahoo page or you iGoogle page or get it as an RSS or JSON feeds and more.  You can also see that there is an option labeled "Get as a Badge."  As you can see here, you can put the badge in TypePad, Blogger, WordPress, iGoogle or as an Embedded link on your Web page:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap6.jpg"&gt;&lt;img class="alignnone size-medium wp-image-240" title="Get Yahoo Pipe Badge" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap6-300x175.jpg" alt="Get Yahoo Pipe Badge" width="300" height="175" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When you click on "Embed," Pipes provides you with a link to copy and paste.  Now back to ApEx.  How do we take this embedded link and put it in ApEx?  Remember that we have 2 bind variables for this Pipe.  These will be input variables in the RESTful service.  For this Pipe, the link that I copied looks like this:&lt;br /&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre; font-size: 13px;"&gt;&lt;script src="http://l.yimg.com/a/i/us/pps/mapbadge_1.1.js"&gt;{"pipe_id":"1000b6378cfdcd6dd7c46397c03c08a8","_btype":"map","pipe_params":{"loc":"215 Union Blvd, Lakewood, CO","radius":"50"}}&lt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre; font-size: 13px;"&gt;You can see the 2 bind variables.  Remember that in my ApEx application, I had 4 input variables (ApEx items) on my page.  The names of my variables are: P2_ADDRESS, P2_ZIP, P2_SEARCH and P2_RADIUS.  I created a new HTML region on my page.  Then I pasted the above embedded script into the region's HTML source.  The only thing I needed to change was to add in my bind variables.  You can see how I changed it below.  In PL/SQL, you reference bind variables with a colon in front.  For example, you would write something like "where radius = :p2_radius" in PL/SQL.  In HTML, the binding uses an ampersand before the variable name and a period at the end.  So here's what my region source looks like now:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;script src="http://l.yimg.com/a/i/us/pps/mapbadge_1.1.js"&gt;{"pipe_id":"1000b6378cfdcd6dd7c46397c03c08a8","_btype":"map","pipe_params":{"loc":"&amp;P2_ADDRESS.","radius":"&amp;P2_RADIUS."}}&lt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;My events map HTML region now looks like this:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;script src="http://l.yimg.com/a/i/us/pps/mapbadge_1.1.js"&gt;{"pipe_id":"443aa7ea681f51feb5ff3e24cc71812b","_btype":"map","pipe_params":{"search":"&amp;P2_SEARCH.","loc":"&amp;P2_ADDRESS.","radius":"&amp;P2_RADIUS."}}&lt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can see my bind variables in this region too.  You can see what my "Events in Town" Pipe looks like when I run it.  Notice the visual diagram (flow chart) here too - very cool!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap7.jpg"&gt;&lt;img class="alignnone size-medium wp-image-241" title="Running Event Pipe" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap7-300x287.jpg" alt="Running Event Pipe" width="300" height="287" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let's take a look at the details behind this Pipe now.  Here's the flow:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap8.jpg"&gt;&lt;img class="alignnone size-medium wp-image-242" title="Event and Weather Flow" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yqlmap8-300x173.jpg" alt="Event and Weather Flow" width="300" height="173" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;This Pipe begins in the top middle of the page with 3 text input variables - search text, location and radius.  Again, this feeds building the select statement that feeds into YQL.  I then took the results of that query and split it into 2 threads.  One thread takes a lot of the information and moves it into a "new_description" field.  This is used for all of the events, which are then put into an RSS format, sent into the union, which goes into the pipe's output.  The other thread extras the venue's zip code and gets the weather for that zip code.  Since many events could be in the same zip code, I ran it through a unique filter for unique cities and for all unique cities builds a YQL query for the weather information, which is also unioned into the pipe's output.  So we have a powerful combination of service requests. &lt;br /&gt;&lt;br /&gt;Again, I'm hoping to inspire you to go and build a really cool application that you can use in your company or personally.  Services are VERY powerful.  And of course...if you need help, give us a call!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-7323600718998250660?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/7323600718998250660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=7323600718998250660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7323600718998250660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/7323600718998250660'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2009/10/mapping-restful-data.html' title='Mapping RESTful Data'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-5359822092043564428</id><published>2009-10-21T05:50:00.000-06:00</published><updated>2009-10-24T05:52:14.796-06:00</updated><title type='text'>Power of OOW and WOA</title><content type='html'>Attendance at Oracle Open World (OOW) felt down to me.  We had 2 booths at the conference - one in Moscone South and another in Moscone West.  The booth traffic on Monday was good.  I think most of us expected Tuesday to get better and each day we seemed to see less traffic in the exhibit hall.  If you were in attendance, I hope you found it to be a great conference.  I know I met with a number of customers and prospects, which was the highlight of the conference for me.  I also really enjoyed conversations with all of the Rolta TUSC and Rolta employees.  All-in-all it will go down as a GREAT conference for me.&lt;br /&gt;&lt;br /&gt;After a week of conference focus, I'm digging into technical topics once again.  I've been looking at the RESTful components that Google, Yahoo and others are offering.  Google likes to restrict what you can do with their content.  They have great maps, but legally you can't extract the images that include traffic, weather and other information and send it in an email.  The Web Oriented Architecture (WOA) provides a light-weight method of getting data from other people's programs (i.e. services).  I'm very impressed with how Yahoo is approaching WOA.  I road back from the Aerosmith and Roger Daughtry concert with a group of Yahoo developers.  It's always great to see a group of co-workers hanging together as they were. &lt;br /&gt;&lt;br /&gt;Yahoo certainly has a number of great APIs that you can consume.  As the guys on the bus said, Yahoo is a content company - i.e. they are no longer a search engine company.  Yahoo Developer Network (YDN) contains a large number of great &lt;a href="http://developer.yahoo.com/everything.html"&gt;API&lt;/a&gt;s.  These APIs include tools for everything from querying the Yahoo database, to authentication, to content (Finance, Jobs, Blogs), maps and location-based services, photos (Flickr), music, answers, social applications and more.&lt;br /&gt;&lt;br /&gt;Since I'm a SQL guy, I was intrigued by the &lt;a href="http://developer.yahoo.com/yql/console/"&gt;YQL console&lt;/a&gt; and API.  I'd encourage you to go try it out.  You can query from social data, pictures (Flickr), maps and geo services, local information, music, blogs, search engine, weather, and more.  If you click on a table, the UI creates a sample query for you.  You can modify the query to your local information - for example, I opened "local" and clicked on the local.search table, then changed the zip to my home zip:&lt;br /&gt;&lt;br /&gt; &lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, clean, sans-serif; white-space: pre-wrap; color: #3c3c3c; font-size: 26px;"&gt;select * from local.search where zip='80123' and query='pizza'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Which will return an XML (or JSON) data stream for you to review:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;pre style="line-height: 13px; margin: 0px; font-family: monospace; padding: 0px;"&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&lt;query xmlns:yahoo="&lt;a href="http://www.yahooapis.com/v1/base.rng""&gt;http://www.yahooapis.com/v1/base.rng"&lt;/a&gt; yahoo:count="10" yahoo:created="2009-10-21T06:18:18Z" yahoo:lang="en-US" yahoo:updated="2009-10-21T06:18:18Z" yahoo:uri="&lt;a href="http://query.yahooapis.com/v1/yql?q=select+*+from+local.search+where+zip%3D%2780123%27+and+query%3D%27pizza%27"&gt;"&gt;http://query.yahooapis.com/v1/yql?q=select+*+from+local.search+where+zip%3D%2780123%27+and+query%3D%27pizza%27"&gt;&lt;/a&gt;&lt;br /&gt;    &lt;diagnostics&gt;&lt;br /&gt;        &lt;publiclyCallable&gt;true&lt;/publiclyCallable&gt;&lt;br /&gt;        &lt;url execution-time="395"&gt;&lt;![CDATA[&lt;a href="http://local.yahooapis.com/LocalSearchService/V3/localSearch?zip=80123&amp;query=pizza&amp;start=1&amp;results=10]]&gt;&lt;/url&gt;"&gt;http://local.yahooapis.com/LocalSearchService/V3/localSearch?zip=80123&amp;query=pizza&amp;start=1&amp;results=10]]&gt;&lt;/url&gt;&lt;/a&gt;&lt;br /&gt;        &lt;user-time&gt;399&lt;/user-time&gt;&lt;br /&gt;        &lt;service-time&gt;395&lt;/service-time&gt;&lt;br /&gt;        &lt;build-version&gt;3559&lt;/build-version&gt;&lt;br /&gt;    &lt;/diagnostics&gt;&lt;br /&gt;    &lt;results&gt;&lt;br /&gt;        &lt;Result xmlns="urn:yahoo:lcl" id="19628168"&gt;&lt;br /&gt;            &lt;Title&gt;M C's Pizza by the Slice&lt;/Title&gt;&lt;br /&gt;            &lt;Address&gt;8086 W Bowles Ave, #I&lt;/Address&gt;&lt;br /&gt;            &lt;City&gt;Littleton&lt;/City&gt;&lt;br /&gt;            &lt;State&gt;CO&lt;/State&gt;&lt;br /&gt;            &lt;Phone&gt;(303) 763-8299&lt;/Phone&gt;&lt;br /&gt;            &lt;Latitude&gt;39.609511&lt;/Latitude&gt;&lt;br /&gt;            &lt;Longitude&gt;-105.087353&lt;/Longitude&gt;&lt;br /&gt;            &lt;Rating&gt;&lt;br /&gt;                &lt;AverageRating&gt;5&lt;/AverageRating&gt;&lt;br /&gt;                &lt;TotalRatings&gt;7&lt;/TotalRatings&gt;&lt;br /&gt;                &lt;TotalReviews&gt;6&lt;/TotalReviews&gt;&lt;br /&gt;                &lt;LastReviewDate&gt;1215051686&lt;/LastReviewDate&gt;&lt;br /&gt;                &lt;LastReviewIntro&gt;Pizza the way it should be. If that was all they did it would be enough. But they step up with a full menu of Italian favorties. I used to eat here regularly when they were farther up north on Wadsworth, but I lost track of them when they moved. I'm exstatic that I stumbled back upon them. I refuse to eat pizza anywhere else now.&lt;/LastReviewIntro&gt;&lt;br /&gt;            &lt;/Rating&gt;&lt;br /&gt;            &lt;Distance&gt;0.87&lt;/Distance&gt;&lt;br /&gt;            &lt;Url&gt;&lt;a href="http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton&lt;/Url&gt;"&gt;http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton&lt;/Url&gt;&lt;/a&gt;&lt;br /&gt;            &lt;ClickUrl&gt;&lt;a href="http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton&lt;/ClickUrl&gt;"&gt;http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton&lt;/ClickUrl&gt;&lt;/a&gt;&lt;br /&gt;            &lt;MapUrl&gt;&lt;a href="http://maps.yahoo.com/maps_result?q1=8086+W+Bowles+Ave%2C+%23I+Littleton+CO&amp;amp;gid1=19628168&lt;/MapUrl&gt;"&gt;http://maps.yahoo.com/maps_result?q1=8086+W+Bowles+Ave%2C+%23I+Littleton+CO&amp;amp;gid1=19628168&lt;/MapUrl&gt;&lt;/a&gt;&lt;br /&gt;            &lt;Categories&gt;&lt;br /&gt;                &lt;Category id="96926243"&gt;Pizza&lt;/Category&gt;&lt;br /&gt;                &lt;Category id="96926234"&gt;Carry Out &amp;amp; Take Out&lt;/Category&gt;&lt;br /&gt;                &lt;Category id="96926236"&gt;Restaurants&lt;/Category&gt;&lt;br /&gt;            &lt;/Categories&gt;&lt;br /&gt;        &lt;/Result&gt;&lt;br /&gt;        &lt;Result xmlns="urn:yahoo:lcl" id="33699888"&gt;&lt;br /&gt;            &lt;Title&gt;McKinners Pizza Bar&lt;/Title&gt;&lt;br /&gt;            &lt;Address&gt;2389 W Main St&lt;/Address&gt;&lt;br /&gt;            &lt;City&gt;Littleton&lt;/City&gt;&lt;br /&gt;            &lt;State&gt;CO&lt;/State&gt;&lt;br /&gt;            &lt;Phone&gt;(303) 798-8500&lt;/Phone&gt;&lt;br /&gt;            &lt;Latitude&gt;39.613832&lt;/Latitude&gt;&lt;br /&gt;            &lt;Longitude&gt;-105.01599&lt;/Longitude&gt;&lt;br /&gt;            &lt;Rating&gt;&lt;br /&gt;                &lt;AverageRating&gt;5&lt;/AverageRating&gt;&lt;br /&gt;                &lt;TotalRatings&gt;3&lt;/TotalRatings&gt;&lt;br /&gt;                &lt;TotalReviews&gt;2&lt;/TotalReviews&gt;&lt;br /&gt;                &lt;LastReviewDate&gt;1231016590&lt;/LastReviewDate&gt;&lt;br /&gt;                &lt;LastReviewIntro&gt;First of all, this is a fun place.. The Pizza is second to none!! You should all go and give it a try! I know that you will love it!&lt;/LastReviewIntro&gt;&lt;br /&gt;            &lt;/Rating&gt;&lt;br /&gt;            &lt;Distance&gt;3.01&lt;/Distance&gt;&lt;br /&gt;            &lt;Url&gt;&lt;a href="http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton&lt;/Url&gt;"&gt;http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton&lt;/Url&gt;&lt;/a&gt;&lt;br /&gt;            &lt;ClickUrl&gt;&lt;a href="http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton&lt;/ClickUrl&gt;"&gt;http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton&lt;/ClickUrl&gt;&lt;/a&gt;&lt;br /&gt;            &lt;MapUrl&gt;&lt;a href="http://maps.yahoo.com/maps_result?q1=2389+W+Main+St+Littleton+CO&amp;amp;gid1=33699888&lt;/MapUrl&gt;"&gt;http://maps.yahoo.com/maps_result?q1=2389+W+Main+St+Littleton+CO&amp;amp;gid1=33699888&lt;/MapUrl&gt;&lt;/a&gt;&lt;br /&gt;            &lt;BusinessUrl&gt;&lt;a href="http://mckinners.com/&lt;/BusinessUrl&gt;"&gt;http://mckinners.com/&lt;/BusinessUrl&gt;&lt;/a&gt;&lt;br /&gt;            &lt;BusinessClickUrl&gt;&lt;a href="http://mckinners.com/&lt;/BusinessClickUrl&gt;"&gt;http://mckinners.com/&lt;/BusinessClickUrl&gt;&lt;/a&gt;&lt;br /&gt;            &lt;Categories&gt;&lt;br /&gt;                &lt;Category id="96926243"&gt;Pizza&lt;/Category&gt;&lt;br /&gt;                &lt;Category id="96926236"&gt;Restaurants&lt;/Category&gt;&lt;br /&gt;                &lt;Category id="96926238"&gt;Sandwiches&lt;/Category&gt;&lt;br /&gt;            &lt;/Categories&gt;&lt;br /&gt;        &lt;/Result&gt;&lt;/pre&gt;&lt;br /&gt;This got me thinking.  Using our Rolta CGQ (Consumer Gateway for Queries) product, we can execute any RESTful service and return the information as if the data resides in an Oracle database.  In other words, simply using SQL, I can write YQL query to retrieve information like maps, geo information, weather info, and more through Oracle Application Experss (ApEx).  I wrote 4 quick queries, pasted them into ApEx and I now have a WOA / SQL YQL dashboard.  First, let's look at the end result from my queries:&lt;br /&gt;&lt;br /&gt;[caption id="attachment_227" align="alignleft" width="300" caption="Yahoo Take 1"]&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yahoo.jpg"&gt;&lt;img class="size-medium wp-image-227" title="Pulling from Yahoo" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yahoo-300x157.jpg" alt="Yahoo Take 1" width="300" height="157" /&gt;&lt;/a&gt;[/caption]&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;You can see that I have 3 text input fields on the page.  I changed all 3 of these fields and here are the results now:&lt;br /&gt;&lt;br /&gt;[caption id="attachment_228" align="alignleft" width="300" caption="Take 2"]&lt;a href="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yahoo2.jpg"&gt;&lt;img class="size-medium wp-image-228" title="Yahoo Take 2" src="http://www.tuscsoftware.com/brown/wp-content/uploads/2009/10/yahoo2-300x165.jpg" alt="Take 2" width="300" height="165" /&gt;&lt;/a&gt;[/caption]&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;To write my queries, I used the YQL console to write the initial statement. I used the "COPY URL" button to copy the REST query.  For example, I queried 100 locations that have "Princeton" (my hometown) in the name:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places(0%2C100)%20where%20text%3D%22princeton%22%20&amp;format=xml"&gt;http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places(0%2C100)%20where%20text%3D%22princeton%22%20&amp;format=xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I then worked on my SQL query in Oracle SQL Developer.  Once I had the data looking the way I wanted it, I pasted these queries into a new ApEx SQL Query Report region.  I edited the SQL to add my bind variables, added better headers, sorting, and so on.  Let's take a look at each of the 4 queries on this page:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;select '&lt;img src="' || text_column1 || '"&gt;' map &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;from table(cast(soap_ws.select_restful('Result', 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20maps.map%20where%20location%3D%22' || replace(:p2_address,' ','+') || '%2C%20CO%22', 'results', 'query', 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') as generic_table))&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;select text_column1 place_type, text_column2 name, text_column3 country, text_column4 state, text_column5 county, text_column6 postal_code, text_column7 locality1, text_column8 centroid_lat, text_column9 centroid_long from table(cast(soap_ws.select_restful('placeTypeName,name,country,admin1,admin2,postal,locality1,centroid/latitude,centroid/longitude', 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places(0,100)%20where%20text%3D%22' || replace(:p2_location_text,' ','+') || '%22', 'place', 'results', 'xmlns="http://where.yahooapis.com/v1/schema.rng"') as generic_table))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;select text_column1 title, text_column2 link, text_column3 description, text_column4 lat, text_column5 lng, text_column6 publish_date from table(cast(soap_ws.select_restful('title,link,description,geo:lat,geo:long,pubDate', 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20location%3D' || :p2_zip, 'item', 'channel', 'xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"') as generic_table))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;select text_column1 date_1, text_column2 day1, text_column3 Day1_Low, text_column4 Day1_High, text_column5 Weather_1, text_column6 date_2, text_column7 day2, text_column8 Day2_Low, text_column9 Day2_High, text_column10 Weather_2 from table(cast(soap_ws.select_restful('yweather:forecast[1]/@date,yweather:forecast[1]/@day,yweather:forecast[1]/@low,yweather:forecast[1]/@high,yweather:forecast[1]/@text,yweather:forecast[2]/@date,yweather:forecast[2]/@day,yweather:forecast[2]/@low,yweather:forecast[2]/@high,yweather:forecast[2]/@text', 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20location%3D' || :p2_zip, 'item', 'results', 'xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0"') as generic_table))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;I hope from seeing this, you can imagine the opportunity for powerful applications that have access to ANY information you want to embed into your own applications.  For example, using this method, you could embed or save historical information for:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;A persons Yahoo profile information, which includes their full name, nickname, sex, profile image, interests, home location, timezone, ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Social information such as connections, contacts, presence, updates,...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Photo libraries (through Flickr) by EXIF, information, interestingness, recentcy, sizes, places, ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Geospatial information including Yahoo's placemaker (i.e. documents that match location information), places, neighboring places, similar towns/cities, ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Maps and traffic&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Local business searches&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Social media such as Facebook, Yahoo's MeMe, MySpace, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Music by artist, popularity, similar artists, releases, tracks, videos, ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Blogs such as Yahoo's MyBlogLog, Wordpress, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Yahoo searchs for images, news, spelling, suggestion, web sites, ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Upcoming events by country or state, category, groups, venues, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Weather forecasts&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Convert data from ATOM, CSV, RSS Feeds, HTML pages, JSON, XML, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Access to data from external sources including Amazon, Craigs List, Delicious, Doppler (travel site), Facebook, FriendFeed, Google, Government Spending, Intuit, IP Location Data, Bing, Movies, Netflix, SalesForce, Twitter, White Pages, WordPress, Yahoo (Finance, Messenger, Search, etc.), Zillow, etc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"&gt;&lt;span class="Apple-style-span" style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium 'Times New Roman'; white-space: normal; orphans: 2; letter-spacing: normal; color: #000000; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;This provides a lot of power to you as the developer!  What application are you going to create with this powerful information?  I have my own in mine...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5678424368747750223-5359822092043564428?l=bradleydbrown.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bradleydbrown.blogspot.com/feeds/5359822092043564428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5678424368747750223&amp;postID=5359822092043564428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5359822092043564428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5678424368747750223/posts/default/5359822092043564428'/><link rel='alternate' type='text/html' href='http://bradleydbrown.blogspot.com/2009/10/power-of-oow-and-woa.html' title='Power of OOW and WOA'/><author><name>Bradley D. Brown - TUSC</name><uri>http://www.blogger.com/profile/00794391896843627861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/_QS55kL-NHdQ/SKSoFQl7d8I/AAAAAAAAH84/PJxXxTaf4B4/s1600-R/100_0792_edited.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5678424368747750223.post-6167707182755348899</id><published>2009-09-23T21:23:00.000-06:00</published><updated>2009-10-24T05:52:14.818-06:00</updated><title type='text'>Google Wave - Next Generation Email?</title><content type='html'>Have you checked out &lt;a title="Google Wave" href="http://wave.google.com/"&gt;Google Wave &lt;/a&gt;yet?  The videos and discussions are pretty cool!  If you sign up, you might just get to check it out in the sandbox too!  I received a sandbox account, created my first survey and sent it off.  Wave made it very easy for me to analyze the results and get answers in no time at all.  I was trying to organize a 4 wheeling adventure this coming weekend, next weekend or in the Spring.  It turned out that next weekend worked for a number of people, so we got it on the schedule.  Here are the results in a spreadsheet format: &lt;br /&gt;&lt;table id="tblMain" border="0" cellspacing="0" cellpadding="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;table id="tblMain_0" class="tblGenFixed" border="0" cellspacing="0" cellpadding="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr class="rShim"&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 0px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="rShim" style="width: 120px;"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s0"&gt;Timestamp&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Would you be interested in a 4 wheeling adventure?&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;How much 4 wheeling experience do you have?&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Would you want to use your own vehicle or ride with someone else?&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;How much clearance do you have with your vehicle?&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;If you want to ride with someone else - how many of you need a ride?&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;If you can drive, how many extras can you take?&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Where would you like to go?&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Which dates work best for you [Sept 26]&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Which dates work best for you [Sept 27]&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Which dates work best for you [Oct 3]&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Which dates work best for you [Oct 4]&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;Which dates work best for you [Next spring]&lt;/td&gt;&lt;br /&gt;&lt;td class="s1"&gt;What did I forget to ask?&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/22/2009 22:22:42&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's challenging&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Lifted Vehicle&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/22/2009 22:28:25&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's challenging&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 0:56:18&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's easy&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Idaho Springs area (Fall River Road / St. Marys)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Great idea, Brad! Not that you forgot to ask... Jones Pass near Empire would be good. Also, I would be interested in an ATV ride in addition to or instead of vehicle off rading. Most of the same trails would be cadidates and I have a good line on rentals.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 3:29:20&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Don't have a 4 wheel drive with enough clearance, but would like to ride along&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;None, it's a car&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;I think this is a great idea and sounds like a ton of fun!&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 5:11:32&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Don't have a 4 wheel drive with enough clearance, but would like to ride along&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 5:36:44&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;5&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's challenging&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Lifted Vehicle&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Somewhere else (put in comments)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Some of these answers would have been better as checkboxes, as multiple answers apply.We would be interested but my wife has a torn rotator cuff, so anytime soon wont work.&lt;br /&gt;&lt;br /&gt;There are lots of great place fairly close by. You can see some of our recent adventures on my facebook page.&lt;br /&gt;&lt;br /&gt;Number of people who could ride along would depend on whether my kids wanted to go or not.&lt;br /&gt;&lt;br /&gt;Thanks Brad&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 6:06:35&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's easy&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 6:45:38&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Don't have a 4 wheel drive with enough clearance, but would like to ride along&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Can I just follow along on my mountain bike? Just kidding. I've never gone fourwheeling, but would love to try it.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 6:48:20&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's easy&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Idaho Springs area (Fall River Road / St. Marys)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 7:25:08&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's easy&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 7:33:30&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;4&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's easy&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#2&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#3&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;May consider coming along on bikes if thats ok.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 8:44:11&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Don't have a 4 wheel drive with enough clearance, but would like to ride along&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;None, it's a car&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 8:47:03&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;My own vehicle if it's easy&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="hd"&gt;.&lt;/td&gt;&lt;br /&gt;&lt;td class="s2"&gt;9/23/2009 9:40:27&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Don't have a 4 wheel drive with enough clearance, but would like to ride along&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;None, it's a car&lt;/td&gt;&lt;br /&gt;&lt;td class="s4"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;Keystone area (on the divide)&lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s5"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;#1&lt;/td&gt;&lt;br /&gt;&lt;td class="s3"&gt;No way I can make it this year but maybe next spring. It sounds like a lot of fun.&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You can also view the summary of the results - what's next - enterprise integration?:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;div id="ss-body" style="width: 688px; height: 485px; margin-left: auto; margin-right: auto;"&gt;&lt;br /&gt;&lt;div id="charts" class="ss-charts" style="height: auto;"&gt;&lt;br /&gt;&lt;div class="ss-response-counter"&gt;&lt;strong&gt;&lt;span id="num-responses" class="ss-total-num-responses"&gt;&lt;span style="font-size: xx-large;"&gt;14&lt;/span&gt;&lt;/span&gt;&lt;span id="responses-link" class="link ss-response-link"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0000cc; font-size: large;"&gt;responses&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="ss-horizontal-bar"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0000cc; font-size: large;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0000cc; font-size: large;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="ss-summary"&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Summary&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span id="complete-responses-link" class="link"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="color: #0000cc;"&gt;See complete responses&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;div id="charts-container"&gt;&lt;br /&gt;&lt;table id="chart#0" class="ss-indiv-chart" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;div id="title#0" class="ss-indiv-chart-title" style="TEXT-ALIGN: left" dir="ltr"&gt;Would you be interested in a 4 wheeling adventure?&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-chart-img-container"&gt;&lt;br /&gt;&lt;div id="image#0" class="pie-chart"&gt;&lt;img class="goog-serverchart-image" src="http://chart.apis.google.com/chart?cht=p&amp;chs=345x150&amp;chco=0000e0&amp;chl=Yes%20%5B14%5D%7CNo%20%5B0%5D&amp;chd=e%3A..AA" alt="" width="345" height="150" /&gt;&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-chart-table-container"&gt;&lt;br /&gt;&lt;table id="table#0" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;Yes&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;14&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;100%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;No&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;0&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;0%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div id="checkboxMessage#0" class="ss-cb-pct-expl" style="DISPLAY: none"&gt;People may select more than one checkbox, so percentages may add up to more than 100%.&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table id="chart#2" class="ss-indiv-chart" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;div id="title#2" class="ss-indiv-chart-title" style="TEXT-ALIGN: left" dir="ltr"&gt;How much 4 wheeling experience do you have?&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-chart-img-container"&gt;&lt;br /&gt;&lt;div id="image#2" class="v-bar-chart"&gt;&lt;img class="goog-serverchart-image" src="http://chart.apis.google.com/chart?cht=bvs&amp;chs=186x150&amp;chbh=%2C6&amp;chco=ffc163%7Cffce85%7Cffb442%7Cffa621%7Cff9900&amp;chly=5%7C4%7C3%7C2%7C1%7C0&amp;chl=1%7C2%7C3%7C4%7C5&amp;chds=0%2C5&amp;chd=t%3A4%2C3%2C5%2C1%2C1" alt="" width="186" height="150" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="bottomLabels#2"&gt;&lt;br /&gt;&lt;table border="0" width="186"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-scale-label" style="TEXT-ALIGN: left; PADDING-LEFT: 10px" dir="ltr" width="62" align="left"&gt;None&lt;/td&gt;&lt;br /&gt;&lt;td width="62"&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-scale-label" style="TEXT-ALIGN: left" dir="ltr" width="62" align="right"&gt;A Ton&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-chart-table-container"&gt;&lt;br /&gt;&lt;table id="table#2" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label ss-table-scale-number" style="TEXT-ALIGN: left" dir="ltr"&gt;1 -&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-scale-label" style="TEXT-ALIGN: left" dir="ltr"&gt;&lt;br /&gt;&lt;div class="ss-table-scale-label"&gt;None&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;4&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;29%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;21%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;5&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;36%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;4&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;7%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label ss-table-scale-number" style="TEXT-ALIGN: left" dir="ltr"&gt;5 -&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-scale-label" style="TEXT-ALIGN: left" dir="ltr"&gt;&lt;br /&gt;&lt;div class="ss-table-scale-label"&gt;A Ton&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;7%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div id="checkboxMessage#2" class="ss-cb-pct-expl" style="DISPLAY: none"&gt;People may select more than one checkbox, so percentages may add up to more than 100%.&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table id="chart#4" class="ss-indiv-chart" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;div id="title#4" class="ss-indiv-chart-title" style="TEXT-ALIGN: left" dir="ltr"&gt;Would you want to use your own vehicle or ride with someone else?&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-chart-img-container"&gt;&lt;br /&gt;&lt;div id="image#4" class="pie-chart"&gt;&lt;img class="goog-serverchart-image" src="http://chart.apis.google.com/chart?cht=p&amp;chs=345x150&amp;chco=d00000&amp;chl=My%20own%20vehicle%20if%20it's%20easy%20%5B6%5D%7CMy%20own%20vehicle%20if%20it's%20challenging%20%5B3%5D%7CDon't%20have%20a%204%20wheel%20drive%20with%20enough%20clearance%2C%20but%20would%20like%20to%20ride%20along%20%5B5%5D&amp;chd=e%3AbbNtW2" alt="" width="345" height="150" /&gt;&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-chart-table-container"&gt;&lt;br /&gt;&lt;table id="table#4" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;My own vehicle if it's easy&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;6&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;43%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;My own vehicle if it's challenging&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;21%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;Don't have a 4 wheel drive with enough clearance, but would like to ride along&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;5&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;36%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div id="checkboxMessage#4" class="ss-cb-pct-expl" style="DISPLAY: none"&gt;People may select more than one checkbox, so percentages may add up to more than 100%.&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table id="chart#18" class="ss-indiv-chart" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;div id="title#18" class="ss-indiv-chart-title" style="TEXT-ALIGN: left" dir="ltr"&gt;How much clearance do you have with your vehicle?&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-chart-img-container"&gt;&lt;br /&gt;&lt;div id="image#18" class="pie-chart"&gt;&lt;img class="goog-serverchart-image" src="http://chart.apis.google.com/chart?cht=p&amp;chs=345x150&amp;chco=dcca02&amp;chl=None%2C%20it's%20a%20car%20%5B3%5D%7CStandard%20SUV%20clearance%20%5B9%5D%7CLifted%20Vehicle%20%5B2%5D%7CDon't%20worry%20about%20my%20clearance%20%5B0%5D&amp;chd=e%3ANtpIJJAA" alt="" width="345" height="150" /&gt;&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-chart-table-container"&gt;&lt;br /&gt;&lt;table id="table#18" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;None, it's a car&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;21%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;Standard SUV clearance&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;9&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;64%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;Lifted Vehicle&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;14%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;Don't worry about my clearance&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;0&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;0%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div id="checkboxMessage#18" class="ss-cb-pct-expl" style="DISPLAY: none"&gt;People may select more than one checkbox, so percentages may add up to more than 100%.&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table id="chart#16" class="ss-indiv-chart" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;div id="title#16" class="ss-indiv-chart-title" style="TEXT-ALIGN: left" dir="ltr"&gt;If you want to ride with someone else - how many of you need a ride?&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-chart-img-container"&gt;&lt;br /&gt;&lt;div id="image#16" class="pie-chart"&gt;&lt;img class="goog-serverchart-image" src="http://chart.apis.google.com/chart?cht=p&amp;chs=345x150&amp;chco=00d000&amp;chl=1%20%5B3%5D%7C2%20%5B3%5D%7C3%20%5B1%5D%7C4%20%5B0%5D&amp;chd=e%3AbbbbJJAA" alt="" width="345" height="150" /&gt;&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-chart-table-container"&gt;&lt;br /&gt;&lt;table id="table#16" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;43%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;2&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;43%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;3&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;14%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;4&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-number"&gt;0&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-table-percentage"&gt;0%&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div id="checkboxMessage#16" class="ss-cb-pct-expl" style="DISPLAY: none"&gt;People may select more than one checkbox, so percentages may add up to more than 100%.&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table id="chart#26" class="ss-indiv-chart" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td colspan="2"&gt;&lt;br /&gt;&lt;div id="title#26" class="ss-indiv-chart-title" style="TEXT-ALIGN: left" dir="ltr"&gt;If you can drive, how many extras can you take?&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-chart-img-container"&gt;&lt;br /&gt;&lt;div id="image#26" class="pie-chart"&gt;&lt;img class="goog-serverchart-image" src="http://chart.apis.google.com/chart?cht=p&amp;chs=345x150&amp;chco=9601ac&amp;chl=1%20%5B1%5D%7C2%20%5B4%5D%7C3%20%5B2%5D%7C4%20%5B0%5D&amp;chd=e%3AJJkkSSAA" alt="" width="345" height="150" /&gt;&lt;/div&gt;&lt;/td&gt;&lt;br /&gt;&lt;td class="ss-chart-table-container"&gt;&lt;br /&gt;&lt;table id="table#26" border="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td class="ss-table-label" style="TEXT-ALIGN: left" dir="ltr"&gt;1&lt;/td&gt;&lt;br /&gt;&lt;td&gt; &lt;/td&gt;&lt;br /&gt;&lt;
