SDT301 coverTIP_Layout 1 4/18/14 2:07 PM Page 1

A BZ Media Publication

MAY 2014 • ISSUE NO. 301 • $9.95 • www.sdtimes.com SDT301 coverTIP_Layout 1 4/18/14 1:15 PM Page 2 SDT301 cover_Layout 1 4/21/14 11:53 AM Page 1

A BZ Media Publication

MAY 2014 • ISSUE NO. 301 • $9.95 • www.sdtimes.com SDT301 Full Page Ads_Layout 1 4/17/14 2:46 PM Page 2 Data Quality Tools for Developers Address Verification A better way to build in data verification Phone Since 1985, Melissa Data has provided Verification the tools developers need to enhance databases with clean, correct, and current contact data. Our powerful, yet affordable APIs and Cloud services Email provide maximum flexibility and ease of Verification integration across industry-standard technologies, including .NET, Java, C, and C++. Build in a solid framework for data quality and protect your investments in data warehousing, Geocoding business intelligence, and CRM.

• Verify international addresses for over 240 countries Matching/ • Enhance contact data with Dedupe phone numbers and geocodes

• Find, match, and eliminate duplicate records Change of • Sample source code for rapid Address application development

• Free trials with 120-day ROI guarantee Visit Us at TechEd Booth #1934 Melissa Data. Architecting data quality success.

www.MelissaData.com 1-800-MELISSA SDT301 Full Page Ads_Layout 1 4/17/14 6:46 PM Page 3 SDT301 page 4_Layout 1 4/21/14 2:37 PM Page 4

Contents ISSUE 301 • MAY 2014

FROM THE EDITORS FEATURES 11 Bleeding hearts are not so bad What kind of quality are you looking for? 11 ‘Because we can’ isn’t good enough 12 SD Times on the Web NEWS 14 unifies development platforms 16 The 411 on Big Data TechCon 16 Report: Collaborative development is on the rise 20 The Poppy Project: A robot for the masses 21 Jasper expands voice controls page 32 22 Single-page apps: The new normal 24 How to get management on board with agile BUYERS GUIDE 26 Algoraves: Coding on the dance floor DevOps reality check

page 45 30 Text Control introduces new HTML5 rendering technology SPECIAL REPORT COLUMNS Responding to changes 59 CODE WATCH by Larry O’Brien in Responsive Web Design Embrace Java 8 (with caution)

60 GUEST VIEW by Geoffrey Vaughan Threats magnified in HTML5

61 ANALYST VIEW by Rob Enderle Why you’ll be a Borg in 10 years

62 INDUSTRY WATCH by David Rubinstein Be resilient as you PaaS page 54 Cover photo by www.underyourskinphoto.co.uk

Software Development Times (ISSN 1528-1965) is published 12 times per year by BZ Media LLC, 225 Broadhollow Road, Suite 211, Melville, NY 11747. Periodicals postage paid at Hunting ton Station, NY, and additional offices. SD Times is a registered trademark of BZ Media LLC. All contents © 2014 BZ Media LLC. All rights reserved. The price of a one-year subscription is US$179 for subscribers in the U.S., $189 in Canada, $229 elsewhere. POSTMASTER: Send address changes to SD Times, 225 Broadhollow Road, Suite 211, Melville, NY 11747. SD Times subscriber services may be reached at [email protected]. SDT301 Full Page Ads_Layout 1 4/18/14 1:08 PM Page 5 ADC_SDT301_Layout 1 4/17/14 7:04 PM Page 6

Attend the Largest Dedicated Android Development Conference in the Universe!

Check out these NEW classes: ...and these An Introduction to Building Gradle: From User to Addict conference Enterprise-Secure Android Apps Jake Ouellette favorites: G. Blake Meike Home Sweet Home: Widgets and Live Android as the New Standard Embedded OS Wallpapers Android Emulator Myths... Karim Yaghmour Elizabeth Mezias Busted Luis de la Rosa Android Security: New Threats, New Push Message Primer Capabilities Mark Wickham Battle-Tested Patterns in Jonathan Levin The Art of Building Reusable UI, Parts I and II Android Concurrency, Connect Your App to the Real World with Stephen Barnes Parts I and II Doug Stevenson Services Location API Top 5 Android Performance Tips Jim Wilson Godfrey Nolan Bootstrapping Android Development Creating Composite Views in Android Who’s Afraid of ContentValues? Donn Felker James Harmon Ian Darwin Customizing Android for Fun and Profit, Android Networking for the Enterprise Dive into Android Fragments Parts I and II G. Blake Meike Donn Felker Dave Smith Understanding Android Studio and Its Role in Talk to Your Toaster Part I: Developing Android Bluetooth Smart Ready the Android Developer Toolset Bluetooth in Your Application Apps Jim Wilson Dave Smith Vincent Gao A Totally Different View: Under the Hood with Talk to Your Toaster Part II: Five Strategies to Achieve Continuous Android and Linux Developing USB Accessories Unattended Testing Jonathan Levin Dave Smith Uzi Eilon Leveraging Fully Customized ViewGroups The Action Bar, Front to Back Automotive Android From the Ground Up Mark Murphy Godfrey Nolan James Baca Embedded Android Tutorial Git for the Android Developer, Parts I and II OpenGL-ES 3.0 and Beyond—Modern Karim Yaghmour Tony Hillerson OpenGL Programming Ron Fosner More classes online at AnDevCon.com/classes.html

Register TODAY at www.AnDevCon.com

A BZ Media Event #AnDevCon AnDevCon™ is a trademark of BZ Media LLC. Android™ is a trademark of Google Inc. Google’s Android Robot is used under terms of the Creative Commons 3.0 Attribution License. ADC_SDT301_Layout 1 4/17/14 7:04 PM Page 7 SDT301 page 8_Layout 1 4/17/14 7:08 PM Page 8

®

EDITORIAL Instantly Search EDITOR-IN-CHIEF David Rubinstein 631-421-4158 x105 • [email protected] Terabytes of Text SENIOR EDITOR Alex Handy • [email protected] COPY EDITOR Adam LoBelia • [email protected] 25+ fielded and full-text search types SENIOR ART DIRECTOR Mara Leonardi • [email protected] SOCIAL MEDIA AND Rob Marvin • [email protected] ONLINE EDITORS dtSearch’s own document filters Christina Mulligan • [email protected] support “Office,” PDF, HTML, XML, ZIP, COLUMNIST Larry O’Brien emails (with nested attachments), and CONTRIBUTING WRITERS Alyson Behr, Patrick Hynds, G. Arnold Koch, many other file types Lisa L. Morgan, Dave Smith, Alexandra Weber Morales Supports databases as well as static CONTRIBUTING ANALYSTS Rob Enderle, Mike Gilpin, Mike Gualtieri, and dynamic websites Jeffrey Hammond, Al Hilwa

CUSTOMER SERVICE Highlights hits in all of the above SUBSCRIPTIONS [email protected]

APIs for .NET, Java, C++, SQL, etc. ADVERTISING TRAFFIC Shauna Koehler 631-421-4158 x112 • [email protected] 64-bit and 32-bit; Win and Linux LIST SERVICES Shauna Koehler 631-421-4158 x112 • [email protected]

REPRINTS Stacy Burris "lightning fast" Redmond Magazine 631-421-4158 x108 • [email protected] ACCOUNTING Viena Ludewig 631-421-4158 x110 • [email protected] "covers all data sources" eWeek OTHER QUESTIONS 631-421-4158 x129• [email protected]

"results in less than a second" ADVERTISING SALES InfoWorld PUBLISHER David Lyman 978-465-2351 • [email protected]

EUROPE, MIDDLE EAST David Lyman hundreds more reviews and developer WESTERN ASIA 978-465-2351 • [email protected]

case studies at www.dtsearch.com WESTERN U.S., WESTERN Paula F. Miller CANADA, EASTERN ASIA 925-831-3803 • [email protected] AUSTRALIA, INDIA

dtSearch products: EASTERN U.S. Jonathan Sawyer Desktop with Spider Web with Spider EASTERN CANADA 603-924-4489 • [email protected] Network with Spider Engine for Win & .NET PUBLISHING DIRECTOR Ted Bahr 631-421-4158 x101 • [email protected] Publish (portable media) Engine for Linux Document filters also available for separate licensing PRESIDENT Ted Bahr FOUNDING EDITOR Alan Zeichick Ask about fully-functional evaluations BZ MEDIA LLC 225 Broadhollow Road, Suite 211

