<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Victus Spiritus &#187; google</title>
	<atom:link href="http://www.victusspiritus.com/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.victusspiritus.com</link>
	<description>a blog by Mark Essel on web technology, startups and design philosophy</description>
	<lastBuildDate>Mon, 30 Jan 2012 19:33:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='www.victusspiritus.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Steve Yegge on the benefit of Platforms</title>
		<link>http://www.victusspiritus.com/2011/10/25/steve-yegge-on-the-benefit-of-platforms/</link>
		<comments>http://www.victusspiritus.com/2011/10/25/steve-yegge-on-the-benefit-of-platforms/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 08:53:33 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=9894</guid>
		<description><![CDATA[<p><a href="https://plus.google.com/112678702228711889851/posts/110981030061712822816">Steve Yegge</a> accidentally shared this memo externally on Google+ but has since taken it down, which is the only mistake he made. I&#8217;m resharing it here because my mobile safari browser had problems on the page, and I needed to &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="https://plus.google.com/112678702228711889851/posts/110981030061712822816">Steve Yegge</a> accidentally shared this memo externally on Google+ but has since taken it down, which is the only mistake he made. I&#8217;m resharing it here because my mobile safari browser had problems on the page, and I needed to keep a &#8220;fork&#8221; of it for future reference. Hands down this is the most enlightening post I&#8217;ve read on Service Oriented Architectures (SOAs) and programmable functional units.</p>
<p><span id="more-9894"></span></p>
<p><strong>Stevey’s Google Platforms Rant</strong><br />
I was at Amazon for about six and a half years, and now I’ve been at Google for that long. One thing that struck me immediately about the two companies — an impression that has been reinforced almost daily — is that Amazon does everything wrong, and Google does everything right. Sure, it’s a sweeping generalization, but a surprisingly accurate one. It’s pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn’t let me show it to anyone, even though recruiting loved it.</p>
<p>I mean, just to give you a very brief taste: Amazon’s recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they’ve made to level it out. And their operations are a mess; they don’t really have SREs and they make engineers pretty much do everything, which leaves almost no time for coding &#8211; though again this varies by group, so it’s luck of the draw. They don’t give a single shit about charity or helping the needy or community contributions or anything like that. Never comes up there, except maybe to laugh about it. Their facilities are dirt-smeared cube farms without a dime spent on decor or common meeting areas. Their pay and benefits suck, although much less so lately due to local competition from Google and Facebook. But they don’t have any of our perks or extras — they just try to match the offer-letter numbers, and that’s the end of it. Their code base is a disaster, with no engineering standards whatsoever except what individual teams choose to put in place.</p>
<p>To be fair, they do have a nice versioned-library system that we really ought to emulate, and a nice publish-subscribe system that we also have no equivalent for. But for the most part they just have a bunch of crappy tools that read and write state machine information into relational databases. We wouldn’t take most of it even if it were free.</p>
<p>I think the pubsub system and their library-shelf system were two out of the grand total of three things Amazon does better than google.</p>
<p>I guess you could make an argument that their bias for launching early and iterating like mad is also something they do well, but you can argue it either way. They prioritize launching early over everything else, including retention and engineering discipline and a bunch of other stuff that turns out to matter in the long run. So even though it’s given them some competitive advantages in the marketplace, it’s created enough other problems to make it something less than a slam-dunk.</p>
<p>But there’s one thing they do really really well that pretty much makes up for ALL of their political, philosophical and technical screw-ups.</p>
<p>Jeff Bezos is an infamous micro-manager. He micro-manages every single pixel of Amazon’s retail site. He hired Larry Tesler, Apple’s Chief Scientist and probably the very most famous and respected human-computer interaction expert in the entire world, and then ignored every goddamn thing Larry said for three years until Larry finally — wisely — left the company. Larry would do these big usability studies and demonstrate beyond any shred of doubt that nobody can understand that frigging website, but Bezos just couldn’t let go of those pixels, all those millions of semantics-packed pixels on the landing page. They were like millions of his own precious children. So they’re all still there, and Larry is not.</p>
<p>Micro-managing isn’t that third thing that Amazon does better than us, by the way. I mean, yeah, they micro-manage really well, but I wouldn’t list it as a strength or anything. I’m just trying to set the context here, to help you understand what happened. We’re talking about a guy who in all seriousness has said on many public occasions that people should be paying him to work at Amazon. He hands out little yellow stickies with his name on them, reminding people “who runs the company” when they disagree with him. The guy is a regular… well, Steve Jobs, I guess. Except without the fashion or design sense. Bezos is super smart; don’t get me wrong. He just makes ordinary control freaks look like stoned hippies.</p>
<p>So one day Jeff Bezos issued a mandate. He’s doing that all the time, of course, and people scramble like ants being pounded with a rubber mallet whenever it happens. But on one occasion — back around 2002 I think, plus or minus a year — he issued a mandate that was so out there, so huge and eye-bulgingly ponderous, that it made all of his other mandates look like unsolicited peer bonuses.</p>
<p>His Big Mandate went something along these lines:</p>
<p>1) All teams will henceforth expose their data and functionality through service interfaces.</p>
<p>2) Teams must communicate with each other through these interfaces.</p>
<p>3) There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.</p>
<p>4) It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter. Bezos doesn’t care.</p>
<p>5) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.</p>
<p>6) Anyone who doesn’t do this will be fired.</p>
<p>7) Thank you; have a nice day!</p>
<p>Ha, ha! You 150-odd ex-Amazon folks here will of course realize immediately that #7 was a little joke I threw in, because Bezos most definitely does not give a shit about your day.</p>
<p>#6, however, was quite real, so people went to work. Bezos assigned a couple of Chief Bulldogs to oversee the effort and ensure forward progress, headed up by Uber-Chief Bear Bulldog Rick Dalzell. Rick is an ex-Armgy Ranger, West Point Academy graduate, ex-boxer, ex-Chief Torturer slash CIO at Wal*Mart, and is a big genial scary man who used the word “hardened interface” a lot. Rick was a walking, talking hardened interface himself, so needless to say, everyone made LOTS of forward progress and made sure Rick knew about it.</p>
<p>Over the next couple of years, Amazon transformed internally into a service-oriented architecture. They learned a tremendous amount while effecting this transformation. There was lots of existing documentation and lore about SOAs, but at Amazon’s vast scale it was about as useful as telling Indiana Jones to look both ways before crossing the street. Amazon’s dev staff made a lot of discoveries along the way. A teeny tiny sampling of these discoveries included:</p>
<p>- pager escalation gets way harder, because a ticket might bounce through 20 service calls before the real owner is identified. If each bounce goes through a team with a 15-minute response time, it can be hours before the right team finally finds out, unless you build a lot of scaffolding and metrics and reporting.</p>
<p>- every single one of your peer teams suddenly becomes a potential DOS attacker. Nobody can make any real forward progress until very serious quotas and throttling are put in place in every single service.</p>
<p>- monitoring and QA are the same thing. You’d never think so until you try doing a big SOA. But when your service says “oh yes, I’m fine”, it may well be the case that the only thing still functioning in the server is the little component that knows how to say “I’m fine, roger roger, over and out” in a cheery droid voice. In order to tell whether the service is actually responding, you have to make individual calls. The problem continues recursively until your monitoring is doing comprehensive semantics checking of your entire range of services and data, at which point it’s indistinguishable from automated QA. So they’re a continuum.</p>
<p>- if you have hundreds of services, and your code MUST communicate with other groups’ code via these services, then you won’t be able to find any of them without a service-discovery mechanism. And you can’t have that without a service registration mechanism, which itself is another service. So Amazon has a universal service registry where you can find out reflectively (programmatically) about every service, what its APIs are, and also whether it is currently up, and where.</p>
<p>- debugging problems with someone else’s code gets a LOT harder, and is basically impossible unless there is a universal standard way to run every service in a debuggable sandbox.</p>
<p>That’s just a very small sample. There are dozens, maybe hundreds of individual learnings like these that Amazon had to discover organically. There were a lot of wacky ones around externalizing services, but not as many as you might think. Organizing into services taught teams not to trust each other in most of the same ways they’re not supposed to trust external developers.</p>
<p>This effort was still underway when I left to join Google in mid-2005, but it was pretty far advanced. From the time Bezos issued his edict through the time I left, Amazon had transformed culturally into a company that thinks about everything in a services-first fashion. It is now fundamental to how they approach all designs, including internal designs for stuff that might never see the light of day externally.</p>
<p>At this point they don’t even do it out of fear of being fired. I mean, they’re still afraid of that; it’s pretty much part of daily life there, working for the Dread Pirate Bezos and all. But they do services because they’ve come to understand that it’s the Right Thing. There are without question pros and cons to the SOA approach, and some of the cons are pretty long. But overall it’s the right thing because SOA-driven design enables Platforms.</p>
<p>That’s what Bezos was up to with his edict, of course. He didn’t (and doesn’t) care even a tiny bit about the well-being of the teams, nor about what technologies they use, nor in fact any detail whatsoever about how they go about their business unless they happen to be screwing up. But Bezos realized long before the vast majority of Amazonians that Amazon needs to be a platform.</p>
<p>You wouldn’t really think that an online bookstore needs to be an extensible, programmable platform. Would you?</p>
<p>Well, the first big thing Bezos realized is that the infrastructure they’d built for selling and shipping books and sundry could be transformed an excellent repurposable computing platform. So now they have the Amazon Elastic Compute Cloud, and the Amazon Elastic MapReduce, and the Amazon Relational Database Service, and a whole passel’ o’ other services browsable at aws.amazon.com. These services host the backends for some pretty successful companies, reddit being my personal favorite of the bunch.</p>
<p>The other big realization he had was that he can’t always build the right thing. I think Larry Tesler might have struck some kind of chord in Bezos when he said his mom couldn’t use the goddamn website. It’s not even super clear whose mom he was talking about, and doesn’t really matter, because nobody’s mom can use the goddamn website. In fact I myself find the website disturbingly daunting, and I worked there for over half a decade. I’ve just learned to kinda defocus my eyes and concentrate on the million or so pixels near the center of the page above the fold.</p>
<p>I’m not really sure how Bezos came to this realization — the insight that he can’t build one product and have it be right for everyone. But it doesn’t matter, because he gets it. There’s actually a formal name for this phenomenon. It’s called Accessibility, and it’s the most important thing in the computing world.</p>
<p>The. Most. Important. Thing.</p>
<p>If you’re sorta thinking, “huh? You mean like, blind and deaf people Accessibility?” then you’re not alone, because I’ve come to understand that there are lots and LOTS of people just like you: people for whom this idea does not have the right Accessibility, so it hasn’t been able to get through to you yet. It’s not your fault for not understanding, any more than it would be your fault for being blind or deaf or motion-restricted or living with any other disability. When software — or idea-ware for that matter — fails to be accessible to anyone for any reason, it is the fault of the software or of the messaging of the idea. It is an Accessibility failure.</p>
<p>Like anything else big and important in life, Accessibility has an evil twin who, jilted by the unbalanced affection displayed by their parents in their youth, has grown into an equally powerful Arch-Nemesis (yes, there’s more than one nemesis to accessibility) named Security. And boy howdy are the two ever at odds.</p>
<p>But I’ll argue that Accessibility is actually more important than Security because dialing Accessibility to zero means you have no product at all, whereas dialing Security to zero can still get you a reasonably successful product such as the Playstation Network.</p>
<p>So yeah. In case you hadn’t noticed, I could actually write a book on this topic. A fat one, filled with amusing anecdotes about ants and rubber mallets at companies I’ve worked at. But I will never get this little rant published, and you’ll never get it read, unless I start to wrap up.</p>
<p>That one last thing that Google doesn’t do well is Platforms. We don’t understand platforms. We don’t “get” platforms. Some of you do, but you are the minority. This has become painfully clear to me over the past six years. I was kind of hoping that competitive pressure from Microsoft and Amazon and more recently Facebook would make us wake up collectively and start doing universal services. Not in some sort of ad-hoc, half-assed way, but in more or less the same way Amazon did it: all at once, for real, no cheating, and treating it as our top priority from now on.</p>
<p>But no. No, it’s like our tenth or eleventh priority. Or fifteenth, I don’t know. It’s pretty low. There are a few teams who treat the idea very seriously, but most teams either don’t think about it all, ever, or only a small percentage of them think about it in a very small way.</p>
<p>It’s a big stretch even to get most teams to offer a stubby service to get programmatic access to their data and computations. Most of them think they’re building products. And a stubby service is a pretty pathetic service. Go back and look at that partial list of learnings from Amazon, and tell me which ones Stubby gives you out of the box. As far as I’m concerned, it’s none of them. Stubby’s great, but it’s like parts when you need a car.</p>
<p>A product is useless without a platform, or more precisely and accurately, a platform-less product will always be replaced by an equivalent platform-ized product.</p>
<p>Google+ is a prime example of our complete failure to understand platforms from the very highest levels of executive leadership (hi Larry, Sergey, Eric, Vic, howdy howdy) down to the very lowest leaf workers (hey yo). We all don’t get it. The Golden Rule of platforms is that you Eat Your Own Dogfood. The Google+ platform is a pathetic afterthought. We had no API at all at launch, and last I checked, we had one measly API call. One of the team members marched in and told me about it when they launched, and I asked: “So is it the Stalker API?” She got all glum and said “Yeah.” I mean, I was joking, but no… the only API call we offer is to get someone’s stream. So I guess the joke was on me.</p>
<p>Microsoft has known about the Dogfood rule for at least twenty years. It’s been part of their culture for a whole generation now. You don’t eat People Food and give your developers Dog Food. Doing that is simply robbing your long-term platform value for short-term successes. Platforms are all about long-term thinking.</p>
<p>Google+ is a knee-jerk reaction, a study in short-term thinking, predicated on the incorrect notion that Facebook is successful because they built a great product. But that’s not why they are successful. Facebook is successful because they built an entire constellation of products by allowing other people to do the work. So Facebook is different for everyone. Some people spend all their time on Mafia Wars. Some spend all their time on Farmville. There are hundreds or maybe thousands of different high-quality time sinks available, so there’s something there for everyone.</p>
<p>Our Google+ team took a look at the aftermarket and said: “Gosh, it looks like we need some games. Let’s go contract someone to, um, write some games for us.” Do you begin to see how incredibly wrong that thinking is now? The problem is that we are trying to predict what people want and deliver it for them.</p>
<p>You can’t do that. Not really. Not reliably. There have been precious few people in the world, over the entire history of computing, who have been able to do it reliably. Steve Jobs was one of them. We don’t have a Steve Jobs here. I’m sorry, but we don’t.</p>
<p>Larry Tesler may have convinced Bezos that he was no Steve Jobs, but Bezos realized that he didn’t need to be a Steve Jobs in order to provide everyone with the right products: interfaces and workflows that they liked and felt at ease with. He just needed to enable third-party developers to do it, and it would happen automatically.</p>
<p>I apologize to those (many) of you for whom all this stuff I’m saying is incredibly obvious, because yeah. It’s incredibly frigging obvious. Except we’re not doing it. We don’t get Platforms, and we don’t get Accessibility. The two are basically the same thing, because platforms solve accessibility. A platform is accessibility.</p>
<p>So yeah, Microsoft gets it. And you know as well as I do how surprising that is, because they don’t “get” much of anything, really. But they understand platforms as a purely accidental outgrowth of having started life in the business of providing platforms. So they have thirty-plus years of learning in this space. And if you go to msdn.com, and spend some time browsing, and you’ve never seen it before, prepare to be amazed. Because it’s staggeringly huge. They have thousands, and thousands, and THOUSANDS of API calls. They have a HUGE platform. Too big in fact, because they can’t design for squat, but at least they’re doing it.</p>
<p>Amazon gets it. Amazon’s AWS (aws.amazon.com) is incredible. Just go look at it. Click around. It’s embarrassing. We don’t have any of that stuff.</p>
<p>Apple gets it, obviously. They’ve made some fundamentally non-open choices, particularly around their mobile platform. But they understand accessibility and they understand the power of third-party development and they eat their dogfood. And you know what? They make pretty good dogfood. Their APIs are a hell of a lot cleaner than Microsoft’s, and have been since time immemorial.</p>
<p>Facebook gets it. That’s what really worries me. That’s what got me off my lazy butt to write this thing. I hate blogging. I hate… plussing, or whatever it’s called when you do a massive rant in Google+ even though it’s a terrible venue for it but you do it anyway because in the end you really do want Google to be successful. And I do! I mean, Facebook wants me there, and it’d be pretty easy to just go. But Google is home, so I’m insisting that we have this little family intervention, uncomfortable as it might be.</p>
<p>After you’ve marveled at the platform offerings of Microsoft and Amazon, and Facebook I guess (I didn’t look because I didn’t want to get too depressed), head over to developers.google.com and browse a little. Pretty big difference, eh? It’s like what your fifth-grade nephew might mock up if he were doing an assignment to demonstrate what a big powerful platform company might be building if all they had, resource-wise, was one fifth grader.</p>
<p>Please don’t get me wrong here — I know for a fact that the dev-rel team has had to FIGHT to get even this much available externally. They’re kicking ass as far as I’m concerned, because they DO get platforms, and they are struggling heroically to try to create one in an environment that is at best platform-apathetic, and at worst often openly hostile to the idea.</p>
<p>I’m just frankly describing what developers.google.com looks like to an outsider. It looks childish. Where’s the Maps APIs in there for Christ’s sake? Some of the things in there are labs projects. And the APIs for everything I clicked were… they were paltry. They were obviously dog food. Not even good organic stuff. Compared to our internal APIs it’s all snouts and horse hooves.</p>
<p>And also don’t get me wrong about Google+. They’re far from the only offenders. This is a cultural thing. What we have going on internally is basically a war, with the underdog minority Platformers fighting a more or less losing battle against the Mighty Funded Confident Producters.</p>
<p>Any teams that have successfully internalized the notion that they should be externally programmable platforms from the ground up are underdogs — Maps and Docs come to mind, and I know GMail is making overtures in that direction. But it’s hard for them to get funding for it because it’s not part of our culture. Maestro’s funding is a feeble thing compared to the gargantuan Microsoft Office programming platform: it’s a fluffy rabbit versus a T-Rex. The Docs team knows they’ll never be competitive with Office until they can match its scripting facilities, but they’re not getting any resource love. I mean, I assume they’re not, given that Apps Script only works in Spreadsheet right now, and it doesn’t even have keyboard shortcuts as part of its API. That team looks pretty unloved to me.</p>
<p>Ironically enough, Wave was a great platform, may they rest in peace. But making something a platform is not going to make you an instant success. A platform needs a killer app. Facebook — that is, the stock service they offer with walls and friends and such — is the killer app for the Facebook Platform. And it is a very serious mistake to conclude that the Facebook App could have been anywhere near as successful without the Facebook Platform.</p>
<p>You know how people are always saying Google is arrogant? I’m a Googler, so I get as irritated as you do when people say that. We’re not arrogant, by and large. We’re, like, 99% Arrogance-Free. I did start this post — if you’ll reach back into distant memory — by describing Google as “doing everything right”. We do mean well, and for the most part when people say we’re arrogant it’s because we didn’t hire them, or they’re unhappy with our policies, or something along those lines. They’re inferring arrogance because it makes them feel better.</p>
<p>But when we take the stance that we know how to design the perfect product for everyone, and believe you me, I hear that a lot, then we’re being fools. You can attribute it to arrogance, or naivete, or whatever — it doesn’t matter in the end, because it’s foolishness. There IS no perfect product for everyone.</p>
<p>And so we wind up with a browser that doesn’t let you set the default font size. Talk about an affront to Accessibility. I mean, as I get older I’m actually going blind. For real. I’ve been nearsighted all my life, and once you hit 40 years old you stop being able to see things up close. So font selection becomes this life-or-death thing: it can lock you out of the product completely. But the Chrome team is flat-out arrogant here: they want to build a zero-configuration product, and they’re quite brazen about it, and Fuck You if you’re blind or deaf or whatever. Hit Ctrl-+ on every single page visit for the rest of your life.</p>
<p>It’s not just them. It’s everyone. The problem is that we’re a Product Company through and through. We built a successful product with broad appeal — our search, that is — and that wild success has biased us.</p>
<p>Amazon was a product company too, so it took an out-of-band force to make Bezos understand the need for a platform. That force was their evaporating margins; he was cornered and had to think of a way out. But all he had was a bunch of engineers and all these computers… if only they could be monetized somehow… you can see how he arrived at AWS, in hindsight.</p>
<p>Microsoft started out as a platform, so they’ve just had lots of practice at it.</p>
<p>Facebook, though: they worry me. I’m no expert, but I’m pretty sure they started off as a Product and they rode that success pretty far. So I’m not sure exactly how they made the transition to a platform. It was a relatively long time ago, since they had to be a platform before (now very old) things like Mafia Wars could come along.</p>
<p>Maybe they just looked at us and asked: “How can we beat Google? What are they missing?”</p>
<p>The problem we face is pretty huge, because it will take a dramatic cultural change in order for us to start catching up. We don’t do internal service-oriented platforms, and we just as equally don’t do external ones. This means that the “not getting it” is endemic across the company: the PMs don’t get it, the engineers don’t get it, the product teams don’t get it, nobody gets it. Even if individuals do, even if YOU do, it doesn’t matter one bit unless we’re treating it as an all-hands-on-deck emergency. We can’t keep launching products and pretending we’ll turn them into magical beautiful extensible platforms later. We’ve tried that and it’s not working.</p>
<p>The Golden Rule of Platforms, “Eat Your Own Dogfood”, can be rephrased as “Start with a Platform, and Then Use it for Everything.” You can’t just bolt it on later. Certainly not easily at any rate — ask anyone who worked on platformizing MS Office. Or anyone who worked on platformizing Amazon. If you delay it, it’ll be ten times as much work as just doing it correctly up front. You can’t cheat. You can’t have secret back doors for internal apps to get special priority access, not for ANY reason. You need to solve the hard problems up front.</p>
<p>I’m not saying it’s too late for us, but the longer we wait, the closer we get to being Too Late.</p>
<p>I honestly don’t know how to wrap this up. I’ve said pretty much everything I came here to say today. This post has been six years in the making. I’m sorry if I wasn’t gentle enough, or if I misrepresented some product or team or person, or if we’re actually doing LOTS of platform stuff and it just so happens that I and everyone I ever talk to has just never heard about it. I’m sorry.</p>
<p>But we’ve gotta start doing this right.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/10/25/steve-yegge-on-the-benefit-of-platforms/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/10/25/steve-yegge-on-the-benefit-of-platforms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Death Clock Begins for Google Image Search API amongst others</title>
		<link>http://www.victusspiritus.com/2011/05/27/death-clock-begins-for-google-image-search-amongst-others/</link>
		<comments>http://www.victusspiritus.com/2011/05/27/death-clock-begins-for-google-image-search-amongst-others/#comments</comments>
		<pubDate>Fri, 27 May 2011 11:05:42 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/2011/05/27/death-clock-begins-for-google-image-search-amongst-others/</guid>
		<description><![CDATA[<p>This morning I caught up on the troubling news that Google is performing <a href="http://googlecode.blogspot.com/2011/05/spring-cleaning-for-some-of-our-apis.html">spring cleaning for some of their APIs</a>. Amongst the damned is my beloved image search API which I enjoyed leveraging in a number of web apps. &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>This morning I caught up on the troubling news that Google is performing <a href="http://googlecode.blogspot.com/2011/05/spring-cleaning-for-some-of-our-apis.html">spring cleaning for some of their APIs</a>. Amongst the damned is my beloved image search API which I enjoyed leveraging in a number of web apps. Joining my favored API on the &#8220;long flush&#8221; are a host of other interfaces:<span id="more-9071"></span></p>
<blockquote><p>
These APIs will be shut down as per their deprecation policies: Blog Search API, Books Data API and Books JavaScript API (not the new API), Image Search API, News Search API, Patent Search API, Safe Browsing API (v1 only), Translate API, Transliterate API, Video Search API, Virtual Keyboard API
</p></blockquote>
<p>We can infer that the cost to support these APIs was more than Google was willing to bear. Expect more belt tightening for the web giant, as it focuses on its core business and revenue pipeline in the web war for our attention.</p>
<p>If you rely on any of these APIs I suggest finding a replacement (I&#8217;ll be looking into <a href="http://msdn.microsoft.com/en-us/library/dd251094.aspx">Bing&#8217;s image search API</a>), or better yet replicate the functionality internally or through scraper wiki.</p>
<p>Related post:</p>
<ul>
<li><a href="http://m.readwriteweb.com/archives/google_announces_apis_scheduled_for_shutdown.php">ReadWriteWeb coverage</a> by Audrey Watters</li>
</ul>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2011/05/27/death-clock-begins-for-google-image-search-amongst-others/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2011/05/27/death-clock-begins-for-google-image-search-amongst-others/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Ad Plays Nice with IE/Firefox, Fails to Render in Chrome/Safari</title>
		<link>http://www.victusspiritus.com/2009/12/14/amazon-ad-plays-nice-with-iefirefox-fails-to-render-in-chromesafari/</link>
		<comments>http://www.victusspiritus.com/2009/12/14/amazon-ad-plays-nice-with-iefirefox-fails-to-render-in-chromesafari/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 12:49:49 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[victus media]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/2009/12/14/amazon-ad-plays-nice-with-iefirefox-fails-to-render-in-chromesafari/</guid>
		<description><![CDATA[<h2>Product Preview</h2>
<p>Amazon product links have an interesting optional functionality called Product Preview. It has had other arcane names in the past (link enhancer), but has a similar functionality to <a href="http://www.snap.com/">Snapshots</a>. Basically when you mouse over an enhanced link, &#8230;</p>]]></description>
			<content:encoded><![CDATA[<h2>Product Preview</h2>
<p>Amazon product links have an interesting optional functionality called Product Preview. It has had other arcane names in the past (link enhancer), but has a similar functionality to <a href="http://www.snap.com/">Snapshots</a>. Basically when you mouse over an enhanced link, the browser renders a small image with detailed information. </p>
<p><span id="more-2520"></span></p>
<p>The function has a few nifty features:</p>
<ul>
<li>It shows the Amazon logo/frame that triggers more consumer trust than a random link</li>
<li>It gives latest pricing information</li>
<li>it shows a product image</li>
<li>it conserves page real estate</li>
</ul>
<h2>Getting it to work</h2>
<p>So after some html and scripting views of an old website (<a href="http://www.dreamsnare.com">my first</a>) both Tyler and I dug up the official documentation at the Amazon Affiliate lair. With some tweaking of the URL and the appended image we were in business on our end. Then we added the Amazon JavaScript and whala: </p>
<ul>
<li>It worked in Firefox</li>
<li>An empty Amazon box popped up on Chrome</li>
<li>It worked in Internet Exploder</li>
</ul>
<p>It worked in IE but not Chrome, (*engineering expletives deleted?!?*).<br />
Why had my beloved speed demon of a browser forsaken me? It turns out <a href="http://www.problogger.net/archives/2006/10/12/amazon-launches-product-preview-to-associates/">there&#8217;s a known issue with Product Preview with WebKit browsers</a>. Problogger Darren Rowse (sharp fellow that I bumped into on Twitter a while back) discovered this almost three years ago. As you can witness, this has been a HOT BUTTON topic for the folks at Safari and Chrome land. It&#8217;s a rendering problem they don&#8217;t care to fix or that Amazon doesn&#8217;t see value in working around.</p>
<p>My gut instinct is to punt and show the boxes in the widget all the time, and to revisit alternate designs that work cross browser and cross ad platform (Google, Microsoft, our own). Generic views my ass <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h2>Why we looked at the design</h2>
<p>The <a HREF="http://victusmedia.com">Intelligent Media Manager</a> has a widget ad box that is in a continual state of improvement. In addition to planned and implemented semantic functional upgrades the base ad display was in need of spiffing up. </p>
<p>Before we hire on a web designer pro to make the ad box a sexy irresistable force of nature, we want to gather more information and gradually grow our user base. I figured an evening of elbow polish would help after some feedback from designer friend <a href="http://www.linkedin.com/pub/shana-carp">Shana Carp</a> (she wants to support our concept by hosting the box, but thinks it&#8217;s a bit of an eyesore). Ideally the ad widget will be fully customizable by the host to allow for smooth thematic integration.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/12/14/amazon-ad-plays-nice-with-iefirefox-fails-to-render-in-chromesafari/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/12/14/amazon-ad-plays-nice-with-iefirefox-fails-to-render-in-chromesafari/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Social Search, True or False Dichotomy</title>
		<link>http://www.victusspiritus.com/2009/12/08/google-social-search-true-or-false-dichotomy/</link>
		<comments>http://www.victusspiritus.com/2009/12/08/google-social-search-true-or-false-dichotomy/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 13:39:43 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[real time]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[social web]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/2009/12/08/google-social-search-true-or-false-dichotomy/</guid>
		<description><![CDATA[<h2>What is Social Search?</h2>
<p>Google is known as the undisputed lead in web search. But the rise of social media sharing has lead to a large fraction of users bypassing standard search portals (no ad toll, or someone else gets &#8230;</p>]]></description>
			<content:encoded><![CDATA[<h2>What is Social Search?</h2>
<p>Google is known as the undisputed lead in web search. But the rise of social media sharing has lead to a large fraction of users bypassing standard search portals (no ad toll, or someone else gets the ad revenue). Our friends, colleagues and folks we respect have proved to be incredibly powerful super human filters (<a href="http://blog.louisgray.com/2009/11/keep-close-eye-on-chris-messina-for.html">mortal portals, ca-ching another nickel Louis Gray</a>).</p>
<p><span id="more-2464"></span></p>
<p>From blogs to videos people can share media directly with their friends. Social platforms like Twitter, Friendfeed, and Facebook have taken advantage of this sharing by providing excellent channels for people to connect on. This has not gone unnoticed by large search companies like Google and Microsoft.</p>
<h2>Google&#8217;s Social Solution</h2>
<p>Maureen Heymans shows a couple of examples of how Google has implemented social search at the end of October.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/ZqWJxgp-_mU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ZqWJxgp-_mU&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here&#8217;s the latest video showcasing real time search:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/WRkYmx4A9Do&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/WRkYmx4A9Do&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The official announcement <a href="http://googleblog.blogspot.com/2009/12/relevance-meets-real-time-web.html">from Google is here</a>. You can try it out now by going to <a href="http://www.google.com/trends">http://www.google.com/trends</a> and typing in a query in the search box. Google is working to integrate social search into their data centers globally. When activated you&#8217;ll see a live update box in the center of the search results page. This will be optional to users that prefer not to see it.</p>
<h2>So where&#8217;s the Dichotomy Mark?</h2>
<p>From <a href="http://en.m.wikipedia.org/wiki/Dichotomy?wasRedirected=true">wikipedia a dichotomy</a> is clealy defined:</p>
<blockquote><p>In other words, it is a partition of a whole (or a set) into two parts (subsets) that are:</p>
<p>mutually exclusive: nothing can belong simultaneously to both parts, and</p>
<p>jointly exhaustive: everything must belong to one part or the other.<br />
The two parts thus formed are complements. In logic, the partitions are opposites if there exists a proposition such that it holds over one and not the other.</p></blockquote>
<p>A false dichotomy is a case which fails one or both of the above criteria (related <a href="http://en.wikipedia.org/wiki/False_dilemma">false dilemma</a>).</p>
<p>The complete set of relationships, their meaning, value and strength of influence is stored in our minds fragile memory. Our <a href="http://en.m.wikipedia.org/wiki/Memory?wasRedirected=true">memory</a> is subject to a change of state simple by accessing it. Businesses seek to extricate and externally duplicate as much of this (relationship) information as is profitable/possible. I should know, I am one of them. It is necessary for businesses to pony up something in exchange for this rich information. <strong>&#8220;A penny for your thoughts&#8221; is not just a saying anymore</strong>.</p>
<p>Until we share a complete synchronous state between our minds and a digital replication, there will always be a clear separation of social and software. Relationships shift over time, more so for weaker connections. There is a disconnect between automated search and social connectivity.</p>
<p>Although there are great challenges in social search, there is also vast potential. There is growing value even in the limited social data we have created thus far. We should empower each user over time to gradually map out the strength of each of their social connections and channels. This should occur through natural usage of discovery portals, and be information that is owned by the user (portable, private as desired).</p>
<p>Don&#8217;t worry about Google not being able to cross the divide between mind and the net today. They have plenty of other portals into our world. <a href="http://www.google.com/mobile/goggles/">Google Goggles</a> will expand the ubiquity of the web into mobile even further.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/Hhgfz0zPmH4&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/Hhgfz0zPmH4&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Related Posts:<br />
<a href="http://technologizer.com/2009/12/07/google-search-goes-real-time/">Harry McCracken of Technologizer</a> breaks down Google  real time search<br />
<a href="http://www.readwriteweb.com/archives/five_fabulous_new_features_google_unveiled_today.php">Marshall Kirkpatrick of ReadWriteWeb</a> discusses 5 fabulous new features Google unveiled</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://mashable.com/2009/12/07/what-real-time-means-for-googles-competitors/">What Real-time Means for Google&#8217;s Competitors</a> (mashable.com)</li>
<li class="zemanta-article-ul-li"><a href="http://r.zemanta.com/?u=http%3A//www.telegraph.co.uk/technology/google/6752725/Google-launches-Google-Goggles-visual-search.html&amp;a=10250816&amp;rid=506ae255-9010-448f-a75b-7db90780b39b&amp;e=1dcc6cb5f467710e662ec9d33c89dc5d">Google launches Google Goggles visual search</a> (telegraph.co.uk)</li>
<li class="zemanta-article-ul-li"><a href="http://gigaom.com/2009/12/07/google-amps-up-real-time-and-mobile-search/">Google Amps Up Real-time and Mobile Search</a> (gigaom.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.sfgate.com/cgi-bin/article.cgi?f=/n/a/2009/12/07/financial/f115234S07.DTL&amp;feed=rss.technology">Google search results to include &#8216;real-time&#8217; data</a> (sfgate.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/506ae255-9010-448f-a75b-7db90780b39b/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=506ae255-9010-448f-a75b-7db90780b39b" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/12/08/google-social-search-true-or-false-dichotomy/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/12/08/google-social-search-true-or-false-dichotomy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ChromeOS more than a dumb terminal?</title>
		<link>http://www.victusspiritus.com/2009/11/20/chromeos-more-than-a-dumb-terminal/</link>
		<comments>http://www.victusspiritus.com/2009/11/20/chromeos-more-than-a-dumb-terminal/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 13:37:23 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=2282</guid>
		<description><![CDATA[<p><a href="http://www.flickr.com/people/dhilung/"></a><span id="more-2282"></span></p>
<h2>But Mark what&#8217;s a terminal?</h2>
<p>If you&#8217;re unfamiliar with older computer architectures here&#8217;s the low down on terminals. Back in the olden days, when the Internet was a gleam in engineers eye&#8217;s (and even further), most business and educational computer &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/people/dhilung/"><img class="aligncenter size-full wp-image-2283" title="ShimmeringCity" src="http://www.victusspiritus.com/wp-content/uploads/2009/11/ShimmeringCity.jpg" alt="ShimmeringCity" width="480" height="330" /></a><span id="more-2282"></span></p>
<h2>But Mark what&#8217;s a terminal?</h2>
<p>If you&#8217;re unfamiliar with older computer architectures here&#8217;s the low down on terminals. Back in the olden days, when the Internet was a gleam in engineers eye&#8217;s (and even further), most business and educational computer system architectures consisted of one or more mainframes/super servers, and many terminal nodes. Terminals had limited memory and functionality but were capable of directing resources on a heavy hitting server. Terminals were cheap and would allow many users to access central processing systems. Meanwhile home computers (the desktop) were just coming into existence (commodore/ vic20, TI99). In parallel both servers and desktop systems evolved. Eventually, in most businesses the desktop prevailed as a more useful node than the dumb terminal. </p>
<p>The web has captured many of our imaginations. And Google percieves (among others) a user need for dedicated portals to web services. In effect Chrome OS will allow for advanced terminals to one super mainframe of information, the Internet.</p>
<h2>Pros and Cons of Chrome OS</h2>
<p>The advantages include simplicity in administration, security, and portability for any browser OS system. The disadvantages include a lack of localized resources (minimal local caching), and reliance on connectivity for almost all functionality.</p>
<p>We use a variety of systems: a desktop, laptop or developer capable smartphone. The smartphone merges functionally with larger devices when I can code comfortably on it, <a href="http://www.paulgraham.com/apple.html">Paul Graham mentioned this need recently</a>. My preference is a full functioning OS with an optimized browser. Then I get the best of both worlds.</p>
<h2>Quick Top Level Description</h2>
<p>If you are new to the Chrome OS, or would like a refresher on the current project vision this video should help you get an idea of the design direction of the Chrome OS.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="330" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/0QRO3gKj3qw&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;feature=player_embedded&#038;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="330" src="http://www.youtube.com/v/0QRO3gKj3qw&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;feature=player_embedded&#038;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h2>See an early demo version</h2>
<p>This is a longer video (just over 11min) that shows a version of Chrome OS in action.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="330" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/ANMrzw7JFzA&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;feature=player_embedded&#038;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="330" src="http://www.youtube.com/v/ANMrzw7JFzA&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;feature=player_embedded&#038;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/11/20/chromeos-more-than-a-dumb-terminal/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/11/20/chromeos-more-than-a-dumb-terminal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Wave Meme &#8211; Pulp Fiction!</title>
		<link>http://www.victusspiritus.com/2009/11/10/google-wave-meme-pulp-fiction/</link>
		<comments>http://www.victusspiritus.com/2009/11/10/google-wave-meme-pulp-fiction/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 11:01:42 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[social web]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=2155</guid>
		<description><![CDATA[<p>I came across some Google Wave art this morning, and recognized it instantly as a classic!<br />
<br />
Awesome job by <a href="http://www.youtube.com/user/copyrighthater"> Copyrighthater </a>!</p>
<p><span id="more-2155"></span></p>
<p>Besides the wonderful thematic recreation, the video conveys many of the early utilities of Google wave.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/11/10/google-wave-meme-pulp-fiction/"></a>&#8230;</div>]]></description>
			<content:encoded><![CDATA[<p>I came across some Google Wave art this morning, and recognized it instantly as a classic!<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/xcxF9oz9Cu0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/xcxF9oz9Cu0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
Awesome job by <a href="http://www.youtube.com/user/copyrighthater"> Copyrighthater </a>!</p>
<p><span id="more-2155"></span></p>
<p>Besides the wonderful thematic recreation, the video conveys many of the early utilities of Google wave.</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/11/10/google-wave-meme-pulp-fiction/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/11/10/google-wave-meme-pulp-fiction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>14 million ways to skin a cat &#8211; web programming</title>
		<link>http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/</link>
		<comments>http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 11:43:12 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[FriendFeed]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google appengine]]></category>
		<category><![CDATA[java virtual machine]]></category>
		<category><![CDATA[semantic]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=2001</guid>
		<description><![CDATA[<p>(note: I don&#8217;t support the  skinning of cats)</p>
<h1>Web Programming Languages</h1>
<p>While I&#8217;m relatively new to web programming, there is a fairly large barrier to entry to this wonderful world of creation for someone like myself. You see, I like &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>(note: I don&#8217;t support the  skinning of cats)</p>
<h1>Web Programming Languages</h1>
<p>While I&#8217;m relatively new to web programming, there is a fairly large barrier to entry to this wonderful world of creation for someone like myself. You see, I like to choose the best tool for a job and get to work. The problem is, there are too many damn good tools for web programming, and I&#8217;m not knowledgeable enough to decide on which is the right one to use for any given project.</p>
<p><span id="more-2001"></span></p>
<p>The short list of programming languages &amp; tools I&#8217;ve come across and used in the past few months:</p>
<ul>
<li><a href="http://www.w3schools.com/htmL/default.asp">html</a> (web hypertext markup language)</li>
<li><a href="http://php.net/index.php">php</a> (interpreted web programming language)</li>
<li><a href="http://www.greenteapress.com/thinkpython/thinkpython.html">python</a> (interpreted web programming language)</li>
<li><a href="http://www.w3schools.com/js/js_intro.asp">javascript</a> (scripting language for web programming)</li>
<li><a href="http://www.ruby-lang.org/en/">ruby</a> (scripting language for web programming)</li>
<li><a href="http://rubyonrails.org/documentation">rails</a> (web framework built on ruby)</li>
<li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK</a> (java developers kit)</li>
<li><a href="http://java.sun.com/docs/books/tutorial/">java</a> (virtual machine based language &#8211; JVM)</li>
<li><a href="http://www.scala-lang.org/">scala</a> (functional and object oriented language that compiles with the JVM)</li>
<li><a href="http://liftweb.net/">lift</a> (web framework built on scala)</li>
<li><a href="http://apiwiki.twitter.com/Twitter-API-Documentation">twitter search API</a> (interface to microblogging)</li>
<li><a href="http://apiwiki.twitter.com/">twitter account API</a> (interface to microblogging)</li>
<li><a href="http://friendfeed.com/api/documentation">friendfeed API</a> (interface to microblogging)</li>
<li><a href="http://code.google.com/appengine/">Google Application Engine</a> (framework for web hosting/programming, GAE)</li>
<li><a href="http://www.caucho.com/resin-3.0/quercus/">Quercus</a> (compiler for php on the java virtual machine since the GAE doesn&#8217;t support php)</li>
<li><a href="http://maven.apache.org/">maven</a> build and dependency/repository extraction tool (make on steroids)</li>
<li><a href="http://www.netbeans.org/">netbeans</a> (IDE for (web) programming languages)</li>
<li><a href="http://wiki.netbeans.org/Scala">netbeans scala plugi</a>n (plugin for scala)</li>
<li><a href="http://www.eclipse.org/">eclipse</a> (IDE for (web) programming languages)</li>
<li><a href="http://www.scala-lang.org/node/94">eclipse scala plugin</a> (plugin for scala)</li>
<li><a href="http://code.google.com/eclipse/">eclipse GAE plugin</a> (plugin for building GAE projects)</li>
<li><a href="http://dev.mysql.com/doc/">MYSQL</a> (relational database implementation for SQL)</li>
<li><a href="http://www.mongodb.org/display/DOCS/Home">MongoDB</a> (alternative database solution)</li>
<li><a href="http://code.google.com/appengine/docs/python/gettingstarted/usingdatastore.html">DataStore</a> ( or simple data store Googles database for GAE projects and others)</li>
</ul>
<p>Each of the above tools is complex in it&#8217;s own right. The sum of all these tools is dizzying in their combined intricacies. Any web based project may interact with many (or all) of the above tools, languages, APIs, and/or databases. These implementation choices are in addition to hosting options (dedicated server, virtual server, cloud scaled servers).</p>
<p>As an example, I spent a couple of weeks just tooling with the Friendfeed API v2. Then a few weeks later the business was purchased by Facebook. With an unclear future (Friendfeed is only receiving minimal developer resources/time) that time may have been ill spent, except for the fact that I was able to experience the Google Application Engine for the first time. Google should be around for a few more years at least <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<h2>The Specific Problem:</h2>
<p>To build a tool that:</p>
<ol>
<li>create a user profile to associate several different social media channels together (aggregator)</li>
<li>categorize social comments (microblogging, tweets, blog comments, blog posts) through automation, and user feedback</li>
<li>enter the extracted tags, any confidence or weights into a database associated with the original social media URL</li>
<li>allow users to adjust the tags, and any weights with an interface</li>
<li>provide personalized ads to the users from web hosts with a plugin/widget/adbox</li>
<li>provide utilities to the user
<ul>
<li>2-way search tools to the user</li>
<li>passive or active search for other users who share their interests</li>
<li>passive or active search within other microblog/blog posts related to their tags/topics of interest in a dynamic way (update in real time as folks naturally use social channels)</li>
<li>game like behavior must be fundamental to the process to aid user adoption and enjoyment. i.e. minigames based on semantic categorization</li>
</ul>
</li>
</ol>
<p>Of course this design may or may not be something users are even interested in. We plan on learning from people who play with the various product/tool versions.</p>
<p>I&#8217;d like to help develop additional tools to help me find information that&#8217;s relevant to my interests (a virtual personal assistant) without having to know what specific search terms to enter. I wouldn&#8217;t mind targeted/personal ads that are relevant to my interests, in fact I&#8217;d prefer them to banner (or completely inappropriate) ads.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.victusspiritus.com/2009/07/24/web-programming-foo/">Practical Web Programming with the friendfeed API &amp; Google App Engine</a> (victusspiritus.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.slideshare.net/sullis/google-app-engine-september-17-2009">Google App Engine &#8211; September 17 2009</a> (slideshare.net)</li>
<li class="zemanta-article-ul-li"><a href="http://www.viget.com/extend/prototyping-java-processing-in-ruby-processing/">Prototyping Java-Processing in Ruby-Processing</a> (viget.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.readwriteweb.com/enterprise/2009/09/socialwok-is-a-friendfeed-for-google-apps.php">Socialwok is a FriendFeed for Google Apps</a> (readwriteweb.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/9bfa303b-065e-4da7-98fd-c6345a166a88/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=9bfa303b-065e-4da7-98fd-c6345a166a88" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/10/28/14-million-ways-to-skin-a-cat-web-programming/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Augmented Reality Using Google Wave as a Protocol</title>
		<link>http://www.victusspiritus.com/2009/10/17/augmented-reality-using-google-wave-as-a-protocol/</link>
		<comments>http://www.victusspiritus.com/2009/10/17/augmented-reality-using-google-wave-as-a-protocol/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 12:32:21 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[augmented reality]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[far out]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=1893</guid>
		<description><![CDATA[<p>Browsing wave this morning I came across a few folks interested in laying the foundation for a common augmented reality system. <a href="http://www.lostagain.nl/tempspace/PrototypeDiagram.html">Here&#8217;s a diagram</a> showing a conceptual information flow, but instead of IRC wave may be a better choice of &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Browsing wave this morning I came across a few folks interested in laying the foundation for a common augmented reality system. <a href="http://www.lostagain.nl/tempspace/PrototypeDiagram.html">Here&#8217;s a diagram</a> showing a conceptual information flow, but instead of IRC wave may be a better choice of data channel. Users can select waves to layer perception of augmented objects. Some waves could represent Yelp like reviews, others could be banner ads floating over a beach, while even apparel or hairstyles could be virtually attached to real world objects. The applications are unlimited but first there are barriers to implementation.<span id="more-1893"></span></p>
<p>Here&#8217;s the initial concept (using IRC as a communication channel) from <a href="http://www.ugotrade.com/2009/08/19/everything-everywhere-thomas-wrobels-proposal-for-an-open-augmented-reality-network/">Thomas Wrobel</a>:</p>
<p><span style="background-color: #ffffff;"><a href="http://www.victusspiritus.com/wp-content/uploads/2009/10/PrototypeDiagram3_wave1_11.png"><img class="alignnone size-full wp-image-1900" title="PrototypeDiagram3_wave1_1" src="http://www.victusspiritus.com/wp-content/uploads/2009/10/PrototypeDiagram3_wave1_11.png" alt="PrototypeDiagram3_wave1_1" width="480" height="250" /></a></span></p>
<p>Bandwidth usage for complex visual or animating objects could be intensive. Current solutions for virtual worlds involve large client databases or rendering software (second life, World of Warcraft). So in all likelihood a rich augmented reality protocol will have some simple defaults, but allow localized users to scale up the visual quality as far as their local devices and databases allow.</p>
<p>You may remember a few months back I posted this video (created with <a href="http://ge.ecomagination.com/smartgrid/#/augmented_reality">GE&#8217;s smart grid tech</a>):<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="360" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowScriptAccess" value="sameDomain" /><param name="allowfullscreen" value="true" /><param name="src" value="http://technology.todaysbigthing.com/betamax/betamax.swf?item_id=1310&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="480" height="360" src="http://technology.todaysbigthing.com/betamax/betamax.swf?item_id=1310&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="sameDomain"></embed></object></p>
<p>This is an idea to scale that sort of technology to be more generally available to developers, and users.<br />
I&#8217;ve inserted a view to the wave that tuned me into the concept this morning:<br />
[wave id="googlewave.com!w+JAcNzz16A"]</p>
<p>And the some more technical information here:<br />
[wave id="googlewave.com!w+hvk2Fj3wB"]</p>
<h6 class="zemanta-related-title" style="font-size:1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.readwriteweb.com/archives/iphone_augmented_reality_hack.php">Devs Hack iPhone API for True Augmented Reality</a> (readwriteweb.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.joystiq.com/2009/10/16/hand-from-above-augmented-reality-for-pedestrians/">Hand From Above: Augmented reality for pedestrians</a> (joystiq.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.mobilecrunch.com/2009/09/22/layar-enhances-augmented-reality-browser-platform-with-3d-capabilities/">Think Augmented Reality Is Cool? Layar Adds 3D Element To AR Browsing</a> (mobilecrunch.com)</li>
<li class="zemanta-article-ul-li"><a href="http://openmode.ca/2009/09/pseudo-augmented-reality/">Pseudo Augmented Reality</a> (openmode.ca)</li>
<li class="zemanta-article-ul-li"><a href="http://mashable.com/2009/09/24/bionic-eye/">BIONIC EYE: Augmented Reality on the iPhone</a> (mashable.com)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/7843ef94-e235-47f8-b289-eaa41efcba57/"><img class="zemanta-pixie-img" style="border:none;float:right" src="http://img.zemanta.com/reblog_e.png?x-id=7843ef94-e235-47f8-b289-eaa41efcba57" alt="Reblog this post [with Zemanta]" /></a><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/10/17/augmented-reality-using-google-wave-as-a-protocol/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/10/17/augmented-reality-using-google-wave-as-a-protocol/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How to Embed Google Wave on Your WordPress Blog</title>
		<link>http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/</link>
		<comments>http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:06:25 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[social web]]></category>
		<category><![CDATA[web/tech]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/?p=1861</guid>
		<description><![CDATA[<p>First grab the plugin wavr from Lucas Caro <a href="http://wordpress.org/extend/plugins/wavr/">here</a> or simply search for wavr in the plugin search of your blog&#8217;s administration page. Big thanks to <a href="http://www.icstatic.com/">Ian Norris</a> for helping me extract the wave ID from the URL. Translation thanks &#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>First grab the plugin wavr from Lucas Caro <a href="http://wordpress.org/extend/plugins/wavr/">here</a> or simply search for wavr in the plugin search of your blog&#8217;s administration page. Big thanks to <a href="http://www.icstatic.com/">Ian Norris</a> for helping me extract the wave ID from the URL. Translation thanks to <a href="http://andrewhitchcock.org/?post=322">Aunt-Rosie bot built by Andrew</a>.</p>
<p>Quick side note: I came across a promising new crowd sourced/filtering site: <a href="http://www.waverz.com/news">waverz</a>. Worried about finding relevant and useful public waves? Let waverz gather the filtering results for you.<span id="more-1861"></span></p>
<p>Then create a public wave:</p>
<p>[wave id="googlewave.com!w+ZZjLgImEV"]</p>
<p>Then get your Wave ID</p>
<p>[wave id="googlewave.com!w+ZZjLgImEY"]</p>
<p>and in your blog post simply type in<br />
<img class="aligncenter size-medium wp-image-1864" title="WaveID" src="http://www.victusspiritus.com/wp-content/uploads/2009/10/WaveID-300x48.jpg" alt="WaveID" width="300" height="48" /></p>
<p>I also am embedding my wave reference guide which is likely to grow over the coming weeks:<br />
[wave id="googlewave.com!w+BPfngnK9B"]</p>
<h1>Alternate Method Using Javascript</h1>
<p>Here&#8217;s an alternative method to embed a wave into a page from <a href="http://h-rp.pl/">Bartosz Misiak</a>:</p>
<p>&lt;script src=&#8221;http://wave-api.appspot.com/public/embed.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;<br />
<span style="background-color: #ffffff;">&lt;div id=&#8221;waveframe&#8221; style=&#8221;margin:10px auto;width: 700px; height: 600px&#8221;&gt;&lt;/div&gt;</span><br />
<span style="background-color: #ffffff;">&lt;script type=&#8221;text/javascript&#8221;&gt;</span><br />
<span style="background-color: #ffffff;">var wavePanel = new WavePanel(\&#8217;http://wave.google.com/wave/\&#8217;);</span><br />
<span style="background-color: #ffffff;">var conf = new WavePanel.UIConfig();</span><br />
<span style="background-color: #ffffff;">conf.setBgcolor(&#8220;#ffffff&#8221;);</span><br />
<span style="background-color: #ffffff;">wavePanel.setUIConfigObject(conf);</span><br />
<span style="background-color: #ffffff;">wavePanel.loadWave(\&#8217;googlewave.com!w+V0z74nNGH\&#8217;);</span><br />
<span style="background-color: #ffffff;">wavePanel.init(document.getElementById(\&#8217;waveframe\&#8217;));</span><br />
<span style="background-color: #ffffff;">&lt;/script&gt;</span></p>
<h1>Don&#8217;t sweat it if you don&#8217;t yet have Google Wave access</h1>
<p>For those that don&#8217;t have access to wave I&#8217;ve added the gist of each of the above waves.<br />
More importantly a the waverz site mentioned earlier has an archived site page: <a href="http://archive.waverz.com/">Waverz Archive</a> for access to the best parts of wave without the BIG hit to your bandwidth.</p>
<p>Create a public wave:</p>
<p style="padding-left: 30px; margin: 0px;">first go to your contacts and hit the + key at the bottom</p>
<p style="padding-left: 30px; margin: 0px;">then type in: public@a.gwave.com and hit enter</p>
<p style="padding-left: 30px; margin: 0px;">then drag this user and at least one more to a new wave and whala, you&#8217;ve made a new public wave.</p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Would like to create more of these quick tip waves, and potentially link them together in a super wave that helps new wave users get moving fast.</p>
<p style="padding-left: 30px; margin: 0px;">here&#8217;s the guide I&#8217;m building: <a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BZZjLgImEQ">Wave Guide: Waves Greatest Hits</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="margin: 0px;">
<p style="margin: 0px;">Get your public waves ID:</p>
<p style="padding-left: 30px; margin: 0px;">In the URL at the top of your screen contains your wave-id.</p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">for example:</p>
<p style="padding-left: 30px; margin: 0px;">https://wave.google.com/wave/#restored:wave:<span style="background-color: #ffe500;">googlewave.com!w%252BZZjLgImEY</span></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">the wave-id is: <a style="font-family: arial, sans-serif; color: #003ea8; background-color: #ffe500;" href="http://googlewave.com/" target="_blank">googlewave.com</a><span style="background-color: #ffe500;">!w+ZZjLgImEY</span></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffe500;">removing any trailing characters including a trailing .</span></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Here&#8217;s a working example of using the ID on my blog:</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #664d9f;" href="http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/" target="_blank">http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">Thanks to Ian Norris for his explanation here: <a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BIsniw_SoA">Blog test</a></span></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Ok, so your URL (in chrome) looks like this:</p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">https://wave.google.com/wave/#minimized:nav,minimized:contact,dropdown:search,restored:wave:googlewave.com!w%252BIsniw_SoA.3</span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">So from that we take everything after the wave: bit like so:</span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">googlewave.com!w%252BIsniw_SoA.3</span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">Then we drop the bit after the dot:</span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">googlewave.com!w%252BIsniw_SoA</span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">and change the %252B to a +</span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">googlewave.com!w+Isniw_SoA</span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;">And use that <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p style="padding-left: 30px; margin: 0px;"><span style="background-color: #ffffff;"><br />
</span></p>
<p style="margin: 0px;">
<p style="margin: 0px;">Early Look at Wave Guide:  Wave&#8217;s Greatest Hits:</p>
<p style="padding-left: 30px; margin: 0px;">This is a short (curated list) of groovy waves in no particular order (please fee free to add to it, your finds will help me as well)</p>
<p style="padding-left: 30px; margin: 0px;">How Tos:</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BRl-vBMEWC">How to Link to a Wave</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BZZjLgImEV">How to Build a Public Wave</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BZZjLgImEY">How to Get Your Wave ID</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #664d9f;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2B9wEkpHp-B">How to Embed Google Wave on Your WordPress Blog</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BIsniw_SoA">Blog test</a> (setup wave on your wordpress blog)</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BX962FHUeA">Hello Wave!</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2B-TGtUzPmv">Search Cheat Sheet</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #664d9f;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BrMeDkXb-E">The Comprehensive Usage Guide to Google Wave</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Web Communities</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2Bgvx6OToYI">Reddit v3.0 \/\/elcome Redditors!</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2B6AdmjWY4A">The news.YCombinator wave:</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BYQYzprjkC">Hello Ars Technica Nerds&#8230;</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BagE5lGK-A">Lifehacker Discussion</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Non-Profit Waves</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2B--1_kJrAK">Welcome to the Nonprofit Wave.</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Project Management Tools</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BEmf6dDNmI">Google Wave For Project Management</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Robots!</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2B3sCztfM2BX">( ɷ ) Wave Bots: </a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2Bv4vDq9a4A">Robots List Page</a> (tried moving the comment down to the bottom and it vanished <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BjhwKaZVyA">Creating Wave Robots using Java &#8211; A Complete Tutorial</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BRz-PM7LmK">Create Wave Robots using Scala/Lift</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Wave Status, Utilities, Bandwidth</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BRTdzDu2wo">Wave Bandwidth Utilisation and Protocols</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p style="padding-left: 30px; margin: 0px;">Miscellaneous Goodies:</p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BZZjLgImEA">What Inspires You?</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BRl-vBMEWJ">Shared Globe</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #003ea8;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2By3QRPhbyC">What&#8217;s the geekiest thing you&#8217;ve done today?</a></p>
<p style="padding-left: 30px; margin: 0px;"><a style="font-family: arial, sans-serif; color: #664d9f;" href="https://wave.google.com/wave/#restored:wave:googlewave.com!w%2BSM2synNqC">This Is The Wave That Never Ends</a></p>
<p style="padding-left: 30px; margin: 0px;">
<p>For an iframe alternative you can use the iframe embed plugin:<br />
<a href="http://blog.deskera.com/wordpress-plugin-embed-iframe/">Deskera&#8217;s plugin</a><br />
and point to the url of a public wave (I haven&#8217;t tested this option yet).</p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Google Wave AHA! moment, with:public is Awesome</title>
		<link>http://www.victusspiritus.com/2009/10/13/google-wave-aha-moment-withpublic-is-awesome/</link>
		<comments>http://www.victusspiritus.com/2009/10/13/google-wave-aha-moment-withpublic-is-awesome/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 12:54:18 +0000</pubDate>
		<dc:creator>Mark Essel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[social web]]></category>

		<guid isPermaLink="false">http://www.victusspiritus.com/2009/10/13/google-wave-aha-moment-withpublic-is-awesome/</guid>
		<description><![CDATA[<h1>Would You Like with:public with your Wave?</h1>
<p>Absolutely, Emphatically, Yes! To make a public wave you simply add the public@a.gwave.com user to your contact list, then drag that user to the wave. You gotta hand it to Google to make &#8230;</p>]]></description>
			<content:encoded><![CDATA[<h1>Would You Like with:public with your Wave?</h1>
<p>Absolutely, Emphatically, Yes! To make a public wave you simply add the public@a.gwave.com user to your contact list, then drag that user to the wave. You gotta hand it to Google to make creating public waves infinitley more complicated than adding a public button.</p>
<p><span id="more-1827"></span></p>
<p>Since the 100k release of Google Wave out into the wild, I had yet to get much use out of it. For the most part it appeared to be an incremental email release with targeted &#8220;waves&#8221; as message threads. <a href="http://scobleizer.com/2009/10/03/google-waves-unproductive-email-metaphors/">Robert Scoble</a> and <a href="http://blog.louisgray.com/2009/10/google-wave-hits-shore-flash-flood.html">Louis Gray</a> shared their feedbacks in well thought out posts describing some limitations compared to existing tools, as well as potential areas of promise. Robert gave a thorough list of utilities required for collaboration and went through each feature and how Google Wave lacked in that area compared to something like email. </p>
<p>To say Scoble was dissappointed would be putting it lightly. I believe he didn&#8217;t play with:public enough, he loves virtual omniscience at least as much as I do. Louis commented on the attention splitting nature of multiple waves.  His expectation is that initial buzz will die down, to be naturally replaced by more externally focused collaboration. I&#8217;d sum up Louis&#8217; take as one of reserved but hopeful expectation. Of course he just got more work, since he can&#8217;t pull in all directed waves to one client yet, and diligently tracks all web signals aimed at him. Don&#8217;t sweat it Mr. Gray, you&#8217;ll be offered many choice aggregators of wave info shortly, I suspect less than a month or two once the initial shakedown is complete. In case you didn&#8217;t know, I&#8217;m a huge fan of the genuine coverage Robert and Louis share daily.</p>
<p>Neither of these fine social media titans pointed out the simple search feature, with:public. Using that conditional string I discovered multiple wave communities sprouting up around topics and services that are of great interest to me. Reddit, HackerNews/Ycombinator, and Robot design using Java all sprung to life before my eyes. I met a handful of people at once, each connected to a topic I follow but bringing their own unique perspectives and expectations of wave. On the developer side there are many fertile areas that users want covered. </p>
<p>1) Calendar and email integration was a hot topic for one poster (I&#8217;ll include his ID later if he&#8217;s cool with me sharing it).</p>
<p>2) <a href="http://friendfeed.com/vmlemon">Tyson Key</a> an 18 year old wiz kid of web software and communication created a new public wave to track and share bandwidth usage for the tool as well as share some great feedback on what could easily be done with wave bots. (I invited him to wave, then he quickly educated me how to use it ). Ah, to be young and instant tech friendly again.</p>
<p>3) I diligently looked for lift/scala robot starter code (4 second search). I quickly found a java robot wave and added my sample lift/scala template setup bat files using maven and the Google app engine, where robots live at the moment. Very nice of Google to give robots a home, now kindly set them free <img src='http://www.victusspiritus.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>4) In the Reddit wave I came across <a href="http://louisc.com/">Louis Castrogivanni</a> (a new commenter here and fellow tech fan) who just happened to have the inside scoop on <a href="http://www.victusspiritus.com/2009/10/10/be-like-panera-bread/">why businesses should be like Panera bread</a> (Panera is lucky to have a summer employee like Louis, and he loves working there).</p>
<p>The more people I connect to, the greater value I discover by using Google Wave. The file attachment/sharing, video embeds, and other utilities are nifty but for me the immeasurable value of any social web service is in the discovery, engagement, and connection with people. We want to share, collaborate and build better stuff and the with:public &#8220;pipeline&#8221; is an extraordinary value point for Google Wave. </p>
<p>Can&#8217;t wait till I can pull in my other rss streams and push out discoveries from robots to external sites. </p>
<div style="float:right;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="small-count" data-url="http://www.victusspiritus.com/2009/10/13/google-wave-aha-moment-withpublic-is-awesome/"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.victusspiritus.com/2009/10/13/google-wave-aha-moment-withpublic-is-awesome/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

