<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">


	<channel>
		<title>ReadWriteHack</title>
		<link>http://www.readwriteweb.com/</link>
		<description />
		<language>en</language>
		<copyright>Copyright 2012 Richard MacManus</copyright>
		<managingEditor>readwriteweb@gmail.com</managingEditor>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs> 
		<lastBuildDate>Thu, 24 May 2012 17:51:00 -0700</lastBuildDate>
		

					<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/readwriteweb/hack" /><feedburner:info uri="readwriteweb/hack" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://rww.superfeedr.com/" /><item>
				<title><![CDATA[Sign o' the Times: IBM, SAP Now Support Microsoft's Standardization Move]]></title>
				<description>&lt;p&gt;It's perhaps the one way that database interaction can work reliably using any format, any server and any client on the Web today. It happens to be a protocol created by Microsoft. But in a symbol of how Microsoft is now perceived today as just another major player instead of a dominant force, the leading platform makers are joining Microsoft in a formal move to standardize &lt;a href="http://www.odata.org/" target="_blank"&gt;OData&lt;/a&gt;, the Open Data Protocol.&amp;nbsp;The reason Microsoft and IBM are no longer fighting over this? The real competition is no longer just amongst these old-line technology companies, but largely between them and a new breed of competitors often based around new mobile devices and consumer platforms.&lt;/p&gt;
		 
	
																							&lt;p&gt;Nearly six years ago&amp;nbsp;&lt;a href="http://betanews.com/2006/12/07/office-open-xml-gains-ecma-approval-ibm-votes-no/"&gt;one of the most bitter standards battles&lt;/a&gt; in all of computing was fought between &lt;a href="http://www.oasis-open.org/" target="_blank"&gt;OASIS&lt;/a&gt;, caretaker of the OpenDocument format, and Microsoft. The issue was whether, by making the document formats for Microsoft Office available as open standards, the company was unfairly leveraging Office's broad base of installation to unseat its only real competitor, the storage format behind &lt;a href="http://www.openoffice.org/" target="_blank"&gt;OpenOffice&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That year, 2006, marked the turning point in Microsoft's public stance towards openness and interoperability. This despite bitter opposition led by IBM, which was working to resurrect the &lt;a href="http://www-03.ibm.com/software/lotus/symphony/home.nsf/home" target="_blank"&gt;Symphony&lt;/a&gt; brand it had acquired through Lotus. IBM argued that Microsoft was undermining the standards process to suit its purposes. Just how much the computing environment has changed since then was made evident today as IBM (whose heart grew three sizes this day) joined with SAP and Citrix in &lt;em&gt;backing&lt;/em&gt; a move by Microsoft to declare the OData HTTP-based database interaction prototol - also known as Open Data Protocol - an OASIS standard.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://www.youtube.com/embed/bixh1yHdW88" frameborder="0" width="610" height="343"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;"OData is an application-level protocol for interacting with data via RESTful Web services," reads a white paper on an OData extension for XML published by OASIS (&lt;a href="http://lists.oasis-open.org/archives/tc-announce/201205/msg00008/OData_Extension_for_XML_Data_v1.0.pdf"&gt;PDF available here&lt;/a&gt;).&amp;nbsp; "An OData Service’s contract is defined by simple, well-defined conventions and semantics applied to the data model exposed by the service, providing a high level of semantic interoperability between loosely coupled clients and services."&lt;/p&gt;
&lt;p&gt;Phrasing data in XML, ATOM or JSON format does allow it to be visible to many different database engines. They can see data in these formats, so that's not the problem. Essentially, how does a Web client (any browser on any device) request data from any server (any database engine or framework), and then initiate a dialog with that server so it can update or change one or more records? Remember, HTTP is a stateless protocol: Clients make GET requests and the occasional POST statement, and servers acknowledge and, when they can, comply.&lt;/p&gt;
&lt;p&gt;So OData enables communication using any of these three formats for data expression, setting up the mechanism for clients to authenticate themselves and enter into a secure dialog. It already works. And as IBM discovered two years ago, OData was pretty much the only way of creating a single Web client for WebSphere data that worked with .NET, AJAX and PHP clients.&lt;/p&gt;
&lt;p&gt;While an XML document contains the body of data, expressed explicitly within the markup, OData expresses the &lt;em&gt;schema&lt;/em&gt; - the arrangement and relations between data in a database. It also allows for vendor-specific properties that enable features that one vendors database might utilize while another's does not, though these properties are typically flagged within the metadata using obvious vendor-specific tags; for example, &lt;code&gt;sap:filterable&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Writing on behalf of the OData organization today, Microsoft's senior program manager for OData &lt;a href="http://www.odata.org/blog/2012/5/24/odata-submitted-to-oasis-for-standardization"&gt; Alex James said today&lt;/a&gt;, "With interoperability front and center in OData we saw more and more technology stacks that started to work with it. Now there are a number of companies that use OData in their products to ensure the data they manage is easily accessible beyond the boundaries of their applications. Many of these companies regularly collaborate on the ongoing design effort for OData. While so far we’ve run the OData design process as transparently as we could (sharing designs, taking feedback through the odata.org blog and distribution list, etc.), we are at a point where the level of adoption and the scale at which organizations are betting on OData require a more formal commitment to shared ownership of the design of this protocol."&lt;/p&gt;
&lt;p&gt;It’s tempting to draw the conclusion that Microsoft and IBM are “joining forces,” in coalition against a common enemy. The facts are more economic than melodramatic: Waging platform wars, especially over something that should be as ubiquitous as data exchange, costs way too much money. While the Open Office XML/OpenDocument fracas generated plenty of headlines and even sparked a few campaign rallies, it was a drain on both sides’ resources at a time when the platforms supporting both standards – client-side applications – were starting to become obsolete anyway. The fact of the matter is, OData&amp;nbsp;&lt;em style="color: #17365d; font-family: Cambria, serif; line-height: normal; background-color: rgba(255, 255, 255, 0.917969);"&gt;works&lt;/em&gt;, and creating a competing format just to rally the troops and produce headlines is a waste of time and money.&amp;nbsp; It’s best that companies pick their battles more wisely. What’s more, IBM, Microsoft, and SAP alike have come to the realization – perhaps a mutual one – that the best platforms are never islands unto themselves.&lt;/p&gt;
&lt;p&gt;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="610" height="343"&gt;&lt;param name="source" value="http://research.microsoft.com/apps/video/ClientBin/EmbeddedPlayer.xap" /&gt;&lt;param name="enableHtmlAccess" value="true" /&gt;&lt;param name="initParams" value="id=148637,start=0,end=2391" /&gt;&lt;param name="background" value="white" /&gt;&lt;param name="minRuntimeVersion" value="3.0.40818.0" /&gt;&lt;param name="autoUpgrade" value="true" /&gt;&lt;a style="text-decoration: none;" href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=3.0.40818.0"&gt;&lt;img style="border-style: none;" src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" /&gt;&lt;/a&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;IBM sign by&amp;nbsp;&lt;a href="http://www.flickr.com/photos/xrrr/2478939068/"&gt;Simon Greig&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/Rc-97Q9FYtQ" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/Rc-97Q9FYtQ/sign-o-the-times-ibm-sap-now-support-microsofts-standardization-move.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/sign-o-the-times-ibm-sap-now-support-microsofts-standardization-move.php</guid>
				<category>Microsoft</category>
				<pubDate>Thu, 24 May 2012 17:51:00 -0700</pubDate>
				<author>Scott M. Fulton</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/sign-o-the-times-ibm-sap-now-support-microsofts-standardization-move.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[A Utility That Makes You Master of the Twitterverse]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/t-cli-150.png" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						You can do a lot more with Twitter than the official Web, mobile and desktop clients allow. To do it, though, you'll need to access Twitter's API — or use a tool that digs deeper into the API than the usual clients. If you're comfortable with a command line interface, or willing to learn how to use one, &lt;a href="https://github.com/sferik/t"&gt;t&lt;/a&gt; gives you simple, fine-grained control over your Twitter stream.&lt;/p&gt;
		 
	
																							&lt;p&gt;The one-letter Ruby gem, t, is written by Erik Michaels-Ober. The source is available on GitHub, or you can just grab it using Ruby's &lt;code&gt;gem install&lt;/code&gt; command. Ruby is on most *nix type systems by default (Linux distributions, Mac OS X) but &lt;a href="http://www.ruby-lang.org/en/downloads/"&gt;Windows users will need to download the installer&lt;/a&gt; to get started.&lt;/p&gt;
&lt;p&gt;After you've installed the t gem, you'll need to authorize it. You can use it without getting API access, but then you're limited to 150 requests per hour, and you can't use t to post a Twitter message or make changes to your account.&lt;/p&gt;
&lt;h2&gt;Using t&lt;/h2&gt;
&lt;p&gt;To see all of the commands available via t, just run &lt;code&gt;t help&lt;/code&gt;. You'll find that t supports more than 40 commands, or &lt;em&gt;tasks&lt;/em&gt; as its documentation calls them. The syntax is simple: &lt;code&gt;t&lt;/code&gt; followed by the task name, and any options and arguments.&lt;/p&gt;
&lt;p&gt;For example, you can use t to get all of the followers for an account by running &lt;code&gt;t followers username&lt;/code&gt;. Note that you don't need to include the @ in front of a username.&lt;/p&gt;
&lt;p&gt;Many of the commands are mundane operations that you can do with any Twitter client. For example, posting a status update or following another user. Running &lt;code&gt;t update "message goes here"&lt;/code&gt; will post an update, running &lt;code&gt;t follow &lt;em&gt;username&lt;/em&gt;&lt;/code&gt; will follow the user that you specify, and so on.&lt;/p&gt;
&lt;p&gt;If you're a command-line diehard, then you might prefer using t for those operations. But its real value is in doing things you can't do with most Twitter clients. Want to see a list of users who follow you but whom you don't follow? Run &lt;code&gt;t groupies&lt;/code&gt;. You can also use that command to check on other users, &lt;code&gt;t groupies &lt;em&gt;username&lt;/em&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The most interesting thing about t is that it works well with other *nix commands. For example, you can create a list (&lt;code&gt;t list create &lt;em&gt;listname&lt;/em&gt;&lt;/code&gt;) and add all users who are followed by another user (&lt;code&gt;t followings &lt;em&gt;user&lt;/em&gt; | xargs t list add &lt;em&gt;listname&lt;/em&gt;&lt;/code&gt;. That's just a small sample. You can use any of the standard *nix utilities with t, like &lt;code&gt;uniq&lt;/code&gt;, which might be useful in generating lists of users to follow by examining users that other people follow (and much more).&lt;/p&gt;
&lt;p&gt;You may bump up against arbitrary limits when adding people to lists and such. According to the Twitter API docs, you can only add 100 users at a time to a list, and a list can only have 500 users. When I tested the limit, though, I was able to add 195 users to a list with one shot. The operation failed (sort of) when I tried to add another large chunk of users (more than 400), leaving my list with 582 members. To put it another way, trial and error is called for.&lt;/p&gt;
&lt;p&gt;Some of the t commands also support a &lt;code&gt;--csv&lt;/code&gt; option, which you can use to dump output to a &lt;a href="http://en.wikipedia.org/wiki/Comma-separated_values"&gt;comma-separated value&lt;/a&gt; file and then import it into a spreadsheet.&lt;/p&gt;
&lt;h2&gt;The Bad&lt;/h2&gt;
&lt;p&gt;While t has a lot to offer, it also has a few problems. First and foremost, a few commands don't quite work. For instance, the &lt;code&gt;t stream timeline&lt;/code&gt; command is supposed to provide an on-going stream of your timeline. It provides the first 20, and then errors out. The "matrix" command, likewise, returns an error. The "trends_locations" task doesn't seem to be implemented at all, as it returns a "could not find task 'trends_locations'" error.&lt;/p&gt;
&lt;p&gt;The error messages, in general, are pretty minimal. You may be notified "too many terms specified in query" for instance - but no information on what part(s) of a command succeeded or failed. I've seen a few operations that appeared to &lt;em&gt;mostly&lt;/em&gt; succeed, like adding users to a list, but received an error notice. When that happens, it's not trivial to figure out what worked.&lt;/p&gt;
&lt;p&gt;Sparse documentation is another problem. Many of the commands have options that are not well-explained. You may need to go spelunking through the code to see what options are available.&lt;/p&gt;
&lt;p&gt;Finally, it's pretty easy to hit Twitter's rate limit. Twitter has an &lt;a href="https://dev.twitter.com/docs/rate-limiting"&gt;hourly limit of 350 requests per hour&lt;/a&gt; with an authenticated client. You can bump up against the limit if, for example,&amp;nbsp;you try to request a list of all users for an account with tens or hundreds of thousands of followers. Note: If you wish to check on your current rate limit, use &lt;code&gt;t rate_limit&lt;/code&gt;. You'll see the current limit (should be 350) and how many remaining hits you have, and the time your limit will be reset.&lt;/p&gt;
&lt;p&gt;For the most part, though, t works quite well and provides a great way to do more with Twitter than the usual clients allow. If you're doing more than idle chit-chat on Twitter, take a look at t.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/-dJ6IxSgsN0" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/-dJ6IxSgsN0/a-utility-that-makes-you-master-of-the-twitterverse.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/a-utility-that-makes-you-master-of-the-twitterverse.php</guid>
				<category>Reviews</category>
				<pubDate>Wed, 23 May 2012 07:32:00 -0700</pubDate>
				<author>Joe Brockmeier</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/a-utility-that-makes-you-master-of-the-twitterverse.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Computer Programming for All: A New Standard of Literacy]]></title>
				<description>&lt;p&gt;Everyone ought to be able to read and write; few people within the global mainstream would argue with that statement. But should everyone be able to program computers? The question is becoming critically important as digital technology plays an ever more central role in daily life. The movement to make code literacy a basic tenet of education is gaining momentum, and its success or failure will have a huge impact on our society.&lt;/p&gt;
		 
	
																							&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-r"&gt;
				&lt;img src="http://www.readwriteweb.com/files/shutterstock_book_keys.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						The democratization of literacy in the late 19th century created one of the great inflection points in human history. Knowledge was no longer confined to an elite class, and influence began to spread throughout all levels of society. Any educated person could command the power of words.&lt;/p&gt;
&lt;p&gt;What if any educated person had equal sway over the power of machines?&amp;nbsp;What if we were to expand our notion of literacy to encompass not only human languages but also machine languages? Could widespread facility in reading and writing code come to be as critical to society as the ability to manipulate spoken and written language?&lt;/p&gt;
&lt;p&gt;The usual definition of computer literacy stops at the UI: If a user knows how to make the machine work, he or she is computer-literate. But, of course, the deeper literacy of the programmer is far more powerful. Fortunately, computer languages and human languages are basically very similar. Like human languages, computer languages vary in form and character (Python to Java to Ruby) and can be implemented in infinite ways. My Python may not look like your Python, but it can do the same thing; likewise, a single idea can be expressed using a variety of combinations of English words. And both kinds of language are infinitely flexible. Just as a person literate in English can compose everything from a sonnet to a statute, a person literate in programming languages can automate repetitive tasks, saving time for things only a human can do; distribute access to systems of communication and control to large groups of people; and train machines to do things they've never done before. Computer programming already does marvelous things like deliver this article to your mind, operate life-sustaining medical devices and enable IBM's Watson to win at Jeopardy.&amp;nbsp;The current potential for innovation would be many times greater if every schoolchild had a firm grasp of programming concepts and how to apply them.&lt;/p&gt;
&lt;p&gt;Among programmers, a movement is forming around this idea. Shereef Bishay, founder of San Francisco-based Developer Bootcamp, believes that &lt;a href="http://www.readwriteweb.com/start/2012/05/developer-bootcamp-teaches-regular-folks-to-code-and-maybe-get-a-job-at-a-startup.php" target="_blank"&gt;coding is destined to become a new form of widespread literacy within the next 20 to 30 years.&lt;/a&gt; Everybody should learn to code, he says, because machine/human and machine/machine interaction is becoming as ubiquitous as human/human interaction. Those who don't know how to code soon will be in the same position as those who couldn't read or write 200 years ago.&lt;/p&gt;
&lt;p&gt;300 years ago, Bishay said, "you would have to hire to write a letter for you, and hire them to read the letter for you. It is just insane." Today most people hire a skilled programmer to write computer programs for them.&lt;/p&gt;
&lt;p&gt;The code literacy movement began to gather steam in late 2011, when Codecademy started teaching basic programming skills for free. The debate came to a head this week as two blog posts took the top spots on the tech website &lt;em&gt;Hacker News&lt;/em&gt;. The first, dubbed “&lt;a href="http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html" target="_blank"&gt;Please Don’t Learn to Code&lt;/a&gt;,” came from noted developer and StackOverflow.com creator Jeff Atwood on his blog Coding Horror. The second, a rebuttal entitled "&lt;a href="http://sachagreif.com/please-learn-to-code/" target="_blank"&gt;Please Learn to Code,&lt;/a&gt;" came from Sacha Greif, a Parisian designer whose clients include HipMunk and MileWise.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;“I do think (or at least, hope) that computer programming will become the next version of literacy,” Greif wrote in an email to ReadWriteWeb. “When I watch my 4 year old niece interact with an iPhone, I see her intuitively using interaction patterns that older people often have trouble with, even when they're computer-literate. And kids can easily memorize huge quantities of facts about complex abstract systems like Pokemon games. So clearly they have the potential to learn how to code.”&lt;/p&gt;
&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-l"&gt;
				&lt;img src="http://www.readwriteweb.com/files/shutterstock_kid_programmer.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p&gt;Not everyone in the programming community agrees. Atwood argues that verbal literacy is a different kind of skill, and more fundamental. “Literacy is the new literacy,” he told ReadWriteWeb. “As much as I love code, if my fellow programmers could communicate with other human beings one-tenth as well as they communicate with their interpreters and compilers, they'd have vastly more successful careers.”&lt;/p&gt;
