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

<channel>
	<title>O&#039;Reilly Radar &#187; Howard Wen</title>
	<atom:link href="http://radar.oreilly.com/howardw/feed" rel="self" type="application/rss+xml" />
	<link>http://radar.oreilly.com</link>
	<description>Insight, analysis, and research about emerging technologies</description>
	<lastBuildDate>Thu, 23 May 2013 19:58:33 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Big ethics for big data</title>
		<link>http://radar.oreilly.com/2012/06/ethics-big-data-business-decisions.html</link>
		<comments>http://radar.oreilly.com/2012/06/ethics-big-data-business-decisions.html#comments</comments>
		<pubDate>Mon, 11 Jun 2012 13:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[@home]]></category>
		<category><![CDATA[anonymization]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Doug Patterson]]></category>
		<category><![CDATA[ethics]]></category>
		<category><![CDATA[identity]]></category>
		<category><![CDATA[Kord Davis]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[reputation]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2012/06/ethics-big-data-business-decisions.html</guid>
		<description><![CDATA[&#34;Ethics of Big Data&#34; authors Kord Davis and Doug Patterson explore ownership, anonymization, privacy, and ways to evaluate and establish ethical data practices within an organization. ]]></description>
				<content:encoded><![CDATA[<p>As the collection, organization and retention of data has become commonplace in modern business, the ethical implications behind big data have also grown in importance. Who really owns this information? Who is ultimately responsible for maintaining it? What are the privacy issues and obligations? What uses of technology are ethical &mdash; or not &mdash; when it comes to big data?</p>
<p>These are the questions authors Kord Davis (<a href="https://twitter.com/#!/kordindex">@kordindex</a>) and Doug Patterson (<a href="https://twitter.com/#!/dep923">@dep923</a>) address in &#8220;<a href="http://shop.oreilly.com/product/0636920021872.do?intcmp=il-strata-books-ethics-of-big-data-interview">Ethics of Big Data</a>.&#8221; In the following interview, the two share thoughts about the evolution of the term &#8220;big data,&#8221; ethics in the era of massive information gathering, and the new technologies that raise their concerns for the big data ecosystem.</p>
<h2>How do you define &#8220;big data&#8221;?</h2>
<p><strong>Douglas Patterson:</strong> The line between big data and plain old data is something that moves with the development of the technology. The new developments in this space make old questions about privacy and other ethical issues far more pressing. What happens when it&#8217;s possible to know where just about everyone is or what just about everyone watches or reads? From the perspective of business models and processes, &#8220;impact&#8221; is probably a better way to think about &#8220;big&#8221; than in terms of current trends in NoSQL platforms, etc.</p>
<p>One useful definition of big data &mdash; for those who, like us, don&#8217;t think it&#8217;s best to tie it to particular technologies &mdash; is that big data is data big enough to raise practical rather than merely theoretical concerns about the effectiveness of anonymization.</p>
<p><strong>Kord Davis:</strong> The frequently-cited characteristics &#8220;volume, velocity, and variety&#8221; are useful landmarks &mdash; persistent features such as the size of datasets, the speed at which they can be acquired and queried, and the wide range of formats and file types generating data.</p>
<p>The impact, however, is where ethical issues live. Big data is generating a &#8220;forcing function&#8221; in our lives through its sheer size and speed. Recently, CNN published a <a href="http://money.cnn.com/2012/03/27/technology/netflix-facebook/">story similar to an example in our book</a>. Twenty-five years ago, our video rental history was deemed private enough that Congress enacted a law to prevent it from being shared in hopes of reducing misuse of the information. Today, millions of people want to share that exact same information with each other. This is a direct example of how big data&#8217;s forcing function is literally influencing our values.</p>
<p>The influence is a two-way street. Much like the scientific principle that we can&#8217;t observe a system without changing it, big data can&#8217;t be used without an impact &mdash; it&#8217;s just too big and fast. Big data can amplify our values, making them much more powerful and influential, especially when they are collected and focused toward a specific desired outcome.</p>
<h2>Big data tends to be a broad category. How do you narrow it down?</h2>
<p><strong>Douglas Patterson:</strong> One way is the anonymization of datasets before they&#8217;re released publicly, acted on to target advertising, etc. As the legal scholar <a href="http://paulohm.com/">Paul Ohm</a> puts it, &#8220;data can be either useful or perfectly anonymous, but never both.&#8221;</p>
<p>So, suppose I know things about you in particular: where you&#8217;ve eaten, what you&#8217;ve watched. It&#8217;s very unlikely that I&#8217;m going to end up violating your privacy by releasing the &#8220;information&#8221; that there&#8217;s one particular person who likes carne asada and British sitcoms. But if I have that information about 100 million people, patterns emerge that do make it possible to tie data points to particular named, located individuals.</p>
<p><strong>Kord Davis:</strong> Another approach is the balance between risk and innovation. Big data represents massive opportunities to benefit business, education, healthcare, government, manufacturing, and many other fields. The risks, however, to personal privacy, the ability to manage our individual reputations and online identities, and what it might mean to lose &mdash; or gain &mdash; ownership over our personal data are just now becoming topics of discussion, some parts of which naturally generate ethical questions. To take advantage of the benefits big data innovations offer, the practical risks of implementing them need to be understood.</p>
<h2>How do ethics apply to big data?</h2>
<p><strong>Kord Davis:</strong> Big data itself, like all technology, is ethically neutral. The use of big data, however, is not. While the ethics involved are abstract concepts, they can have very real-world implications. The goal is to develop better ways and means to engage in intentional ethical inquiry to inform and align our actions with our values.</p>
<p>There are a significant number of efforts to create a digital &#8220;Bill of Rights&#8221; for the acceptable use of big data. The White House recently released a blueprint for a <a href="http://www.whitehouse.gov/blog/2012/02/23/we-can-t-wait-obama-administration-calls-consumer-privacy-bill-rights-digital-age">Consumer Privacy Bill of Rights</a>. The values it supports include transparency, security, and accountability. The challenge is how to honor those values in everyday actions as we go about the business of doing our work. </p>
<h2>Do you anticipate friction between data providers (people) and data aggregators (companies) down the line?</h2>
<p><strong>Douglas Patterson:</strong> Definitely. For example: you have an accident and you&#8217;re taken to the hospital unconscious for treatment. Lots of data is generated in the process, and let&#8217;s suppose it&#8217;s useful data for developing more effective treatments. Is it obvious that that&#8217;s your data? It was generated during your treatment, but also with equipment the hospital provided, based on know-how developed over decades in various businesses, universities, and government-linked institutions, all in the course of saving your life. In addition to generating profits, that same data may help save lives down the road. Creating the data was, so to speak, a mutual effort, so it&#8217;s not obvious that it&#8217;s your data. But it&#8217;s also not obvious that the hospital can just do whatever it wants with it. Maybe under the right circumstances, the data could be de-anonymized to reveal what sort of embarrassing thing you were doing when you got hurt, with great damage to your reputation. And giving or selling data down the line to aggregators and businesses that will attempt to profit from it is one thing the hospital might want to do with the data that you might want to prevent &mdash; especially if you don&#8217;t get a percentage.</p>
<p>Questions of ownership, questions about who gets to say what may and may not be done with data, are where the real and difficult issues arise. </p>
<h2>Which data technologies raise ethical concerns?</h2>
<p><strong>Douglas Patterson:</strong> Geolocation is huge &mdash; think of the flap over the <a href="http://radar.oreilly.com/2011/04/apple-location-tracking.html">iPhone&#8217;s location logging</a> a while back, or how much people differ over whether or not it&#8217;s creepy to check yourself or a friend into a location on Facebook or Foursquare. Medical data is going to become a bigger and bigger issue as that sector catches up.</p>
<p>Will lots of people wake up someday and ask for a &#8220;do over&#8221; on how much information they&#8217;ve been giving away via the &#8220;frictionless sharing&#8221; of social media? As a teacher, I was struck by how little concern my students had about this &mdash; contrasted with my parents, who find something pretty awful about broadcasting so much information. The trend seems to be in favor of certain ideas about privacy going the way of the top hat, but trends like that don&#8217;t always continue.</p>
<p><strong>Kord Davis:</strong> The field of predictive analytics has been around for a long time, but the development of big data technologies has increased accessibility to large datasets and the ability to data mine and correlate data using commodity hardware and software. The potential benefits are massive. A promising example is that longitudinal studies in education can gather and process significantly more minute data characteristics and we have no idea what we might learn. Which is precisely the point. Being able to assess a more refined population of cohorts may well turn out to <a href="http://www.edweek.org/ew/articles/2011/06/22/36analytics.h30.html">unlock powerful ways to improve education</a>. Similar conditions exist for healthcare, agriculture, and even being able to predict weather more reliably and reducing damage from catastrophic natural weather events.</p>
<p>On the other hand, the availability of larger datasets and the ability to process and query against them makes it very tempting for organizations to share and cross-correlate to gain deeper insights. If you think it&#8217;s difficult to identify values and align them with actions within a single organization, imagine how many organizations the trail of your data exhaust touches in a single day.</p>
<p>Even a simple, singular transaction, such as buying a pair of shoes online touches your bank, the merchant card processor, the retail or wholesale vendor, the shoe manufacturer, the shipping company, your Internet service provider, the company that runs or manages the ecommerce engine that makes it possible, and every technology infrastructure organization that supports them. That&#8217;s a lot of opportunity for any single bit of your transaction to be stored, shared, or otherwise mis-used. Now imagine the data trail for paying your taxes. Or voting &mdash; if that ever becomes widely available.</p>
<h2>What recent events point to the future impact of big data?</h2>
<p><strong>Douglas Patterson:</strong> For my money, the biggest impact is in the funding of just about everything on the web by either advertising dollars or investment dollars chasing advertising dollars. Remember when you used to have to pay for software? Now look at what Google will give you for free, all to get your data and show you ads. Or, think of the absolutely pervasive impact of Facebook on the lives of many of its users &mdash; there&#8217;s very little about my social life that hasn&#8217;t been affected by it.</p>
<p>Down the road there may be more Orwellian or &#8220;Minority Report&#8221; sorts of things to worry about &mdash; maybe we&#8217;re already dangerously close now. On the positive side again, there will doubtless be some amazing things in medicine that come out of big data. Its impact is only going to get bigger.</p>
<p><strong>Kord Davis:</strong> Regime change efforts in the Middle East and the Occupy Movement all took advantage of big data technologies to coordinate and communicate. Each of those social movements shared a deep set of common values, and big data allowed them to coalesce at an unprecedented size, speed, and scale. If there was ever an argument for understanding more about our values and how they inform our actions, those examples are powerful reminders that big data can influence massive changes in our lives.</p>
<p><em>This interview was edited and condensed.</em></p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px;clear: both"><a href="http://shop.oreilly.com/product/0636920021872.do?intcmp=il-strata-books-ethics-of-big-data-interview"><img style="float: left;border: none;padding-right: 10px" src="http://cdn.oreilly.com/radar/images/posts/0612-ethics-big-data-cover.png" width="148" /></a><a href="http://shop.oreilly.com/product/0636920021872.do?intcmp=il-strata-books-ethics-of-big-data-interview"><strong>Ethics of Big Data</strong></a> &mdash;  This book outlines a framework businesses can use to maintain ethical practices while working with big data.</div>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2011/11/data-mining-reputation.html">If your data practices were made public, would you be nervous?</a></li>
<li><a href="http://radar.oreilly.com/2012/06/patient-data-ownership-access.html">Who owns patient data?</a></li>
<li> <a href="http://www.weforum.org/news/report-highlights-personal-data-new-economic-asset-class">The World Economic Forum recently described personal data as a &#8220;new economic asset class&#8221;</a></li>
<li> <a href="http://radar.oreilly.com/2011/05/anonymize-data-limits.html">Why you can&#8217;t really anonymize your data</a></li>
<li> <a href="http://radar.oreilly.com/2012/03/ftc-calls-on-congress-to-enact.html">FTC calls on Congress to enact baseline privacy legislation and more transparency of data brokers</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2012/06/ethics-big-data-business-decisions.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Developing cross-platform mobile apps with C#</title>
		<link>http://radar.oreilly.com/2012/06/c-sharp-cross-platform-mobile-apps.html</link>
		<comments>http://radar.oreilly.com/2012/06/c-sharp-cross-platform-mobile-apps.html#comments</comments>
		<pubDate>Tue, 05 Jun 2012 13:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[cross platform mobile development]]></category>
		<category><![CDATA[Greg Shackles]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[mobile app]]></category>
		<category><![CDATA[mobile apps]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[MonoTouch]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2012/06/c-sharp-cross-platform-mobile-apps.html</guid>
		<description><![CDATA[Web developer and author Greg Shackles reveals the advantages of using C# over C++ for writing mobile apps. He also explains why Android and iOS developers should give C# a serious look. ]]></description>
				<content:encoded><![CDATA[<p>Building a mobile app that runs on more than one platform, with minimal code changes, is a technical Holy Grail. The HTML5 stack (using CSS and JavaScript, among other standards) and Java are two solutions. Another is Microsoft&#8217;s .NET plus C#, a combo that&#8217;s been overlooked outside the Windows Phone 7 developer community despite its potential to create apps that can run natively on Android and iOS.</p>
<p>In the following interview, software engineer Greg Shackles (<a href="https://twitter.com/#!/gshackles">@gshackles</a>) aims to expand the potential of this platform. Shackles is the author of &#8220;<a href="http://shop.oreilly.com/product/0636920024002.do?intcmp=il-code-books-greg-shackles-mobile-c#-interview">Mobile Development with C#</a>&#8221; and maintains <a href="http://gregshackles.com/">a blog</a> focusing mainly on .NET and its related technologies.</p>
<h2>We hear a lot about using C++ to build mobile apps, so why use C# &mdash; and the associated .NET?</h2>
<p><strong>Greg Shackles:</strong> There are various ways to share code across different platforms. Unfortunately, many approaches will abstract away the user interface from the developer in order to achieve a &#8220;write once, run anywhere&#8221; solution, making it easier to release an application quickly on many platforms. This sounds great, but often it will lead to a degraded user experience since the app won&#8217;t look and feel native to that platform. The user experience is the most important thing to consider when designing an application.</p>
<p>Using C# and the <a href="http://mono-tools.com/">Mono Tools</a> allows the developer to share a large subset of an application&#8217;s code across multiple platforms while still building a completely native user interface on top of it for each platform. Applications created with this approach will look and feel native because they&#8217;re using the exact same APIs and toolkits exposed by the platform. In some cases, the Mono tools even help to clean up the platform APIs to make them easier to work with than those exposed by the native languages.</p>
<p>This approach allows developers to concentrate on solving business problems rather than having to manage multiple languages and reinvent the wheel every time they want to expand to a new platform. Going even further, the code that is shared across platforms isn&#8217;t limited to mobile applications. It can go pretty much anywhere that C# and .NET are supported, such as ASP.NET, Silverlight, or WPF. Developers already familiar with these technologies can easily hit the ground running and start targeting these new platforms while reusing the skills they already have.</p>
<h2>What else makes the .NET Framework well suited for mobile development?</h2>
<p><strong>Greg Shackles:</strong> C# and .NET are both very mature and powerful technologies. They have evolved over the years to provide support for things like asynchronous programming and memory management, and features like LINQ help make them great to work with as a developer.</p>
<p>For example, there is no garbage collector when writing iOS apps with Objective-C. That&#8217;s a feature .NET developers are used to having. MonoTouch actually brings a garbage collector along with it, making it much easier to work with, without having to worry about manual memory management.</p>
<h2>What are a few of the technical weaknesses of C# or .NET?</h2>
<p><strong>Greg Shackles:</strong> There aren&#8217;t too many technical limitations, but whenever you place another layer between you and the native platform, some problems are unavoidable.</p>
<p>One example is that on iOS, you are not allowed to dynamically execute code at runtime, meaning that the standard .NET style of just-in-time compilation is not permitted and that aspects of .NET that rely on runtime code compilation are not possible, such as Reflection.Emit and the Dynamic Language Runtime. To get around this, <a href="http://xamarin.com/monotouch">MonoTouch</a> compiles the application down to static code ahead of time. This particular limitation does not apply on Android, which does allow for just-in-time compilation.</p>
<h2>For those who are already developing native apps for Android or iOS, what benefits would they gain from using C#?</h2>
<p><strong>Greg Shackles:</strong> For developers who have already built their apps in Java in Objective-C, the case for switching to a new set of tools definitely becomes more difficult to make. The benefits they would get from making such a move would largely be in the ability to share code across all of the platforms rather than have to rewrite it in a different language every time. Both MonoTouch and Mono for Android offer the ability to interact with code written in Objective-C and Java, so code already written in those languages could still be leveraged.</p>
<h2>What kind of cross-platform mobile apps are easy or best to make under C#?</h2>
<p><strong>Greg Shackles:</strong> I don&#8217;t think there&#8217;s any particular category of app that&#8217;s obviously more difficult to write in C#. For extremely simple applications that don&#8217;t have much logic, it becomes more of a decision of preference for the developer rather than a strategic advantage. In reality, not many applications fall into this category. A majority of applications will need to perform tasks like accessing the Internet or saving to a database, and that is where it becomes beneficial to be able to write that code once and share it across all platforms. Personally, I find C# to be a much nicer language to work with than Objective-C and Java, so that alone becomes an advantage of using it.</p>
<h2>.NET is native on Windows Phone 7, but it&#8217;s not on Android or iOS without the use of MonoTouch or Mono. What are the performance issues or differences across these mobile platforms when you&#8217;re developing for all three at once using C# through .NET and its unofficial variants?</h2>
<p><strong>Greg Shackles:</strong> The addition of another layer between you and the platform will have its consequences, but by and large, it&#8217;s not something you&#8217;ll notice or need to worry about as a developer. Since MonoTouch applications are run through its ahead-of-time compiler, their performance is already highly optimized. Mono for Android applications include their own instance of the Mono runtime that .NET code is run against and includes an intelligent garbage collector that is optimized for managing objects across the different runtimes. In general, you won&#8217;t be able to see any difference in performance between an app written in C# and one that is not.</p>
<p>One other common concern is the size of the application, since the .NET Framework is not known for being minimal. Both Mono for Android and MonoTouch ship with a tool called a linker that is included as part of the build process. The linker is a static analysis tool that scans the compiled assemblies in the application and actually strips out any pieces of the framework that are not referenced. As a result, your application will only ship with precisely the pieces of the .NET Framework that you actually use, which drastically cuts down the size of the application. With each release, the Mono team seems to find new ways to optimize the linking process, so this size overhead continues to dwindle down further, even though it is already rather minimal.</p>
<p><em>This interview was edited and condensed.</em></p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px;clear: both"><a href="http://shop.oreilly.com/product/0636920024002.do?intcmp=il-code-books-greg-shackles-mobile-c#-interview"><img style="float: left;border: none;padding-right: 10px" src="http://cdn.oreilly.com/radar/images/posts/0512-mobile-dev-c-sharp-cover.png" width="148" /></a><a href="http://shop.oreilly.com/product/0636920024002.do?intcmp=il-code-books-greg-shackles-mobile-c#-interview"><strong>Mobile Development with C#</strong></a> &mdash;  This hands-on guide shows you how to reuse one codebase across iOS, Android, and Windows Phone by combining the business logic layer of your C# app with separate, fully native UIs.</div>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2012/04/mobile-development-c-sharp.html">Greg Shackles interviewed by O&#8217;Reilly editor Rachel Roumeliotis</a></li>
<li> <a href="http://radar.oreilly.com/2011/05/10-mobile-app-mistakes.html">10 ways to botch a mobile app</a></li>
<li> <a href="http://radar.oreilly.com/2011/08/evolution-of-ios-develoment-iphone-ipad.html">The evolution of iOS development: Better tools and a lot more to think about</a></li>
<li> <a href="http://radar.oreilly.com/2011/10/mobile-web-apps-webgl-apis.html">What to watch for in mobile web apps</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2012/06/c-sharp-cross-platform-mobile-apps.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The rewards of simple code</title>
		<link>http://radar.oreilly.com/2012/04/simple-code.html</link>
		<comments>http://radar.oreilly.com/2012/04/simple-code.html#comments</comments>
		<pubDate>Mon, 23 Apr 2012 13:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[@editpick]]></category>
		<category><![CDATA[@home]]></category>
		<category><![CDATA[@top]]></category>
		<category><![CDATA[programmers]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[simplicity]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software design]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2012/04/simple-code.html</guid>
		<description><![CDATA[Simple code is born from planning, discipline and grinding work. But as author Max Kanat-Alexander notes in this interview, the benefits of simple code are worth the considerable effort it requires. ]]></description>
				<content:encoded><![CDATA[<p>Based on his experiences as chief architect on the <a href="http://www.bugzilla.org/">Bugzilla Project</a> and his current employment at  Google as a software engineer, <a href="http://www.codesimplicity.com/">Max Kanat-Alexander</a> (<a href="http://twitter.com/#!/mkanat">@mkanat</a>) has formulated a method and philosophy for designing effective code that is, at its core, all about simplicity. He wrote a book about these ideas, &#8220;<a href="http://shop.oreilly.com/product/0636920022251.do?intcmp=il-code-books-kanat-alexander-code-simplicity-interview">Code Simplicity</a>,&#8221;  in which he explains how developers can optimize the structural plans for their software projects.</p>
<p>In the following interview, Kanat-Alexander discusses the negative factors that can lead to messy code and why a large number of developers on a project doesn&#8217;t have to undermine the quality of software design.</p>
<h2>What are the factors that lead to &#8220;non-simple&#8221; code?</h2>
<p><strong>Max Kanat-Alexander:</strong> When I look over all the projects that I&#8217;ve worked on, everything I&#8217;ve read in the field of software development, and all my experiences interviewing developers over the years, most of the non-simple code I see results entirely from human factors. Some people say that the tools are making their lives hard &mdash; and they often are &mdash; but, ultimately, complexity comes down to whether or not the developer writing the code has a deep understanding of both the specifics of his or her job and the fundamental principles of software development.</p>
<p>It&#8217;s those fundamental principles of development that I&#8217;m working toward with this book. You know how sometimes a senior developer just knows what they&#8217;re supposed to do, but they can&#8217;t really explain why to other people? Partially, that&#8217;s what brings us so much non-simple code in the world, because we can&#8217;t pass down that knowledge effectively to less senior developers. That&#8217;s one part of what the book is here to solve: boiling down all of that knowledge and experience into broad, solid truths that anybody can immediately understand just by reading them.</p>
<p>But there&#8217;s even stuff that senior developers forget or simply don&#8217;t know. When you&#8217;re relying entirely on experience to teach people, they&#8217;re not all going to have the same experiences. So there&#8217;s been no guarantee that a developer will ever get all the basic principles they need to be a truly excellent programmer.</p>
<h2>How does the number of developers involved in a software project affect the code&#8217;s simplicity?</h2>
<p><strong>Max Kanat-Alexander:</strong> There&#8217;s the famous quote from &#8220;<a href="http://en.wikipedia.org/wiki/The_Mythical_Man-Month">The Mythical Man-Month</a>&#8221; that <a href="http://en.wikipedia.org/wiki/Brooks's_law">adding developers to a late project makes it later</a>. Complexity is the primary reason for that. But a project doesn&#8217;t have to be complex just because it has several developers on it.</p>
<p>It&#8217;s true that adding new people is going to introduce some complexity, so you should be prepared for that. You&#8217;ll want to make sure you have a solid foundation of simplicity in your existing system before you start throwing lots of new people at it, and you can&#8217;t throw them at it faster than that foundation will support. Otherwise, the new folks will develop complexity into it.</p>
<p>But there&#8217;s no grand rule that says &#8220;a project must be complex if it has X developers.&#8221; Theoretically, with the right development practices and the right design of your system, you could have a nearly infinite number of people working on one system and still prevent complexity. I think your work might slow down enormously due to all the communication that was going back and forth, but the system could be kept simple if you all really worked at it.</p>
<p>I&#8217;m in favor of small teams, myself, but that doesn&#8217;t mean it&#8217;s impossible to build simple systems with large teams. It&#8217;s just much harder than doing it with small teams, and it&#8217;s probably going to happen at a much slower pace.</p>
<p>So, to answer your question, having lots of people doesn&#8217;t naturally lend itself to complexity, but in the practical world of everyday programming, it sure makes it harder to keep things simple.</p>
<h2>What is the wrong way to code? </h2>
<p><strong>Max Kanat-Alexander:</strong> The wrong way would be to write software without understanding it. The right way would be to write software with as much understanding about it as you can possibly get.</p>
<p>The more you know about what you&#8217;re doing, the better you can do it. And that&#8217;s what the book is there to give you: the foundations of a science so that you can have the most important understandings there are about software development, and then build on those ideas in your mind and in your day-to-day development work.</p>
<h2>What immediate steps can developers take to make their code simple and more efficient?</h2>
<p><strong>Max Kanat-Alexander:</strong> Let&#8217;s talk first about the word &#8220;immediate.&#8221; Most developers get into trouble with their code because they either don&#8217;t plan for the future at all, or they make some sort of bad prediction about the future because they&#8217;re impatient and don&#8217;t want to wait for the future to arrive so they can actually see it. So, if you want to do something immediately to make your code simpler, it would be to stop thinking so immediately. Start thinking about how much work you&#8217;re going to be doing maintaining the system in the future. Maybe it&#8217;s worth a little, or even a lot, of work right now so that your system stays easy to maintain. I know that it&#8217;s hard to refactor sometimes, and that you really just want to get that feature out there, but it&#8217;s worthwhile to be a little more responsible about the state of your code base. You want to make it simpler before you start adding a bunch of new complexity with some great new feature. It&#8217;s the &#8220;future you&#8221; that&#8217;s going to benefit from all this, just as much as your teammates. Make &quot;future you&quot; happy.</p>
<p>So, with that in mind, we can tackle the word &#8220;efficient.&#8221; If we&#8217;re talking about being efficient in terms of speed that the program runs at or efficient in terms of space that something takes up, the thing you want to do first is make sure the system is simple and easy to maintain. Because even if you can optimize something now, that doesn&#8217;t mean that will be the optimal solution forever. And if you add complexity to the system prematurely just to optimize something, you may not be able to keep the system running optimally over time. So, it&#8217;s really simplicity that leads to long-term efficiency, even though sometimes short-term efficiency gains come from adding complexity. I&#8217;m not saying you should never optimize &mdash; you should, when it matters. But you have to understand the trade-off that you&#8217;re making, and you have to think a bit about how the future&#8217;s going to mess with your optimizations.</p>
<h2>Do you have your own philosophy or set of principles about good software design?</h2>
<p><strong>Max Kanat-Alexander:</strong>  I have this broad set of opinions about software development, and then underlying that, there&#8217;s a set of hard facts that I&#8217;ve researched and discovered. The book focuses on those facts, with an occasional small bit of my viewpoint thrown in about those facts.</p>
<p>I could write several other books about my personal thoughts on software, and I&#8217;m sure there&#8217;s a lot more to discover about it, too. But I thought it was more important to develop and deliver a scientific basis for software development first. Once that&#8217;s done, we can start to have lots of interesting theoretical discussions about what ideas or opinions might be best.</p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px;clear: both"><a href="http://shop.oreilly.com/product/0636920022251.do?intcmp=il-code-books-kanat-alexander-code-simplicity-interview"><img style="float: left;border: none;padding-right: 10px" src="http://cdn.oreilly.com/radar/images/posts/0412-code-simplicity-cover.png" width="148" /></a><a href="http://shop.oreilly.com/product/0636920022251.do?intcmp=il-code-books-kanat-alexander-code-simplicity-interview"><strong>Code Simplicity</strong></a> &mdash;  This concise guide helps you understand the fundamentals of good software design through principles you can apply to any programming language or project.</div>
<p><em>This interview was edited and condensed.</em></p>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://shop.oreilly.com/product/0636920022251.do?intcmp=il-code-books-kanat-alexander-code-simplicity-interview">Code Simplicity</a> (book)</li>
<li> <a href="http://radar.oreilly.com/2012/01/software-crumple-zones-healthcare.html">In appreciation of software crumple zones</a></li>
<li><a href="http://radar.oreilly.com/2011/05/process-kills-developer-passion.html">Process kills developer passion</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2012/04/simple-code.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Patterns snap mobile app designs into place</title>
		<link>http://radar.oreilly.com/2012/03/mobile-app-design-patterns-ui.html</link>
		<comments>http://radar.oreilly.com/2012/03/mobile-app-design-patterns-ui.html#comments</comments>
		<pubDate>Fri, 30 Mar 2012 13:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[app design]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[mobile design]]></category>
		<category><![CDATA[mobile design pattern]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2012/03/mobile-app-design-patterns-ui.html</guid>
		<description><![CDATA[There&apos;s a direct line between a great app experience and a great app design. In this interview, &#34;Mobile Design Pattern Gallery&#34; author Theresa Neil weighs in on app patterns and UI best practices. ]]></description>
				<content:encoded><![CDATA[<p>In the following interview, &#8220;<a href="http://shop.oreilly.com/product/0636920022367.do">Mobile Design Pattern Gallery</a>&#8221; author Theresa Neil (<a href="http://twitter.com/#!/theresaneil">@theresaneil</a>) discusses interface design trends, the one app design mistake that pops up again and again, and the apps that get UI right.</p>
<h2>What are the most interesting trends you&#8217;re seeing in mobile interface design?</h2>
<p><strong>Theresa Neil:</strong> I&#8217;m most interested in the trends that arise when app makers try to address a cross-device design strategy. For example, the Springboard pattern &mdash; a grid of icons acting as a launchpad &mdash; is a popular navigation pattern since it is &#8220;OS neutral.&#8221; Meaning, it doesn&#8217;t rely on bottom tabs like iOS and BlackBerry, or on top tabs like Android, Windows Mobile and Symbian. The Springboard pattern can be easily adapted for each operating system without feeling foreign or weird to the user.</p>
<p class="image-box-580"><a href="http://shop.oreilly.com/product/0636920022367.do"><img src="http://cdn.oreilly.com/radar/images/posts/0312-design-sprinboard-example.png" width="580" border="0" alt="Sprinboard design pattern" style="margin-bottom: 15px" /></a><br /><em>The Springboard design pattern features a single page with multiple menu options. This pattern works well across mobile operating systems. (Screenshot from &#8220;<a href="http://shop.oreilly.com/product/0636920022367.do">Mobile Design Pattern Gallery</a>.&#8221;)</em></p>
<h2>Your book includes UI &#8220;anti-patterns.&#8221; What are those?</h2>
<p><strong>Theresa Neil:</strong> Anti-patterns are examples of mobile UI design patterns to avoid. Bill Scott, my co-author of &#8220;<a href="http://shop.oreilly.com/product/9780596516253.do">Designing Web Interfaces</a>,&#8221; has had a popular talk for many years featuring anti-patterns in web applications. We could just write off these examples as bad designs, but I think it is important to dig into them and figure out why they are bad.</p>
<h2>What is the most common mobile UI mistake?</h2>
<p><strong>Theresa Neil:</strong> Anti-pattern no. 1 is &#8220;novel notions.&#8221; Novel notions refer to designs that use a &#8220;novel&#8221; approach to a problem that could otherwise be solved with an existing pattern, a standard UI control, or a better metaphor.</p>
<p>This is not to say designers should dial back their creativity. Apps like <a href="http://flipboard.com/">Flipboard</a>, <a href="https://path.com/">Path</a> and <a href="http://www.realmacsoftware.com/clear/">Clear</a> have blazed a trail with novel solutions to navigation. But novel designs need to be rigorously tested and refined before being released. Just look at the reviews in the App Store: For every awesome app like Path, there are dozens of other apps that are rated one star for bad navigation or a confusing interface.</p>
<h2>Which mobile apps have notable UI design?</h2>
<p><strong>Theresa Neil:</strong> Flipboard, Path, Clear &mdash; the typical superstars. But I also love <a href="http://itunes.apple.com/us/app/evernote/id281796108?mt=8">Evernote</a>, <a href="http://www.trip-journal.com/">Trip Journal</a>, <a href="https://foursquare.com/apps/">Foursquare</a> and <a href="http://www.fring.com/">Fring</a> because these companies have done spectacular work with their app design strategies. For example, look at Foursquare on a BlackBerry, iPhone or a Windows 7 phone; the apps are optimized for each of the different operating systems, but they still feel like the same app.</p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px;clear: both"><a href="http://shop.oreilly.com/product/0636920022367.do?cmp=il-radar-books-mobile-design-pattern-gallery-radar-interview"><img style="float: left;border: none;padding-right: 10px" src="http://cdn.oreilly.com/radar/images/posts/0312-mob-des-pattern-cover.png" width="148" /></a><a href="http://shop.oreilly.com/product/0636920022367.do?cmp=il-radar-books-mobile-design-pattern-gallery-radar-interview"><strong>Mobile Design Pattern Gallery</strong></a> &mdash;  This book provides a reference to 70 mobile app design patterns, illustrated by more than 400 screenshots from current iOS, Android, BlackBerry, WebOS, Windows Mobile, and Symbian apps.</div>
<p><em>This interview was edited and condensed.</em></p>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2012/01/mobile-interfaces-mistakes-to.html">Mobile interfaces: Mistakes to avoid and trends to watch</a></li>
<li> <a href="http://radar.oreilly.com/2011/03/mobile-design-user-experience.html">On a small screen, user experience is everything</a></li>
<li> <a href="http://radar.oreilly.com/2012/03/touch-interface-user-experience-toc.html">Buttons were an inspired UI hack, but now we&#8217;ve got better options</a></li>
<li> <a href="http://answers.oreilly.com/topic/1413-designing-for-the-ipad-how-its-different-from-the-iphone-and-what-you-need-to-consider/">Designing for the iPad: How it&#8217;s different from the iPhone and what you need to consider</a></li>
<li> <a href="http://radar.oreilly.com/2011/03/social-mobile-physical-design.html">UI is becoming an &#8220;embodied&#8221; model</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2012/03/mobile-app-design-patterns-ui.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Business-government ties complicate cyber security</title>
		<link>http://radar.oreilly.com/2012/02/cyber-security-business-government.html</link>
		<comments>http://radar.oreilly.com/2012/02/cyber-security-business-government.html#comments</comments>
		<pubDate>Mon, 06 Feb 2012 14:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Gov 2.0]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cyber warfare]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[cyberwarfare]]></category>
		<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2012/02/cyber-security-business-government.html</guid>
		<description><![CDATA[Is an attack on a U.S. business&apos; network an attack on the U.S. itself? &#34;Inside Cyber Warfare&#34; author Jeffrey Carr discusses the intermingling of corporate and government interests in this interview. ]]></description>
				<content:encoded><![CDATA[<p>From time to time, we like to check in with &#8220;<a href="http://shop.oreilly.com/product/0636920021490.do?cmp=il-radar-books-jeff-carr-cyber-war-2nd-edition-interview">Inside Cyber Warfare</a>&#8221; author Jeffrey Carr to get his thoughts on the digital security landscape. These conversations often address <a href="http://radar.oreilly.com/2011/02/cybersecurity-gov-hackers.html">specific</a> threats, but with the recent release of the second edition of Carr&#8217;s book, we decided to explore some of the larger concepts shaping this space.</p>
<h2>Are corporate and government interests in the U.S. becoming one and the same? That is, an attack on an American business&#8217; network may be regarded as an assault on the country itself?</h2>
<p><strong>Jeffrey Carr:</strong> Due to the dependence of the U.S. government upon private contractors, the insecurity of one impacts the security of the other. The fact is that there are an unlimited number of ways that an attacker can compromise a person, organization or government agency due to the interdependencies and connectedness that exist between both.</p>
<h2>Are national network security and media piracy becoming interrelated and confused?</h2>
<p><strong>Jeffrey Carr:</strong> It has definitely become confused to the point where the Department of Homeland Security (DHS) is now the enforcement arm of the Recording Industry Association of America (RIAA), which I find utterly disgraceful. It&#8217;s due entirely to the money and power that entertainment industry lobbyists have to wave in front of members of Congress. It has absolutely nothing to do with improving the security of our critical infrastructure or reducing the attack platform used by bad actors.</p>
<h2>Flipping this around, how much of a cyber threat does the U.S. pose to other countries?</h2>
<p><strong>Jeffrey Carr:</strong> The U.S. is probably as capable or more capable at conducting cyber operations than any of the other nation states who engage in it. It&#8217;s not a question of &quot;they do it to us, but we don&#8217;t do it to them.&quot; It&#8217;s a question of how to defend your critical assets in light of the fact that everyone is doing it.</p>
<h2>What recent technologies concern you the most?</h2>
<p><strong>Jeffrey Carr:</strong> We are racing to adopt <a href="http://radar.oreilly.com/2011/12/cloud-service-security-attack.html">cloud computing</a> without regard to security. In fact, many customers wrongly assume that the cloud provider is responsible for their data&#8217;s security when the reverse is true. Not only is security a major problem, but there&#8217;s no telling where in the world your data may reside since most large cloud providers have server farms scattered around the world. That, in turn, makes the data susceptible to foreign governments that have cause to request legal access to data sitting on servers inside their borders.</p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px;clear: both"><a href="http://shop.oreilly.com/product/0636920021490.do?cmp=il-radar-books-jeff-carr-cyber-war-2nd-edition-interview"><img style="float: left;border: none;padding-right: 10px" src="http://s.radar.oreilly.com/2011/12/02/1111-insider-cyber-war-2nd-cover.png" /></a><a href="http://shop.oreilly.com/product/0636920021490.do?cmp=il-radar-books-jeff-carr-cyber-war-2nd-edition-interview"><strong>Inside Cyber Warfare, 2nd Edition</strong></a> &mdash; Jeffrey Carr&#8217;s second edition of &#8220;Inside Cyber Warfare&#8221; goes beyond the headlines of attention-grabbing DDoS attacks and takes a deep look inside recent cyber-conflicts, including the use of Stuxnet.</div>
<p><em>This interview was edited and condensed.</em></p>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2011/12/cloud-service-security-attack.html">Why cloud services are a tempting target for attackers</a></li>
<li> <a href="http://radar.oreilly.com/2010/02/cyber-warfare-dont-inflate-it.html">Cyber warfare: don&#8217;t inflate it, don&#8217;t underestimate it</a></li>
<li> <a href="http://radar.oreilly.com/2011/02/cybersecurity-gov-hackers.html">Trend to watch: Formal relationships between governments and hackers</a></li>
<li> <a href="http://answers.oreilly.com/topic/1386-how-to-prepare-for-a-cyber-attack/">How to prepare for a cyber attack</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2012/02/cyber-security-business-government.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile interfaces: Mistakes to avoid and trends to watch</title>
		<link>http://radar.oreilly.com/2012/01/mobile-interfaces-mistakes-to.html</link>
		<comments>http://radar.oreilly.com/2012/01/mobile-interfaces-mistakes-to.html#comments</comments>
		<pubDate>Tue, 17 Jan 2012 16:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile design]]></category>
		<category><![CDATA[mobile devices]]></category>
		<category><![CDATA[mobile interface]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2012/01/mobile-interfaces-mistakes-to.html</guid>
		<description><![CDATA[In this interview, "Designing Mobile Interfaces" co-author Steven Hoober discusses common mobile interface mistakes, and he offers his thoughts on the latest mobile device trends &#8212; including why the addition of gestures and sensors isn't wholly positive. ]]></description>
				<content:encoded><![CDATA[<p><img src="http://s.radar.oreilly.com/tablet-hands-drawing.jpg" width="300" border="0" alt="Drawing on a tablet" style="float: right;margin: 3px 0 10px 10px" />In the following interview, &#8220;<a href="http://shop.oreilly.com/product/0636920013716.do">Designing Mobile Interfaces</a>&#8221; co-author Steven Hoober discusses common mobile interface mistakes, and he examines the latest mobile device trends &mdash; including why the addition of more gestures and sensors isn&#8217;t wholly positive.</p>
<h2>What are the most common mobile UI mistakes?</h2>
<p><strong>Steven Hoober:</strong> The biggest issues are common to everyone, and they&#8217;re strategic. Specifically, don&#8217;t make a decision on what or how you are going to develop for mobile without some good thinking and some research. For example, your product might be best on the web, or as an SMS service, or 60% of your customers are on BlackBerry. Developing an iPhone app will not get the benefits you&#8217;d expect in these cases.</p>
<p>Related to this is making sure you have the right data. I see lots of people who suddenly reveal that 90% of their desktop web clicks are coming from, for example, iPad. Much of the time, shocking numbers like this are simply wrong, and the analytics tool is being tricked. Or, there is some other driver, such as that the site works poorly on Firefox, and it&#8217;s redirected to a dumbed-down version on most handsets, so no one uses it.</p>
<p>Mobile must never be a dumbed-down, limited experience. Sure, it can be different from the desktop, but users expect all information everywhere they go now. Don&#8217;t make them go to the desktop site or use their desktop for some parts of your product. If you do, they will probably find a competitor that doesn&#8217;t make them do this.</p>
<p>Lastly, make sure that you are addressing the <a href="http://radar.oreilly.com/2011/12/mobile-desktop-tablet-usability-kpi-speed.html">whole mobile experience</a> &mdash; from the way an app is sold in the store or market to the password-reset email. Each of these elements can break the customer&#8217;s experience enough that they might just stop using your product.</p>
<h2>What recent mobile UI and mobile trends &mdash; good or bad &mdash; have caught your attention?</h2>
<p><strong>Steven Hoober:</strong> I fear that gesture is getting out of hand. More and more gestures are being added, and far too many are at the operating-system (OS) level. At first, I liked this for consistency, but now I&#8217;m seeing that it risks interfering with getting work done. OS-level gestures supersede good ideas at the app level, or they will prevent app developers from coming up with interesting gestural interfaces that fit their specific needs.</p>
<p>Additionally, I fear that using gesture alone is making the discovery of functions and features even more difficult. Basic functions are becoming &#8220;Easter eggs.&#8221; The trend away from menus means that sometimes it&#8217;s impossible to find a feature you just know is in there. We need buttons and lists and controls, at least as secondary functions.</p>
<p>Also, for good and bad, we&#8217;re getting more sensors in devices. <a href="http://radar.oreilly.com/2011/09/nfc-mobile-wallet-amazon-fire-mobile-broadband.html">Near-field communication</a> (NFC) is a good example. But theses sensors are all too often being used as deliberate, direct technology in the way GPS is tied to driving directions. Mobile sensors &mdash; and radios &mdash; can and should be used for lots of other purposes.</p>
<h2>What do you see as the core UI difference between smartphones and tablets?</h2>
<p><strong>Steven Hoober:</strong> Larger screens should mean more collaboration and sharing. Tablets, used hand held or as kiosks, seem to encourage joint usage, but they are often designed as individual platforms. Even in the book, we conflated all mobiles as personal, but that&#8217;s partly because the operating systems are set up this way now. I&#8217;d like to see more exploration of simultaneous, multi-user interfaces to exploit the platform.</p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px;clear: both"><a href="http://shop.oreilly.com/product/0636920013716.do?cmp=il-radar-books-steven-hoober-interview"><img style="float: left;border: none;padding-right: 10px" src="http://s.radar.oreilly.com/2012/01/09/0112-des-mob-int-cover.png" width="148" /></a><a href="http://shop.oreilly.com/product/0636920013716.do?cmp=il-radar-books-steven-hoober-interview"><strong>Designing Mobile Interfaces</strong></a> &mdash;  With hundreds of thousands of mobile applications available today, your app has to capture users immediately. This book provides practical techniques to help you catch &mdash; and keep &mdash; their attention. You&#8217;ll learn core principles for designing effective user interfaces, along with a set of common patterns for interaction design on all types of mobile devices.</div>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2011/12/mobile-desktop-tablet-usability-kpi-speed.html">You can&#8217;t get away with a bad mobile experience anymore</a></li>
<li> <a href="http://radar.oreilly.com/2011/05/10-mobile-app-mistakes.html">10 ways to botch a mobile app</a> </li>
<li><a href="http://radar.oreilly.com/2011/03/mobile-design-user-experience.html">On a small screen, user experience is everything</a></li>
<li><a href="http://radar.oreilly.com/2011/03/stephan-spencer-seo-future-search.html">In the future we&#8217;ll be talking, not typing</a></li>
<li> <a href="http://answers.oreilly.com/topic/1413-designing-for-the-ipad-how-its-different-from-the-iphone-and-what-you-need-to-consider/">Designing for the iPad: How it&#8217;s different from the iPhone and what you need to consider</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2012/01/mobile-interfaces-mistakes-to.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Social network analysis isn&apos;t just for social networks</title>
		<link>http://radar.oreilly.com/2011/11/social-network-analysis.html</link>
		<comments>http://radar.oreilly.com/2011/11/social-network-analysis.html#comments</comments>
		<pubDate>Wed, 09 Nov 2011 14:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[@editpick]]></category>
		<category><![CDATA[data analysis]]></category>
		<category><![CDATA[data product]]></category>
		<category><![CDATA[social data]]></category>
		<category><![CDATA[social network]]></category>
		<category><![CDATA[social network analysis]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2011/11/social-network-analysis.html</guid>
		<description><![CDATA[The scientific methodology of social network analysis (SNA) helps explain not just how people connect, but why they come together as well. Here, &#34;Social Network Analysis for Startups&#34; co-author Maksim Tsvetovat offers a primer on SNA. ]]></description>
				<content:encoded><![CDATA[<p>Social networking has become a pervasive part of our everyday online experience, and by extension, that means the analysis and application of social data is an essential component of business.</p>
<p>In the following interview, &#8220;<a href="http://oreilly.com/catalog/9781449306465/">Social Network Analysis for Startups</a>&#8221; co-author Maksim Tsvetovat (<a href="http://twitter.com/#!/maksim2042">@maksim2042</a>) offers a primer on social network analysis (SNA) and how it has relevance beyond social-networking services.</p>
<h2>What is social network analysis (SNA)? </h2>
<p><strong>Maksim Tsvetovat:</strong> Social network analysis is an offshoot of the social sciences &mdash; sociology, political science, psychology, anthropology and others &mdash; that studies human interactions by using graph-theoretic approaches rather then traditional statistics. It&#8217;s a scientific methodology for data analysis and also a collection of theories about how and why people interact &mdash; and how these interaction patterns change and affect our lives as individuals or societies. The theories come from a variety of social sciences, but they are always backed up with mathematical ways of measuring if a specific theory is applicable to a specific set of data.</p>
<p>In the science world, the field is considered interdisciplinary, so gatherings draw mathematicians, physicists, computer scientists, sociologists, political scientists and even an occasional rock musician.</p>
<p>As far as the technology aspect goes, the analysis methods are embodied in a set of software tools, such as the Python-based <a href="http://networkx.lanl.gov/">NetworkX library</a>, which the book uses extensively. These tools can be used for analyzing and visualizing network data in a variety of contexts, from visualizing the spread of disease to business intelligence applications.</p>
<p>In terms of marketing applications, there&#8217;s plenty of science behind &#8220;why things go viral&#8221; &mdash; and the book goes briefly into it &mdash; but I find that it&#8217;s best to leave marketing to marketing professionals.</p>
<h2>Does SNA refer specifically to the major social-networking services, or does it also apply beyond them?</h2>
<p><strong>Maksim Tsvetovat:</strong> SNA refers to the study of relationships between people, companies, organizations, websites, etc. If we have a set of relationships that may be forming a meaningful pattern, we can use SNA methods to make sense of it.</p>
<p>Major social-networking services are a great source of data for SNA, and they present some very interesting questions &mdash; most recently, how can a social network act as an early warning system for natural disasters? I&#8217;m also intrigued by the emergent role of Twitter as a &#8220;common carrier&#8221; and aggregation technology for data from other media. However, the analysis methodology is applicable to many other data sources. In fact, I purposefully avoided using Twitter as a data source in the book &mdash; it&#8217;s the obvious place to start and also a good place to get tunnel vision about the technology.</p>
<p>Instead, I concentrated on getting and analyzing data from other sources, including campaign finance, startup company funding rounds, international treaties, etc., to demonstrate the potential breadth of applications of this technology.</p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px;clear: both"><a href="http://shop.oreilly.com/product/0636920020424.do?cmp=il-radar-books-social-network-analysis-interview"><img style="float: left;border: none;padding-right: 10px" src="http://s.radar.oreilly.com/2011/11/07/1111-sna-cover.png" /></a><a href="http://shop.oreilly.com/product/0636920020424.do?cmp=il-radar-books-social-network-analysis-interview"><strong>Social Network Analysis for Startups</strong></a> &mdash;  Social network analysis (SNA) is a discipline that predates Facebook and Twitter by 30 years. Through expert SNA researchers, you&#8217;ll learn concepts and techniques for recognizing patterns in social media, political groups, companies, cultural trends, and interpersonal networks.</div>
<h2>How does SNA relate to startups?</h2>
<p><strong>Maksim Tsvetovat:</strong> A lot of startups these days talk about social-this and social-that &mdash; and all of their activity can be measured and understood using SNA metrics. Being able to integrate SNA into their internal business intelligence toolkits should make businesses more attuned to their audiences.</p>
<p>I have personally worked with three startups that used SNA to fine-tune their social media targeting strategies by locating individuals and communities, and addressing them directly. Also, my methodologies have been used by a few large firms: the digital marketing agency <a href="http://www.digitas.com/">DIGITAS</a> is using SNA daily for a variety of high-profile clients. (Disclosure: my startup firm, <a href="http://www.deepmile.com/">DeepMile Networks</a>, is involved in supplying SNA tools and services to DIGITAS and a number of others.)</p>
<h2>What SNA shifts should developers watch for in the near future?</h2>
<p><strong>Maksim Tsvetovat:</strong>  Multi-mode network analysis, which is analyzing networks with many types of &#8220;actors&#8221; (people, organizations, resources, governments, etc.). I approach the topic briefly in the book &mdash; but much remains to be done.</p>
<p>Also, watch for more real-time analysis. Most SNA is done on snapshot-style data that is, at best, a few hours out-of-date &mdash; some is years out-of-date. The release of <a href="http://engineering.twitter.com/2011/08/storm-is-coming-more-details-and-plans.html">Twitter&#8217;s Storm tool</a> should spur developers to make more SNA tools work on real-time and flowing data. </p>
<p><em>This interview was edited and condensed.</em></p>
<p><em>Associated photo on home and category pages: <a href="http://www.flickr.com/photos/wwworks/5910908634/" title="bulletin board [before there was twitter] by woodleywonderworks, on Flickr">bulletin board [before there was twitter] by woodleywonderworks, on Flickr</a>.</em></p>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2011/03/social-data-tools-application.html">Social data is an oracle waiting for a question</a></li>
<li> <a href="http://radar.oreilly.com/2011/08/data-science-social-science-academic.html">Data science is a pipeline between academic disciplines</a></li>
<li> <a href="http://radar.oreilly.com/2011/09/social-data-tv-audience-measurement.html">Social data: A better way to track TV</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2011/11/social-network-analysis.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Honeycomb and the Android tablet tipping point</title>
		<link>http://radar.oreilly.com/2011/08/honeycomb-android-tablets.html</link>
		<comments>http://radar.oreilly.com/2011/08/honeycomb-android-tablets.html#comments</comments>
		<pubDate>Mon, 15 Aug 2011 13:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[app development]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[honeycomb]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2011/08/honeycomb-android-tablets.html</guid>
		<description><![CDATA[&#34;Programming Honeycomb&#34; author Marko Gargenta discusses the state of Android 3.x, the technical hurdles of Honeycomb, and why the slow adoption pattern of Android tablets may soon change. ]]></description>
				<content:encoded><![CDATA[<p>There are encouraging signs for Android tablets, including <a href="http://www.tomsguide.com/us/google-android-android-honeycomb-tablet-motorola-xoom,news-10232.html">release</a> of the tablet-friendly <a href="http://developer.android.com/sdk/android-3.0-highlights.html">Android 3.0 (Honeycomb)</a>, strong early sales for the <a href="http://www.engadget.com/2011/04/26/asus-eee-pad-transformer-goes-on-sale-in-us-immediately-sells-o/">ASUS Eee Pad Transformer</a>, and critical acclaim for the <a href="http://reviews.cnet.com/tablets/samsung-galaxy-tab-10/4505-3126_7-34505338.html">Samsung Galaxy Tab 10.1</a>. But these positive signals have yet to translate into a robust inventory of Android tablet applications.</p>
<p>Marko Gargenta (<a href="http://twitter.com/#!/markogargenta">@markogargenta</a>), author of &#8220;<a href="http://oreilly.com/catalog/0636920010883">Learning Android</a>&#8221; and the forthcoming &#8220;<a href="http://oreilly.com/catalog/0636920020790">Programming Honeycomb</a>,&#8221; discusses the state of Honeycomb and the adoption pattern of Android tablets in the following interview. Many of these topics will be further explored at the upcoming <a href="http://androidopen.com/android2011?cmp=il-radar-ao11-gargenta-honeycomb-interview">Android Open conference</a>, which Gargenta is co-chairing.</p>
<hr />
<h2>We&#8217;ve been hearing about the lack of apps designed specifically for Android tablets. Why is this area slow to develop?</h2>
<p><img src="http://assets.en.oreilly.com/1/eventprovider/1/_@user_64168.jpg" border="0" alt="Marko Gargenta" style="float: right;margin: 3px 0 10px 10px" /><strong>Marko Gargenta:</strong> It&#8217;s true that there aren&#8217;t as many Android apps designed specifically for tablets. The reason for this is two-fold. On one hand, most of the existing Android apps will happily work on tablets. On the other hand, developers want to see a sizable market share for tablets before they invest their time. It appears that we&#8217;re at that tipping point where the number of Android tablet devices out there supports the development costs to create tablet-optimized applications.</p>
<h2>What are the biggest technical challenges for Android tablet apps?</h2>
<p><strong>Marko Gargenta:</strong> Honeycomb brings a couple of new concepts to app development, namely <a href="http://developer.android.com/guide/topics/fundamentals/fragments.html">Fragments</a> and  new UI capabilities. Developers need to learn how these work in order to take advantage of the new features. While not too complex, they do take some time to master.</p>
<p>The other technical challenge is the emulator. In previous versions of Android, the emulator worked great and most developers did not need a physical device for development. But the Honeycomb  emulator is <a href="http://www.androidpolice.com/2011/01/27/android-team-acknowledges-honeycomb-emulator-performance-problems-hard-at-work-on-fixes/">extremely slow</a>. That means developers need actual tablet devices, which are somewhat pricey compared to subsidized phones.</p>
<h2>What&#8217;s your take on Honeycomb thus far?</h2>
<p><img src="http://s.radar.oreilly.com/2011/08/04/0811-samsung-galaxy.png" border="0" width="220" alt="Samsung Galaxy Tab 10.1" style="float: right;margin: 3px 0 10px 10px" /><strong>Marko Gargenta:</strong> I like Honeycomb and the general direction of Android for tablets. I think the tools have a ways to go in order to be more appealing to developers. The issues with tablet tools are the same we see with smartphones, but they&#8217;re amplified on the tablet side. In addition to the emulator issues, there&#8217;s also the quirks and <a href="http://nfarina.com/post/8239634061/ios-to-android">steep learning curve</a> of <a href="http://www.eclipse.org/">Eclipse</a>, a powerful and feature-rich tool that many developers use for Android development.</p>
<p>That said, I think Honeycomb is overall a well-designed platform. The Android team took a holistic view at how tablets are used and they developed a platform that addresses that view. At the same time, Honeycomb isn&#8217;t as polished as the iPad. There aren&#8217;t any major features missing in Honeycomb when compared to iOS, but there are differences in the ecosystems: the economics, the user bases, the distribution, etc.</p>
<h2>How difficult would it be for an iPad developer to transition apps to Honeycomb?</h2>
<p><strong>Marko Gargenta:</strong> There are two types of iOS applications: native and those based on <a href="http://www.webkit.org/">WebKit</a> (web applications wrapped in a native app shell). WebKit apps are easy to port and many tools exist to help with that. Native iOS apps usually require a total rewrite. It&#8217;s like starting a new project with very little reusable code.</p>
<h2>Which Android tablet do you use?</h2>
<p><strong>Marko Gargenta:</strong> I use the Motorola <a href="http://www.motorola.com/staticfiles/Consumers/xoom-android-tablet/us-en/overview.html">Xoom</a>. I have it rooted, and I&#8217;ve reinstalled the operating system many times to experiment with how it all works. It&#8217;s certainly a heavier tablet than others on the market, but it&#8217;s also fairly rugged.</p>
<p><em>This interview was edited and condensed.</em></p>
<p></p>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2011/07/3-android-predictions-home-clothes-car.html">Three Android predictions: In your home, in your clothes, in your car</a></li>
<li> <a href="http://radar.oreilly.com/2011/03/apple-ipad2-tablet-competition.html">Running up the score: Thoughts on iPad 2 announcement</a></li>
<li> <a href="http://radar.oreilly.com/2011/07/enterprise-tablet-apple-rim-hp.html">Is the enterprise dead as a tablet strategy?</a></li>
<li> <a href="http://nfarina.com/post/8239634061/ios-to-android">An iOS Developer Takes on Android<a></li>
<li> <a href="http://radar.oreilly.com/2010/07/why-fragmentation-is-a-good-si.html">Why fragmentation is a good sign for Android</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2011/08/honeycomb-android-tablets.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The evolution of iOS development: Better tools and a lot more to think about</title>
		<link>http://radar.oreilly.com/2011/08/evolution-of-ios-develoment-iphone-ipad.html</link>
		<comments>http://radar.oreilly.com/2011/08/evolution-of-ios-develoment-iphone-ipad.html#comments</comments>
		<pubDate>Thu, 11 Aug 2011 13:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[app development]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2011/08/evolution-of-ios-develoment-iphone-ipad.html</guid>
		<description><![CDATA[Dan and Tracey Pilone, authors of &#34;Head First iPhone and iPad Development,&#34; discuss the maturation of the iOS world, how the iPad has changed development patterns, and what they hope to see in iOS down the road. ]]></description>
				<content:encoded><![CDATA[<p>The first edition of &#8220;<a href="http://oreilly.com/catalog/9780596809195/index.html">Head First iPhone Development</a>&#8221; came out in 2009, which feels like decades ago in app years. Now, with &#8220;<a href="http://oreilly.com/catalog/9781449387822/">Head First iPhone and iPad Development</a>&#8221; arriving earlier this summer, I checked in with the authors of both editions, <a href="http://www.oreillynet.com/pub/au/1182">Dan Pilone</a> (<a href="http://twitter.com/danpilone">@danpilone</a>) and <a href="http://www.oreillynet.com/pub/au/3453">Tracey Pilone</a> (<a href="http://twitter.com/traceypilone">@traceypilone</a>), to get their take on the maturation of the iOS world, how the iPad has changed development patterns, and what they hope to see in iOS down the road.</p>
<p>Our interview follows. </p>
<hr />
<h2>Has the learning curve for iPhone/iPad development improved?</h2>
<p><strong>Dan Pilone:</strong> That&#8217;s a really tough one to judge after spending so much time working with iOS.  I think the fundamentals are still the same: you still need to learn <a href="http://oreilly.com/catalog/9780596804817">Objective-C</a>, you&#8217;re still dealing with memory management, you still need to learn the core <a href="http://oreilly.com/catalog/0636920010234">Cocoa Touch</a> patterns. In some ways it definitely has gotten easier. For example, <a href="http://developer.apple.com/xcode/">Xcode 4</a> is a huge step forward. Provisioning and iTunes App Store submission have been streamlined as well.</p>
<p>However, iOS has gotten harder in some ways. There are a lot more devices in the mix and iOS as a platform is bigger than ever. You have <a href="http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/Introduction/Introduction.html">Game Kit</a>, <a href="http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MapKit_Framework_Reference/_index.html">Map Kit</a>, <a href="http://developer.apple.com/library/ios/#documentation/StoreKit/Reference/StoreKit_Collection/_index.html">Store Kit</a>, <a href="http://developer.apple.com/library/mac/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html">Grand Central Dispatch</a> (GCD), fully capable audio and video frameworks, and more, all under the umbrella of iOS. There are entire parts of the <a href="http://en.wikipedia.org/wiki/IOS_SDK">iOS SDK</a> that you might never bump into depending on what kind of apps you&#8217;re writing. It&#8217;s a great platform to develop for, but I don&#8217;t know if I&#8217;d describe it as &#8220;easy&#8221; just yet. </p>
<p><strong>Tracey Pilone: </strong> Actually, I&#8217;d say it&#8217;s gotten worse! When iPhone development started, it was just one iPhone, with fairly limited developer access to parts of the OS, like multitasking. Since the last time we wrote the book, we have multiple iPhones, different displays, iPads, different OS versions to support, etc. You can start in the same place, but the topics for us to cover have expanded.</p>
<h2>How have iOS development tools evolved since you wrote the first edition of your book?</h2>
<p><strong>Tracey Pilone:</strong> The tools have evolved a lot, which is part of why it took us a while to print an update. Xcode 4 was announced and in developer preview for months, and we struggled over when to print the new edition. We finally went ahead when Xcode 4 became public.</p>
<p>Xcode 4 integrated <a href="http://developer.apple.com/technologies/tools/whats-new.html#interface-builder">Interface Builder</a> and dramatically changed the workflow, mostly for the better. You can link outlets and actions directly to code, unlike in previous versions. The editor for the views is completely integrated. Git support is included and there&#8217;s better support for coding with features like code completion.</p>
<p><strong>Dan Pilone:</strong> The provisioning and signing tools have significantly improved and you can now do application validation prior to submission, which saves on needless round-trips trying to get your first application in the App Store. Testing tools have improved a good bit with Unit Tests being a first-class part of Xcode. Automated <a href="http://answers.oreilly.com/topic/2828-how-to-do-ui-testing-of-ios-applications-using-ocunit/">UI testing</a> through Instruments is a big win as well.</p>
<div style="height: 170px;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px"><a href="http://oreilly.com/catalog/9781449387822/?cmp=il-radar-books-pilone-interview"><img style="float: left;border: none;padding-right: 10px" src="http://covers.oreilly.com/images/0636920010135/cat.gif" height="170" /></a><a href="http://oreilly.com/catalog/9781449387822/?cmp=il-radar-books-pilone-interview"><strong>Head First iPhone and iPad Development, Second Edition</strong></a> &mdash;  Learn how to design for Apple&#8217;s devices and master the iOS SDK tools &#8212; including Interface Builder, Xcode, and Objective-C programming principles &#8212; to create eye-catching apps.</div>
<h2>Have you noticed any iOS development trends tied to the popularity of the iPad?</h2>
<p><strong>Tracey Pilone:</strong> What we have seen is that clients come to us looking for completely different experiences out of the iPad verses the iPhone. The iPad has opened up lots of possibilities for extended user interaction. The iPhone is always with you, but the interaction time frame is significantly shorter. It&#8217;s been fascinating for us to see so many different types of uses for the devices.</p>
<p><strong>Dan Pilone:</strong> I love the way iPad application UIs have evolved since the iPad first came out. Apple has gone to great lengths to get developers to think differently about iPad application UIs, and this has resulted in some really stunning apps. The integration of iPad applications and UIs with the real world is the most fascinating aspect. The virtual game board in &#8220;<a href="http://itunes.apple.com/us/app/scrabble-for-ipad/id363306776?mt=8">Scrabble</a>&#8221; and Adobe&#8217;s <a href="http://itunes.apple.com/us/app/adobe-photoshop-express/id331975235?mt=8">applications</a> for working with Photoshop are examples.</p>
<h2>What technical issues does iOS need to address?</h2>
<p><strong>Dan Pilone:</strong> Provisioning and certificate management are still harder than I think they should be, but my biggest issue is the lack of a garbage collector. I understand the constraints of a mobile device and I&#8217;m willing to put up with it, but right now, to the best of my knowledge, garbage collection is the biggest hurdle to getting <a href="http://www.macruby.org/">MacRuby</a> as a viable development platform for iOS. I like the Cocoa Touch framework, and GCD is absolutely unmatched by anything else I&#8217;ve used. But I&#8217;m still lukewarm on Objective-C. If Apple makes iOS development more approachable through something like Ruby with real garbage collection, I think the application rush will start all over again. </p>
<h2>At this point, do developers have to choose one mobile platform over another?</h2>
<p><strong>Dan Pilone:</strong> Unfortunately, yes. Either that or they&#8217;re choosing both iOS and Android and basically writing their applications twice. There are some mobile applications that are great as <a href="http://answers.oreilly.com/topic/1566-html-css-and-javascript-the-other-way-to-develop-mobile-apps/">HTML5/CSS3/JavaScript</a> and those are cross-platform, but I still think nothing beats a true, native application. As a great example, try ordering pizza from Papa Johns through their <a href="https://order.papajohns.com/mobile/index.rmw#start">web application</a> &mdash; it&#8217;s well-done, pretty straightforward, and it looks a lot like an iOS application. Then use <a href="http://itunes.apple.com/us/app/chipotle-ordering/id327228455?mt=8">Chipotle&#8217;s native iOS app</a>. It&#8217;s phenomenal. It doesn&#8217;t do a whole lot more than Papa John&#8217;s mobile web app, but the Chipotle app&#8217;s user experience is dramatically better. </p>
<p class="image-box-580"><img src="http://s.radar.oreilly.com/2011/08/03/0811-webapp-nativeapp.png" border="0" alt="Papa Johns web app and Chipotle native app" width="580" /></p>
<p>We went through the whole &#8220;cross-platform development&#8221; thing with desktop apps, then again with web apps, and I guess we still need another round with mobile devices. In the end, HTML5/CSS3/JavaScript might be the cross-platform solution, but I don&#8217;t think it&#8217;s there quite yet. </p>
<p><strong>Tracey Pilone:</strong> The overlap for iOS and Android is there, but it&#8217;s limited. UI and graphics work can be used for both, but they won&#8217;t share any code. There are a lot of mobile developers out there who can do Android and iOS, but our experience has been that the iOS market is significantly stronger than Android.</p>
<h2>What aspects of app development &mdash; or types of apps &mdash; are you most interested in?</h2>
<p><strong>Tracey Pilone:</strong> I&#8217;m most excited about the prospects for education with iPads. The ability to integrate video, audio, reading, and tactile exercises into teaching topics is a great area for growth and it has the potential to deliver good teaching even to those students who can&#8217;t physically be in the classroom.</p>
<p><strong>Dan Pilone:</strong> For me, it&#8217;s the idea of mobile devices acting as entry points for users into an always-connected network of information. We do Rails development in addition to iOS development, and I&#8217;m much more interested in applications that present me with exactly the right UI to plug into and take advantage of interconnected back-end systems. Combine heavy lifting on the server side with the location awareness and always-on connectivity of a mobile device and you have a pretty amazing change in how people interact. </p>
<hr />
<p><em><a href="https://en.oreilly.com/webexny2011/public/regwith/WEBNY11RAD?cmp=il-radar-xn11-pilone-interview">Web 2.0 Expo New York 2011</a>, being held Oct. 10-13, showcases the latest Web 2.0 business models, development tools and design strategies for the builders of the next-generation web. <a href="https://en.oreilly.com/webexny2011/public/regwith/WEBNY11RAD?cmp=il-radar-xn11-pilone-interview"><strong>Save 20% on registration with code WEBNY11RAD</strong></a>.</em></p>
<p></p>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://oreilly.com/catalog/9781449387822/">Head First iPhone and iPad Development</a> (Book)</li>
<li> <a href="http://answers.oreilly.com/topic/1566-html-css-and-javascript-the-other-way-to-develop-mobile-apps/">HTML, CSS and JavaScript: The other way to develop mobile apps</a></li>
<li> <a href="http://radar.oreilly.com/2010/04/wheres-the-line-with-apple.html">Where do developers draw the line with Apple?</a></li>
<li> <a href="http://answers.oreilly.com/topic/1413-designing-for-the-ipad-how-its-different-from-the-iphone-and-what-you-need-to-consider/">Designing for the iPad: How it&#8217;s different from the iPhone and what you need to consider</a></li>
<li> <a href="http://radar.oreilly.com/2011/01/ipad-impact.html">The iPad&#8217;s ripple effect</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2011/08/evolution-of-ios-develoment-iphone-ipad.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Getting started with HTML5 apps</title>
		<link>http://radar.oreilly.com/2011/07/html5-apps-javascript-development.html</link>
		<comments>http://radar.oreilly.com/2011/07/html5-apps-javascript-development.html#comments</comments>
		<pubDate>Tue, 12 Jul 2011 13:00:00 +0000</pubDate>
		<dc:creator>Howard Wen</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[app development]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blogs.oreilly.com/radar/2011/07/html5-apps-javascript-development.html</guid>
		<description><![CDATA[&#34;Programming HTML5 Applications&#34; author Zachary Kessin discusses the tools, technologies, and knowledge that help developers build HTML5 apps. Plus: Learn the most common app development mistakes and how to avoid them. ]]></description>
				<content:encoded><![CDATA[<p><img src="http://s.radar.oreilly.com/2011/05/24/0511-html5-logo.png" border="0" alt="HTML5 logo" width="130" style="float: right;margin: 3px 0 10px 10px" />Building apps in HTML5 and JavaScript may be easier than using other development tools, but there&#8217;s still a learning curve. In the following interview, &#8220;<a href="http://oreilly.com/catalog/9781449399085/">Programming HTML5 Applications</a>&#8221; author Zachary Kessin (<a href="http://twitter.com/zkessin">@zkessin</a>) discusses the skills you&#8217;ll need &mdash; and the mistakes you should avoid &mdash; if you want to create solid HTML5 applications.</p>
</p>
<h2>What&#8217;s the difference between an HTML5/JavaScript app and a regular website?</h2>
</p>
<p><strong>Zachary Kessin:</strong> There isn&#8217;t a line you can draw and say that things on this side are &#8220;web pages&#8221; and on that side they&#8217;re &#8220;apps.&#8221; It&#8217;s more of a common-sense definition: Google Docs is an app, Wikipedia is not. If I had to define one factor, it would be how long do you go between page loads? In an app, you may work for an hour or more before reloading the page.</p>
<p>That being said, many of the ideas behind apps can be used in web pages to improve the user experience. For example, having an office wiki that cached the data on your local computer so you could use it offline would be a very useful feature.</p>
</p>
<h2>How much programming experience do you need to take on HTML5 app development?</h2>
</p>
<p><strong>Zachary Kessin:</strong> There are two key things you need. First,  an ability to do some amount of <a href="http://en.wikipedia.org/wiki/Functional_programming">functional programming</a>, and second, you need an understanding of asynchronous operations. In a web app, there are lots of times when a function does not return a value; it takes a callback that is called at some point in the future when the value is available. This takes some getting used to and it can often hit you in a strange way.</p>
<div style="float: left;border-top: thin gray solid;border-bottom: thin gray solid;padding: 20px;margin: 20px 2px"><a href="https://en.oreilly.com/oscon2011/public/regwith/os11rad?cmp=il-radar-os11-kessin-html5-apps-interview"><img style="float: left;border: none;padding-right: 10px" src="http://s.radar.oreilly.com/oscon-code-os11rad.png" /></a><a href="http://www.oscon.com/oscon2011/public/schedule/topic/Javascript%20&amp;%20HTML5?cmp=il-radar-os11-kessin-html5-apps-interview"><strong>OSCON JavaScript and HTML5 Track</strong></a> &mdash; Discover the new power offered by HTML5, and understand JavaScript&#8217;s imminent colonization of server-side technology.</p>
<p>  <a href="https://en.oreilly.com/oscon2011/public/regwith/os11rad?cmp=il-radar-os11-kessin-html5-apps-interview"><strong>Save 20% on registration with the code OS11RAD</strong></a></div>
</p>
<h2>What are most common mistakes you see in HTML5/JavaScript apps?</h2>
</p>
<p><strong>Zachary Kessin:</strong> JavaScript, like PHP, is one of those languages that lets a beginner cut and paste code and get something that more or less works. The novice doesn&#8217;t really need to understanding what&#8217;s going on. This can lead to some really bad code. Common mistakes include:</p>
<ul>
<li> Directly using the <a href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM</a>. It is buggy and a pain to use. Use <a href="http://jquery.com/">jQuery</a> instead.</li>
<li> Overuse of the global name space, by design or not understanding things. Keep things lexically scoped.</li>
<li> Not really understanding the language. I think people see the &#8220;-script&#8221; in JavaScript and treat it as a &#8220;toy language,&#8221; which is a shame.</li>
<li> Not using <a href="http://www.jslint.com/">JSLint</a>. I can think of so many problems that would be caught in advance with JSLint.</li>
</ul>
<h2>What about HTML5/JavaScript apps most needs to be improved?</h2>
</p>
<p><strong>Zachary Kessin:</strong> The state of the local storage interfaces is kind of a mess. We&#8217;ve got IndexDB, SQLite and a few others, and it&#8217;s not quite clear what to use. The vendors need to get their acts together there.</p>
<p>Being able to do <a href="http://www.w3.org/TR/workers/">Web Workers</a> is nice, but it would be  great if there was some way to step through code and set breakpoints with <a href="http://getfirebug.com/">Firebug</a> or <a href="http://code.google.com/chrome/devtools/docs/overview.html">Chrome dev tools</a>. I expect that will happen eventually.</p>
<hr />
<p><em><a href="http://oreilly.com/catalog/9781449399085?cmp=il-radar-books-kessin-html5-apps-interview"><strong>Programming HTML5 Applications</strong></a> &mdash; This practical guide shows you how HTML5&#8242;s JavaScript APIs give you the power to take web development into fields that used to require more platform-specific development &mdash; particularly mobile deployment. </em></p>
<p></p>
<p><strong>Related:</strong></p>
<ul>
<li> <a href="http://radar.oreilly.com/2011/06/html5-production-development-web-apps.html">How is HTML 5 changing web development?</a></li>
<li> <a href="http://radar.oreilly.com/2010/03/why-html5-is-worth-your-time.html">Why HTML5 is worth your time</a></li>
<li> <a href="http://radar.oreilly.com/2011/06/time-to-learn-javascript.html">Why a Javascript hater thinks everyone should learn Javascript in the next year</a></li>
<li> <a href="http://radar.oreilly.com/2011/02/flash-html5-developers.html">Can Flash and HTML 5 get along?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://radar.oreilly.com/2011/07/html5-apps-javascript-development.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
