<?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>Bits And Buzz, by @JeremyChone &#187; Concept</title>
	<atom:link href="http://www.bitsandbuzz.com/article/category/concept/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bitsandbuzz.com</link>
	<description>Technology, trends, and opportunities.</description>
	<lastBuildDate>Wed, 11 Aug 2010 23:44:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Search Oriented Tagging</title>
		<link>http://www.bitsandbuzz.com/article/search-oriented-tagging/</link>
		<comments>http://www.bitsandbuzz.com/article/search-oriented-tagging/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 16:46:06 +0000</pubDate>
		<dc:creator>Jeremy Chone</dc:creator>
				<category><![CDATA[Concept]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://www.bitsandbuzz.com/?p=96</guid>
		<description><![CDATA[ Tagging has been a relatively popular, human-driven  method for organically categorizing information on the Web. Users are now accustomed  to tagging the content that they are publishing or bookmarking.
However, by design, tagging requires users to  have some sort of writing privilege, which greatly limits its reach potential.  Practically speaking, it [...]]]></description>
			<content:encoded><![CDATA[<p> <img src="/images/img-search-tag.png" align="left" class="imgPostIntro" />Tagging has been a relatively popular, human-driven  method for organically categorizing information on the Web. Users are now accustomed  to tagging the content that they are publishing or bookmarking.</p>
<p>However, by design, tagging requires users to  have some sort of writing privilege, which greatly limits its reach potential.  Practically speaking, it means that if a user wants to tag an item on a system  (e.g, Youtube, Flickr, or delicious) he or she must have an account on that  system and be logged in at the time of the operation.</p>
<p>While this is probably not an issue for major  Internet services, it can be a chicken-and-egg issue for new, upcoming services  that do not yet have a large enough community to build a meaningful tag cloud. <strong>How can a new service maximize its  community tag cloud if it doesn’t yet have a community?</strong></p>
<p><span id="more-96"></span></p>
<p>Here is where the concept of Search Oriented  Tagging comes in. The concept is that users do not tag anymore but just search.  The service will extract keywords from the search query and track the user’s interaction  with the results. The system will then apply statistical logic to automatically  tag the interacted entities.</p>
<p>Although this approach is not intended to be a  substitute for traditional tagging, it can also complement tagging mechanisms  for large community sites.</p>
<p>Search-oriented tagging offers these benefits:</p>
<ul>
<li><strong>Maximizes       tagging participation</strong>: By transforming tagging       into a registration-free functionality, search-oriented tagging maximizes       its reach to the service’s full audience (i.e., registered users and       visitors)</li>
<li><strong>Scales       with the community</strong>: Search-oriented       tagging’s statistical nature scales well with site content and community growth.</li>
<li><strong>Search       synergy</strong>: Since the function is search-centric,       this form of tagging can refine the search relevance logic.</li>
<li><strong>Time-sensitive</strong>: Since search-oriented tagging is more transparent and pervasive,       it can better capture time-sensitive tags such as &quot;harmony,&quot;       &quot;Google Chrome,&quot; or &quot;lipstick on a Pig.&quot;</li>
</ul>
<p>  I am sure that this concept is not entirely new,  and that search engines have similar logic to improve their results relevance.  However, by applying this concept to tagging, new services can more effectively  build a relevant tag cloud while developing their communities. The concept can  also be applied to large community services to make their tagging systems more  agile and time-sensitive.</p>
<p>If you aware of any services that are using  this mechanism, feel free to submit a comment.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.bitsandbuzz.com%2Farticle%2Fsearch-oriented-tagging%2F&amp;linkname=Search%20Oriented%20Tagging"><img src="http://www.bitsandbuzz.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.bitsandbuzz.com/article/search-oriented-tagging/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Seven Design Principles for Enterprise Collaboration 2.0</title>
		<link>http://www.bitsandbuzz.com/article/seven-design-principles-for-enterprise-collaboration-20/</link>
		<comments>http://www.bitsandbuzz.com/article/seven-design-principles-for-enterprise-collaboration-20/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 07:20:09 +0000</pubDate>
		<dc:creator>Jeremy Chone</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Concept]]></category>
		<category><![CDATA[Enterprise Web 2.0]]></category>

		<guid isPermaLink="false">http://www.bitsandbuzz.com/?p=70</guid>
		<description><![CDATA[The two premises of this article are as follows: 

Social  Networking is the method of connecting and communicating with the purpose  of increasing knowledge (of people and of domain).
Collaboration is the method of organizing knowledge and expertise to efficiently accomplish a  particular task.

So, Social Networking is about sharing and discovering, and collaboration [...]]]></description>
			<content:encoded><![CDATA[<p>The two premises of this article are as follows: </p>
<ol>
<li><strong>Social  Networking</strong> is the method of connecting and communicating with the purpose  of increasing knowledge (of people and of domain).</li>
<li><strong>Collaboration</strong> is the method of organizing knowledge and expertise to efficiently accomplish a  particular task.</li>
</ol>
<p>So, Social Networking is about sharing and discovering, and collaboration  is about organizing and creating. Although informal, the point of these definitions  is to demonstrate the similar but inherently distinctive meanings of collaboration  and social networking.</p>
<p>The latest challenge for an enterprise is that social  networking has undergone significant innovation cycles, mostly on the consumer  side, and collaboration has not kept pace. As a consequence, an enterprise is  often tempted to substitute collaboration by social networking, which could  lead to an oversized enterprise social network with very little productivity  gain, or even a loss, due to the over-communication side effect. </p>
<p><span id="more-70"></span></p>
<p>In my opinion, enterprise collaboration is still too  unstructured, fragmented, and, I would even say, immature. Most users became accustomed  to unnatural and inefficient ways to partner for the most basic task, such as  document collaboration. Some collaborative solution providers tend to offers  partial results for fear of empowering or promoting their competition. For  example, Google has an interest in luring users away from the Microsoft Office  application suite, so the company consequently orients its technology and  innovation toward this business goal to the detriment of the overall user’s  value. Interesting solutions such as <a href="http://www.socialtext.com/">SocialText</a>, <a href="http://www.atlassian.com/software/confluence/" target="bb">Confluence</a>, <a href="http://www.jivesoftware.com/" target="bb">Jive</a>, <a href="http://www.techcrunch.com/2008/09/10/yammer-takes-techcrunch50s-top-prize/" target="bb">Yammer</a>, and <a href="http://www.basecamphq.com/" target="bb">37Signals</a>  are trying to tackle this opportunity, and while they are indisputably useful  and innovative, significant untapped opportunities remain.</p>
<p>The key to designing the next generation of collaboration  solutions is to reconsider the ways that software and services can help people who  are collaborating from the bottom up. Often times, collaboration software attempts  to accomplish too much, and often finds itself obstructing user workflow. I  developed the following seven design principles, based on my experience with building  collaboration software:</p>
<h3>1) With, Not Against, Email. </h3>
<p> <img src="/images/imgCollabEmail.jpg" width="60" height="48" align="left" class="imgPostP" />Although we might first think “email is broken” when we want to build  a new collaboration system, this is a bad thought to consider. Instead,  remember that email is a popular, easy-to-use type of program. In fact, email  is often the first and last application people use every day. In short, do not  build a system to bypass email, but rather a system that enhances email. </p>
<h3>2) With, Not Against, Office.</h3>
<p> <img src="/images/imgCollabOffice.jpg" alt="office" width="60" height="48" align="left" class="imgPostP" />For a long time, there has been an emotional (or business) trend  among professionals to terminate the office desktop software era. Although some  of the rationale behind these wishful thoughts is understandable, the  collaborative solution would fare better if it would learn to work seamlessly with  desktop office files and software instead of trying to circumvent them. </p>
<p>Users do not want to import or export  files, but rather, they want to create, save, share, and comment on documents  from any location, such as desktop, Web, or mobile, whether they are on or  offline.</p>
<p>In other words, office desktop  software, including word-processing, spreadsheet, and presentation programs,  are just as pervasive to be considered a part of the operating system, as is  the Web browser, but in a much less controversial way.</p>
<h3>3) Individual Productivity as the End, Group Collaboration  as the Means.</h3>
<p> <img src="/images/imgCollabUser.jpg" alt="individual" width="60" height="48" align="left" class="imgPostP" />Ultimately, we live in an individualistic and competitive society,  and the best way to build an effective organization is to align individual and  organizational interests. To this end, from the beginning of time, organizations  have hierarchically organized themselves with clear accountabilities and a  clear chain of command. </p>
<p>Thus, organizations require the tools and processes to  optimize their entire structures by empowering each element of their  organization, from the individual worker up to the top manager. With different  roles come different needs, but if the tools exist to make each role more  efficient, the entire organization will maximize its execution potential. Maximizing  group productivity might be the right path to make a specific role more  efficient, but it is just the means and not the end. </p>
<h3>4) Extensibility Over Completeness.</h3>
<p><img src="/images/imgCollabExtend.jpg" alt="extend" width="60" height="48" align="left" class="imgPostP" />When developing a collaboration  system, it is a natural inclination to try to build a full set of shared  applications. Some might try to build email, content management, calendar, web  conferencing, and instant messaging, while others might focus on a more  sophisticated set of applications, such as project management, people-friendly  wikis, issue-tracking, and collaborative workspaces. </p>
<p>While some of these modules are  necessary, system extensibility is as important, if not more. Effective  collaboration systems must be customized and enhanced by the people who are  collaborating, and consequently, the applications must be extensible. The trick  is to strike the right balance of pre-built application and extensibility  capabilities. Because this is where most collaboration systems have failed, it  is where the biggest opportunity resides. Hopefully the PaaS movement will  result in useful concepts that can be applied to collaboration systems. </p>
<h3>5) Software as a Service (Saas) AND Software.</h3>
<p> <img src="/images/imgCollabSoftware.jpg" alt="software" width="60" height="48" align="left" class="imgPostP" />Another current market tendency is to try to oppose enterprise  software (i.e., “on-premise software”) versus SaaS solutions (or “applications  in the clouds”).  I was recently a Red Herring panelist in San Jose, where some CEOs predicted  the slow death of enterprise software and the pending victory of the SaaS way. </p>
<p>While I am big believer in the SaaS  business opportunities and the first one to advocate beginning enterprise  solutions from a SaaS angle, I believe that a complete collaboration offering ultimately  needs to support all the deployment modes possible, including the hybrid ones. </p>
<p>I agree that today’s “enterprise  software” is broken and has become increasingly (even ridiculously!) expensive  to extend and to maintain. However, the solution is not to remove choice from  the users, but rather to fix the problem at its source: the enterprise software  architecture. (see good post from <a href="http://parallax.blogs.com/about.html" target="bb">Neil Robertson</a> on <a href="http://parallax.blogs.com/parallax_calculating_tech/2008/01/why-enterprise.html" target="bb">Why enterprise software is Not dead</a>)</p>
<h3>6) Asynchronous Over Real-Time.</h3>
<p><img src="/images/imgCollabAsynch.jpg" alt="asynch" width="60" height="48" align="left" class="imgPostIntro" />Software vendors occasionally think  that they have an embryo of a collaboration system because they have some  real-time technologies (e.g., web push technologies for co-browsing). However, I  disagree. Real-time technologies are good tools to build a collaboration  system, but they are no more collaborative than any other low-level technology.  In fact, Facebook, and before that, email, has shown that most collaboration  happens in an asynchronous fashion rather than in real-time. Facebook CEO Mark  Zuckerberg articulated this fact in one of his keynote addresses, where he discussed  the increasing number of opportunities for two people to communicate if they do  not have to be at the same place at the same time. Although obvious, we  technologists often get overexcited by our own technology.</p>
<h3>7) Social Networking Inside.</h3>
<p><img src="/images/imgCollabSocial.jpg" alt="social" width="60" height="48" align="left" class="imgPostIntro" />Last on my list is social networking, because at this time, it  is overhyped. It is also last, because a system that follows the first six  points would already be relatively unique. Last, because in the end, it will be  put first anyway. Nevertheless, a better-connected organization is a more  effective one, so social networking practices and technologies are great ways  to improve an organization’s internal connectivity.</p>
<p>&nbsp;</p>
<p>So, here it is, a first take at seven design principles for the next generation  of collaboration solution. In collaboration, we have assumed for too long that  users will learn new ways of doing things that enable them to accomplish the  task at hand more quickly. This, unfortunately, is not true. Rather than  assuming that users will adapt to the software, it is the software that should  adapt to the users. In short, do not ask a user to spend time in order to save  time. </p>
<div class="update">
<h3>Update:</h3>
<ul>
<li><span class="date">Sept 16h, 2008: </span><a title="Ten Leading Platform for creating online communities" href=http://blogs.zdnet.com/Hinchcliffe/?p=195">Enterprise Web 2.0: Ten leading platforms for creating online communities</a></li>
</ul>
</div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.bitsandbuzz.com%2Farticle%2Fseven-design-principles-for-enterprise-collaboration-20%2F&amp;linkname=Seven%20Design%20Principles%20for%20Enterprise%20Collaboration%202.0"><img src="http://www.bitsandbuzz.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.bitsandbuzz.com/article/seven-design-principles-for-enterprise-collaboration-20/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Web Developer Spectrum</title>
		<link>http://www.bitsandbuzz.com/article/web-developer-spectrum/</link>
		<comments>http://www.bitsandbuzz.com/article/web-developer-spectrum/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 17:01:45 +0000</pubDate>
		<dc:creator>Jeremy Chone</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Concept]]></category>
		<category><![CDATA[Enterprise Web 2.0]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.bitsandbuzz.com/2008/03/15/web-developer-spectrum/</guid>
		<description><![CDATA[In the last few years, the technology industry has been  particularly focused on Web developers, and the last couple of weeks have been  a relatively good example of such attention. First, Adobe released its Adobe  AIR and their Flex 3 products; Microsoft did a massive SilverLight push at its  now famous [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/imgWebDeveloperSmall.png" alt="Web Developer Spectrum Small" width="112" height="65" hspace="5" vspace="5" align="left" />In the last few years, the technology industry has been  particularly focused on Web developers, and the last couple of weeks have been  a relatively good example of such attention. First, Adobe released its Adobe  AIR and their Flex 3 products; Microsoft did a massive <a href="http://www.techcrunch.com/2008/03/06/microsoft-mix-keynote-two-live-from-las-vegas/" target="bb">SilverLight push</a> at its  now famous MIX event (see <a href="http://www.readwriteweb.com/archives/the_best_stuff_from_mix08.php" target="bb">Read/Write post</a>); Google announced <a href="http://code.google.com/apis/gears/mobile.html" target="bb">Google Gears for mobile</a> devices and,  finally, Steve Jobs splashed the market with his “<a href="http://www.informationweek.com/news/showArticle.jhtml?articleID=206901923" target="bb">Flash not good enough for  iPhone</a>” comment <em>(which, in my opinion, is more of a strategic move than a  technical reality). </em>Meanwhile, “non-corporate-backed” Web frameworks, such  as Spring, Ruby/Rail, and many AJAX frameworks, also continue to attract more  and more Web developers. Consequently, Web developers have now, more than ever,  a wide variety of technologies at their disposal.</p>
<p><span id="more-36"></span></p>
<p>Having worked for many technology provider companies (e.g.,  Netscape, Oracle, and Adobe) and being a developer myself (mostly on weekends),  I have always been fascinated by the dynamics and trends in the developer  industry. I think that, coupled with the open source and software as a service  dynamics, this industry is experiencing an auspicious time for interesting  technological and business opportunities. </p>
<p>If you happen to build a [Web] developer strategy for a  company or a project, you will often need to have some sort of representation  of this market. To this end, I have been developing a simple—but  useful—representation of the Web developer community in the form of a spectrum  which I have called the “Web Developer Spectrum.” </p>
<p>The Web Developer Spectrum consists of four main contiguous  sections, from Enterprise Technology Developers up to Hackers/Hobbyists. It is important to note that an individual developer may belong  to multiple sections, depending on the nature of his or her projects at a given  time. </p>
<p>Here is the representation and description of this spectrum. </p>
<p><img src="/images/imgWebDeveloperMedium.png" alt="Web Developer Spectrum" />
</p>
<h3 align="left">Enterprise Technology Developers </h3>
<p align="left">The Enterprise Technology  Developers category consists of developers who work for big technology companies,  such as Oracle, IBM, and Sun, and create technologies and standards that will  be packaged in complete product offers targeting large enterprise IT  departments. </p>
<p align="left">These developers tend to  be <strong>focused on architecture, completeness, and standardization, </strong>sometimes at the  cost of simplicity and accessibility. Compared to other developer segments,  these developers usually have an adequate amount of time and resources to get  their job done.  </p>
<p align="left">Some good examples of  technologies coming out of this segment are: J2EE, JSF, EJB2.x, and SOAP. As  previously mentioned, some of these technologies, especially EJB 2.x, could be  considered by some enterprise developers a little bit over-designed. EJB 3.x  has addressed some of these issues by adopting the persistence model from  alternative open source frameworks, such as Hibernate. </p>
<h3>Business Application Developers</h3>
<p>This segment includes developers from system integrators,  such as Cab Gemini, Infosys, IBM-Services, and developers from various  enterprise IT departments. The main priority of this segment of developers is  to build and deploy enterprise applications in order to maximize the overall  business productivity. </p>
<p>These developers are usually <strong>application-centric</strong>, meaning  that they focus mostly on bringing the right functionalities to the right users  in a timely manner. They tend to favor technologies with high returns on  investment (i.e. with the highest “application-out/time-in” ratio), and they  usually like to mitigate risk by contractual relationships with technology “vendors”  (i.e. product licensing and support agreements). </p>
<p>JSP, ColdFusion, asp.net, Spring, Hibernate, and XML-RPC are  the types of Web technologies used by the business application developers. Many  of these developers are coming from the 3GL/4GL client/server development  world, and often require quite extensive training to learn these new Web  development paradigms and tools. </p>
<h3>Web 2.0 Developers</h3>
<p>By Web 2.0 developers I mean developers who build Web  application for consumers, such as Digg, Delicious, Facebook, Bebo, Twitter,  Craigslist, and many other Web companies. The successful one tends to start  small and scale fast, while the others tend to move from project to project  until they find the one that can attract a good user  community. </p>
<p>Web 2.0 developers tend to be <strong>user-centric</strong>, <strong>prioritizing  application simplicity and design</strong> over completeness. Web 2.0 developers tend to  like dynamic, simple, and scalable technologies, such as Ruby/Rails, REST, and  MemCache, Java (minus J2EE), to name a few. This is a relatively difficult business for technology  and tool vendors since this community is very self-serving and usually pushes  technologies in the opposite direction from what a typical enterprise would  require (scalability vs. transactional). </p>
<h3>Hacker &amp; Hobbyist Developers</h3>
<p>Last, but not least, there are the hacker (in the open  source sense) and hobbyist developers. While many of these developers are  actually paid to work on their projects, some of them (the hobbyists) code mostly for fun and  self-satisfaction. This segment could be another spectrum in itself, but I  combined it  for simplicity. </p>
<p>Great quality products, such as <a href="http://gallery.menalto.com/" target="bb">PHP Gallery 2.x</a>, <a href="http://wordpress.org/" target="bb">Wordpress</a>,  and <a href="http://www.phpbb.com/" target="bb">PHP BB</a> are coming from this community, as well as some smaller projects,  such as greasemonkey, and other application plugins. This community tends to be  self-serving as well and extremely proficient at fulfilling its own needs. </p>
<p>Hobbyists tend to use more scripting language, such as  Python, PHP, Javascript, and other accessible technologies, while hackers tend  to go relatively deep in the software development stack to accomplish the  required tasks. </p>
<p>A few weeks back, I showed this spectrum to <a href="http://www.mvpartners.com/team_levandov.html" target="bb">Rich Levandov</a>  from Master Head Venture Partners, and he raised a very interesting point. Prior  to the open source development, technology vendors, such as Oracle, Sun, and  IBM, represented the largest developer community on the market, and,  consequently, were the main technology sources for the industry. With the  popularization and maturation of the open source development and distribution  model, <strong>community-created technologies</strong> have become more and more relevant, to  the point where they even<strong> eclipse vendors’ technologies</strong>. AJAX and Hibernate are  probably the most recent examples of such a trend. I still see major technology  vendors making most of the technology distributions (given the enterprises’  need to mitigate risk); however, I think they will have to adopt more and more  community technologies and standards if they want to stay relevant in the marketplace. </p>
<p><img src="/images/imgWebDeveloperFlow.png" alt="Web Developer Flow" width="517" height="459" /></p>
<h3> </h3>
<p>&nbsp;</p>
<p align="left">Obviously, this  representation in not perfect, but, many times, it has helped me to visualize  “developer” business opportunities. I hope this will be useful to others, and I  definitely welcome any and all feedback.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.bitsandbuzz.com%2Farticle%2Fweb-developer-spectrum%2F&amp;linkname=Web%20Developer%20Spectrum"><img src="http://www.bitsandbuzz.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.bitsandbuzz.com/article/web-developer-spectrum/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Service Oriented Platform: 4 Modes</title>
		<link>http://www.bitsandbuzz.com/article/service-oriented-platform-4-modes/</link>
		<comments>http://www.bitsandbuzz.com/article/service-oriented-platform-4-modes/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 19:19:32 +0000</pubDate>
		<dc:creator>Jeremy Chone</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Concept]]></category>

		<guid isPermaLink="false">http://www.bitsandbuzz.com/2008/02/22/service-oriented-platform-4-modes/</guid>
		<description><![CDATA[Over the last few years, we have witnessed the emergence of a new type  of software platform &#8211; the Service Oriented Platform (SOP). The SOP concept is to offer an application platform as a network service  (inside or outside an enterprise firewall), providing a centralized runtime to  execute and manage distributed or [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few years, we have witnessed the emergence of a new type  of software platform &#8211; the Service Oriented Platform (SOP). The SOP concept is to offer an application platform as a network service  (inside or outside an enterprise firewall), providing a centralized runtime to  execute and manage distributed or centralized applications. </p>
<p>SOP services can range from application aggregation, presentation,  linking (e.g, Mashup), provisioning, componentization, and context augmentation  (e.g., Social Graph and common application data). As SOPs mature, it would not  be surprising to see these platforms offer most, if not all, of the traditional  application platform services in a service-oriented manner, such as application  testing, versioning, data migration, and much more. </p>
<p>In the consumer space, the best SOP examples would be <a href="http://developer.facebook.com/" target="bb">Facebook</a>,  <a href="http://code.google.com/apis/opensocial/" target="bb">OpenSocial</a>, and <a href="http://www.ning.com/about/features.html" target="bb">Ning</a>. In the enterprise, a good example would be <a href="http://www.salesforce.com/developer/" target="bb">SalesForce.com</a>  (including their latest <a href="http://www.salesforce.com/platform/" target="bb">Force.com</a> addition) and some of the newer smaller  players such as <a href="http://www.techcrunch.com/2006/10/11/coghead-goes-live-build-applications-visually/" target="bb">Coghead</a>, <a href="http://www.techcrunch.com/2006/03/11/dabbledb-online-app-building-for-everyone/" target="bb">DabbleDB</a>, and <a href="http://www.techcrunch.com/2008/02/18/bungee-connect-launches-ambitious-new-online-development-product/" target="b">BungeeConnect</a>. Note that SOP solutions  can be offered as a hosted service (<strong>Platform as a Service</strong>, aka <strong>PaaS</strong>), or can be  packaged as a product (not as common yet). In many ways, enterprise portal  architecture can be considered the SOP ancestor.</p>
<p>We can identify four distinct but complementary main SOP access modes.  Most SOP providers (such as Facebook and SalesForce.com) offer more than one  access mode. Others, like OpenSocial, have thus far focused only on one. </p>
<p>Below is a simplified visualization of these modes and their  corresponding descriptions.</p>
<p align="center"><img src="/images/imgSOP4Modes.png" alt="SOP 4 Modes" width="513" height="1011" /></p>
<p><span id="more-35"></span></p>
<h3>A) Proxy Mode:</h3>
<p>In this mode, the SOP is in  between the user-browser and the application, and proxies all browser requests  to the applications. The best known example of this model is the <a href="http://wiki.developers.facebook.com/index.php/FBML" target="bb">Facebook FBML</a>  application model. </p>
<p>Here is the simplified application  lifecycle for the SOP Proxy mode: </p>
<ol>
<li>Each page request goes through the SOP server, which  forwards the request to the application with some additional SOP context (e.g.,  Identification and Social Graph information). </li>
<li>The application then returns the requested page to the  SOP server in a specific presentation format (e.g., FBML for Facebook). The SOP  server then translates the “SOP-formatted page” into a standard HTML/AJAX  format for the browser to read. </li>
</ol>
<p>&nbsp;</p>
<p>This mode allows developers to focus  on the content of the application while <strong>reusing</strong> pre-built SOP <strong>components</strong> and  <strong>delegating presentation</strong> to the SOP server.</p>
<p>The main caveat of this approach is  performance, since each page request [usually] requires an additional  http-request to get the result back to the user. Another caveat is the SOP  dependence. Usually, this model also requires applications to output a proprietary  XML (e.g., FBML and SNML), which <strong>limits application portability</strong>. </p>
<h3>B) iFrame Mode:</h3>
<p>In this mode, the SOP server is  between the browser and the application only at initialization time, and all  subsequent application users’ interactions are forwarded directly to the  application (usually <strong>using the browser’s iFrame client-sandboxing </strong>mechanism).  This is commonly known as the Facebook “iFrame mode,” or the not-yet-released  Google OpenSocial “<a href="http://code.google.com/apis/gadgets/docs/fundamentals.html#URL" target="bb">type=URL.</a>” This mode also requires the SOP server to have a  strong set of REST/SOAP APIs, since this will be the only way for the  application to access SOP context information (e.g., Social Graph). </p>
<p>  Here is the simplified application  lifecycle for the iFrame mode: </p>
<ol>
<li>When a user clicks on the application page, the SOP server  initializes the application and returns an HTML page to the browser with an  iFrame pointing directly to the application. </li>
<li>Every subsequent user’s interaction with the  application will be in the context of the applications, as if the application  had its own browser window. </li>
</ol>
<p>This mode enables full user interface  control and maximum application portability. However, developers will not be  able to use the SOP presentation and component services, and will have to  <strong>re-implement common components and look &amp; feel</strong>. </p>
<p>Note: To my knowledge, most Facebook  applications are using the Proxy mode mainly for to avoid these two caveats. </p>
<p>&nbsp;</p>
<h3>C) Client-Mashup Mode:</h3>
<p>Another mode similar to the iFrame  mode is the Mashup mode, which executes the application on the client side (in  JavaScript) by providing AJAX APIs to get data from the SOP server (i.e., SOP  Context) and the application server. </p>
<p>Here is the simplified application  lifecycle for the Client-Mashup mode: </p>
<ol>
<li>&nbsp;When a user clicks on the application page or  component, the SOP server initializes the application and returns the HTML and  JavaScript content for the browser to execute. </li>
<li>The application (JavaScript) code can make AJAX calls  to the applicationaccess content and methods. </li>
<li>A JavaScript API is also provided to the application to  access SOP data and methods. </li>
</ol>
<p>For heavy JavaScript developers, this  approach can be very attractive. It also forces the application to take maximum  advantage of the AJAX  model and offer a consistent way to access SOP and application data and  methods. It is a <strong>common and convenient means for developing widgets</strong> (note:  OpenSocial is based on the Google Gadgets application model).</p>
<p>However, for full applications, this  approach can be a little too <strong>JavaScript-heavy and limits portability</strong>. It also  requires the developer to re-implement some basic browser functionalities, such  as page navigation, since each user click will need to be handled in  JavaScript. </p>
<h3>D) Server-Embedded Mode </h3>
<p>The Server-Embedded SOP mode is probably the  most involved from an SOP implementation standpoint. In this mode, the SOP  server stores, manages, and executes the application codes and data. This  approach usually requires the SOP server to provide a browser interface to  develop, test, and manage the application. In the consumer market, <a href="http://www.ning.com/" target="bb">Ning</a>,  <a href="http://www.coghead.com" target="bb">Coghead</a>, <a href="http://dabbledb.com/" target="bb">DabbleDB</a>, and <a href="http://www.bungeeconnect.com/" target="bb">BungeeConnect</a> are good examples of such a model, as well  as Force.com on the enterprise side. </p>
<p>This mode works very similarly to the  Proxy mode, except that now the application runs in the process (theoretically  speaking) of the SOP server. </p>
<p>&nbsp;</p>
<p>So, here is a first pass at the Service Oriented Platform concepts. SOP  has already made a significant impact on the software industry, as we have seen  with Facebook and SalesForce.com. It is probably safe to assume that <strong>SOP will become  even more relevant</strong> to the consumer and enterprise software market as time goes  on. From a theoretical architecture point of view, it is interesting to see the  <strong>lines between online, hosted, distributed, and centralized being blurred</strong>. </p>
<p>Note to self: Probably a good time to update my  <a href="http://www.bitsandbuzz.com/2006/01/04/buzzpad-20-beta/">Buzzpad</a>.</p>
<p>Related Links: </p>
<ul>
<li><a href="http://blog.widgetbox.com/2007/11/facebook-v-open.html" target="bb">Facebook v. OpenSocial from <strong>Widget Box</strong></a></li>
<li><a href="http://www.iosart.com/blog/2007/11/03/opensocial-and-facebook-platform-side-by-side-comparison/" target="bb">OpenSocial and Facebook Platform side by side comparison from <strong>Iosart blog</strong></a></li>
<li><a href="http://blogs.zdnet.com/BTL/?p=8023" target="bb">Bungee Labs opens developer platform-as-a-service from <strong>Larry Dignan</strong></a></li>
</ul>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.bitsandbuzz.com%2Farticle%2Fservice-oriented-platform-4-modes%2F&amp;linkname=Service%20Oriented%20Platform%3A%204%20Modes"><img src="http://www.bitsandbuzz.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.bitsandbuzz.com/article/service-oriented-platform-4-modes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>P2P for Web 2.0: Brainstorming</title>
		<link>http://www.bitsandbuzz.com/article/p2p-for-web-20-brainstorming/</link>
		<comments>http://www.bitsandbuzz.com/article/p2p-for-web-20-brainstorming/#comments</comments>
		<pubDate>Tue, 17 Jan 2006 18:29:22 +0000</pubDate>
		<dc:creator>Jeremy Chone</dc:creator>
				<category><![CDATA[Concept]]></category>
		<category><![CDATA[Idea]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://www.bitsandbuzz.com/2006/01/17/p2p-for-web-20-brainstorming/</guid>
		<description><![CDATA[


As mentioned in the &#34;Web 0.x to Web 2.0&#34; post, outside of IM (instant messaging), voice chat and voice-video chat, and some illegal P2P (peer to peer) file sharing software, most  Internet applications are still based on a traditional &#34;Client/Server&#34; model that is analogous to the &#34;Browser/WebServer&#34; model. While  today&#8217;s Web applications have [...]]]></description>
			<content:encoded><![CDATA[<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="#Web20LimitationsImage"><img src="http://static.flickr.com/11/87991740_fbc619ef23.jpg" alt="P2P For Web: Web 2.0 Limitation Thumbnail" width="150" height="113" hspace="15" border="0" /></a></td>
<td>As mentioned in the &quot;<a href="/2005/11/29/web-0x-to-web-20-simplified/">Web 0.x to Web 2.0</a>&quot; post, outside of IM (instant messaging), voice chat and voice-video chat, and some illegal P2P (peer to peer) file sharing software, most  Internet applications are still based on a traditional &quot;<a href="http://en.wikipedia.org/wiki/Client/server">Client/Server</a>&quot; model that is analogous to the &quot;Browser/WebServer&quot; model. While  today&#8217;s Web applications have dramatically improved  their user experience and  community aspect, this  &quot;Client/Server&quot; paradigm brings some unfortunate limitations to technology providers and users. </td>
</tr>
</table>
<p><span id="more-21"></span></p>
<p><strong>Current Web application model limitations: </strong></p>
<p>For <strong>technology providers</strong>, although the cost of development of a internet service might be relatively low, <strong>operational cost</strong>s, mostly related to bandwidth and storage,   severely limit what can be offered to users. For example, providing an entirely free mainstream photo, audio, and video sharing Internet application would require continuous investment that would be hard to justify outside of an monopolistic business strategy. </p>
<p>From the  <strong>user</strong>&#8217;s point of view, while the &quot;zero install&quot; feature of the Web application model is advantageous, it also has the drawback of  a &quot;<strong>zero memory</strong>&quot; limitation (at least as it relates to Internet requests). This means that an interrupted transaction (i.e., Internet request) is a lost transaction. While this is not really an issue for small requests (e.g., eBay bid, craigslist post), it could be quite frustrating for users performing more involved tasks, such as sharing videos. </p>
<p>Also, although today&#8217;s new Web trend (Web 2.0) encourages the social aspect of these services, I think that most of the current Web 2.0 applications are still primarily focused on the &quot;tech-savvy&quot; population and have not yet reached  the &quot;mainstream.&quot; One of my current explanations for this assumption is that <strong>&quot;mainstream&quot; users</strong> tend to <strong>prefer</strong>  participating  with their <strong>adjacent network</strong> <strong>first</strong> (friends and family) first, which has been  cumbersome given the current proliferation of <a href="/2005/11/29/web-0x-to-web-20-simplified/#UserIdentitySilos"><strong>user identity silos</strong></a>. </p>
<p align="center">
<script>function changeImageP2P4Web20(obj,imagePath){var image = document.getElementById(obj);image.src = imagePath;}</script><br />
<small><a name="Web20LimitationsImage" id="Web20LimitationsImage"></a></small><img id="Web20LimitationsImg" src="http://static.flickr.com/16/87991754_fcdfa05d1d.jpg" alt="P2P4Web2.0: Web 2.0 Limitation" width="400" height="300" border="0" onmouseover="changeImageP2P4Web20('Web20LimitationsImg','http://static.flickr.com/16/87991738_12ce3a6b71.jpg')" onmouseout="changeImageP2P4Web20('Web20LimitationsImg','http://static.flickr.com/16/87991754_fcdfa05d1d.jpg')" /><br />
<br /> <small>Web 2.0 Limitations</small></p>
<p><strong>P2P Opportunities: </strong></p>
<p>While P2P is definitely not the magic pixie dust to solve all of these problems, <strong>combining</strong> the <strong>P2P</strong> paradigm with the traditional <strong>Web</strong> application model could <strong>open the door</strong> to many interesting <strong>innovations</strong> and offer the following advantages: </p>
<ul>
<li><strong>Reduced operational cost</strong>: By the very nature of P2P architecture, P2P technology providers can offload most of the service processing to their end-users, allowing providers to just centralize what matters to them most (usually the directory service), while offering more attractive services to their users. For example, Skype&#8217;s P2P approach was probably a big factor in their  exponential growth despite their  relatively modest financial investment. </li>
<li><strong>Illusion of continuity </strong>: While this is not really a P2P attribute, most of the P2P clients, such as Skype, instant messengers,  and file sharing applications, usually support some sort of &quot;<strong>transaction recoverability</strong>.&quot; This means that the client application is usually able to remember an interrupted request and restart it where it left it. </li>
<li><strong>Network of proximity</strong>: One great feature of all IM clients is the &quot;buddy list&quot;, which allows users to easily communicate and share with their close network, such as friends and family. I personally think it would be a great step forward if this paradigm could be carried into the user&#8217;s Web experience. </li>
</ul>
<p>As with all technologies, there are many different ways these types of functionalities can be delivered to users. It could come from a better and deeper integration between existing P2P clients, such as Skype or BitTorrent, with  existing Internet browsers. Third party browser extensions, such as the promising <a href="http://www.allpeers.com/">AllPeers</a> Firefox extension (profiled by <a href="http://www.techcrunch.com/2006/01/03/allpeers-is-the-firefox-killer-app/">Techcrunch</a>), seem also to be headed towards this goal. Or, lastly, it could come from a revolutionary all-in-one client, similar to <a href="http://www.groove.net/">Groove</a>, but geared for the consumer market. </p>
<p>Related links: </p>
<ul>
<li>Great <a href="http://www.allpeers.com/blog/2006/01/17/firefox-extensions-and-the-new-web-paradigm/">Allpeers article</a> (from <a href="http://www.allpeers.com/blog/">Allpeers&#8217; blog</a>) about extension vs standalone. </li>
<li>Some Skype P2P pitfalls on <a href="http://gigaom.com/2006/01/10/skype-the-bandwidth-hog/">Om Malik&#8217;s blog</a>. </li>
<li>An interesting take from <a href="http://mulikoppel.blogspot.com/2006/01/skype-rashomon-p2p-voice-and-readwrite.html">Muli Koppel</a> about Skype and Web 2.0. </li>
</ul>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.bitsandbuzz.com%2Farticle%2Fp2p-for-web-20-brainstorming%2F&amp;linkname=P2P%20for%20Web%202.0%3A%20Brainstorming"><img src="http://www.bitsandbuzz.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.bitsandbuzz.com/article/p2p-for-web-20-brainstorming/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>To Flock or not to Flock</title>
		<link>http://www.bitsandbuzz.com/article/to-flock-or-not-to-flock/</link>
		<comments>http://www.bitsandbuzz.com/article/to-flock-or-not-to-flock/#comments</comments>
		<pubDate>Tue, 03 Jan 2006 21:26:25 +0000</pubDate>
		<dc:creator>Jeremy Chone</dc:creator>
				<category><![CDATA[Concept]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.bitsandbuzz.com/2006/01/03/to-flock-or-not-to-flock/</guid>
		<description><![CDATA[A few days ago a UK magazine posted a good article about Flock. As mentioned in the article, Flock is still in developer preview and therefore should be judged less by its bits quality and more by the idea it tries to convey.  Flock&#8217;s vision of  a more collaborative and event-driven Internet is [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://static.flickr.com/40/81681871_ab50196f33.jpg" width="75" height="75" hspace="15" align="left" />A few days ago a UK magazine posted a <a href="http://www.netmag.co.uk/reviews/default.asp?pagetypeid=2&amp;articleid=38470&amp;subsectionid=497&amp;subsubsectionid=168">good article</a> about <a href="http://www.flock.com/">Flock</a>. As mentioned in the article, Flock is still in developer preview and therefore should be judged less by its bits quality and more by the idea it tries to convey.  <strong>Flock&#8217;s</strong> <strong>vision</strong> of  a more <strong>collaborative</strong> and <strong>event-driven Internet</strong> is probably <strong>undisputable</strong>. However, some of  Flock&#8217;s premises have been subject to a flood of   criticisms (e.g., <a href="http://paul.kedrosky.com/archives/002243.html">Paul Kedrosky&#8217;s post</a>, <a href="http://flocksucks.wordpress.com/">flocksucks.wordpress.com</a>).</p>
<p>Most of these <strong>criticisms</strong> seem to be <strong>based</strong> on the fact that Flock tries to provide an <strong>alternative</strong> &quot;<strong>Web browser</strong>&quot; application rather than providing extensions to existing browsers (e.g., a Firefox extension). Lately, the launch of a great Firefox extension <a href="http://performancing.com/firefox">Performancing</a> (see <a href="http://www.micropersuasion.com/2005/12/blog_directly_f.html">Steve Rubel </a>and <a href="http://gigaom.com/2005/12/20/passion-not-funding-drives-some-ideas/">O.M. Malik</a> quick profile), which offers one of the core Flock&#8217;s functionalities by allowing users to blog &quot;in the context&quot; of their browsing experience, has revived the discussion. In a response to these last complaints, <strong>Chris</strong> from Flock, <a href="http://www.decrem.com/bart/2005/12/go-chris/">supported by Bart</a> (Flock&#8217;s CEO), issued a <a href="http://factoryjoe.com/blog/2005/12/21/revving-a-classic-cliche-2/"><strong>good post</strong></a> giving a little more context behind Flock&#8217;s vision and direction. </p>
<p>As mentioned by <a href="http://www.techcrunch.com/2005/12/21/flock-says-enough/">Michael Arrington</a> of <a href="http://www.techcrunch.com/">TechCrunch</a>, Flock&#8217;s <strong>Buzz</strong> might have come a little bit <strong>too early</strong> for the Bits, which is always a <a href="/2005/11/08/bits-before-the-buzz/">very dangerous position to be in</a>. Also, Flock&#8217;s first audience, the Mozilla tech savvy <strong>crowd</strong>, was probably <strong>not</strong> especially <strong>receptive</strong> to the idea of <strong>another browser</strong>. I  personally am a big fan of Mozilla Firefox, and while I have tested Flock developer preview release, I went back to Firefox since I have all my extensions set up.</p>
<p> However, I deeply <strong>believe</strong> in <strong>Flock&#8217;s idea</strong>. As Chris mentioned, Flock might or might not be the answer, but the point is that users need much more than a traditional Web browser to make the &quot;<a href="/2005/11/29/web-0x-to-web-20-simplified/">Everybody-to-Everybody</a>&quot; Internet vision a reality. This new &quot;Internet Companion&quot; could come from the evolution of an existing Web browser, from a set of extensions, or from another application altogether: the way it gets here is less important than the things it will allow people to do. Obviously, this assumes  the goal is to allow the &quot;rest of us&quot; to participate on the Internet.  </p>
<p>So, the <strong>question is not </strong>&quot;<strong>to Flock or not to Flock</strong>&quot;, but rather <strong>to believe</strong> that the way we will interact with the <strong>Internet in couple years will be</strong> substantially <strong>different</strong> <strong>from</strong> what we do <strong>today</strong>. </p>
<p>Also, I have had the privilege of meeting the Flock team on many occasions, and it is always refreshing to see a passionate and dedicated team so focused on accomplishing its vision. I would not be surprised if future versions of Flock will surprise us. And I definitely need this new &quot;Internet Companion&quot; for my grandmother and sisters. </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.bitsandbuzz.com%2Farticle%2Fto-flock-or-not-to-flock%2F&amp;linkname=To%20Flock%20or%20not%20to%20Flock"><img src="http://www.bitsandbuzz.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.bitsandbuzz.com/article/to-flock-or-not-to-flock/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