&lt;p&gt;Atwood stresses learning, and mastering, &lt;a href="http://www.codinghorror.com/blog/2006/06/is-writing-more-important-than-programming.html" target="_blank"&gt;the basic skills of communication.&lt;/a&gt; Learn to read. Learn to write. Learn to hold a conversation. Learn some basic math. These skills, he says, are more essential&amp;nbsp;than being able to program a computer.&lt;/p&gt;
&lt;p&gt;Of course, the path to universal code literacy is not without roadblocks. The skills necessary depend on how computing evolves over the next several decades. How will quantum computing affect our relationship with computers? However, the human capacity to learn is not at issue.&amp;nbsp;If it becomes&amp;nbsp;necessary&amp;nbsp;for me to code to interact with my machine, I will likely learn to code. It is no different than if I was dropped off in Cambodia without a place to stay or food to eat - I'd learn the local language posthaste.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;At present, the ability to program computers is vocational, like carpentry or learning to cook. There's little impetus to make it universal. But imagine if it were.&lt;/p&gt;
&lt;p&gt;Should computer programming become the new literacy? Or should it remain a vocation? Let us know in the comments.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Images courtesy of Shutterstock&lt;/em&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/dK5xaDwpudY" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/dK5xaDwpudY/computer-programming-for-all-a-new-standard-of-literacy.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/computer-programming-for-all-a-new-standard-of-literacy.php</guid>
				<category>Hacking</category>
				<pubDate>Thu, 17 May 2012 17:30:00 -0700</pubDate>
				<author>Dan Rowinski</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/computer-programming-for-all-a-new-standard-of-literacy.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Google Easy Dashboard Library Makes Using Analytics API Easier]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/think-youre-anonymous-google-analytics-may-prove-different.jpeg" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						Google has long provided an API for automating Google Analytics, but it required developers to jump through a few more hoops than many would like. Yesterday, the company announced its &lt;a href="http://analytics-api-samples.googlecode.com/svn/trunk/src/reporting/javascript/ez-ga-dash/docs/user-documentation.html"&gt;Easy Dashboard Library&lt;/a&gt;, which should let developers speed up custom-tailored dashboards and reports.&lt;/p&gt;
		 
	
																							&lt;p&gt;Prior to the library, &lt;a href="http://googledevelopers.blogspot.com/2012/05/new-google-analytics-easy-dashboard.html"&gt;getting things out of the Google Analytics API wasn't a trivial process&lt;/a&gt;. According to the post announcing the feature, developers had to learn the API, then figure out how to handle authorization, and &lt;em&gt;then&lt;/em&gt; meld the data with another visualization library. Fun for some developers, but definitely not speedy. And when has management ever said "we'd really like a better dashboard for our Web traffic, but take as long as you like to come up with it"? Right, so something better was obviously needed.&lt;/p&gt;
&lt;h2&gt;The Easy Dashboard Library&lt;/h2&gt;
&lt;p&gt;Google worked with students at the University of California, Irvine to come up with something better. The Easy Dashboard Library has three basic steps: Set up API access with an OAuth 2.0 client ID; copy and paste some code; and configure the code to query data and select your chart type.&lt;/p&gt;
&lt;p&gt;The post from Google demonstrates how to create a quick-and-dirty chart for pageviews, visits and visitors over the last 30 days. You can test out a demo &lt;a href="http://analytics-api-samples.googlecode.com/svn/trunk/src/reporting/javascript/ez-ga-dash/demos/set-demo.html"&gt;on Google Code, where the library lives&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/ez-dashboard-sample.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						Developers have the option of using line, bar, pie, table or column charts. The demo shows a pretty simple query, but developers &lt;a href="https://developers.google.com/analytics/devguides/reporting/core/dimsmets"&gt;can set queries using all kinds of dimensions and metrics supported by the Core Reporting API&lt;/a&gt;. It looks like developers can also use the data with another chart API if they prefer.&lt;/p&gt;
&lt;p&gt;If you still don't think it's quite easy enough to use or would like to see additional features, you may be in luck. Google is planning to work with another group of students at the university for the next three quarters. The main goal is simplifying the library, but Google is also encouraging feedback &lt;a href="https://groups.google.com/forum/?hl=en&amp;amp;fromgroups#!forum/ga-easy-dash-feedback"&gt;via the Google Group for the Easy Dashboard Library&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Given the prevalence of Google Analytics, this should be good news for a lot of developers. It should also make custom dashboards more accessible even to more casual users, who might not have been eager to spend the time needed to get up to speed with the Analytics API but can ramp up pretty quickly with the Easy Dashboard Library. If you've taken a stab at using it, or have any recommendations for working with Analytics data, let us know in the comments.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/M5nWkdSbco0" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/M5nWkdSbco0/google-easy-dashboard-library-makes-using-analytics-api-easier.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/google-easy-dashboard-library-makes-using-analytics-api-easier.php</guid>
				<category>Google</category>
				<pubDate>Thu, 10 May 2012 15:30:00 -0700</pubDate>
				<author>Joe Brockmeier</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/google-easy-dashboard-library-makes-using-analytics-api-easier.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Why Is Microsoft Trying to Hobble Firefox on Windows 8 Tablets - and Why Does It Matter?]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/firefox-logo-150.png" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						As &lt;a href="http://www.readwriteweb.com/enterprise/2012/05/top-10-windows-8-features-no-8-storage-spaces.php" target="_blank"&gt;Windows 8&lt;/a&gt; approaches, Mozilla developers have been working hard on a Metro version. If you're using Windows 8 on the desktop, no problem. Tablet users, however, are going to be denied a fully functional Firefox - and will face restrictions on many other third-party applications. In the name of security, Microsoft is forcing them into a "sandbox" on ARM devices. The lockdown renegs on the company's &lt;a href="http://lockshot.files.wordpress.com/2012/05/windows-principles-document.pdf"&gt;prior promises&lt;/a&gt;, and it's going to have some far-reaching effects on many applications.&lt;/p&gt;
		 
	
																							&lt;p&gt;Mozilla's Asa Dotzler &lt;a href="http://weblogs.mozillazine.org/asa/archives/2012/05/firefox-on-windows-o.html"&gt;touched on this issue yesterday&lt;/a&gt;, saying that Microsoft "is trying to lock out competing browsers when it comes to Windows running on ARM chips." But it actually goes farther than that.&lt;/p&gt;
&lt;p&gt;Microsoft is restricting access to some APIs on &lt;a href="http://en.wikipedia.org/wiki/ARM_architecture" target="_blank"&gt;ARM&lt;/a&gt;-architecture devices that are, as Dotzler says, "absolutely necessary for building a modern browser that it won't give to other browsers so there's no way another browser can possibly compete with IE in terms of features or performance."&lt;/p&gt;
&lt;p&gt;Dotzler is focused on the implications of Microsoft's win32 API restrictions on ARM because they affect Firefox. This makes sense because Dotzler works for Mozilla and focuses on Firefox in general, not to mention Microsoft's long history of anticompetitive behavior towards third-party browsers. Make no mistake, though: Limiting access to the win32 APIs is &lt;a href="http://www.i-programmer.info/professional-programmer/i-programmer/3789-windows-8s-private-api-woa-for-developers.html"&gt;likely to impact many other applications as well&lt;/a&gt;. How can LibreOffice or Apache OpenOffice compete with Microsoft Office if they're shut out of the win32 APIs?&lt;/p&gt;
&lt;h2&gt;In the Name of Malware&lt;/h2&gt;
&lt;p&gt;Microsoft is getting cut a lot of slack for its anticompetitive stance, because it is casting the &lt;a href="http://wiki.mako.cc/Antifeatures"&gt;anti-features&lt;/a&gt; for developers in the name of "&lt;em&gt;protecting users from malware&lt;/em&gt;." It's OK if Microsoft cuts off competing applications at the knees, because it's trying to prevent malware.&lt;/p&gt;
&lt;p&gt;Leaving aside Microsoft's intentions - perhaps it truly is motivated only by the best interests of users - this argument fails on a number of levels. First, it assumes that Microsoft's own applications won't be exploitable. Given Microsoft's history with security, this isn't likely. Why does Microsoft get the assumption of secure applications, while third parties do not?&lt;/p&gt;
&lt;p&gt;And let's not forget who got us to this juncture in the first place. Microsoft users have been worn down by more than a decade of security issues that trace back to Microsoft itself. Microsoft is essentially using its own failings to excuse its blocking of third-party apps that may well have better security than its own applications.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Sandbox_%28computer_security%29" target="_blank"&gt;Sandboxing&lt;/a&gt; third-party apps into limited parts of the machine does nothing to ensure that Microsoft's own browser won't be ownable by malware. Since Internet Explorer code isn't open source, security researchers can't audit the code directly. Firefox, which &lt;em&gt;can&lt;/em&gt; be independently audited, won't be available on the new ARM tablets.&lt;/p&gt;
&lt;h2&gt;Why Not Complain About Apple?&lt;/h2&gt;
&lt;p&gt;Some folks have tried to dismiss complaints about Microsoft's ARM policies by pointing at Apple. Since Apple also discriminates against developers on iOS, why shouldn't Microsoft?&lt;/p&gt;
&lt;p&gt;Yes, Apple's&amp;nbsp;iOS&amp;nbsp;developer policies suck, but they've sucked since the operating system's inception. What's more, there's little chance that Apple is going to change its policies unless users start abandoning iOS, or there's some sort of legal interference. Given that it'd be hard to make a case that Apple has a monopoly, legal interference seems unlikely.&lt;/p&gt;
&lt;p&gt;That doesn't mean that third parties should just shrug their shoulders and accept the same treatment from Microsoft. &lt;em&gt;If&lt;/em&gt; Microsoft is successful in the tablet market, ceding the Windows 8 ARM tablets is going to be a big loss for third parties. Loss of one platform is difficult, but being shut out of two tablet platforms in a three-horse race is going to spell major problems for Mozilla.&lt;/p&gt;
&lt;p&gt;Dotzler distinquishes between a tablet OS and a general-purpose OS, though. Right now, at least, iOS is just for phones and tablets. Firefox can still compete with Safari on Mac OS X. Whether the distinction really makes sense, I'm not sure, given iOS' dominance on tablets so far.&lt;/p&gt;
&lt;p&gt;But Windows 8 is not tablet-only. As Dotzler points out, tablets may be a "tiny sliver" of the PC universe &lt;em&gt;now&lt;/em&gt;, but if you're looking ahead, that's not going to be the case in a few years. "ARM will be migrating to laptop PCs and all-in-one PCs very quickly," he says. "If you read Microsoft's blog posts about Windows on ARM, you'll see that they expect ARM PCs to cover the whole spectrum. ARM chips are already being used in servers. This is not a tablet-only concern."&lt;/p&gt;
&lt;h2&gt;Tablets and Tightening&lt;/h2&gt;
&lt;p&gt;If trends continue, users will do much more computing on their tablets and phones in the future. Even if this &lt;em&gt;was&lt;/em&gt; a tablet-only issue, it'd be worth standing against. The &lt;a href="http://www.readwriteweb.com/hack/2012/03/what-we-lose-in-a-post-pc-worl.php"&gt;amount of lockdown being exhibited on tablets is troubling&lt;/a&gt;, to say the least.&lt;/p&gt;
&lt;p&gt;Giving Microsoft (or Apple) so much control over what applications run on their platforms is not good for developers or users. It should be assumed that users have control over their computing devices, and that means having the option to choose their own applications for Web browsing and everything else.&lt;/p&gt;
&lt;p&gt;It's not at all puzzling that Mozilla is complaining about being shut out of Windows 8 tablets. What's puzzling is how many developers and industry pundits are willing to give Microsoft a pass.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/Fgc9L9Nge1c" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/Fgc9L9Nge1c/why-is-microsoft-trying-to-hobble-firefox-on-windows-8-tablets-and-why-does-it-matter.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/why-is-microsoft-trying-to-hobble-firefox-on-windows-8-tablets-and-why-does-it-matter.php</guid>
				<category>Analysis</category>
				<pubDate>Thu, 10 May 2012 13:00:00 -0700</pubDate>
				<author>Joe Brockmeier</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/why-is-microsoft-trying-to-hobble-firefox-on-windows-8-tablets-and-why-does-it-matter.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[US Government Has More "Big Data" Than It Knows What to Do With]]></title>
				<description>&lt;p&gt;&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/enterprise/assets_c/2011/09/090827%2520Capitol%2520Hill-thumb-150x150-33507.jpg" alt="" width="150" /&gt;It's a valid question: "Why has all the data the government has been collecting turned out to be too big to handle?" The results of a U.S. and state government IT survey released this week by the public sector IT community &lt;a href="http://www.meritalk.com/home.php" target="_blank"&gt;MeriTalk&lt;/a&gt; sheds a bright, halogen spotlight on the answer: It's because it's being collected in an unfiltered format and is waiting for someone - anyone - to claim it and write viable applications for it.&lt;/p&gt;
		 
	
																							&lt;p&gt;If you've followed along with RWW's expanding coverage of technology trends in the public sector, you'll recall &lt;a href="http://www.readwriteweb.com/cloud/2012/01/public-sector-four-fifths-of-t.php"&gt; we take an occasional look at the MeriTalk survey&lt;/a&gt;, which is an ongoing dialogue with IT professionals in the U.S. federal government. In a report released Monday summarizing the views of 151 respondents, only 60% say they capture "big data" to any degree.&amp;nbsp;&lt;em&gt;All&lt;/em&gt; respondents in that segment said they then analyze the data, but when asked to qualify what that meant, fewer than half (49%, or about 44 respondents) said they extrapolate any meaningful trends from it. Some 28% of respondents collecting big data say they don't do any collaboration with other agencies whatsoever to discover what it all means.&lt;/p&gt;
