<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>XYDO.COM: HTML5</title>
    <description>XYDO.COM: top articles for HTML5</description>
    <link>http://www.xydo.com</link>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/XYDOHTML5" /><feedburner:info uri="xydohtml5" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>XYDOHTML5</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
      <title>How WebSockets work vs polling/long polling/streaming</title>
      <description>Comments&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/IRSvajZnaEI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/IRSvajZnaEI/quantum.html</link>
      <guid isPermaLink="false">http://www.websocket.org/quantum.html</guid>
    <feedburner:origLink>http://www.websocket.org/quantum.html</feedburner:origLink></item>
    <item>
      <title>Yahoo's New Axis Browser: An Early Look</title>
      <description>Yahoo's New Axis Browser: An Early Look There are user comments on this Indexing &amp; Search Engine story. Axis App runs on iOS devices (no Android at this time) and as a desktop plug-in for HTML5-enabled browsers. It runs as a plug-in to Mozilla Firefox, Internet Explorer, Chrome, Safari, Opera and others. Yahoo, with all its corporate trials and tribulations, desperately has needed to make some sort of product and/or service news, if not just to change the subject from Scott Thompson, stock prices, talk of irrelevancy and shareholder lawsuits. And so it has with the release of its new browser, Axis. Of course, one knows there are plenty of skeptics out there thinking: "Now THAT's exactly what Yahoo needs to do: Compete head-on with two of the most successful IT companies in the world (Google, Microsoft) in the browser business, for goodness sake. Couldn't they maybe have come up with a new smartphone or tablet or something?" Yahoo, not having a lot of experience in the hardware business, probably was not going to go the device route. So the company had some meetings, did some R&amp;D, and came up with the idea of a new-generation Web browser. And why not? There hasn't been a lot of innovation in that sector for at least five years. So they named it Axis (a play on words with "access"), and it is now freely downloadable at the iTunes AppStore. Axis App runs on iOS devices (no Android at thie time) and as a desktop plug-in for HTML5-enabled browsers. It runs as a plug-in to Mozilla Firefox, Internet Explorer, Chrome or Safari, Opera or any others. Axis is a much more visual browser than the conventionals. Instead of a link, a date and a couple of teaser lines on a search result, you get a small snapshot graphic of a corner of the actual Web page with the article or graphic for which you searched. The characteristic users will need to get used to is that Axis follows you around on the Web with a little widget at the lower left of your browser screen. It may be annoying at first, until you understand the functionality. Axis' search function allows the user to do a search without leaving the current Web page. When you click on the search line in the widget, half your browser screen then goes over to Axis, where you will see the Yahoo home page. If you had a keyword or other search query, the search function will anticipate what you might be looking for and give you some options. Then, instead of those links, dates and two-line descriptions to which we have become accustomed, you will see boxes containing articles -- right on the Web pages themselves -- that might interest you. You simply click and drag across the page to see more results, instead of moving to a second, third of fourth Web page (although rresearch has shown that users rarely go more than one page in a Google search, for example). Your search results are saved on Yahoo’s servers, so Axis enables users to move across devices without losing a step. All you need to do is click on "Continue from Device," for example, if you are working on an iPad or desktop and want work later from an iPhone without losing your search results. You can establish a home page and set favorites easily using Axis. After signing in with Yahoo, Google or Facebook credentials, Axis centralizes Web browsing with a customizable home page that provides direct access to favorite sites, saved articles and bookmarks across all devices where Axis has been downloaded. Axis does offer a new browsing experience, that much is certain. It will take a little getting used to, but a good number of people will undoubtedly find it a better way to use the Web. The main thing at this point, however, is this: It still isn't Google Search. Once Yahoo gets something closer to that, it will be much better. For now, there is a new alternative to try out. Chris Preimesberger is eWEEK Editor for Features and Analysis. Twitter: @editingwhiz More Indexing &amp; Search Engine Articles More By Chris Preimesberger Email Article To FriendPrint Version Of ArticlePDF Version Of Article Email Article To Friend ♦ Print Version Of Article ♦ PDF Version Of Article&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/cw8x6BA1ezM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/cw8x6BA1ezM/</link>
      <guid isPermaLink="false">http://www.eweek.com/c/a/Search-Engines/Yahoos-New-Axis-Browser-An-Early-Look-409630/</guid>
    <feedburner:origLink>http://www.eweek.com/c/a/Search-Engines/Yahoos-New-Axis-Browser-An-Early-Look-409630/</feedburner:origLink></item>
    <item>
      <title>30 Creative and Inspiring Multi-colored Logo Designs for your inspiration</title>
      <description>30 Creative and Inspiring Multi-colored Logo Designs for your inspiration.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/hbhbjAA7haE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/hbhbjAA7haE/</link>
      <guid isPermaLink="false">http://html5based.wordpress.com/2012/05/21/30-creative-and-inspiring-multi-colored-logo-designs-for-your-inspiration/</guid>
    <feedburner:origLink>http://html5based.wordpress.com/2012/05/21/30-creative-and-inspiring-multi-colored-logo-designs-for-your-inspiration/</feedburner:origLink></item>
    <item>
      <title>UBS’s Neo swallows the red pill...eventually</title>
      <description>For the past two plus years, UBS has been busy designing and building their next generation SDP, called Neo (microsite here). We understand the platform, due for release early this year, was designed using Adobe Flex as the front-end technology. HTML5 re-write? The platform has yet to been released, yet there is much talk in the market that UBS may be re-implementing the front-end in HTML5, rather than releasing the platform as originally planned in Flex. This would make sense as HTML5 performance, development tools and adoption have come a long way since Neo was first commissioned. If confirmed this would support the findings of recent research by Caplin Systems (shortly to be published), which found that banks considering new SDP projects were more likely use HTML5 than any other front-end technology. Caplin’s white paper 2012: The Year of HTML5 on this topic is available now, with no delays! By way of background: The platform was we believe named after Neo, the hero in the Matrix film trilogy. This is no co-incidence as Neo was designed by the same person responsible for Morgan Stanley’s hugely expensive and ambitious Flex based Single Dealer Platform – called Morgan Stanley Matrix. Late last year UBS investment bank chief Carsten Kengeter announced at an investor day presentation, the pending launch of UBS Neo: The bank’s e-trading and analytics platform which aims to unite 94 existing client systems into one. UBS Neo will function as a unified distribution and execution platform, Kengeter said, bringing together pricing, client information, commentary and trading ideas across fixed income, currencies and commodities, equities, delta, research and prime services. He added: “[The platform] will be live on clients’ desks early next year and will revolutionise and scale our interaction with clients, and add significant bottom line value to our securities business.” The bank’s FX franchise accounts for a very low proportion of its risk-weighted assets, Kengeter said, but contributes a third of macro revenues within FICC. Investor presentation available here. We would welcome comments from people closer to the project to confirm whether Neo is actually being re-written in HTML5, and if so the primary reason for the change. More on the Matrix Blue pill or Red pill here&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/0rmVFhKwpXA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/0rmVFhKwpXA/</link>
      <guid isPermaLink="false">http://singledealerplatforms.org/2012/05/21/ubss-neo-swallows-the-red-pill-eventually/</guid>
    <feedburner:origLink>http://singledealerplatforms.org/2012/05/21/ubss-neo-swallows-the-red-pill-eventually/</feedburner:origLink></item>
    <item>
      <title>Face detection in JavaScript/HTML5</title>
      <description>Comments&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/B0mul8_YKpg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/B0mul8_YKpg/</link>
      <guid isPermaLink="false">http://neave.com/webcam/html5/face/</guid>
    <feedburner:origLink>http://neave.com/webcam/html5/face/</feedburner:origLink></item>
    <item>
      <title>First Developer at Funded Startup</title>
      <description>Instameet, Inc. is a seed-funded, disruptive new web startup designed to enable people to connect in real-time around common interests. We\'re currently looking for a Lead Developer to be tasked with creating the initial site - producing a true minimum viable product based on clear and validated concepts.Institutional investors are already interested in leading and raising a considerable Series A r&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/Hrg16EchY8Q" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/Hrg16EchY8Q/Rails-Developer-at-Seed-Funded-Startup.html</link>
      <guid isPermaLink="false">http://findmjob.com/job/pCpf7ZWn4RGJC+oHip+P_A/Rails-Developer-at-Seed-Funded-Startup.html</guid>
    <feedburner:origLink>http://findmjob.com/job/pCpf7ZWn4RGJC+oHip+P_A/Rails-Developer-at-Seed-Funded-Startup.html</feedburner:origLink></item>
    <item>
      <title>Initial Developer at Funded Startup</title>
      <description>Instameet, Inc. is a seed-funded, disruptive new web startup designed to enable people to connect in real-time around common interests. We\'re currently looking for an Initial Developer to be tasked with creating the initial site - producing a true minimum viable product based on clear and validated concepts.Institutional investors are already interested in leading and raising a considerable Series&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/APsDd9CSx9s" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/APsDd9CSx9s/Initial-Developer-at-Funded-Startup.html</link>
      <guid isPermaLink="false">http://findmjob.com/job/PnzahI2n4RG+PdIGip+P_A/Initial-Developer-at-Funded-Startup.html</guid>
    <feedburner:origLink>http://findmjob.com/job/PnzahI2n4RG+PdIGip+P_A/Initial-Developer-at-Funded-Startup.html</feedburner:origLink></item>
    <item>
      <title>Javascript - First open source HTML5 SIP client</title>
      <description>Now, one can do real time chat and voice only using java script. Because javascript client got capa&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/fIwArKZDWVY" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/fIwArKZDWVY/</link>
      <guid isPermaLink="false">http://savecode.wordpress.com/2012/05/21/javascript-first-open-source-html5-sip-client/</guid>
    <feedburner:origLink>http://savecode.wordpress.com/2012/05/21/javascript-first-open-source-html5-sip-client/</feedburner:origLink></item>
    <item>
      <title>Initial Developer at Funded Startup</title>
      <description>Instameet, Inc. is a seed-funded, disruptive new web startup designed to enable people to connect in real-time around common interests. We\'re currently looking for an Initial Developer to be tasked with creating the initial site - producing a true minimum viable product based on clear and validated concepts.Institutional investors are already interested in leading and raising a considerable Series&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/APsDd9CSx9s" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/APsDd9CSx9s/Initial-Developer-at-Funded-Startup.html</link>
      <guid isPermaLink="false">http://findmjob.com/job/PnzahI2n4RG+PdIGip+P_A/Initial-Developer-at-Funded-Startup.html</guid>
    <feedburner:origLink>http://findmjob.com/job/PnzahI2n4RG+PdIGip+P_A/Initial-Developer-at-Funded-Startup.html</feedburner:origLink></item>
    <item>
      <title>Starris by Denis Levonenko</title>
      <description>Small html game based on Space invader and Geometry wars.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/lNDgGpiPSY0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/lNDgGpiPSY0/</link>
      <guid isPermaLink="false">http://www.chromeexperiments.com/detail/starris/</guid>
    <feedburner:origLink>http://www.chromeexperiments.com/detail/starris/</feedburner:origLink></item>
    <item>
      <title>Face detection using HTML5, javascript, webrtc, websockets, Jetty and OpenCV</title>
      <description>Comments&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/GuvvCE0ISZw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/GuvvCE0ISZw/face-detection-using-html5-javascript-webrtc-websockets-jetty-and-javacvopencv</link>
      <guid isPermaLink="false">http://www.smartjava.org/content/face-detection-using-html5-javascript-webrtc-websockets-jetty-and-javacvopencv</guid>
    <feedburner:origLink>http://www.smartjava.org/content/face-detection-using-html5-javascript-webrtc-websockets-jetty-and-javacvopencv</feedburner:origLink></item>
    <item>
      <title>HTML5 Presentation - in HTML5: HTML5Rocks</title>
      <description>Useful reference if you’re working on HMTL5&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/uHrEILrFvr0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/uHrEILrFvr0/</link>
      <guid isPermaLink="false">http://itstuff4u.wordpress.com/2012/05/21/html5-presentation-in-html5-html5rocks/</guid>
    <feedburner:origLink>http://itstuff4u.wordpress.com/2012/05/21/html5-presentation-in-html5-html5rocks/</feedburner:origLink></item>
    <item>
      <title>Favicons Next To External Links</title>
      <description>I've had this JSFiddle from CSS Wizardry open for like 2 weeks in my browser. I kept thinking about it, because before that I got an email from someone asking about essentially the same thing and it stuck in my head. They were wanting to insert a favicon next to links and use only CSS to do it. Unfortunately I haven't found a way to do exactly that, but using some jQuery we can do it pretty easily. The "I Wish" CSS Only Technique What would be nice is if you had simple semantic HTML like this: &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt; And then you could access everything you needed to insert a background image of the favicon using a service like getFavicon. /* Fair warning, this doesn't work */ a[href^="http"]:before { content: url(http://g.etfv.co/ + attr(href) + ); } Maybe the syntax wouldn't be exactly like that, but something like it. The point is, you can't mix up the url() syntax into parts like that in CSS. Google's Favicon Service Google has it's own favicon service you can use. For example: http://www.google.com/s2/u/0/favicons?domain=css-tricks.com The trick is you need just the host name and TLD and nothing else. I searched around and found a simple regex for getting that from any URL. We'll need that because links aren't always (or even usually) the root of sites. function getDomain(url) { return url.match(/:\/\/(.[^/]+)/)[1]; } Using these things, and jQuery, we'll find all links and apply the favicon as a background image. The external link checking is pretty rudimentary, but there are more robust methods here if need be. $("a[href^='http']").each(function() { $(this).css({ background: "url(http://www.google.com/s2/u/0/favicons?domain=" + getDomain(this.href) + ") left center no-repeat", "padding-left": "20px" }); }); Then @travis reminded me that you can just use this.hostname instead of the fancy regex. So: /* Nothing else needed */ $("a[href^='http']").each(function() { $(this).css({ background: "url(http://www.google.com/s2/u/0/favicons?domain=" + this.hostname + ") left center no-repeat", "padding-left": "20px" }); }); I'm not sure what the browser support is for hostname, whether it's just as good as href or less so, not sure. getFavicon Method @seanodotcom showed me another similar service galled getFavicon. It's hosted by Google AppEngine, but it's not Google's own service. I did find it a bit slower. But the advantage being that you don't need to deal with host names at all, you just give them the full URL. So then it becomes: $("a[href^='http']").each(function() { $(this).css({ background: "url(http://g.etfv.co/" + this.href + ") left center no-repeat", "padding-left": "20px" }); });​ View Demo Performance? As I'm sure you know, the number of HTTP requests a page makes is a huge deal in performance. Each little image in these techniques are one page request each. @yuritkanchenko pointed out to me a cool favicon service that can automatically sprite the favicons for you so you can keep it to one request. For instance: http://favicon.yandex.net/favicon/google.com/yandex.ru/css-tricks.com I'm afraid I didn't go the extra mile here and write the JavaScript needed to find all links, concatenate the domains, make the request, and then apply the images as a sprite, but I'm sure you could whip that up pretty quick if you really needed it. Favicons Next To External Links is a post from CSS-Tricks&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/hfa92hgEE2c" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/hfa92hgEE2c/</link>
      <guid isPermaLink="false">http://css-tricks.com/favicons-next-to-external-links/</guid>
    <feedburner:origLink>http://css-tricks.com/favicons-next-to-external-links/</feedburner:origLink></item>
    <item>
      <title>iOS, Android, HTML5? How to pick a tablet platform for your app</title>
      <description>This story is brought to you by Sourcebits, a Global leader in Strategy, User Experience &amp; Engineering for Mobile &amp; Cloud. Follow Sourcebits on Twitter for recent news and updates. You’re building a tablet app, and you need to make decisions on what platforms to support. Here’s how to pick the tablet platform that’s right for you … and will result in the most sales of your app. The choices are well-known: iOS The acknowledged market leader for scale and monetization AndroidThe strong contender for second place, but with fragmentation concerns Kindle Fire Android under the skin, but walled off by Amazon, with its own app store Windows 8 The dark horse: an intriguing option, but scale and penetration are open questions BlackBerry The dead horse? HTML5 The one ring to rule them all … but perhaps a little lost in a deep cave in the Misty Mountains For some people, the choice might be obvious. But sometimes there can be market advantages to targeting a less-obvious platform. Let’s look at the alternatives. Why you would pick iOS Apple’s iOS is the acknowledged leader in tablet sales. According to Gartner, the iPad will destroy the competition with 61 percent of sales in 2012. So it’s pretty obvious why you’d develop for iPad: that’s where the users are. Not only are the most people on iPad right now, but the types of people are attractive to app developers. Simply put: they have money and they’re not afraid to spend it. That’s an attractive user base. Also, there’s very good infrastructure in the iOS ecosystem: coding tools, developer ecosystem, publishing and distribution paths, and monetization options. On the downside, there is a lot of noise in the iOS world. With more than 500,000 apps for iPhone and 200,000 for iPad, your app faces some major challenges getting noticed. That said, if you are a major brand or have deep pockets, you can likely break free from the pack. Why you would pick Android If iPad is the leader, Android is the very strong contender … and there’s recent history to suggest that Android may not always trail iOS in the tablet market. After all, Android leads in the smartphone market, after initially trailing the iPhone. According to the same Gartner study cited above, Android will make up about 32 percent of tablet sales in 2012, growing to 37 percent in 2016. So Android has a very significant number of users. A third of a large market is still a pretty large potential audience, and Android is expected to account for about 35 million tablets this year. (For a caveat about these numbers, see Kindle Fire below.) There are other reasons to choose Android for your tablet app. There’s less noise in the market — fewer dedicated tablet apps — which means that yours has a better chance to be seen. In addition, if your app is well-designed and user-friendly, it will stand out in stark contrast to other Android apps, which, unfortunately, largely suck. But also, if you want more control of what you’re developing and how to market it, the fact that there are multiple Android markets and fewer ecosystem constraints mean that you have more freedom in how to build and market your app. Why you would pick Kindle Fire In the Android section above, I listed a caveat, and for a good reason: the Kindle Fire accounts for easily 50 percent of all Android tablet sales. That’s one reason for breaking it out from the larger Android pack, but the more important reason is that Amazon pre-loads a Kindle-fire-specific app store on all devices it ships. The Amazon app store makes Kindle Fire a cross between Google and Apple: Android inside, but with an an Apple style, curated, send-us-your-apps-for-approval market. That said, it’s hard to ignore two things: the sheer number of Fires being sold, and Amazon’s amazing ability to move product. With Kindle Fire users making up large percentages of overall tablet web traffic, it’s clear the devices are in use. Pick Kindle if you’re an Android developer and you want another sales opportunity for your app, or if you think that your app will monetize better in Amazon’s garden. Content apps would seem to be a good bet with Amazon’s core user base, and some developers see opportunity in the platform. One caveat for Kindle Fire: be aware that Amazon does implement some questionable marketing tactics which could affect your app’s sales … such as offering it for free. Why you would pick Windows 8 Windows 8 Tablet is a true dark horse: Currently, there are almost no sales. However, HP is restarting its tablet adventure with Window 8, and Gartner says that Microsoft will move about five million units in 2012. That number won’t make any developers jump for joy, but Microsoft has a history of being persistent, and it’s got the largest installed base of them all with the Windows PC market. As those customers upgrade to the latest version of Windows, there’s a good chance many of them will move to Windows 8 on tablets, and you might want to be there, waiting for them, when the market takes off. On top of that, the Windows 8 platform, whether on phone or tablet, is definitely an interesting and different take on interfaces of the future. The best reason to develop for Window 8 right now, however, might be this: Microsoft may be willing to pay you. Or guarantee a certain level of revenue. Just don’t expect huge download numbers. Why you would pick BlackBerry This is a tough one. Projected sales for BlackBerry tablets are even lower than Windows 8 tablets, at under three million. And while the underlying operating system, QNX, is geekishly interesting, those numbers will not make your finance department happy. The one reason to pick BlackBerry: similar to Microsoft, RIM may finance your development as it struggles desperately to remain relevant in the tablet space. But don’t be shocked if the platform disappears under your feet before the end of 2012. Why you would pick HTML5 I wasn’t sure I would include HTML5 in this list, as it’s not a platform in the same sense as the above ecosystems. However, it deserves a mention. Pick HTML5 if you believe that the app explosion we’re currently seeing in mobile is a passing fad, and that the power of the internet will eventually triumph over each niche ecosystem. Theoretically, all the tablet platforms listed above support HTML5 applications. But while in theory there is no difference between theory and reality … in reality there is. Be aware that there are differing levels of support for HTML5. Perhaps worse, there’s no defined distribution, marketing, or monetization model. But if you can solve those problems, you can sell your services to just about anyone: tablet users, web users, even smartphone users. Making your selection Ultimately, the platform you choose will determine how you build your app, and how you market it. Most importantly, it will determine who you can sell it to. Almost certainly you will choose, either initially or later in your app’s life cycle, a multi-platform strategy. Picking the first platform well is your key to success. Filed under: mobile, VentureBeat&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/TxZtsYBOweA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/TxZtsYBOweA/</link>
      <guid isPermaLink="false">http://venturebeat.com/2012/05/26/how-to-pick-a-tablet-platform-for-your-app/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Venturebeat+%28VentureBeat%29</guid>
    <feedburner:origLink>http://venturebeat.com/2012/05/26/how-to-pick-a-tablet-platform-for-your-app/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Venturebeat+%28VentureBeat%29</feedburner:origLink></item>
    <item>
      <title>Anatomy of a Mobile-First Responsive Web Design | Brad Frost Web</title>
      <description>Anatomy of a Mobile-First Responsive Web Design: and demo:&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/cIQtr8b5zik" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/cIQtr8b5zik/</link>
      <guid isPermaLink="false">http://bradfrostweb.com/blog/mobile/anatomy-of-a-mobile-first-responsive-web-design/</guid>
    <feedburner:origLink>http://bradfrostweb.com/blog/mobile/anatomy-of-a-mobile-first-responsive-web-design/</feedburner:origLink></item>
    <item>
      <title>YoYo Games’ GameMaker: Studio allows developers to make cross-platform 2D games using HTML5</title>
      <description>YoYo Games launched GameMaker: Studio, a new software that promises to make 2D game development easy, relying on HTML5 technology. This in turn, will allow developers to make game once and see it running on multiple platforms, including iOS and Android. Although it’s touted as a “powerful” solution, GameMaker: Studio sports a drag-and-drop IDE with a built-in games-oriented scripting language, making it suitable both for novices and seasoned game developers. Moreover, once your done with development, you are able to export the game as native iOS and Android packages, or use HTML5 for Facebook and web publishing. In addition, you get native source control environment, internal customizable code editor, native physics support, internal image editors, and advanced IDE that includes path and timeline editors. The base price for GameMaker: Studio is $99 and that money gets you Windows and OS X exports. HTML5 export costs an additional $99, while iOS and Android exports are $199 each… Finally, at the end of the press release, YoYo Games says it has already used GameMaker: Studio to publish several mobile games such as Reflexions for iOS, Rick O’Shea for Android, and Simply Solitaire for iOS and Android. YoYo Games’ GameMaker: Studio allows developers to make cross-platform 2D games using HTML5 originally appeared on IntoMobile.com on 2012-05-26T09:40:30Z. FV1gMYsz9b5j&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/H3u_Q1v95I0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/H3u_Q1v95I0/</link>
      <guid isPermaLink="false">http://www.intomobile.com/2012/05/26/yoyo-games-gamemaker-studio-allows-developers-make-crossplatform-2d-games-using-html5/</guid>
    <feedburner:origLink>http://www.intomobile.com/2012/05/26/yoyo-games-gamemaker-studio-allows-developers-make-crossplatform-2d-games-using-html5/</feedburner:origLink></item>
    <item>
      <title>Cubender Ties the Knot with HTML5</title>
      <description>On Wednesday, May 30, 2012, Cubender will launch version 3.0 of their popular website building platform. This release introduces many anticipated HTML5 features including HTML5 audio, video, forms and more. While the company has already given users the ability to create Flash websites that display across all devices (including non-Flash devices like the iPhone and iPad), Cubender’s newest launch has embraced the future of the web. “We have always been ahead of the game when it came to affording users the ability to create stunning Flash websites that display on any device,” says Andrew Hamilton, co-founder and CEO of Cubender. “The difference is that while our competition has been focused on one or the other (Flash versus HTML), Cubender has been working on bridging the gap between the two. Simply put, we’re bringing the concept of Flash to HTML.” Cubender’s new offering gives users the ability to create HTML websites with unprecedented visual appeal typically associated only with Flash. “People can now create websites with animated photo and video galleries, customized forms, embedded HTML5 video and audio, stylish e-Stores, news feeds, RSS feeds, Google Maps – and a ton more – all in HTML,” comments Nancy Zajdler, Business Development manager at Cubender.com. With the rise of the mobile market, the web has gone through massive changes in the past few years. “While everyone was waiting to see where the Apple versus Flash debate would go, we saw the discussion as an opportunity to really look at the issue at hand. We wanted to create a building platform that would deliver sites that were as captivating as Flash but without the overhead and compatibility issues,” says Andrew, “and V3.0 is here to prove it!” About Cubender Based in Montreal, Canada, Cubender.com launched in January 2011 and offers a range of products designed to create high-performance websites any time, any place, and for any device. Backed by 24/7 personalized customer support and website hosting, Cubender is the industry leader in customizable and fully-functional websites for both the novice user, and the discerning professional designer demanding full control over the creative aspect of their website content. For more information on Cubender, visit us at: http://www.cubender.com Connect with us: Twitter: http://www.twitter.com/Cubender Facebook: http://www.facebook.com/Cubender YouTube: http://www.youtube.com/user/Cubender Press Release Link: http://www.cubender.com/html5&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/r7JvQtpWNjc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/r7JvQtpWNjc/prweb9538778.htm</link>
      <guid isPermaLink="false">http://www.prweb.com/releases/2012/5/prweb9538778.htm</guid>
    <feedburner:origLink>http://www.prweb.com/releases/2012/5/prweb9538778.htm</feedburner:origLink></item>
    <item>
      <title>Programmer</title>
      <description>Columbia Center for New Media Teaching and Learning seeks an experienced Programmer to design and develop complex software applications with an emphasis on rich-client, web-based applications to support to the efforts of the Center. Reporting to the Le...&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/xIS4m2BMT1w" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/xIS4m2BMT1w/Programmer.html</link>
      <guid isPermaLink="false">http://findmjob.com/job/Vnqht5em4RGWsJZnip+P_A/Programmer.html</guid>
    <feedburner:origLink>http://findmjob.com/job/Vnqht5em4RGWsJZnip+P_A/Programmer.html</feedburner:origLink></item>
    <item>
      <title>How To Take Advantage Of HTML5 Trends &amp; Tools</title>
      <description>HTML5 is already making its mark on today’s internet era by overcoming the limitations of its Flash and HMTL predecessors. The unification of HTML and XHTML syntax and the introduction of application programming interfaces (APIs) are good examples. HTML5 also simplified multimedia and graphical content management without having to rely on proprietary plugins and APIs. Simply put, the videos and photo apps that we enjoy using today are predominantly being supported by this platform. Created by Opera Software, HTML has been a core technology of the internet. The 5th revision, or HTML5, has made multimedia more readable by humans and understandable to devices and computers. The benefits of using the tool include faster image downloads, improved SEO, refined animation effects and easier web and mobile app development. We’ve been following improvements, controversies and news related to HTML5 for some time and today we offer a few pieces of expert advice, target markets for developers, users and designers, and top tools currently supporting the technology. Experts Unanimously Approve HTML5 Development HTML5 is already big. It was big in Apple’s camp years back, and is now gaining more attention from all dimensions of web development and mobility. Different approaches have been cited for effectively employing HTML5 for specific businesses, and here are some notable ideas from the experts. One approach is a hybrid take for mobile apps and site development, leveraging HTML5 for a uniform, cross-device experience. “If you create your site in HTML5, there are a variety of both open source and commercial tools that will wrap that site with all of the code necessary to run natively, and be submitted to application stores such as iTunes and the Android marketplace,” writes Eric Savitz of Forbes: “There are also HTML5 authoring tools that allow you to create sites using drag-and-drop interfaces with little to no programming involved. As with all authoring tools, there are going to be some limitations over custom development, but these tools are progressing fast. Further, with an HTML5-based app, as long as the wrapper stays the same, many product updates no longer require app store approval or customer downloads. These updates become as portable as an update to an HTML 5 site. This is especially useful for companies who need to be able to make frequent changes to their app without bugging customers with endless product updates. Netflix, for example, performs constant A/B testing, adding and refining recommendations on an ongoing basis.” In lieu of the release of Marmalade 6.0, the company’s CTO Tim Closs agrees that hybrid is the future of apps development. “We believe hybrid apps combining web and native technologies are the future, but not as they’ve been known up to this point,” says Tim Closs, CTO at Marmalade. “With Marmalade 6.0, we’re starting to redefine what hybrid apps can achieve with native API breadth and power. Marmalade has always been about open standards, so HTML5 and PhoneGap are natural choices for us. But with our unparalleled experience of cross-platform native apps, and our patented single-binary architecture, we’re creating for web developers a brand new opportunity – use existing HTML5 technologies and frameworks, but access all the power of cross-platform native code.” Marmalade is famed for a powerful cross-platform SDK for native apps. The update unlocks creating opportunities to exploit the dual strengths of HTML5 and cross-platform native code. An HTML/CSS expert and author, Eric A. Meyer sheds light on why HTML5, CSS and JavaScript are the “classic three” for developers and designers in an interview with O’Reilly Radar. Meyer also pushes past the HTML5 vs. Flash bombast to offer a rational and much-needed assessment of the two. When asked what are the pivotal details that developers need to know about HTML5, he dropped a one liner: “Developers need to know HTML5. They need to know JavaScript and they need to know CSS. That’s the classic three.” On the other hand, here are what he thinks designers should decipher with the tool: “Designers need to know mark-up. They need to know HTML5. They need to be able to write CSS and understand web layout. And they need to have at least a decent grasp of what JavaScript does. I don’t necessarily insist that everyone who ever touches the web be able to write their own web app by hand, but designers should understand how JavaScript works.” He also commented on the heated Flash versus HTML5 debate saying, “HTML5 itself and Flash are vastly different. They have different things that they’re trying to do. But the HTML5 plus CSS plus JavaScript package is more. I think that’s an easier comparison to make to Flash because Flash is supposed to be this total environment. You can put things on the screen and you can script it and you can define interaction. And HTML5-CSS-JavaScript lets you do that as well. “We got to the point a couple of years ago where the HTML-CSS-JavaScript stack can technically do just about anything that the Flash environment makes possible. It’s just a lot harder at the moment to do that in HTML5-CSS-JavaScript because Flash has about a decade’s head start on authoring environments.” But arguably, the most notable of all opinions is that of an HTML5 champion and ultimate innovator, the late, great Steve Jobs. Adobe’s decision to pull the plug on Flash for mobile was an exclamation point to Jobs’ claim that HTML is the future. It was in 2010 that he banned the use of Flash technology in iOS, a move that earned him a number of enemies. It was a big risk, but it paid off big time. “Flash was created during the PC era – for PCs and mice. Flash is a successful business for Adobe, and we can understand why they want to push it beyond PCs. But the mobile era is about low power devices, touch interfaces and open web standards – all areas where Flash falls short.” “The avalanche of media outlets offering their content for Apple’s mobile devices demonstrates that Flash is no longer necessary to watch video or consume any kind of web content. And the 250,000 apps on Apple’s App Store proves that Flash isn’t necessary for tens of thousands of developers to create graphically rich applications, including games.” “New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.” HTML5 &amp; Mobile App Development The booming mobile industry is perhaps the biggest proponent of HTML5?s recent ascension. With app development becoming one of the biggest factions of mobility, the platform has steadily amassed loyal followers. A leading SaaS-based enterprise, Workday Inc., revealed advanced user experience features across all solutions and their commitment to HTML5, starting with the mobile version. The mobile update gave the website a significant upgrade for a sharper look and sophisticated navigation in iPad, iPhone and other connected devices. Workday is involved in various enterprise sectors such as financial and contract management and human resources tools. The upgrade to HTML5 will now allow them to penetrate Blackberry, Symbian, Android and Windows Phone devices. This is how the company is trying to step it up a notch as mobile competition gets stiffer every minute. Another leader, this time in the news and media business, Financial Times has ventured into HTML5 about 10 months ago. In this short time they created a phenomenon that allowed them to attract over 2 million users, with their iPad and iPhone apps becoming huge contributors towards this feat. The positive response over FT’s web app gives other news publishers the validation needed to invest in HTML5 support over native apps. Gaming has also been a lucrative arena for HTML5 developers. A few weeks ago, HTML5-ready mobile gaming creation platform Spaceport.io received millions in funding from BBC Worldwide and YouWeb to extend services globally, hire more staff and improve its current HTML5 and Flash-compatible native performance portfolio. One of the clauses in the deal is that BBC Worldwide will be using Spaceport.io’s technology to engineer games and apps like pure games, edutainment apps, and pure entertainment apps. HTML5 Tools The Flash versus HTML5 matchup has been a hot issue with experts siding with current web standards, while others see no competition between the two. Many developers today are ready to ditch Flash in favor of HTML5. Adobe recognizes the industry-wide shift and finds itself creating a project that would make way for a smooth Flash-to-HTML conversion by means of CreateJS. Senior Product Manager for Flash Professional at Adobe Video, Tom Barclay briefly explains how this new undertaking will work. He said, “It allows Flash Professional users to be able to design their assets and create their animations in Flash Professional but to be able to export those to HTML5, enabling them to translate and transition their skills over to HTML5.” Appcelerator is another mobile development platform that’s supportive of HTML5?s budding standards, even taking in a couple Adobe veterans for their expertise. With Titanium in particular, Appcelerator’s focused on providing a platform that lets you build around native APIs across mobile operating systems, and creating a uniform experience often means incorporating HTML5 for managing one’s mobile app and web presence. Exploring the magazine apps building, TapEdition introduced their HTML5 magazine apps building capabilities. The integration hopes to enable users to develop fully functional HTML5-based magazines for smartphones and tablets. Another HTML5 tool emerges from Sencha’s lineup. The innovator has now enabled mobile and desktop application developers to collaborate around the creation of web apps that will unleash full HTML5 capabilities via Sencha Architect 2. Together with Sencha Touch 2 and Ext JS 4, this new tool boasts a visual canvass and editing facility that help maximizes developer productivity, drives best practices in application design patterns, facilitates collaboration within the group and ensures the generation of high-quality code. Related articles How To Take Advantage Of HTML5 Trends &amp; Tools (itechtunes.com) The ultimate HTML5 resource guide (itechtunes.com) How To Take Advantage Of HTML5 Trends &amp; Tools (women2.org) Why HTML5 is the best platform for rapid game development (austinhallock.com) CSS/HTML Tools and Resources Worth Checking Out (impressivewebs.com) Students Learn HTML5 Programming in New Global Knowledge Course (sys-con.com) Website development with HTML 5 and CSS 3 (webdesigndevelopment11.wordpress.com) HTML5 Facts and Myths, JavaScript Boulder Dash, Daftunes, and more… (developer.yahoo.com) Tizen Plays Nice with HTML5 (mobilegamesblog.com) Meet the Author: Jon Flanders on Building Hybrid Mobile Apps with HTML 5 (pluralsight.com) HTML5 and CSS3: Wireframing in the final product (itechtunes.com)&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/ryeao-_Qfaw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/ryeao-_Qfaw/</link>
      <guid isPermaLink="false">http://itechtunes.com/2012/05/21/how-to-take-advantage-of-html5-trends-tools/</guid>
    <feedburner:origLink>http://itechtunes.com/2012/05/21/how-to-take-advantage-of-html5-trends-tools/</feedburner:origLink></item>
    <item>
      <title>HTML5 canvas awesomeness – games roundup</title>
      <description>HTML5 is being developed as the next major revision of HTML, the core markup language of the World Wide Web. Besides new elements like header, section, footer, etc., the HTML5 brings you the canvas element. The canvas is a rectangular area within you can use Javascript to draw graphics or other visual images on a web page. Although HTML5 is not a W3C recommendation yet (because of cross browsers issues), people already started to play with it, and when I say play, I mean it. Today I’ll share with you some awesome HTML5 games demos that show the HTML5 canvas potential. Agent 008 Ball Z-Type RGB Invaders Pacman Spy Chase Biolab Disaster Wolfenstein 3D Fred Jones in Adventureland Asteroids Crystal Galaxy Same Game Final words A common misconception is that HTML 5 can provide animation within web pages, which is totallyuntrue. Either JavaScript or CSS3 (or both) is necessary for animating HTML elements. 28.712738 77.162896&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/xJRg8vixpzM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/xJRg8vixpzM/</link>
      <guid isPermaLink="false">http://dhirajkumarsingh.wordpress.com/2012/05/21/html5-canvas-awesomeness-games-roundup/</guid>
    <feedburner:origLink>http://dhirajkumarsingh.wordpress.com/2012/05/21/html5-canvas-awesomeness-games-roundup/</feedburner:origLink></item>
    <item>
      <title>WebMobi Announces New Mobile HTML5 App Creation Platform for BlackBerry Devices - San Francisco Chronicle (press release)</title>
      <description>WebMobi enables anyone to create mobile apps that are backed by cloud services. BlackBerry app developers can quickly create their mobile apps for BlackBerry® PlayBook™ tablets and BlackBerry® smartphones with WebMobi components, exposing their apps to an even bigger audience. WebMobi, a cloud-based HTML5 cross-platform mobile app creation company, today launched support for the BlackBerry® platform for business and enterprises users. WebMobi enables anyone to create mobile apps that are backed by cloud services. BlackBerry app developers can quickly create their mobile apps for BlackBerry® PlayBook™ tablets and BlackBerry® smartphones with WebMobi components, exposing their apps to an even bigger audience. As it becomes increasingly crucial that businesses establish an effective mobile presence in 2012, WebMobi strives to help businesses across all verticals to enhance their mobile experiences by offering a single cross-platform solution that enables users to create compelling mobile web and native apps that can be deployed across all major mobile devices rapidly, giving businesses full control over their mobile content. WebMobi offers developers and designers within enterprises and businesses the ability to rapidly create mobile apps. The following components are available in the most recent release of WebMobi. 1) Pre-build components including RSS feeds, general, social media and more. 2) Developer components, where the developer can create their own UI in HTML5, jQuery Mobile or Cordova. 3) WYSIWYG Designer component to create custom HTML5 content. 4) Importing Custom Themes built with JQuery Mobile Theme-roller. About WebMobi Founded in 2011, WebMobi is a cloud-based SaaS platform that aims to provide its users with a competitive advantage when enhancing mobile presence. With its scalable cross-platform application development and user-friendly interface, WebMobi provides a fully integrated single solution that allows both consumers and enterprises to easily create and deploy customized mobile applications to engage their audiences. For more information, visit www.webmobi.com. The BlackBerry and RIM families of related marks, images and symbols are the exclusive properties and trademarks of Research In Motion Limited. For the original version on PRWeb visit: www.prweb.com/releases/prweb2012/5/prweb9531023.htm&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/6uEtmcovpIU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/6uEtmcovpIU/article.cgi</link>
      <guid isPermaLink="false">http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2012/05/25/prweb9531023.DTL</guid>
    <feedburner:origLink>http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2012/05/25/prweb9531023.DTL</feedburner:origLink></item>
    <item>
      <title>Get over it, haters – apps really are the future, says Wired publisher</title>
      <description>There has been a growing revolt in the publishing community against the idea that iPhone and iPad apps are the best route to digital dollars. The Financial Times shuttered its apps this month, while a popular essay by another publisher lamented that apps were a “collective delusion” and an expensive failure. That’s bunk, according to Wired publisher Howard Mittman, who says apps have proven “incredibly profitable” and touts the publication’s 165,000 tablet subscribers (65,000 of these are pure-digital subs). Mittman adds that Wired readers also spend a significant amount of time with the tablet version and that he “missed the memo” about the failure of apps. So what’s going on? Is there something special about Wired, or have other publishers simply failed to execute correctly? To understand, it’s useful to consider the key complaints set out by Technology Review’s Jason Pontin in his influential “Why Publishers Don’t like Apps” essay from early May, including: expensive developer costs difficulty quantifying subscribers an unnatural, walled garden reader experience. Pontin also decried the vulturous 30 percent bite that Apple took from many sales, a figure that exceeded publishers’ own margins. He concluded that he would toss the apps and instead follow the Financial Times’ example by using HTML5 technology to provide an easy cross-platform reader experience. (The FT this week told pC2012 that it didn’t need a marketing boost from the iTunes Store.) Wired’s Mittman, however, says that Pontin simply “chose one path that didn’t work out” and that “trail-blazing is not for everyone.” He believes that HTML5 will just be part of a “larger app experience” in which an app is a storefront or gateway for readers to have deeper interactions with publishing brands. One upshot of this may be that publishers need to try harder to make apps work, but it’s also possible that unique factors make Wired an outlier. These include a techy readership combined with corporate and editorial support for a development team that has been building apps longer than most. Condé Nast, its deep-pocketed parent, may also be betting big in the hopes that Wired’s success can be replicated at its other publications. The proof will ultimately be in the revenue pudding, of course. Based on a $20-a-year subscription price, Wired is set to earn $1.3 million on its digital only subscribers (minus any Apple cut). This is hardly earth-shaking but, after just two years, it may be big enough to keep Condé Nast in the app game for the foreseeable future. Meanwhile, it seems likely other publishers will continue to join instead the “good enough revolution” (a Wired term, by the way) offered by HTML5.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/b8yVSCGBu_w" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/b8yVSCGBu_w/</link>
      <guid isPermaLink="false">http://paidcontent.org/2012/05/25/get-over-it-haters-apps-really-are-the-future-says-wired-publisher/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+pcorg+%28paidContent%29</guid>
    <feedburner:origLink>http://paidcontent.org/2012/05/25/get-over-it-haters-apps-really-are-the-future-says-wired-publisher/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+pcorg+%28paidContent%29</feedburner:origLink></item>
    <item>
      <title>10 Things I Learned While Interning at YUI</title>
      <description>For eight months, I had the opportunity to intern with the YUI Team at Yahoo, while I was completing my engineering degree. Today, I’d like to share the top ten things that I learned from my experience with YUI. A Bit of Background The YUI Team is primarily responsible for the development and maintenance of the YUI Library. The library is a collection of user-interface components, class management tools, and utilities written in JavaScript and CSS that make it easier for developers to create web applications. Unlike other libraries, YUI is not just about DOM manipulation; it has a rich set of class management tools and a robust event system that makes it easier to develop in JavaScript. Apart from that, the YUI Team is also responsible for YUI Theater, a very popular resource for web developers, along with a myriad of smaller tools such as YUI Builder, YUI Compressor, YUI Test and more. My role at the team was to primarily help develop components for the library, although I helped out a little bit with YUI Theater as well. 1. Understanding the Library When I walked into Yahoo on my first day, I had zero real-world experience with YUI. I was familiar with JavaScript, jQuery, HTML/CSS and PHP, but that was basically it when it came to web programming. I’m sure many of you are or have been in the same boat as me. My first task was to learn the syntax and architecture behind YUI3. Fortunately, I had a good understanding of raw JavaScript, and this helped immeasurably. A lot of front-end engineers know certain libraries really well, but many don’t know how they works under the hood. To build plugins or modules on top of a library (such as YUI3 or jQuery), it’s useful to have a fundamental understanding about how that library works, and in this case, how JavaScript as a language works. What I learned: Having a fundamental understanding of raw JavaScript (no libraries) forces you to understand the language better and makes you a better developer in the long run. Think about it. Each JavaScript library is different and has its own idiosyncracies. The only commonality is that they are rooted in JavaScript. Doesn’t it make sense to understand the idiosyncracies of JavaScript first? Take some time out to build something small without using a library. You’ll be glad you did. Js Fundamentals Links A Re-introduction to JavaScript by Mozilla Code Conventions in Javascript by Douglas Crockford 11 JavaScript Mistakes You’re Making by Andrew Burgess JavaScript Fundamentals Course 2. Using Git in a Team The YUI Team relies on Git as their primarily version control system and the project is hosted on Github. Previous to my internship at YUI, I used Git for my own small projects, and this generally consisted of the following steps: git pull origin master git add "&lt;insert a large number file&gt;" git commit -m "&lt;insert some general comment&gt;" git push origin master I’m sure many of you have done what I just described. Generally, as the project time gets longer, the commits get harder to understand! However, in a large team with a dozen developers, this method breaks down really fast. Firstly, master in YUI3 (and many other large projects) is considered to be stable code that has been unit-tested, so commits generally do not go there until a later stage. Generally, each developer works on a separate branch and merges into master once they are confident in their code. What I learned: You don’t have to be a guru, but understanding the basics of Git (branching, merging, reverting and solving merge conflicts) can go a long way to keeping your repos clean and organized. A lot of things are possible to do with Git and I’ve found that, rather than learning them ahead of time, it’s more useful to research when you need to do something in particular. More importantly, my experience has taught me to be careful when experimenting with Git. It’s better to ask someone when trying a new command or trying it on a mock repo instead of messing up the commit history of the live repo. :) Git Basics Links Basics of Branching and Merging 25 Tips for Intermediate Git Users 3. Modular Architecture for Web Apps Separating code into different JavaScript files to maintain a modular architecture can be painful for new developers. As a result, we often see large JavaScript files with hundreds of lines of code in them. &lt;DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;script&gt; //My entire application's JS right here in one single spot. Uh oh. &lt;/script&gt; This introduces tight coupling between objects and isn’t good practice when it comes to object-oriented programming. Even worse, you may have global variables that makes your app fail in unexpected ways. We’ve all been guilty of this in the past. Luckily, libraries like YUI can help you with this. What I learned: When writing an entire web application in JavaScript, it’s very important to have well-organized code; maintaining a spaghetti-coded project will only cause you headaches and nightmares. One of the most important aspects of YUI3 is its modular nature. As a developer, you only pull down the code that you need. This reduces coupling, keeps file sizes small, and improves your code’s readability. For instance, you could do this in a file called counter.js: YUI.add("counter", function(Y) { //Write code specific to my counter object }, '1.0', {requires: ['node']); //Say what my counter object code needs to run. YUI will pull these in first. And then in a separate JS file, such as app.js: YUI_config = { modules: { 'counter': { fullpath: 'path/to/counter.js', requires:['node'] } } }; YUI().use('counter', function(Y) { //Pull down my counter module. var counter = new Y.Counter({…}); //Create a counter instance }); Instead of having one big file called app.js, we’ve split it up based on functionality into counter.js and app.js. 4. NodeJS and YUI on the Server The growing popularity of NodeJS made me want to start building some stuff with it. Being a front-end engineer, I like being able to use JavaScript on the server. Although NodeJS is not suitable for everything, it’s worth learning. JS on the server does not have the same limitations as client-side JS because there is no DOM, but a library such as YUI can still help you with software architecture on the server – things such as class and object management, and custom events. What I learned: YUI 3 is not all about DOM manipulation — it also contains a robust set of class/object management tools, not to mention our powerful custom events. All of these tools are immediately useful in server-side programming. Being on the YUI Team, I was able to explore Dav Glass’ NodeJS-YUI3 module, which wraps up YUI functionality for use in a NodeJS environment. Remember that, apart from web sites, NodeJS is a useful tool for creating command-line utilities as well. Having good software architecture is always a big plus! It comes down to code management If you aren’t a YUI3 user, I still recommend finding a set of tools to help organize your JavaScript on the server. Due to the inherent async nature of JavaScript and its propensity for callbacks, you need to be careful or you’ll quickly end up with spaghetti-code. 5. Hacking Using YUI What I learned: Stay focused and keep hacking. Hacking is one of my favourite things to do when I am trying to learn something new. When trying to learn a new tool, there’s nothing like sitting down and building something with it. Similar to jQuery, YUI3 has a distinct set of widgets, utilities and CSS frameworks. On one of the Yahoo Hack Days, I had the chance to sit down and try some of these out. As I’m a fan of cricket, I made a mobile web app called Crictainment. Let me outline some of the parts of YUI that I found to be particularly useful for hacking. Y.ScrollView Hacking a web app using YUI is pretty straightforward. For example, if you want a scrollview that is flickable with your fingers: YUI().use("scrollview", function(Y) { var scrollview = new Y.ScrollView({ srcNode:"#scrollable", height:"20em" }); }); And in the HTML: &lt;div id="scrollable" class="yui3-scrollview-loading"&gt; &lt;ul&gt; &lt;li&gt;AC/DC&lt;/li&gt; &lt;li&gt;Aerosmith&lt;/li&gt; &lt;li&gt;Bob Dylan&lt;/li&gt; &lt;li&gt;Bob Seger&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; The scrollview module figures out whether it should be horizontal or vertical based on the width and height of its container. More information on the YUI3 scrollview is here. Y.Anim Another useful utility when hacking something is the Animation utility. It helps to spruce up your application with some nice animation that leverages CSS on capable browsers, and defaults to JS timer-based animations on older browsers. var myAnim = new Y.Anim({ node: '#demo', to: { width: 0, height: 0 } }); myAnim.on('end', function() { myAnim.get('node').addClass('yui-hidden'); }); Y.YQL Another really important tool that is great for hacking is YQL – Yahoo Query Language. I’m sure most of you have used it, but for those who haven’t, think of it as a way to access a whole host of different APIs using a standard syntax. YUI and YQL work really well together through the Y.YQL module. For instance, here we are getting the recent activity from Vimeo: YUI().use('yql', function(Y) { Y.YQL('select * from vimeo.activity.everyone where username="basictheory"', function(r) { //r now contains the result of the YQL Query }); }); Try out this query here. I use YQL regularly to access different APIs in a consistent manner. Regardless of whether you are using YUI, jQuery, or any other library, building something with it is a great way to become familiarized with your development toolbox. When hacking, don’t worry too much about the technical details – just set a time limit and just build it! 6. YUI App Framework One of the newer additions to YUI has been the App Framework. It’s similar to Backbone.js, but with YUI’s sophisticated event infrastructure under the hood. The App Framework made it easy for me to build MVC-style web applications. Just like any other tool, I built something with the App Framework to understand how it worked. Once again, I can’t stress the benefits of hacking on products. For the App Framework, I built TopForty with a friend of mine. The Model The YUI App Framework is built on the MVC design pattern. Let’s start with the model. If you aren’t familiar with MVC, take a look at this tutorial. For TopForty, we were able to get a large JSON array of the most talked-about songs from Twitter. Each object in the array looked like this: { "title": "PayPhone", "position": 1, "video_id": "5FlQSQuv_mg", "song_id": 627, "artist": "Maroon 5", "duration": 232, "images": […] } We wrapped this up in a Y.Model subclass called Y.SongModel. Here’s the class definition: Y.SongModel = Y.Base.create('songModel', Y.Model, [], { initializer: function (config) { } }, { ATTRS: { title: {}, artist: {}, images: { value: [] }, nowPlaying: { } } }); This allowed us to listen for events whenever one of the ATTRS in the model changed and take appropriate action. For example, if the current song being played was changed: //When the model's isPlaying attribute changes, call the handleIsPlayingChange function. this.model.after('isPlayingChange', this.handleIsPlayingChange, this); The View Each model was represented visually by a View, which is essentially just HTML. For TopForty, we had a SongView that looked something like this: &lt;div class="song yui3-u" id="songModel_2"&gt; &lt;img class="song-img" src=""&gt; &lt;div class="song-desc"&gt; &lt;div class="song-number"&gt;2&lt;/div&gt; &lt;div class="song-movement"&gt; &lt;img class="movement-icon" src=""&gt; &lt;/div&gt; &lt;div class="details"&gt; &lt;h4 class="song-name"&gt;Turn on the lights&lt;/h4&gt; &lt;p class="artist-name"&gt;Future&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; We wrapped this up in a Y.View subclass called Y.SongView. Each View requires a render() method that is called when displaying the view on the page, and a initializer() method where events are subscribed. If you want, you can establish a relationship between your view and a Model or Model List instance by attaching event handlers to them in a custom initializer() method like we see below: Y.SongView = Y.Base.create('songView', Y.View, [], { initializer: function (config) { var model = this.get("model"); model.after('change', this.render, this); model.after('destroy', this.destroy, this); }, render: function() { }, destroy: function() { }, showSongOverlay: function() { } },{ ATTRS: { container: Y.one("#songContainer") } }); By doing this, we were able to have songview specific methods such as displayNowPlayingIndicator() and showSongOverlay() on the Y.SongView instance rather than as separate functions. The Router The Router, formally known as the Controller, is what makes everything connect and work. Remember that in classical MVC, all user actions traditionally go through the controller. In web apps, the router uses HTML5 history to change URLs and controls the state of the application. For example, in TopForty clicking on a song changes the URL to the song’s ID. The URL change is picked up by the router, which loads the YouTube video for the song in question: Y.AppRouter = Y.Base.create('appRouter', Y.Router, [], { // Default route handlers inherited by all CustomRouter instances. index: function (req) { // handle the / route, load up the UI, etc. }, loadSongFromUrl: function (req) { // handle the /song/:songId' route //Get the youtube video from the model with an id of :songId and play it. } }, { ATTRS: { // The specific routes that we are interested in listening to: routes: { value: [ {path: '/', callback: 'index'}, {path: '/song/:songId'', callback: 'loadSongFromUrl'} ] }, } }); What I learned: Leveraging the MVC design pattern can help you create anything from simple non-interactive views to rich applications. I hope I have been able to give you a taste of what is possible with the YUI App Framework. For a more thorough walkthrough, I recommend the following links. If you aren’t a fan of the App Framework, I recommend you look into the equivalent jQuery alternatives. Backbone.js in particular has a large following with good documentation. YUI App Framework User Guide Github Repo of a YUI App Framework Project Slides from App Framework YUIConf Talk 7. Test Driven Development and YUI Test For developers, writing code is often the easy and fun part. The hard part is figuring out how old, buggy code works and trying to fix past errors. To minimize this, a lot of organizations including Yahoo emphasize the importance of Test Driven Development (TDD). With TDD, you write the tests first, then add the functionality until all your tests pass. Want to add a new feature? Write a new test, then code the feature. I was new to TDD when I joined the YUI team. Unfortunately, JS does not have the best testing suite. User interactions in particular are hard to test. Furthermore, we have to test in all the major browsers. One of the primary ways we conduct unit-testing is through YUI Test. What I learned: Following test-driven development principles makes you more productive as a programmer. YUI Test is a complete testing framework for JavaScript and Web applications. You can use the simple JavaScript syntax to write unit tests that can be run in web browsers or on the command line, as well as functional tests to be run in web browsers. Here’s how you set it up: // Create a new YUI instance and populate it with the required modules. YUI().use('test', function (Y) { // Test is available and ready for use. Add implementation // code here. }); Now, we can start writing some unit tests! var testCase = new Y.Test.Case({ name: "TestCase Name", //--------------------------------------------- // Setup and tear down //--------------------------------------------- setUp : function () { this.data = { name : "Tilo", age : 23 }; }, tearDown : function () { delete this.data; }, //--------------------------------------------- // Tests //--------------------------------------------- testName: function () { Y.Assert.areEqual("Tilo", this.data.name, "Name should be 'Tilo'"); }, testAge: function () { Y.Assert.areEqual(23, this.data.age, "Age should be 23"); } }); YUI Test supports equality assertions (areEqual()) which uses ==, sameness assertion (areSame()) which uses ===, special value assertions such as isFalse(), isNotUndefined(), mock objects and more. After writing our tests, we can run it as shown below. The results of the test can be outputted as XML, JSON, jUnitXML, or TAP. Y.Test.Runner.add(testCase); Y.Test.Runner.run(); Don’t forget to test, regardless of what you use. If you don’t use YUI Test, that’s fine. However, I want to stress the importance of testing your code. I’m guilty even today of writing code without writing tests and it’s probably okay if it’s your own small personal project. All of us cut corners sometime. However, if you’re programming for a client or an organization, following TDD principles will save you (and your clients) from a headache. 8. Minifying and Linting Your JavaScript Serving up JavaScript files without any minification or lint step can be risky. Minification can often compress the file-size by over 30%, making your page load faster for the end-user. Linting is a good way to ensure your JavaScript follows good coding practices so that errors are minimized. During my time at Yahoo, we used YUI Compressor and YUI Builder to compress and build our code. The build step includes concatenation and linting through JSLint. I’m sure most of you have used JSLint at some stage, and I do believe it helps improve your coding style. What I learned: Ask yourself if a certain practice reduce your possibility of errors and if so, follow it. Now, I’m not going to talk in depth about YUI Compressor and Builder because those may not be the tools of your choice. Usually for my own projects, I use the JSLint NPM Module to check my code. What I want to stress on is the need to perform these steps prior to pushing code out to production. As JavaScript does not have a compilation step, many developers are accustomed to pushing their JavaScript out to production, comments and all included. Again, this is okay for small projects, but perhaps you should consider minifying and linting your code to ensure users get the best experience. Additional Reading Grunt, The Build Tool for JavaScript Phing Build Script JSLint NPM Module YUI Builder YUI Compressor 9. Coding with the User in Mind The YUI Team has a great following of friendly, active, and knowledgable developers just like most large open-source projects. As developers working on open-source software, I learned that I can’t sit under a rock and code all day, even if I want to. Developing is as much about writing code as it is about making sure the code you write is actually helping someone solve a problem. This took me a while to learn, but it’s an important lesson. When writing software, the goal isn’t to use the coolest technology or the latest stack or the hottest language. It’s about the user. When writing OSS, the users are often other developers who build on top of your product. Small things such as weekly updates, tweets, and IRC communication can actually help you more than hours of coding. What I learned: It’s not about the technology or the stack or the language, it’s about the user. In my first month of interning at YUI, I wrote about 500 lines of code which I had to scrap because most of it was repetitive and did not address the end goal. I was guilty of coding too early without figuring out the requirements of the project. A good rule is to spend a third of your time gathering requirements, a third of your time writing tests and the final third implementing your software. 10. “When all you have is a hammer, everything looks like a nail.” I want to conclude by sharing the most important thing that I think I learned in my internship. I consider it to be more important than any technical knowledge that I gained. By working on a library that is not the most popular, I realized the importance of diversifying my skills and being flexible as a developer. I’ve seen how much work it takes to maintain an open-source project and have gained a lot of respect for everyone who release their well-written code for free. What I learned: Choose a library because it’s the right one for the job, not because it’s your favourite. Understand that different pieces of software serve different purposes, and sometimes understanding the difference is tough.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/QWKmgUJjBcg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/QWKmgUJjBcg/</link>
      <guid isPermaLink="false">http://net.tutsplus.com/articles/general/10-things-i-learned-while-interning-at-yui/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nettuts+%28Nettuts%2B%29</guid>
    <feedburner:origLink>http://net.tutsplus.com/articles/general/10-things-i-learned-while-interning-at-yui/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nettuts+%28Nettuts%2B%29</feedburner:origLink></item>
    <item>
      <title>Get over it, haters – apps really are the future, says Wired publisher</title>
      <description>There has been a growing revolt in the publishing community against the idea that iPhone and iPad apps are the best route to digital dollars. The Financial Times shuttered its apps this month, while a popular essay by another publisher lamented that apps were a “collective delusion” and an expensive failure. That’s bunk, according to Wired publisher Howard Mittman, who says apps have proven “incredibly profitable” and touts the publication’s 165,000 tablet subscribers (65,000 of these are pure-digital subs). Mittman adds that Wired readers also spend a significant amount of time with the tablet version and that he “missed the memo” about the failure of apps. So what’s going on? Is there something special about Wired, or have other publishers simply failed to execute correctly? To understand, it’s useful to consider the key complaints set out by Technology Review’s Jason Pontin in his influential “Why Publishers Don’t like Apps” essay from early May, including: expensive developer costs difficulty quantifying subscribers an unnatural, walled garden reader experience. Pontin also decried the vulturous 30 percent bite that Apple took from many sales, a figure that exceeded publishers’ own margins. He concluded that he would toss the apps and instead follow the Financial Times’ example by using HTML5 technology to provide an easy cross-platform reader experience. (The FT this week told pC2012 that it didn’t need a marketing boost from the iTunes Store.) Wired’s Mittman, however, says that Pontin simply “chose one path that didn’t work out” and that “trail-blazing is not for everyone.” He believes that HTML5 will just be part of a “larger app experience” in which an app is a storefront or gateway for readers to have deeper interactions with publishing brands. One upshot of this may be that publishers need to try harder to make apps work, but it’s also possible that unique factors make Wired an outlier. These include a techy readership combined with corporate and editorial support for a development team that has been building apps longer than most. Condé Nast, its deep-pocketed parent, may also be betting big in the hopes that Wired’s success can be replicated at its other publications. The proof will ultimately be in the revenue pudding, of course. Based on a $20-a-year subscription price, Wired is set to earn $1.3 million on its digital only subscribers (minus any Apple cut). This is hardly earth-shaking but, after just two years, it may be big enough to keep Condé Nast in the app game for the foreseeable future. Meanwhile, it seems likely other publishers will continue to join instead the “good enough revolution” (a Wired term, by the way) offered by HTML5.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/b8yVSCGBu_w" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/b8yVSCGBu_w/</link>
      <guid isPermaLink="false">http://paidcontent.org/2012/05/25/get-over-it-haters-apps-really-are-the-future-says-wired-publisher/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+pcorg+%28paidContent%29</guid>
    <feedburner:origLink>http://paidcontent.org/2012/05/25/get-over-it-haters-apps-really-are-the-future-says-wired-publisher/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+pcorg+%28paidContent%29</feedburner:origLink></item>
    <item>
      <title>HTML5 and the Future of Online Games</title>
      <description>The Golden Child: Flash GamesFor several years now Adobe Flash has been the dominate technology used to create online games. It is so popular in fact that the term “flash games” has almost become synonymous with browser based games in general. Take a look at all of the major gaming portals; with a few exceptions, practically all of the games they offer are flash games.What’s so wrong with Flash you ask? Well nothing really. It was an amazing technology that was used to add all sorts of functionality to browsers. Through the use of a plug-in developers could now include all sorts of interactivity and animated graphics to their web pages. However things are changing, and Flash may no longer be the best fit for many online applications.Browsers are a lot smarter now and they are only going to continue to get smarter. Rather than relying upon plug-ins to display interactive and graphically intense pages modern browsers can do it all by themselves. Utilizing the W3C, the specification for HTML5, browser makers are including all sorts of functionality into their products that web developers can now use to make graphically intensive and interactive websites. This has special implications for online game designers. Soon (hopefully) designers will no longer be forced to choose from a select few proprietary technologies that not only are expensive, but also obligate their end users to download, install, and regularly update the respective plug-ins. googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });The New Kid on the Block: HTML5 GamesTraditionally the role of HTML has been used primarily to define and layout the text on web pages. Over the years, however, its role has slowly evolved to be more interactive. The new HTML5 spec furthers this evolution by including definitions for several additional elements aimed at interactivity, multimedia, and graphics. Combine these new HTML5 elements with the faster and enhanced JavaScript engines available in modern browsers and you now have a set of tools perfectly suited for online game development.Some advantages of HTML5 for GamesNot only are the HTML5 technologies well suited for creating browser based games, they offer several advantages over proprietary options. HTML5 is an open technology. It doesn’t cost anything and technically only requires a simple text editor to code in. Never underestimate the power of free. Flash and other proprietary technologies all cost the developer. While this certainly isn’t the only factor that a game developer would consider, it certainly does play a role, and for the small time indie developer it might be a very big factor. Compatibility is another huge advantage HTML5 has. HTML is the lowest common denominator for all web based devices. By using HTML5 you can target a wider array of devices and gadgets without having to specifically port your game to each different platform. Another often forgotten advantage is ease of use. For the technically savvy, downloading, installing, and updating plug-ins is only a minor hassle. However, for less technically savvy users this can be quite a hurdle and just may turn away users altogether.Some Interesting ChartsAbove you will find some charts from Google Trends for the search term “flash games” and then also the term “html5 games”. It is easy to see that searches for “flash games” have been in steady decline for over the past 5 years while searches for HTML5 games have seen some pretty impressive growth in the past 3 years. While this really doesn’t prove anything, it is an interesting metric to help gauge the popularity trends of the two different technologies. It is important to note that these charts show only relative search volume and not overall volume. Per the Google Adwords tool, the monthly global search volume for “flash games” is 11,100,000 compared to a measly 49,500 for “html5 games”.The Future of online GamesWill HTML5 be the end of plug-in based games? If it is, it is pretty safe to say that it won’t be happening anytime soon. It is estimated that the HTML5 spec will not be fully implemented until 2022. Despite this long time-frame, browser makers are already racing to include all the HTML5 functionality that they can. Game developers have taken advantage of this and created numerous quality games that easily compete with their flash counterparts. Take a look at all these HTML5 games to see some excellent examples of what is already possible with the new technology.Given the current search trends and the several advantages HTML5 has over Flash, the future for HTML5 games looks bright. While it is not certain if HTML5 will eventually win out to become the gaming technology of choice, one thing is for certain: the love of online casual gaming has captured the interest of millions and as long as that interest exists developers will continue to create fun and exciting games. googletag.cmd.push(function() { googletag.display('div-gpt-ad-1335489406190-0'); }); googletag.cmd.push(function() { googletag.display('div-gpt-ad-1335489406190-1'); });&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/9RO1I-XoY-8" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/9RO1I-XoY-8/</link>
      <guid isPermaLink="false">http://www.sitepoint.com/html5-and-the-future-of-online-games/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=html5-and-the-future-of-online-games</guid>
    <feedburner:origLink>http://www.sitepoint.com/html5-and-the-future-of-online-games/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=html5-and-the-future-of-online-games</feedburner:origLink></item>
    <item>
      <title>OnStar RemoteLink App Built Using HTML5 – Featured in Exclusive OCTiV Video</title>
      <description>OnStar followed up with us about their launch of OnStar RemoteLink app for BlackBerry (App World). At launch it is limited to the BlackBerry Bold 9900 and 9930 but since it is an HTML5 app they planned on using it to bring the app to more devices and platforms. We even saw a demo of it on a PlayBook previously. When I asked them when it is coming to more BlackBerry models they responded saying that: …since we built it on the HTML5 platform there is definitely opportunity for this to be available on more BlackBerry devices in the future but we currently don’t have information on the next devices it will be available for. OnStar also teamed up with Detroit music producer, OCTiV, to create an exclusive video featuring the RemoteLink app and several Chevrolet vehicles, including the 2012 Camaro. The original music score includes OnStar sounds and OCTiV’s unique Dubstep sound, a subgenre of electronic dance music that originated in London, has been around since 1998, but has seen its greatest growth in the past few years. Check it out below: Desktop Video Link | Mobile Video Link If you liked this article, you might find these interesting:OnStar RemoteLink for the PlayBook makes an appearance at the QNX booth BlackBerry Torch Gets Featured in Jessica Mauboy Music Video PlayBook Featured on Another Demo Video HOT! BlackBerry Clamshell 9670 &amp; OS 6 Featured On Video Bolt Browser v2.3 Adds HTML5 Audio/Video Support and More &lt;!-- #featuredbar{ font: 1.3em Lucida Helvetica Sans Unicode,Arial,sans-serif; font-weight:bolder; } #featuredbar a{text-decoration:none;} #featuredbar a:hover{text-decoration:underline;color: #006ACC;} .Berry { color: #006ACC; } .Review { color: #F89939; } .slogan { color: #F00; } --&gt; Unlock ANY BlackBerry for Only $9!!! @ BerryReview Unlocking Store Posted by the BerryReview Team for ©BerryReview, May 25, 2012, 11:38 am. | OnStar RemoteLink App Built Using HTML5 – Featured in Exclusive OCTiV Video | Leave a comment |&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/0FbgVU8mUSA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/0FbgVU8mUSA/</link>
      <guid isPermaLink="false">http://www.berryreview.com/2012/05/25/onstar-remotelink-app-built-using-html5-featured-in-exclusive-octiv-video/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Berryreview+%28BerryReview%29</guid>
    <feedburner:origLink>http://www.berryreview.com/2012/05/25/onstar-remotelink-app-built-using-html5-featured-in-exclusive-octiv-video/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Berryreview+%28BerryReview%29</feedburner:origLink></item>
    <item>
      <title>Digital Government: Building a 21st Century Platform to Better Serve the American People</title>
      <description>Sitting at TC Disrupt with @todd_park presenting and their cc @codeforamerica&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/LwdAYTBalzo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/LwdAYTBalzo/digital-government.html</link>
      <guid isPermaLink="false">http://www.whitehouse.gov/sites/default/files/omb/egov/digital-government/digital-government.html</guid>
    <feedburner:origLink>http://www.whitehouse.gov/sites/default/files/omb/egov/digital-government/digital-government.html</feedburner:origLink></item>
    <item>
      <title>40+ Free Weather Icons in PSD, CHS, EPS, SVG Format</title>
      <description>Advertise here via BSAMeteocons is a free weather icon set, it works perfect for apps or your new web project!. This set containg 40+ icons available in PSD, CHS, EPS, SVG, Desktop font and Web font. You may use these icons for both commercial and personal projects and customize them any way you like. All icon and updates are free and always will be. Requirements: - Demo: http://www.alessioatzeni.com/meteocons/ License: License Free SponsorsProfessional Web Icons for Your Websites and Applications&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/Q4uT7x44O30" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/Q4uT7x44O30/</link>
      <guid isPermaLink="false">http://www.webappers.com/2012/05/25/40-free-weather-icons-in-psd-chs-eps-svg-format/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Webappers+%28WebAppers%29</guid>
    <feedburner:origLink>http://www.webappers.com/2012/05/25/40-free-weather-icons-in-psd-chs-eps-svg-format/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Webappers+%28WebAppers%29</feedburner:origLink></item>
    <item>
      <title>Google grabs HP webOS Enyo HTML5 team</title>
      <description>Google has quietly snatched up the HP team responsible for the webOS Enyo HTML5 project, it’s been revealed, with the search giant expected to use their expertise in Android, ChromeOS and other products. Initially believed to be the bulk of the team, according to The Verge, then narrowed down to roughly half a dozen by AllThingsD - including project chief Matt McNulty – the ship-jumping was not apparently done all at once, but after a series of individual hires. However, HP says its open-source webOS plans are still on track. “We’re pleased with the traction Enyo has gained to date and plan to continue its development along with the open source community” HP said in a statement. “The Open webOS project is on schedule and we remain committed to the roadmap announced in January.” That project has seen HP take the OS it acquired from Palm and attempt to repackage it for the open-source community, with Open WebOS heavily dependent on Enyo for its app and browser rendering. Downloads of Enyo had already numbered 40,000 just three weeks after its release earlier in the year, but the shift of much of the team responsible had left concerns that HP would not be able to continue its progress. Still, you can’t fault the Enyo team for looking beyond HP; the company had already laid off 275 webOS employees back in February. According to insiders, Google individually negotiated each new hire over the course of several months, and the team is expected to regroup within the search giant in June. Story Timeline webOS goes Open Source Sluggish code and HP power plays blamed for webOS' failure Open webOS announced as HP's open source mobile OS power move Jon Rubinstein leaves HP after webOS cut loose Open webOS Iris browser released: 40k Enyo downloads to-date HP CEO: We're not done with WebOS yet HP lays off 275 WebOS employees HP releasing more webOS 3.0.5 code as a "Community Edition" Google grabs HP webOS Enyo HTML5 team is written by Chris Davies &amp; originally posted on SlashGear. © 2005 - 2012, SlashGear. All right reserved.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/LMTpCpjLnhs" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/LMTpCpjLnhs/</link>
      <guid isPermaLink="false">http://www.slashgear.com/google-grabs-hp-webos-enyo-html5-team-25229995/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+slashgear+%28SlashGear%29</guid>
    <feedburner:origLink>http://www.slashgear.com/google-grabs-hp-webos-enyo-html5-team-25229995/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+slashgear+%28SlashGear%29</feedburner:origLink></item>
    <item>
      <title>Google Hires Away HP's WebOS Enyo Team</title>
      <description>The whittling away of HP’s webOS team continues as Google has hired away the team leading the Enyo HTML 5 development project, sources say. Approximately a half dozen people–the core of what remained of the Enyo engineering team–have been hired by Google and will start at the company next month. Enyo is the HTML5 app-creation framework that HP is in the process of turning into an open-source project. Google didn’t strike a deal with HP to acquire the technology, according to a source, but has been talking with individual workers over the past month. Rather, each of the workers making the move was hired individually by Google, with the team set to regroup at their new employer next month. While it’s not 100 percent clear what the team will be working on, Google has been a big proponent of HTML5 apps, particularly as it looks to boost its ChromeOS effort which depends on there being lots and lots of Web apps out there. Also unclear is what HP will do with what remains of the webOS effort it had said it would help fund as an open source project. The webOS unit had significant layoffs earlier this year and many of even those that remained have since moved on, from former Palm CEO Jon Rubinstein on down throughout the business and engineering ranks. Google’s hiring of the Enyo team was first reported by technology news site The Verge.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/siLLb7dDhkA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/siLLb7dDhkA/</link>
      <guid isPermaLink="false">http://allthingsd.com/20120524/google-hires-away-hps-webos-enyo-team/</guid>
    <feedburner:origLink>http://allthingsd.com/20120524/google-hires-away-hps-webos-enyo-team/</feedburner:origLink></item>
    <item>
      <title>Windows 8 and HTML5: A story just unfolding</title>
      <description>(Page 1 of 6)HTML has revolutionized the way we do just about everything. We buy plane tickets via Web pages rendered in HTML, we read the statuses posted by our friends and update our own status via HTML pages, and our applications exchange data using XML documents that are inspired by the example of HTML. Most of us even get our news and entertainment through the medium of the Web, where HTML has been king since the early days.There have been several attempts over the years to reinvent HTML, including the introduction of Curl . I was personally involved in helping the company behind Curl develop its first sample applications many years ago. It has found its niche, but fell short of replacing HTML as the default medium for the Web.There are, of course, the various add-ons such as Adobe Flash and Microsoft’s Silverlight, but none have come close to the success of the original Web delivery media. The original is what we call just plain HTML, though it is really HTML4—officially standardized in 1997.Conventional wisdom is that if you cannot make something better, then the best course is to improve on the original instead. That wisdom has led us slowly to the development of HTML5. I say slowly, because it has been taking shape for many years now and has caused a great bit of infighting and posturing by the various stakeholders. In fact, even as of this writing, it has still not been completed officially, yet it is solid enough that the major browser makers have been adopting the features to a great enough extent that HTML5 development is here and real. Many of the earliest adopters predicted, and in many cases hoped, that this new style of application would undermine Microsoft’s position in the Web development world. Now, as you will see, even Microsoft has a story for leveraging HTML5. You can decide if the way it has allowed for HTML5 on its systems makes those predictions true or not. The Web Hypertext Application Technology Working Group (WHATWG) is a group comprised of representatives from most of the various companies that offer browser software, including founding members from Apple, Mozilla and Opera Software. Because the W3C was not working on HTML5, but instead occupied itself with XHTML, this group took matters into its own hands by starting to work out the specification for the next version of HTML. In 2007, the W3C came around to the realization that HTML5 was the place to be and picked up the work started by WHATWG. The W3C has been adding its credibility to the effort since that time.But the process has been fraught with politics and competing agendas. Chris Wilson of Microsoft was invited to join WHATWG but refused, reportedly over patent policy issues. Many viewed the entire effort as an opportunity to dislodge Microsoft’s position (with ASP.NET) in the Web technology world, but the real goal, now at least, seems to be to make Web development easier for everyone. The politics endangered that, but the good news is that it seems to be coming together now, thanks in large part to some well thought-out guiding principles that have helped build consensus.Stephanie (Sullivan) Rewis of W3Conversions gave an “Intro to HTML5” presentation in which she outlined the philosophy for HTML5. I recommend it to anyone wanting to really develop expertise with the technology.According to Rewis, one of the guiding principles for HTML5 is that if any browser maker does not agree to support a feature, then the feature is dropped. I assume that only counts for what we would consider major browser vendors, but she did not elaborate. In either case, I believe that this is important to make sure that fragmenting the browsers does not occur, something that I, as a Web developer myself, am very grateful to see in place.She also explained that the process of figuring out what to change for HTML5 involved finding the common things that were being done with HTML4 and seek to make those easier and better. This is meant to clear the hacks out of the system and lend itself to higher productivity, since it minimizes the time that Web developers have to spend working around weaknesses in the old system.Finally, Rewis emphasized the introduction of error handling into HTML5 as a huge benefit. Error handling is of course the key to robust systems and by extension to developing quality systems.In May of this year, the HTML5 specification entered the Last Call phase, pointing to 2014 as the timeframe for final Recommendation for the standard. There is, though, no need to wait that long to make things happen by solving problems with HTML5.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/2apXMx3qyB4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/2apXMx3qyB4/36627</link>
      <guid isPermaLink="false">http://sdtimes.com/WINDOWS_8_AND_HTML5_A_STORY_JUST_UNFOLDING/By_Patrick_Hynds/About_HTML5_and_INTERNETEXPLORER10_and_WINDOWS8/36627</guid>
    <feedburner:origLink>http://sdtimes.com/WINDOWS_8_AND_HTML5_A_STORY_JUST_UNFOLDING/By_Patrick_Hynds/About_HTML5_and_INTERNETEXPLORER10_and_WINDOWS8/36627</feedburner:origLink></item>
    <item>
      <title>D2WC jQueryMobile Training</title>
      <description>Thanks again to everyone who came to my training session at this year’s D2WC! I hope everyone was able to learn a bit more about both jQueryMobile and PhoneGap. As promised here are all the slides and demo files that I used during the training: Intro to jQuery Mobile Slides Intro to JSON and Templating Slides Intro to PhoneGap Slides Source files for jQuery Mobile tutorial Completed RUSH App Source Code Mustache Demo&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/N9BwX21ezVg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/N9BwX21ezVg/</link>
      <guid isPermaLink="false">http://chrisgriffith.wordpress.com/2012/05/16/d2wc-jquerymobile-training/</guid>
    <feedburner:origLink>http://chrisgriffith.wordpress.com/2012/05/16/d2wc-jquerymobile-training/</feedburner:origLink></item>
    <item>
      <title>Tiggzi, Cloud-based HTML5, jQuery Mobile App Builder At SF East Bay jQuery Meetup</title>
      <description>Add your comment You must be signed in to add a comment. Sign-in | Register In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/lFS950rZheM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/lFS950rZheM/2281908</link>
      <guid isPermaLink="false">http://www.sys-con.com/node/2281908</guid>
    <feedburner:origLink>http://www.sys-con.com/node/2281908</feedburner:origLink></item>
    <item>
      <title>Coda 2: Reviewed</title>
      <description>Well, it happened; Panic finally released the long-awaited version two of their popular code editor, Coda. But does it live up to the hype? Well, that depends on what type of coder you are. Read the full review after the jump! The Good It's Beautiful When Panic initially unveiled the tour video for their new editor, I was taken aback. The massive file icons only appeal to a very specific type of coder – and I'm not that person. I, as well as many others, found them to be considerably unattractive. Perhaps they'd be appealing, if you exclusively work on static designs, but as someone who stares at an image-less, black background for the better part of each day, these icons only take up space. Luckily, they can easily be reduced to simple text, at which point the editor becomes infinitely more attractive. The icons are a gimmick. Helpers Clearly, Coda is playing to its core audience: PHP developers. While you can certainly code in any language, PHP receives the bells and whistles. As a PHP developer myself, I won't deny that "WAT" is scattered throughout the language. Even after years and years, I still frequently refer to the PHP.net documentation to remember which order a function's parameters should be passed. Do I set the haystack as the first or second parameter, when using stristr? This is one area where Coda shines. It provides instant documentation in the sidebar as you type. What's unfortunate is that this feature is limited to, essentially, front-end developers: HTML, CSS, JavaScript, and PHP. Why? Nonetheless, it's a helpful resource, though I'll note that, despite the fact that Panic lists JavaScript as being supported, it only offers to link me to the book documentation. A bug perhaps? Clippings Coda's native clippings feature has received a substantial upgrade as well. Rather than the awkward floating bar from Coda 1, the new version rests as its own panel in the sidebar. Notable additions include multiple (tab separated) insertion points, and the ability to assign both tab triggers and keyboard shortcuts. Sites The standard "Sites" layout is back in Coda 2, which allows you to assign either local or remote directories to one click icons. No notes here; it's helpful, and the new ability to group sites into “lists” (or categories) is very much welcomed. Baked-In CSS Edit In Coda 1, the CSS editor was available via its own tab, or panel; however, with this new version, it's baked into the editor. For instance, as you type background, the option to use a GUI to create a gradient will be provided, though I must admit that setting values and percentages wasn’t overly intuitive. Note: did you notice in the image above that Coda only adds a single Webkit prefix? Yeah, we'll cover that shortly! :/ This same functionality is for other properties, such as box-shadow and padding. Honestly, these aren't features that I'd ever imagine using; they'd only slow me down. But still, for newcomers, I'm sure they'll prove to be helpul. Quick Open It's nothing new, but, if you need to quickly switch between files, you can press Control + Q, and type in the name of the file. It's not nearly as fast (or responsive) as Sublime Text's implementation, but will get the job done. Built-In Transmit The popular Transmit engine is essentially baked into the editor. This provides you with a full file browser for, not only your local files, but also through FTP, SFTP, WebDAV, and S3. This is a huge plus for some, though, for me, I don't remember the last time that I uploaded files to my server with (S)FTP. Still a nifty feature, though! Terminal Introduced in the first release of Coda, the Terminal panel is back. If you’re not the type of coder who has Terminal open at all times, accessible through a keyboard shortcut, then this will be a welcomed feature. The Bad Multiple Cursors Really? No multiple cursor support? Coda provides a "block edit" functionality, but it's confusing, and not nearly as intuitive as Sublime Text's implementation. In this editor's opinion, it was a massive mistake to not make multiple cursor support a top priority. I can't imagine using an editor that doesn't offer support. Odd CSS Support From a distance, Coda's CSS support appears to be fantastic. Auto-completion for the new CSS3 properties, a GUI for creating gradients and box-shadows, etc. What more could you want? Well, yes that would be true, if those implementations were flawless – but they're not. For example, remember the nifty documentation functionality that I noted above? It's very helpful…and limiting at the same type. You might be surprised to find that, if I type the official transform property, nothing shows up in the sidebar (there's also no auto-completion for the property). The documentation only registers if I specificially use -webkit-transform. Yep, the official version doesn't work – and neither does -moz-transform. Oh, and as for Opera and Microsoft prefixes (-o and -ms, respectively), you can forget about it. Zero auto-completion support. They might as well not even exist. Webkit Love Affair There's no denying that Coda's Webkit-based support is fantastic. It makes sense; the live preview uses the Webkit engine, so they need to ensure that the gradients (and other CSS3 properties) that the GUI produces will render correctly. But, particularly when considering the huge debates that have centered around CSS and Webkit in the last half year, Panic's decision to seemingly endorse Webkit-exclusive CSS3 properties is a terrible one. Why will it auto-complete -webkit-animation, but not any of the others (ms, o, moz)? Why does it render a Webkit gradient, but not for the other vendors? When questioned (on Twitter), Panic noted that it's incredibly simple to manually add the other prefixes. True; no one is denying that. But why should we have to? Do it for us. If convenience were the only downside, that would be one thing, but the problem is that their decision to only provide Webkit generation and auto-completion endorses the notion (especially for newcomers) that it's okay to tailor designs specifically for one engine. Note: a smattering of Mozilla prefixes are provided, but not nearly as many. I Wish… If, behind the scenes, Coda would maintain a list of every CSS3 property, along with its required prefixes, that would be huge. Don't make me memorize whether or not Microsoft now provides its own prefix for gradient support. Be a good role model, and do it for me. Sheesh, don't make me build a tool, like Prefixr, to get around this. Git Git integration in Coda 2 is certainly not a minus, but more of an "ehh." The previous version of Coda provided Subversion support (while the community moved to Git). So, sure, adding a UI for Git was a smart move. It very well might be helpful to those who aren't entirely comfortable in the Terminal, but, still, I wonder how many of these folks are truly using version control. Do they understand what a branch, stage, or commit is? My instinct is that, if you do, then you'll absolutely prefer to perform these sorts of commands in the Terminal – likely using your own custom aliases to speed things up. Nonetheless, it's a feature that might be helpful to some – just not me. Command Palette Considering the fact that Sublime Text 2, in barely a year, has become the golden editor amongst web developers, you would think that Coda might adopt some of the most touted features in that editor. Why isn't there a helpful command palette that allows me to specify which action to execute with text? I can't always remember the keyboard shortcut for creating a split; why can't I pull up the command palette, and type "split"? At this point, I consider a command palette to be essential in my workflow, yet Coda is missing one entirely. Installing Plugins We're still in the early days of Coda 2; as such, there currently aren't any plugins available on Panic's website. Hopefully, once some are available, there will be an easy, Package-Control-esque method for installing them. Please don't make me manually download and install these. In Sublime Text, if I want CoffeeScript syntax highlighting, I can literally have it in ten seconds. Will Coda provide this same convenience? My instincts point to "no.", which is not a good sign. The success of an editor has more to do with the community’s involvement than anything else. Vi-Mode Option Remember when I noted that Coda was made for a very specific type of coder? Yeah, well that type of coder likely doesn't use Vim (or Git-based deployment). For me, though, it's the difference between using Coda and not. I'm heavily dependent upon these keyboard commands, but Coda has left me in the dark. Why? Sublime Text offers Vi (Vintage) support; even Chocolat does. I'd imagine that, at some point in the near future, support will be provided through a plugin, but, nonetheless, when considering the resurgence of Vim in the last few years, shouldn’t support should be baked in? Only Four Color Schemes I grant you that this is petty, but why does Coda only provide four color schemes for the editor? Why not offer a dozen or so? We coders love our themes, but will now have to resort to scouring the web for custom skins. Or, when considering the fact that Solarized is one of the most popular, cross-editor themes on the web, why not provide that as a built-in choice? Chocolat does. Admittedly, things like this are small annoyances, but, still, they're just that… annoying. A Great Sidebar…But Clearly, Panic spent a great deal of time on the new sidebar functionality. With all of these helpful features, though, why I am limited to just one view at a time? Maybe I wanted a file browser on top, and the documentation viewer below? It would be far more convenient if I could stack these panels. Configurability Sublime Text is sometimes criticized because its configuration options page is essentially a JavaScript object. The irony is that I consider this to be one of its best features! I have control over everything! Need to change the tab-width, font-size, or a keyboard shortcut? Easy – it takes five seconds. What about on a per-file basis? That’s doable too. With Coda, though, I virtually have no clue how to configure it to my preferences – beyond the basic settings that are provided in the Preferences pane. Closing Thoughts The updates also aren’t indicative of today’s modern developer. As I proof this article, I realize that it has come across as somewhat critical. The truth is that Coda 2 is a solid editor. Sure, it has some bugs, but it was just released. Give the amazing Panic team time to listen to community input and release updates/patches. And, certainly, missing functionality can often be provided, via plugins. The truth is that I'm only capable of reviewing an editor based upon on my own needs. Personally, I'm most concerned with speed, convenience, and Vi support. Instead of Panic focusing on what will make me more efficient at my job, it sort of feels as if they’ve tacked on a lot of eye candy that doesn’t necessarily help me much. The updates also aren’t indicative of today’s modern developer. When considering Coda's stand-out features: File Icons - It’s a gimmick; do people really want massive file icons? FTP Integration - Helpful, but in a modern world, where we deploy websites and applications with Git (whether to Heroku or PHPFog), I'll very rarely make use of it. Built-in MySQL - Again, helpful, but you'll likely find yourself resorting to more powerful dedicated apps, such as Sequel Pro or Querious. It feels tacked on, for eye candy. Git Support - I'll stick with Terminal. You likely will too. (But hey, Coda has a built-in Terminal panel.) I wish that they had instead focused more on speed – not necessarily the speed of the editor, but the speed of my workflow. How can I accomplish my daily tasks more quickly? From this perspective, Coda 2 doesn’t provide anything new. While I've only had a day with Coda, I must admit that something feels a bit…off. It doesn't feel as intuitive as I would have expected from Panic. Frequently, I find myself confused over how to execute simple operations. "Oh, I have to double-click to open this file." There's also no denying that this is initially very confusing. So we have a sidebar of files, then another panel in the middle for files, and then, lastly, remote files. This is what I was greeted to after opening Coda for the first time. I've since learned that you have to get away from the notion that the traditional sidebar is specifically for displaying files. In the image above, it just happens to be set to the "Files" tab, which accounts for the doubled-files issue. Nonetheless, it took me a moment to come to grips with this. Will I Switch to Coda 2 There’s this part of me that wants to use Coda. It’s beautiful and feels modern. But, then again, the simple fact is that I’m far more efficient in Sublime Text 2. You might be wondering why I haven’t mentioned the new Air Preview feature. Well, I’d very much like to, but haven’t yet been able to get it to work. I’ll update this article once I do!&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/vo3wDZUBE9U" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/vo3wDZUBE9U/</link>
      <guid isPermaLink="false">http://net.tutsplus.com/articles/reviews/coda-2-review/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nettuts+%28Nettuts%2B%29</guid>
    <feedburner:origLink>http://net.tutsplus.com/articles/reviews/coda-2-review/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nettuts+%28Nettuts%2B%29</feedburner:origLink></item>
    <item>
      <title>Windows 8's Internet Explorer 10 Will Support Flash</title>
      <description>Despite Microsoft declarations that the future of the web was HTML 5 and that Windows 8 would do away with the technology Apple loves to hate, it looks like Adobe Flash will be supported on the next version Windows after all - albeit as a stop-gap and only as a component of Internet Explorer 10. It was previously assumed that IE10 would only use web-standard technology to prevent Flash crashing or otherwise upsetting the stability of security of the OS or its various bits. However, it appears that Microsoft has realised that the vast majority of online video is still Flash-based (not to mention games and ads), and that it would be very difficult to get around it. Adobe made the Flash source code available to Microsoft so that IE10’s policy of not allowing third-party add-ons could be kept intact. However, the software giant will be implementing it using a white-list, meaning you’ll only get Flash for previously approved sites which have been proven to maintain stability, performance and security. While this is in many ways a positive development, we imagine it also means that initially quite a few harmless but not very popular websites may be left in the lurch, so hopefully MS will make entry to that list relatively simple and painless.IE10 with Flash, compared to without, above.While we do feel some geeky loyalty to Adobe’s flexible software, there’s no denying that at times it can be a resource hog, and if we had a penny for every time we’ve encountered varieties on “Adobe Flash has encountered a problem and needs to close”, we would have a lot of pennies. Maybe even some pounds. So we’ll shed a tear as Flash shuffles ever closer to the end of the road, but may not miss it so much when it’s gone.Via WinUnleaked&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/zCuG27-B9MI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/zCuG27-B9MI/windows-8-s-internet-explorer-10-will-support-flash</link>
      <guid isPermaLink="false">http://www.trustedreviews.com/news/windows-8-s-internet-explorer-10-will-support-flash</guid>
    <feedburner:origLink>http://www.trustedreviews.com/news/windows-8-s-internet-explorer-10-will-support-flash</feedburner:origLink></item>
    <item>
      <title>Is Microsoft Adding Flash to Metro-Style IE10?</title>
      <description>Will the Metro-style version of Internet Explorer 10 on Windows 8 have Flash access after all? In a Wednesday post, Windows bloggers Paul Thurrott and Rafael Rivera pointed to a forum post on WinUnleaked.tk that suggested Microsoft would integrate Flash directly into IE10 on Windows 8. When asked about the report, a spokesman said "Microsoft does not comment on rumors or speculation." The news comes about eight months after Microsoft announced that Metro-style IE10 will not support plugins, meaning it will not support Adobe Flash. The desktop version of IE10, however, will retain plugin support. At the time, Dean Hachamovitch, head of Microsoft's IE team, said "the experience that plugins provide today is not a good match with Metro style browsing and the modern HTML5 Web." Thurrott and Rivera said Microsoft still won't allow plugins but will seamlessly integrate Flash with IE10 via Adobe's source code. "Thus, Microsoft did not need to make an exception to its no-add-on policy for Internet Explorer Metro," they wrote. In a follow-up, Ars Technica said that the option will also not apply to all websites. On the approved list are Hulu, YouTube, CNN, Facebook, and more. "Flash-based interactive content on these sites will work in the Metro-style browser," Ars said. "Flash content on other sites will require the use of the desktop browser." For more, check out PCMag's Hands On With Windows 8 Consumer Preview and the slideshow below. For more from Chloe, follow her on Twitter @ChloeAlbanesius. For the top stories in tech, follow us on Twitter at @PCMag.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/v10wkMmsiIg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/v10wkMmsiIg/0,2817,2404861,00.asp</link>
      <guid isPermaLink="false">http://www.pcmag.com/article2/0,2817,2404861,00.asp</guid>
    <feedburner:origLink>http://www.pcmag.com/article2/0,2817,2404861,00.asp</feedburner:origLink></item>
    <item>
      <title>Notes on applying multiple labels for a control using the label element</title>
      <description>While it is conforming to have multiple label elements pointing to a single control for labelling purposes, it is not recommended. It has been conforming as per (X)HTML specifications for many years, but it is not robustly supported. Other techniques such as wrapping the label around text and control and aria-labelledby do the job better and are much better supported in modern browsers and assistive technology. multiple labels for a control using the label element Notes, examples and recommendations Further Reading HTML5 Accessibility Chops: form control labeling&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/UnmMmgGkS-M" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/UnmMmgGkS-M/</link>
      <guid isPermaLink="false">http://www.paciellogroup.com/blog/2012/05/notes-on-using-multiple-labels-for-a-control-using-the-label-element/</guid>
    <feedburner:origLink>http://www.paciellogroup.com/blog/2012/05/notes-on-using-multiple-labels-for-a-control-using-the-label-element/</feedburner:origLink></item>
    <item>
      <title>Yahoo launches stand-alone mobile search app</title>
      <description>Yahoo beefed up its search offerings on Wednesday when it launched Axis, an HTML5-based browser app that delivers search results as page previews rather than as links.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/wHCrnMgjtTc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/wHCrnMgjtTc/Yahoo_launches_stand_alone_mobile_search_app</link>
      <guid isPermaLink="false">http://www.computerworld.com/s/article/9227439/Yahoo_launches_stand_alone_mobile_search_app?source=rss_latest_content&amp;utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+computerworld%2Fnews%2Ffeed+%28Latest+from+Computerworld%29</guid>
    <feedburner:origLink>http://www.computerworld.com/s/article/9227439/Yahoo_launches_stand_alone_mobile_search_app?source=rss_latest_content&amp;utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+computerworld%2Fnews%2Ffeed+%28Latest+from+Computerworld%29</feedburner:origLink></item>
    <item>
      <title>Stylo: Open Source Web App Designer Tool</title>
      <description>Advertise here via BSAAlex MacCaw is a Twitter engineer, O’Reilly author and open source developer. He has just released Stylo, which is an open source web app designer tool written in CoffeeScript and Spine. It allows you to manipulate various HTML elements, add styles and edit text. You can draw shapes, apply shadows, background gradients and add a variety of other styles. Double click on an element to add text, and use keyboard shortcuts, such as command z to undo. In the latest versions of Chrome, you can even copy elements and paste their CSS into a text editor. Requirements: - Demo: http://blog.alexmaccaw.com/stylo License: License Free SponsorsProfessional Web Icons for Your Websites and Applications&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/d_RwZl4aPDk" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/d_RwZl4aPDk/</link>
      <guid isPermaLink="false">http://www.webappers.com/2012/05/24/stylo-open-source-web-app-designer-tool/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Webappers+%28WebAppers%29</guid>
    <feedburner:origLink>http://www.webappers.com/2012/05/24/stylo-open-source-web-app-designer-tool/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Webappers+%28WebAppers%29</feedburner:origLink></item>
    <item>
      <title>Yahoo launches stand-alone mobile search app</title>
      <description>Yahoo beefed up its search offerings on Wednesday when it launched Axis, an HTML5-based browser app that delivers search results as page previews rather than as links.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/wHCrnMgjtTc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/wHCrnMgjtTc/Yahoo_launches_stand_alone_mobile_search_app</link>
      <guid isPermaLink="false">http://www.computerworld.com/s/article/9227439/Yahoo_launches_stand_alone_mobile_search_app?source=rss_latest_content&amp;utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+computerworld%2Fnews%2Ffeed+%28Latest+from+Computerworld%29</guid>
    <feedburner:origLink>http://www.computerworld.com/s/article/9227439/Yahoo_launches_stand_alone_mobile_search_app?source=rss_latest_content&amp;utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+computerworld%2Fnews%2Ffeed+%28Latest+from+Computerworld%29</feedburner:origLink></item>
    <item>
      <title>HTML5 the route to enterprise mobility, says developer</title>
      <description>HTML5 and integrated apps are key for enterprise mobility, according to one software vendor that focuses on mobile workforce management.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/73ccY40Gqrg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/73ccY40Gqrg/54948-html5-the-route-to-enterprise-mobility-says-developer</link>
      <guid isPermaLink="false">http://www.itwire.com/business-it-news/technology/54948-html5-the-route-to-enterprise-mobility-says-developer</guid>
    <feedburner:origLink>http://www.itwire.com/business-it-news/technology/54948-html5-the-route-to-enterprise-mobility-says-developer</feedburner:origLink></item>
    <item>
      <title>requestAnimationFrame API: now with sub-millisecond precision - HTML5Rocks Updates</title>
      <description>A resource for developers looking to put HTML5 to use today, including information on specific features and when to use them in your apps.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/L3nw3y4YNs0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/L3nw3y4YNs0/requestAnimationFrame-API-now-with-sub-millisecond-precision</link>
      <guid isPermaLink="false">http://updates.html5rocks.com/2012/05/requestAnimationFrame-API-now-with-sub-millisecond-precision</guid>
    <feedburner:origLink>http://updates.html5rocks.com/2012/05/requestAnimationFrame-API-now-with-sub-millisecond-precision</feedburner:origLink></item>
    <item>
      <title>Zoho Sites – Afterparty!</title>
      <description>Last week was definitely a milestone for us. It was when we expanded our portfolio with Zoho Sites, a do-it-yourself website builder. After a week of website building, many early adopters have graciously shared their opinions, and they are very warming indeed. Thanks to TechCrunch, CMSWire, The Hindu and many others who covered the launch. We’ve put in quite some time and effort in simplifying website building for everyone, regardless of their technical expertise. We have already begun acting on the overwhelming feedback we are receiving, so we are sure it’s eventually getting better by the day. Most of you who had published a website, had experimented with every feature. Thank you for trying Zoho Sites, and even more for sharing your site-building experience. You drive us. Here are some websites we stumbled upon. Following a successful launch, we are back to adding missing pieces to Zoho Sites. A shopping cart is the most requested feature till date, and it sounds interesting to us too. Some time soon, you will experience major make-overs, and a few cool new additions to Zoho Sites. For others who missed out on our announcement, Zoho Sites is a website builder, without the complexity of HTML. Try Zoho Sites today!&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/1ERiNdctGxU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/1ERiNdctGxU/afterparty.html</link>
      <guid isPermaLink="false">http://www.zoho.com/sites/blog/afterparty.html</guid>
    <feedburner:origLink>http://www.zoho.com/sites/blog/afterparty.html</feedburner:origLink></item>
    <item>
      <title>BVH Player by Aki A.</title>
      <description>An application for playing Biovision Hierarchy (.BVH) character animation files.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/ZrpE5F5fNtA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/ZrpE5F5fNtA/</link>
      <guid isPermaLink="false">http://www.chromeexperiments.com/detail/bvh-player/</guid>
    <feedburner:origLink>http://www.chromeexperiments.com/detail/bvh-player/</feedburner:origLink></item>
    <item>
      <title>Cable Show 2012: Cablevision's HTML5 Guide Plays On LG, Samsung Smart TV</title>
      <description>Cablevision Systems was showing off an app built using HTML5 and JavaScript technologies running on Internet-connected TVs from Samsung Electronics and LG Electronics that provides full access to live TV and an on-screen guide -- without any set-top required. The smart TV demo uses the same interface as the one the MSO deployed earlier this year for its Optimum App for Laptop, which allows access to live TV and guide listings on PCs and Macs. A Cablevision spokesman said there is "no consumer deployment timetable yet" for the connected-TV apps. According to Sam Chang, general manager of LG's Innovation Development Group in San Jose, Calif., the app demo with Cablevision was developed in just a few weeks. The Cablevision app "uses common Web technologies to deliver a new user interface, full EPG [electronic program guide] and secure streaming of live linear TV to the LG Smart TV, needing only a single authorized cable modem," Chang said. Cablevision currently offers customers in its New York footprint access to live TV apps for PCs and Macs, as well as iPhone, iPad and iPod touch devices. To use the software, a customer must have a subscription to iO TV and a Cablevision-supplied modem. (If a customer is not an Optimum Online customer, Cablevision will provide a specialized modem that allows access to the streaming TV apps but not the Internet.) LG also is showing a new "App 2 App" software development kit, designed to enable interactions from MSO applications on Android and iOS-based tablets. Also at the Cable Show, Comcast, Time Warner Cable and Cox Communications are showing various TV apps for tablets, PCs and game consoles. In its demo, TWC connected an iPad running its TWC TV app to two HDTVs via an HDMI cable.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/AKjSEOfvYmM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/AKjSEOfvYmM/485024-Cable_Show_2012_Cablevision_s_HTML5_Guide_Plays_On_LG_Samsung_Smart_TV.php</link>
      <guid isPermaLink="false">http://www.multichannel.com/article/485024-Cable_Show_2012_Cablevision_s_HTML5_Guide_Plays_On_LG_Samsung_Smart_TV.php</guid>
    <feedburner:origLink>http://www.multichannel.com/article/485024-Cable_Show_2012_Cablevision_s_HTML5_Guide_Plays_On_LG_Samsung_Smart_TV.php</feedburner:origLink></item>
    <item>
      <title>Windows 8 Secrets: Internet Explorer 10 will Ship with Adobe Flash</title>
      <description>With tech enthusiast web sites from around the world starting to leak Windows 8 Release Preview screenshots, your intrepid “Windows 8 Secrets” co-authors offer a bit of color commentary about what you’re seeing and how these features will really work. In this new co-post analyzing these leaks, we look briefly at a potential shocker: Internet Explorer 10 is going to bundle Adobe Flash technology. Pre-order Windows 8 Secrets today on Amazon.com and save! Two years ago, Microsoft declared that the future of video on the web would be powered by HTML 5. Today, however, a lot of web video content is still delivered via Adobe Flash technology. So, in a somewhat surprising move, Microsoft is integrating Flash directly into Internet Explorer 10 on Windows 8 and doing so in a way that does not undermine the safety and reliability of the Metro environment. This news comes courtesy of a forum post on WinUnleaked.tk (free registration required). Figure 1: IE10 with Flash. Figure 2: IE10 without Flash. Before this, the general assumption was that Microsoft would pursue only web-standard technologies in IE 10. But with the Metro version of IE 10 not offering users the ability to extend the capabilities of the browser with add-ons, the software giant realized this may be too restrictive for consumers. So how could it meet the needs of consumers by providing Flash in a way that didn’t subvert Metro? Interestingly, they were able to do so without contradicting any of the earlier statements the company made about web standards and Flash in IE. Consider the following statement by Microsoft Corporate Vice President Dean Hachamovitch, made over two years ago: Today, video on the web is predominantly Flash-based. While video may be available in other formats, the ease of accessing video using just a browser on a particular web site without using Flash is a challenge for typical consumers. Flash does have some issues, particularly around reliability, security, and performance. We work closely with engineers at Adobe, sharing information about the issues we know of in ongoing technical discussions. Despite these issues, Flash remains an important part of delivering a good consumer experience on today’s web. As Mr. Hachamovitch noted, Microsoft does work closely with Adobe, closely enough that Adobe actually provided Microsoft with source code access to Flash, allowing them to seamlessly integrate the technology into IE 10. Thus, Microsoft did not need to make an exception to its no-add-on policy for Internet Explorer Metro. By making Flash a part of IE 10, it can ensure the code meets its own standards for reliability, compatibility, security, and, probably most important, performance. Remember, Hachamovitch noted that Flash was an important part of delivering a good consumer experience on today’s web. So, Microsoft has extended the Internet Explorer Compatibility View list to include rules for popular Flash-based web sites that are known to meet certain criteria. That is, Flash is supported for only those popular but legacy web sites that need it. This feature is not broadly available for all sites. This move, while initially surprising, is entirely in keeping with Microsoft’s long-standing commitments to backwards compatibility. Have you seen any other Windows 8 leaks you’d like to know more about? Drop us a line and let us know! – Rafael Rivera and Paul Thurrot&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/bNp2aGcvYyo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/bNp2aGcvYyo/</link>
      <guid isPermaLink="false">http://www.withinwindows.com/2012/05/23/windows-8-secrets-internet-explorer-10-will-ship-with-adobe-flash/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+WithinWindows+%28Within+Windows%29</guid>
    <feedburner:origLink>http://www.withinwindows.com/2012/05/23/windows-8-secrets-internet-explorer-10-will-ship-with-adobe-flash/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+WithinWindows+%28Within+Windows%29</feedburner:origLink></item>
    <item>
      <title>HTML5 is a newspaper’s best friend – even if it has a mobile app</title>
      <description>Apparently The Boston Globe didn’t get the memo that it’s an app-only world when it comes to mobile. According to VP of digital products Jeff Moriarty, the Globe’s website, Boston.com, is doing quite well on mobile with more than 30 percent of visitors coming to the site through a phone or tablet browser. In fact, at a panel at the paidContent 2012 conference, digital publishers challenged the mythos that native apps provide a superior mobile experience than HTML5. “We’re not building a video game here,” Moriarty said. “It’s news, photos and text.” For many news sites, HTML5 has become the default form of coding. Even if a publisher is pushing out a mobile app, it’s often an HTML app in a native wrapper. When deciding whether to follow an app or a Web browser model, the decision isn’t a technology one — native code versus HTML5 – instead, it’s a distribution decision, said Mark Johnson, CEO of news aggregator Zite. For a startup or a company that doesn’t have a well-known brand, discoverability becomes key, so it’s necessary to stake a claim in platform app stores, Johnson said. But when it comes down to implementation Zite is basically building Web pages optimized with a native user interface. There’s far more flexibility in that approach: your Web developers suddenly don’t need to turn into Objective C programmers and you can update modify your app with pushing a complete update, Johnson said. As Zite builds up its own online brand (CNN acquired Zite last year), its dependence on the app store may lessen, but Johnson said the need for a slick UI will keep Zite app-store bound for some time. “People have a very high expectation of what the UI looks like,” he said. “You risk losing a lot of downloads if you forget the UI.” The Washington Post is splitting the difference. It leans heavily on its own mobile apps, including its Facebook Social Reader, but it also has a big presence in the mobile browser. WaPo Labs chief strategist and editor-at-large Rob Malda agreed with Johnson that the Post has the advantage to leverage a huge well-respected news brand to drive traffic to the mobile Web site. “Discoverability is not a problem,” Malda said, but he added that the Post can just as easily use that same brand to nudge its readers to its apps and other digital media technologies. Ultimately, whether the Post focuses on apps or the mobile Website, it will continue to lean heavily of HTML5 for its core development, Malda said. “I like the hybrid thing,” he said. “Laying out a newspaper – I don’t want to do that in native.” Keep up with the discussion at paidContent 2012 via livestream (registration required) and #pc2012 on Twitter.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/N1DCnahP6xo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/N1DCnahP6xo/</link>
      <guid isPermaLink="false">http://paidcontent.org/2012/05/23/html5-is-a-newspapers-best-friend-even-if-it-has-a-mobile-app/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+pcorg+%28paidContent%29</guid>
    <feedburner:origLink>http://paidcontent.org/2012/05/23/html5-is-a-newspapers-best-friend-even-if-it-has-a-mobile-app/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+pcorg+%28paidContent%29</feedburner:origLink></item>
    <item>
      <title>Hybridcast de NHK se presenta como la revolución de la televisión digital</title>
      <description>Filed under: HDTV, Tablet PCs, Internet La empresa de transmisión de contenidos NHK está desarrollando una nueva tecnología llamada Hybridcast con la que mezclar emisiones en alta definición con contenidos multimedia de internet basados en HTML5. Los resultados son espectaculares, ya que permiten al usuario elegir entre un sin fin de funciones completamente interactivas con las que ampliar la información que se recibe a través de la clásica señal de TV. En el ejemplo que verás tras el salto se muestran las capacidades de este sistema en la retransmisión de un partido de fútbol, pudiendo ver en todo momento información de cada jugador, los dorsales en pantalla posicionados automáticamente e incluso seleccionar distintos ángulos de cámara como si de un videojuego se tratase. NHK asegura que esta tecnología podría llegar muy pronto al mercado ya que únicamente requiere una pequeña modificación en los modelos que actualmente encontramos en el mercado, por lo que podríamos tenerla más cerca de lo que pensamos. Te dejamos con la demostración tras el salto para que puedas comprobar tú mismo el atractivo de Hybridcast.Continue reading Hybridcast de NHK se presenta como la revolución de la televisión digitalRead | Permalink | Email this | Comments&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/jaHrQi3ttrI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/jaHrQi3ttrI/</link>
      <guid isPermaLink="false">http://es.engadget.com/2012/05/23/hybridcast-nhk-television-digital-interactiva/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+EngadgetSpanish+%28Engadget+Spanish%29</guid>
    <feedburner:origLink>http://es.engadget.com/2012/05/23/hybridcast-nhk-television-digital-interactiva/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+EngadgetSpanish+%28Engadget+Spanish%29</feedburner:origLink></item>
    <item>
      <title>3 Key Software Principles You Must Understand</title>
      <description>If you’re in software development, new techniques, languages and concepts pop up all of the time. We all feel those nagging doubts every now and then: “can I keep up with the changes and stay competitive?” Take a moment, and sum a line from my favourite movie, Casablanca: “The fundamental things apply, as time goes by.” What’s true for love, is true for code. What’s true for love, is true for code. The fundamental things will always apply. If you have an understanding of the underlying ideas of software development, you will quickly adjust to new techniques. In this tutorial, we will discuss three basic principles and mix them with many more. They provide a powerful way of managing the complexity of software. I’ll share some of my personal opinions and thoughts, which, hopefully, will prove useful when it comes to applying them to code and real-world projects. Principle – Don’t Repeat Yourself A basic strategy for reducing complexity to managable units is to divide a system into pieces. This principle is so important to understand, that I won’t write it twice! It’s commonly referred to by the acronym, DRY, and came up in the book The Pragmatic Programmer, by Andy Hunt and Dave Thomas, but the concept, itself, has been known for a long time. It refers to the smallest parts of your software. When you are building a large software project, you will usually be overwhelmed by the overall complexity. Humans are not good at managing complexity; they’re good at finding creative solutions for problems of a specific scope. A basic strategy for reducing complexity to managable units is to divide a system into parts that are more handy. At first, you may want to divide your system into components, where each component represents its own subsystem that contains everything needed to accomplish a specific functionality. For example, if you’re building a content management system, the part that is responsible for user management will be a component. This component can be divided into further subcomponents, like role management, and it may communicate with other components, such as the security component. As you divide systems into components, and, further, components into subcomponents, you will arrive at a level, where the complexity is reduced to a single responsibility. These responsibilities can be implemented in a class (we assume that we’re building an object-oriented application). Classes contain methods and properties. Methods implement algorithms. Algorithms and – depending on how obsessive we want to get – subparts of algorithms are calculating or containing the smallest pieces that build your business logic. The DRY principle states that these small pieces of knowledge may only occur exactly once in your entire system. They must have a single representation within it. Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. Note the difference between the piece of knowledge, and its representation. If we’re implementing the database connection in our CMS, we will have a code snippet that will initalize the database driver, pass the credentials, and save a reference to the connection in a variable. The code snippet is part of the knowledge, it’s about how something is achieved. The variable with the reference to the connection is the representation of that knowledge – and this can be used by other parties. If the database credentials change, we will have to change the snippet – not its representation. In a perfect application, every small piece of business logic encapsulates its knowledge in a representation, namely a variable or a class property. This variable itself is encapsulated in a class that can be described as a representation of a responsibility. The class is encapsulated in a component that can be described as a representation of functionality. This can be proceeded until we reach the top level of our software project – that is, a stack of representations with increasing complexity. This way of looking at the complexity of software is called modular architecture, and DRY is an important part of it. Software architecture is about managing complexity. Achieving DRYness DRY is a philosophy that packages logic into representations. There are many ways of achieving DRYness. Hunt and Thomas suggested (among other things) code generators and data transforming. But, essentially, DRY is a philosophy that packages logic into representations. As every part of your application can be seen as representation, every part exposes specific fragments of your underlying logic: The user management exposes access to registered users of the CMS, the user class represents a single user and exposes his properties (like the username). It retrieves the properties, via the representation of the database. DRY and modular architecture require good planning. To achieve a representational hierachy from bottom-up, divide your application in a hierarchy of logically separated smaller parts and let them communicate with each other. If you have to manage larger projects, organizing them into components and using DRY within the components is a good idea. Try to apply the following rules: Make a visual hierarchy of your software application and map the main components to it. Complex projects may require a dedicated map for each component. If you’re arriving at a level of connected responsibilities, you may want to switch to UML diagrams (or similar). Before writing a chunk of code, name its hierarchy in your software project. Define what it’s representing, and be sure you know its role in the surrounding component. Define what the representation should expose to other parties (like functions to execute SQL in a database driver) and what it should hide (like the database credentials). Ensure that representations do not rely on representations of another complexity level (like a component that relies on a class in another component). The database driver is a simplified example, as there are many more layers involved in the real world (such as a specific database abstraction layer), and there is much more you can do to encapsulate logic – especially diving into design patterns. But even if you’ve just started with coding, there’s one thing to keep in mind: When you find yourself writing code that is similiar or equal to something you’ve written before, take a moment to think about what you’re doing and don’t repeat yourself. In the real world, applications that are a 100% DRY are hard, if not impossible, to achieve. However, applications that are unDRY to an unacceptable degree – and therefore hard to maintain – are quite common. Hence, it’s not surprising to learn that more than 50% of all software projects fail – if you’re taking a look at the code. Many people tend to think that bad code is produced by bad coders. In my experience, this is very much an exception. More often than not, bad code is produced by bad account managers and an overall misconfiguration of process management in companies. Bad code is rarely produced by bad coders. An Example DRYness is achieved by good planning. As an example, say you’re hired as a technical consultant by a company that has problems with code quality and maintenance. You review the source and you see hacks and code duplication – the code is not DRY. This is a symptom of bad code quality, it’s not the reason. If you take a look at the version control system – aka the history of the code – chances are that you may find hacks that were introduced at times near deadlines and milestones. Take the time to review what changes are made, and you will likely be confronted with a change in requirements. As noted above, DRYness is achieved by good planning. Forced changes on a tough deadline are forcing developers to implement dirty solutions. Once the code is compromised, the principle of DRY is likely to be sacrificed completely upon further changes. There’s a reason why the most successful corporations in the IT business were founded by people with very good technical understanding – or even coders themself: Bill Gates, Mark Zuckerberg, Steve Wozniak, Steve Jobs, Larry Page, Sergey Brin and Larry Ellison know (or knew) what efforts are needed to implement something. Contrary, many companies tend to lay the requirements for engineering into the hands of account managers, and the conceptual part in the hands of business consultants…people who have never implemented anything. Hence, many technical concepts work only in Powerpoint, Photoshop, and on 27″ widescreen displays. This may have been a successful approach in the days of, more or less, static websites, but it’s not nowadays – with interactive applications on multiple devices. Because coders are the last in the line, they are the ones who have to apply quick fixes on errors in the concept. If this is accompanied by an account manager, who can’t stand up to a client that likes to make last-minute changes, plans are thrown in the garbage, and something quick and dirty is implemented. The code becomes unDRY. This example is a bit extreme (nevertheless, I have witnessed such scenarios), but it demonstrates that DRY is a theoretical concept, which is challenged by various parties in the real world. If you’re working in a company that forces you to work in this manner, you might suggest some changes to the process (like introducing technical expertise at an earlier stage of technical projects). If you have a hands-off approach, keep reading! The You ain’t gonna need it principle will come to the rescue. Principle – Keep it Simple Stupid The simplest explanation tends to be the right one. In the late 19th century, physicists struggled to explain how gravity, magnetism and optics are interacting when it comes to large distances – like the distances in our solar system. Hence, a medium named aether was postulated. It was said, that light is traveling through this medium, and that it’s responsible for effects that couldn’t be explained otherwise. Through the years, the theory was expanded with assumptions that adjusted the aether postulate to the results of experiments. Some assumptions were arbitrary, some introduced other problems, and the whole theory was quite complex. An employee of the swiss patent office, Albert Einstein, suggested to get rid of the whole aether theory when he introduced a simple, yet revolutionary idea: All the oddness in calculating with large distances would fade away if we’d accept that time is not a constant; it’s relative. This incredibly of out-of-the-box thinking to come to the simplest explanation with the fewest assumptions to select between competing scenarios is referred to as Ockhams’s Razor. There are similar concepts in many areas. In software development (and others), we refer to it as KISS. There are many variants for this acronym, but they all mean that you should strive for the simplest way of doing something. Substantial progress in the history of mankind was achieved by lateral thinkers. HTTP The Hypertext Transfer Protocol is widely considered to be a perfect example for a simple solution: designed to transfer hypertext based documents, it is the backbone of highly interactive and desktop-esque applications nowadays. Maybe we have to find solutions for limitations in the protocol, and maybe we have to replace it someday. However, status quo is: based on a few request methods (like GET and POST), status codes and plain text arguments, HTTP has proved to be flexible and robust. That’s why HTTP has been repeatedly pushed to the limits by web developers – and is still standing. We take this approach for granted, but the history of software development and standardization is full of overly complex and half-baked solutions. There’s even a dedicated made-up word for it: bloatware. Software like this is also described to be DOD, dead on arrival. I have a theory that is very similar to my theory of unDRY code, when it comes to bloatware … However, the success of the internet can be described as a success of simple, yet efficent solutions. So what’s required to come to the simplest solution possible? It all comes down to maintainability and comprehensibility in software development. Hence, KISS kicks in during the phase of requirements engineering. When you think about how to transform a client’s requirements to implementable components, try to identify the following parts: Functionality that has an inappropriate ratio between benefit and efforts. Functionality that is highly dependent on other functionality. Functionality that is likely to grow in complexity. There are many people involved in the conceptual process, who do not have the technical expertise to make a reliable cost-benefit analysis I was once working on a project, where the client wanted to import Excel spreadsheets into his crew management software. This was a clear match. Excel is a proprietary software with a complex document format. The format is complex, because it’s feature-rich: You can add graphs and other things to it – features that were not needed by the client. He was simply interested in the numbers. Thus, implementing the Excel import would require the implementation of a lot of unnecessary functionality. On top of that, there are multiple versions of Excel versions, and Microsoft fires off another release each year. This would have been hard to maintain, and it comes with additional costs in the future. We ended up implementing a comma-separated-value import. This was done with a few lines of code. The overhead of the data was really small (compare an Excel sheet to it’s CSV equivalent) and the solution was maintainable and future-proofed. Excel was ready to export CSV anyway (as well as other programs that the client might want to use in the future). Since the solution was low-priced as well, it was a good application of the KISS principle. To sum up: try to think out-of-the box if a task looks complicated to you. If someone is explaining to you his requirements, and you’re thinking that it’ll be tough and complex to implement, you’re right under almost any circumstances. While some things are just that – hard to implement – overcomplicated solutions are quite usual. This is the case because there are many people involved in the conceptual process, who do not have the technical expertise to make a reliable cost-benefit analysis. Hence, they don’t see the problem. Double-check the requirements whether they are really stripped down to the essence that the client needs. Take the time to discuss critical points and explain why other solutions might be more suitable. You “Ain’t Gonna Need It Coding is about building things. When Google+ launched, Mark Zuckerberg – founder of Facebook – was one of the first who created an account in the social network that was aiming to take his own down. He added just one line to the About me section: »I’m building things.«. I honestly think that this is a brilliant sentence, because it describes the pure essence of coding in a few simple words. Why did you decide to become a coder? Enthusiasm for technical solutions? The beauty of efficiency? Whatever your answer is, it may not be »building the 1.000.001th corporate website with standard functionality«. However, most of us are making money that way. No matter where you are working, you’ll likely be confronted with boring and repetitive tasks every now and then. 80% of the time spent on a software project is invested in 20% of the functionality. The You ain’t gonna need it principle (YAGNI) deals with these tasks. It basically translates to: If it’s not in the concept, it’s not in the code. For example, it’s a common practice to abstract the database access in a layer that handles the differences between various drivers, like MySQL, PostgreSQL and Oracle. If you’re working on a corporate website that is hosted on a LAMP stack, on a shared host, how likely is it that they will change the database? Remember that the concept was written with budget in mind. If there’s no budget for database abstraction, there’s no database abstraction. If the unlikely event of a database change does occur, it’s a natural thing to charge for the change request. You may have noticed the difference between You ain’t gonna need it and DRY-driven modular architectures: The latter is reducing complexity by dividing a project into manageable components, while the former is reducing complexity by reducing the number of components. YAGNI is similar to the KISS principle, as it strives for a simple solution. However, KISS strives for a simple solution by trying to implement something as easily as possible; YAGNI strives for simplicity by not implementing it at all! Theodore Sturgeon, an American sci-fi author, stated the law: »ninety percent of everything is crap«. This is a very radical approach, and not overly helpful in real-world projects. But keep in mind that “crap” can be very time consuming. A good rule of thumb is: roughly 80% of the time spent on a software project is invested in 20% of the functionality. Think about your own projects! Everytime I do, I am surprised by the accuracy of the 80:20 rule. 80% of the time spend on a software project is invested in 20% of the functionality. If you’re in a company that is notorious for tight deadlines and imprecise concepts, this is a powerful strategy. You won’t be rewarded for implementing a database abstraction layer. Chances are that your boss does not know what a database abstraction layer even is. While this concept may sound simple, it can be hard to differ the necessary from the unnecessary parts. For example, if you’re comfortable with a library or a framework that uses database abstraction, you won’t save much time in dumping it. The key concept is another way of looking at software: we’re trained to write future-proof and maintainable software. This means that we are trained to think ahead. What changes may occur in the future? This is critical for bigger projects, but overhead for smaller ones. Don’t think into the future! If a small corporate website does fundamental changes, they may have to start from scratch. This is not a significant problem compared to the overall budget. Planning a Project When you’re preparing your to-do list for a project, consider the following thoughts: Achieve lower complexity by reducing the level of abstraction. Separate functionality from features. Assume moderate non-functional requirements. Identify time consuming tasks and get rid of them. Let’s go a little bit into detail! I already provided an example for the first item in the list: don’t wrap a database driver around a database abstraction layer. Be suspicious of everything that adds complexity to your software stack. Notice that abstraction is often provided by third party libraries. For example – depending on your programming language -, a persistence layer, like Hibernate (Java), Doctrine (PHP) or Active Record (Ruby) comes with database abstraction and object-relational mapping. Each library adds complexity. It has to be maintained. Updates, patches and security fixes have to be applied. We implement features everyday, because we anticipate them to be useful. Hence, we think ahead and implement too much. For example, many clients want to have a mobile website. Mobile is a term of wide comprehension; it’s not a design decision. It’s a use case! People who are using a mobile website are, well, mobile. That means they may want to access other information or functionality than a user who visits the site laid back at his desktop. Think of a cinema site: Users on the bus will likely want to access the starting time of upcoming movies, not the 50 MB trailer. Bad concepts can often be identified by the lack of non-functional requirements. With an appropriate budget, you would perform a dedicated analysis of the requirements for mobile. Without this analysis, you will simply provide the same information as is on the desktop site. This will be just fine for many circumstances! Because mobile browsers are very clever in adjusting desktop sites to their display, a radical YAGNI approach might be to not write a mobile site at all! Non-functional requirements do not describe behaviour of a software, they describe additional properties that can be used to judge the quality of software. Since describing software quality presumes knowledge about software, bad concepts can often be identified by the lack of non-functional requirements. Maintainability, level of documentation, and ease of integration are examples for non-functional requirements. Non-functional requirements should be measurable. Hence, »The page should load fast.« is too inconcrete, »The page should load in two seconds max during an average performance test.« is very concrete and measurable. If you want to apply the YAGNI principle, assume moderate non-functional requirements if they are not mentioned in the concept (or if they are mentioned, but inconcrete). If you are writing the non-functional requirements yourself, be realistic: A small corporation with 20-50 page visits a day does not require three days of performance tweaking – as the page should load fast enough because the server is not busy. If the corporation can increase the number of daily visits, a better server or hosting package shouldn’t be too expensive. Last, but not least, remember the 80:20 rule-of-thumb! Last, but not least, remember the 80:20 rule-of-thumb! We have to identify the time consuming parts. If a part is absolutly necessary, you have to implement it. The question should be: how will you implement it? Does it have to be the latest framework with a small community? Do you need to switch to the just-released version of a library if the documentation is not up to date? Should you use the new CMS, when not all extensions are available? How much research will be necessary to do so? »That’s the way we have always done it.« is not an exciting approach, but it’ll get the job done without surprises. It’s important to understand that all of this does not mean that you can start writing dirty code with hacks along the way! You’re writing a lightweight application, not a messy one! However, You ain’t gonna need it is a practical approach. If it would cause many lines of code to reduce a few lines of code duplicates, I personally think that you may relate efforts to budget and some unDRYness is ok. It’s a small application. Hence, the added maintenance complexity is acceptable. We’re in the real-world. Let’s come back to the inital thought: we like building things. When Beethoven wrote the Diabelli Variations, it was contract work. I don’t think he made compromises on budget. He ran the extra mile, because he did not want to write average music; he wanted to write a perfect composition. I’m certainly not implying that we’re all geniuses, and that our brilliance should shine through every line of code, but I like to think of software architecture as compositions. I’m a passionate developer, because I want to build perfect compositions, and I want to be proud of the things I’m building. If you want to be an experienced and business-proofed developer, you have to master the You ain’t gonna need it principle. If you want to keep your passion, you have to fight against it every now and then. Summary Software principles are a way of looking at software. To me, a good principle should be based on a simple concept, but it should evolve to a complex construct of ideas when confronted with other techniques and philosophies. What are your favourite software principles?&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/OEKO43VM4do" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/OEKO43VM4do/</link>
      <guid isPermaLink="false">http://net.tutsplus.com/tutorials/tools-and-tips/3-key-software-principles-you-must-understand/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nettuts+%28Nettuts%2B%29</guid>
    <feedburner:origLink>http://net.tutsplus.com/tutorials/tools-and-tips/3-key-software-principles-you-must-understand/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nettuts+%28Nettuts%2B%29</feedburner:origLink></item>
    <item>
      <title>I'm Feeling Moogy: Google Taps Native Web Audio for Awesome Moog Tribute</title>
      <description>Google's birthday tribute to electronic music pioneer Robert Moog isn't just a cool looking doodle, its also a fully functional Moog synthesizer.&lt;img src="http://feeds.feedburner.com/~r/XYDOHTML5/~4/HfTfR_jGeis" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/XYDOHTML5/~3/HfTfR_jGeis/</link>
      <guid isPermaLink="false">http://www.webmonkey.com/2012/05/im-feeling-moogy-google-taps-native-web-audio-for-awesome-moog-tribute/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29</guid>
    <feedburner:origLink>http://www.webmonkey.com/2012/05/im-feeling-moogy-google-taps-native-web-audio-for-awesome-moog-tribute/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+wired%2Findex+%28Wired%3A+Index+3+%28Top+Stories+2%29%29</feedburner:origLink></item>
  </channel>
</rss>

