<?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-810434774739004460</id><updated>2011-04-21T18:21:40.406-04:00</updated><category term='facebook'/><category term='idea'/><category term='sponsorships'/><category term='tools'/><category term='annafarmery'/><category term='installing'/><category term='javascript'/><category term='personal'/><category term='Cropping'/><category term='urlbrief'/><category term='Private Stats'/><category term='cloudshout'/><category term='izea'/><category term='communication'/><category term='demo'/><category term='skitch'/><category term='ITK'/><category term='wordpress'/><category term='samples'/><category term='new features'/><category term='applications'/><category term='interview'/><category term='annotation'/><category term='blogger'/><category term='tedmurphy'/><category term='twitter'/><category term='apps'/><category term='SocialSpark'/><category term='Avatars'/><category term='visitors'/><category term='release'/><category term='followers'/><category term='google'/><title type='text'>dang@izea</title><subtitle type='html'>CloudShout/ITK Development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-8820018970097863858</id><published>2009-03-26T09:22:00.001-04:00</published><updated>2009-03-26T09:24:50.775-04:00</updated><title type='text'>Moving my blog</title><content type='html'>In my efforts to roll all my online identities into one, I'm moving this blog. I will now be posting at &lt;a href="http://dascgo.blogspot.com"&gt;http://dascgo.blogspot.com&lt;/a&gt;. Sorry for any inconvenience. Hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-8820018970097863858?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/8820018970097863858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/03/moving-my-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8820018970097863858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8820018970097863858'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/03/moving-my-blog.html' title='Moving my blog'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-7550613136725277293</id><published>2009-03-20T12:15:00.002-04:00</published><updated>2009-03-20T12:17:56.889-04:00</updated><title type='text'>Signing up to web services by following them on Twitter</title><content type='html'>I've been working on a &lt;a href="http://twitter.com/twtcode"&gt;Twitter project&lt;/a&gt; that requires immediate action when receiving Direct Messages and Follows. To conserve API hits (and for speed - emails arrive before the api serves the data), I'm monitoring an email account for those alerts. Twitter puts information in the email headers to help with this, which is great. So while doing all this, I had an idea....&lt;br /&gt;&lt;br /&gt;Why can't I just become a member of your site by following your Twitter user?&lt;br /&gt;&lt;br /&gt;As an example, say we have a site called cool_images.com which let's you catalogue and tag images you find interesting. This site also has the Twitter account @coolimg. &lt;br /&gt;&lt;br /&gt;Ok, so I want to sign up to cool_images.com. Where I expect to see a signup form, I see a message:&lt;br /&gt;&lt;br /&gt; &lt;blockquote&gt;To join this site and upload your photos, just follow @coolimg on Twitter.&lt;/blockquote&gt;&lt;br /&gt;That's a little strange, but I do. A few seconds later, I get a DM.&lt;br /&gt;&lt;br /&gt; &lt;blockquote&gt;Thanks for joining us. You can log into the site with your Twitter username and here's a temp password (you can change later): FluffyBunny05&lt;/blockquote&gt;&lt;br /&gt;What's going on that allows this to happen? The same thing I mentioned in the first paragraph... cool_images.com would monitor their Twitter emails and react accordingly. They could also monitor their DM's and reply back to the user. For instance, I'm having trouble uploading an image, so I tweet:&lt;br /&gt; &lt;br /&gt; &lt;blockquote&gt;@coolimg Help with uploading images&lt;/blockquote&gt;&lt;br /&gt;The site watches it's inbox and routes questions to employee's that can answer them. A few seconds later @dan_at_coolimg messages me and begins to help me with my problem. This also allows the help information to live in the public timeline, allowing others with similar issues to find correct answers.&lt;br /&gt;&lt;br /&gt;Maybe I could also do things like:&lt;br /&gt;&lt;br /&gt; &lt;blockquote&gt;d @coolimg import http://bit.ly/.....  and tag it "downtown orlando"&lt;br /&gt; d @coolimg send @dascgo a link to my favs&lt;br /&gt; etc... &lt;/blockquote&gt;&lt;br /&gt;Combined with something like &lt;a href="http://www.wait-till-i.com/2009/01/05/detecting-and-displaying-the-information-of-a-logged-in-twitter-user/"&gt;this user detection idea&lt;/a&gt; from Chris Heilmann (which Twitter disabled for security reasons), would have been incredible for turning Twitter into a sign on service. Maybe they could rethink what Chris was doing and provide a compromise for achieving the same functionality, because, quite frankly, I would love to join/unjoin sites by following their Twitter accounts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-7550613136725277293?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/7550613136725277293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/03/signing-up-to-web-services-by-following.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/7550613136725277293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/7550613136725277293'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/03/signing-up-to-web-services-by-following.html' title='Signing up to web services by following them on Twitter'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-1424814469528479129</id><published>2009-02-23T10:37:00.006-05:00</published><updated>2009-02-23T11:01:41.234-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='idea'/><category scheme='http://www.blogger.com/atom/ns#' term='followers'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Where did I pick up my Twitter Followers?</title><content type='html'>Yesterday I gave a &lt;a href="http://cloudshout.com/"&gt;CloudShout&lt;/a&gt; presentation at &lt;a href="http://barcampmiami.org/"&gt;barcamp miami&lt;/a&gt; during which I gave out my twitter name (which is &lt;a href="http://twitter.com/dascgo"&gt;dascgo&lt;/a&gt;, btw). Later that day, I checked my email to see that I have 10 new followers on Twitter. However, one of them I know was not because of my barcamp presentation.  This had me thinking that it would be really useful to know why people have decided to follow me. Here's what I'm thinking...&lt;br /&gt;&lt;br /&gt;When you decide to follow someone, next to the follow button is the option to add a hashtag keyword. So here's a random person that followed me yesterday, but if it was I that initiated the follow, I would see something like (underlined in green):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SaLDKLJeX6I/AAAAAAAAAFc/jEMnYyHLQws/s1600-h/follow_with_tag.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 207px;" src="http://3.bp.blogspot.com/_JejmleXUF88/SaLDKLJeX6I/AAAAAAAAAFc/jEMnYyHLQws/s400/follow_with_tag.png" alt="" id="BLOGGER_PHOTO_ID_5306017890554503074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Again, that field is completely optional to not impede the one-click follow process. But if people DO fill something in, it could be used in a couple (at least of the top of my head) ways. First, when a user gets an email notifying them of the new follower, we could see this (underlined in green):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SaLDliNGfHI/AAAAAAAAAFo/-derM8W9jsc/s1600-h/email-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 199px;" src="http://1.bp.blogspot.com/_JejmleXUF88/SaLDliNGfHI/AAAAAAAAAFo/-derM8W9jsc/s400/email-1.png" alt="" id="BLOGGER_PHOTO_ID_5306018360600198258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I would totally love that. I would know if what I'm doing is successfully reaching people.&lt;br /&gt;&lt;br /&gt;Second, what if I went to, say:&lt;br /&gt;&lt;blockquote&gt;http://&lt;span style="font-weight: bold;"&gt;follows&lt;/span&gt;.twitter.com/barcampmiami&lt;/blockquote&gt;and got to see something like:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JejmleXUF88/SaLEM0FCkvI/AAAAAAAAAFw/-pvaDBItta8/s1600-h/Picture+7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 162px;" src="http://2.bp.blogspot.com/_JejmleXUF88/SaLEM0FCkvI/AAAAAAAAAFw/-pvaDBItta8/s400/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5306019035413123826" border="0" /&gt;&lt;/a&gt;How useful would that be to event organizers? :)&lt;br /&gt;&lt;br /&gt;So I admit, I'm still a Twitter noob, and there are so many third party tools for the service that someone may have a similar idea working already. Anyone know of anything like this? I think it would be tremendously helpful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-1424814469528479129?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/1424814469528479129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/02/where-did-i-pick-up-my-twitter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1424814469528479129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1424814469528479129'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/02/where-did-i-pick-up-my-twitter.html' title='Where did I pick up my Twitter Followers?'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JejmleXUF88/SaLDKLJeX6I/AAAAAAAAAFc/jEMnYyHLQws/s72-c/follow_with_tag.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-1706811577856852635</id><published>2009-02-18T20:15:00.014-05:00</published><updated>2009-02-26T11:05:55.707-05:00</updated><title type='text'>What I'd like to see from Google Reader and Gmail</title><content type='html'>I love reading articles that make me want to do something. Today I was reading &lt;a href="http://www.readwriteweb.com/archives/google_io_competition_09.php"&gt;this post&lt;/a&gt; on &lt;a href="http://readwriteweb.com/" rel="nofollow"&gt;ReadWriteWeb&lt;/a&gt; and it begged for me to participate. The question was, basically, "what new feature would you like to see in any Google product".&lt;br /&gt;&lt;br /&gt;I'm a Google fanboy, I admit, and the two apps that I can not live without are Gmail and Reader. These two products are often in two browser tabs anytime I'm at my machine. So, what I would like to see, or at least ponder a bit longer, is how could these two products be combined?&lt;br /&gt;&lt;br /&gt;Take a second and go look at each one. They look REALLY REALLY similar, right? So, could something like this be what I need?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SZyzvqPI6-I/AAAAAAAAAFM/H9Qi2we8LPo/s1600-h/combined.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 321px;" src="http://1.bp.blogspot.com/_JejmleXUF88/SZyzvqPI6-I/AAAAAAAAAFM/H9Qi2we8LPo/s400/combined.png" alt="" id="BLOGGER_PHOTO_ID_5304312092508613602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's not a full mockup, but you get the idea. Now, let's take it a step further and really get to something I want. Post comments in Reader...&lt;br /&gt;&lt;br /&gt;I think it would be great for Reader to be able to import comments, and lay them out in a fashion similar to how an email conversation in Gmail looks/works. I know this is not an easy task, but starting off with some of the major blogging engines, hmmm, perhaps Blogger at least, would be a start.&lt;br /&gt;&lt;br /&gt;Imagine something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JejmleXUF88/SZy2uqnd0tI/AAAAAAAAAFU/799ZzRVo1iE/s1600-h/feed-item-with-comments.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 278px;" src="http://2.bp.blogspot.com/_JejmleXUF88/SZy2uqnd0tI/AAAAAAAAAFU/799ZzRVo1iE/s400/feed-item-with-comments.png" alt="" id="BLOGGER_PHOTO_ID_5304315373965660882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I would love to see something like that. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-1706811577856852635?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/1706811577856852635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/02/what-id-like-to-see-from-google-reader.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1706811577856852635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1706811577856852635'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/02/what-id-like-to-see-from-google-reader.html' title='What I&apos;d like to see from Google Reader and Gmail'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JejmleXUF88/SZyzvqPI6-I/AAAAAAAAAFM/H9Qi2we8LPo/s72-c/combined.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-8804952410485202806</id><published>2009-01-19T11:21:00.009-05:00</published><updated>2009-01-19T11:54:07.679-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new features'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>Sneak peak at some upcoming CloudShout features</title><content type='html'>FriendFeed in user profiles:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JejmleXUF88/SXSoroDxN_I/AAAAAAAAAEk/YMeFoiPXJFM/s1600-h/friendfeed.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 344px;" src="http://2.bp.blogspot.com/_JejmleXUF88/SXSoroDxN_I/AAAAAAAAAEk/YMeFoiPXJFM/s400/friendfeed.png" alt="" id="BLOGGER_PHOTO_ID_5293040929508243442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This will also be carried over to your Friends Tab in the Activity Hub, so it's not just a list of your friends avatars - it actually shows what they are up to...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JejmleXUF88/SXSqTaUYizI/AAAAAAAAAE0/g9qJbVd3vAc/s1600-h/friends_tab-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 195px; height: 214px;" src="http://4.bp.blogspot.com/_JejmleXUF88/SXSqTaUYizI/AAAAAAAAAE0/g9qJbVd3vAc/s400/friends_tab-1.png" alt="" id="BLOGGER_PHOTO_ID_5293042712526228274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Speaking of profiles, before, you could only open a profile from the Activity Hub, now you can link a person to their profile from your blog post:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SXSsrqfWkcI/AAAAAAAAAE8/ON0iTACbkVk/s1600-h/profiles.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 136px;" src="http://3.bp.blogspot.com/_JejmleXUF88/SXSsrqfWkcI/AAAAAAAAAE8/ON0iTACbkVk/s400/profiles.png" alt="" id="BLOGGER_PHOTO_ID_5293045328207319490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You will be able to call lot's of applications this way, like having a link open up in DangBrowser, for example.&lt;br /&gt;&lt;br /&gt;And DangGrowl will support different message types and user/app icons, as illustrated here:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JejmleXUF88/SXSo5tirXCI/AAAAAAAAAEs/1XlRabMpzFg/s1600-h/DangGrowl+updates.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 232px; height: 392px;" src="http://4.bp.blogspot.com/_JejmleXUF88/SXSo5tirXCI/AAAAAAAAAEs/1XlRabMpzFg/s400/DangGrowl+updates.png" alt="" id="BLOGGER_PHOTO_ID_5293041171498228770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Visuals are not finalized, so that might change. It's also worth pointing out that messages in DangGrowl can contain options to do things, like in the first notification in the image above.&lt;br /&gt;&lt;br /&gt;Lot's of other cools changes coming in the next release of &lt;a href="http://cloudshout.com/"&gt;CloudShout&lt;/a&gt;. I can't wait to show them!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-8804952410485202806?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/8804952410485202806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/sneak-peak-at-some-upcoming-cloudshout.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8804952410485202806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8804952410485202806'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/sneak-peak-at-some-upcoming-cloudshout.html' title='Sneak peak at some upcoming CloudShout features'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JejmleXUF88/SXSoroDxN_I/AAAAAAAAAEk/YMeFoiPXJFM/s72-c/friendfeed.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-3349327048008557066</id><published>2009-01-11T11:02:00.002-05:00</published><updated>2009-01-11T11:15:11.109-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><category scheme='http://www.blogger.com/atom/ns#' term='visitors'/><title type='text'>CloudShout Communications</title><content type='html'>I recently asked people following &lt;a href="http://twitter.com/cloudshout"&gt;@cloudshout&lt;/a&gt; on Twitter what they like or dislike about &lt;a href="http://cloudshout.com"&gt;CloudShout&lt;/a&gt;. The problem pointed out the most related to communicating with other site visitors.&lt;br /&gt;&lt;br /&gt;The issue is, from what I gathered:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;People do not know about the chat, thus the site chat room is empty&lt;/li&gt;&lt;li&gt;People miss chat invites by jumping from page to page.&lt;/li&gt;&lt;/ul&gt;The first problem will be solved in upcoming releases. We are going to make it more prominent to visitors that you can chat with the blog owner, and other visitors, and that there are actually people chatting at any given moment. Like walking into a room full of people, you instantly know that there are conversations going on without having to go look for them. Arriving at a CloudShout powered blog, you should instantly be able to "sense" the interactions around you.&lt;br /&gt;&lt;br /&gt;The second issue is a little bit trickier. Due to the design of CloudShout, it has to reset every time the browser loads a the page. One solution might be that you can launch the Chat application in it's own browser window. That way it stays running as you move around from page to page, or even site to site. A good idea that I will add to my list of things to consider.&lt;br /&gt;&lt;br /&gt;Jumping back to the first issue, here's an idea that might be helpful in letting people know about the chat functionality on your site... Make a blog post. Invite your readers to interact directly with you at a scheduled time. For instance: "&lt;span style="font-style: italic;"&gt;We covered many topics this week, and I will being doing a live chat with anyone interested Friday at 8pm EST to recap and get your feelings on the subjects. Just click on the 'Join Community Chat' in the CloudShout widget in the sidebar to participate. See you there!&lt;/span&gt;".  Or how about "&lt;span style="font-style: italic;"&gt;Join us here immediately following the Jan. 16th episode of Battlestar Galactica to discuss the show!&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;This, gives people a known time that other people will be online talking, and instructions on how to find the chat services.&lt;br /&gt;&lt;br /&gt;If you did not know that you could use CloudShout to communicate with other site visitors, &lt;a href="http://www.vimeo.com/2615180"&gt;this video&lt;/a&gt; will introduce you to the concept.&lt;br /&gt;&lt;br /&gt;Do you have any ideas?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-3349327048008557066?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/3349327048008557066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/cloudshout-communications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/3349327048008557066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/3349327048008557066'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/cloudshout-communications.html' title='CloudShout Communications'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-6863729821336530067</id><published>2009-01-07T15:17:00.013-05:00</published><updated>2009-01-07T15:43:14.875-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='urlbrief'/><category scheme='http://www.blogger.com/atom/ns#' term='izea'/><title type='text'>Cool use for URLBrief.com</title><content type='html'>&lt;img src="http://urlbrief.com/86af6b" align="left" hspace="10" /&gt; &lt;a href="http://urlbrief.com"&gt;URLBrief&lt;/a&gt; is a url shortening service that allows you to add up to 10 urls. The 10 urls do not get their own shortened url, but a single one that will randomly redirect to one of the 10 links. It sounds strange, I know, but with that you can do cool things like have a random avatar show up (see image in this post, you'll need to refresh to see it change).&lt;br /&gt;&lt;br /&gt;All you need to do is add links to the images you are going to use in URLBrief, then use the shortened url created by URLBrief as the "src" of your image tag:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&amp;lt;img src="the urlbrief link"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of course, you can just do a one-to-one link shortening if you need to. Also, you can get stats on your shortened url by just adding .xml or .html to the end of the link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://urlbrief.com/86af6b.xml"&gt;http://urlbrief.com/86af6b.xml&lt;/a&gt;&lt;br /&gt;&lt;a href="http://urlbrief.com/86af6b.html"&gt;http://urlbrief.com/86af6b.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pretty cool... the randomness can be used for all sorts of fun! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-6863729821336530067?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/6863729821336530067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/cool-use-for-urlbriefcom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6863729821336530067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6863729821336530067'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/cool-use-for-urlbriefcom.html' title='Cool use for URLBrief.com'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-1544516511622875822</id><published>2009-01-04T18:34:00.004-05:00</published><updated>2009-01-07T13:09:39.854-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='personal'/><title type='text'>Personal Challenges for 2009</title><content type='html'>Inspired by &lt;a href="http://dyogenez.livejournal.com/357777.html"&gt;two&lt;/a&gt; &lt;a href="http://codehappy.wordpress.com/2009/01/02/2009s-hot-new-programming-language/"&gt;people&lt;/a&gt; I really respect, I've decided to give myself a few goals for the new year. Here are the areas I'd like to explore/improve upon...&lt;br /&gt;&lt;br /&gt;1) I've been building websites since 1996 so when it comes to HTML, I'm a bit old school. Tables, inline styles, inline javascript, all those things that I'm told are bad are second nature to me. I understand, and agree with, the goals of being unobtrusive, but it's hard for me to actually abide by those ideals. Hopefully, this will be the year where I break away from my bad habits.&lt;br /&gt;&lt;br /&gt;2) &lt;a href="http://www.adamfortuna.com"&gt;Adam&lt;/a&gt;, on his on his 2009 list, brings up a good point in testing Javascript. &lt;a href="http://cloudshout.com"&gt;CloudShout&lt;/a&gt; relies heavily on Javascript, and it makes 100% sense that those parts of the app are well tested. Thus, Javascript Testing is one of the top items I will be looking into.&lt;br /&gt;&lt;br /&gt;3) Organize my accounts. As everyone, I have accounts with lots of web services. Be it Flickr, Twitter, Blogger, etc. However, sometimes I'm good old Daniel, and other times I'm Daniel @ IZEA. I want to break away from my split personality and combine them into one Daniel, if that makes any sense. :)&lt;br /&gt;&lt;br /&gt;4) I've been programming with Python for about 7 months now and I really like it. It reminds me a lot of Javascript, so much sometimes I find myself writing Python in a .JS file or vice versa. I'd really like to become more proficient in this language, to squeeze every ounce of power from it, so another thing I'd like to tackle this year is to improve my knowledge of Python.&lt;br /&gt;&lt;br /&gt;5) Beside becoming more proficient with my current language toolbox, I'd also like to pick up a new one. I remember one bright morning, walking with &lt;a href="http://codehappy.wordpress.com/"&gt;Pete&lt;/a&gt; to grab a coffee, and he filling me in on the coolness of Erlang. Ever since then, it's been something I've wanted to look further into. And so, I think I'll take some time this year to learn a bit more about Erlang and write a few applications.&lt;br /&gt;&lt;br /&gt;6) Write my own lightweight HTTP server. Big apps are old news. To put my reasons into perspective here, let's image a method that is, say, 40 lines of code. Nightmare, right? The rule is to refactor that into smaller chucks, and why should a web application be any different. Why does a web app need to do EVERY business requirement. I see smaller web apps, that all handle a specific task. A signup app, a mailer app, an API app, etc. We recently did this with &lt;a href="http://izearanks.com"&gt;IZEARanks&lt;/a&gt;, breaking out a load heavy function into it's own app. So when the load increases there, the core app is not affected. Ok, I'm getting a little off topic now, but this relates back to writing my own server because I don't see a reason to put a full featured HTTP server in front of code that only needs to handle post data, for instance. Granted, I don't know much about HTTP servers but I'd like to investigate what's actually capable.&lt;br /&gt;&lt;br /&gt;Well that's it. I hope everyone has a great year! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-1544516511622875822?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/1544516511622875822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/personal-challenges-for-2009.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1544516511622875822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1544516511622875822'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2009/01/personal-challenges-for-2009.html' title='Personal Challenges for 2009'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-3093092025824882578</id><published>2008-12-31T09:36:00.006-05:00</published><updated>2008-12-31T10:02:37.296-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>A quick overview of how CloudShout compares to Google Friend Connect and Facebook Connect</title><content type='html'>I just &lt;a href="http://friendconnectdirectory.blogspot.com/2008/12/difference-between-facebook-connect-and.html"&gt;read an article&lt;/a&gt; about Facebook Connect and Google Friend Connect that was mainly focused on their similarities and differences. I wanted to respond to that article by adding in &lt;a href="http://cloudshout.com"&gt;CloudShout&lt;/a&gt; to the mix.&lt;br /&gt;&lt;br /&gt;The main similarity mentioned is "to maintain and add social network applications to other websites". This is a core function of CloudShout. CloudShout allows you to interact with not only your friends on third-party websites, but also other visitors that have the potential to become your friends.&lt;br /&gt;&lt;br /&gt;Then the article begins to mention differences. The biggest difference mentioned is expansiveness and compatibility.  &lt;br /&gt;&lt;br /&gt;The compatibility part comes down to how you log into the service. With Facebook Connect, you log in with your Facebook account, and use the social graph you've built up while using Facebook. With Google Friend Connect, you can log in with "virtually any social network". I'm not sure how many social networks have tied into this actually, but it does make sense to leverage the graphs produced in any (or better yet, all) social network you are a member of. CloudShout is similar to Facebook, in that you need an &lt;a href="http://izea.com"&gt;IZEA&lt;/a&gt; account to power your social graph. I believe Google Friend Connect has the best option here and we will look at how to add similar capabilities in future releases of CloudShout.&lt;br /&gt;&lt;br /&gt;The article then talks about the complexity in adding the service to your site or blog. The winner, in that article, is Google. However, CloudShout, I would say, is even simpler. There is no .html files to add, just register your blog and paste in two bits of code. &lt;a href="http://vimeo.com/2615150"&gt;See this video&lt;/a&gt; for more information.&lt;br /&gt;&lt;br /&gt;The article does not go into using Google Friend Connect to add OpenSocial widgets to a site, and I haven't had the chance to see what it takes to do that. But in CloudShout, to add new functionality to the core app, all you do is click a button and it's loaded. For instance, if you see other site visitors using the Twitter app, then you can click "Install this app" right from the blog you are on and it is instantly available there and other CloudShout powered sites you visit. You can even install apps to your blog from another blog (if you see something that blog has that you'd like to have on yours) without looking at html code, or even being at your blog.&lt;br /&gt;&lt;br /&gt;I wish I had more time to play with Google Friend Connect and Facebook Connect to get my own perspective on the what works and what doesn't to understand where CloudShout lags behind, but right now, I'm confident that CloudShout is currently a better product for actually doing social stuff on sites that are not social networks. &lt;br /&gt;&lt;br /&gt;What really matters most to me, though, is what CloudShout users think are the features they need, and what I have been listening to since day one.&lt;br /&gt;&lt;br /&gt;If you are interested, there is a &lt;a href="http://vimeo.com/channel26270"&gt;CloudShout channel on Vimeo&lt;/a&gt; that show the different parts of CloudShout in action.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-3093092025824882578?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/3093092025824882578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/quick-overview-of-how-cloudshout.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/3093092025824882578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/3093092025824882578'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/quick-overview-of-how-cloudshout.html' title='A quick overview of how CloudShout compares to Google Friend Connect and Facebook Connect'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-2556249982303881148</id><published>2008-12-29T14:13:00.006-05:00</published><updated>2008-12-29T14:24:18.189-05:00</updated><title type='text'>CloudShout App Idea - Visitor Consolidation</title><content type='html'>&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2662872&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2662872&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/2662872"&gt;CloudShout App Idea: Visitor Consolidation&lt;/a&gt; from &lt;a href="http://vimeo.com/user973265"&gt;Daniel Goodwin&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is a just a demo of an app idea I'm working on for &lt;a href="http://cloudshout.com"&gt;CloudShout&lt;/a&gt;. Basically, things like BlogCatalog, MyBlogLog, etc. all do the same thing, but it's all separated into different, space consuming, widgets. This app will take those shards of past visitors information and combine them into one place, the CloudShout Activity Hub.&lt;br /&gt;&lt;br /&gt;One thing that I want to do that I forgot to mention in the video is that I would like to preserve the controls from each widget so that visitors can still do the things the widget provides, like follow the blog, or become a site member.&lt;br /&gt;&lt;br /&gt;Oh yeah, all the user records link to the appropriate service, too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-2556249982303881148?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/2556249982303881148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-app-idea-visitor.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/2556249982303881148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/2556249982303881148'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-app-idea-visitor.html' title='CloudShout App Idea - Visitor Consolidation'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-7000319382404039484</id><published>2008-12-26T08:51:00.003-05:00</published><updated>2008-12-26T09:00:27.029-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='samples'/><category scheme='http://www.blogger.com/atom/ns#' term='demo'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>CloudShout Demo Videos</title><content type='html'>Since a lot of people do not know what CloudShout is and what it can do, &lt;a href="http://adamfortuna.com/"&gt;Adam&lt;/a&gt; and I put together a few videos to help demonstrate some it's core functionality. I hope you find these videos helpful.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installing CloudShout and using the Activity Hub:&lt;/span&gt;&lt;br /&gt;Shows how to add CloudShout to your blog and how to use the Activity Hub.&lt;br /&gt;&lt;a href="http://www.vimeo.com/2615150"&gt;Watch @ Vimeo&lt;/a&gt; | &lt;a href="http://www.vimeo.com/download/video:86864434?e=1230128525&amp;amp;h=118c2fc8d87381ffa504c009b8906414&amp;amp;uh=9130be733238d18505511095ae4719d5"&gt;Direct Download&lt;/a&gt; | Length: ~12 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Communicating:&lt;/span&gt;&lt;br /&gt;Shows how to communicate with the people you encounter&lt;br /&gt;&lt;a href="http://www.vimeo.com/2615180"&gt;Watch @ Vimeo&lt;/a&gt; | &lt;a href="http://www.vimeo.com/download/video:86864467?e=1230128485&amp;amp;h=3f0498ac156fabdfd9479bf453d0f49d&amp;amp;uh=9130be733238d18505511095ae4719d5"&gt;Direct Download&lt;/a&gt; | Length: ~7 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is a CloudShout App?&lt;/span&gt;&lt;br /&gt;How to manage your apps, what the difference is between user apps and blog apps.&lt;br /&gt;&lt;a href="http://www.vimeo.com/2615197"&gt;Watch @ Vimeo&lt;/a&gt; | &lt;a href="http://www.vimeo.com/download/video:86864507?e=1230128465&amp;amp;h=ae8db147f700dd6a52251b74d7136c0a&amp;amp;uh=9130be733238d18505511095ae4719d5"&gt;Direct Download&lt;/a&gt; | Length: ~6 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Application Demos:&lt;/span&gt;&lt;br /&gt;Examples of the applications in use: FlickShout, LastFMShout, Checkers, DangFocus and more&lt;br /&gt;&lt;a href="http://www.vimeo.com/2615213"&gt;Watch @ Vimeo&lt;/a&gt; | &lt;a href="http://www.vimeo.com/download/video:86864541?e=1230128445&amp;amp;h=eec9db44e6bd81e8b5fbde1c8c248a0e&amp;amp;uh=9130be733238d18505511095ae4719d5"&gt;Direct Download&lt;/a&gt; | Length: ~7 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Developing Applications:&lt;/span&gt;&lt;br /&gt;Adam demonstrates developing a CloudShout application from scratch.&lt;br /&gt;&lt;a href="http://www.vimeo.com/2620221"&gt;Watch @ Vimeo&lt;/a&gt; | &lt;a href="http://www.vimeo.com/download/video:86874754?e=1230128401&amp;amp;h=4d0487f7ea97c55f738ed5826383c8e0&amp;amp;uh=9130be733238d18505511095ae4719d5"&gt;Direct Download&lt;/a&gt; | &lt;a href="http://groups.google.com/group/cloudshout-development"&gt;CloudShout Developers Google Group&lt;/a&gt; | Length: ~40 minutes&lt;br /&gt;&lt;br /&gt;If you find CloudShout to be a tool you would use and would like an Alpha Key to try it out, just leave a comment and I will see about getting you a key.&lt;br /&gt;&lt;br /&gt;Have a wonderful holiday!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-7000319382404039484?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/7000319382404039484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-demo-videos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/7000319382404039484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/7000319382404039484'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-demo-videos.html' title='CloudShout Demo Videos'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-260702664708092344</id><published>2008-12-22T12:29:00.000-05:00</published><updated>2008-12-22T12:30:07.829-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>CloudShout Alpha 2.2 Released</title><content type='html'>Here's what this update includes:&lt;br /&gt;&lt;br /&gt;CloudShout Customization:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You can now customize the color and skin of CloudShout on your blog to better integrate it with the look and feel of your site.&lt;/li&gt;&lt;/ul&gt;CloudShout Communication:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IZEA GroupChat has been removed as a stand-alone app and has been added as a core app of CloudShout. This means that you no longer have to install GroupChat. Everyone has it.&lt;/li&gt;&lt;li&gt;Added a button on the Hub that will launch the GroupChat application.&lt;/li&gt;&lt;li&gt;Joining a Friend - if you see someone online that is not at the current site you are on, then you can "join" them at the site they are at with one click.&lt;/li&gt;&lt;/ul&gt;Launch Buttons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Developers may wish to create buttons for their applications that site owners can place anywhere on their site if they choose to. This acts as a quick launch method to getting to those app (the ones you think your community will benefit from the most) instead of user having to locate them in the Activity Hub.&lt;/li&gt;&lt;/ul&gt;App Search:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Searching for apps is now a little more intelligent in finding the most relevant apps.&lt;/li&gt;&lt;/ul&gt;Other bug fixes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed issue with the blog list sometimes not showing up on a user profile.&lt;/li&gt;&lt;li&gt;Fixed issue with blog titles in the app store.&lt;/li&gt;&lt;li&gt;Fixed issue with signup emails&lt;/li&gt;&lt;li&gt;Fixed other display issues.&lt;/li&gt;&lt;li&gt;Fixed issue where clicking on anything in the App Store in IE caused the user to appear to leave the page to other users on that page.&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/810434774739004460-260702664708092344?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/260702664708092344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-alpha-22-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/260702664708092344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/260702664708092344'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-alpha-22-released.html' title='CloudShout Alpha 2.2 Released'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-1893031405229330584</id><published>2008-12-22T11:14:00.005-05:00</published><updated>2008-12-22T11:22:09.287-05:00</updated><title type='text'>Updated Tracker</title><content type='html'>I rolled out some updated tracker code last week to help speed up &lt;a href="http://izearanks.com"&gt;IZEARanks&lt;/a&gt; ITK. More information about those changes &lt;a href="http://blog.izea.com/2008/12/itk-updates.html"&gt;can be found here&lt;/a&gt;. But the Systems guys just sent me a screenshot that makes me all warm inside:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JejmleXUF88/SU-92M6w7JI/AAAAAAAAAEc/76nCqxPD724/s1600-h/Tracker+update+2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 139px;" src="http://2.bp.blogspot.com/_JejmleXUF88/SU-92M6w7JI/AAAAAAAAAEc/76nCqxPD724/s400/Tracker+update+2.jpg" alt="" id="BLOGGER_PHOTO_ID_5282649626807168146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To the left of the first blue vertical line is the amount of load on the DB with the old tracker. The spike inbetween the two blue lines is the load on the day of deployment. The spikes, if you can see them, to the left of the blue lines are the DB load with the new Tracker in place.&lt;br /&gt;&lt;br /&gt;So with new code, and the backend systems modified (thanks Trev and Mark), the new Tracker absolutely screams!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-1893031405229330584?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/1893031405229330584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/updated-tracker.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1893031405229330584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1893031405229330584'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/updated-tracker.html' title='Updated Tracker'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JejmleXUF88/SU-92M6w7JI/AAAAAAAAAEc/76nCqxPD724/s72-c/Tracker+update+2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-3721389436600924331</id><published>2008-12-16T02:03:00.004-05:00</published><updated>2008-12-16T02:08:28.061-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>CloudShout Alpha 2.1 Released</title><content type='html'>Today we release &lt;a href="http://cloudshout.com"&gt;CloudShout&lt;/a&gt; Alpha 2.1. Here's what it has in store for you.&lt;br /&gt;&lt;br /&gt;IM APP:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Clearly shows who you are chatting with&lt;/li&gt;&lt;li&gt; Better communication on what the person you are chatting with is doing, like: "Has gone offline", "Is Typing...", etc.&lt;/li&gt;&lt;li&gt; Lets you know when the other user actually is available in the chat app&lt;/li&gt;&lt;/ul&gt;Communication:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Better handling of Blocks when an app or user tries to connect to another user that has blocked them.&lt;/li&gt;&lt;li&gt; If you browser window/tab is out of focus and you receive invites, the title of the tab/window is prefixed with a number to indicate you have missed message (and how many you have missed)&lt;/li&gt;&lt;/ul&gt;Friends:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Delivering the friends data has been updated to better handle people that have large amounts of friends&lt;/li&gt;&lt;li&gt; Persists friend data so every page load does require it to be fetched again&lt;/li&gt;&lt;/ul&gt;Activity Hub:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The number representing the unknown visitors to your blog has been significantly improved to be more accurate.&lt;/li&gt;&lt;li&gt; Past visitors are now ordered by departure time&lt;/li&gt;&lt;/ul&gt;CloudShout.com Registration:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Better handling of form validation&lt;/li&gt;&lt;li&gt; Better communication to users on how to use their SocialSpark login to access CloudShout instead of having to create a new account.&lt;/li&gt;&lt;/ul&gt;CloudShout.com, Adding Blogs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Fixed issue with strange characters in the the blog descriptions&lt;/li&gt;&lt;/ul&gt;Safari&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Better support for the Safari browser&lt;/li&gt;&lt;/ul&gt;General Bug Fixes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sharing an app will now properly install it via the share message.&lt;/li&gt;&lt;li&gt; Better handling of Temp Account creation&lt;/li&gt;&lt;li&gt; Various visual issues fixed&lt;/li&gt;&lt;/ul&gt;Enjoy :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-3721389436600924331?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/3721389436600924331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-alpha-21-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/3721389436600924331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/3721389436600924331'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-alpha-21-released.html' title='CloudShout Alpha 2.1 Released'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-6686329975162046813</id><published>2008-12-13T00:39:00.005-05:00</published><updated>2008-12-14T18:55:31.399-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sponsorships'/><category scheme='http://www.blogger.com/atom/ns#' term='izea'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>When do we get longer days?</title><content type='html'>I sure need them. It's been a crazy week, and even though all my tasks were accomplished, it still felt a little off, like I should have accomplished more. So, how did I spend my week?&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Speeding up ITK. It's growing fast, and we need to optimize everything from the code to the hardware to keep up. And yes, unfortunately, there are a few bugs in it that need to be fixed. I made some good progress on this and hope to release some updates next week.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Custom Sponsorships. There's no denying it, &lt;a href="http://www.mediapost.com/publications/?fa=Articles.showArticleHomePage&amp;amp;art_aid=96540"&gt;the Kmart Campaign was awesome awesome awesome&lt;/a&gt;. And now we have a Sears one coming up. Issue is, the custom sponsorships were kind of jury rigged to work, and now we need a smarter, permanent solution.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;CloudShout. Next week we will be rolling out CloudShout Alpha 2.1 and, simply put, the new IM Application alone is worth the release. It's SO much easier now to know what's going on with the person on the other end... you're not left in a limbo wondering if they are still there. &lt;a href="http://www.adamfortuna.com/"&gt;Adam&lt;/a&gt; did a great job on perfecting that app. On top of that, we have lots more goodies, in which we'll announce next week.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;CloudShout Apps. I have the LinkShout application ready for QA, so hopefully that will be out next week. I'm also hard at work on an application that I've code named KFC - and no, it has nothing to do with chicken.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So, who is it I need to see about adding more hours to the day?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-6686329975162046813?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/6686329975162046813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/when-do-we-get-longer-days-i-sure-need.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6686329975162046813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6686329975162046813'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/when-do-we-get-longer-days-i-sure-need.html' title='When do we get longer days?'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-79788556288611931</id><published>2008-12-02T19:48:00.006-05:00</published><updated>2008-12-09T07:42:34.797-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>CloudShout Alpha 2 Released</title><content type='html'>I was hesitant to post this when we first released because we sent out a ton of invite codes and I wanted to make sure the system held up under the new load. Apparently, the servers survived the update (yay!) and now I'm glad to announce that we rolled out CloudShout Alpha 2.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is CloudShout&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cloudshout.com/"&gt;CloudShout&lt;/a&gt; is a revolutionary add-on to your blog that builds a social network around you and your content. Making friends and communicating in real time with your readers is now built right into your blog! On top of that, CloudShout's functionality can be expanded... People can develop applications using the CloudShout framework, that with one click you can install on your blog. These applications can range from communication tools to games. For instance, the FlickrShout application will show a collage of photos from all current visitors to your site. You can also install applications to your user account. This is cool because you now carry around these applications to other CloudShout powered sites. Say a site doesn't have the chat application installed, but you and other visitors do. Well then you can still chat with those people right on the blog that doesn't support it. Very, very cool!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What's in this release?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There has been a ton of work to make CloudShout faster, smarter, easier to use, and more stable. Some of the new features that stand out are:&lt;br /&gt;&lt;br /&gt;General:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Added online indicator icon to user's avatars. Now you can see if people are online or not. Remember, even if they are at a different site than you, you can still use CloudShout to interact with them!&lt;/li&gt;&lt;li&gt;You need an alpha key to get into the system (during the alpha test), so now all users have their own set up 5 alpha codes they can share with friends. &lt;/li&gt;&lt;li&gt;Added ability to import your blogs from SocialSpark into CloudShout so you do not have to enter them again.&lt;/li&gt;&lt;li&gt;Made the registration process from a blog even simpler.&lt;/li&gt;&lt;/ul&gt;Activity Hub Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tightened up the look and feel of the Activity Hub&lt;/li&gt;&lt;li&gt;Made it easier to initiate communication with other users from the Hub&lt;/li&gt;&lt;li&gt;Users can now logout of CloudShout (at blogs)&lt;/li&gt;&lt;/ul&gt;Communications:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Users can now block other users or applications&lt;/li&gt;&lt;li&gt;You do not have to be friends with someone in order to IM or message them.&lt;/li&gt;&lt;/ul&gt;User Profiles:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Revamped the user profile to show more information about a user, such as:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The users blogs&lt;/li&gt;&lt;li&gt;The users friends&lt;/li&gt;&lt;li&gt;The users Tweets (if they've provided their Twitter username)&lt;/li&gt;&lt;li&gt;The users Flickr photos (if they've provided their Flickr username)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;Blog Chat Application (GroupChat):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You can now get a transcript of the chat as far back as when you joined the blog's chat room.&lt;/li&gt;&lt;/ul&gt;App Store:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The App Store/App Manager application has been reworked to make finding and managing apps easier.&lt;/li&gt;&lt;li&gt;Provides more information about applications such as: Descriptions, Ratings, Comments, etc.&lt;/li&gt;&lt;/ul&gt;Developing Apps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We now provide a better online editor for editing CloudShout Applications.&lt;/li&gt;&lt;li&gt;New App review system. When an Application is published, it will go into a review process before being available to CloudShout users.&lt;/li&gt;&lt;li&gt;Added a CSS Reset to application containers to resolve the issue of a blogs CSS creeping into your application.&lt;/li&gt;&lt;li&gt;Added the&lt;a href="http://jquery.com/"&gt; jQuery Javascript library&lt;/a&gt;, so developing applications is even easier.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Need Help?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can find &lt;a href="http://boards.izea.com/viewforum.php?f=63&amp;amp;sid=978e5b78a6e0313d3761ef83b65eed4a"&gt;general CloudShout help in our forums&lt;/a&gt;. This forum is intended for people to get help on such things as installing CloudShout, or help using various CloudShout applications. If you are developing applications and need help, I suggest visiting our &lt;a href="http://groups.google.com/group/cloudshout-development"&gt;Google Group on developing CloudShout apps&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Thanks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And finally, I want to thanks all our Alpha 1 users for all the great feedback they have provided.&lt;br /&gt;&lt;br /&gt;&lt;span id='871841341'&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-79788556288611931?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/79788556288611931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-alpha-2-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/79788556288611931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/79788556288611931'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/cloudshout-alpha-2-released.html' title='CloudShout Alpha 2 Released'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-5291181627984842338</id><published>2008-12-01T08:54:00.004-05:00</published><updated>2008-12-02T21:23:19.092-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='annafarmery'/><category scheme='http://www.blogger.com/atom/ns#' term='interview'/><category scheme='http://www.blogger.com/atom/ns#' term='tedmurphy'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>Ted Talks About CloudShout</title><content type='html'>Here's an interview Ted did with Anna Farmery. It's in &lt;a href="http://theengagingbrand.typepad.com/the_engaging_brand_/2008/11/show-205-of-the.html"&gt;episode 205 of her podcast, "The Engaging Brand"&lt;/a&gt;. Around the 16:45 mark they begin to talk about CloudShout.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-5291181627984842338?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/5291181627984842338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/heres-interview-ted-did-with-anna.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/5291181627984842338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/5291181627984842338'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/12/heres-interview-ted-did-with-anna.html' title='Ted Talks About CloudShout'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-5885164304188059313</id><published>2008-10-14T18:35:00.013-04:00</published><updated>2008-10-15T15:55:54.722-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='apps'/><category scheme='http://www.blogger.com/atom/ns#' term='applications'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>Using CloudShout to build a SocialBrowse-like Service (Part 3)</title><content type='html'>Welcome back for part 3 of a series of posts on how to build a SocialBrowse like service with CloudShout. You can find previous posts in this series here (&lt;a href="http://dang-at-izea.blogspot.com/2008/09/using-cloudshout-to-build-socialbrowse.html"&gt;Part 1&lt;/a&gt;) and here (&lt;a href="http://dang-at-izea.blogspot.com/2008/09/using-cloudshout-to-build-socialbrowse_30.html"&gt;Part 2&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;When we last left off we had accomplished the following tasks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Set up our test environment&lt;/li&gt;&lt;li&gt; Created a new app at CloudShout&lt;/li&gt;&lt;li&gt; Set up the basis of our JS code&lt;/li&gt;&lt;li&gt; Coded the methods to attach small icons by all text links on page&lt;/li&gt;&lt;li&gt;Coded the methods to open the link sharing dialog&lt;/li&gt;&lt;/ul&gt;And we last left off with 2 hours and 15 minutes invested into the project.&lt;br /&gt;&lt;br /&gt;My goals for this post have changed a bit since the end of part 2. The goals I set out when i began coding for this session where:&lt;ul&gt;&lt;li&gt; Create sidebar widget&lt;/li&gt;&lt;li&gt; Have links share to all my friends&lt;/li&gt;&lt;li&gt; Build a commenting system&lt;/li&gt;&lt;li&gt; Icons by the links in pages should changed based on who shared them&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Create the Sidebar Widget&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the previous post, we attached icons to all links on the page. Clicking these icons would open a dialog window that allowed the user to title the link and give it a description. Submitting this form would simply alert the data, so now we need to actually send it to our friends, and have a way for it to display to them.&lt;br /&gt;&lt;br /&gt;We want our sidebar widget to draw as soon as possible. This is very different from the share pop-up dialog, which appears when you click on the share icon. Thus, we want to create the widget when our application is initialized. Our init function is where such instructions should go, and the call to create a sidebar widget is quiet simple:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.init = function(){&lt;br /&gt;        this.create_sidebar()&lt;br /&gt;        this.convert_all_links()&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;That we added here  is a call to create the visuals of the sidebar widget, defined in "create_sidebar":&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.create_sidebar = function(){&lt;br /&gt;        itkp.new_widget(this.info.id, "LinkShout", 200, 300)&lt;br /&gt;        itku.create(this.elms.links)&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The first thing we do here is call the ITK palette object to create a new widget, passing it an id, text for the title bar, and a width/height. Secondly, we need to create the div that all records will draw in. itku.create is a function we ran into in Part 2. However, in part 2 we passed our JSON in as the parameter. We are doing that here too, but for cleanliness, we stored the JSON data in the this.elms object and reference it here through this.elms.links&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.elms = {&lt;br /&gt;        links: {&lt;br /&gt;            elm:        "div",&lt;br /&gt;            parent_elm: this.info.id + "_content",&lt;br /&gt;            content:    { type: "html", value: "" },&lt;br /&gt;            atts:       { id: this.info.id + "_links", className: "itkp_rc" },&lt;br /&gt;            styles:     { position: "absolute", overflow: "hidden", top: "5px", left: "5px", width: "156px", height: "205px", backgroundColor: "#fff", fontSize: "10px", fontFamily: "verdana", color: "#666" }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;this.elms is my JSON DOM elements repository that I'll keep my element information stored in. Notice the atts property of "links". It has an id attribute, which is set to this.info.id + "_links", and will serve as our way of calling this div in the future to insert shared links into it. You should append all your ID's with the id of your app so that it will not conflict with other apps or existing page elements.&lt;br /&gt;&lt;br /&gt;Let's see if our sidebar widget worked:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JejmleXUF88/SPUfbBBiguI/AAAAAAAAADY/PTnc6WBZ9pQ/s1600-h/01.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_JejmleXUF88/SPUfbBBiguI/AAAAAAAAADY/PTnc6WBZ9pQ/s400/01.png" alt="" id="BLOGGER_PHOTO_ID_5257142689016742626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Sharing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, our old share_link function simple grabbed our input from the share form and alerted it. Let's see what's changed:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.share_link = function(){&lt;br /&gt;        var say    = escape(itku.id(this.info.id + "_" + this.link_id + "_say_input").value)&lt;br /&gt;        var title  = escape(itku.id(this.info.id + "_" + this.link_id + "_title_input").value)&lt;br /&gt;        var id     = this.permalink(this.link_url)&lt;br /&gt;        var link   = itk3.user.id + "***" + this.link_url + "***" + title + "***" + say + "***" + id&lt;br /&gt;        var msg    = this.info.id + ".incoming_link^^^" + link&lt;br /&gt;        this.close(this.info.id + "_" + this.link_id)&lt;br /&gt;        this.incoming_link(link)&lt;br /&gt;        for(var i in itk3.user.friends){&lt;br /&gt;            itkc.message("app", "visitor_"+i+"_apps", "visitor_"+i+"_apps", "user_message", msg)&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After we set some variables, which all should be self explanatory (remember: itku.id() is just a short cut for document.getElementById()). The first line we come to after all that is this.close(). This calls our close function where we can do any cleanup we need to do, then close the share link pop-up dialog. Then we have incoming_link(). This is what will populate the newly shared link in OUR sidebar. We'll look at that function later. But note, I'm only putting it in there for myself, the following for loop is where we send it to our friends. Since I'm not my own friend (sad, i know), I'll never get the message of a new link. Thus, that is why we call that function directly.&lt;br /&gt;&lt;br /&gt;Now, the for loop will loop through each of our friends, firing a message to them. Look back up where the msg variable is being set. If you look before the "^^^", you'll notice that it's building a callback to this.incoming_link, where "this" is actually the app name because the framework will recieve the incoming message and will need to know where to direct it.&lt;br /&gt;&lt;br /&gt;itkc.message is a way to communicate with CloudShout. We can see from the parameters that we are sending an "application" message, to be handled with the "visitor_YOURID_apps" application, child instance "visitor_YOURID_apps" (these are the same because the app we are sending to only has one instance, some apps have more than one). Within that app and instance, we are pointing to the "user_message" function, and it's parameter will be "msg".&lt;br /&gt;&lt;br /&gt;Don't worry, this is all &lt;a href="http://cloudshout.com/documentation"&gt;documented here&lt;/a&gt;. :)&lt;br /&gt;&lt;br /&gt;So, when this fires off, all of my friends that are currently connected, will get a message to their "visitor" app, specifically to the user_message function. This function will parse in the data and create a call out to their LinkShout app. In turn, on their end, they will see the link appear in the sidebar area as I did. Pretty cool, huh?&lt;br /&gt;&lt;br /&gt;Let's see it in action:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JejmleXUF88/SPUgLZhfVYI/AAAAAAAAADg/DXRvYZ8YhfY/s1600-h/02.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JejmleXUF88/SPUgLZhfVYI/AAAAAAAAADg/DXRvYZ8YhfY/s400/02.png" alt="" id="BLOGGER_PHOTO_ID_5257143520226923906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SPUgLtDzuRI/AAAAAAAAADo/SublakISb7g/s1600-h/03.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JejmleXUF88/SPUgLtDzuRI/AAAAAAAAADo/SublakISb7g/s400/03.png" alt="" id="BLOGGER_PHOTO_ID_5257143525471140114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The user "dang" shared a link. Upon clicking the share button, the dialog closed, and the links where sent out to all friends. The received links then show up in the sidebar widget.&lt;br /&gt;&lt;br /&gt;Also, the icons by the links changed. It changed on three links because they all link to the same place. On "dang's" side, the icon turned into an asterix, to denote that "I" shared the link. On "dascgo's" side, the icon changed to a red circle with an exclamation point, indicating that a friend of mine shared a link that I can currently see. And yeah, I know, they make no sense visually, but I'm not in design mode right now... the png's can be swapped out later.&lt;br /&gt;&lt;br /&gt;Let's talk about how we got the link to appear in the sidebar and how we changed the icons.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Handling a Shared Link&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We know that the function that handles this is called "incoming_link". Here's what id does:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.incoming_link = function(msg){&lt;br /&gt;        var msg             = msg.split("***")&lt;br /&gt;        var friend          = (msg[0] != itk3.user.id) ? msg[0] : itk3.user.id&lt;br /&gt;        var url             = unescape(msg[1])&lt;br /&gt;        var title           = unescape(msg[2])&lt;br /&gt;        var comment         = unescape(msg[3])&lt;br /&gt;        var id              = msg[4]&lt;br /&gt;        var comment_count   = 0&lt;br /&gt;        var links_count     = 1&lt;br /&gt;        var shared_at       = dateFormat(Date(), "m/d/yy@h:MMtt")&lt;br /&gt;        if(itku.id(this.info.id + "_link_count_for_" + id)){&lt;br /&gt;            this.increment_links(id)&lt;br /&gt;        }else{&lt;br /&gt;            this.create_link_record(friend, id, url, title, comment, comment_count, links_count, shared_at)&lt;br /&gt;        }&lt;br /&gt;        var who = (friend == itk3.user.id) ? "me" : "you"&lt;br /&gt;        this.change_link_to(who, url)&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The first this is we take the string parameter and split it up. Right now, CloudShout messages are all strings. You will need to set a delimiter in your strings that you can parse on. In the future, we will move further towards using JSON to pass around messages.&lt;br /&gt;&lt;br /&gt;This string is split and we assign our variables, then we hit an if statement. What we are looking for is if that link is already shared in the sidebar. If so, we don't want to list it again. Instead, there is a number by the link ( "[1]" in the images above) that should increment. Otherwise, we need to create the record in that div with create_link_record().&lt;br /&gt;&lt;br /&gt;Finally, after we do that, we change the icons by the links with "change_link_to()" and pass it "me" or "you" depending on if I shared it or one of my friends did.&lt;br /&gt;&lt;br /&gt;I'll show you the "create_link_record", but I don't think it warrants discussion. It simply builds a string of HTML that we will use innerHTML to set. Following, we will look at the "change_link_to()" function:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.create_link_record = function(friend, id, url, title, comment, comment_count, links_count, shared_at){&lt;br /&gt;        var div = itku.id(this.info.id + "_links")&lt;br /&gt;        var a = ""&lt;br /&gt;            a += "&amp;lt;table cellpadding='4' cellspacing='0' border='0' width='100%' onmouseover='this.style.backgroundColor=\"#e9f6fb\"'  onmouseout='this.style.backgroundColor=\"#fff\"'&amp;gt;"&lt;br /&gt;            a += "  &amp;lt;tr&amp;gt;"&lt;br /&gt;            a += "    &amp;lt;td width='24' valign='top'&amp;gt;&amp;lt;img src='" + this.user_icon(friend) + "' width='24' height='24'&amp;gt;&amp;lt;/td&amp;gt;"&lt;br /&gt;            a += "    &amp;lt;td style='font-family:verdana;font-size:10px;color:#666'&amp;gt;"&lt;br /&gt;            a += "      [&amp;lt;span id='" + this.info.id + "_link_count_for_" + id + "'&amp;gt;" + links_count + "&amp;lt;/span&amp;gt;] "&lt;br /&gt;            a += "      &amp;lt;a name='" + this.info.id + "_link' href='" + url + "'&amp;gt;" + title + "&amp;lt;/a&amp;gt;&amp;lt;br/&amp;gt;"&lt;br /&gt;            a += "      &amp;lt;span style='color:#666;font-size:9px;'&amp;gt;" + shared_at + "&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;"&lt;br /&gt;            a += "      " + comment + "&amp;lt;br/&amp;gt;"&lt;br /&gt;            a += "      &amp;lt;span onclick='" + this.info.id + ".show_comments(\""+this.user_icon(friend)+"\", \""+id+"\", \""+url+"\", \""+title+"\", \""+comment+"\", \""+shared_at+"\")' style='color:blue;text-decoration:underline;cursor:pointer'&amp;gt;Comments&amp;lt;/span&amp;gt; "&lt;br /&gt;            a += "      (&amp;lt;span id='" + this.info.id + "_comment_count_for_" + id + "'&amp;gt;" + comment_count + "&amp;lt;/span&amp;gt;) "&lt;br /&gt;            a += "    &amp;lt;/td&amp;gt;"&lt;br /&gt;            a += "  &amp;lt;/tr&amp;gt;"&lt;br /&gt;            a += "&amp;lt;/table&amp;gt;"&lt;br /&gt;            a += "&amp;lt;div style='border-bottom:1px solid #ccc;'&amp;gt;&amp;lt;/div&amp;gt;"&lt;br /&gt;        div.innerHTML = a + div.innerHTML&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Changing the Icons by Links&lt;/span&gt;&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.change_link_to = function(which, url){&lt;br /&gt;        var links = document.getElementsByTagName("a")&lt;br /&gt;        var link_count = -1&lt;br /&gt;        for(var i = 0; i &amp;lt; links.length; i++){&lt;br /&gt;            var link = links[i]&lt;br /&gt;            var name = link.getAttribute("name")&lt;br /&gt;            var href = link.getAttribute("href")&lt;br /&gt;            if(!name || name != (this.info.id + "_link")){&lt;br /&gt;                link_count++&lt;br /&gt;                if( url == href ) itku.id(this.info.id + "_link_" + link_count).src = this.img(which)&lt;br /&gt;            }            &lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The above function will change the share icons by all matching links. Simply put, we cycle through all the links on the page. If we find a link that matches the url shared, we change the icon. I had a serious WTF issue here... it would always change 1 more link than it should when shared. Meaning if there was one link on the page, it's icon would change, and so would the first link immediately following the sidebar widget in the DOM. I was just about to call it quits for the night when I realized it was now seeing the url IN the sidebar widget and trying to change the icon to it, which due to the array, was the icon by the link immediately following the sidebar. Ugh. That one took awhile and a LOT of console.logs to spot. Discovering that, I decided to add a name attribute to all anchor tags the sidebar creates so we can ignore those.&lt;br /&gt;&lt;br /&gt;Also, in this function is a call to an image helper function img(). LinkShout currently only needs three images: The share icon, the shared by you icon, and the shared by me icon. So this is a helper function to swap between the three states.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comments&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All link records will have a comment link with a numeric indicator of the number of current comments. This link should open the Comments dialog for that link. Basically... a chat focused on the shared link.&lt;br /&gt;&lt;br /&gt;When you click that link, this function is fired:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.show_comments = function(icon, id, url, title, comment, shared_at){&lt;br /&gt;        itkp.new_float(this.info.id, this.info.id + "_" + id + "_comments", "LinkShout Comments", 350, 400, itkp.center_vertically(400), itkp.center_horizontally(350))&lt;br /&gt;        itku.create(this.elms.comments_header)&lt;br /&gt;        itku.create(this.elms.comments_holder)&lt;br /&gt;        itku.create(this.elms.comments_input)&lt;br /&gt;        itku.create(this.elms.comments_button)&lt;br /&gt;        itku.id(this.info.id + "_" + id + "_comments_header").innerHTML = this.create_comment_header(icon, url, title, comment, shared_at)&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We create a new floating dialog window, create it's various divs for layout, and set the content of the header div. "create_comment_header()" is a HTML builder function:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.create_comment_header = function(icon, url, title, comment, shared_at){&lt;br /&gt;        var a = ""&lt;br /&gt;            a += "&amp;lt;table&amp;gt;"&lt;br /&gt;            a += "  &amp;lt;tr&amp;gt;"&lt;br /&gt;            a += "    &amp;lt;td valign='top'&amp;gt;&amp;lt;img src='" + icon + "' width='50' height='50'&amp;gt;&amp;lt;/td&amp;gt;"&lt;br /&gt;            a += "    &amp;lt;td valign='top' style='font-size:11px;'&amp;gt;"&lt;br /&gt;            a += "      &amp;lt;span style='font-size:9px;'&amp;gt;" + shared_at + "&amp;lt;/span&amp;gt;&amp;lt;/br&amp;gt;"&lt;br /&gt;            a += "      &amp;lt;a name='" + this.info.id + "_link' href='" + url + "'&amp;gt;&amp;lt;b&amp;gt;" + title + "&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/br&amp;gt;"&lt;br /&gt;            a += "    &amp;lt;/td&amp;gt;"&lt;br /&gt;            a += "  &amp;lt;/tr&amp;gt;"&lt;br /&gt;            a += "&amp;lt;/table&amp;gt;"&lt;br /&gt;        return a&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So now we have a comment interface:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SPUhGzEMy8I/AAAAAAAAADw/1X7UZZYZFWw/s1600-h/04.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JejmleXUF88/SPUhGzEMy8I/AAAAAAAAADw/1X7UZZYZFWw/s400/04.png" alt="" id="BLOGGER_PHOTO_ID_5257144540695677890" border="0" /&gt;&lt;/a&gt;But, how does it work? Very, very similar to the way sharing a link works, actually! If I click on the "say" button, the following function is called:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.send_comment = function(id){&lt;br /&gt;        var input   = itku.id(this.info.id + "_" + id + "_comment_input")&lt;br /&gt;        var comment = itk3.user.id + "***" + id + "***" + escape(input.value) + "***" + dateFormat(new Date(), "m/d/yy@h:MMtt")&lt;br /&gt;        var msg     = this.info.id + ".incoming_comment^^^" + comment&lt;br /&gt;        input.value = ""&lt;br /&gt;        this.incoming_comment(comment)&lt;br /&gt;        for(var i in itk3.user.friends){&lt;br /&gt;            itkc.message("app", "visitor_"+String(i)+"_apps", "visitor_"+String(i)+"_apps", "user_message", msg)&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We set our values, clear out the input area, display it to ourselves, and then loop through our friends and send it out to them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Handling Incoming Comments&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The handler function for this call is:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.incoming_comment = function(msg){&lt;br /&gt;        msg = msg.split("***")&lt;br /&gt;        var friend = (msg[0] != itk3.user.id) ? msg[0] : itk3.user.id&lt;br /&gt;        var id = msg[1]&lt;br /&gt;        var comment = msg[2]&lt;br /&gt;        var when = msg[3]&lt;br /&gt;        $("#" + this.info.id + "_" + id + "_comments_for").append(this.format_comment(friend, comment, when))&lt;br /&gt;        this.increment_comments(id)&lt;br /&gt;        this.scroll_comment_area()&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;We split our message string and set some variables. Then we append the HTML content generated in the next function, "format_comment()", into our main comments div. Finally, we want to call two helper functions to increment the number of comments in the sidebar widget, and, if the comments dialog for that link is open, scroll the div to the newest comment. The HTML builder function is as follows:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.format_comment = function(friend, comment, when){&lt;br /&gt;        var a = ""&lt;br /&gt;            a += "&amp;lt;table cellpadding='4' cellspacing='0' width='100%' style='font-family:verdana;font-size:10px;color:#666'&amp;gt;"&lt;br /&gt;            a += "  &amp;lt;tr&amp;gt;"&lt;br /&gt;            a += "    &amp;lt;td style='padding: 7px 4px 7px 4px; border-bottom:1px solid #ccc' width='24' align='right' valign='top'&amp;gt;&amp;lt;img src='" + this.user_icon(friend) + "' width='30' height='30'&amp;gt;&amp;lt;/td&amp;gt;"&lt;br /&gt;            a += "    &amp;lt;td style='padding: 7px 4px 7px 4px; border-bottom:1px solid #ccc;font-size:12px;'&amp;gt;&amp;lt;span style='color:#999;font-size:10px;'&amp;gt;" + unescape(when) + "&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;" + unescape(comment) + "&amp;lt;/td&amp;gt;"&lt;br /&gt;            a += "  &amp;lt;/tr&amp;gt;"&lt;br /&gt;            a += "&amp;lt;/table&amp;gt;"&lt;br /&gt;        return a&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Let's see if that worked:&lt;br /&gt;&lt;br /&gt;&lt;table onmouseover="'this.style.backgroundColor=" onmouseout="'this.style.backgroundColor=" border="0" cellpadding="4" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table onmouseover="'this.style.backgroundColor=" onmouseout="'this.style.backgroundColor=" border="0" cellpadding="4" cellspacing="0" width="100%"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JejmleXUF88/SPUiBVo7CaI/AAAAAAAAAD4/wCPJUoKErI0/s1600-h/06.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JejmleXUF88/SPUiBVo7CaI/AAAAAAAAAD4/wCPJUoKErI0/s400/06.png" alt="" id="BLOGGER_PHOTO_ID_5257145546408921506" border="0" /&gt;&lt;/a&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Helpers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've created a bunch of little helper functions for this app. Let's briefly look over them here:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.permalink = function(url){&lt;br /&gt;        return url.replace(/[^a-zA-Z 0-9]+/g,'_')&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    this.img = function(which){&lt;br /&gt;        return this.gfx + which + "_share_icon.png"&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    this.user_icon = function(friend){&lt;br /&gt;        icon = (friend != itk3.user.id) ? itk3.user.friends[friend].icon : itk3.user.icon&lt;br /&gt;        return itku.icon(icon)&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    this.increment_links = function(id){&lt;br /&gt;        var count = parseInt(itku.id(this.info.id + "_link_count_for_" + id).innerHTML)&lt;br /&gt;        count++&lt;br /&gt;        itku.id(this.info.id + "_link_count_for_" + id).innerHTML = count&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    this.increment_comments = function(id){&lt;br /&gt;        var count = parseInt(itku.id(this.info.id + "_comment_count_for_" + id).innerHTML)&lt;br /&gt;        count++&lt;br /&gt;        itku.id(this.info.id + "_comment_count_for_" + id).innerHTML = count&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    this.scroll_comment_area = function(){&lt;br /&gt;        div = itku.id(this.info.id + "_" + id + "_comments_for")&lt;br /&gt;        div.scrollTop = div.scrollHeight&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I also created a this.gfx variable for my app which points to the path for my images:&lt;br /&gt;&lt;pre style='font-size:11px'&gt;&lt;br /&gt;    this.gfx = "http://localhost/linkshout/" //itk3.paths.apps + "gfx/apps/izea/linkshout/"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It's local for now, but will swap it out when I publish my app.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Wrap Up for Part 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's hard to see how cool this is from just screenshots. At the end of this project, I'll screencast a demo for everyone.&lt;br /&gt;&lt;br /&gt;So, let's see where we are so far. We now have the ability to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Share a link with friends&lt;/li&gt;&lt;li&gt; Display these links to our friends&lt;/li&gt;&lt;li&gt; Chat about the links in real time&lt;/li&gt;&lt;li&gt; Have visual que's as to who's shared a link (the icons by the links)&lt;/li&gt;&lt;/ul&gt;Not bad, and development time for the above is 4 hours. I'd say a good solid hour of that was me pulling out my hair with that "change_link_to()" function, but that's how it goes sometimes.&lt;br /&gt;&lt;br /&gt;Here's our hours so far:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-family:courier new;"&gt;00.75 hrs - Project planning&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: courier new;"&gt; 00.25 hrs - Test environment setup&lt;/li&gt;&lt;li style="font-family: courier new;"&gt; 01:25 hrs - Day one programming&lt;/li&gt;&lt;li style="font-family: courier new;"&gt; 04:00 hrs - Day two programming&lt;/li&gt;&lt;li style="font-family: courier new;"&gt; -------------------------------&lt;/li&gt;&lt;li style="font-family: courier new;"&gt; 06:25 hrs - Total time&lt;/li&gt;&lt;/ul&gt;So what do I hope to accomplish next? I'm not sure, it depends on what solutions come to me while I'm not working on this. But here are some of the remaining issues that need to be addressed:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; on the initial share description, add a counter to the number of characters left that the user can input, and limit them to 140 characters&lt;/li&gt;&lt;li&gt; same on the comments&lt;/li&gt;&lt;li&gt; share link branding&lt;/li&gt;&lt;li&gt; when two or more people share the same link, but with different titles, we need to handle that in the sidebar. have a count that shows how many people shared the same link and that will link to a screen that shows all the titles and descriptions for that link.&lt;/li&gt;&lt;li&gt; save data to a database&lt;/li&gt;&lt;li&gt; initial pull in of data form database&lt;/li&gt;&lt;li&gt; scrolling on the link sharing sidebar widget&lt;/li&gt;&lt;/ul&gt;Not too much more work. Saving the data is probably the biggest issue in there.&lt;br /&gt;&lt;br /&gt;I hope to see you next post!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-5885164304188059313?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/5885164304188059313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/10/welcome-back-for-part-3-of-series-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/5885164304188059313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/5885164304188059313'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/10/welcome-back-for-part-3-of-series-of.html' title='Using CloudShout to build a SocialBrowse-like Service (Part 3)'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JejmleXUF88/SPUfbBBiguI/AAAAAAAAADY/PTnc6WBZ9pQ/s72-c/01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-1183724106353988409</id><published>2008-10-09T15:49:00.003-04:00</published><updated>2008-10-15T15:56:23.530-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>Cool tweet about CloudShout</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SO5hAPqw8YI/AAAAAAAAADQ/Hp5k-SaLnTs/s1600-h/Picture+6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JejmleXUF88/SO5hAPqw8YI/AAAAAAAAADQ/Hp5k-SaLnTs/s400/Picture+6.png" alt="" id="BLOGGER_PHOTO_ID_5255244472021741954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Just saw this &lt;a href="http://twitter.com/Britopian/statuses/952052713"&gt;tweet&lt;/a&gt; from &lt;a href="http://www.britopian.com/"&gt;Michael Brito&lt;/a&gt; about &lt;a href="http://cloudshout.com/"&gt;CloudShout&lt;/a&gt;. Makes me feel good! :)&lt;br /&gt;&lt;br /&gt;CloudShout does add social functionality to any site it's installed on, but not only that... It provides gui, communication, and other tools to allow developers to create applications (widgets) that expand your site either with new functionality, or extended functionality from other web apps such as Flickr, YouTube, Digg, or anything with an API really.&lt;br /&gt;&lt;br /&gt;It's going to be awesome to see what people do with CloudShout once it's released!&lt;br /&gt;&lt;br /&gt;By the way. &lt;a href="http://tedmurphy.org/"&gt;Ted&lt;/a&gt; and I are going to give a demo of the latest version of CloudShout at &lt;a href="http://barcamptampabay.com/"&gt;BarCamp Tampa&lt;/a&gt; this Saturday (Oct. 11). Hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-1183724106353988409?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/1183724106353988409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/10/cool-tweet-about-cloudshout.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1183724106353988409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/1183724106353988409'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/10/cool-tweet-about-cloudshout.html' title='Cool tweet about CloudShout'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JejmleXUF88/SO5hAPqw8YI/AAAAAAAAADQ/Hp5k-SaLnTs/s72-c/Picture+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-6216946200787228813</id><published>2008-09-30T09:04:00.009-04:00</published><updated>2008-09-30T17:39:00.406-04:00</updated><title type='text'>Using CloudShout to build a SocialBrowse-like Service - Initial Setup (Part 2)</title><content type='html'>This is the second post in the series that demonstrates using &lt;a href="http://cloudshout.com/"&gt;CloudShout&lt;/a&gt; to develop an application that has some of the functionality of &lt;a href="http://socialbrowse.com/"&gt;SocialBrowse&lt;/a&gt;. I've decided to call this project LinkShout, to mirror our other CloudShout apps &lt;a href="http://cloudshout.com/application/3"&gt;TweetShout&lt;/a&gt; and &lt;a href="http://cloudshout.com/application/6"&gt;FlickShout&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The first thing I did was some initial planning via paper and pencil. Sorted out details for database schemas and how the product should look. Around 45 minutes worth of time. Everything is simple, so no hard work there. Plus, SocialBrowse already laid out the functionality of the app, and thus biscuits from a can are a lot easier to make than from scratch, if you know what I mean. :)&lt;br /&gt;&lt;br /&gt;So once that was done, I decided I'd try to accomplish the following two tasks:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;all links on a page are appended with the "linkshout" share button&lt;/li&gt;&lt;li&gt;clicking that will open the share dialog&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Set up a Test Environment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first thing I need to do is set up a test blog. Here's a simple page I threw up on my localhost. Nothing fancy, the image link is even broken. D'oh.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SOJQFogeMhI/AAAAAAAAACg/Iajw5Jxr0qI/s1600-h/01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_JejmleXUF88/SOJQFogeMhI/AAAAAAAAACg/Iajw5Jxr0qI/s400/01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251848173170602514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, I just add my app testing link to the page:&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;&amp;lt;script src="http://cloudshout.com/test/200/300/list/unknown/none/none"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And now we have a test environment:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SOJQOE2wuxI/AAAAAAAAACo/TmGfoSSy8eY/s1600-h/02.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_JejmleXUF88/SOJQOE2wuxI/AAAAAAAAACo/TmGfoSSy8eY/s400/02.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251848318219238162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Create a new app at CloudShout&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, back to our app. We need to do our initial setup at CloudShout. CloudShout stores all app information in it's databases, only creating JS files at publish time. This is why we need to set up the test environment, it knows how to convert the apps from database text to JS objects. But an important step in that is our initial parameters for the application, which you specify when you first set up the application. Here are my initial params for LinkShout.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SOJQUSeXDdI/AAAAAAAAACw/NMNsDmCwAQY/s1600-h/03.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_JejmleXUF88/SOJQUSeXDdI/AAAAAAAAACw/NMNsDmCwAQY/s400/03.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251848424954203602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are some not so obvious options above, the &lt;a href="http://cloudshout.com/documentation"&gt;CloudShout Documentation&lt;/a&gt; should clear those up for you, for now I only want to point out "When to run".&lt;br /&gt;&lt;br /&gt;"When to run" is exactly that... when your app should activate. Your options are "Immediately", "After Load" and "When Called". Immediately will fire the app off as soon as the DOM is ready. After Load will wait for all external elements to load. When Called fires off the app when it is clicked on in the Hub.&lt;br /&gt;&lt;br /&gt;Immediately is my selection, as I want to add "share" buttons to all links ASAP.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Programming the Application - Initial Setup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now I use the ITK TextMate bundle to checkout and work on the app in a real editor (you can edit the app online if you'd like). The first thing we take care of is some initial details for our app. Here I initialize 3 variables that will hold information about the link. Then we call a function "convert_all_links" when our app is fired (defined in the "When to run" setting). Finally, we make sure the popup window is closable.&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;// VARS&lt;br /&gt;this.link_url, this.link_title, this.link_id = ""&lt;br /&gt;&lt;br /&gt;// BASIC FUNCTIONS&lt;br /&gt;this.init = function(){&lt;br /&gt;   this.convert_all_links()&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;this.close = function(window_id){&lt;br /&gt;   itkp.close_float(window_id)&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Programming the Application - What does it do initially?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now let's define our "convert_all_links" function. Basically, it should:&lt;br /&gt;&lt;ul style="margin: 0pt 0pt -15px;"&gt;&lt;br /&gt;  &lt;li&gt;Find all links in the DOM&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;If it's a text link (I don't want to add the share icon by images)&lt;br /&gt;  &lt;ul style="margin: 0pt 0pt -15px;"&gt;&lt;br /&gt;    &lt;li&gt;Add a share icon after the link that knows:&lt;br /&gt;    &lt;ul style="margin: 0pt 0pt -15px;"&gt;&lt;br /&gt;      &lt;li&gt;The url&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;The title of the anchor tag if it has one, otherwise the inner HTML of the anchor tag&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;And when clicked, opens the share window&lt;/li&gt;&lt;br /&gt;    &lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;  &lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;So here it is coded:&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;// INITIALIZATION FUNCTIONS&lt;br /&gt;this.convert_all_links = function(){&lt;br /&gt;  // get all links&lt;br /&gt;  var links = document.getElementsByTagName("a")&lt;br /&gt;  // loop through them&lt;br /&gt;  for(var i = 0; i &amp;lt; links.length; i++){&lt;br /&gt;     // get our url and title&lt;br /&gt;     var url = links[i].href&lt;br /&gt;     var title = (links[i].getAttribute("title")) ? links[i].getAttribute("title") : links[i].innerHTML&lt;br /&gt;     // create a &amp;lt;sup&amp;gt; tag&lt;br /&gt;     var sup = document.createElement("sup")&lt;br /&gt;     // set it's innerHTML to the share icon (defined in the following function)&lt;br /&gt;     sup.innerHTML   = this.share_icon(i, url, title)&lt;br /&gt;     // insert it into the DOM AFTER the link&lt;br /&gt;     links[i].parentNode.insertBefore(sup, links[i].nextSibling)&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;this.share_icon = function( id, url, title ){&lt;br /&gt;  // create the html for the image tag, including styles and an onclick event and return it&lt;br /&gt;  var a = ""&lt;br /&gt;      a += "&amp;lt;img "&lt;br /&gt;      a += "  onclick='" + this.info.id + ".open_share_window(" + id + ", \"" + escape(url) + "\", \"" + escape(title) + "\")' "&lt;br /&gt;      a += "  style='cursor:pointer;width:10px;height:10px' "&lt;br /&gt;      a += "  src='http://localhost/linkshout/share_icon.png'"&lt;br /&gt;      a += "&amp;gt;"&lt;br /&gt;   return a&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Back to our test page really quick. I need to pull in the app I am testing, so the link that we added that loads in CloudShout needs to be modified:&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;  &amp;lt;script src="http://cloudshout.com/test/200/300/list/unknown/none/none"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Needs to become:&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;  &amp;lt;script src="http://cloudshout.com/test/200/300/list/unknown/APP_ID/none"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Where app id is the applications identification (you can find this on any of your application development screens at CloudShout).&lt;br /&gt;&lt;br /&gt;Ok, now our app should, as soon as the DOM is ready, search for all links and attach the share icon. Let's see if that worked:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SOJQaCXWBpI/AAAAAAAAAC4/kJWGOqMOs4Y/s1600-h/04.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_JejmleXUF88/SOJQaCXWBpI/AAAAAAAAAC4/kJWGOqMOs4Y/s400/04.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251848523709023890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Programming the Application - Handling Requests to Share a Link&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, when that icon is clicked, we need to open a share dialog so the user can change the title of the link if they wish and give it a description (really, it's first comment).&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;// SHARE WINDOW FUNCTIONS&lt;br /&gt;this.open_share_window = function(id, url, title){&lt;br /&gt;  // anytime a share link is clicked, set our vars to information about it.&lt;br /&gt;  this.link_url   = url&lt;br /&gt;  this.link_title = title&lt;br /&gt;  this.link_id    = id&lt;br /&gt;  // open the new float (yeah, this is all handled for you. easy huh? :)&lt;br /&gt;  itkp.new_float(this.info.id, this.info.id + "_" + id, "LinkShout", 350, 400, itkp.center_vertically(400), itkp.center_horizontally(350))&lt;br /&gt;  // and let's create our html for inside of our popup:&lt;br /&gt;  this.create_shout_elements()&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now, the next function is a little scary. It's long, but it's not complicated. All we are doing is calling an ITK helper function that creates DOM elements. We are passing it elements defined in a JSON format. We just need to do it a few times. You could build all your html in a variable (like we did with the icon image above) and set with an innerHTML, but this is another way of doing it.&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;this.create_shout_elements = function( id, url, title ){&lt;br /&gt;   var id = this.link_id&lt;br /&gt;   // create the "url" text&lt;br /&gt;   itku.create({&lt;br /&gt;     elm: "div",&lt;br /&gt;     parent_elm: this.info.id + "_" + id + "_content",&lt;br /&gt;     content: { type: "html", value: "URL:" },&lt;br /&gt;     atts: { id: this.info.id + "_" + id + "_url" },&lt;br /&gt;     styles: { position: "absolute", top: "105px", left: "3px", width: "50px", height: "34px", textAlign: "right" }&lt;br /&gt;   })&lt;br /&gt;   // create the "url" input field... disabled&lt;br /&gt;   itku.create({&lt;br /&gt;     elm: "div",&lt;br /&gt;     parent_elm: this.info.id + "_" + id + "_content",&lt;br /&gt;     content: { type: "html", value: "&amp;lt;input type='text' value='" + unescape(this.link_url) + "' style='margin:-5px;padding:10px;width:250px;' disabled&amp;gt;" },&lt;br /&gt;     atts: { id: this.info.id + "_" + id + "_url_input", className: "itkp_rc" },&lt;br /&gt;     styles: { position: "absolute", overflow: "hidden", top: "95px", left: "60px", width: "240px", height: "28px", padding: "-2px", backgroundColor: "#ffffff" }&lt;br /&gt;   })&lt;br /&gt;&lt;br /&gt;   // edited - create the other elements too, which is similar to the above.&lt;br /&gt;&lt;br /&gt;   // create the "share" button&lt;br /&gt;   itku.create({&lt;br /&gt;     elm: "div",&lt;br /&gt;     parent_elm: this.info.id + "_" + id + "_content",&lt;br /&gt;     content: { type: "html", value: itkp.button("Share", true, this.info.id + ".share_link()", 90) },&lt;br /&gt;     atts: { id: this.info.id + "_" + id + "_button" },&lt;br /&gt;     styles: { position: "absolute", overflow: "hidden", top: "295px", left: "60px", width: "91px", height: "27px" }&lt;br /&gt;   })&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The last create call is what builds the button on screen. Notice the value of the content property is a call to the ITK button helper. When that button is clicked, it calls the function "share_link()". Let's look at that:&lt;br /&gt;&lt;pre style="font-family: courier; font-size: 11px;"&gt;&lt;br /&gt;this.share_link = function(){&lt;br /&gt;   // grab their comment, we know everything else.&lt;br /&gt;   say = escape(itku.id(this.info.id + "_" + this.link_id + "_say_input").value)&lt;br /&gt;   // For now, let's just alert the values&lt;br /&gt;   alert("sharing: " + unescape(this.link_url) + "\ntitle: " + unescape(this.link_title) + "\nsay: " + unescape(say))&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ok, so here I'm just alerting the value I'm going to pass around to make sure it works. Let's see:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SOJQiYMNUwI/AAAAAAAAADA/zKYn8r7siDo/s1600-h/Preview.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_JejmleXUF88/SOJQiYMNUwI/AAAAAAAAADA/zKYn8r7siDo/s400/Preview.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5251848667006849794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I clicked on the link to Apple&lt;/li&gt;&lt;li&gt;The dialog opened with the link's information. (There's a little extra room at the top of the share dialog. I'll use this area for branding later)&lt;/li&gt;&lt;li&gt;I clicked the share button&lt;/li&gt;&lt;li&gt;Alert triggers&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Programming the Application - Wrap Up for Part 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pretty good. And my development time so far is 1.5 hours. Combined with my initial planning, I'm at 2.25 hours.&lt;br /&gt;&lt;br /&gt;This looks like a good stopping point for now, so let's recap what we've done:&lt;br /&gt;&lt;ol style="margin: 0pt 0pt -15px;"&gt;&lt;br /&gt;  &lt;li&gt;Did some initial Project planning (45 minutes)&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Created our app at CloudShout.com&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Created our Test Environment (10 minutes)&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;Program functionality to: (1 hour 20 minutes)&lt;br /&gt;  &lt;ul style="margin: 0pt 0pt -15px;"&gt;&lt;br /&gt;    &lt;li&gt;Add share buttons to all links&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Open a dialog with information about the link in preparation to share&lt;/li&gt;&lt;br /&gt;  &lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;What I'm planning to accomplish in the next segment is mostly communication. This will be exciting because we will see how easy it is to have apps, or people, or a combination of both, talking back and forth. My goals are to:&lt;br /&gt;&lt;ol style="margin: 0pt 0pt -15px;"&gt;&lt;br /&gt;  &lt;li&gt;Create the sidebar widget that actually lists all the shared links&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;When I share a link, it should:&lt;br /&gt;  &lt;ul style="margin: 0pt 0pt -15px;"&gt;&lt;br /&gt;    &lt;li&gt;Save to a DB&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Send to all people in my friends list&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Display in their sidebar widget&lt;/li&gt;&lt;br /&gt;  &lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Coming along good I think. Questions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-6216946200787228813?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/6216946200787228813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/using-cloudshout-to-build-socialbrowse_30.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6216946200787228813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6216946200787228813'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/using-cloudshout-to-build-socialbrowse_30.html' title='Using CloudShout to build a SocialBrowse-like Service - Initial Setup (Part 2)'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_JejmleXUF88/SOJQFogeMhI/AAAAAAAAACg/Iajw5Jxr0qI/s72-c/01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-51805426169836949</id><published>2008-09-28T10:55:00.003-04:00</published><updated>2008-09-30T17:40:34.727-04:00</updated><title type='text'>Using CloudShout to build a SocialBrowse-like Service - Introduction (Part 1)</title><content type='html'>&lt;a href="http://www.socialbrowse.com"&gt;SocialBrowse&lt;/a&gt; is an interesting new service covered &lt;a href="http://mashable.com/2008/09/25/socialbrowse-public/"&gt;here&lt;/a&gt;  and &lt;a href="http://www.techcrunch.com/2008/09/25/y-combinators-socialbrowse-launches-to-the-public/"&gt;here&lt;/a&gt; among other &lt;a href="http://blogsearch.google.com/blogsearch?hl=en&amp;amp;q=SocialBrowse&amp;amp;btnG=Search+Blogs"&gt;places&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What SocialBrowse does, from what I understand, is allow you to share links (with comments), in real time, with your friends, via a browser plugin. So as a friend of yours shares a link you see it immediately in your browser.&lt;br /&gt;&lt;br /&gt;This is a cool idea, but what I'm really interested in is the infrastructure behind what they are doing. I'm pretty sure that the basics of it boil down to something like:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sign into your browser extension&lt;/li&gt;&lt;li&gt;it grabs your friends&lt;/li&gt;&lt;li&gt;it grabs any links you or your friends have posted&lt;/li&gt;&lt;li&gt;formats those links in the SocialBrowse interface&lt;/li&gt;&lt;/ul&gt;Then, while you are online with other friends:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If I share a link, it calls home to save that link&lt;/li&gt;&lt;li&gt;It looks up my friends and associates them to that link&lt;/li&gt;&lt;li&gt;The extension (on my friends side) pulls new link information every so often&lt;/li&gt;&lt;li&gt;it displays the new link information to them.&lt;/li&gt;&lt;/ul&gt;The service has apparently been in private beta for about 3 months, but now is in public beta. I can't imagine it's due to the ability to share links. I'm guessing they are slowly letting people in to monitor/adjust server requirements needed to scale a service that needs to constantly look for updates.&lt;br /&gt;&lt;br /&gt;The reason I'm interested in this is because of all the time and money dedicated to making sure you have the hardware to handle that. What if you didn't have to worry about that? What if a product like SocialBrowse could be build in about a day?&lt;br /&gt;&lt;br /&gt;This is what &lt;a href="http://cloudshout.com"&gt;CloudShout&lt;/a&gt; allows. CloudShout is a Javascript framework, but not in the sense that you might be used to. It's not Prototype, jQuery, MooTools, etc. It's a widget (application) building framework that allows easy communications between two or more people or applications (or both).&lt;br /&gt;&lt;br /&gt;To build a similar SocialBrowse app in CloudShout, the only thing you would need is someplace to save the link data. Not a problem, Google App Engine could do that.&lt;br /&gt;&lt;br /&gt;Over the next few days, I'll recreate the basic functionality of this service, documenting it along the way here at this blog. My hopes are that this will illustrate that a useful, creative application like SocialBrowse can be built using CloudShout with very little effort and money.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-51805426169836949?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/51805426169836949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/using-cloudshout-to-build-socialbrowse.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/51805426169836949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/51805426169836949'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/using-cloudshout-to-build-socialbrowse.html' title='Using CloudShout to build a SocialBrowse-like Service - Introduction (Part 1)'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-6693629349126337706</id><published>2008-09-26T16:01:00.003-04:00</published><updated>2008-09-26T16:05:16.980-04:00</updated><title type='text'>CloudShout v.616 released</title><content type='html'>Full information can be &lt;a href="http://blog.izea.com/2008/09/cloudshout-release-v616.html"&gt;found here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But what I'd really like to share is the &lt;a href="http://groups.google.com/group/cloudshout-development"&gt;Google CloudShout Group&lt;/a&gt;. If you are interested in developing applications for CloudShout, please roll by this group. If you don't have an alpha key, I'll see what I can do... just drop a comment to let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-6693629349126337706?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/6693629349126337706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/cloudshout-v616-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6693629349126337706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6693629349126337706'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/cloudshout-v616-released.html' title='CloudShout v.616 released'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-5507552125461299799</id><published>2008-09-16T09:56:00.006-04:00</published><updated>2008-09-16T10:23:45.701-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='installing'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>Adding CloudShout to Blogger</title><content type='html'>Need help adding &lt;a href="http://cloudshout.com"&gt;CloudShout&lt;/a&gt; to your Blogger Blog? Maybe this will help!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Get the Code:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Log into Cloudshout&lt;/li&gt;&lt;li&gt;Click on the "EDIT" icon next to your blog (If you have not added your blog yet, you can do so now)&lt;/li&gt;&lt;li&gt;Click on the "ITK Code" tab&lt;/li&gt;&lt;li&gt;Copy the two snippets of code in steps one and two on that page.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Edit the layout of the blog:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Login into your Blogger Admin page and click on the layout tab for the blog you are adding CloudShout to.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;At the very bottom of the layout editor (pictured below) click "Add a Gadget". This will open a window with the different types of gadgets you can add. Look for the "HTML/Javascript" gadget and click the plus icon by it.&lt;/li&gt;&lt;li&gt;This will change the popup window to an area to paste text. Paste in the code you copied from Step 2&lt;/li&gt;&lt;li&gt;Click "Save"&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JejmleXUF88/SM-7keIvmEI/AAAAAAAAAB0/Mofp6JA8knQ/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_JejmleXUF88/SM-7keIvmEI/AAAAAAAAAB0/Mofp6JA8knQ/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5246618326149339202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now we decide where to put the Activity Hub:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I've decided to add my hub to the side bar.&lt;/li&gt;&lt;li&gt;On the same Layout screen above, click on the "Add a Gadget" link in the side bar.&lt;/li&gt;&lt;li&gt;This will open a window with the different types of gadgets to add. Look for the "HTML/Javascript" gadget and click the plus icon by it.&lt;/li&gt;&lt;li&gt;This will change the popup window to an area to paste text. Paste in the code you copied from Step 3&lt;/li&gt;&lt;li&gt;Click "Save"&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;That's it. Just click on the "Save" layout button to make your changes active.&lt;br /&gt;&lt;br /&gt;If you have any questions about this process, please let me know! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-5507552125461299799?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/5507552125461299799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/adding-cloudshout-to-blogger.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/5507552125461299799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/5507552125461299799'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/09/adding-cloudshout-to-blogger.html' title='Adding CloudShout to Blogger'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JejmleXUF88/SM-7keIvmEI/AAAAAAAAAB0/Mofp6JA8knQ/s72-c/Picture+3.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-445375659804071392</id><published>2008-08-19T11:08:00.012-04:00</published><updated>2008-09-18T14:50:17.778-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wordpress'/><category scheme='http://www.blogger.com/atom/ns#' term='installing'/><category scheme='http://www.blogger.com/atom/ns#' term='cloudshout'/><title type='text'>Adding CloudShout to WordPress</title><content type='html'>Need help adding &lt;a href="http://cloudshout.com/"&gt;CloudShout&lt;/a&gt; to Wordpress? Hopefully this will help. Please keep in mind that you must be able to edit the HTML of your WordPress install&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Get the Code:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Log into Cloudshout&lt;/li&gt;&lt;li&gt;Click on the "EDIT" icon next to your blog (If you have not added your blog yet, you can do so now)&lt;/li&gt;&lt;li&gt;Click on the "ITK Code" tab&lt;/li&gt;&lt;li&gt;Copy the two snippets of code in steps one and two on that page.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Add Code to your blog:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open your favorite text editor&lt;/li&gt;&lt;li&gt;Now decide where you want to add the Activity Hub Widget. For me, I have mine in the side bar.&lt;/li&gt;&lt;li&gt;Once decided, open the appropriate files (For me, that will be header and sidebar, see image below). Make sure you open the files in the theme you currently have active.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JejmleXUF88/SM-3HKmwYKI/AAAAAAAAABs/68YivTHJAsw/s1600-h/worpress_directory.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_JejmleXUF88/SM-3HKmwYKI/AAAAAAAAABs/68YivTHJAsw/s320/worpress_directory.png" alt="" id="BLOGGER_PHOTO_ID_5246613424643793058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Add the JS Link:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I've decided to add the JS script link to my themes header, so in header.php, look for the code: &lt;span style="color: rgb(102, 0, 204);"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;. This is the closing of the documents head area. &lt;/li&gt;&lt;li&gt;Now, just place the line of code from Step 2 right before that:&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;...other code...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;&amp;lt;script type="text/javascript" src='http://cloudshout.com/itk/YOUR_NUMBER_HERE'&amp;gt;&amp;lt;/script&amp;gt; &lt;/span&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;...other code...&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;ok, save and close.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Add the widget div:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I've decided to add the widget to my sidebar, so in sidebar.php, look for: &lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;&amp;lt;div id="sidebar"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Now, right after that, paste the code from step three&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(102, 0, 204);"&gt;&amp;lt;div id="sidebar"&amp;gt;&lt;/span&gt; &lt;span style="color: rgb(102, 0, 204);"&gt;    &amp;lt;div id='itk_widgets'&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;...other code...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Save and close that&lt;/li&gt;&lt;li&gt;Later you may want to move where the widget appears in regards to other sidebar items. Just remember this is the spot to do that.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div id="sidebar"&gt;&lt;div id="sidebar"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Upload:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;now just upload your files and you should have CloudShout installed on your blog!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Let me know if not, I'll get to the bottom of the problem :)&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/810434774739004460-445375659804071392?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/445375659804071392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/08/sorry-for-placeholder-text-need-to-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/445375659804071392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/445375659804071392'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/08/sorry-for-placeholder-text-need-to-test.html' title='Adding CloudShout to WordPress'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_JejmleXUF88/SM-3HKmwYKI/AAAAAAAAABs/68YivTHJAsw/s72-c/worpress_directory.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-8168191665258275772</id><published>2008-08-05T13:31:00.004-04:00</published><updated>2008-08-05T13:34:31.414-04:00</updated><title type='text'>Mozilla Labs: Aurora Concept</title><content type='html'>This is pretty cool:&lt;br /&gt;&lt;br /&gt;&lt;object height="225" width="400"&gt;    &lt;param name="allowfullscreen" value="true"&gt;    &lt;param name="allowscriptaccess" value="always"&gt;    &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1450211&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;    &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1450211&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="225" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1450211?pg=embed&amp;amp;sec=1450211"&gt;Aurora (Part 1)&lt;/a&gt; from &lt;a href="http://www.vimeo.com/user524591?pg=embed&amp;amp;sec=1450211"&gt;Adaptive Path&lt;/a&gt; on &lt;a href="http://vimeo.com/?pg=embed&amp;amp;sec=1450211"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, all of this is possible today. I'm doing some of it right now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-8168191665258275772?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/8168191665258275772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/08/mozilla-labs-aurora-concept.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8168191665258275772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8168191665258275772'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/08/mozilla-labs-aurora-concept.html' title='Mozilla Labs: Aurora Concept'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-919923321275801453</id><published>2008-08-02T22:44:00.007-04:00</published><updated>2008-08-02T23:59:09.058-04:00</updated><title type='text'>Falcon 1 - Flight 3</title><content type='html'>Sitting here watching the &lt;a href="http://spacex.com/webcast.php"&gt;Falcon 1 launch&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;"The third flight will also be from Omelek. It was to have carried &lt;a href="http://en.wikipedia.org/wiki/TacSat-1" title="TacSat-1"&gt;TacSat-1&lt;/a&gt; for the &lt;a href="http://en.wikipedia.org/wiki/United_States_Naval_Research_Laboratory" title="United States Naval Research Laboratory"&gt;Naval Research Laboratory&lt;/a&gt; (NRL), but NRL canceled the launch of the satellite after the success of the already-launched &lt;a href="http://en.wikipedia.org/wiki/TacSat-2" title="TacSat-2"&gt;TacSat-2&lt;/a&gt;. This will be the first "operational" flight of Falcon 1. This mission was originally scheduled for 2005, from &lt;a href="http://en.wikipedia.org/wiki/Vandenberg_AFB" class="mw-redirect" title="Vandenberg AFB"&gt;Vandenberg AFB&lt;/a&gt;, but delays due to the &lt;a href="http://en.wikipedia.org/wiki/Titan_IV" title="Titan IV"&gt;Titan IV&lt;/a&gt; launch, and problems with the rocket pushed it into mid-2006. It was then delayed further, as the failure of the maiden flight necessitated a second test mission. It is currently scheduled for the second quarter of 2008. This flight is also scheduled to carry a &lt;a href="http://en.wikipedia.org/wiki/Space_burial" title="Space burial"&gt;space burial&lt;/a&gt; payload including cremated &lt;a href="http://en.wikipedia.org/wiki/Remains" title="Remains"&gt;remains&lt;/a&gt; of &lt;a href="http://en.wikipedia.org/wiki/James_Doohan" title="James Doohan"&gt;James Doohan&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Gordon_Cooper" title="Gordon Cooper"&gt;Gordon Cooper&lt;/a&gt;, and others."&lt;/blockquote&gt;and run into this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JejmleXUF88/SJUc1rlqO_I/AAAAAAAAAA8/RA-9uBV1Ipw/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JejmleXUF88/SJUc1rlqO_I/AAAAAAAAAA8/RA-9uBV1Ipw/s400/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5230118250820025330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Luckily, &lt;a href="http://spacex.com/webcast.php"&gt;it's back up now&lt;/a&gt; with T-11 to go.&lt;br /&gt;&lt;br /&gt;Update@11:45 EST&lt;br /&gt;&lt;br /&gt;It looked like it launched successfully, but the webcast seemed to end abruptly and they reported an anomaly on the rocket. Hmmm.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SJUpvjclAQI/AAAAAAAAABE/eUbqMB12Frk/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JejmleXUF88/SJUpvjclAQI/AAAAAAAAABE/eUbqMB12Frk/s400/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5230132439206396162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Update@11:52 EST&lt;br /&gt;&lt;blockquote&gt;"The second stage most likely did not reach orbit, and has probably already crashed on the ground."&lt;/blockquote&gt;Didn't make it :(.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-919923321275801453?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/919923321275801453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/08/falcon-1-flight-3-uh-oh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/919923321275801453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/919923321275801453'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/08/falcon-1-flight-3-uh-oh.html' title='Falcon 1 - Flight 3'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_JejmleXUF88/SJUc1rlqO_I/AAAAAAAAAA8/RA-9uBV1Ipw/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-8349555651424805181</id><published>2008-05-20T13:50:00.000-04:00</published><updated>2008-05-20T13:51:35.403-04:00</updated><title type='text'>Butterflies</title><content type='html'>About to give a presentation to the board on the future of ITK... getting very nervous!!! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-8349555651424805181?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/8349555651424805181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/05/butterfly.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8349555651424805181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8349555651424805181'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/05/butterfly.html' title='Butterflies'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-9117195470430417494</id><published>2008-05-12T08:45:00.000-04:00</published><updated>2008-05-12T12:35:41.242-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Private Stats'/><category scheme='http://www.blogger.com/atom/ns#' term='ITK'/><category scheme='http://www.blogger.com/atom/ns#' term='SocialSpark'/><title type='text'>Blogs Stats - Public or Private?</title><content type='html'>I just stepped through the first 5 pages of blogs listed on SocialSpark... just browsing, and I noticed that out of the 50 blogs listed, only 7 of them allow for their stats to be shown (Visits, Views, Etc.). As the main developer of ITK (and part of it's job is to collect this data), and having developed the demographics pages in SocialSpark, I was kind of let down to see soooooo many people with their stats set to private.&lt;br /&gt;&lt;br /&gt;Perhaps it's because the formula for calculating &lt;a href="http://community.izea.com/blog/2008/01/izearankscom-al.html"&gt;RealRank is open&lt;/a&gt;, or perhaps because Google's formula is hidden (and they &lt;a href="http://andybeard.eu/2007/10/penalty-confirmed-but-i-dont-sell-pagerank.html"&gt;hand out spankings&lt;/a&gt;), I guess I thought more people would be open to share their information.&lt;br /&gt;&lt;br /&gt;But who am I to say, I only get a visitor here and there from time to time. :)&lt;br /&gt;&lt;br /&gt;I thought I'd share with you the bloggers on the first 5 pages that do have their stats available for all. Thanks you guys!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.archit.in/"&gt;lifeOmaniac&lt;/a&gt;&lt;br /&gt;written by &lt;a href="http://socialspark.com/bloggers/Archit"&gt;Archit&lt;/a&gt;&lt;br /&gt;"...obsessed by life. Blog about Current Affairs, Internet &amp;amp; Technology and my life's chronicle."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mythoughtsideasandramblings.com/"&gt;My Thoughts, Ideas, and Ramblings&lt;/a&gt;&lt;br /&gt;written by &lt;a href="http://socialspark.com/bloggers/blm03"&gt;blm03&lt;/a&gt;&lt;br /&gt;"A day in the life of a work at home mom . . ."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.juliesjournal.com/"&gt;Julie's Journal&lt;/a&gt;&lt;br /&gt;written by &lt;a href="http://socialspark.com/bloggers/Jules"&gt;Jules&lt;/a&gt;&lt;br /&gt;"I write about the daily happenings of a mom with two teenage boys living in Vegas."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.travelingthoughts.com/"&gt;Traveling Thoughts&lt;/a&gt;&lt;br /&gt;written by &lt;a href="http://socialspark.com/bloggers/Courtney"&gt;Courtney&lt;/a&gt;&lt;br /&gt;"Anything that passes my brain and causes me to take a mental trip"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.benspark.com/"&gt;The BenSpark&lt;/a&gt;&lt;br /&gt;written by &lt;a href="http://socialspark.com/bloggers/BenSpark"&gt;BenSpark&lt;/a&gt;&lt;br /&gt;"Daily Photos, Entertainment, Traveling and My Life."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lisareviews.com/"&gt;Lisa Reviews&lt;/a&gt;&lt;br /&gt;written by &lt;a href="http://socialspark.com/bloggers/blm03"&gt;blm03&lt;/a&gt;&lt;br /&gt;"Reviews on the things you want to know about!"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://myroadlesstraveledby.com/"&gt;My Road Less Traveled By&lt;/a&gt;&lt;br /&gt;written by &lt;a href="http://socialspark.com/bloggers/blm03"&gt;blm03&lt;/a&gt;&lt;br /&gt;"What you should go see and do"&lt;br /&gt;&lt;br /&gt;There's no way I could go through the entire list of blogs, so I know there are more of you out there... so thanks to everyone that keeps it open! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-9117195470430417494?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/9117195470430417494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/05/blogs-stats-public-or-private.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/9117195470430417494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/9117195470430417494'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/05/blogs-stats-public-or-private.html' title='Blogs Stats - Public or Private?'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-4388163465987943149</id><published>2008-04-16T21:55:00.001-04:00</published><updated>2008-04-17T08:58:05.420-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Avatars'/><category scheme='http://www.blogger.com/atom/ns#' term='SocialSpark'/><category scheme='http://www.blogger.com/atom/ns#' term='Cropping'/><title type='text'>Fun with SocialSpark Avatars</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Before we begin:&lt;/span&gt; Please keep in mind that you can not do this as of yet (April 16, 2008). My changes to the cropping tool are being tested internally before we release to the world. But once it's live, you'll be ready to have some fun!&lt;br /&gt;&lt;br /&gt;The other day I was working on some updates to the image cropping tool we have in &lt;a href="http://socialspark.com/"&gt;SocialSpark&lt;/a&gt; to allow members to create their Avatars. The cropping tool has some excellent new features such as zooming in/out, and scrolling the image around. All things to help you create the perfect Avatar for yourself. As I was polishing up the code, Ted walks by and says... "You know what would be cool, if I could have one image for the square set and a different image for the wide set".&lt;br /&gt;&lt;br /&gt;Yeah, that would be cool, but the sound of more work with all the other outstanding issues I have piling up for launch made me a little nervous.&lt;br /&gt;&lt;br /&gt;But you know what? With the ability to scroll the image, you CAN have a different image for square and wide avatars, EASILY... I'll show you how.&lt;br /&gt;&lt;br /&gt;The first thing we need to do is take the two images we want to use and make one image out of them. So I opened each picture I wanted to use and lined them up side by side and... ready for the hard part? Just take a screen shot, no biggie! :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SAauHTUxe1I/AAAAAAAAAAU/hQoWqoSWwXc/s1600-h/0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JejmleXUF88/SAauHTUxe1I/AAAAAAAAAAU/hQoWqoSWwXc/s400/0.jpg" alt="" id="BLOGGER_PHOTO_ID_5190027061060795218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now that I have my master image, let's change our Avatar. Just go to manage your account, click on the profile button, then go to the Avatar tab.&lt;br /&gt;&lt;br /&gt;Upload your new image and here comes the sexy new cropper! See the zoom in/out icons above the image? Click those a few times... see the scroll bars, yeah, slide them around some! Pretty cool, huh? Have an idea where I'm going with this? :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/SAauWTUxe2I/AAAAAAAAAAc/8Ph52ykSZDI/s1600-h/1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JejmleXUF88/SAauWTUxe2I/AAAAAAAAAAc/8Ph52ykSZDI/s400/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5190027318758832994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now scale, scroll, and line up your square avatar and click the "crop square" button.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JejmleXUF88/SAauqzUxe3I/AAAAAAAAAAk/xWhgDCdi6ME/s1600-h/2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JejmleXUF88/SAauqzUxe3I/AAAAAAAAAAk/xWhgDCdi6ME/s400/2.jpg" alt="" id="BLOGGER_PHOTO_ID_5190027670946151282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now just scroll over to the other image and do the same.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JejmleXUF88/SAau3jUxe4I/AAAAAAAAAAs/FdyrbI7tftM/s1600-h/3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JejmleXUF88/SAau3jUxe4I/AAAAAAAAAAs/FdyrbI7tftM/s400/3.jpg" alt="" id="BLOGGER_PHOTO_ID_5190027889989483394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Awesome, yes?&lt;br /&gt;&lt;br /&gt;It would be great in the future to give our members all kinds of neat tools to customize their Avatars, but until then, here's one way to have fun!&lt;br /&gt;&lt;br /&gt;Ok, time to go throw the frisbee with Phoenix  :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-4388163465987943149?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/4388163465987943149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/04/fun-with-socialspark-avatars.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/4388163465987943149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/4388163465987943149'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/04/fun-with-socialspark-avatars.html' title='Fun with SocialSpark Avatars'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JejmleXUF88/SAauHTUxe1I/AAAAAAAAAAU/hQoWqoSWwXc/s72-c/0.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-6056592846869205465</id><published>2008-03-22T11:18:00.000-04:00</published><updated>2008-03-22T11:22:08.659-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='skitch'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='annotation'/><title type='text'>Skitch</title><content type='html'>So what does it take to get things done around the dev department at IZEA? Lots of coffee is definitely on the top of the list, but I'd like to share some of the other tools we use to make our life easier.&lt;br /&gt;&lt;br /&gt;One tool that really helps out is Skitch from &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;. &lt;a href="http://plasq.com/skitch"&gt;Skitch&lt;/a&gt; is an annotation tool for your computer, and it Rocks! You can select an area of your screen to crop out, then circle things, type in text, add arrows... etc. The you simply drag to email, im's, etc to send to the team. Here's an example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JejmleXUF88/R-UjnSRGgaI/AAAAAAAAAAM/ZwPJdjGQMt0/s1600-h/socialspark+_+social+media+marketing,+blog+marketing,+blog+advertising.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_JejmleXUF88/R-UjnSRGgaI/AAAAAAAAAAM/ZwPJdjGQMt0/s320/socialspark+_+social+media+marketing,+blog+marketing,+blog+advertising.jpg" alt="" id="BLOGGER_PHOTO_ID_5180586104185061794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That took about 2 whole seconds to do. Very helpful!!&lt;br /&gt;&lt;br /&gt;The gang has been using Skitch for a while now, I've only just started using it, so I'm getting use to all the features. Like sharing, webcam support, setting colors, posting to the web...&lt;br /&gt;&lt;br /&gt;I recommend you give it a try and see how it affects your productivity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-6056592846869205465?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/6056592846869205465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/03/skitch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6056592846869205465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/6056592846869205465'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/03/skitch.html' title='Skitch'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_JejmleXUF88/R-UjnSRGgaI/AAAAAAAAAAM/ZwPJdjGQMt0/s72-c/socialspark+_+social+media+marketing,+blog+marketing,+blog+advertising.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-2350441777490320032</id><published>2008-03-20T16:03:00.000-04:00</published><updated>2008-03-20T16:04:08.312-04:00</updated><title type='text'>Big Things</title><content type='html'>Big things are about to happen... I'm getting ready for them. Are you?!?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-2350441777490320032?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/2350441777490320032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2008/03/big-things.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/2350441777490320032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/2350441777490320032'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2008/03/big-things.html' title='Big Things'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-810434774739004460.post-8709685184589947801</id><published>2007-03-24T21:34:00.000-04:00</published><updated>2009-03-24T21:35:05.330-04:00</updated><title type='text'>test</title><content type='html'>this is a test&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/810434774739004460-8709685184589947801?l=dang-at-izea.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dang-at-izea.blogspot.com/feeds/8709685184589947801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dang-at-izea.blogspot.com/2007/03/test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8709685184589947801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/810434774739004460/posts/default/8709685184589947801'/><link rel='alternate' type='text/html' href='http://dang-at-izea.blogspot.com/2007/03/test.html' title='test'/><author><name>@dascgo</name><uri>http://www.blogger.com/profile/08323235347500574695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_JejmleXUF88/SM_E7ADL5VI/AAAAAAAAACI/IjaKPNeAJVA/S220/boba.jpg'/></author><thr:total>0</thr:total></entry></feed>