&lt;p&gt;But that may not be the whole picture, as 31% of the IT professionals polled whose agencies are affiliated with the Department of Defense or with intelligence (about 23 in all) say they cannot even &lt;em&gt;discuss&lt;/em&gt; the subject of big data. Among all agencies polled, approximately 52% say they are in the learning stage about what they can actually do with all this data. But when asked how long this phase should be expected to last, the average response was &lt;em&gt;three years!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;What will happen to government big data during that time? MeriTalk's calculations conclude that the agencies it polled currently store some 1.61 petabytes (quadrillion bytes) of total data, both structured and unstructured. (MeriTalk estimates that 31% of the data collected by agencies polled is actually unstructured.) In an astounding conclusion based on its respondents' estimates, MeriTalk predicts that the rate of expansion of public-sector data stores is about 0.51 petabytes per year. So by the time these agencies have completed their assessment of what to do with &lt;em&gt;all&lt;/em&gt; the data they have collected throughout their history, the size of those data stores will have nearly doubled.&lt;/p&gt;
&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/120509%20MeriTalk%20survey%2001.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;[Source: MeriTalk Government IT Network]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Based on the &lt;a href="http://whatsabyte.com"&gt;rough conversion table provided by WhatsAByte.com&lt;/a&gt;, we calculated that if each individual agency polled was to store all the data it's currently collecting on paper, the (very) old-fashioned way, it would need to requisition at least 20 four-drawer filing cabinets every minute of every day simply to contain it all. When asked to select the top three challenges to being able to manage all this data from a long list, 40% of respondents checked storage capacity, 36% being able to distribute and share it, 35% being able to query the data in any form and 34% said having enough time to actually process the results.&lt;/p&gt;
&lt;p&gt;Of those who could accurately estimate their current big data storage capacities, some 57% said it was already too late: The infrastructure is not in place for them to be able to work with what they have, and that includes cloud capacity.&lt;/p&gt;
&lt;p&gt;What appears to have happened is this: During the past few years, once it became feasible for government agencies to begin amassing data from Internet-based sources rather than through direct collection or communication, they deployed the first generation of big-data tools immediately, with the idea that they'd plan for how to use it later. The result was like the plan for how to pay for the first wave of tax credits in 2001: We'll do it now, and figure out how to pay for it when the time comes. The trick, of course, is to know when that time comes, but now more than half of federal IT workers speaking with MeriTalk say that time has already passed.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Lead image courtesy of &lt;a href="http://www.meritalk.com/home.php" target="_blank"&gt;Shutterstock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/ZW34JiKNPIs" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/ZW34JiKNPIs/us-government-has-more-big-data-than-it-knows-what-to-do-with.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/us-government-has-more-big-data-than-it-knows-what-to-do-with.php</guid>
				<category>Big data</category>
				<pubDate>Thu, 10 May 2012 09:29:00 -0700</pubDate>
				<author>Scott M. Fulton</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/us-government-has-more-big-data-than-it-knows-what-to-do-with.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Bye, Bye Waterfall: 5 Steps to Implement Responsive Web Design]]></title>
				<description>&lt;p&gt;Congratulations, you’ve finally convinced the powers that be that your next Web-design project needs to be responsive. It was tough work convincing them, but you can’t rest on your laurels now. The most critical decision of the project remains: &lt;em&gt;how is your team going to build it?&lt;/em&gt;&lt;/p&gt;
		 
	
																							&lt;div class="super-pullquote"&gt;&lt;em&gt;Guest author&amp;nbsp;Travis Sheppard is VP of Technology at &lt;a href="http://www.bgtpartners.com/"&gt;BGT Partners&lt;/a&gt;, a 2010, 2011 and 2012 Ad Age &lt;a href="http://adage.com/article/special-report-best-places-to-work-2012/bgt-partners-15-ad-age-s-places-work-list/233657/"&gt;Top 15 Best Place to Work in the U.S.&lt;/a&gt; BGT creates interactive marketing and technology solutions for global corporations that strengthen brands, develop more engaging relationships and transform businesses. For more information on BGT, please visit&amp;nbsp;&lt;a href="http://www.bgtpartners.com"&gt;www.bgtpartners.com&lt;/a&gt;, &lt;a href="http://www.facebook.com/bgtpartners"&gt;www.facebook.com/bgtpartners&lt;/a&gt; and &lt;a href="http://www.twitter.com/bgtpartners"&gt;www.twitter.com/bgtpartners&lt;/a&gt;.&lt;/em&gt;&lt;/div&gt;
&lt;h2&gt;Responsive Roundup&lt;/h2&gt;
&lt;p&gt;You're probably familiar with the typical &lt;a href="http://www.techrepublic.com/article/understanding-the-pros-and-cons-of-the-waterfall-model-of-software-development/6118423"&gt;"waterfall"&lt;/a&gt; process: start with strategy, then onto design, followed by front- and back-end development and finally analytics implementation. The main attribute of the waterfall process is its linear nature: once a stage ends, the next one begins with a near-perfect dovetail. The progression through the stages only goes in a single direction, and unfortunately as problems accumulate, they inevitably flow downhill and changes are not handled very gracefully.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Waterfall process:&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/waterfall.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p&gt;If you’re unfamiliar with the term &lt;a href="http://www.alistapart.com/articles/responsive-web-design/"&gt;"responsive Web design"&lt;/a&gt;, it describes a website-building process that utilizes the same set of code to display properly on desktop, tablet and smartphone browsers. Gone are the days of creating entirely separate websites in parallel desktop and mobile versions. Now you can construct an extremely flexible website to handle all environments.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Responsive approach:&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/responsive-design.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p&gt;So why implement responsive design over the waterfall process? One of the biggest disadvantages of the waterfall is that little thought is given to design and development for environments beyond the standard desktop browser. An agile approach with responsive design considers these issues from the start, but will require more upfront wireframing, design and testing that are omitted in the waterfall process. Once implemented, your site will &lt;a href="http://mediaqueri.es/"&gt;render properly&lt;/a&gt; on desktops, mobile devices and tablets.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Responsive approach:&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/responsive-design2.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p&gt;So how can you implement responsive Web design in your organization? Below we’ll review the steps of the typical waterfall process and explain how they can become responsive.&lt;/p&gt;
&lt;h2&gt;How to Implement Responsive Web Design&lt;/h2&gt;
&lt;h3&gt;Step 1: The Plan&lt;/h3&gt;
&lt;h4&gt;&lt;em&gt;Waterfall Process&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;In the waterfall process, wireframes are built and consist primarily of layouts and widgets. They’re set to a specific size (usually pixel-based), and have little room for flexibility. These wires promote very specific grid/layout sizes, but when the layout changes due to different screen resolutions, things will shift in transit. The results are that navigation menus become unusable, forms become inaccessible and your interface is rendered inadequate.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Responsive Web Design&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;The fix for this problem isn't so difficult. You’ll need to design widgets for different views, and not think of a page as a "page." Pages are not atomic units - instead, the sliders, content, forms and other components are atomic pieces making up the whole. Wireframes must represent different screen sizes, and therefore layouts must be fluid. They can go from three columns to two, and perhaps scale down into a single column for the smallest displays (mobile smartphones).&lt;/p&gt;
&lt;p&gt;You’ll need to change the user experience as well - a slider cannot only be controlled by a mouse, but might require a user’s finger for interaction on smaller screen sizes. Wireframes need to become prototyping tools rather than blueprints, and some development and testing is needed to ensure they’re fully functional across the display spectrum. If design commences prior to this initial testing, then unknown development issues may arise at a later point. Regardless, the ultimate vision for the project must be sustained, so keeping lines of communication open between departments is essential.&lt;/p&gt;
&lt;h3&gt;Step 2: Design Time&lt;/h3&gt;
&lt;h4&gt;&lt;em&gt;Waterfall Process&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;In the waterfall process, the next step would be handing off the wireframes to design, and breathing life into them via fonts, colors, spacing and other tools of the craft. Oftentimes, there is some back and forth on design direction, with updates to the design comps made as more knowledge about the brand and its design guidelines surface.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Responsive Web Design&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;To make better use of allotted project time and resources, design should include a few layouts and widgets at different sizes. Responsive Web design means letting go of pixel-perfect designs. Making those designs work on desktop browsers is challenging enough, but when we think in terms of flexible widgets on a flowing grid, the number of designs needed becomes manageable.&lt;/p&gt;
&lt;p&gt;Let the medium of HTML enhance the qualities of the design using a fluid layout in all environments. Creating the states for each browser width is a huge waste of time - instead focus on the totality of the user experience. For example, ensure that the atomic components of a rotating banner are touch-sensitive on smaller mobile devices, and use an industry-recommended minimum size of 44 pixels to allot for the typical human fingertip size. The design of the experience is just as important as the look of the site on all screen sizes.&lt;/p&gt;
&lt;h3&gt;Step 3: Build It&lt;/h3&gt;
&lt;h4&gt;&lt;em&gt;Waterfall Process&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;With the waterfall approach, once the designs are approved by the client, front-end development ensues where issues regarding rendering on smaller screens could arise. Unfortunately, due to the linear nature of the waterfall, these unforeseen problems appear well into the project progression.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Responsive Web Design&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;In our agile and responsive process, the design must live on a flexible grid. The widgets need to be planned out and prototyped by the developers, and they need to be tested along the way. The code also needs to be optimized to ensure that the widgets are the smallest possible unit. The widgets can be easily inserted and removed from layouts that were not originally planned for, and testing these options grants peace of mind. Constant collaboration between the developer, designer and strategist circumvents issues with the inevitable changes. With the different members of the team on the same page, problems are identified and resolved earlier in the process.&lt;/p&gt;
&lt;h3&gt;Step 4: Testing Your Patience&lt;/h3&gt;
&lt;h4&gt;&lt;em&gt;Waterfall Process&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;The final stage in a standard waterfall process is to evaluate the site via unit and functional testing methods. Issues discovered at this stage may require the original vision to be tempered, and sometimes a new device that’s just hit the market can throw a wrench in the works. The strategy and design team members, who may have begun work on new projects, must be brought back in the loop to accommodate these changes, and more time must be spent on updates.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Responsive Web Design&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;In the responsive process, you need to test along the way on multiple browsers and screen sizes so any problems are revealed early on. Issues with the mobile environment, which don’t coincide with the wireframes, can be recognized, as well as the capabilities of the design on a number of different platforms. A working project prototype will be ready early on allowing clients to review sooner, making it a win-win for all parties.&lt;/p&gt;
&lt;h3&gt;Step 5: Rinse, Lather, Repeat&lt;/h3&gt;
&lt;h4&gt;&lt;em&gt;Waterfall Process&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;The traditional waterfall process doesn’t have a step where you iterate through the designs and the interface. Passing over minor details at certain stages of the project construction permits issues to arise and client-expectation conflicts. Despite consistent and timely communication with the client, until a presented working model is shown, the full gravity of these accumulated poor decisions is not known.&lt;/p&gt;
&lt;h4&gt;&lt;em&gt;Responsive Web Design&lt;/em&gt;&lt;/h4&gt;
&lt;p&gt;With the responsive approach, the same amount of progress is attained and, as a bonus, there is live code for client presentation every step of the way. The discoveries made at these earlier stages will help drive subsequent stages and anticipate critical changes ahead of any deadlines.&lt;/p&gt;
&lt;h2&gt;In Summary&lt;/h2&gt;
&lt;p&gt;Adopting an agile responsive approach will free you from the constraints of the waterfall process. Your design and development will be streamlined, you’ll be more productive and efficient and your online brand presence will be maximized on all possible platforms and screens. The real challenge is breaking out of the waterfall mold and becoming a responsive organization. Follow these five steps and you might just say "bye, bye" to the waterfall and "hello" to responsive Web design.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Waterfall photo courtesy of &lt;a href="http://shutterstock.com"&gt;Shutterstock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/jsUA6uQaP10" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/jsUA6uQaP10/bye-bye-waterfall-5-steps-to-implement-responsive-web-design.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/bye-bye-waterfall-5-steps-to-implement-responsive-web-design.php</guid>
				<category>Design</category>
				<pubDate>Thu, 10 May 2012 06:05:00 -0700</pubDate>
				<author>Travis Sheppard</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/bye-bye-waterfall-5-steps-to-implement-responsive-web-design.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Improvements in New York Times' Fech Makes It Easier to Follow the Money]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/fields/money-610-1.png" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						Having data available electronically is not the same thing as the data being &lt;em&gt;useful&lt;/em&gt;. Campaign finance disclosures provided electronically by the Federal Elections Commission (FEC), are a good example of that. The &lt;em&gt;New York Times&lt;/em&gt;'s &lt;a href="http://open.blogs.nytimes.com/2011/08/29/introducing-fech/"&gt;Fech&lt;/a&gt; (not "fetch") is a RubyGem - a packaged application - designed to help journalists and public interest organizations access and make sense of FEC filings.&lt;/p&gt;
		 
	
																							&lt;p&gt;&amp;nbsp;Here's the &lt;em&gt;NY Times'&lt;/em&gt; description of Fech from its first release last year:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Journalists who work with these filings need to extract their data from complex text files that can reach hundreds of megabytes. Turning a new set into usable data involves using the F.E.C.'s data dictionaries to match all the fields to their positions in the data. But the available fields have changed over time, and subsequent versions don't always match up. For example, finding a committee's total operating expenses in version 7 means knowing to look in column 52 of the “F3P” line. It used to be found at column 50 in version 6, and at column 44 in version 5. To make this process faster, my co-intern Evan Carmi and I created a library to do that matching automatically.&lt;/p&gt;