® Melville, NY 11747 The Smart Choice for Text Retrieval since 1991 TEL 631-421-4158 FAX 631-421-4130 www.dtSearch.com 1-800-IT-FINDS www.bzmedia.com [email protected] SDT301 Full Page Ads_Layout 1 4/17/14 6:47 PM Page 9 :`Z[LTZPU-VJ\Z (^HYK^PUUPUNTVKLSPUN KLZPNU[VVSZMVY:VM[^HYL)\ZPULZZ :`Z[LTZ

1SHIP(VMZIR(IZIPSTQIRX

*VSSHIVYH[P]LTVKLSPUN KLZPNULU]PYVUTLU[ (UHS`aLKLZPNU I\PSK^P[OL_JLW[PVUHSX\HSP[` LMÄJPLUJ` ® <43 IHZLKJVYLWS\ZTHU`Z[HUKHYKZIHZLKL_[LUZPVUZ )745™:`Z43:VH43™)7,3™ THU`V[OLYZ Sparx Systems :PT\SH[PVUJVKPUNKLI\NNPUN ]PZ\HSPaH[PVU[VVSZ 7LYMVYTHUJLWYPJL WYLJPZPVU www.sparxsystems.com -\SSSPMLJ`JSLZ\WWVY[^P[OLUK[VLUK[YHJLHIPSP[`

Join the community www.community.sparxsystems.com

<43c)745c++:™c)7,3c:`Z43c;6.(-®c*c5,;c1H]H™c(:7c7/7c+LSWOPc:VH43™c(YJ.0:™c:64-™c?43™c?:+c?40®c>:+3c4VYL SDT301 Full Page Ads_Layout 1 4/17/14 6:47 PM Page 10 SDT301 page 11_Layout 1 4/18/14 3:01 PM Page 11

www.sdtimes.com May 2014 SD Times 11

FROM THE EDITORS

Bleeding hearts are not so bad id you patch OpenSSL? If not, project. This is exactly why the management. Dwhy are you reading this? Go OpenBSD folks decided to turn their A far more coherent argument rea- patch! gaze upon OpenSSL. The expertise of sons that OpenSSL is extremely old, For everyone else, go ahead and the OpenBSD team will shine a lot of TLS is obtuse, and when combined, calm down. Let’s be reasonable here. light into the narrow corners of the these two elements make for a terrible The danger has passed for now. The OpenSSL project. development experience. real danger here is not even Heart- But we’ll need more than them. It is the frustration from dealing bleed, frankly. Everyone needs to tuck in and fix with inhospitable programming para- We’re not saying Heartbleed wasn’t OpenSSL. (Perhaps “fix” is not the digms that leads to developers not dangerous. What we are saying, howev- right phrase for what needs to be done, implementing encryption properly, or er, is that the real problem wasn’t the however. Perhaps the proper word is to their sloppy coding. ability to read data from OpenSSL’s “advance.”) But there is no excuse for this par- RAM cache. The real problem was the A lot of ire came out during the ticular bit of sloppy coding. The fact that an entire world of Web-based weeks following Heartbleed, and much Heartbleed attack was a serious wake- computing relies on a project that of it was aimed at the way OpenSSL up call for the industry. We’re sincere- amounts to little more than four or five behaves and how it is designed. One ly hopeful that the open-source com- people who aren’t paid very much. spurious criticism was that C and C++ munity, like OpenBSD, can pitch in The industry needs to support should not be used for security-critical and advance OpenSSL so that it can OpenSSL with more resources, more infrastructure. catch up to the rest of the world in eyeballs, and more developers. As of That’s no solution, and we’ve all terms of security, ease of use, and reli- this writing, the OpenSSL develop- known how to develop securely in C ability. But that’s the thing about open ment team consists of 11 people. for many years. Often exploits come source, isn’t it? If one of the corner- We’ve heard that only about two of from lazy coding, not the fact that the stones of our industry crumbles, it’s them were actively maintaining the language does not support memory our own fault. z ‘Because we can’ isn’t good enough his seems to have come straight thing here? we can create this cool software that Tfrom the “I guess we really didn’t It seems to us that cameras are used can do certain things doesn’t mean we think it through” department: to protect the properties to which they ought to. While software in the vast As reported on sdtimes.com, devel- are attached. For instance, a jewelry majority of cases is created to improve oper Sander Veenhof created an app store will have a camera inside to watch our lives, it still too often is misused by that lets people know about “privacy for burglars, and to capture their image malicious groups or individuals. intrusions caused by surveillance cam- in the event of a crime. So will a bank, Technology is racing out of control, eras.” (Quotation marks are our own, and a convenience store. Some will even as very brilliant minds create all kinds for emphasis.) Apparently, Google post a sign that says “closed-circuit cam- of applications and devices simply Glass wearers can see green “safe” eras in operation” without really having because they can. Drones that deliver zones where no cameras are around, them, to use as a deterrent to crime. pizzas? Applications that wearers can and red “hot” zones in which they are Now, imagine a burglar steals the use to avoid detection? being watched. Google Glass and has this app installed. There needs to be some kind of This, apparently, is to protect Glass He’ll simply go to a store that does NOT industry oversight to slow this pace, to wearers from an invasion of their priva- have surveillance and rob that one. examine why things are being created cy in areas covered by closed-circuit Is this really what we want? Technol- and to what end they can be used, cameras. (We’re not exactly sure how ogy that can aid and abet people with before we are simply left with a very this is classified as an invasion of priva- criminal intentions? We certainly hope bad outcome and the lament, “I guess cy, but that’s another matter entirely.) not. we didn’t really think it all the way So we ask... are we missing some- Like the headline says: Just because through.” z SDT301 page 12_Layout 1 4/18/14 2:34 PM Page 12

12 SD Times May 2014 www.sdtimes.com

A whole new meaning to ‘end of life’ Windows XP and Internet Explorer 6 both had their plugs pulled in April, but even at the end they still had people using them. Microsoft wants people to get with the times, and to help spur a move away from the old, it has created Escape from XP, a game allowing players to blow away icons from Microsoft’s XP era. “Some other old friends (think a certain paperclip helper) also show up along the way,” reports Rob Marvin. If you’re eager to see Office Assistant ruin things one last time, check it out here: sdt.bz/70051.

Who’s worried about Oculus? It’s been a while since Facebook Finally, a way to wear bought Oculus for a few billion. JavaScript on your face Those who chipped in for its Kick- starter were not too happy, but is this good news for developers Google Glass development is advancing fast, and the lat- in general? Not according to Alex Handy: “John Carmack asked est breakthrough comes from two Ph.D. candidates. specifically what people were worried about via his Twitter feed. WearScript is an open-source JavaScript framework that My first take on why people are worried is purely related to him: aims to let people build apps for Glass as if they were After an acquisition of any kind, talent flees like rats off a sinking any other kind of Web app. ship.” You can read Alex’s full take at sdt.bz/68997. “The framework can utilize or repurpose any of Glass’ native capabilities while also connecting the wear- able to other input devices and hardware,” reports Rob Marvin. You can see more for yourself at sdt.bz/68986.

The Top 5 GitHub projects from April The world’s largest project repository allows you to see what the most popular projects are. Here’s what saw the most action in April: Every breath you take 1) Slick 2) GitHub Cheat Sheet (I’ll be encrypting you) 3) Free Programming Books It’s difficult to keep ahead of hackers when it comes to software 4) 2048 security, but researchers may have found a new way to do it. “The 5) GitBook encryption method is based on coupling functions, which are what allow the heart and lungs to exist independently while operating in

sync,” reports Rob Marvin. That’s right: Signals between your heart Inc. GitHub, © 2013 Octocat, and lungs (in a process known as system coupling) can be used to encrypt data. That heartbeat you have may be used to keep your SD Times wants data secure, if this method takes off. More is available at to hear from you. sdt.bz/69025. Join us on LinkedIn and Facebook. SDT301 Full Page Ads_Layout 1 4/17/14 6:47 PM Page 13 SDT301 page 14,15_Layout 1 4/18/14 3:12 PM Page 14

14 SD Times May 2014 www.sdtimes.com Microsoft unifies development platforms Build conference introduces universal Windows apps, Windows Phone 8.1 BY ALEX HANDY multiple devices. Windows will help ect—all the code, all the images, and Keynote addresses at this year’s Build you do that. We know you’ve made a even all my XAML—and moving it into conference focused on Windows desk- huge investment in your code and you my shared project. Like you, I have tops, Windows Phone and Windows need to carry that forward. Windows some third-party libraries. I used Surface. These three platforms were will help you do that. You need to be Json.NET here. We don’t assume unified from a development perspec- able to deliver apps across platforms. you’re going to share, but you just move tive, as Microsoft announced universal Windows will do that.” what you want to share and put it in the Windows apps during the keynote. Kevin Gallo, group program man- shared node.” “With the Windows Phone 8.1 ager at Microsoft, showed off the The results of his work allowed Gal- release, we brought the new Windows mechanisms of universal Windows lo to quickly transfer a Windows-based Runtime to phones. Now you can pro- apps with a Visual Studio demonstra- full-screen application into a slide-to- duce common apps across phones, PCs tion. The same code, whether C#, browse Windows Phone application. and tablets,” said David Treadwell, cor- C/C++ or even now JavaScript, can be Treadwell went on to explain that porate vice president at Microsoft. “To pushed into any of Microsoft’s three Microsoft Office is being transferred to enable universal Windows apps, we’ve platforms by sharing chunks of code, Windows Phone by becoming a univer- streamlined every phase of Windows he said. sal Windows app. Kirk Koenigsbauer, development. “You can very easily mark what code corporate vice president at Microsoft “You need to reach customers across and assets you want to share,” said Gal- Office, demonstrated the advances the lo. “Since I built this entire thing, I Office team has been experimenting want to share the entire app. It’s taking with on non-desktop platforms. everything in my Windows 8.1 proj- “From a developer perspective, the

So, is it a universal platform or not? Weeks after announcing universal Windows apps at the Build developer conference, Microsoft is seemingly fragmenting its platforms by killing Windows 8.1 while contin- uing to push Windows Phone 8.1. In a TechNet article, Microsoft desktop and application virtualization consultant Steve Thomas announced an end of support and security patches for Windows 8.1, Windows 8.1 RT and Windows Server 2012 R2 in the next 30 days. After that point, only those who’ve installed the Windows 8.1 Update 1 or are still running Windows 8 will continue to receive updates. At the same time, Microsoft released Windows Phone 8.1 and announced the avail- ability of the Windows Phone 8.1 developer preview, promoting the building and test- ing of universal Windows apps. The move appears to sow a divide between a platform pushing forward and a platform in disarray, as customers who haven’t yet updated to the error-ridden Windows 8.1 Update 1 are left in limbo between an obsolete OS and a currently nonexistent update. The concept of universal Windows apps is a seamless developer application expe- rience across desktops, tablets and smartphones. Yet without cohesiveness between Windows 8.1 and Windows Phone 8.1, it remains to be seen whether apps can be truly universal until the schism is resolved. The Windows and Windows Phone divisions Users can ask Cortana to help with tasks, such should be acting in unison, not moving in opposite directions. z as creating an appointment, setting an alarm, —Rob Marvin calling, texting, getting directions, and more. SDT301 page 14,15_Layout 1 4/18/14 3:12 PM Page 15

www.sdtimes.com May 2014 SD Times 15

available from MSDN right now; how- ever, this is only a release candidate for Visual Studio and not a final release. Why Windows? Microsoft CEO Satya Nadella addressed the crowd at Build by taking some prerecorded questions at the end of the keynote address. One of those questions caused him to ruminate on Microsoft’s past, and its similarity to its future. “If you think about what developers mean to us, it’s pretty deep,” he said. “We were a tools company before we were an office company before we were a Windows company. We are again in Streamlining development is important for universal Windows apps, says David Treadwell. that era now. We’re bringing the entire- ty of the Windows family from the Windows Runtime has been a great respond to push notifications and Internet of Things to consoles to tablets place for us to build highly responsive geofencing. to phones to PCs. We have that prolif- apps,” he said. “We’re trying to bring Treadwell also announced the open- eration in ubiquitous computing in forward the experiences from Office on source availability of Microsoft’s ambient intelligence. It’s exciting times Win32 to the modern platform itself.” JavaScript interface library, WinJS. The for us and developers in terms of oppor- Koenigsbauer then demonstrated project is now available on GitHub tunity to take your apps and bring them how the listing of recently used docu- under an Apache 2.0 license. He said forth to Windows as it evolves.” ments are linked to Microsoft’s Office the project was also becoming cross- When asked why someone should 365 online offering, allowing desktops, platform. build for Windows, Nadella said, “You phones and tablets to see the same Microsoft also announced that it has want to build for Windows because we recently used list. been working on Roslyn, a next-genera- are going to innovate with a challenger Treadwell said that old applications tion compiler for Visual Basic and C#. mindset. We’re not trying to do just the can be ported forward to become uni- This compiler is designed not to be so next version of Windows; we’re going to versal Windows apps with minimal much as a black box as regular compil- come at this by innovating in every effort. A demonstration that involved ers are. The goal is to make the compil- dimension the software and hardware porting old ADO.NET code to a Win- er behave more like an API. across the Windows family. We’ll make dows Tablet showed how even synchro- Roslyn is a work in progress, but at progress with rapid pace.” z nous calls could be worked around. Build, Microsoft announced that it would be made open source. Of clouds and Cortana As for the future, the company plans Elsewhere at the show, Microsoft to offer a version of Windows designed demonstrated Cortana, its answer to for embedded devices and the Internet Apple’s Siri and Google’s Now service. of Things for free to developers. With the release of Windows Phone Devices with screens smaller than nine 8.1, said Treadwell, developers no inches are also eligible to receive future longer need to define a grammar for Windows updates for free. interfacing with Cortana. Rather, Cor- The Xbox One, on the other hand, is tana can discern needs from its existing becoming part of the universal Win- cloud-based database. dows apps pantheon, though no actual Cortana is based on the character date for this functionality was given. In from the Halo series of games. the future, though, developers will be Windows Phone 8.1 will also include able to deploy their desktop and phone dozens of new features for developers. apps onto the Xbox One using the uni- New video-editing capabilities will be versal Windows apps capabilities of

available. Developers will also have the Visual Studio. Microsoft of courtesy Photos ability to poll background triggers. A new version of Visual Studio sup- Satya Nadella explains Microsoft’s plan to These triggers will allow applications to porting universal Windows apps is move Windows into the Internet of Things. SDT301 page 16_Layout 1 4/21/14 2:36 PM Page 16

16 SD Times May 2014 www.sdtimes.com The 411 on Big Data TechCon Conference focuses on gaining insights from fire hoses of information

BY DAVID RUBINSTEIN CAMBRIDGE, MA — Need proof that the momentum around Big Data isn’t waning any time soon? One would have needed to look no further than the packed Hyatt Regency ballroom here at last month’s Big Data TechCon, where an introductory, full-day, hands-on, all- things-Hadoop tutorial drew a capacity crowd eager to take the plunge. In that session, attendees were introduced to the core concepts of Hadoop, as well as the critical paths of HDFS, Map/Reduce and HBase. The basics of how to effectively write Pig and Hive scripts, and how to choose the correct use cases for Hadoop, were also A slide from “Hadoop: A One-Day, Hands-On Crash Course,” taught by Sameer Farooqui. covered. So, as the Big Data newbies got an a competitive edge for your organiza- you can analyze this: The next Big Data immersion in Hadoop, others were tion by understanding what the data TechCon is set for Oct. 27-29 in looking for insights into doing analytics contains? Burlingame, Calif. against the data. After all, what good is That is what Big Data TechCon is Big Data TechCon is produced by collecting all that data if you can’t gain about. If you missed last month’s event, BZ Media, which publishes SD Times. z Report: Collaborative development is on the rise BY ROB MARVIN in collaborative development to contin- to 80% also said collaborative develop- Collaborative software development is ue because of its tangibly faster project ment practices have been seen as more experiencing a period of rapid growth, time to market, improved business rela- strategic to their organization over the according to a new report from the Lin- tionships and lower development costs. past three years. ux Foundation. The key findings of the report were: • Investments in collaborative software The foundation defined collabora- • Ninety-one percent of business man- development are on the rise. Forty-four tive development as “software develop- agers and executives said collaborative percent of business managers and exec- ment that involves multiple individuals software development was somewhat to utives said they would increase their and companies, in many cases compet- very important to their business. Close investments in collaborative software ing in the same industry, and in which development in the next six months; the codebase is open source and a The Top 5 benefits 42% said they would sustain their cur- shared investment.” rent investment, and no one reported of collaborative development for During the first week of March, an software developers: they would decrease their investment. invitation-only survey polled 519 soft- 1. Exposure to new tools and develop- • Sixty-three percent of developers said ware developers and 167 business man- ment practices they spend more time now on collabora- agers from companies such as Fujitsu, 2. Significant growth in skill sets tive software development, compared NEC and Oracle to gauge trends in with five years ago. Fifty-nine percent 3. Large, strong knowledge base from open-source and Linux development. reported increased participation in col- which to draw expertise and support The result was the Linux Founda- laborative software development in just 4. Significant growth in professional tion’s 2014 Collaborative Develop- the last year. networks ment Trends Report, which shows that • Eighty-three percent of developers 5. A sense of satisfaction in being companies view collaborative develop- said they benefitted personally from involved in something bigger than ment as a key to future success. The collaborative development through any one company report projected growth and investment exposure to new tools and practices. z SDT301 Full Page Ads_Layout 1 4/17/14 6:54 PM Page 17 SDT301 Full Page Ads_Layout 1 4/17/14 6:48 PM Page 18 SDT301 Full Page Ads_Layout 1 4/17/14 6:48 PM Page 19 SDT301 page 20,21_Layout 1 4/18/14 11:39 AM Page 20

20 SD Times May 2014 www.sdtimes.com

Poppy’s hardware designer, Matthieu Lapeyre, playing with the robot.

Open-source Poppy Project aims for programmable automatons BY ROB MARVIN France-based Flowers Laboratory, in the legs, of the vertical column in bal- The robots are coming. Advances in conjunction with the French Institute for ancing and dynamic walking, and then robotic production and artificial intelli- Research in Computer Science and very quickly we also decided to make gence are moving humanity progressive- Automation and ENSTA ParisTech. this robot open source. We wanted to ly closer to the sentient beings of science What began as a research project to share with other labs around the world fiction lore. And Google has bought 12 study human development and motor in a community of science, so that not emerging robotics companies in the past skills evolved into Poppy: a humanoid only could other labs reproduce what year, secreting the technology away to platform consisting of an open-source we’re doing, but they can use the tools experiment with in a lab somewhere in Python library and framework along with we’ve developed for their own research the depths of Googleplex. 3D-printed modular hardware, designed projects so they don’t need to reinvent Google’s quest to create a real-life to provide an affordable and hackable the wheel.” Android may sound a bit too close to robot for science, education and art. the dystopian beginnings of “The “Open source both for the skeleton Prototype Poppy Matrix,” “The Terminator” or “I, and software is especially attractive The Poppy Project began three years ago Robot” for comfort, but on the other because it’s made so that people can as a product of the 3D printing boom. end of the spectrum is an open-source hack it, transform it, improve it,” said Oudeyer explained that traditional man- robotics movement aiming to bring Pierre-Yves Oudeyer, research director ufacturing techniques made the creation cheap, accessible robotic software and and founder of Flowers Lab. “There is and, more importantly, the continued hardware to the world. no entry barrier to get your hands on innovation of a humanoid robot prohibi- The Poppy Project is an open-source these technologies. tively costly and time-intensive, but the humanoid platform with child-sized pro- “We created the Poppy humanoid arrival of 3D printing allowed the mem- portions, designed by the Bordeaux, robot initially to study the properties of bers of the FLOWERS (FLOWing Epi- SDT301 page 20,21_Layout 1 4/18/14 11:40 AM Page 21

www.sdtimes.com May 2014 SD Times 21

genetic Robots and Systems) team to hold is education. A number of engineer- print, assemble and improve their robot ing schools and universities have reached Jasper expands design at a rapid pace. out about using Poppy as a teaching tool Poppy’s hardware, designed primarily to show the integration of mechanical by FLOWERS team member and Ph.D. engineering, computer science and elec- voice controls student Matthieu Lapeyre, allows for tronics in a single machine. The Flowers assembly in two to three days, with the Lab is also working to make Poppy pro- Open-source components sum of its parts costing about US$10,000. grammable with visual programming lan- Poppy is built for rich physical inter- guages and environments such as power platform action. Behind the mechanisms con- Scratch, to teach coding to students. BY ROB MARVIN trolling Poppy’s leg, hand, arm and tor- “The open-source philosophy is Two Princeton University undergrads so movements, wide-angle cameras and attractive to educators, because if this is have developed an open-source plat- LCD screen is a cross-platform library about learning how Poppy is walking, form for building always-on, voice-con- written in Python called PyPot. you really need to be able to open it, to trolled applications for any device. The PyPot framework, hosted on deconstruct it, to see how it’s built and Created by Charlie Marsh and GitHub, works on Linux, Mac OS and how it’s been designed,” Oudeyer said. Shubhro Saha, both Princeton University Windows to enable simple develop- Artists have also embraced Poppy, undergraduates, Jasper provides applica- ment, deployment and scripting gov- and the humanoid robot recently fin- tions with voice control that is always erning custom-built robots. PyPot ished up an artistic residence at the active. As with other voice-control soft- defines low-level motor commands as Lycée Sainte-Famille chapel in Bor- ware, such as Apple’s Siri and Microsoft’s well as higher-level primitive behaviors deaux. A dancer, a musician and a plas- newly announced Cortana, users control such as its gait. The framework then tician were engaged in the first artistic a Jasper-enabled application by speaking combines primitives and commands to application of Poppy as an expressive its name, followed by a command. create complex behaviors. tool, to explore the theme of motion. Applications integrated with Jasper “The main idea was to build some- “The Poppy platform is interesting for can perform Internet searches, update thing that was as easy as can be, some- [the artists] because of its association social media platforms, notify the user thing really, really simple,” said Pierre with movement,” Oudeyer explained. of e-mails, or control a music player. Rouanet, a FLOWERS team research “They set up a show where the humanoid The Developer API is configurable in a engineer and the programmer behind robot is dancing with the dancer, and standard (user initiates contact with PyPot. “The robot is not meant to be they’re exploring how the coupling of the Jasper) or notification (Jasper notifies used solely be computer scientists, but movement between the human and the the user of something) mode to create other people who are not as expert robot can be done in such a way that it’s custom controls for an application on developers.” producing emotional feelings.” any given device. The platform is inte- Rouanet continues to work on The FLOWERS team is currently grated with services such as Facebook, PyPot, improving Poppy’s control over working on simplifying the open-source Gmail and Spotify, the last of which balance, walking and other behaviors, software and hardware design of Poppy Marsh and Saha wrote a specific set of but he hopes other developers will aug- even further, with a major “1.0” release commands for. ment and reimagine what the open- set for September, according to Oudeyer. “[Jasper] has a dead-simple API,” source software is capable of. Beyond that, the team is focusing on fos- said Marsh in a promotional video. “As “I would like to see the software be tering the community to advance the a developer, you can build your own forked and used in many, many differ- technology beyond their laboratory. The voice-enabled applications to control ent directions,” he said. “As we’ve tried researchers see Poppy as a set of Lego anything.” to make it very generic, it could be real- bricks that could be used to build a new Jasper was created using a collection ly nice for people to use it to write dif- and diverse generation of widespread, of open-source libraries. It uses Pocket- ferent behavior for the robot. That accessible robots. Sphinx to perform speech recognition; behavior could be combined and “It’s really a platform that is providing eSpeak to generate its voice; and reused by other people, by other labs. Lego bricks for building animated struc- Phonetisaurus for on-the-fly creation of I’m sure they could do many thinks we tures, that would teach people how to dictionary and vocabulary models to haven’t even thought about.” use these technologies and then allow conform to the user’s speech. them to advance innovative products,” The platform’s hardware consists of a Building with Lego bricks Oudeyer said. “Poppy is one humanoid, Raspberry Pi Model B computer along Poppy is a platform for experimentation, but from this platform many groups of with a generic microphone and network not only in terms of computer science, people could invent variations such that adapter, and Jasper runs on the Debian- but also as part of a growing community this humanoid creature could be trans- based Raspbian operating system. of programmers, institutions and artists. formed into families and various sub- Jasper’s APIs and documentation are One space in which Poppy has taken families.” z available on GitHub. SDT301 page 22_Layout 1 4/18/14 3:14 PM Page 22

22 SD Times May 2014 www.sdtimes.com Single-page apps: The new normal JavaScript advances a novel way of making programs BY CHRISTINA MULLIGAN formed by the user. It gives the user come in play, he believed. Single-page applications (SPAs) are more of an ‘application’ feel rather than “I feel any enterprise that doesn’t finally starting to get some recognition, a Web page feel, without having to choose to go to single-page apps will according to Dru Henke, executive install anything.” find themselves on an island,” he said. director at NVISIA, who predicted in SPAs are different from loosely cou- Henke went on to explain that the the next few years that all applications pled architecture, but they fit effortlessly level of efficiency in developing an SPA developed will be SPAs. together, according to Henke. Loosely is a lot greater than just a page-based SPAs have been around since the coupled architecture separates the busi- app where a user needs to load and early 2000s, but due to the lack of ness layer from the presentation layer reload pages after every action. expertise and tools, they haven’t really using JSON and/or XML, while SPAs use had much popularity. JSON and/or XML in addition to Important SPA tips “They really kind of started in their HTML, JavaScript and CSS. Making SPAs search-engine friendly is emphasis about 10 years ago, but were “Both of these data formats are very one of the most challenging things about difficult to write at that point in time,” interoperable and ‘neutral’ with respect them, according to Connell. “In the cases said Henke. “Very few people had the to server-side technologies and, general- of an anonymous SPA, developers will expertise and saw it as too big of a chal- ly, loosely coupled service layers can need to ensure that not only they have a lenge to take on in the mainstream already speak in at least one of these for- good deep-linking strategy implement- enterprise setting.” mats,” he said. ed, but also a good way to expose this to Today, with the variety of tools and the search-engine crawler,” he said. IDEs, as well as a growing level of SPA benefits Developers also need to consider JavaScript expertise, creating SPAs is One of the biggest benefits of SPAs is the online/offline status of an applica- becoming easier, Henke explained. Jet- reach, according to Connell. “Where tion. With SPAs, users can load the app Brains offers IntelliJ IDEA. Google you would traditionally build a desktop and go offline, according to Connell. offers AngularJS and Google Web or mobile client application, building “If you want to support this scenario, Toolkit. Ember offers Ember.js. And an SPA allows developers to focus on you need to make sure all network calls there are many more. one implementation that everyone can test for the connectivity state and inform access, provided they are the user when the state changes,” he online and connected,” said. “In addition, you also need to typi- he said. cally implement some sort of client-side They actually aren’t all that different. Single-page According to Henke, caching to hold onto changes until con- applications, unlike traditional applications, are apps where SPAs in general are more nectivity is restored to the app.” instead of a page refreshing every time a user clicks on a sophisticated than tradi- “If you are trying to present some- link, only small bits of the application refresh. From a user tional apps. “The chal- thing that is slick-looking with a high perspective it seems that they are staying on the same lenge you get into when degree of polish from a user experience page the whole time—just like separating the presentation- writing multipage apps is level, then you are almost always going al layer from the business logic. These types of applications trying to maintain the to be pushed to a single-page app are becoming more and more popular due to thetools and state of what a user is because you don’t have the screen IDEs that have evolved over the past couple of years. doing,” he said. “That refresh happening every time you do state management something in a browser,” added Henke. “The tools have matured and the becomes a limiting factor on how Lastly, when deciding whether or frameworks are now more sophisticat- sophisticated your application can be.” not to build an SPA, developers need to ed, so developers don’t have to write so In the enterprise, user experience is consider whom they are trying to tar- much plumbing from scratch,” Henke becoming more important. When call get. “Some of the greatest improve- said. centers and other large-scale internal- ments we’ve seen recently around the “Users never really leave the page,” facing apps went from being rich clients creation and development of SPAs said Andrew Connell, a developer who running locally to being Web-based, depend on a more current browser,” specializes in Microsoft SharePoint and users gave up a lot of usability, according said Connell. content-management systems. “Rather, to Henke. Because of mobile, users have “Older browsers don’t have some of by leveraging JavaScript, CSS and gotten used to sophisticated apps and the ECMAScript v5 property support HTML fragments, parts of the page are expect that same kind of experience on that some of the popular SPA presenta- changed depending on the actions per- their browser, and that is where SPAs tion frameworks use.” z SDT301 Full Page Ads_Layout 1 4/17/14 6:32 PM Page 23 SDT301 page 24,25_Layout 1 4/18/14 3:11 PM Page 24

24 SD Times May 2014 www.sdtimes.com How to get management on board with agile Author Steve Denning talks about changing the focus from making money to delivering value

BY CHRISTINA MULLIGAN ly set aside coordinating work by same page when it comes to agile? Why Transitioning to agile often becomes an reports and plans and instead work in are they having such a hard time? obstacle when teams have made the very short cycles, deliver value at the Power in the market place shifted from switch while management does not. end of each cycle, and get feedback at the seller to the buyer and many organ- “The mistake that most organiza- the end of each cycle. izations just didn’t notice that paradigm tions are making today is that the lead- Those practices put together as a had shifted, and so they keep on trying ership isn’t really participating in the coherent self-reinforcing package have to do the same thing. They find them- transition,” said Lowell Lindstrom, vice a hard time in an organization that is selves running harder and harder just to president of services at VersionOne, in run on the old practices, and that’s the stay in place so as to not fall further a recent SD Times interview. “They’ll drama being played out in many organ- behind, and they are extremely stressed. sponsor the transition, fund the transi- izations. In a sense they know that something is tion and support the transition, but they Why is it important for management to be wrong, but they haven’t quite figured don’t actually participate. They don’t agile? out what it is and they haven’t by and actually do agile. They don’t actually The management will say our objective large brought it into agile practices. practice the things that they are asking is to meet out quarterly numbers, and Do you think management is just unaware their team members to do.” so everything focuses on how can we or unwilling to transition? Steve Denning, award-winning meet our quarterly numbers, how can They are entrenched in some very bad author and 2014 ALM Forum keynote we make money. The whole focus of habits, and in some cases they are huge- speaker, said one of the problems is the work starts to be pulled away from ly compensated for maintaining those most management is focused on mak- delivering value from customers and habits, particularly the C-suite. It’s very ing money rather than delivering value making a quick return. difficult to get someone to understand to customers. SD Times had a chance What the company starts doing is something when they are being paid not to talk to Denning on transitioning totally counter to the philosophy of agile, to understand it. That is the situation in management to agile. which is about delivering value to cus- many of these large organizations, but SD Times: What is agile management? tomers. So you have conflicts really at the economic forces are overwhelming Steve Denning: It involves focusing on every turn because the management is and will drive these organizations out of delivering value to customers rather looking at one set of values and measur- business unless they change. The choice than the goal of making money. ing things with one set of measures, allo- is change or die, and many may decide Although it in fact does make a lot of cating resources and rewarding and pun- to die, but they don’t have a choice to money, that’s the result, not the goal. ishing people based on those metrics. keep doing what they are doing. The goal is based on self-organizing Then you have the agile people working How are agile teams and management teams, rather than having individuals on a totally different set of goals and supposed to work together, and what report to management. It is workers metrics. You can try to set up buffers needs to be done in an organization to get coordinated in these agile practices, in between the two worlds, but the track there? their various versions of Scrum, Kan- record of coexistence is not a happy one. You have to introduce agile thinking ban, lean and whatnot, but they basical- Why do you think management isn’t on the throughout the whole organization. SDT301 page 24,25_Layout 1 4/18/14 3:11 PM Page 25

www.sdtimes.com May 2014 SD Times 25

Different goals, different ways of struc- are like revolutionaries within GE and blind trust. It has having a set of turing work, different ways of coordi- actively agitating for the whole GE to processes where there is continuous nating work, different ways of values, become agile. You have GE largely still direct feedback from customers: Are different ways of communication, those running on traditional lines, and then they on the right track? If not, why not? are the core principles of agile. So an you have a whole segment of the corpo- And in fact there is much more organization that wants to have the ration running on agile lines, so that cer- transparency than traditional manage- whole organization agile needs to run tainly lays the foundation for change. ment. It’s that transparency of agile that the organization on those principles. Ultimately, culture changes of this often horrifies management because This is a big shift; I am not saying it is a depth and magnitude require support suddenly all of the tricks that traditional simple thing to do. It is a huge transfor- at the top, and so it is great to have management play on are revealed, and mation and it is a different way of look- these islands of agile lower down, but so it becomes intolerable, and the man- ing at the world. It is a phase change. ultimately the top of the organization agement often backs off and says “We Going from ice to water, or it’s a Coper- has to come to terms with it and say, don’t like the look of that,” and goes nican Revolution where the center of “We are going to run the whole organi- back to their old ways. the universe is shifted. It used to be zation in a different way.” That hasn’t Trust grows from actually listening within the corporation, and now it’s happened in GE, but it will happen. It to people and understanding what they with the customers. It is a fundamental- is only a matter of time. are saying and then acting consistently ly different way of looking at and under- I have heard companies say that in order with what you say, and if you start doing standing the world. for managers and agile teams to be on the those things, then trust will build up. How is an organization supposed to transi- same page, there has to be a level of trust. When you don’t have that transparency tion the entire organization to agile? Who Do you agree with that? and you don’t have that consistency leads the transition? Absolutely. Trust is key. That is a big between saying and doing, then obvi- What you have in most big organizations problem in traditional management ously trust breaks down, so those things are pockets of agile, even large, very firms: There is very low trust. And that are age-old factors in building up trust large pockets. I mean in GE for is one reason that it runs into problems. and destroying trust. You can destroy instance, a very large organization that There is also verified trust when agile trust in about 10 seconds, and it takes a has a huge agile community in it, they and Scrum are run properly. It is not long time to build up trust. z Do Not Just Go with Any Tool! Go with the Best Tool Winner of ϳ͘ϬϬ Gold Rommana ALM Team is Free RM ϲ͘ϬϬ Tool Award

ϱ͘ϬϬ

ϰ͘ϬϬ

ϯ͘ϬϬ

Ϯ͘ϬϬ

ϭ͘ϬϬ

Ϭ͘ϬϬ

Rommana ALM was named The Best ALM Tool

The Best Requirement Management Tool INTEGRATED APPLICATION LIFECYCLE MANAGER The Best Cloud Solution RQX Global Report XXXSPNNBOBTPGUXBSFDPNtt SDT301 page 26-28_Layout 1 4/18/14 2:57 PM Page 26

26 SD Times May 2014 www.sdtimes.com Photo by www.underyourskinphoto.co.uk by Photo

Hey Mr. DJ write a line of code Algoraves, a growing trend where the music is programmed on stage

BY ROB MARVIN one. Algorithmic raves, an offshoot of a environment built for live coding or A group of people stands in a darkened type of improvised algorithmic compo- using custom software they’ve created room staring at a blank screen. A line of sition known as live coding, are a grow- themselves. And by projecting their code appears, and then another, and ing movement among both program- screen, audience members get to see the another. Disjointed electronic sounds mers and musicians. Over the past few sound, and even become active partici- emanate from speakers as a coder behind years across western Europe and in pants, as the performance is created. a laptop onstage builds the code method- places like Mexico, Australia, Japan and “Live coding comes from a reaction ically into a coherent rhythm, the code even as close as Canada, live-coded per- against laptop performance in music, growing more layered and complex with formances have given electronic artists where people won’t be projecting their each passing moment. The live coder’s and bands a way to break through the screen, they’ll just be operating soft- cursor moves frantically from line to line. stand-around DJ culture of today’s elec- ware to create music,” said Dave Grif- The audience, their eyes transfixed on tronic music in live, messy fashion. fiths, a member of the live coding band the screen, begins to dance. Live coding isn’t supposed to be com- Slub who also goes by the stage name What’s happening is called an algo- pletely smooth. Performers are writing NeboGeo. “Half the time they’re play- rave, or at least the first few minutes of code on the fly, often in a programming ing MP3s and there’s absolutely no engagement with the audience at all. Rooted in live audio It’s very passive. “The idea of live coding is to con- Algoraves are rooted in a 2004 live audio symposium, created by German philosopher front that, so when things go wrong, and live coder Julian Rohrhuber, called Changing Grammars in Hamburg, Germany. you get a very interesting effect with Early live coders and bands trekked to Hamburg, and what resulted several days the audience. Everything goes silent, later was something called the Terrestrial Organization for the Proliferation of Live Art Programming (TOPLAP), an organization to explore and promote live coding. you see the performer panicking, their “It was recognized that there were people in a few different countries and on a few mouse is shooting around the code different platforms trying to live code, and what we meant by live coding was also up scrolling up and down like, ‘What did I for debate,” early live coder Nick Collins explained. do?’ Then everyone starts looking at the TOPLAP has served as evangelist and ambassador for the live coding movement for screen and trying to help. I’ve been in the past decade, connecting isolated pockets of live coders with the international com- performances where people will scream munity, and facilitating meet-ups, concerts, conferences and festivals. z out, ‘You’ve missed a semicolon!’ ” —Rob Marvin Slub has been live coding since 2000 SDT301 page 26-28_Layout 1 4/18/14 2:33 PM Page 27

www.sdtimes.com May 2014 SD Times 27

with original members Alex McLean and Adrian Ward, and transitioned exclusively to live coding in 2005 after Griffiths joined the band. The commitment to live-coding performances was a way to shift the audience’s focus onto the algorithms cre- ating the art rather than the artists. Audience members seeing a single line of code evolve into complex sound can more easily relate what they’re seeing with what they’re hearing. “It’s such a ridiculous thing to do, to be in a nightclub, writing software with your screen projected,” Griffiths said. “Actually one of the things I find fascinating is the response you get from other programmers is really like, ‘What’s the point? Why are you doing this? People shouldn’t see this.’ Whereas people who are not programmers, especially musi- cians or artistic people, are fascinated because they’ve never really seen the process of writing software and they don’t understand that it’s a creative thing.” Each member of Slub uses his own self-built coding envi- ronment. Griffiths, whose background is in computer graphics, uses a custom visual programming language that creates schemes of Lisp code. Instead of using parentheses, it uses cus- tom structures to encapsulate different sections of the code. Ward uses an IDE called Pure Events, a tracker-like JavaScript environment built in the style of an Excel spread- sheet. He writes a bit of code in each cell, which is timed to trig- ger in harmony with what Griffiths and McLean are coding. McLean, who also performs solo under the moniker Yaxu, initially used feedback.pl, a self-editing Perl programming envi- ronment. More recently he created a mini-pattern manipula- tion language in Haskell called Tidal, which flashes the section of code being executed so the audience can see it more clearly. “A lot of the inspiration comes from pushing technology and seeing how we can build things differently with this com- pletely different emphasis,” Griffiths said. “What I’m seeing increasingly which is really, really interesting is live coders who are musicians. They’re not interested in programming in any other sense than for them as a performance, so they aren’t interested in programming in itself, but they have very much adopted it as part of a musical experience.” Where it all began On a road trip to Nottingham, England between live-coding gigs in late 2011, McLean and Nick Collins, an electronic musician and computer music researcher who performs under the pseudonym Sick Lincoln, invented the concept of an algorave. They tuned into a radio station playing happy hardcore (an upbeat genre of techno music) and decided they wanted to try programming some raves. “Algoraves were created partly in order to change the emphasis of what people expect,” Griffiths said. “If you put on a live-coding event, people really don’t know what to expect. They’re all standing around stroking their chins trying to work out what’s going on. During an algorave, people come expecting to drink and have fun and dance, and that totally changes the emphasis, which I think is one of the reasons it’s really taken hold.” Algoraves have been described as the meeting point continued on page 28 > SDT301 page 26-28_Layout 1 4/18/14 2:51 PM Page 28

28 SD Times May 2014 www.sdtimes.com

Dancing to A live coder making waves in the U.S. Live coding has spread to many countries around the world, but it hasn’t quite taken hold in the U.S. Not yet, at least. There are scattered live coders across America, some live coding in New York and California, and some in places you wouldn’t expect. Mike Hodnick is an independent software developer and live coder living in Min- < continued from page 27 neapolis, where the midsized metropolitan area houses both a growing technology sec- between hacker philosophy, geek culture tor and a thriving arts and music scene. The live-coding community is only in its infan- and clubbing. Many of the performers cy, but if Hodnick has his way, the Twin Cities may well become a hotbed for algoraves. are live coders, but all forms of algorith- “There’s a healthy arts community here, whether that’s galleries or experimental mic music are welcome, unlike the more music, and we do have a very healthy programming community as well,” Hodnick said. narrow focus of a live coding concert. “So we’ve got the right circumstances, it just needs a little bit of nurturing.” The first algorave took place in Hodnick, a veteran C# and .NET programmer and JavaScript Web developer, had March 2012 as a warm-up concert for no idea what live coding was until this past Thanksgiving. A lifelong drummer and the 2012 SuperCollider Symposium, an electronic musician, a friend turned him onto live coding and the algoraves going on in Europe, and he’s been going full steam ever since. international gathering of SuperCollid- “I’ve always had this kind of unique interest in combining sound with code,” Hod- er users (one of the original and most nick said. “I don’t look to create something with a catchy melody or a hook. I like to popular IDEs for live coding and algo- create things that are very dense, rhythmically. Whether that’s layers of rhythms that rithmic composition). Among the per- interact with each other, or something that’s extremely fast and dense and creating formers were Slub and Sick Lincoln. sounds that way.” z —Rob Marvin “I find it a bit bizarre actually these days, because in my mind I’m still Cárdenas, who is currently getting a material, and not for any purpose apart somewhere in London in a converted master’s degree in sound studies from from making some music for the pres- public toilet that has been turned into a the University of the Arts in Berlin, ent moment.” bar where there’s only an audience of moved from Colombia to Mexico City 25 people,” Collins said. “There’s one in 2000 to be a composer and guitarist. Their own paths to follow really dodgy projector, and you’re trying Once there, she discovered the open- No one takes the same path to live cod- to play on a really battered sound sys- source software scene and began exper- ing. Each musician or programmer who tem. So actually having real music festi- imenting with live coding. stumbles across it comes from a different vals, wanting to have proper club nights “When I perform as an improviser, I background, a unique set of circum- of live coding or algoraves, sometimes create my musical instrument here on stances that led him or her there. That’s it’s a little odd... The quirkiness of it the computer,” said Cárdenas. “I imag- part of the appeal; it means something keeps it vibrant as a subculture.” ine the sounds and I have the power different for each performer, and the Collins, currently a professor of and possibility to create and transform nature of live coding ensures that each computer music at Durham University them as I want.” performance is different from the last. in the U.K., has done extensive Cárdenas has performed live coding, Griffiths came from a computer research into live coding and algorith- in the U.K., Germany, Norway and graphics background. Collins started mic music on top of some Web and Slovenia, and was one of the first live out as a piano player and composer mobile app development of his own. coders to start performing in Tokyo. before getting into computer music in He’s also been active in developing and She was also the keynote speaker at an college. Cárdenas studied classical gui- maintaining SuperCollider. international live-coding workshop in tar and composition in Colombia before In November 2012, Collins and Chennai, India this past January, bring- moving to Mexico City. McLean travelled to Mexico City for ing it to yet another corner of the world. “There’s an element of live coding, the International Live Coding Sympo- At the behest of McLean, Cárdenas this ambiguity about what’s what,” sium. There they were introduced to a performed at her first algorave in April Collins said. “Sometimes it’s tongue in vibrant live-coding community and one 2013 on the MS Stubnitz, an old Ger- cheek and sometimes it’s deadly seri- of its organizers: musician and live man merchant ship docked at London’s ous. Perhaps that’s part musician humor coder Alexandra Cárdenas. Canary Wharf. Other people have and part programmer humor, and it’s “A year or so ago in Mexico City, we organized algoraves, but McLean’s part of what I hope might be a bit of had the first international symposium influence is palpable in all of them. charm. There’s something almost fatally of live coding, and we invited the guys,” “I think people like the name ‘algo- stupid about attempting to go and pro- Cárdenas said. “We met them and it rave.’ It puts some emphasis on having gram a computer live onstage. I can’t was so good for our community to get fun and not taking yourself too serious- claim that every live-coding gig I’ve their opinions on live coding. It opened ly,” said McLean. “I also think non- ever been to has been packed and play- our horizons and we realized we could coders are just interested to see code ing to mass crowds, but it’s amazing do many more things than we thought.” presented in a different way, as creative how far it has come.” z SDT301 Full Page Ads_Layout 1 4/17/14 6:58 PM Page 29

syncfusion.com/angularjsebook

Partner SDT301 page 30_Layout 1 4/18/14 9:51 AM Page 30

30 SD Times May 2014 www.sdtimes.com

COMPONENT WATCH

Text Control introduces new In other component news… ■ Windows content provider Syncfu- sion has released Essential Studio HTML5 rendering technology Enterprise Edition 2014, Volume 1. The release features 27 new JavaScript New product changes how docs are edited in browsers libraries designed for mobile develop- ment. All the libraries are compatible BY CHRISTINA MULLIGAN documents will be edited in thje brows- with the Knockout JavaScript library, Text Control wants to improve the way er,” he said. “It won’t be ‘yet another and they provide Android, iOS and documents are edited in a browser. The HTML editor.’ ” Windows themes. The release also fea- software component company recently The rendering technology does not tures additional JavaScript libraries announced a new HTML5 editor to require client-side browser plug-ins; for HTML5-based Web development. create cross-platform, cross-browser instead it uses pure HTML5 and ■ Document and content imaging reporting templates on the Web. JavaScript. In addition to HTML5 solution provider Accusoft has “The exciting feature is the rendering browser support, it also provides announced updates to its Barcode technology itself in all HTML5 browsers, mobile device support for Android, iOS Xpress software development kit. The including Chrome, Firefox, Safari and and Windows Phone 8. SDK is used to add barcode-recogni- Internet Explorer,” said Björn Meyer, Other features include support for tion capabilities to applications. president of Text Control USA. “This is all typical word-pressing features; Enhancements include improved han- the first true WYSIWYG, HTML5-based reporting elements such as master- dling of speckled barcodes; a new Web editor and report- binarizer algorithm for superior accu- ing template designer. racy when reading color and gray- Developers can give scale barcodes; improved detection of their users an MS Word- QR codes; and improved performance compatible editor to cre- for reading PDF417 stacked linear bar- ate powerful reporting codes. The SDK supports 32- and 64- templates anywhere, in bit .NET, Java, Java ME and ActiveX any browser on any development environments. Accusoft device.” has also released version 6 of its PDF With the HTML5 Xpress SDK for enabling apps to cre- editor, users can create ate, modify and render standard PDF and modify reporting and PDF/A files. Features include mak- templates; create PDF, ing PDF files smaller with customiz- DOCX or DOC files and able settings to control the type and view them in a browser; An example of the HTML5 editor in Chrome. amount of compression applied, as and merge templates on well as a new automated function that the server-side. The reporting engine of detail views; barcodes; and 2D and 3D analyzes PDFs in order to figure out Text Control is used to merge templates charts that can be inserted and bound ways to optimize image compression in order to create documents and to database fields. and reduce overall file size. reports formats like PDF. The HTML5 editor will be featured ■ Users no longer have to use complex in the next version of TX Text Control Microsoft component solution reporting designers, according to Mey- Server for ASP.NET, version 11. “Text provider ComponentOne (a division of er, because the HTML5 editor allows Control is going to provide a fully fea- GrapeCity) has released an updated users to create templates with Word tured HTML5-based, MS Word-com- version of its suite of data and UI con- trols for Microsoft Visual Studio. Stu- skills. Because of its Word compatibili- patible editor with all word-processing dio Enterprise 2014 version 1 features ty, the editor can save and load indus- features that are required,” said Meyer. new theme support, built-in chart try-standard formats. “It is a Web version of our reporting grouping and aggregation, and new “Our new HTML5 rendering tech- template designer to create templates chart types for financial applications. z nology is a radical change in the way in the Web.” z SDT301 Full Page Ads_Layout 1 4/17/14 6:58 PM Page 31

syncfusion.com/jshobbyistSDT

syncfusion.com/winrthobbyistSDT syncfusion.com/winphonehobbyistSDT

30+ SDT301 page 32-34,37,38,40_Layout 1 4/18/14 2:27 PM Page 32

32 SD Times May 2014 www.sdtimes.com What kind of quality are you looking for? Developers have to know the signs of defects in their code, but they can’t do that until they know exactly what standard ike beauty, quality is often in the their code will be judged by eye of the beholder, and because perspective and values matter in how code is judged, it can be hard BY PATRICK HYNDS to nail down a proper definition Lfor code quality with which everyone would agree. For example, often a client will list code being “optimized” as a require- ment. Sounds good, but what does that really mean? What should it mean? For many, “optimized” means “speed.” The code must be fast and per- formant. But that is not the only inter- pretation. In other situations, opti- mized code means that the code must SDT301 page 32-34,37,38,40_Layout 1 4/18/14 2:27 PM Page 33

be easily maintained or portable to oth- well enough to be accepted, or fast ing, building construction and even lit- er platforms. In fact there are as many enough to hit a deliverable. erature succeed most when the open- ways to interpret this word as there are Code developed with any language ing or foundation is of high quality. dimensions to measure the quality of on any framework against any platform Quality code has an even greater code. It all comes down to what is val- requires this clear communication to dependence in this regard since, in ued by those who will ultimately own have a chance to meet expectations, and most cases, you are not writing the result. there are other factors at work as well. machine language. We all depend on This means that in many instances, So you have to ask yourself, what mat- many abstraction layers, for better or the communications that describe the ters to you? What does optimized mean worse, to do everything. goal of any project are often more for your project? Think about that while As far as foundations go, the .NET important than the technology ulti- we will cover the things that most agree Framework is a good pick these days. It mately chosen to implement it. This is lead to or define low-quality code. is mature and roundly tested for all man- especially true in the .NET develop- ner of purposes. It is hard to imagine a ment world because assumptions can The foundation matters use (suitable to a framework) that it has affect where a project begins and what When setting out to construct any- not addressed over the last decade. compromises are needed to get it done thing, the foundation matters. Market- continued on page 34 > SDT301 page 32-34,37,38,40_Layout 1 4/18/14 2:24 PM Page 34

34 SD Times May 2014 www.sdtimes.com

< continued from page 33 come from rushing to get something This argument for well-worn Code Smell examples to work in spite of understanding code being higher in quality is that the approach has issues. public void ContactStuff(int iCustID, something component vendors string sName, This means that even experi- emphasize as well, and it makes string sAddr1, enced developers often produce sense. There is a reason that adop- string sAddr2, code of low quality. In one such tion follows a curve where early string sCity, case, technical debt is incurred string sState, adopters are followed at a distance string sZip, when expediency overrides doing by the masses. string sPhone) things correctly. All software in the At the BUILD conference in { real world accumulates some techni- early April, Microsoft committed to // Encrypt it cal debt as it matures. In some cases // RijndaelManaged symmetricKey = new open-source many libraries, includ- the gamble pays off if the product RijndaelManaged(); ing much of .NET itself. Never // symmetricKey.Mode = CipherMode.CBC; never matures to a place where before have .NET developers had these shortcuts need to be remediat- this much access to the guts of the // Bob was here ed, but in these cases you can be platform, and there is hope that this switch (sCustType) actually betting against your own { act will increase the quality, security case "T": success. The best approach to code and stability of the .NET platform sType = "Trial"; smell is to avoid it and keep the in the long run. But for now, .NET break; books clear of technical debt, but if developers have to rely on the cur- case "M": the debt needs to be incurred, then sType = "Member"; rent quality of the platform. In most break; make a plan for going back later to cases, this is a good dependency: case "R": do it right. .NET is well proven and has sType = "Regular"; Code smells are also on the list improved over several major itera- break; of pet peeves for many developers. tions when we focus on the Base } For example, a personal favorite CRUD("INSERT", Class Libraries. iCustID, has to do with not maintaining Other parts of .NET are less well sName, sAddr1 + " " + sAddr2, comments in code. It sounds like a worn and are even controversial for sCity + ", " + sState + " " + sZip, trivial matter, and many of the code some. For example, Microsoft has sPhone, smells appear that way at first sType never produced a data layer it did ) glance. But not maintaining com- not ultimately replace. Even Entity } ments often confuses the next Framework, the latest iteration of developer who has to look at the tools designed to make the data lay- These are the kinds of things you don’t want to do. code. Since developers naturally er easy, has its detractors due to take comments at face value, it can problems at scale and in certain high- trate on keeping their parts of the code take hours to fix code that behaves dif- volume situations. If the Entity Frame- up to snuff. Getting the architecture ferently from what the comments seem work produces SQL under the covers right raises the code quality, and these to suggest. Not having comments is that does not perform well in critical things raise more architectural questions bad, but it’s better than comments that situations, that is definitely a knock on to developers than ever before. lead to confusion. quality for the project. While not a con- Earlier I showed a sample proce- cern for most, this serves as proof that Code smell dure written in C# that presents a few the details matter. “It seemed like a good idea at the code smells, including useless com- The choice of Web service carrier is time...” is the post facto justification for ments for code that no longer applies, another area for .NET developers many blunders, with common threads old commented-out code, log parame- where there are choices, and the wrong of not thinking about possible ramifica- ter lists, and uncommunicative names. choice can affect perceived quality of tions or just taking short cuts. Code Each of these items can get your proj- the project and the code. Would the smell represents the coding version of ect in trouble by causing bugs, making goals of a project be better served by this often-heard lament. the code harder to understand and gen- using Web API or SOAP via WCF? The Code smell is the term used by soft- erally slowing things down. answer depends on the details of the ware craftsmen for things that seem like The uncommunicative names smell implementation and the requirements. a good idea when a problem is not well has to do with naming things such that The bright spot in all of this is that, understood or when essential use cases someone who looks at the code won’t more often than not, the frameworks of are not considered. Many of the cardinal know what should happen. In our .NET contribute positively to code qual- sins of programming, including many example, the method name of “Con- ity because they handle so much of the deadly security mistakes, spring from tactStuff” only hints at what this proce- grunt work that developers can concen- this lack of foresight, but they can also continued on page 38 > SDT301 Full Page Ads_Layout 1 4/17/14 6:49 PM Page 35 SDT301 Full Page Ads_Layout 1 4/17/14 6:34 PM Page 36

Creating a report is as easy as writing a letter

Reuse MS Word documents Create encrypted and print-ready as your reporting templates Adobe PDF and PDF/A

Royalty-free WYSIWYG Powerful and dynamic template designer 2D/3D charting support

Easy database connections and 1D/2D barcode support including master-detail nested blocks QRCode, IntelligentMail, EAN

www.textcontrol.com/reporting

US: +1 855-533-TEXT txtextcontrol EU: +49 421 427 067-10

Reporting Rich Text Editing Spell Checking Barcodes 3')5HÁRZ SDT301 page 32-34,37,38,40_Layout 1 4/18/14 2:24 PM Page 37

www.sdtimes.com May 2014 SD Times 37 Components and code quality Building tools from scratch is riskier than buying from a vendor

BY PATRICK HYNDS by just setting style properties rather Described as a black box for your An experienced chef will say that the than having to customize control tem- application, it delivers data about how result can only be as good as the ingredi- plates, which can be a time-consuming things are working. Claiming to help ents used; therefore, no discussion of and frustrating process.” “improve software quality, application .NET code quality would be com- The concept of simplicity as a adoption and user satisfaction,” it helps plete without a discussion of the vehicle to code quality came up developers deliver fast, efficient code of components provided by again when Lutz explained that high quality. As mentioned previously, the most prominent ComponentOne’s XAML controls there are many ways to measure quality. vendors in the space. “support a unified namespace Few or no bugs is a valid alternative Well-tested, flexi- which helps make XAML measure to raw performance, and hav- ble components can markup more clear and ing telemetry that eliminates bugs is a allow .NET develop- concise.” good way to minimize bugs that cause ers to compose proj- crashes and slow performance. ects that have many thou- DevExpress However, if avoiding code smells is sands of lines of code of far greater Specializing in developer productivity, closer to the definition you seek, then quality than the developers would ever DevExpress products include while PreEmptive Analytics will help have time to bring together themselves. CodeRush and TestCafe. They are per- make things better, there is more need- After all, a grid control that has been haps best known for CodeRush, which ed in the quest for higher-quality code. used in more than 10,000 projects has makes it easier for developers to refac- been debugged far better than a cus- tor their code and keep the drag of typ- Telerik tomized version put together by a cor- ing from getting in the way of produc- Telerik considers code quality to be porate development team, even if that ing quality code fast. something its products must support team has better programmers than the Mark Miller, chief scientist of IDE across the software development life component vendor. tools at DevExpress, talked about both of cycle. Stephen Forte, chief strategy offi- There are limits to this assumption, these products and how they contribute cer for Telerik, pointed out that the com- but field-testing and survival in real- to the quality of code .NET developers pany offers two products that target this world conditions do tend to bring many produce. “High-quality code costs less to role specifically during the development aspects of quality to light. support, learn, maintain or change, and process. JustCode is Telerik’s code pro- One potential danger is using a com- yields a higher degree of confidence (and ductivity tool that “guides .NET devel- ponent that does too much and can customer satisfaction) when you ship as opers through the refactoring process, introduce bugs, thanks to features that all test cases are green,” he explained. He often suggesting better code.” do not matter to the project at hand. In added that CodeRush has a debug visu- Refactoring tools are the key to the end, buy vs. build will often favor alizer and expression explorer that help ensuring that working code avoids code getting a component from one of the .NET developers minimize bugs, and it smell. The other end of the formula is vendors covered here. can “create new test cases instantly, the QA process, for which Telerik offers regardless of which .NET test framework Test Studio. That software boasts rich ComponentOne is used.” Visual Studio integration. Forte asserts Greg Lutz, product manager for Com- TestCafe is also an interesting prod- that Test Studio “stands out from the ponentOne, talked about how keeping uct for anyone doing Web develop- other .NET developer tools because it things simple contributes to code qual- ment, though it is not specific to .NET gives the developer the ability to collab- ity. While explaining the company’s developers since it does quite a bit for orate with the QA team right inside of ClearStyle technology, he said, “We HTML5 projects as well. Visual Studio.” z remove a lot of the complexity some- times required to customize control PreEmptive templates to get the exact look and feel PreEmptive is known by most .NET you want. ClearStyle includes support- developers because of its security prod- ing properties on the control that affect uct Dotfuscator, but a few years ago the the appearance. Developers can very company branched out with PreEmp- easily set up application-wide theming tive Analytics. SDT301 page 32-34,37,38,40_Layout 1 4/18/14 2:24 PM Page 38

38 SD Times May 2014 www.sdtimes.com

The software craftsmanship movement The first person who taught me If you talk to any of the about software craftsmanship people like Smith who aspire is Steve Smith. He is an experi- to be a software craftsman, enced trainer and development you realize that there is seri- mentor who has published ous passion, but also an courses with Pluralsight and is understanding that it cannot very passionate about quality. work if the devotees just Software development as a browbeat everyone to not profession has grown in ways write junk code. After all, it is unlike almost anything else in a movement driven by com- history. Only in the field of soft- munity rather than for profit. ware development can some- So it should come as no sur- one with absolutely zero formal prise that it has a manifesto training command respect of to define the goals of soft- those with advanced degrees in ware craftsmanship. The the subject and even rise to the manifesto and its chief top of the field. demands are reminders to One big reason for this is not only do the job, but to that for most of the last also do it well. decade, there just have not People who study classi- been enough capable develop- cal martial arts will know ers. However, the profession does lend itself to allowing people that a kata is a practice that you do that teaches you the move- to prove themselves very quickly. ments for style of combat that makes up that martial art. The Getting the degree does not insulate developers from mak- idea is that doing the kata will help you master the techniques ing bad judgments or being lazy, and with so many self-taught and prepare you to apply them when needed in a confrontation. developers at work, the software craftsmanship movement pro- The word “kata” in Japanese means “form” and is an alien con- vides guidance and resources to aspire toward continual cept to most developers, though after understanding the intent, improvements. the average developer does warm to the idea. Bruce Backa, CEO of NTP Software, has managed a great SoftwareCraftsmanship.org hosts videos of code katas with many developers over the years. When asked why the software straightforward tasks such as converting numbers to Roman craftsmanship movement was needed, he explained it like this: numerals. The point of these exercises is to show correct “Most people are so happy when they figure out a solution to a approaches rather than to create code that will be used in an problem that they immediately stop looking for alternative solu- actual program. These would be great homework assignments tions and rush to implement.” He went on to explain that, “in for any aspiring developer who wants to produce quality code. most cases there are a number of possible solutions to any giv- (To hear more on Smith’s views on software craftsmanship en problem, but even assuming a small number such as four, this check out the .NET Rocks interview on the subject he did back means that there is only a 25% chance that the first one that in mid-November.) comes to mind is the best solution.” —Patrick Hynds

< continued from page 34 start for anyone looking to embrace the enced by the popularity of design pat- dure is trying to accomplish. Any devel- software craftsmanship movement and terns like ASP.NET MVC being based oper looking at it would have to look at improve their code in the process. on the Model-View-Controller design the procedure itself to figure it out, pattern. These guides are meant to show which would slow things down. Patterns and anti-patterns developers how things are supposed to Removing code smells is the best A design pattern shows you how you work, and they can illustrate things such way to improve your code, all other should be doing things and how compo- as the best way to implement logging on things being equal. To learn more about nents should be put together. And, by a high-volume system without hurting how to do this, Smith has done a highly the same token, an anti-pattern talks performance, or how to deal with rated eight-hour course for Pluralsight about what you should not be doing and claims-based identity and access control. named “Refactoring Fundamentals” how things should not be put together. Anti-patterns tend to be shorter than that thoroughly covers how to address Design patterns have been extremely patterns and come across as rules, and code smells and reduce technical debt helpful over the years, with Microsoft can often be technology- or even lan- by refactoring code properly. It is avail- documenting them regularly via their guage-dependent. For example, in the able with a subscription (or free trial) Patterns and Practices group. The evolu- C# language, the Boolean data type with Pluralsight. This is a great place to tion of ASP.NET has been greatly influ- continued on page 40 > SDT301 Full Page Ads_Layout 1 4/17/14 6:34 PM Page 39

The answer is right in front of you

Java Image Enabling SDKs that Help You See the Big Picture

At first glance it may seem difficult, but it’s really quite simple. Atalasoft’s JoltImage product is a proven SDK for image enabling your Java-based web applications, easily. Image enabling helps to add dimension to your data, so you can uncover insights such as correlations and causations hidden inside your 2-dimensional documents. Our SDK does the heavy lifting for you, saving time, money, and the headaches of figuring it out yourself. Backed by our highly knowledgeable & caffeinated support engineers, JoltImage will enable your success and make the big picture so much easier to see.

For tips on viewing this stereogram or to see the answer, visit go.atalasoft.com/magic

Image enabling experts & bacon connoisseurs. Visit us online to see our full line of SDK products for .NET and Java www.atalasoft.com SDT301 page 32-34,37,38,40_Layout 1 4/18/14 2:24 PM Page 40

40 SD Times May 2014 www.sdtimes.com

< continued from page 38 exists so Boolean comparisons can be done directly rather than comparing it to true or false. Another anti-pattern is to avoid looking through a list of items in a loop when you can just ask for the item directly. The reason you might think you need the loop is to avoid trying to access something that does not actually exist (such as a file), but in those cases the logic goes that you can catch the exception if the file does not exist. Removing code smells is the Often it will be hard to tell the dif- ference between an anti-pattern and a best way to improve your code, code smell, and in fact the difference is somewhat semantic. Peter Ritchie all other things being equal. addressed the issue in a blog post, say- ing that anti-patterns are “recognizable ance. Users expect systems to be faster developers set out to tackle a task solutions (patterns) that don’t work in at and faster to the point that instant is that has performance as a component least one way and should never be just good enough, and anything less is for measuring quality, the first critical used,” and he goes on to point out that too slow. We now live in a world where step is determining the acceptable “code smells, on the other hand, are the speed of light is actually getting in ranges. For example, if one is setting defined as ‘...a hint that something the way of stock market transactions, out to maintain a cache from remote might be wrong, not a certainty.’ ” which is leading to trading companies servers, there are definite mecha- competing to get their servers closer to nisms to ensure maximum speed. But Performance measures the trading servers. the responsiveness of the underlying Perhaps the hardest metric to satisfy for The laws of physics are literally the network is usually an unalterable fac- quality code lies in the area of perform- latest barrier in these instances. When tor that must be taken into considera- tion. Often developers and their project Sanity helps managers are brought to task to fix or A popular video that made the rounds at the BUILD Conference called “The Expert” justify their “slow code” when in fact depicts a hapless engineer facing a room full of clueless stakeholders demanding the blame lies in the infrastructure. impossible results. While exaggerated, these are precisely the kinds of things that Companies like PreEmptive provide must be stamped out early in a project to give the resulting code any chance of being tools that help with this situation. Its acceptable. Analytics product tracks everything Ultimately the best way to keep up code quality on a .NET project is to keep the your code is doing, and it can help requirements reasonable. Every other industry has realized this imperative, which is locate where the delays are coming why we have laws that keep truckers from driving through the night on no sleep, and from so that slow code can be why there are studies required before medicines and surgical techniques are allowed. addressed and slow infrastructure can Winging it does not produce good, solid results, and code is no different. be called out when it is causing delays. Some of the rules that software craftsmanship seems to demand are less vital for Too many projects are deemed fail- an individual programmer who is not working with a team, but things change and ures because the results are too slow or assumptions are deadly, including assuming that no other developers will ever see the not performant enough, when in fact code being developed. It is important to not confuse issues of code quality with controversies that are the unspoken expectations for perform- more akin to disagreements over religion. There are some issues that are hot-button ance were never raised in a rational items for many passionate people, with language choice and naming conventions form at the start. It is important to being prominent examples. There are still some people who will disparage anything understand that code quality often written in a language other than their chosen language. depends on prior Read this story on agreement on what More often than not it is Visual Basic that is getting heat from a small cadre of C# sdtimes.com developers, though in recent years that has cooled down quite a bit. For naming con- success looks like, and ventions, there are some well-worn examples of what works and what does not, but it can be completely the key is to focus on the code itself, since after it goes through the compiler, the separate from the names do not matter at all. code itself in certain —Patrick Hynds areas. z SDT301 Full Page Ads_Layout 1 4/17/14 6:34 PM Page 41 SDT301 page 42,43_Layout 1 4/17/14 7:06 PM Page 42

Cloud DevCon: The Developer Conference for

Attend Cloud DevCon to get practical training in AWS technologies Develop and deploy applications to Amazon’s cloud Master AWS services such as Management Console, Elastic Beanstalk, OpsWorks, CloudFormation and more! Learn how to integrate technologies and languages to leverage the cost savings of cloud computing with the systems you already have Take your AWS knowledge to the next level – choose from more than 55 tutorials and Register Early classes, and put together your own custom program! and SAVE! Improve your own skills and your marketability as an AWS expert Discover HOW to better leverage AWS to help your organization today

A BZ Media Event CloudDevCon

Amazon Web Services and AWS are trademarks of Amazon.com, Inc. SDT301 page 42,43_Layout 1 4/17/14 7:06 PM Page 43

Amazon Web Services

Check out this list of classes: AWS Made Easy with Ansible and NetflixOSS Optimizing Java Applications for AWS Running a Big Data Stack in the Cloud: A Hands On Tutorial June 23-25, 2014 Addressing Security Threats in the Cloud San Francisco Amazon Storage: Maximizing I/O for Optimal Application Performance An Intro to Using Chef with AWS Hyatt Regency Burlingame AWS Automation and Deloyment with NetflixOSS and Ansible AWS Benchmarking www.CloudDevCon.net AWS Development in .NET Build it Worldwide: Hybrid AWS and Office 365 BURN IT DOWN LIVE: AWS High Availability Cloudy With a Chance of Outage: Building for High Availability in the Cloud Develop and Test Your On-Premise Applications in the Cloud DynamoDB: A Study in Building Product on the AWS NoSQL Platform How Overlay Networks can make AWS your Global WAN Network Do More with Your Cloud Networks, not Hardware Clustering in Public Clouds Introduction to Elastic Beanstalk Continuous Web and Mobile Quality in the Cloud Customized Decision-Making Dashboards in the Cloud Design Strategies for Building Scalable APIs on AWS From a Physical to Virtual Infrastructure How to Auto-Scale Applications on AWS Using Cloud Foundry as a Private PaaS How to Do Cloud Multi-Tenancy Correctly in AWS Ongoing Change: DevOps and the Brave New World Introduction to the Big Data Ecosystem and a Hands-on Experience with Hadoop Managing Development Environments from Laptop to Cloud with Vagrant Missing Nothing: Application Insight in Hybrid Cloud Deployments Performance at Cloud Scale: Seeing Is Believing Practical Ways to Maximize Hadoop Performance on AWS Running VMware Workloads on EC2 Without Modification ...and more! SDT301 Full Page Ads_Layout 1 4/17/14 6:49 PM Page 44

Dev, meet Ops. Ops, meet Dev.

What if you could work together to identify and fix performance issues? What if you could accelerate releases with confidence that they’ll be successful?

Through collaboration and a performance driven DevOps strategy, you can.

Learn more at compuware.com/apm

© Compuware Corporation. All rights reserved. SDT301 page 45,46,48,50,52_Layout 1 4/18/14 11:37 AM Page 45

www.sdtimes.com May 2014 SD Times 45 DevOps reality check Planning, testing, mapping and more all go into a successful deployment, if you can handle it

BY ALEXANDRA In a Velocity 2013 conference talk forming organizations deploy about 30x WEBER MORALES entitled “DevOps Isn’t Just for faster than low-performers, making WebOps,” Michael Stahnke, software changes in hours, not months. Outages, o you don’t work at Facebook, engineering director at Puppet Labs, service impairments and other failures Etsy or Netflix. Should you join said, “DevOps is a little weird. There’s happened 50% less often for these high- Sthe DevOps movement, now tons of press about it, tons of talks achievers, who also boasted a 12x faster nearing the half-decade mark? With about it, and it’s an echo chamber: The mean time to recovery. origins in the O’Reilly Velocity Confer- same people talking to the same people Why does this matter? According to ence, lean manufacturing, infrastruc- talking to the same people who agree the survey, “High-performing organiza- ture as code and continuous delivery, with the same people... tions deploy at least once a week, and DevOps, like agile before it, has cap- “It didn’t seem to apply to me. I was often multiple times a day. On average, tured the imaginations of practitioners, not ever doing 10 deploys a day. I did not this is 95% less time between deploy- gurus, vendors—and now, executives. have rockstar-ninja-pirates who were ments than lower-performing organiza- “One of the things that has come out ‘the best people ever.’ I worked at a giant tions, meaning they quickly respond to of the wash now that DevOps has moved company. I was strongly discouraged market changes or customer feedback, from a bunch of enthusiastic people to a from writing my own tools... We didn’t and iterate on new ideas.” business problem is that a lot of people have awesome developers; we didn’t Even when speed isn’t critical, the start asking, ‘Why are we doing this?’ have any developers. And it was always complexity of deployments continues to DevOps is the goal, but it’s not the goal, in startups. I lived in flyover country.” rise. A 2013 survey by XebiaLabs found it’s a means to achieve something,” said Despite all those limitations, in his that nearly half of respondents faced a Andrew Phillips, vice president of prod- time at Caterpillar, he applied newfound 20% to 30% increase in the volume of uct management for XebiaLabs, a ninja sys admin skills to remedying the applications they managed. And aware- Boston-based deployment automation database variance problem at the 85- ness of DevOps is growing, with 68% of company. “Ironically enough, identifying year-old company and ultimately spear- InformationWeek 2014 DevOps survey that business goal is much harder.” heading a DevOps transformation. respondents professing awareness of the In addition to defining the big, hairy trend. Meanwhile, implementation is still business goals that faster delivery must Does the DevOps diet really work? for the leading-edge companies: Only drive toward, there’s the question of Along with the increasing number of 21% of InformationWeek respondents whether infrastructure as code makes DevOps victories occurring outside of were “implementing DevOps.” sense for legacy applications. “The con- the cloud, several new surveys are look- The awareness and hype are well tinuous-delivery success stories are all ing at these practices to discover their documented, then. So do the practices in greenfield development,” said popularity and how much of a differ- actually work? That’s where Puppet Phillips. “The hidden premise is that if ence they make. Labs’ survey gets interesting. you can set things up right from Sponsored by Puppet Labs, Gene “We did find a couple things that scratch, you can do DevOps. But in a Kim and Jez Humble’s 2013 State of were surprising that were not correlat- lot of companies, you have to make this DevOps Report had 4,039 respondents. ed with performance when we did the work with an existing data center.” Among its findings were that high-per- continued on page 46 > SDT301 page 45,46,48,50,52_Layout 1 4/18/14 11:38 AM Page 46

46 SD Times May 2014 www.sdtimes.com

< continued from page 45 survey last year,” said Humble. The survey measured performance A guide to DevOps offerings by asking: • How often do you deploy code? n Amazon Web Services: OpsWorks fying feedback loops, and a culture of • What is the average lead time of a provides an easy way for DevOps users continual experimentation and learning. change (from “code committed” to to model and manage an entire applica- The solution establishes performance “code successfully running in pro- tion from load balancers to databases. as the lingua franca, has integration and duction”)? With OpsWorks, users can scale their collaboration across the life cycle built • What percentage of your changes apps using automatic load-based or in, enhances agile development, auto- require rollbacks or hotfixes? time-based scaling, and maintain its mates performance testing, and accel- health by detecting failed instances and erates release processes for continuous • On average, how long does it take to replacing them. It gives the user full delivery. restore service when something goes control of deployments and automation wrong? of each component. n IBM: IBM’s DevOps solution bridges Then, the survey asked about the divide among key stakeholders by DevOps behaviors: n Atlassian: Bamboo is a continuous addressing culture, process and tool inte- • Are environment and infrastructure delivery server that automates build, gration across the software delivery life changes checked into revision control? test and deploy pipelines. When connect- cycle, from ideation to delivery. The solu- • Is there an automated process to ed to Atlassian JIRA, Bamboo pushes tion allows stakeholders to establish an deploy environment and infrastruc- build and test results to associated essential enterprise capability for contin- ture changes? issues, and lets users track the code for uous software delivery that leverages • Who performs code deployments each issue as it gets promoted to each lean and agile principles, removes waste, (Dev, Ops or both)? environment. With automatic detection reduces time to customer feedback, and • Who is on the hook for production of new code lines, and the option to accelerates software delivery while bal- ancing speed, quality and cost. support (Dev, Ops or both)? merge branches with each build, Bam- boo is especially well suited for teams “The first two behaviors were corre- using branch-and-merge workflows like n LeanKit: LeanKit provides a shared lated with performance; the last two Gitflow or feature branching. tool that’s designed to allow develop- weren’t,” said Humble, meaning that ment and operations to work collabora- developers doing deployments being n CA Technologies: CA offers tively on a shared process. With paged when apps went down did not Release Automation and Service Vir- LeanKit, teams can map their processes make a difference in continuous-deliv- tualization for DevOps. Release on virtual whiteboards to gain a com- ery quality. He acknowledged, however, Automation is an enterprise-class, con- plete and transparent look into status, that team maturity could be one of sev- tinuous-delivery solution that auto- issues and updates. The highly visual eral factors that weren’t examined. mates complex, multi-tier release nature of LeanKit helps maximize effec- Repeatability of the findings also deployments through orchestration tiveness and keeps extended teams on remains to be seen: The survey was and promotion of applications from the same page. refined and taken again in January, and development through production. Serv- n New Relic: New Relic provides real- results will be available later this year. ice Virtualization has the unique ability to eliminate constraints by virtualizing time analytics DevOps teams need to Should developers carry pagers? a target system’s dynamic behavior, deliver a stable environment in a rapid performance and data so the need for release environment. New Relic’s SaaS Starting with early DevOps proponent live systems is eliminated or reduced. solution monitors everything the appli- Patrick Debois, many DevOps propo- cation touches, from the browser and nents have talked about the importance n Chef: Enterprise Chef delivers a the server, to the code within applica- of getting developers to empathize with shared repository of code for automat- tion. Using New Relic’s open platform, operations. He defined “Devs wear ing applications and resources. The DevOps teams can monitor the entire pagers” as an intermediate DevOps solution provides a way for develop- application stack using simple-to-cre- practice for achieving this, writing, “By ment and operations teams to collabo- ate plug-ins, giving them total freedom making [the] Dev feel the ‘pain’ of pro- rate and move at the speed of the mar- to collect and visualize the data needed duction problems, they will improve ket. It includes role-based access to optimize the entire app environment. their code to cope with the problems.” control, centralized reporting, activity n Puppet Labs: Puppet Enterprise is IT Similarly, in a December 2013 QCon monitoring, an enhanced management console, and multi-tenancy. automation software that gives the talk, Pedro Canahuati, head of infra- power to easily automate repetitive structure production engineering and n Compuware: Compuware APM for tasks, quickly deploy critical applica- site reliability at Facebook, declared that DevOps focuses on three guiding tions, and proactively manage infra- having his developers wear pagers was a principles: systems thinking, ampli- structure, on premise or in the cloud. It continued on page 48 > continued on page 48 > SDT301 Full Page Ads_Layout 1 4/17/14 6:50 PM Page 47 SDT301 page 45,46,48,50,52_Layout 1 4/18/14 11:38 AM Page 48

48 SD Times May 2014 www.sdtimes.com

< continued from page 46 seminal practice that helped change the culture as they tackled technical debt A guide to DevOps offerings and extreme operations scaling. < continued from page 46 tions, create blueprints, and integrate It may be too soon to tell if practices automates tasks at all stages of the IT with continuous-integration systems, such as having developers on-call for infrastructure life cycle, including dis- facilitating collaboration among devel- production support or doing deploy- covery, provisioning, OS and app con- opment teams. ments themselves are critical or not. figuration management, orchestration, n Stackify’s solution They are commonly cited DevOps and reporting. It includes event inspec- Stackify: focus- es on the application monitoring and hacks, nevertheless, on par with the tion, supported modules, role-based troubleshooting part of DevOps. With its sprint concept of agile development. access control, certification manage- suite of tools, Stackify provides DevOps Perhaps more critical, experts say, is the ment and VMware cloud provisioning. visibility and helps connect the dots cultural change that should come first n Rackspace: DevOps Automation between the development side and the in any DevOps effort. Service is a managed support service operations side in order to get them to for DevOps tools that helps organiza- work together and ensure their applica- Culture shock: Rock stars need not apply tions automate the process of deploy- tion stack is working correctly. The plat- Coined in 2010 by John Willis and ing and scaling applications. The serv- form combines monitoring, metrics, Damon Edwards, CAMS, or Culture/ ice saves time for developers and IT logs and secure remote access with the Automation/Management/Sharing, rep- departments, and enables them to relevant context to monitor, diagnose resents a stab at defining four critical accelerate time to market for features. and resolve application issues. aspects of DevOps. Jez Humble adds It also helps improve the quality of soft- n an L, for Lean, to the acronym. But all ware deployments and to create more XebiaLabs: With XL Platform, users can coordinate and automate all the agree that culture is the first question to frequent software releases. steps required to get code from devel- be addressed. n Ravello Systems: Ravello is a nest- opment to production: creating and Starting with culture is critical in a ed virtualization provider offering a scaling environments, deploying appli- world of vendor hype, said Ben Rock- SaaS for DevOps, developers and IT to cations, managing and optimizing auto- wood, director of cloud operations for use the public cloud to develop and test mated tests, and orchestrating produc- Joyent. “A lot of people have heard of on-premise applications. Ravello, pow- tion releases. The XL Platform helps DevOps and all they hear is tools, tools, ered by its Cloud Application Hypervi- teams adopt DevOps and continuous tools. ‘DevOps is Puppet. DevOps is sor, enables enterprise DevOps to delivery in a step-by-step fashion, and Chef.’ ” He counteracts that mentality encapsulate multi-tier applications and transform an existing release process with a focus on simplicity: “Everything run them on-premise or in any cloud into an accelerated delivery pipeline is flow. Think about flow, flow, flow.” without making any changes. Features while improving collaboration across And don’t worry if your team doesn’t include the ability to replicate applica- Dev, Ops, QA and the business. z boast Joel Spolsky-approved peak per- formers: Puppet Labs’ Stahnke points your bottlenecks are,” said Humble, cit- step for value stream mapping is to “put out that the spaghetti code he dealt ing an oft-used lean manufacturing on your customer glasses,” she advised with in operations at Caterpillar was technique. “If you work on deployment in a 2011 talk. The process, in a nut- written by none other than the automation, but your delay is not in shell, goes like this: founders of Puppet Labs. deployment, you’re not going to gener- 1. Define a process for mapping as the “This is what I inherited: ISconf call- ate an improvement.” time from when a customer has a ing CFEngine calling ISconf calling Though Debois calls a focus just on need to when that need is filled. CFEngine,” he said in 2013. “So, I had developers and operations staff “DevOps 2. List key steps, the time each takes rock stars. I had people who were the lite,” author Gene Kim clarifies the rea- and the transition time between best in the business. They just didn’t soning behind this focus in his white each one. care. Or they weren’t good at it. Or they paper, “The Top 11 Things You Need To 3. Calculate if any steps add value or were learning. Or they were experi- Know About DevOps.” “Why Develop- are repeated. menting. And actually, reading through ment and IT Operations? Because that is 4. Add up all the times for the total some of that ISconf code, I can see typically the value stream that is between cycle time. where Puppet came from. Totally.” the business (where requirements are 5. Divide the value added time by the defined) and the customer (where value total cycle time to calculate the Start with mapping your value stream is delivered),” he wrote. process cycle efficiency. If all this culture talk is getting a little Lean manufacturing principles Interestingly, Poppendieck points to confusing, step back a moment and come from author Mary Poppendieck’s a version 3.0 of software development take a big-picture view. “Do value- application of the lessons she learned at thinking that may be the glimmerings of stream mapping and figure out where 3M to software engineering. The first continued on page 52 > SDT301 Full Page Ads_Layout 1 4/17/14 6:50 PM Page 49 SDT301 page 45,46,48,50,52_Layout 1 4/18/14 11:38 AM Page 50

50 SD Times May 2014 www.sdtimes.com Advice on succeeding with DevOps These four experts warn against silver bullets, barriers and more BY CHRISTINA MULLIGAN The key to being successful in that an organization can do DevOps by SD Times caught up with some experts DevOps is having a scientific curiosity, having a DevOps specialist team. in the DevOps field to offer advice on understanding how people work “DevOps is something we do across how to be successful with DevOps and together, and pairing strengths with the organization as a team,” said to debunk some of the myths people weaknesses, according to Wilson. Phillips. “You can bring a specialist in to perceive about the process. “You aren’t necessarily going to build help you along with the process, but a team, but you are going to build a there doesn’t need to be a separate Stephen Franklin, CTO of LeanKit: general skill set,” he said. “You need team that tells teams what to do and The biggest misconception about people who want to take pride and what tools to use. DevOps is something DevOps is that it is IT operations with a quality in their work, and you need to we have to do ourselves. Everyone has smile, Franklin said. find leadership that is good at fostering to define for themselves what they are “Many implementations try to break an environment where people can be going to get out of DevOps.” the traditional shared services model for honest with each other without blame.” IT operations by assigning a dedicated “It isn’t the technical expertise that Matt Watson, founder and CEO of IT operations contact to a development you need in DevOps, but it is the team Stackify: Watson stressed the impor- team and instructing them not to grum- building and understanding that is going tance of getting development teams ble when the developers call. This miss- to springboard and push a DevOps cul- and operations to work together. es the pivotal DevOps benefits of align- ture forward in an IT organization.” “Naturally, operations and develop- ing goals, ownership, responsibility and ers hate each other because developers measurement,” he said. Andrew Phillips, VP of product make changes and rapidly push them In order to be successful in DevOps, management for XebiaLabs: Phillips out, the changes cause problems in Franklin said organizations need to be sees three common DevOps miscon- software, and then operations is sort of adaptive, open-minded and have a drive ceptions. The first is that DevOps is a on the hook to deal with those prob- for results-based improvements. But goal and not a means. lems,” he said. there also needs to be a sense of team- “DevOps is a fantastic initiative and The most important thing is avoid- work in order for it to all come together. set of ideas, but it is not a goal “A successful DevOps organization in itself,” he said. “It is done in ‘Getting everyone on recognizes that development and oper- order to deliver value to your the same team and ations will have different goals, but effi- organization, but just because breaking down ciency comes when the two camps work you are going to be DevOps barriers is key.‘ toward a shared goal by using a shared doesn’t mean you automatically process,” he said. are going to make your cus- —Matt Watson, Stackify tomers happier. Until you know Stephen Wilson, technical evangel- what you are doing, DevOps is hard to ing finger-pointing and being knowl- ist for Compuware: Wilson believes measure if you are successful or not.” edgeable. According to Watson, devel- that thinking DevOps is all about The second common misconception opers need to be more knowledgeable automation is the No. 1 misconception. Phillips sees is that DevOps means about some operations-related things, “People tend to think, ‘If I automate installing a flavor-of-the month tool. and operations need to be more educat- stuff, then I’m done,’ ” he said. “The “Yes, tooling can help you address ed on developer-related things. In problem is that if you automate and some common problems, but tooling is order to get the two working together, don’t have a platform to understand the not the answer to DevOps,” he said. he suggested having a common man- performance or manage the change “There is no silver bullet to DevOps.” agement that oversees both of them. near an environment, what you end up Lastly, there is the misconception is “Getting everyone on the same team, having is you are not building a trying to break down barriers and find- pipeline of success and a deliv- ‘DevOps is a fantastic ing the different type Read this story on ery pipeline for features; you initiative and set of of tools that can help sdtimes.com are delivering a sewer to move ideas, but it is not a with the visibility they defects as fast as humanly pos- goal in itself.‘ need to deploy faster sible from the developer’s and measure success is —Andrew Phillips, XebiaLabs desktop into your production key,” said Watson. z systems.” SDT301 Full Page Ads_Layout 1 4/17/14 6:50 PM Page 51 SDT301 page 45,46,48,50,52_Layout 1 4/18/14 11:39 AM Page 52

52 SD Times May 2014 www.sdtimes.com

< continued from page 48 ciency a strategic advantage. “ ‘Game was still in order: “We stayed within the a post-agile world: customer focus. Days’ were disaster preparedness exer- SLA, but it was too close for comfort. Where version 1.0 was contract-focused cises where DevOps simulated night- Certainly we can do better,” he wrote in and version 2.0 was development- mare scenarios, such as a catastrophic the same ACM Queue article. focused, in 2010 she called the transition database failure or Amazon’s East Coast from “push” to “pull” the next software data center going offline,” said Harper Look out for leprechauns development inflection point. Reed, Obama for America’s CTO, in As software development evolves, a published reports. “It’s not enough to promising wrinkle is the attempt to Go ahead, automate something have it in a manual. The lesson of apply the scientific method to evaluat- Once the team has begun thinking lean DevOps is that you actually have to prac- ing engineering practices. In an effort and identified bottlenecks impeding tice and practice disaster recovery sce- to improve the statistical validity of his flow, it’s time to flip on the fun stuff: narios until you have them down cold.” survey, Humble hired Nicole Forsgren automation. The good news here is you Google’s annual Disaster Recovery Velasquez, a professor at the Jon M. don’t have to be agile to automate. Huntsman School of Business at Utah “Some companies are thinking they State University and an expert in survey first need an agile structure,” said TJ design and analysis. Humble also point- Randall, director of sales engineering for ed to a slew of recent books revealing XebiaLabs. “But there are a lot of areas the shaky foundations of many software you can improve on and automate. You development practices that turn out to don’t have to be an agile shop.” be more belief- than evidence-based. What to automate? Here are some In “The Leprechauns of Software suggestions, courtesy of Kim and Hum- Engineering: How folklore turns into ble’s 2012 survey: fact and what to do about it,” author Lau- • Automate a single pain point such as rent Bossavit punctures myths around DNS, NTP, or root passwords. the 10x variation in productivity among • Consolidate multiple sources of developers and other myths. “Making information into one source of truth Software: What Really Works, and Why by creating synchronization scripts We Believe It” by Andy Oram, Greg Wil- for your HR system, CMDB, Asset Testing event is a multi-day exercise in son and others advocates repeatable DB, Policy DB, etc. finding systems and process vulnerabil- results, literature surveys, and rigorous • Store all data inputs to configuration ities by intentionally causing failure. qualitative analysis of software practices. state in the configuration-manage- These tests start small and continually ment system “whether you use a evolve, but often expose interesting Be the curve service, a database (SQL or Hiera on cracks in the behemoth’s armor. The good news is that embracing disk), or pure data in version control “We simulated the earthquake by tak- DevOps in 2014 puts your team on a (a YAML or JSON file).” ing down a data center in the area that path toward progress that many are just Kim’s favorite DevOps pattern is to housed a number of our internal sys- beginning to tread. Though case studies make deploying into the production tems,” wrote Google’s Kripa Krishnan in abound and new tools emerge daily, environments part of the very first stages the September 2012 issue of ACM incremental improvement, architectural of development. “Ideally, the deploy- Queue. “While the outage uncovered awareness and cultural sensitivity will go ment mechanism we build is completely several services that were singly homed, a long way, according to Humble. automated. Tools that can be used it also exposed other interesting depend- “DevOps is definitely becoming include shell scripts, Puppet, Chef, encies. For example, to avoid being more widely adopted. It’s no longer Solaris Jumpstart, Red Hat Kickstart, affected by the outage, some teams considered crazy talk, and you do see Debian Preseed, etc.” decided to failover services from the continuous delivery at scale,” he said. data center to their workstations. Since So, in Biggest Loser fashion, is there a Make disaster fun the ‘earthquake’ occurred near Google single success story he points to for new Anyone who’s spent significant time in a headquarters in Mountain View (Calif.), DevOps dieters? Not quite. cubicle dreads those interminable the testing team disconnected the “On the one hand, I do see things meetings with dull, risk-obsessed disas- Mountain View campus as well—which like that; on the other, I urge caution,” ter recovery consultants. Blame Barack meant all these failovers had failed.” said Humble. “In Read this story on Obama for raising DevOps disaster A brain-eating zombie scenario complex systems, just sdtimes.com recovery’s profile even more. helped Thomas Limoncelli discover that, copying the practices A high-profile DevOps success was while his Google team’s N+2 redundancy can’t have the same the 2012 election, in which President meant it could survive two simultaneous results. Everyone has Obama’s IT team made operational effi- data center outages, he felt a bug report different situations.” z SDT301 Full Page Ads_Layout 1 4/17/14 6:51 PM Page 53

Struggling with inefficient handoffs between Dev and Ops?

Increase communication and efficiency. Decrease confusion and error.

DevOps builds and deploys applications faster than ever before. But slamming together existing processes won’t help you maintain speed and quality. You need a shared tool to keep your teams integrated and to visualize your work.

With LeanKit, you can map processes on virtual whiteboards for a complete and transparent look into status, issues and updates. Track and manage a multitude of tasks and steps. Keep extended teams on the same page. Clone boards to start your next release, and improve your process with automated reports.

Try it FREE FOR 30 DAYS at LEANKIT.COM

Integrations available for MS TFS, JIRA, GitHub, BuildMaster and other tools you use. SDT301 page 54,56,57_Layout 1 4/21/14 2:34 PM Page 54

54 SD Times May 2014 www.sdtimes.com Responding to changes in Responsive Web Design How this style of rendering pages according to devices got started, and where it may go next

BY ROB MARVIN

n its purest form, Responsive Web Design (RWD) is a client-side Web development technique that uses CSS, IHTML and JavaScript to dynamically alter a website’s front end across different screen sizes optimized for each device. It’s one giant, all-purpose ball of code sent from the server that unpacks in the browser and renders itself to display on each device. But how the technique is used and what the word “respon- sive” means have morphed as quickly as the device landscape around it. RWD first caught on with Web and mobile developers as a solution for maintaining a single website across devices. Com- pared to building and managing separate mobile websites based on the different form factors, the idea of one codebase for one responsively designed site housed under one URL is an appealing one. Though, as with all new technology, developers soon ran into RWD’s limitations. “From a perception standpoint, people are more mature than they were in 2010,” said Forrester analyst Mark Grannan. “They greeted [RWD] as a silver bullet solution for all of your device needs. Everyone all of a sudden saw the tablet and the smartphone and didn’t know what to do about delivering experiences optimized for those devices. So the idea of not having to create new teams and new systems was welcomed with open arms, but people didn’t understand the full implica- continued on page 56 > SDT301 Full Page Ads_Layout 1 4/17/14 6:51 PM Page 55

DISCOVER NEW CUSTOMERS

AND EARN MORE REVENUE

WITH BLACKBERRY 10

BlackBerry 10 makes it easy to get started porting apps. Publishing your apps on BlackBerry® World™ expands your reach to a large, global audience.

Come Jam with Us!

BlackBerry Developer developer.blackberry.com Groups

©2014 BlackBerry. All rights reserved. BlackBerry®, BBM™ and related trademarks, names and logos are the property of BlackBerry Limited (“BlackBerry”) and are registered and/or used in the U.S. and countries around the world. All other trademarks are property of their respective owners. BlackBerry assumes no obligations or liability and makes no representation, warranty or guarantee in relation to any aspect of any third-party products or services. Screen image simulated.

Qualcomm® Snapdragon™ processors. Start working on your next jaw-dropping app at developer.qualcomm.com.

©2014 Qualcomm Technologies, Inc. All rights reserved. Qualcomm and Snapdragon are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Trademarks of Qualcomm Incorporated are used with permission. Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc. SDT301 page 54,56,57_Layout 1 4/21/14 2:35 PM Page 56

56 SD Times May 2014 www.sdtimes.com

< continued from page 54 and adapts to its environment. Responsive Web Design, you keep the tions of the complexity it would bring.” “Rather than tailoring disconnected same HTML and you’re just changing That complexity came in the form of designs to each of an ever-increasing the CSS, but that fundamentally limits performance slowdowns for transac- number of web devices, we can treat your design choices. Sometimes when tional or data-heavy sites, a lack of flex- them as facets of the same experience,” you’re trying to create a design or an ibility in design across different devices, Marcotte wrote. “We can design for an experience for a Web page, you need to and the time-consuming development optimal viewing experience, but embed actually change the structure of the process to completely rewrite an exist- standards-based technologies into our HTML.” ing website’s code to be responsive. designs to make them not only more To compensate, the term “respon- flexible, but more adaptive to the media The growing umbrella of ‘responsive’ sive” has broadened over time to that renders them. In short, we need to As “responsive” has developed more encompass differing techniques such as practice responsive web design [empha- into an overarching concept than a par- Adaptive Web Design, RESS (Respon- sis Marcotte’s].” ticular methodology, other techniques sive design with Server-Side compo- The precise technical definition of have emerged to fill in the gaps where nents), and responsive delivery. These RWD is made up of three components: RWD falls short. The earliest example techniques incorporate client-side fluid grids, flexible images and media of this is Adaptive Web Design (AWD), code, multiple device templates, and queries. The fluid grids set the width of popularized in the 2011 book “Adaptive cloud-based code transformations that the Web page based on the dimensions Web Design: Crafting Rich Experi- stretch far beyond the scope of RWD. of the device, and, along with the flexi- ences with Progressive Enhancement,” by Aaron Gustafson. AWD flips the single client-side template approach of RWD on its head. It instead uses a different template for each device, which the server identifies before sending the appropriate tem- Image courtesy of Moovweb of Image courtesy plate to the client. AWD solves the issue of performance by sending only the code a particular device needs, rather then overloading a smartphone with an entire responsive codebase, including desktop and tablet specifica- “Responsive” has simply come to ble images, automatically adjust and tions it won’t need. describe techniques and technologies resize based on a device’s screen “Adaptive design leverages different in which a unified set of website code dimensions when the code unpacks. design back ends so your Web server produces Web pages optimized for “Imagine a three-column layout for has all the different experiences, and multiple devices based on screen size a newspaper,” said Ishan Anand, direc- based on what you can tell about the and device capability. How a site tor of new products at cloud-based device when users access the site, you achieves this unified state is becoming responsive platform provider deliver up a specific subset of context,” less and less important. Moovweb. “As you continue to shrink Forrester’s Grannan said. “The site can “ ‘Responsive’ is coming to mean a that layout smaller and smaller, it tell if I’m coming from an Android ver- single experience across device types,” doesn’t make sense on a mobile phone sus a desktop browser.” Grannan said. “Whether or not you to continue to have three columns, Another offshoot of RWD is RESS, design or deliver it with real responsive even if each of those columns are get- a technique laid out in a 2011 article by techniques, whether it’s responsive, ting proportionally smaller. At a cer- “Mobile First” author Luke Wroblews- adaptive, RESS or something else, will tain point, it breaks down.” ki, which blends responsive and adap- kind of fade away.” The third component, a CSS3 feature tive techniques. Using RESS, the page called a media query, is how the browser is still constructed according to RWD The birth of Responsive Design identifies its own width. At a certain principles, but individual components On May 25, 2010, Web designer and number of pixels, the media query will within the page can be optimized for a developer Ethan Marcotte published identify a device as a tablet or a smart- specific device by server-side code. the seminal article, “Responsive Web phone and that three-column newspaper “RESS was designed to deal with Design,” in the online magazine A List layout will consolidate to two or one, these problems of performance that Apart, followed by a 2011 book of the reorganizing the content accordingly. Responsive Web Design was having,” same name. He was inspired by the “So you have HTML, CSS and Moovweb’s Anand explained. “With concept of responsive architecture, JavaScript as the three pieces that make Responsive Web Design, the mobile where a building or structure responds up a Web page,” Anand said. “With device is getting the same code as the SDT301 page 54,56,57_Layout 1 4/21/14 2:35 PM Page 57

www.sdtimes.com April 2014 SD Times 57

desktop, even though they’re radically different in network access, memory, Responsive Design in dedicated mobile websites CPU and processing power. RESS When it comes to mobile development, RWD has traditionally been at odds with the divides the page into components, and dedicated mobile website, a separate entity from the desktop site usually discernable those components are placed together by the “m” in front of the URL. Yet as the term “responsive” has broadened, so too according to Responsive Web Design, have possible applications of responsive elements. but the server might decide to substi- The conventional thinking behind choosing a mobile website over RWD is that a tute those components out depending dedicated mobile site can handle the performance load of a transactional site such as on the device.” Facebook.com or Amazon.com, or the data and content-heavy load of a site like On the “responsive” spectrum, ESPN.com. RWD is viewed as better suited to simple public websites or publishing RWD sits on one end with its client- sites where the user is consuming a single workload of content. side universal template, AWD sits at Joe Herres, executive vice president of products at SharePoint consulting and mobile product company H3 Solutions, has been outspoken about the limitations of the other with multiple sever-side tem- RWD. Yet he sees the possible benefits of incorporating responsive elements, such as plates, and RESS lands in the middle. a single URL and adaptive templates, into dedicated mobile sites. The server-side properties of AWD and “Responsive Design is not the end-all be-all solution of multi-channel delivery of RESS both lend themselves to more the Web, but it’s useful to implement into any website or Web design,” Herres said. “I customization of the user interface of think it’s really consolidating the user’s experience. What’s great about responsive is each device, addressing another limita- it’s the same URLs, the same place you’re going to, but it’s rendered differently for tion of RWD. different form factors. Outside of that spectrum, another “Going forward we may see more and more mobile websites using Adaptive Web technique similar to RESS arose to tack- Design,” he said. “I wouldn’t doubt in the future when I go to Facebook.com on my le the time- and labor-intensive back-end iPhone, I’m no longer going to see that ‘m.facebook.com.’ It’s still going to be development process for enterprises. ‘www.facebook.com,’ but it’s going to be adaptive. It’s going to send you mobile-spe- Forrester’s 2014 Enterprise Mobility cific renderings. I think we’re moving more into a combination of adaptive and respon- Survey of 146 U.S. enterprise companies, sive, so that each respective form factor will receive the premium experience without z commissioned by Moovweb, found that having to degrade for the other.” —Rob Marvin more than 70% of cost, time and labor on RWD projects are spent on the back-end it,” Anand said. The broadening of the “What do I do about that? What does it re-coding of APIs, middleware and infra- term is a reflection of that. In any of mean that there’s a browser on my Xbox, structure. those techniques, responsive delivery, and how do I support the features and Responsive Delivery (RD), a tech- Adaptive Web Design or RESS, you’re functionality and the fact that somebody nique defined and shepherded into the still incorporating some of the princi- may be looking at this on a 65-inch tele- marketplace by Moovweb, transforms ples of Responsive Web Design as a vision? You can’t keep a list anymore of an enterprise website’s existing code starting point, but you’re building upon all the different screen sizes and form into mobile HTML5, but does so in a it to improve it.” factors and device pixel ratios. You have cloud-based platform rather than on As the boundaries of what “respon- to start from a position of flexibility.” the server-side. sive” means have shifted, the concept RWD is the first step in a still-evolv- “What Responsive Delivery does, in a has begun to move beyond any particu- ing pursuit of creating optimized envi- nutshell, is it moves [code] transforma- lar technique. Responsive elements are ronments for an ever-expanding range tions to the cloud before they hit the even finding their way into develop- of devices. Forrester’s Grannan sees device,” Anand said. “Responsive Deliv- ment tools, as companies such as devel- responsive as a mindset going forward ery can be applied to a site that wasn’t oper tools vendor Telerik is integrating for both understanding and unifying a designed with mobile in mind. To make responsive elements, both responsive user’s experience. your website responsive typically and adaptive, to its Kendo UI widgets, “From an evolutionary standpoint, involves a rewrite of the entire site, and implementing flexible layouts and I’d say we’re absolutely moving away responsive rewrites are notorious for tak- media queries for simpler widgets, and from Ethan Marcotte’s pure vision of ing months or years. To solve those prob- new mobile templates for more com- Responsive Web Design,” he said. lems, Responsive Delivery just defines a plex widgets. “We’re moving more toward a broader series of transforms to transition the According to Telerik director of understanding of multi-device and existing site into a responsive one.” product management Brandon Satrom, multi-channel experiences, and mak- the decision to go “responsive” was to ing those not homog- Read this story on The future of RWD give developers more flexibility in cre- enous but coherent sdtimes.com “Responsive Web Design gets a lot of ating apps or websites for whatever across the spectrum the credit for catalyzing the discussion smart device or screen size comes next. of digital touch points around mobility and the right way to go “What if somebody puts a browser on that customers are mobile, but invariably we need to refine a Galaxy Gear watch?” said Satrom. digesting.” z SDT301 Full Page Ads_Layout 1 4/17/14 6:51 PM Page 58

Win a FREE Venue tablet! Visit Booth 400 at AnDevCon Boston

Develop Better Android* NDK Apps ‰á¡§£¬²ª·µ§²¦¬²£ª¾˜­­ª±Y–£±­³°¡£± Developer Zone Tools. Knowledge. Community. software.intel.com/android

© Copyright 2014, Intel Corporation. All rights reserved. Intel, Look Inside, the Intel Look Inside logo and [other mentioned product names] are trademarks or regis- tered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others. SDT301 page 59_Layout 1 4/18/14 4:21 PM Page 59

www.sdtimes.com May 2014 SD Times 59 Code Watch BY LARRY O’BRIEN Embrace Java 8 (with some caution)

ava 8 has arrived. Every Java shop should with functions that manipulate other functions. It Larry O’Brien, former Jembrace this new language version, which can also be abused into a mess of spaghetti (when Editor of Software represents the most significant advance in the lan- lambdas define lambdas defining lambdas, etc.). Development and Computer Language guage since the 1990s. The headline feature is the Object-oriented and functional designs do not magazines, is a software addition of lambdas: in-line anonymous functions always merge cohesively, especially in larger code- developer living in and important touchstones on the path toward the bases where sweeping evolution to an entire mod- Hawaii. functional programming paradigm. ule is not practical. Dense code, spaghetti code The availability of lambda functions is a low and confusing designs are not unique to functional threshold to qualify a language as “functional,” and programming, of course, but they are areas where Java 8 is the last of the mainstream languages to developers who don’t know better can dig them- add support for first-class functions. In that strict selves into deeper and deeper holes. sense, we’re all functional programmers now. And, Compounding the problem is the pragmatic as I’ve said, certain functional techniques and issue that debuggers haven’t evolved to deal well mindsets have become commonplace. Unit testing with first-class functions. This holds true for the in particular has shown us all that it’s easier to Java 8 preview IDEs that I have looked at. Debug- maintain a set of smaller functions that each com- gers have become excellent at allowing developers pute and return a single thing rather than a mono- to inspect values, but I’ve yet to see one that excels lithic function that does a complex calculation and at visualizing a variable that is actually a handle to then stores the result as internal state. a function or that is focused on a Many development managers are rightfully con- program whose state is primarily Java 8’s Stream library will servative, and they recognize the risk of introducing stored in the stack, not the heap. gave Java shops similar newly learned techniques into mission-critical code- Having raised a few caution bases. This is wise when it comes to functional pro- flags, I want to reiterate my belief power to the kind enjoyed by gramming. Although I believe that functional pro- that Java 8 should be embraced. gramming techniques are broadly beneficial, a study I’ve never met a developer who C# developers using LINQ. by Pankratius, Schmidt and Garretón showed that doesn’t rapidly grow to appreciate “Scala code is more compact than Java code, but the elegance of using higher-order functions for clearly refute other claims of Scala on lower pro- transforming collections, and Java 8’s Stream library gramming effort and lower debugging effort.” will give Java shops similar power to the kind enjoyed I always caution about the difficulty of generaliz- by C# developers using LINQ. This power includes ing from specific experiments, but I’m going to not only querying and filtering, but also a firmer ignore my own advice because this conclusion agrees foundation for reactive programming. with my own experience in using Scala. I think Scala Many would say that, even more than first-class is an excellent language, and would choose it over functions, the essence of functional programming Java—even Java 8—for new development by a small, stems from the immutability of variables after they experienced team. With larger codebases and situa- have been assigned, and lazy evaluation—the ability tions where maintenance programming is already a to “call by need” in a manner that allows for such significant part of the budget, choosing Scala has the things as infinite sequences and data structures and downside that there are relatively few Scala pro- flexible control-flow manipulation. Although I was grammers, and those programmers are expensive. initially hopeful that the Stream library was based on Java, on the other hand, is the most popular of lazy evaluation, it appears not, but third-party the mainstream languages for corporate develop- libraries have already begun to appear. ment. The downside of that is that the population of Finally, I want to praise Java 8’s “default meth- Read this story on Java programmers contains many developers who ods,” which are interfaces with implementations. It sdtimes.com have not been pushing themselves to continue facilitates the Data-Context-Interaction approach, learning, and who may be overconfident about their which I very much like. ability or blind to the challenges of functional code. Java 8 is a 450MB download from Oracle. Best Functional code can be very dense, especially of all, it doesn’t include the Ask toolbar. z SDT301 page 60_Layout 1 4/17/14 7:07 PM Page 60

60 SD Times May 2014 www.sdtimes.com Guest View BY GEOFFREY VAUGHAN Threats magnified in HTML5

Geoffrey Vaughan is an y now, developers have grown accustomed to configured to allow resources to be used and IT security consultant Bdealing with certain “traditional” threats when shared among external untrusted sources. This at Security Compass, it comes to Web applications. For instance, issues puts the app at a much higher risk of loading mali- an information security firm. like injection flaws and cross-site scripting have cious external scripts, particularly if hit by a cross- been on the OWASP Top 10 list for years. But take site scripting attack. those same Web applications and convert them to a While Web apps are also at risk of this, the attack mobile HTML5 application, and suddenly older surface is much larger on a mobile app due to its and “lower-impact” threats become significantly richer features, which makes the damage potentially more high-risk for the mobile platform. much greater. Tip for Developers: Limit depend- It’s important for developers to remember that ence on untrusted code sources and libraries. If this any vulnerability that affects Web applications can can’t be avoided, then the application or server mak- also affect mobile HTML5 applications. And ing the request to an external source should be because of an increased availability of features, restricted to only use whitelisted sources. including local storage on the device, access to con- Cross-Site Scripting: XSS attacks in tradition- tacts, location, and other sensitive information with 3.al Web apps can steal the user’s session or mobile apps, these threats can become magnified attack the browser. But with a mobile HTML5 app, in a mobile environment. the malicious script can also attack device services on Adding to this problem is that the phone (i.e., steal contacts, pictures, whatever else Because of an increased many developers use multi-plat- the application has permission to). Tip for Devel- form development/deploy ment opers: Treat all user-inputted data as hostile and availability of features in tools that can introduce vulnera- untrusted. Data should be filtered to remove any HTML5 apps, threats can bilities into the application. Not to malicious input as well as make use of proper output mention, many Web app special- encoding before any user data is displayed on screen. become magnified. ists are now being asked to devel- SQL Injection: SQL injection is another op mobile apps without a proper 4.common threat for Web apps that has been understanding of security implications. routinely documented by the OWASP Top 10. But Here are five traditional threats that are magni- in a mobile HTML5 application, in addition to fied in a mobile HTML5 environment: attacks against a remote server’s database, you now Local Storage: With traditional Web apps, also have to worry about rogue applications attack- 1.local storage is mostly a moot point (with the ing local databases. Tip for Developers: To pro- exception of cookies), so the risk is only minimal. tect from SQL injections in a local database, in But in a mobile app, local storage is key to the user addition to traditional SQL injection defenses experience, and this practice elevates the impact of (such as using parameterized queries and scrub- this vulnerability. bing queries for malicious input), avoid storing All too often, mobile HTML5 apps leave sensitive sensitive user data in local databases. user data throughout the user’s memory space that Cross-Frame Scripting: Also known as can be accessed by an unauthorized user. This may 5.“clickjacking,” CFS occurs when a malicious include plaintext files, improperly encrypted files user loads a window or frame on top of a running (such as unsalted hashes), or even the encryption application, which steals data from the user when keys themselves. Developers must assume that any tapped or clicked. In mobile HTML5 applications, data put into the user’s memory space will be seen the impact of CFS is often quite severe as mali- and manipulated. Tip for Developers: Do not store cious users are sometimes able to manipulate any Read this story on any sensitive user data in the local memory space. action on a user’s mobile device. Tip for Develop- sdtimes.com Cross-Origin Resource Sharing: CORS, ers: The best way to protect against CFS is to con- 2.or the use of both internal and external figure the application server so that it only distrib- libraries and resources, is a well-known issue with utes the app if it is in the uppermost view. This Web apps, but the risks are often overlooked with server configuration setting is referred to as the X- mobile HTML5 apps. In fact, these apps are often Frame header options. z SDT301 page 61_Layout 1 4/18/14 9:51 AM Page 61

www.sdtimes.com May 2014 SD Times 61 Analyst View BY ROB ENDERLE Why you’ll be a Borg in 10 years

e’ve had wristwatch cell phones for some sharply, and voice command is already very Rob Enderle is a Wtime, and they haven’t exactly become a advanced, which allows you to forgo a keyboard. principal analyst at the must-have item for anyone. But this was largely Further, technologies that allow you to project a Enderle Group. because folks wanted to build cheap phones, and keyboard on any service have advanced to the the cost of putting a good watch phone on your wrist point that folks who want to type without a real or another part of your body has been prohibitive. keyboard have that option. But step back and think for a moment. If you The result is that we are very close to having a are like me, you probably have a laptop, a tablet head-mounted display you could wear all the time, and a smartphone, which is by my count two more and using voice and a virtual keyboard for different things and a level of complexity you’d rather not tasks means we no longer require a physical key- deal with. If you move the watch to the wrist and board for data entry. integrate the phone capability, you drop one The eventual solution would constitute a high- device, and as tablets and laptops continue to drift resolution head-mounted display with a 4K camera together, you’ll be down to one device you have to and microphone coupled with a computing unit carry. Now, if you take a head-mounted high-reso- you’d keep in your pocket or on your belt, or in lution display and couple it with voice recognition your purse wirelessly connected to the head- and command, plus a virtual keyboard, you’d be mounted display. able to give up the tablet and laptop. You’d see the world through the display, which Let’s talk about that and why it will take a would automatically adjust for low decade or more to get this done. light to help you see, and you It will be increasingly hard to would be able to bring up infor- tell what is real and what is Smartphones, tablets and laptops mation in a heads-up format on The problem with all three classes of device is that your health, location, and busi- virtual, and where the human smartphones are too small to type on fast or display nesses around you. It’d also do full as much information as you would like, but they fit PC-level work using a combina- ends and the machine begins. in your pocket (at least most do). Tablets are larger tion of the display and your voice. but still not large enough for most to live off of, and You’d interact by talking to the device or using they are thought to be too large for phone use any flat surface as your digital keyboard, and you’d (though this is clearly changing). Even notebooks likely be unable to live without the device, which don’t have as much video real estate as you’d prob- would form an interface between you and both the ably like, but they do have a workable, decent-sized physical and material worlds. keyboard and plenty of performance. But they sac- rifice portability and battery life to get there. The Borg future A smartphone is best for communicating. A tablet The Borg were human/machine hybrids created is best for consuming information (text, videos, etc.) for the “Star Trek” universe and showcased mostly because it is still portable. And a laptop is best for in the series “Star Trek: The Next Generation.” creation. The differences are increasingly coming With the Borg, it was hard to tell where the down to two things: Screen size, and how you enter machine left off and the human began. The result the data (real or virtual keyboard). of having and wearing all of this technology that constantly keeps you connected and filters all that Fixing the problem you do and see is that it will be increasingly hard to As head-mounted displays get more and more reso- tell what is real and what is virtual, and where the lution, and as we figure out how better to blend the human leaves off and the machine begins. Read this story on real and virtual worlds (by using things like an inte- What will take time isn’t the technology, most of sdtimes.com grated camera), their utility will grow. And with the which is cooked. It is our acceptance of living even right resolution and optics, a head-mounted display more connected than we do today, and with look- can create experiences that rival that of a 40-inch TV. ing like rejects from “The Terminator” for most of Voice-to-text capability has been improving our lives. z SDT301 page 62_Layout 1 4/18/14 9:50 AM Page 62

62 SD Times May 2014 www.sdtimes.com Industry Watch BY DAVID RUBINSTEIN Be resilient as you PaaS

David Rubinstein is n the big picture of software development and Also, it only works on Linux for now. editor-in-chief of SD Times. Icomputing, Platform-as-a-Service is still in its Yet Grubin admits most organizations are infancy. But because it is tied to “the cloud,” peo- nowhere near ready to have this kind of conversa- ple seem to think it’s older than it really is. tion yet. We still haven’t seen a tipping point for PaaS confuses people and fills them with fear of Infrastructure-as-a-Service, he said, so the tipping vendor lock-in because the early platforms are tied point for PaaS is probably another five years out. to specific infrastructures. The overwhelming Companies are still having a hard time getting a majority of people using the Force.com platform, handle on what their data center costs even are, for instance, are those working with Salesforce’s what with real estate, hardware, utilities and CRM system. human resources to be factored in. But they know The only alternative up until now has been the one thing: They don’t want to have to manage private cloud, which allays fears of security that those things that are not core to their businesses comes up short and of the vendor lock-in issue. any longer. Unfortunately, it doesn’t scale, “Enterprises are not talking about cloud adop- We’ll see an explosion in and the economic benefits of a tion. They’re talking about data center consolida- true cloud solution have yet to be tion. They want to get out of the data center busi- Platform-as-a-Service when proven internally. ness,” Grubin said. “But the biggest problem they there is standardization in So, just where does this leave have is deciding what to move” out of their data PaaS going forward? According centers and into the cloud. platforms. to Ben Grubin at Boston-based Millions of enterprise workloads remain in data Cloud Technology Partners, a centers, where servers are 30% to 40% underuti- truly effective PaaS is like what the .NET Frame- lized, and that’s if they’re virtualized. If not, they’re work is to C#: You can write the code yourself in only using 5% to 7% of capacity. “That’s a lot of C#, or you can take advantage of the broader machines making noise, and generating heat, and framework, with the ability to reuse software com- doing next to nothing,” said Grubin. Take, for ponents between apps and to integrate with outside example, servers that spun up for a project two resources and services. “It becomes a migration tar- years ago that were never decommissioned, just get more than what Force.com was,” he said. sitting there, waiting for a new workload that will “There’s no ‘Write your app for MY platform.’ ” never come. And, because the costs of blades and Amazon is the cloud leader because it has exe- racks went down, cheap hardware has led to a kind cuted this exact strategy perfectly. You can use of data center sprawl. Now, he said, “It’s too big a Amazon Web Services in your applications— problem” to untangle. which can be reused in other applications—or For developers, a key aspect to writing applica- choose from a host of integrations. “They are tions for the cloud is understanding the choice of offering phenomenal service and they’re dominat- end target. “Where I write the app has a lot to say ing the market, but not in a way that locks you in,” about maintainability, and the cost of running it in said Grubin. the long term. So, while a number of PaaSes exist, each with “The future is not resilient hardware; it’s their own benefits, there are commonalities among resilient software,” he continued. “In the old days, them. They all rest on traditional storage and virtu- you needed hardware resiliency, because when the alization. We’ll see an explosion in PaaS, Grubin infrastructure went down, the app died. Today, believes, when there is standardization in plat- apps have to be architected to know how to be Read this story on forms. This will allow folks to move their applica- resilient, so if the server dies, it can run on other sdtimes.com tions from one PaaS to another without (signifi- nodes.” cant) modification, and still leverage security and Developers will need to begin designing for scale. That’s an advantage PaaS has over container application-layer resiliency once PaaS reaches that solutions such as Docker, in which you have to tipping point. But it’s something to start thinking maintain the entire stack to port an application. about now. z SDT301 Full Page Ads_Layout 1 4/17/14 7:01 PM Page 63 SDT301 Full Page Ads_Layout 1 4/17/14 6:52 PM Page 64 Attend the Largest Dedicated Android Development Conference in the Universe! PRICE OF CONFERENCE REDUCED! Click here for details May 27-30, 2014 Sheraton Boston Check out listing of CLASSES AND TUTORIALS INSIDE! Get the best real-world Android developer training anywhere! • Choose from more than 75 classes and in-depth tutorials • Network with speakers and other Android developers • Check out more than 40 exhibiting companies

Keynotes

Announced! DIAMOND SPONSOR PLALAATINUMTINUM SPONSORS

Check online for details!

Register Early and SAVE at www.AnDevCon.com

A BZ Media Event #AnDevCon AnDevCon™ is a trademark of BZ Media LLC. Android™ is a trademark of Google Inc. Google’s Android Robot is used under terms of the Creative Commons 3.0 Attribution License.

MAY 27-30, 2014 • BOSTON • www.AnDevCon.com • page 2

Check out this list of TUTORIALS! Who’s Afraid of ContentValues? A Totally Different View: Under the Hood with Android and Linux Ian Darwin Jonathan Levin Working with Video on Android Android Application Development for .NET Developers Rory Hool Michael Crump Android Networking for the Enterprise Encrypt all Things G. Blake Meike Nathan Freitas Embedded Android Tutorial FOR FULL How to Test Apps with Appium Karim Yaghmour DESCRIPTIONS Brian Kitchener Understanding Android Studio OF SESSIONS Leveraging Fully Customized ViewGroups From the Ground Up and its Role in the Go to James Baca Android Developer Toolset AnDevCon.com OpenGL-ES 3.0 and Beyond—Modern OpenGL Programming Jim Wilson Ron Fosner

Check out this list of CLASSES! A Deep Dive into Renderscript Battle-Tested Patterns in Android Concurrency, Parts I and II Larry Schiefer Doug Stevenson An Introduction to Building Enterprise-Secure Android Apps Battling the Media Framework G. Blake Meike Brad Grimm Analytics Theory and Practice Bootstrapping Android Development Nathan Mellor Donn Felker Android as the New Standard Embedded OS Building Android for the Cloudstarburst Karim Yaghmour Ron Munitz Android Emulator Myths... Busted Cloud-Powered Android Apps in Minutesstarburst Luis de la Rosa Chris Risner Android Platform Debugging and Development Connect Your App to the Real World with Google Services Karim Yaghmour Location API Android Security: New Threats, New Capabilities Jim Wilson Jonathan Levin Continuous Integration Server Usage for Android Apache Maven for Android Development Pro Development in Practice Manfred Moser Manfred Moser App Discovery Optimization Creating Composite Views in Android James Harmon Nathan Mellor Apps For Profit Customizing Android for Fun and Profit, Parts I and II Dave Smith Nathan Mellor Automotive Android Designing for Android Chris Huban and Vijay Penemetsa Godfrey Nolan more on next page! MAY 27-30, 2014 • BOSTON • www.AnDevCon.com • page 3

MORE CLASSES! Developing Android Bluetooth Smart Ready Apps Measuring and Improving Your App's Network Performance Vincent Gao Doug Sillars Dive into Android Fragments Multi-User Android: The Complete Guide Donn Felker Ron Munitz Dynamic Audio for Apps and Games NDK Primer Tony Hillerson Ron Munitz FOR FULL Five Strategies to Achieve Continuous Unattended Testing Push Message Primer DESCRIPTIONS Mark Wickham Uzi Eilon OF SESSIONS Git for the Android Developer, Parts I and II Pushing to Android with Azure Go to Gradle: From User to Addict Chris Risner AnDevCon.com Jake Ouellette RxJava on Android Home Sweet Home: Widgets and Live Wallpapers Dan Osipov Elizabeth Mezias Putting Your App on a Memory Diet, Parts I and II How to Maximize the Power Usage and Performance of your Mark Murphy Apps Practical Build Automation: Embracing Gradle Rick Schwartz Avram Lyon In-depth OAuth for Android Luis de la Rosa Preparing your APIs for the Future Ole Lensmar Inside Android’s User Interface Karim Yaghmour Say Cheese: Building a Custom Camera Application Huyen Tue Dao Intellectual Property and Apps, Parts I and II Vlad Shvartsman Stacking Content Providers Ian Darwin Localizing Your Apps: Why? How? Parts I and IIs Matt Brenner Tactics and Tools from a Professional Android Team Mastering Notifications in Android Applications Derek Brameyer Travis Himes

Sponsors and Exhibitors DIAMOND SPONSOR PLALAATINUMTINUM SPONSORS GOLD SPONSORS

SILLVERVER SPONSORS OTHER EXHIBITING COMPPANIESANIES

More exhibitors being added every day! Check online for updates!

Produced by BZ Media MAY 27-30, 2014 • BOSTON • www.AnDevCon.com • page 4

Event Schedule Getting Approval Tuesday, May 27 Gotta Get Approval? 7:30 am – 7:00 pm Registration Open 8:00 am – 9:00 am Morning Coffee Try These 10 Time-Tested Tactics: 9:00 am – 10:30 am Tutorials 10:30 am – 10:45 am Coffee Break STUDY. Find the classes and tutorials at the Android 10:45 am – 12:30 pm Tutorials 1. Developer Conference focused on Developer Essentials, 12:30 pm – 1:30 pm Lunch Android Business, Tablets and Beyond, and Embedded Android. 1:30 pm – 3:00 pm Tutorials Find the sessions that are best for you. 3:00 pm – 3:15 pm Coffee Break 3:15 pm – 5:00 pm Tutorials PREPARE. Download the course catalog and circle the classes 2. you want to take, and explain why the topics relate to your Wednesday, May 28 Android technical efforts. 7:30 am – 7:00 pm Registration Open 7:30 am – 8:45 am Morning Coffee 8:45 am – 9:45 am Keynote – Yahoo CHOOSE. There are many sessions offered in each time slot. 9:45 am – 10:00 am Coffee Break 3. That means that you’ll always find something that fits your 10:00 am – 11:15 am Technical Classes needs and is at just the right level for your own Android development 11:30 am – 12:45 pm Technical Classes and management needs. 12:45 pm – 1:45 pm Lunch 1:45 pm – 2:15 pm Sponsored Sessions JUSTIFY. Go to your manager armed with all the necessary 2:30 pm – 3:45 pm Technical Sessions 4. materials to make a good case for how AnDevCon will help 3:45 pm – 4:00 pm Coffee Break your company make money, save money and improve productivity. 4:00 pm – 5:15 pm Technical Classes 5:30 pm – 7:00 pm Lightning Talks 7:30 pm – 9:30 pm Android Design Panel: Design Is The New Black SHARE. Promise to come back from AnDevCon and hold a 5. brown-bag lunch session to share what you’ve learned with your Thursday, May 29 colleagues, or even conduct formal training within your department. 7:30 am – 7:00 pm Registration Open 7:30 am – 8:30 am Morning Coffee SAVE. The sooner you register, the more your company 9:00 am – 10:15 am Technical Classes 6. saves, so explain the benefit of signing up early, both for the 10:30 am – 11:00 am Keynote – Intel conference and for the hotel, and for making your travel 11:00 am – 11:30 am Coffee Break 11:00 am – 7:00 pm Exhibit Hall Open arrangements right away. 11:30 am – 12:00 pm Sponsored Sessions 12:00 pm – 1:15 pm Lunch TEAM. Save even more with group discounts. Send three or 12:00 pm – 1:15 pm Women in Android Luncheon 7. more employees from your company and save $100 per person. 1:15 pm – 2:30 pm Technical Classes Each person can take different classes and bring back even more 2:30 pm – 3:00 pm Coffee & Ice Cream Break valuable tips and techniques. 3:00 pm – 3:30 pm Keynote – Qualcomm 3:45 pm – 5:00 pm Technical Classes BIG TEAM. Are 10 or more of you coming to AnDevCon? 5:15 pm – 5:45 pm Keynote 5:45 pm – 7:30 pm Networking Reception 8. Contact Stacy Burris for special arrangements, at [email protected]. Friday, May 30 7:30 am – 4:45 pm Registration Open DISCOUNTS. User groups, government employees, 7:30 am – 8:30 am Morning Coffee 9. non-profits and professionals employed by or attending 8:30 am – 9:45 am Technical Classes educational institutions are eligible for special savings. 9:45 am – 10:00 am Coffee Break 10:00 am – 11:15 am Technical Classes ACT. While you can sign up anytime, your company will save 11:00 am – 2:30 pm Exhibit Hall Open 11:00 am – 11:30 am Coffee Break 10. the most if you beat the early deadlines. Help your company’s 11:30 am – 12:00 pm Sponsored Sessions bottom line by signing up today! 12:15 pm – 1:15 pm Lunch 1:15 pm – 2:00 pm Winner's Circle Prizes Announced 2:00 pm – 3:15 pm Technical Classes Find out why you should go to 3:15 pm – 3:30 pm Coffee Break 3:30 pm – 4:45 pm Technical Classes AnDevCon! Watch the videos 4:45 pm Conference Closes at www.AnDevCon.com MAY 27-30, 2014 • BOSTON • www.AnDevCon.com • page 5

Hotel and Travel AnDevCon Boston 2014 will be held at the Sheraton Boston Hotel.

Sheraton Boston Hotel 39 Dalton Street Click Here Boston, Massachusetts, USA 02199 to 1-617-236-2000 RESERVE 1-800-325-3535 YOUR ROOM Reservations NOW! Special Discounted Rates Take advantage of special discounted room rates at the Sheraton Boston Hotel — only US$209 per night for single/double occupancy. Rooms for the reduced rate are limited!

Reservations at the reduced rate can be made through 5:00 pm Eastern time on May 13, 2014 — assuming they don’t sell out. The number of Hertz Rental Car Services rooms in the discounted block is LIMITED and historically rooms sell out Whether you are looking to take a day trip up to Vermont or down well before the deadline. Don’t wait until the last minute to reserve your Cape Cod, or may have arrived into Boston via nearby Back Bay hotel rooms! Station; we offer all guests the convenient option to rent a car directly in our lobby. A fully staffed Hertz rental desk is located adjacent to the This rate is available throughout the duration of the AnDevCon gift shop. conference. Also, if you reserve your room via the registration link you will receive free wireless Internet service in your room. To reach the direct Hertz desk in our lobby, call 617-267-0395 or to reach Hertz main toll-free number, call 800-654-3131. Current parking rates Trying to figure out how to get to the Sheraton? View directions to the 0-1 hour: $16 Sheraton Boston. 1-2 hours: $22 2-4 hours: $28 4-8 hours: $31 Overnight: $46

After 8 hours, overnight rate applies. Registered guests must remove vehicle by 2pm on day of checkout or additional parking charges may be levied.

Due to the limited space and height restrictions of the parking facility, oversized vehicles will be charged $88 per night and oversized parking is at a first come first serve basis. Any vehicle exceeding a height of 6' and/or exceeding 17' in length is considered oversized. AnDevCon is definitely worth the trip. It’s the best place to learn about Android, and a great way to jumpstart your skills for those getting started. —Rory Hool, Software Engineer, Tech Smith MAY 27-30, 2014 • BOSTON • www.AnDevCon.com • page 6

Registration Register TODAY at www.AnDevCon.com! Register By Register On or May 16 After May 17 An excellent conference Three-Day Conference PLUS $1,195 $1,495 PRICE Pre-Conference Tutorials SAVE $300 with access May 27, 28, 29, 30, 2014 REDUCED! to a lot of Three-Day Conference $995 $1,295 brilliant May 28, 29, 30, 2014 speakers. Pre-Conference Tutorials Only $745 $795 — Mandalapa, May 27, 2014 Web Developer, Exhibit Hall Only Pass FREE FREE Viacom Inc. May 29, 30, 2014 All fees are in US$

Three-Day Conference PLUS HOW TO REGISTER CANCELLATION AND Pre-Conference Tutorials Register online and use one of the following REFUND POLICY Registration Includes: payment methods: You can receive a full refund, less a $150 regis- • Admission to pre-conference tutorials Credit Card. You can use the secure online form tration fee, for cancellations made by Friday, on May 27 to pay via credit card and get immediate confir- April 18, 2014. Cancellations after this date are • Admission to sessions and technical classes mation of your registration. MasterCard, Visa and non-refundable. Send your cancellation in writ- on May 28, 29, 30 American Express are accepted. You’ll receive a ing to [email protected]. Registrations • Admission to keynotes registration record and receipt. Please print out may be transferred to another person. • Admission to Exhibit Hall these pages and bring them with you to the Con- Refunds will be processed through the • Admission to all special events, including the ference. Present them at the Registration Desk same method of payment as the initial payment Networking Reception to pick up your badge and course materials. transaction. Credit card refunds will be • Conference materials – PDF files available for processed to the same credit card as the origi- download on web site Check. Fill out the online registration form. Print out the registration record and receipt, nal payment. • Coffee breaks and lunch where indicated If for reasons beyond our control the • Certificate of Completion then mail to BZ Media LLC, 225 Broadhollow Road, Suite 211, Melville, NY 11747 with your conference cannot take place as scheduled, payment. Online registrations that are mailed BZ Media reserves the right to reschedule the Three-Day Conference conference to a date and place of its choosing. Registration Includes: without payment will not be confirmed until pay- • Admission to sessions and technical classes ment is received. on May 28, 29, 30 Purchase Order. If you register using a P.O., QUESTIONS • Admission to keynotes you’ll be invoiced immediately for the registra- Contact Stacy Burris, Event Director at • Admission to Exhibit Hall tion amount. Payment must be received before [email protected] or +1-631-421-4158 x108. • Admission to all special events, including the your registration can be confirmed. Networking Reception • Downloadable conference materials You may combine one of these special discounts with • Coffee breaks and lunch where indicated the Early Registration pricing to save even more! • Certificate of Completion Group. Group discounts will be given automatically if you register three or more people at once. Pre-Conference Tutorials Only You can also contact Stacy Burris at [email protected] to receive the $100/person discount if Registration Includes: your group is unable to register at the same time. Contact her also for special discounts for • Admission to pre-conference tutorials groups of 10 or more. on May 27 Government Employees. Federal, State and Local Government employees can • Downloadable conference materials receive an additional $100 off the Full Event Passport PLUS Pre-Conference • Coffee breaks and lunch where indicated Tutorial price. Enter code GOV in discount code field. CCR-registered indicates • Certificate of Completion that we are listed in the primary supplier database for the Federal Government.

Exhibit Hall Pass Registration Educational Institutions. Personnel employed by or attending educational institutions can get a $100 Includes: discount off the Full Event Passport PLUS Pre-Conference Tutorial price by using the code EDU. • Admission to the Exhibit Hall User Groups. Contact Stacy Burris at [email protected] to see if your group is eligible for • Admission to Networking a discount. Reception and all other special events Non-Profit Organizations. Personnel employed by non-profit organizations can get a $100 discount off the Full Event Passport PLUS Pre-Conference Tutorial price by using the code NONPROFIT. 043014