&lt;p&gt;Fech (think “F.E.C.h,” say “fetch”), is a Ruby gem that abstracts away any need to map data points to their meanings by hand. When you give Fech a filing, it checks to see which version of the F.E.C.'s software generated it. Then, when you ask for a field like “total operating expenses,” Fech knows how to retrieve the proper value, no matter where in the filing that particular software version stores it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Derek Willis of the &lt;em&gt;NY Times&lt;/em&gt; announced the &lt;a href="http://open.blogs.nytimes.com/2012/04/11/announcing-fech-1-0/"&gt;1.0 release of Fech&lt;/a&gt; last month. This release covers "&lt;a href="http://nytimes.github.com/Fech/#row_types"&gt;all of the current form types that candidates and committees submit&lt;/a&gt;." Perhaps most importantly, this release &lt;a href="http://nytimes.github.com/Fech/#row_types"&gt;allows comparing two filings against one another&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Why Fech Matters&lt;/h2&gt;
&lt;p&gt;Fech is already being used by the NYT for its reporting and &lt;a href="http://elections.nytimes.com/2012/campaign-finance/independent-expenditures/totals"&gt;interactive visualizations&lt;/a&gt; of campaign spending. But that's just one editorial team. Putting this tool in the hands of any developer or reporter that wants to work with the data opens a lot more possibilities.&lt;/p&gt;
&lt;p&gt;For example, there's &lt;a href="http://www.propublica.org/"&gt;ProPublica&lt;/a&gt;, which is using Fech and the &lt;em&gt;NY Times&lt;/em&gt;' APIs for its &lt;a href="http://www.propublica.org/article/campaign-spending-shows-political-ties-self-dealing"&gt;reporting&lt;/a&gt; and &lt;a href="http://www.propublica.org/special/a-tangled-web"&gt;interactive graphics&lt;/a&gt;. ProPublica is able to show not just what campaigns are spending, but how much and with whom. (So far the biggest winner is Mentzer Media Services, an ad agency that specializes in GOP campaigns - including the Swift Boaters. Fech doesn't automatically point that out, of course, but it helps journalists uncover it.&lt;/p&gt;
&lt;p&gt;Data without context is useless. By helping developers and journalists work with the filings in a more structured way, Fech helps newsrooms (or any other group) put the data in context to find the story behind the data. It's a long way from being &lt;em&gt;simple&lt;/em&gt; to use, but it represents a significant improvement over the raw data. It's Apache-licensed, so it might find its way into all kinds of data analysis tools over time.&lt;/p&gt;
&lt;p&gt;With Fech maturing well before the elections this fall, it could help all kinds of organizations follow the money trails much more efficiently. Here's hoping that happens.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/mOtm2VY22CY" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/mOtm2VY22CY/improvements-in-new-york-times-fech-makes-it-easier-to-follow-the-money.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/improvements-in-new-york-times-fech-makes-it-easier-to-follow-the-money.php</guid>
				<category>Analysis</category>
				<pubDate>Mon, 07 May 2012 17:15:47 -0700</pubDate>
				<author>Joe Brockmeier</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/improvements-in-new-york-times-fech-makes-it-easier-to-follow-the-money.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[A Gaming Replacement for Those Annoying CAPTCHAs]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-l"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/captcha150.jpg" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						We all know about those authentication blocks of text called CAPTCHAs, perhaps too well. (Today's fun trivia: The acronym stands for &lt;a href="http://en.wikipedia.org/wiki/CAPTCHA"&gt;Completely Automated Public Turing Test to Tell Computers and Humans Apart&lt;/a&gt;.). A &lt;a href="http://www.areyouahuman.com/demo"&gt;new idea from PlayThru&lt;/a&gt; is to embed a small Flash or HTML5-based game that a human plays with a mouse to prove he or she really is a carbon-based life form. It is intriguing, potentially less annoying, and has captured (if you will excuse the pun) a few supporters already. The service is just getting started, and it is free to try out.&lt;/p&gt;
		 
	
																							&lt;p&gt;The CAPTCHA process was developed in 2000 by several computer scientists at Carnegie Mellon University. It has since spread like kudzu to various websites, where site owners try to prevent automated bots from bombarding their pages.&lt;/p&gt;
&lt;p&gt;The original thought of Alan Turing with his namesake test was to develop some way for a human to tell when it was talking to a computer. The CAPTCHA is actually this process in reverse: It is administered by a machine, but tries to distinguish humans. It hasn't been working all that well, though. Many spammers employ a variety of techniques to defeat them, such as by &lt;a href="http://www.nytimes.com/2010/04/26/technology/26captcha.html?src=me&amp;amp;ref=technology"&gt;paying low wages to actual humans&lt;/a&gt; or running optical character recognition software to ferret out the&amp;nbsp;CAPTCHA&amp;nbsp;codes.&lt;/p&gt;
&lt;p&gt;In the process, as so often happens with the Internets these days, the bad guys are making for a miserable user experience for the rest of us. The codes have gotten harder to read by ordinary humans, and many users will abandon a Web page rather than try to enter the right code. Updates such as user refreshes to get a new code or audio translators haven't helped much.&lt;/p&gt;
&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-l"&gt;
				&lt;img src="http://www.readwriteweb.com/files/playthru.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						Enter PlayThru's attempt. Their service, perhaps the first game-based&amp;nbsp;CAPTCHA, invites users to solve a game by identifying and interacting with dynamic objects, such as dragging and dropping toppings onto a pizza or food items into a refrigerator. You can see an example here.&lt;/p&gt;
&lt;p&gt;Beta deployments of PlayThru are seeing submission rates increase by up to 40% over text-based&amp;nbsp;CAPTCHAs, and in a company-sponsored survey of 100 people, 98% of the users preferred PlayThru over traditional text-based&amp;nbsp;CAPTCHAs. Granted, that isn't a scientific sample, but it's still an indication of how much we all hate the regular&amp;nbsp;CAPTCHAs, and of how much opportunity there is for their replacement.&lt;/p&gt;
&lt;p&gt;PlayThru isn't the first company to invent a better&amp;nbsp;CAPTCHA. &lt;a href="http://www.readwriteweb.com/archives/could_photos_replace_squigles_in_captcha.php"&gt;Oregon-based Vidoop came out with their own innovation a few years ago&lt;/a&gt;, but it hasn't caught on.&lt;/p&gt;
&lt;p&gt;But this just illustrates the problems in fighting spammers and still making our computer systems usable for the rest of us who just want to go about our business and get work done. The spammers always seem to have ways to defeat the latest technology, no matter how sophisticated. The PlayThru game-based&amp;nbsp;CAPTCHAs&amp;nbsp;could turn into a miniature Space Invaders or World of Warcraft as the automated tools used by the bad guys get better, which would make the simple originals useless. In the meantime, though, try out the demo on PlayThru's site, and let us know what you think of the idea.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/MzzV0-5D1Gs" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/MzzV0-5D1Gs/a-gaming-replacement-for-those-annoying-captchas.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/a-gaming-replacement-for-those-annoying-captchas.php</guid>
				<category>Security</category>
				<pubDate>Thu, 03 May 2012 15:00:00 -0700</pubDate>
				<author>David Strom</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/a-gaming-replacement-for-those-annoying-captchas.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[BUSTED: Security Exploit Exposed by Skype “Tool” Not a Hole ]]></title>
				<description>&lt;p class="BodyArticle"&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/skype-logo.jpg" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						News of a &lt;a href="http://www.theinquirer.net/inquirer/news/2171618/skype-investigates-potential-security-threat" target="_blank"&gt;potential security leak in Skype’s network protocols&lt;/a&gt; may be overblown, an investigation by ReadWriteWeb reveals today.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Though it is possible for a program to expose IP addresses that have, at some point in history, been utilized by Skype users, this particular program is not Skype itself or anything that exploits a flaw in Skype.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Rather, it’s a separate, nonendorsed, reverse-engineered form of Skype 5.5.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Though the reverse engineering project responsible for this program calls itself “open source,” in actuality, its proprietors appear to have merely de-obfuscated Skype’s proprietary code, made adjustments to it, and recompiled it.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Those adjustments can, we discovered, produce human-readable IP addresses.&lt;/p&gt;
		 
	
																							&lt;h2&gt;Underexposure&lt;/h2&gt;
&lt;p class="BodyArticle"&gt;The commercial Windows-based editions of Skype are capable of logging details of complete user sessions (minus the dialog).&lt;span&gt;&amp;nbsp;T&lt;/span&gt;hird-party developers who partner with Skype can make two adjustments to their System Registries, &lt;a href="http://developer.skype.com/SkypeGarage/LogFile"&gt;as explained on this Skype page&lt;/a&gt;, to produce log files that can be shared with Skype’s own developers.&lt;span&gt;&amp;nbsp;&lt;/span&gt;However, those files are encrypted so as not to be legible even by the developers.&lt;span&gt;&amp;nbsp;&lt;/span&gt;RWW confirmed this fact in its own tests this morning.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;The project calling itself “skype-open-source” produces an executable file that demonstrates the use of reverse-engineered code to send a test message through the Skype network.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(So as not to further infringe upon intellectual property, ReadWriteWeb will not post links.)&lt;span&gt;&amp;nbsp;&lt;/span&gt;This particular file is not the tool in question, and in our tests, could not be used to leak IP addresses.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(One form of the tool, however, does appear to be advertising itself as a manipulator of Skype credits.)&lt;span&gt;&amp;nbsp;&lt;/span&gt;However, one of the contributors to the project, whose handle is Vilko, did post a link to his own privately hosted package, which contains both the binaries and de-obfuscated source code for a recent version of Skype.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/120501%20Skype%20log%20screenshot.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Once the Registry changes suggested by Skype to its developers have been entered, Vilko’s program produces a nonencrypted version of the log file that is completely human-readable.&lt;span&gt;&amp;nbsp;&lt;/span&gt;A small portion of one of these session logs is shown above, with potentially identifying data blurred.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Note the &lt;strong&gt;PresenceManager&lt;/strong&gt; keyword, which Skype uses to log the use of its own tool for querying the availability and status of a contact.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;An examination of these session logs does reveal - as any engineer might expect - that IP addresses are associated with Skype users.&lt;span&gt;&amp;nbsp;&lt;/span&gt;As the program retrieves entries for individuals in the user’s contacts list, the log file shows, it retrieves an IP address that is apparently the beginning of a known route to an address the user has employed at some point in history.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Our research indicates that this history may go back several years, meaning that a user may have moved to a different city any number of years since an address was first catalogued.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;What’s more, the address that leads to a known Skype user, after a number of hops, may or may not be an IP address of the user’s direct Internet host.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Several of the IP addresses we found in our research are traceable to Microsoft, though the users we traced are not Microsoft employees, nor do they use Microsoft’s servers.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Microsoft is presently the owner and operator of Skype.)&lt;span&gt;&amp;nbsp;&lt;/span&gt;My own Skype data, for example, which I located in the file, traces to a Microsoft server and not to my own company’s network.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;So it may be inaccurate to say that even the reverse-engineered program exposes users’ IP addresses, but rather that it exposes addresses that enable Skype servers to make contact with them.&lt;span&gt;&amp;nbsp;&lt;/span&gt;In and of themselves, IP addresses are not personally identifiable data, although researchers have demonstrated that, with access to certain databases, it may be easy to deduce users from addresses they have used.&lt;/p&gt;
&lt;h2&gt;Damage Control&lt;/h2&gt;
&lt;p class="BodyArticle"&gt;In a recent message, the “skype-open-source” project’s owners suggest that their users try looking up any Skype username.&lt;span&gt;&amp;nbsp;&lt;/span&gt;The act of doing so triggers a search for the user’s active status, which is then recorded in the log.&lt;span&gt;&amp;nbsp;&lt;/span&gt;That log entry will contain two IP addresses: often one associated with the ISP, and another used for internal routing to the loop associated with the user. Though legal experts have said this is not necessarily personally identifiable data, law enforcement officers have sought this level of information in obtaining evidence on suspects’ Internet activities.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;The fact that the “skype-open-source” project first bore fruit in June 2011, and the first revelation by the project’s owners of its unencrypted logging was made just last week, suggests that even the project’s self-described developers may not know exactly what Vilko is up to.&lt;span&gt;&amp;nbsp;&lt;/span&gt;On their blog, they congratulate Vilko for his contributions and quote a message from Vilko describing how the de-obfuscated source code may be compiled using Microsoft Visual C++.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;As long as code for encrypting one’s log files exists within a program that can be de-obfuscated and reverse-engineered (and many can be), it may be trivially easy for someone like Vilko to simply omit the encryption routines and recompile.&lt;span&gt;&amp;nbsp;&lt;/span&gt;In a statement released to the press, a Skype spokesperson contended that problems such as this are “industry wide.”&lt;span&gt;&amp;nbsp;&lt;/span&gt;One short-term solution for this problem may be for Skype to change its encryption scheme for its log files, although conceivably such a solution may be very short-lived indeed.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;A longer-term solution may be for Skype and/or Microsoft to develop an entirely new logging system, whose files are never human-readable even in their unencrypted form.&lt;span&gt;&amp;nbsp;&lt;/span&gt;It may take more skill to decode such a system - skill which the ordinary de-obfuscator of other people’s code may lack.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/R2fVen7_Dcs" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/R2fVen7_Dcs/busted-security-exploit-exposed-by-skype-tool-not-a-hole.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/05/busted-security-exploit-exposed-by-skype-tool-not-a-hole.php</guid>
				<category>Security</category>
				<pubDate>Tue, 01 May 2012 12:02:27 -0700</pubDate>
				<author>Scott M. Fulton</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/05/busted-security-exploit-exposed-by-skype-tool-not-a-hole.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Confirmed: Too Many Open Source Projects Remain Arbitrary Mashups]]></title>
				<description>&lt;p class="BodyArticle"&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/image1.png" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						One benefit many developers perceive from working with a proprietary platform is that its components are generally updated and deployed according to a single agenda.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Sometimes that agenda is so slow that this fact becomes undeniable.)&lt;span&gt;&amp;nbsp; &lt;/span&gt;By contrast, the tremendous pace of open source development can be overwhelming for some.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Back in 2007 &lt;a href="http://betanews.com/2007/12/12/how-much-open-source-software-are-businesses-really-using/"&gt;the Open Source Census &lt;/a&gt;noted one big problem, especially among enterprises:&lt;span&gt;&amp;nbsp;&lt;/span&gt;Development teams have continually demonstrated an inability to manage the multitude of dependencies that OSS components have upon one another, and to use the proper or most secure components for their projects. A new Sonatype survey confirms that things haven't really changed that much since then.&lt;/p&gt;
		 
	
																							&lt;p class="BodyArticle"&gt;&lt;a href="http://sonatype.com/"&gt;Sonatype&lt;/a&gt;, producers of an open source repository manager called Nexus, surveyed some 2,550 information technology workers.&amp;nbsp;Among those surveyed (52% software developers or engineers, 22% software architects, and 13% team leads or project managers), 52% say their organizations are standardizing on some form of open source development infrastructure stack - a 3% gain over last year's survey (which had about half as many participants).&lt;/p&gt;
&lt;p class="BodyArticle"&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/image2.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Drilling down, however, only 20% of respondents say their organizations’ standards have evolved to the point where developers use&amp;nbsp;only&amp;nbsp;approved OSS components in their projects.&amp;nbsp;The remainder either work with standards that aren’t actually enforced, or work in environments where developers choose whatever components they feel are best at the time.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;The split last year was 13:87, indicating an improvement among at least 7% of respondents.&lt;span&gt;&amp;nbsp;&lt;/span&gt;But that uptick pales in comparison to the embrace of Twitter or of RESTful APIs.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;So how &lt;em&gt;are&lt;/em&gt; developers finding the components they use?&lt;span&gt;&amp;nbsp;&lt;/span&gt;Among the developers surveyed, some 74% pretty much type something into Google and see what pops up.&lt;span&gt;&amp;nbsp;Approximately&amp;nbsp;&lt;/span&gt;42% ask their colleagues for advice, knowing that they probably do a Google search, as well.&lt;span&gt;&amp;nbsp;&lt;/span&gt;About two-thirds read the websites for prospective components to help them make their decision, although - as Sonatype points out - such sites often don’t help developers iron out dependency issues.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;“Open source has become the backbone of custom application development.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Yet it brings with it a complex environment ecosystem with no notification infrastructure in place,” reads a statement from Sonatype CMO Charles Gold.&lt;span&gt;&amp;nbsp;&lt;/span&gt;“The compounding reality is that when issues do arise, the effects are viral when the fixes are not.”&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Five years ago, &lt;a href="http://www.openlogic.com/" target="_blank"&gt;OpenLogic&lt;/a&gt; released a free tool called Discovery, hoping that developers integrating OSS components would use it to inventory what’s installed in their systems.&lt;span&gt;&amp;nbsp;&lt;/span&gt;That tool helped compile the first comprehensive data about open source components in use and how they’re being managed.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Since that time, with the almost total shift to cloud-based development, OpenLogic moved the tool into the cloud, deploying it as &lt;a href="http://olex.openlogic.com/" target="_blank"&gt;OpenLogic Exchange&lt;/a&gt; (OLEX).&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Now Sonatype has picked up the mantle of surveying enterprises, offering a bit more insight into the structure of organizations that are responding.&lt;span&gt;&amp;nbsp;&lt;/span&gt;The larger the organization, the more likely it is to use a repository manager, with 75% of respondents from organizations with more than 500 employees saying they have installed such a device (whether or not they make good use of it).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/image3.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p class="BodyArticle"&gt;But who makes sure these repositories are being used properly?&lt;span&gt;&amp;nbsp;&lt;/span&gt;According to Sonatype’s survey, perhaps it’s the wrong people:&lt;span&gt;&amp;nbsp;&lt;/span&gt;Only 28% of respondents say that application development managers are responsible for application development - just greater than one-fourth managing governance of OSS component deployment by the people who actually do the job.&lt;span&gt;&amp;nbsp;&lt;/span&gt;The remainder say governance may be handled by a vast array of other departments, as depicted in the chart above.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;While Sonatype (as might be expected) states the survey reflects the desire for a tighter notification infrastructure, that’s the same message that the Open Census sent back in 2007.&lt;span&gt;&amp;nbsp; &lt;/span&gt;If it’s a desire, it’s not a strong enough one to produce the needed changes in behavior.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Charts credit: Sonatype 2012 Open Source Software Development Survey&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/z4Bl_9zBhv4" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/z4Bl_9zBhv4/confirmed-too-many-open-source-projects-remain-arbitrary-mashups.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/confirmed-too-many-open-source-projects-remain-arbitrary-mashups.php</guid>
				<category>Open Source</category>
				<pubDate>Fri, 27 Apr 2012 11:02:00 -0700</pubDate>
				<author>Scott M. Fulton</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/confirmed-too-many-open-source-projects-remain-arbitrary-mashups.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Inside IBM’s Huge “Big Data” Buying Spree]]></title>
				<description>&lt;p&gt;&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/hack/IBM%2520stop%2520story%2520badge.jpg" alt="" width="150" /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:TargetScreenSize&gt;800x600&lt;/o:TargetScreenSize&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves&gt;&lt;/w:TrackMoves&gt;
  &lt;w:TrackFormatting&gt;&lt;/w:TrackFormatting&gt;
  &lt;w:PunctuationKerning&gt;&lt;/w:PunctuationKerning&gt;
  &lt;w:ValidateAgainstSchemas&gt;&lt;/w:ValidateAgainstSchemas&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF&gt;&lt;/w:DoNotPromoteQF&gt;
  &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables&gt;&lt;/w:BreakWrappedTables&gt;
   &lt;w:SnapToGridInCell&gt;&lt;/w:SnapToGridInCell&gt;
   &lt;w:WrapTextWithPunct&gt;&lt;/w:WrapTextWithPunct&gt;
   &lt;w:UseAsianBreakRules&gt;&lt;/w:UseAsianBreakRules&gt;
   &lt;w:DontGrowAutofit&gt;&lt;/w:DontGrowAutofit&gt;
   &lt;w:SplitPgBreakAndParaMark&gt;&lt;/w:SplitPgBreakAndParaMark&gt;
   &lt;w:EnableOpenTypeKerning&gt;&lt;/w:EnableOpenTypeKerning&gt;
   &lt;w:DontFlipMirrorIndents&gt;&lt;/w:DontFlipMirrorIndents&gt;
   &lt;w:OverrideTableStyleHps&gt;&lt;/w:OverrideTableStyleHps&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:DoNotOptimizeForBrowser&gt;&lt;/w:DoNotOptimizeForBrowser&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"&gt;&lt;/m:mathFont&gt;
   &lt;m:brkBin m:val="before"&gt;&lt;/m:brkBin&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"&gt;&lt;/m:brkBinSub&gt;
   &lt;m:smallFrac m:val="off"&gt;&lt;/m:smallFrac&gt;
   &lt;m:dispDef&gt;&lt;/m:dispDef&gt;
   &lt;m:lMargin m:val="0"&gt;&lt;/m:lMargin&gt;
   &lt;m:rMargin m:val="0"&gt;&lt;/m:rMargin&gt;
   &lt;m:defJc m:val="centerGroup"&gt;&lt;/m:defJc&gt;
   &lt;m:wrapIndent m:val="1440"&gt;&lt;/m:wrapIndent&gt;
   &lt;m:intLim m:val="subSup"&gt;&lt;/m:intLim&gt;
   &lt;m:naryLim m:val="undOvr"&gt;&lt;/m:naryLim&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="0" Name="Default Paragraph Font"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"&gt;&lt;/w:LsdException&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"&gt;&lt;/w:LsdException&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman","serif";}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Haven't we seen this before: IBM making a big acquisition of a “V” company in the big data space?&lt;span&gt;&amp;nbsp;Indeed, l&lt;/span&gt;ast April 13, &lt;a href="http://www.forbes.com/sites/ericsavitz/2012/04/13/ibm-buys-varicent-software/" target="_blank"&gt;IBM purchased analytics software maker Varicent&lt;/a&gt; for an undisclosed amount.&lt;span&gt;&amp;nbsp;And then this morning,&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.itworld.com/272014/ibm-aquires-vivisimo-advance-its-big-data-analytics" target="_blank"&gt;IBM announced its acquisition of enterprise search facilitator Vivisimo&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p class="BodyArticle"&gt;IBM usually doesn’t acquire applications software makers unless it has something very specific in mind for them.&amp;nbsp;IBM is clearly piecing together a “big data” platform - a comprehensive package for storing, accessing and analyzing unstructured data.&lt;/p&gt;
		 
	
																							&lt;p class="BodyArticle"&gt;&lt;a href="http://www.readwriteweb.com/hack/2012/03/ibm-vp-anjul-bhambhri-must-big.php"&gt;That IBM wants to be perceived as the master of data stores&lt;/a&gt; is no surprise.&lt;span&gt;&amp;nbsp;&lt;/span&gt;What’s interesting here is that the company is taking an almost Oracle-like approach to the subject, buying up as many as 30 separate big data-related entities in recent months (Vivisimo being #30) and wedging them together in hopes that they form a picture that looks something like a platform.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;The man in charge of stitching together the collected “big data” shards into a cohesive whole is &lt;a href="http://www.linkedin.com/in/arvindkrishna" target="_blank"&gt;Arvind Krishna&lt;/a&gt;, the general manager for IBM’s information management division.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Big data, Krishna informs us, is big.&lt;span&gt;&amp;nbsp;&lt;/span&gt;But that’s really just characteristic number one of three.&lt;span&gt;&amp;nbsp;&lt;/span&gt;The second most important characteristic is its variety of formats, and the third is its &lt;em&gt;velocity&lt;/em&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Remember that word; it’ll come up again in just a bit.)&lt;span&gt;&amp;nbsp;T&lt;/span&gt;hese nebulous qualities along with the quickly mutating nature of big data are keys to what Krishna perceives as its most important phenomenon: what he calls its &lt;em&gt;perishability&lt;/em&gt;.&lt;span&gt;&amp;nbsp;U&lt;/span&gt;nderstanding Krishna’s attitude toward this phenomenon provides the best insight into IBM’s platform-by-acquisition strategy.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;“If you don’t react to it in a few minutes, it might not be worth it to react at all,” remarked Krishna in an interview earlier today with ReadWriteWeb (using words that tugged at my very heart strings).&lt;span&gt;&amp;nbsp;&lt;/span&gt;“The way we look at this, every single company does a great job of dealing with structured information.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Examples of this are like payroll or sales data - what product did I sell at which store at which geography at what time?&lt;span&gt;&amp;nbsp;&lt;/span&gt;I can slice it and dice it and see areas of weakness and strength.&lt;span&gt;&amp;nbsp;&lt;/span&gt;But if I look at my interactions with my clients, not just my transactions, what they’re saying about me could be in social media, what they’re writing to me could be in email, what they’re saying to my call center reps... Do I really have a full view across all of that?&lt;span&gt;&amp;nbsp;&lt;/span&gt;And the answer today would be, not really, right?”&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Vivisimo began in the late 1990s as a very public effort at creating a next-generation Web portal, applying sophisticated semantics to refine the power of queries - just before Google’s rise to prominence.&lt;span&gt;&amp;nbsp;&lt;/span&gt;As it became more difficult for Vivisimo or any company to succeed on a broad technological scale by simply making better technology (and its query system, which I helped test, was indeed that), it found itself scaling back its customer base to more reasonable, conquerable verticals, such as the customer service field.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;This played directly into some of today’s headlines, which speculated that IBM was purchasing a customer service software provider.&lt;span&gt;&amp;nbsp;&lt;/span&gt;That’s not how Arvind Krishna described it.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Indeed, there’s a piece of Vivisimo’s original, broader plan that plays into IBM’s bigger, broader plan today, having to do with the creation of &lt;em&gt;ontologies&lt;/em&gt; - structures of subjects that are related to a broader topic.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;“When I want to index a document, simple indexing would count all the words in the document and say, ‘These words appear so many times,’ and then relevance becomes a matter of whether words appeared more than once.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Next, you could go to grammar structure and semantics, so you can do &lt;em&gt;ontologies&lt;/em&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Suddenly, the way that Vivisimo does document capture and classification allows them to leverage these ontologies and develop their semantics.&lt;span&gt;&amp;nbsp;&lt;/span&gt;That is what is really interesting about their indexing technology.”&lt;/p&gt;
&lt;p&gt;&amp;nbsp;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/img1.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;
&lt;p class="BodyArticle"&gt;Simple indexing becomes inefficient “at scale” - meaning that as document sizes scale up linearly, time to index and time to read the index scale up exponentially.&lt;span&gt;&amp;nbsp;&lt;/span&gt;That fact alone renders traditional database methodologies pointless for the waves of incoming text and media that broadband Internet has enabled.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Despite having been marketed largely to the customer service sector, Vivisimo has in its arsenal a potentially very potent weapon: a kind of ontology development tool whose name just happens to be (I told you this word would come in handy) Velocity.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;“Vivisimo Velocity can find, extract and deliver content regardless of format or where it resides,” reads a recent Vivisimo white paper (&lt;a href="http://vivisimo.com/docs/velocity_product_brochure.pdf"&gt;PDF available here&lt;/a&gt;).&lt;span&gt;&amp;nbsp; &lt;/span&gt;“Administrators have access to a library of pre-built Information Optimization connectors and a universal connect framework to enable indexing from common data repositories (e.g., file shares, databases, e-mail systems, content management and collaboration systems, customer relationship management applications, e-mail archives and other archival solutions).&lt;span&gt;&amp;nbsp;&lt;/span&gt;In addition, content from third-party feeds, subscriptions and other search engines can be added via federation.”&lt;/p&gt;
&lt;p class="BodyArticle"&gt;That’s another very important word in IBM’s emerging big data strategy, which Krishna characterized as being more flexible like a platform, &lt;a href="http://www.readwriteweb.com/enterprise/2011/08/hewlett-packard-traded-webos-f.php"&gt;as opposed to HP's Autonomy&lt;/a&gt;, which he portrays as more specific like an application.&lt;span&gt;&amp;nbsp;&lt;/span&gt;“[Calling it] &lt;em&gt;indexing&lt;/em&gt; is almost a disservice to what this really does,” said Krishna.&lt;span&gt;&amp;nbsp;&lt;/span&gt;“It’s the ability to do rich indexing across a set of federated data sources at a scale that has not been done before and, in addition, preserving the security semantics of the underlying data sources.”&lt;/p&gt;
&lt;p class="BodyArticle"&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/img2.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&amp;nbsp;&lt;/p&gt;
&lt;p class="BodyArticle"&gt;What does Krishna mean by this last part?&lt;span&gt;&amp;nbsp;&lt;/span&gt;How Velocity responds to its user depends on its understanding of who that user is - more specifically, whether she’s entitled to the information she’s searching for.&lt;span&gt;&amp;nbsp;&lt;/span&gt;Vivisimo has a rule definition system that tailors responses to known restrictions about the user - a later generation of the system originally intended for the Web portal, which could apply responses to known &lt;em&gt;characteristics&lt;/em&gt; of the user.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;“Federation implies that I don’t need to actually copy the data; it can stay where it is,” added Krishna.&lt;span&gt;&amp;nbsp;&lt;/span&gt;“Security semantics means that, when someone tries to do a query, I can preserve the semantics so only those who are authorized to look at [the response] in the first place can get an answer that contains that information.&lt;span&gt;&amp;nbsp;&lt;/span&gt;And scale means, I’m not confined to a single machine or a single cluster.&lt;/p&gt;
&lt;p class="BodyArticle"&gt;“We are clearly acquiring technology which goes into a general platform that people can use to build custom applications and create an ecosystem of ISVs in addition to direct clients,” the general manager said.&lt;span&gt;&amp;nbsp;&lt;/span&gt;“We are also interested in bringing analytics to the big data space, in the form of a complete solution as opposed to having to write a custom answer for a client.”&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/o3KtFzAR_IY" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/o3KtFzAR_IY/inside-ibms-huge-big-data-buying-spree.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/inside-ibms-huge-big-data-buying-spree.php</guid>
				<category>Big data</category>
				<pubDate>Thu, 26 Apr 2012 16:30:00 -0700</pubDate>
				<author>Scott M. Fulton</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/inside-ibms-huge-big-data-buying-spree.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Why Apple's WWDC 2012 Conference Sold Out Again - in Just 2 Hours]]></title>
				<description>&lt;p class="p1"&gt;&lt;img src="http://www.readwriteweb.com/files/styles/square_thumbnail/public/fields/Apple-WWDC.jpg" alt="" width="180" height="180" /&gt;Tickets to Apple's &lt;a href="https://developer.apple.com/wwdc/" target="_blank"&gt;Worldwide Developers Conference (WWDC)&lt;/a&gt; sold out in a record two hours this morning. The conference will be held in San Francisco from June 11-15.&lt;/p&gt;
&lt;p class="p2"&gt;"Sorry, tickets are sold out," the site says. It explains that Apple will post videos of the sessions shortly after the conference, making it available to the Internet public at large. While the event always sells out, this is the fastest conference sellout in Apple's history.&lt;/p&gt;
		 
	
																							&lt;p class="p1"&gt;Last year, the WWDC sold out in 10 hours, which was a record at the time. In 2010, the event sold out in eight days. Last year's WWDC unveiled iOS 5 and highlighted features from OS X 10.7 Lion. This year, &lt;a href="http://www.appleinsider.com/articles/12/04/25/tickets_to_apples_wwdc_2012_sell_out_in_two_hours.html" target="_blank"&gt;insiders speculate&lt;/a&gt; that Apple will focus on the new iOS 6 and details of OS X 10.8 Mountain Lion.&lt;/p&gt;
&lt;p class="p1"&gt;Even though the conference is technically sold out, there are still scholarships available to 150 student developers. The program is open to full- and part-time students who are 13 years of age and older. Kids must provide proof of school enrollment and be paid members of the iOS Developer Program, iOS Developer Enterprise Program or Mac Developer Program, or an iOS Developer University Program Student team member.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Apple's Q1 Earnings Reflect a Huge Surge in Popularity&lt;/h2&gt;
&lt;p class="p1"&gt;The jump to a fast two hours is indicative of Apple's soaring popularity, and it comes on the heels of yesterday's blowout&amp;nbsp;&lt;a href="http://www.readwriteweb.com/archives/5_things_to_look_for_during_apples_earnings_today.php" target="_blank"&gt;Q1 earnings&lt;/a&gt;. For comparison, Google sold out its &lt;a href="https://developers.google.com/events/io/" target="_blank"&gt;Google I/O developers conference &lt;/a&gt;in just 20 minutes, though Google's event often includes thousands of dollars worth of free hardware for attendees.&amp;nbsp;&lt;/p&gt;
&lt;p class="p2"&gt;ReadWriteWeb's Dan Frommer illustrated Apple's &lt;a href="http://www.readwriteweb.com/archives/apple-huge-quarter-in-charts.php" target="_blank"&gt;huge quarter in charts&lt;/a&gt;. Its sales have grown 59% year-over-year, making sales its biggest growth statistic. iPhones make up Apple's biggest business, with 35 million shipped during the quarter. Meanwhile, iPads account for 17% of products sold, trailing the iPhone's impressive 58% of sales. With its Q1 earnings alone, Apple could &lt;a href="http://www.readwriteweb.com/archives/apple-could-buy-t-mobile-with-its-q1-earnings.php" target="_blank"&gt;actually buy T-Mobile&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/oxVq478-IXQ" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/oxVq478-IXQ/why-apples-wwdc-2012-conference-sold-out-again-in-just-2-hours-again.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/why-apples-wwdc-2012-conference-sold-out-again-in-just-2-hours-again.php</guid>
				<category>Apple</category>
				<pubDate>Wed, 25 Apr 2012 13:45:00 -0700</pubDate>
				<author>Alicia Eler</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/why-apples-wwdc-2012-conference-sold-out-again-in-just-2-hours-again.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[4 Cool Things You Can Do With Wappwolf and ifttt]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/hack/services-supported.png" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						&lt;br /&gt;
&lt;p&gt;&lt;a href="http://wappwolf.com/"&gt;Wappwolf&lt;/a&gt; and &lt;a href="http://ifttt.com/"&gt;ifttt&lt;/a&gt; are a bit like the chocolate and peanut butter in Reese's Peanut Butter Cups. Separate, they're pretty good. Together, though, is when the magic happens. &lt;/p&gt;&lt;/p&gt;

&lt;p&gt;For folks new to the services, &lt;a href="http://www.readwriteweb.com/archives/dropbox_automator_update_brings_kindle_upload_goog.php"&gt;Wappwolf is an application that performs actions when you drop a file into your Dropbox&lt;/a&gt;. ifttt, on the other hand, &lt;a href="http://www.readwriteweb.com/archives/how_to_back_up_your_life_automatically_with_ifttt.php"&gt;can interact with websites and services&lt;/a&gt; and then do things like send an email or save a file in Dropbox.&lt;/p&gt;
		 
	
																							&lt;p&gt;Let's take a look at a several ways to combine the services for maximum effect:&lt;/p&gt;

&lt;p&gt;For example, Wappwolf can watch Dropbox and convert files to Kindle format and then send them to your Kindle. You could use this to save company documents for later reading on your ebook.&lt;/p&gt;

&lt;p&gt;ifttt might watch Instagram or Flickr for photos, and save them to your Dropbox when they appear. You could use that to &lt;a href="http://www.flickr.com/groups/polarbears/pool/"&gt;make sure you never miss a polar bear picture&lt;/a&gt; again.&lt;/p&gt;

&lt;p&gt;Separately, they're pretty handy. Together, you can do some really interesting things.&lt;/p&gt;

&lt;p&gt;(If you haven't tried Wappwolf or ifttt before, don't worry. They're dead easy to use. See the &lt;a href="http://wappwolf.com/dropboxautomator/learnmore"&gt;How to use Wappwolf Automator&lt;/a&gt; page, and/or the &lt;a href="http://ifttt.com/wtf"&gt;About ifttt&lt;/a&gt; page.)&lt;/p&gt;

&lt;h2&gt;1. Send a Text Message When Files Are Saved to Dropbox&lt;/h2&gt;

&lt;p&gt;Say you share a Dropbox folder with co-workers, and you want to be notified when there's a new file in the shared folder. ifttt only has triggers for new files in the public folder for Dropbox, while Wappwolf can take action based on pretty much any folder you give it access to.&lt;/p&gt;

&lt;p&gt;Start with Wappwolf and create an action for the appropriate folder. Choose the "email it" action and set up an email to go to &lt;strong&gt;trigger@ifttt.com&lt;/strong&gt; (be sure to &lt;a href="http://support.wappwolf.com/knowledgebase/articles/69951-how-to-find-your-ifttt-email-alias"&gt;set up your email address with ifttt&lt;/a&gt;). Set the Subject to #Dropbox Notify, and the body to the filename (or whatever you like). You can add whatever you like to the body, but you probably want to uncheck the "Add file as attachment" box.&lt;/p&gt;

&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/files/hack/ifttt-1.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;

&lt;p&gt;Next, go to ifttt and choose the &lt;a href="http://ifttt.com/email"&gt;Email channel&lt;/a&gt;. Choose "Send ifttt an email tagged and use #Dropbox as the tag. Create the trigger and then go choose your action channel, in this case SMS. Choose "Send me a text message," and complete the task. Now when a file is saved in the Dropbox folder, you should get a text message.&lt;/p&gt;

&lt;p&gt;Don't care for text messages? You could also use ifttt to send &lt;a href="http://boxcar.io/"&gt;Boxcar&lt;/a&gt; notifications if you prefer that app to texts.&lt;/p&gt;

&lt;h2&gt;2. From Google Reader to Kindle&lt;/h2&gt;

&lt;p&gt;iPads are great for reading, especially with the Reeder app. But for reading longer text,  nothing beats the Kindle. What we'll do here is save an article from Google Reader to a PDF, then convert that and send it to your Kindle. This one should be very easy, because &lt;a href="http://ifttt.com/recipes/9826"&gt;ifttt already has a recipe&lt;/a&gt; for it, so you're halfway there. Just visit the recipe and create the task.&lt;/p&gt;

&lt;p&gt;Next, head over to Wappwolf and pick the folder you specified, then tell Wappwolf to "Send it to your Kindle." Add the action, save, and you're ready to go.&lt;/p&gt;

&lt;h2&gt;3. Copy Files from ifttt to FTP Servers, Box or SkyDrive&lt;/h2&gt;

&lt;p&gt;ifttt supports saving files to Dropbox, but it doesn't support the breadth of services that Wappwolf does. If you want to copy files over to Microsoft SkyDrive, &lt;a href="http://box.com/"&gt;Box&lt;/a&gt;, or upload them to an FTP server, you'll need to combine ifttt and Wappwolf.&lt;/p&gt;

&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/files/hack/wappwolf-ftp.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;

&lt;p&gt;Create any action in ifttt that saves a file to Dropbox in ifttt, then select the folder you're saving to in Dropbox to create the Wappwolf action for saving to the appropriate service.&lt;/p&gt;

&lt;p&gt;Of course, you're not limited merely to uploading files from one service to the other. Wappwolf lets you combine actions, so you can save a file to Dropbox, use Wappwolf actions on the file, and then upload it to its destination.&lt;/p&gt; 

&lt;h2&gt;4. Process Files via Email&lt;/h2&gt;

&lt;p&gt;Wappwolf works on files only when they're saved to Dropbox. Usually that's not a problem, since Dropbox clients are available on just about every popular platform. But what if you want to use Wappwolf with files coming in via email? No problem. You can use ifttt to save to a Dropbox folder, then create the appropriate Wappwolf action.&lt;/p&gt;

&lt;p&gt;This might be useful if you want, for instance, to email yourself a file using a chron job on a server. Just attach the file to the email, mail it to ifttt and have it saved to Dropbox, then use Wappwolf to perform whatever actions you like.&lt;/p&gt;

&lt;h2&gt;Patience Is a Virtue&lt;/h2&gt;

&lt;p&gt;Note that some patience is required in setting up tasks with Wappwolf and ifttt. It can take a few minutes for each service to perform its tasks. For example, the chain required to save a file to PDF via Google Reader and ifttt, then convert and send to Kindle, then for Amazon to ready it for the Kindle took about five to seven minutes. That's not a &lt;em&gt;long&lt;/em&gt; time, but it's slower than some folks might be used to with most modern Web services.&lt;/p&gt;

&lt;p&gt;Have any cool tips that you want to share with the rest of the ReadWriteWeb audience? We'd love to hear about any cool hacks that use ifttt and/or Wappwolf. Share and enjoy!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/KrDqrbWvouk" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/KrDqrbWvouk/4-cool-things-you-can-do-with.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/4-cool-things-you-can-do-with.php</guid>
				<category>Features</category>
				<pubDate>Tue, 24 Apr 2012 05:20:30 -0700</pubDate>
				<author>Joe Brockmeier</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/4-cool-things-you-can-do-with.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Using SPDY on Your Web Server]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/chromium-150.png" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						Google's SPDY protocol offers &lt;a href="http://www.readwriteweb.com/hack/2012/04/what-web-users-need-to-know-ab.php"&gt;several advantages over serving traffic via HTTP/HTTPS&lt;/a&gt;. But, if you want to use SPDY, you're going to have to take a few additional steps to set it up. The good thing is that if you happen to be using Apache on recent Debian or RPM-based systems, installing and using SPDY is a simple matter.&lt;/p&gt;
		 
	
																							&lt;h2&gt;Installing SPDY Packages&lt;/h2&gt;

&lt;p&gt;Right now, Google is providing binary packages for Debian or RPM-based systems with Apache 2.2.4 or greater. If your system is Debian or Fedora/Red Hat-based, you should have little trouble getting SPDY running. If not, Google also provides the source code for the SPDY module, and you can compile the module if necessary.&lt;/p&gt;

&lt;p&gt;Before installing SPDY, you will need to have an SSL certificate to use SPDY since it uses SSL. This can be a self-signed certificate, though Chrome will give some pretty evil-looking errors when accessing a site with a self-signed certificate. For testing SPDY, this is merely a small annoyance. If you're actually looking to deploy SPDY to a production site, though, it's probably much better to go ahead and buy a certificate signed by a recognized authority. (There &lt;a href="http://code.google.com/p/mod-spdy/wiki/ConfigOptions"&gt;is a way to turn off SSL&lt;/a&gt;, but it's not recommended for anything but debugging.)&lt;/p&gt;

&lt;p&gt;If this is the first time you've set up SSL on Debian-based systems, see the &lt;a href="http://www.debian-administration.org/articles/349"&gt;Debian Administration tutorial&lt;/a&gt; on configuring SSL. The Linode library has a &lt;a href="http://library.linode.com/web-servers/apache/ssl-guides/fedora-14"&gt;Fedora 14 tutorial&lt;/a&gt; that should work with later versions of Fedora. See the &lt;a href="http://library.linode.com/web-servers/apache/ssl-guides/centos"&gt;CentOS guide&lt;/a&gt; if you're using RHEL, CentOS or another RHEL-based distribution.&lt;/p&gt;

&lt;p&gt;Next step is to get the right package for your system. My server is a Linode VPS and runs Ubuntu 10.04 LTS, and it's a 32-bit system. The 32-bit Debian package worked just fine for that, but Google also provides a 64-bit Debian package and 32-bit and 64-bit RPMs as well. All of the &lt;a href="https://developers.google.com/speed/spdy/mod_spdy/"&gt;packages are on the mod_spdy page&lt;/a&gt; under the Google Developers site.&lt;/p&gt;

&lt;p&gt;You might run into a few snags if you're using an RPM-based system, like openSUSE, that isn't quite what the Google packagers were expecting. Nick Robinson has &lt;a href="https://groups.google.com/group/mod-spdy-discuss/browse_thread/thread/5d6094ebc04483e2"&gt;provided some instruction for getting the binaries installed on openSUSE 12.1&lt;/a&gt; that may prove useful if the RPM doesn't work for you.&lt;/p&gt;

&lt;p&gt;For Debian systems, you should use &lt;code&gt;dpkg&lt;/code&gt; to install the module, like so:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dpkg -i mod-spdy-beta_current_i386.deb&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note that that's the current package name; it will likely change soon when Google decides to move the module from beta to stable. (One hopes this will happen faster than Gmail moving out of beta status...)&lt;/p&gt;

&lt;p&gt;Google also says that you need to run &lt;code&gt;apt-get -f install&lt;/code&gt;, but this had no effect on my system. Presumably, some systems require installing additional dependencies.&lt;/p&gt;

&lt;p&gt;Next, you'll need to restart Apache for the new module to be recognized. The packages automatically add the spdy.conf and spdy.load files for Apache, so that SPDY will start automatically when Apache starts.&lt;/p&gt;

&lt;h2&gt;Testing&lt;/h2&gt;

&lt;p&gt;Once you have the SPDY module installed and enabled, use Chrome to visit a page on your site with HTTPS. You can go to &lt;strong&gt;chrome://net-internals/#spdy&lt;/strong&gt; in Chrome to see whether SPDY is enabled, and &lt;strong&gt;chrome://net-internals/#events&amp;q=type:SPDY_SESSION%20is:active&lt;/strong&gt; will show live and active sessions.&lt;/p&gt;

&lt;p&gt;I &lt;em&gt;do&lt;/em&gt; recommend doing extensive testing before pushing a SPDY deployment live. So far, I've been having no problem with my WordPress blog, but I have found a few glitches with my Piwik install. Apparently, &lt;a href="https://groups.google.com/group/mod-spdy-discuss/msg/4187fe8277fbf8af"&gt;other users have encountered this as well&lt;/a&gt;. I suggest watching the &lt;a href="https://groups.google.com/group/mod-spdy-discuss"&gt;mod-spdy-discuss list&lt;/a&gt; if you're working with SPDY.&lt;/p&gt;

&lt;p&gt;If you decide you don't want to use SPDY until it moves out of beta, you can turn it off without needing to remove the packages. Open the &lt;code&gt;spdy.conf&lt;/code&gt; file (under /etc/apache2/mods-available on Debian systems) and turn &lt;strong&gt;SpdyEnabled&lt;/strong&gt; to &lt;strong&gt;off&lt;/strong&gt;. You'll need to restart Apache for that to take effect.&lt;/p&gt;

&lt;p&gt;There's talk of SPDY becoming an official Apache module (though it's written in C++ and official modules need to be in C), so it may be even easier to get SPDY in the not-too-distant future. Until then, it's still pretty trivial to install SPDY, and you should be able to have it up and running in less than 30 minutes.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/u9TG0nim4zE" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/u9TG0nim4zE/using-spdy-on-your-web-server.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/using-spdy-on-your-web-server.php</guid>
				<category>Features</category>
				<pubDate>Thu, 19 Apr 2012 23:00:00 -0700</pubDate>
				<author>Joe Brockmeier</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/using-spdy-on-your-web-server.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[What Web Users Need to Know About SPDY]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/chromium-150.png" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						Slowly but surely, SPDY ("speedy") is becoming more widely used. The Google-backed protocol, a modification to HTTP, is designed to help reduce latency and bolster security. Even if you don't manage a Web server yourself, you should know about SPDY and what it offers to you - and the Web at large.&lt;/p&gt;
		 
	
																							&lt;p&gt;SPDY has been in development for a couple of years, but a few things will start to accelerate its deployment.&lt;/p&gt;

&lt;p&gt;First, Google has &lt;a href="https://developers.google.com/speed/spdy/mod_spdy/"&gt;put out a SPDY module for Apache&lt;/a&gt;, which will make it much easier for organizations to deploy SPDY. Nginx is &lt;a href="https://twitter.com/#!/nginxorg/status/192301063934705665"&gt;expected to have an implementation by end of May&lt;/a&gt;. That covers a huge chunk of the server market already.&lt;/p&gt;

&lt;p&gt;Second, SPDY should be on by default in Firefox 13, and Chrome (and Chromium) already supports SPDY. Which means that organizations have more incentive than ever to start turning on SPDY.&lt;/p&gt;

&lt;h2&gt;What SPDY Is, and What It Offers&lt;/h2&gt;

&lt;p&gt;SPDY is a &lt;a href="http://tools.ietf.org/html/draft-mbelshe-httpbis-spdy-00"&gt;two-layer HTTP-compatible protocol&lt;/a&gt;. To break that down into more manageable terms, SPDY is like HTTP, but with additional features designed for today's Web. The "upper" layer &lt;a href="http://tools.ietf.org/html/draft-mbelshe-httpbis-spdy-00#section-3"&gt;provides HTTP's request and response semantics&lt;/a&gt;, while the "lower" layer manages encoding and sending the data.&lt;/p&gt;

&lt;p&gt;The lower layer of SPDY provides a number of benefits over standard HTTP. Namely, it sends fewer packets, uses fewer TCP connections and uses the TCP connections it makes more effectively. &lt;/p&gt;

&lt;p&gt;A single SPDY session allows concurrent HTTP requests to run over a single TCP/IP session. As Patrick McManus writes in &lt;a href="http://bitsup.blogspot.com/2011/09/spdy-what-i-like-about-you.html"&gt;SPDY: What I Like About You&lt;/a&gt;, it's great for high-latency environments "because a resource never needs to be queued on either the client or the server for any reason other than network congestion limits."&lt;/p&gt;

&lt;p&gt;SPDY cuts down on the number of TCP handshakes required, and it cuts down on packet loss and &lt;a href="http://www.bufferbloat.net/"&gt;bufferbloat&lt;/a&gt;. Says McManus, "SPDY's parallelism, by virtue of being on a single TCP stream, leverages one busy shared congestion control block instead of dealing with 36 independent tiny ones. Because the stream is much busier it rarely has to guess at how much to send (you only need to guess when you're idle, SPDY is more likely to be getting active feedback), if it should drop a packet it reacts to that loss much better via the various fast recovery mechanisms of TCP, and when it is competing for bandwidth at a choke point it is much more responsive to the signals of other streams - reducing the over buffering problem."&lt;/p&gt;

&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-r"&gt;
				&lt;img src="http://www.readwriteweb.com/files/files/spdy-layer-image.png" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;

&lt;p&gt;There's currently a lot of redundancy and bandwidth wasted in HTTP headers. SPDY compresses HTTP headers, which means that fewer bytes have to be transmitted between client and server.&lt;/p&gt;

&lt;p&gt;All that adds up to serious performance improvements. According to Google's &lt;a href="http://dev.chromium.org/spdy/spdy-whitepaper"&gt;initial whitepaper on SPDY&lt;/a&gt;, you could see "a speedup over HTTP of 27% - 60% in page load time over plain TCP (without SSL), and 39% - 55% over SSL."&lt;/p&gt;

&lt;h2&gt;Security&lt;/h2&gt;

&lt;p&gt;In addition to better performance, SPDY is also more secure. Despite the best efforts of the Electronic Frontier Foundation (EFF) and others, we're a long ways away from &lt;a href="https://www.eff.org/https-everywhere"&gt;HTTPS Everywhere&lt;/a&gt; - which means that most Web traffic is still sent unencrypted.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/TNBkxA313kk" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;That will be a thing of the past with SPDY. Current implementations of SPDY mandate SSL, which &lt;a href="https://www.varnish-software.com/blog/i_dont_like_spdy"&gt;isn't universally liked&lt;/a&gt; but seems the best way to nudge the Web forward to encrypting traffic most of the time.&lt;/p&gt;

&lt;h2&gt;Push and Hint&lt;/h2&gt;

&lt;p&gt;Finally, SPDY adds two new mechanisms that will also help speed up the Web. &lt;a href="http://dev.chromium.org/spdy/link-headers-and-server-hint"&gt;Server Push and Server Hints&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Just what it sounds like, Server Push will send resources to clients without being asked. If you request a Web page URL, for example, SPDY might also decide to send down images associated with the page even if they've not been requested yet. Note that there's a potential downside here, since servers could wind up sending redundant or unneeded content.&lt;/p&gt;

&lt;p&gt;Server Hints doesn't send the content, but it does send the URL so that the client can decide if it needs it. If the content isn't cached, a browser or other SPDY client can then make the request a bit faster than it might have otherwise.&lt;/p&gt;

&lt;h2&gt;Getting SPDY&lt;/h2&gt;

&lt;p&gt;The only, or at least the major, problem with SPDY? You need SPDY support on two ends to make it work. You need a browser that supports SPDY, and Web servers that are delivering content using SPDY. If you're one of millions using Chrome, you already have SPDY support. If you're using Firefox, SPDY support will be the default with Firefox 13. Note that Firefox 11 already supports SPDY; you just have to turn it on manually. It's unclear when other browsers will support SPDY, but it may be awhile before you see SPDY in Internet Explorer or Safari.&lt;/p&gt;

&lt;p&gt;Very few websites support SPDY at the moment. Google, of course, has been rolling out SPDY. Twitter &lt;a href="http://www.webmonkey.com/2012/03/twitter-catches-the-spdy-train/"&gt;is also offering SPDY&lt;/a&gt;. But it's going to be some time before most users see the effects of SPDY across all or even most of the sites they visit. But the odds are good that you'll start seeing a significant benefit from SPDY before you're using IPv6 at home.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/eDEZhV3ndOQ" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/eDEZhV3ndOQ/what-web-users-need-to-know-ab.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/what-web-users-need-to-know-ab.php</guid>
				<category>Analysis</category>
				<pubDate>Thu, 19 Apr 2012 04:07:00 -0700</pubDate>
				<author>Joe Brockmeier</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/what-web-users-need-to-know-ab.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[3 Reasons Why Everyone Needs to Learn Markdown]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/hack/images/shutterstock_html150.jpg" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						You've probably heard of &lt;a href="http://daringfireball.net/projects/markdown/"&gt;Markdown&lt;/a&gt;. Maybe you've heard the name for years. Perhaps you just encountered it, since it's enjoyed a &lt;a href="http://www.google.com/insights/search/#cat=0-5&amp;amp;q=markdown&amp;amp;cmpt=q"&gt;renaissance&lt;/a&gt; lately. &lt;/p&gt;

&lt;p&gt;But do you know what it is? Are you using it? You should be. Here are three good reasons to use Markdown. There are no good reasons not to.&lt;/p&gt;

		 
	
																							&lt;p&gt;&lt;big&gt;&lt;strong&gt;Wait... What Is Markdown Again?&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;If you don't know what Markdown is, here's the introduction from the &lt;a href="http://daringfireball.net/projects/markdown/"&gt;Markdown project page&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;"Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).&lt;/p&gt;

&lt;p&gt;Thus, 'Markdown' is two things: (1) a plain-text formatting syntax; and (2) a &lt;a href="http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip"&gt;software tool&lt;/a&gt;, written in Perl, that converts the plain text formatting to HTML."&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;We're here to discuss No. 1, using Markdown whenever you're typing to format your text - whether or not you plan to post that text on the Web. Installing it allows you to directly post Markdown documents as blog posts or Web pages, but that's up to you.&lt;/p&gt;

&lt;p&gt;One of its key strengths is that &lt;strong&gt;you can use HTML in Markdown&lt;/strong&gt;. If there's something you can't do in Markdown, or if you can't remember the Markdown syntax, you can switch back and forth freely between HTML and Markdown within one document. It understands both.&lt;/p&gt;

&lt;p&gt;You don't have to have &lt;a href="http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip"&gt;Markdown installed&lt;/a&gt; on your site in order to use it. It's amazingly useful just as a writing language. Even if you don't have to convert to HTML at all, it's still an appealing way to format plain text without having to deal with Microsoft Word or another goofy rich-text editor.&lt;/p&gt;

&lt;p&gt;But if you write for the Web, or you work with people who do, you just have to try it. Here's why.&lt;/p&gt;

&lt;p&gt;&lt;big&gt;&lt;strong&gt;Easy On The Eyes&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;"The overriding design goal for Markdown's formatting syntax is to make it as readable as possible," writes John Gruber of &lt;a href="http://daringfireball.net"&gt;Daring Fireball&lt;/a&gt;, creator of Markdown. "The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it's been marked up with tags or formatting instructions."&lt;/p&gt;

&lt;p&gt;HTML tags add lots of in-line noise. They make a document hard to read. For people unfamiliar with HTML, it could be impossible. Reading a Markdown document should make plain sense to anyone.&lt;/p&gt;

&lt;p&gt;Here's an example of the difference:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;h1&amp;gt;Why &amp;lt;em&amp;gt;you&amp;lt;/em&amp;gt; should use Markdown to write your next blog post&amp;lt;/h1&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;p&amp;gt;&amp;lt;a href="http://daringfireball.net/projects/markdown/"&amp;gt;Markdown&amp;lt;/a&amp;gt; is just so dang legible, it will make your &amp;lt;em&amp;gt;whole life&amp;lt;/em&amp;gt; easier. &amp;lt;strong&amp;gt;I promise.&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Markdown&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# Why &amp;#42;you&amp;#42; should use Markdown to write your next blog post&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;#91;Markdown&amp;#93;&amp;#91;1&amp;#93; is just so dang legible, it will make your &amp;#42;whole life&amp;#42; easier. &amp;#42;&amp;#42;I promise.&amp;#42;&amp;#42;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;#91;1&amp;#93;: http://daringfireball.net/projects/markdown/basics&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Not only is Markdown easier to type and read, it's accessible to someone who doesn't know the first thing about HTML. There are no extra words or letters, the link looks like a footnote readers are used to seeing, and asterisks around a word convey emphasis even if you don't know which is italics and which is bold.&lt;/p&gt;

&lt;p&gt;For Web developers and designers, this clarity will make life easier for nontechnical members of your team. For people not used to writing in hypertext, the Markdown characters are far more intuitive and easier to remember.&lt;/p&gt;

&lt;p&gt;&lt;big&gt;&lt;strong&gt;Fewer Errors&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;HTML just begs for typos. Even the smallest, one-letter tags require three characters to open them and four characters to close. If you forget a slash or accidentally type an apostrophe instead of a quotation mark, your whole page could be screwed up. And especially if you're in a hurry, the errors can be hard to spot.&lt;/p&gt;

&lt;p&gt;Plenty of tools assist with HTML writing by highlighting errors on the fly, but why rely on those? Markdown's simplicity and flexibility helps you make fewer mistakes, and errors are much easier to find.&lt;/p&gt;

&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/files/images/bywordipad610.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/p&gt;

&lt;p&gt;&lt;big&gt;&lt;strong&gt;Kill Your CMS&lt;/strong&gt;&lt;/big&gt;&lt;/p&gt;

&lt;p&gt;Writing straight into a browser window is a dangerous game. It's so easy to accidentally lose or save over data. Furthermore, most content management systems offer the temptation to use &lt;a href="http://en.wikipedia.org/wiki/WYSIWYG"&gt;WYSIWYG&lt;/a&gt; tools, and those tend to create awful HTML code that could make your page display in funky ways.&lt;/p&gt;

&lt;p&gt;Markdown can be written anywhere there's a blinking cursor and shared in any format. It's just plain text. You don't need any WYSIWYG controls, because the Markdown characters actually look like the formatted results you'll get.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://daringfireball.net/projects/markdown/syntax"&gt;Markdown syntax&lt;/a&gt; is intuitive and, in many cases, it allows for multiple options, so writers can choose the formatting characters that make the most sense for them.&lt;/p&gt;

&lt;p&gt;Plus, thanks to the Markdown renaissance, there are &lt;a href="http://en.wikipedia.org/wiki/Markdown#Editors"&gt;tons of new text apps&lt;/a&gt; that help Markdown writers on Mac, Windows, iOS and the Web. The good ones can even preview and export your Markdown writing as HTML, which you can then paste or upload into your CMS once you're done.&lt;/p&gt;

&lt;p&gt;Markdown is so easy to learn. Don't let inertia stop you. Just download a &lt;a href="http://en.wikipedia.org/wiki/Markdown#Editors"&gt;Markdown text editor&lt;/a&gt; or use Gruber's &lt;a href="http://daringfireball.net/projects/markdown/dingus"&gt;browser-based dingus&lt;/a&gt; and start writing. You'll get it under your fingers in no time.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Lead image courtesy of &lt;a href="http://www.shutterstock.com"&gt;Shutterstock&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/9l_kNt6XiME" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/9l_kNt6XiME/why-you-need-to-learn-markdown.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/why-you-need-to-learn-markdown.php</guid>
				<category>Tips</category>
				<pubDate>Tue, 17 Apr 2012 01:00:22 -0700</pubDate>
				<author>Jon Mitchell</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/why-you-need-to-learn-markdown.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Realizing the Promise of a Real-Time Web]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-l"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/hack/2012/04/13/images/Greg_Slovacek.jpg" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						It's a fantastic time to be a web developer. Society and the software economy that serves it are experiencing a dramatic change in the way successful Web applications are built. Previous shifts in software development have had massive, far-reaching consequences: the toppling of old technology giants, crowning of new industry kings, and the very transformation of how people communicate and how work gets done. &lt;/p&gt;

&lt;p&gt;At the same time, these shifts also ripple through the software development ecosystem, changing everything from the processes and tools developers use down to the programming languages that are taught in schools. This time, the change is the real-time Web. &amp;nbsp;&lt;/p&gt;
		 
	
																							&lt;div class="super-pullquote"&gt;&lt;em&gt;Guest author Greg Slovacek is an engineer at &lt;a href="http://www.asana.com"&gt;Asana&lt;/a&gt;, a real-time collaborative Web application that's reimagining the way teams work together.&lt;/em&gt;&lt;/div&gt;
&lt;H2&gt;Understanding Real Time&lt;/H2&gt;

&lt;p&gt;The advances in computing leading up to now have had a major impact on the software experience: richer and more powerful clients, access to more information and greater connectivity to other users. We now have the opportunity to get a desktop software-quality interaction experience combined with a Web-quality network experience, empowering us to build apps that are far better than the best of either of the two experiences alone. The first wave of these applications - highlighted by Google Docs - brought us the power and speed of desktop word-processing applications with the ability to jointly edit in near-real time from any browser. &lt;/p&gt;

&lt;p&gt;The real-time Web takes this initial step and extends it with two essential attributes: &lt;em&gt;responsiveness&lt;/em&gt; and &lt;em&gt;freshness&lt;/em&gt;.&lt;br /&gt;
&lt;H2&gt;Responsiveness&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;Anyone who has used Apple's FaceTime on a bad connection understands how difficult - and frustrating - it is to have a conversation when the other party isn't responsive. If you attempt your natural conversational style in such a situation, the delays throw off your rhythm and cause cross-talk and miscues. You must become much more conscious of what you're saying and how you say it, stripping your dialogue of nuance and quality, just to ensure that your basic message is getting across. The medium gets in the way.&lt;/p&gt;

&lt;p&gt;But when a software is at peak responsiveness, it can have an equally dramatic (yet overwhelmingly positive) effect: The software itself disappears. Truly responsive software should feel as if it doesn't even exist - it's natural, fluid and nonintrusive - becoming an extension of the user and creating a sense of flow when in use. &lt;/p&gt;

&lt;p&gt;A real-time experience isn't just faster - &lt;em&gt;it's way, way better&lt;/em&gt;.&lt;br /&gt;
&lt;H2&gt;Freshness&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;When you track a package, it's frustrating if the only available information is that it "left the origin." Stale information seems almost worse than no information at all because it creates anxiety: &lt;em&gt;Has my package really not moved in three days, or am I just not getting the whole story?&lt;/em&gt; You suspect that someone must know exactly which truck it's on and exactly where that truck is. A better system would propagate that information to you, giving you confidence in its authenticity.&lt;br /&gt;
 &lt;br /&gt;
Without freshness, information is simply not trustworthy or accurate. This is increasingly unacceptable in collaborative Web applications. The benefits of fresh information go far beyond organizational agility, which requires users to respond quickly to new information. When you can trust that information is truly authentic, you feel more in control; you're observing the information directly rather than via some proxy, which might not be filtering it in your best interest. Timely information lets users collaborate with each other more intimately.&lt;/p&gt;

&lt;p&gt;Fresh information isn't just more valuable - &lt;em&gt;it's indispensable&lt;/em&gt;.&lt;br /&gt;
&lt;H2&gt;Architecture of a Real-Time Web Application&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;If responsiveness and freshness are so important, what does that mean for software developers? Maximizing these qualities in a Web application requires architectural changes in fundamental ways.  &lt;/p&gt;

&lt;p&gt;While the advancements and benefits of software in the Web 2.0 era are indisputable, outdated client-server models still persist, forcing developers to heavily invest time and engineering resources to achieve the semblance of real-time. The current software development model is not sustainable. Indeed, to build a truly functional real-time Web application, software must be built from the ground up.&lt;br /&gt;
 &lt;br /&gt;
If developers are going to start rethinking the way software is built, there are obviously a number of things they'll need to consider. But there are three architectural components that are especially important: the application's data model, sync protocol and the publication-subscription system. Ultimately, developers will need to optimize the way data is stored and accessed, make sure the server is publishing information as it's received, and make use of a balanced pub-sub system.&lt;/p&gt;

&lt;p&gt;Let's take a deeper dive into each of these components.&lt;br /&gt;
&lt;H2&gt;Data Model&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;Your application's data model itself is primarily affected by two factors: the number of users in the system who may be viewing or updating a document/file/page, and the number of objects a user is viewing. Rich, real-time Web applications crank up &lt;em&gt;both&lt;/em&gt; of these numbers.&lt;/p&gt;

&lt;p&gt;Many systems treat an object as a monolithic blob, transmitted and stored wholesale in at least some layers each time it's changed (with no way to change its aspects independently). This is a suboptimal strategy for a real-time Web app, for two reasons. First, the volume of changes means transmitting more data than necessary would bog down the system. Second, unnecessary data collisions would be more frequent, complicating application logic or impacting the user experience.&lt;/p&gt;

&lt;p&gt;Instead, each object needs to be divided into a collection of aspects - information with individual and identifiable properties, each of which can be stored, modified and transmitted independently. Clients will want access to many objects, but not all of their data; they are automatically subscribed to only the aspects they need to display or operate on, given the view they are presenting at that moment.&lt;br /&gt;
&lt;H2&gt;Sync Protocol&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;The means of synchronizing data between client and server - and from server to server - is of paramount importance. In a Web 2.0 application, data is rarely pushed to a user. More modern applications may poll for new data in the background and show some indicator that users should update their displays (for example, Twitter's "You have new tweets" message). This behavior is often limited to one aspect of the application, such as a feed; however, it is not achieved or delivered across the entire application. &lt;/p&gt;

&lt;p&gt;A real-time application receives information relevant to any part of the user's view at any time, and minimizes the delay between when it is available on the server and when the user can actually see it in the client view. In this situation, the &lt;a href="http://en.wikipedia.org/wiki/Comet_(programming)" target="_blank"&gt;comet model&lt;/a&gt; shines brighter than &lt;a href="http://en.wikipedia.org/wiki/Ajax_(programming)" target="_blank"&gt;Ajax&lt;/a&gt; - the server must be effectively pushing information as it receives it.&lt;/p&gt;

&lt;p&gt;As the client view may change with each keystroke, a proper sync protocol must be able to handle a lot of data churning in and out of view. The client needs to cache some data, but manage that cache carefully. In some contexts, it may be unacceptable to show cached, stale data, and the app should be able to choose where to take advantage of a cache and where to require fresh data from the server.&lt;br /&gt;
&lt;H2&gt;Publication-Subscription System&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;Any system that provides notifications of changes must employ some kind of &lt;a href="http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" target="_blank"&gt;publication and subscription (pub-sub) model&lt;/a&gt;. In a real-time application, the units of subscription must be balanced carefully. If they are too granular (e.g., mirroring every single data dependency in the system), then the pub-sub system can become overwhelmed with bookkeeping. If they are too coarse (e.g., subscribing to any change of a particular property on any object), then some operations can cause explosions of notifications.&lt;/p&gt;

&lt;p&gt;Developers must make use of pub-sub both on object properties and query results; they must find the right balance of granularity in a hybrid approach. This allows for object-level subscriptions, as well as scoping queries to at least one collection or index.&lt;br /&gt;
&lt;H2&gt;Development Implications&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;It comes as no surprise that to keep up with the complexity of the real-time Web, software engineers will have to write more sophisticated applications. But it's not going to be easy to achieve that sophistication, especially since the way developers build and maintain apps is evolving rapidly. To keep up with the pace of change, it's time to rethink the way apps are built. The effort will pay off, and the results will be incredible. &lt;br /&gt;
&lt;H2&gt;Let's Start Building&lt;/H2&gt;&lt;/p&gt;

&lt;p&gt;We have massive computing power on our desktops and in our pockets. We have a mind-boggling amount of data in the cloud representing the contributions of millions of individuals to collective knowledge. And we have fast conduits to move necessary information between any user or device that needs it. This bountiful technology beckons us to make the next big leap in software. It's time to realize the promise of the real-time Web.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Greg Slovacek&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/a7L5LJV7GLA" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/a7L5LJV7GLA/realizing-the-promise-of-a-rea.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/realizing-the-promise-of-a-rea.php</guid>
				<category>Analysis</category>
				<pubDate>Mon, 16 Apr 2012 01:00:00 -0700</pubDate>
				<author>Greg Slovacek_3</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/realizing-the-promise-of-a-rea.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[Microsoft Spins Off Open Source, Hopes to "Build Bridges"]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-l"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/hack/120413%2520Jean%2520Paoli%2520-%2520Microsoft%2520%2528150%2520px%2529.jpg" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						&lt;br /&gt;
Microsoft is spinning off its open source unit into Microsoft Open Technologies, Inc., and promoting open source veteran &lt;a href="http://www.linkedin.com/pub/jean-paoli/0/5b8/68"&gt;Jean Paoli &lt;/a&gt;to the role of president of the wholly owned subsidiary. The move gives the new company a measure of open source credibility and is likely to give Paoli more latitude in determining Microsoft's open source policy.&lt;/p&gt;

&lt;p&gt;Paoli helped create XML, cementing his reputation among developers, and in 2007, &lt;a href="http://betanews.com/2007/06/15/microsoft-will-support-odf-if-it-doesn-t-restrict-choice-among-formats/"&gt;he pledged his company's support for multiple document formats&lt;/a&gt; so long as the other format did not restrict customers' free choice. The masterstroke of diplomacy calmed a brewing rebellion among champions of the existing ISO standards format, OpenDocument, who claimed competing standards (specifically, Microsoft's Open Office XML) would sow confusion.&lt;/p&gt;
		 
	
																							&lt;h2&gt;Building a Bridge&lt;/h2&gt;

&lt;p&gt;In an interview with ReadWriteWeb this afternoon, Paoli characterized the creation of the new Microsoft subsidiary not so much as a reorganization but a confirmation of the evolving role of open source development at Microsoft. Some will continue to regard "Microsoft" and "open source" as &lt;a href="http://seekingalpha.com/article/495921-microsoft-s-open-source-problem"&gt;opposite sides of a coin&lt;/a&gt;. But Paoli described his new subsidiary as a liaison between Microsoft's corporate entities and the open source community, and more than the masked voice of a commercial developer.&lt;/p&gt;

&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-r"&gt;
				&lt;img src="http://www.readwriteweb.com/files/files/hack/120413%2520Jean%2520Paoli%2520-%2520Microsoft.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						"The business case is literally around enabling scenarios for our customers that bridge Microsoft and non-Microsoft technologies," the new president told RWW. "That's basically the business goal."  &lt;/p&gt;

&lt;p&gt;One example Paoli cited was &lt;a href="http://www.mongodb.org/"&gt;MongoDB, the open source NoSQL database system&lt;/a&gt;. While MongoDB is already effectively promoting the database, Microsoft Open Technologies is positioned to promote the use of MongoDB in conjunction with Microsoft technologies, especially the Windows Azure cloud service.&lt;/p&gt;

&lt;p&gt;"That's an example of a non-Microsoft technology that originated with a brilliant open source community who understands a lot about big data, and we're very interested to start working with them to see how MongoDB can work on Windows Azure," Paoli said. "It's always going to be a bridge between a Microsoft technology and a non-Microsoft technology. Those are the use cases that we will really be working on."&lt;/p&gt;

&lt;h2&gt;Microsoft Can Now Speak With Two Voices&lt;/h2&gt;

&lt;p&gt;In many cases, Microsoft will have interests as both a commercial developer and an open source participant. The creation of the spinoff gives it a little wiggle room with respect to its open source positions. Microsoft Open Technologies can effectively stand for public and open standards if it so wishes, while Microsoft corporate continues to be the actual liaison for standards. &lt;/p&gt;

&lt;p&gt;"Let me be frank: There are a number of differences between the process of developing proprietary software and the processes of the open source community," explained Paoli. "So in some cases, it is important to keep those processes separate. And in other cases, there is really room for great collaboration, interaction. Sometimes we want to keep things separate, and sometimes we need to have greater collaboration. This needs to be properly managed."&lt;/p&gt;

&lt;p&gt;He cited a circumstance where a new community is developing around an open source product or technology - one with a deep technical brain trust and mixture of talents.  Microsoft needs to be able to volunteer its participation, including  helping to fix bugs and add features. "We need to be able to have it turn over very quickly, in the next 24 hours." &lt;/p&gt;

&lt;p&gt;But as Paoli's response implies, the liaison with the community must not appear bound to corporate interests. That, too, will help expedite simple fixes and feature additions, and help Microsoft become perceived as an equal player in the open source community.&lt;/p&gt;

&lt;p&gt;"All our customers expect the software they use will work in a heterogeneous environment. Customers expect their phone to connect to any cloud device; if you cannot receive your email on your phone, well, that's not good, irrespective of which phone or which cloud or which operating system they are connected to," Paoli said. "We live in a mixed IT world, and the goal is to provide customers with even more choice to bridge Microsoft and non-Microsoft technologies, because that's what customers expect."&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/MsLWVIe1Y3Q" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/MsLWVIe1Y3Q/microsoft-spins-off-open-sourc.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/microsoft-spins-off-open-sourc.php</guid>
				<category>News</category>
				<pubDate>Fri, 13 Apr 2012 10:00:49 -0700</pubDate>
				<author>Scott M. Fulton</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/microsoft-spins-off-open-sourc.php</feedburner:origLink></item>
					<item>
				<title><![CDATA[SAP's HANA: Accelerating Your Apps by 6 Orders of Magnitude]]></title>
				<description>&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-l"&gt;
				&lt;img src="http://www.readwriteweb.com/files/styles/150_150/public/files/enterprise/assets_c/2011/05/sap_logo_0511-thumb-150x150-29729.jpg" style="" width="150"/&gt;
			&lt;/span&gt;
 
                   
						Oracle CEO Larry Ellison likes to walk into a presentation with raw numbers in hand. When he touts Oracle technology as faster, he prefers to say how much... sometimes &lt;a href="http://www.readwriteweb.com/enterprise/2011/10/larry-ellison-leads-oracle-int.php"&gt;inflating the number as he goes along&lt;/a&gt;. "A factor of five. A factor of &lt;i&gt;10&lt;/i&gt;! A factor of &lt;i&gt;15!&lt;/i&gt;"&lt;/p&gt;

&lt;p&gt;What would Ellison have given for the opportunity to tout a factor of 400,000? Evidently not enough. The notion that a database manager would run six orders of magnitude faster if it resided in DRAM rather than on a hard drive, is decades old, just waiting for an Oracle or a Microsoft or a Dell to make it hapen. Instead, SAP is the company delivering the dramatic database performance boost.&lt;/p&gt;
		 
	
																							&lt;p&gt;Most database technology today is an upgraded form of the same database technology from yesterday, and it's usually in the upgrader's best interest to support its native platform. So it only makes sense that perhaps the most revolutionary database technology of the last quarter-century should come from a company that only recently acquired Sybase and entered the database industry: SAP, known as a leader in enterprise resource planning.&lt;/p&gt;

&lt;h2&gt;Quiet Riot&lt;/h2&gt;

&lt;p&gt;Quietly, SAP has been building momentum behind a technology called HANA. It's not a particularly sophisticated concept, which is partly why SAP engineers don't embellish its descriptions with charts. Essentially, it's a data-organization system based around memory rather than hard-drive storage arrays. HANA &lt;em&gt;may &lt;/em&gt;use storage arrays for backup and redundancy and traditional database engines - like SAP's own Sybase - for managing data prior to its delivery to memory.&lt;/p&gt;

&lt;p&gt;"In our customers' minds, there is now absolutely no doubt that HANA now represents the database architecture for the future," said Vishal Sikka, SAP's CTO, in a press conference Tuesday afternoon. "For OLTP and OLAP [&lt;i&gt;transactional and analytical processes&lt;/i&gt;], for structured and unstructured data, for legacy applications and new applications, a single database with, as you can see... pretty much unlimited scale."  From there, Sikka proceeded to tell stories of HANA deployments since it became generally available last June. One customer story independently cited the surreal-sounding 400,000x speed improvement, others cited less but were still awe-inspiring.&lt;/p&gt;

&lt;p&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-r"&gt;
				&lt;img src="http://www.readwriteweb.com/files/files/enterprise/120412%2520Sanjay%2520Poonen%2520-%2520SAP%2520%2528250%2520px%2529.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						"When we built our first HANA box internally with commodity hardware, it cost us something like $700,000 to build it," related SAP Global Solutions President Sanjay Poonen (right), in an exclusive interview with ReadWriteWeb.  "Within six months, the costs of these [same] parts and commodity hardware to assemble and test it, decreased by 30%. The price of hardware is falling so rapidly."&lt;/p&gt;

&lt;p&gt;The trick for SAP is infusing its in-memory platform into the enterprise with a minimum of upheaval. It sees a place for itself in a new space that could reside alongside business' existing database investments, and even alongside their new investments in Hadoop and "big data" stores. Think of a turbocharger that improves whatever car it's in, but works so well that customers end up replacing most or all of the car over time anyway.&lt;/p&gt;

&lt;p&gt;In fact - and this is perhaps the most impressive aspect of the story - SAP has established a pair of giant investment funds to support the effort. It will literally invest its own money in companies and customers who can develop new means for integrating HANA more seamlessly in existing environments.&lt;/p&gt;

&lt;p&gt;"The Acceleration Fund will kick in to help customers fund some of that migration, so we can help ease them off that [older platform]...  The database vendors, you'd think, are all set in concrete; they never change. That's not always the case. Part of the trigger factor is, if you look at the amount of spending that companies have on databases - you add the license cost, the maintenance cost and, the biggest part, the DBA service cost - it's too big. If you're spending $100 million on database costs, and by consolidating a lot of this onto a platform that includes HANA, we can take that cost down from $100 million down to $70 million, or by 30%, would you spend an extra $5 million or $10 million with us, or what have you, to ensure you get the best, next-generation data platform? That's the proposition...  You can keep adding more bells and whistles, bells and whistles, to a Model T, but at some point in time, a Model T is a 1920s car.  It's not going to scale for what your [travel requirements] need to be."&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.readwriteweb.com/enterprise/shutterstock_64489810.jpg"&gt;
		 
					  		    &lt;span class="embedded-Media-image img-caption-c"&gt;
				&lt;img src="http://www.readwriteweb.com/files/files/enterprise/assets_c/2012/04/shutterstock_64489810-thumb-610x406-40313.jpg" style="" width=""/&gt;
			&lt;/span&gt;
 
                   
						&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Forward Motion&lt;/h2&gt;

&lt;p&gt;Not since the 1980s has a database manager been a single application. Today's database platforms are comprised of multiple components, &lt;a href="http://www.readwriteweb.com/enterprise/2011/09/sun-fire-and-ultrasparc-live-o.php"&gt;many of which come in shiny, metal boxes&lt;/a&gt;. Oracle likes to demonstrate that a platform migration can take as little as five hours, but in practice, the actual time is often measured in years. One factor is the lack of one-to-one correspondence between various manufacturer's components.&lt;/p&gt;

&lt;p&gt;If you consider HANA a &lt;i&gt;different&lt;/i&gt; platform rather than an &lt;i&gt;extension&lt;/i&gt; platform, this issue is magnified. SAP intentionally designed HANA to have fewer components. On Tuesday, the company's executive vice president, Steve Lucas, tried to spin this into an advantage.&lt;/p&gt;

&lt;p&gt;"Our customers asked us for help," Lucas told the press. "They said, 'The existing database players are not innovating quickly enough. We're not getting from them what we need. Please help us!'  We said, 'Okay.'  Vendors are pushing more, not less. &lt;/p&gt;

&lt;p&gt;"Think about that for a minute: We've gone from transactional databases... to needing data warehouses, and on top of those data warehouses we need multidimensional stores and OLAP cubes, and we need data marts, and the list goes on and on, because it makes people more money. SAP is focused on helping customers consolidate those systems, solve many things with one solution - one - and save them money at the same time."&lt;/p&gt;

&lt;p&gt;SAP's Poonen told RWW: "If you want to build an analytical infrastructure today, check out all that a CIO has to buy. If you wanted to buy an enterprise data warehouse, pay $5 [million] or $10 million to Teradata." For data reporting, he added, you may go to SAP; for planning and budgeting, you might go to Oracle's Hyperion. The cost for SAP's BusinessObjects business intelligence (BI) platform may be another million. For predictive analytics, you might go to SAS and pay another $2 million.&lt;/p&gt;

&lt;p&gt;With the exception of BusinessObjects, each of these extra components has a database engine, noted Poonen, that would be redundant to the underlying Teradata layer. "If you use Hyperion Planning on top of Teradata, you take the data out of Teradata, you flatten it and put it in a new structure called Essbase - a multidimensional cube structure. That's completely redundant, it has all kinds of overlap, and you could ask the question, 'Why isn't that Essbase database that serves OLAP, multidimensional processing sitting inside Teradata? Why is it different?' 'Because they're separate companies.' That's it. There's no other reason. So when we looked at this architecture, we said, 'Collapse all those layers into one in-memory database, because now we know what the destination state of that architecture needs to be.' "&lt;/p&gt;

&lt;p&gt;So HANA includes capabilities for reporting, planning and predictive analytics. "It really is kind of a better architecture than Teradata, Hyperion and SAS put together. That's what we mean by collapsing those layers, and by doing that, you save an enormous amount of costs for the average CIO."&lt;/p&gt;

&lt;h2&gt;Throwing the Switch&lt;/h2&gt;

&lt;p&gt;Because these multicomponent architectures and SAP's HANA architecture share fewer "seams" with one another, it would appear on the surface that a migration plan would be rocket science. Poonen told RWW that SAP got a leg up on such planning early on by mastering the fine art of migrating data between &lt;i&gt;other companies'&lt;/i&gt; platforms, as part of SAP services.&lt;/p&gt;

&lt;p&gt;For installations of Oracle databases atop SAP's NetWeaver Business Warehouse (BW), the SAP president says his company has already constructed procedures that enable the move from Oracle to HANA, which one customer reports was completed in its entirety in two weeks. "You're talking in weeks, maybe months, but not years. That's because data structure is something we know about. And there's 15,000 of them, not just five."&lt;/p&gt;

&lt;p&gt;For the last quarter-century, software architects have asked themselves how much ammunition and firepower would be required to achieve an upheaval in system architecture - not just storage and capacity, as is addressed by Hadoop, but in the way data is processed inside the hardware. Now we're seeing SAP amassing numbers in the six-digit range. If SAP manages to attach this firepower to the cloud any time soon, Oracle, HP NonStop, IBM and the Dell/Microsoft combo may need to recompute and reload to compete.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;em&gt;Stock photo by &lt;a href="http://shutterstock.com"&gt;Shutterstock.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/readwriteweb/hack/~4/pLlS4pWh2Ac" height="1" width="1"/&gt;</description>
				<link>http://feedproxy.google.com/~r/readwriteweb/hack/~3/pLlS4pWh2Ac/sap-president-accelerating-you.php</link>
				<guid isPermaLink="false">http://www.readwriteweb.com/hack/2012/04/sap-president-accelerating-you.php</guid>
				<category>Big data</category>
				<pubDate>Fri, 13 Apr 2012 02:00:28 -0700</pubDate>
				<author>Scott M. Fulton</author>
			<feedburner:origLink>http://www.readwriteweb.com/hack/2012/04/sap-president-accelerating-you.php</feedburner:origLink></item>
			</channel>
</rss>

