SDT288 cover_Layout 1 3/22/13 2:13 PM Page 1 A BZMediaPublication APRIL 2013•ISSUE NO.288•$9.95•www.sdtimes.com sdt-blocks-apr13-8x10.875-ol.ai 1 3/20/2013 2:25:39 PM SDT288 Full Page Ads 2-37_Layout 1 3/22/13 10:17 AM Page 2 SDT288 Full Page Ads 2-37_Layout 1 3/22/13 10:18 AM Page 3 SDT288 Full Page Ads 2-37_Layout 1 3/22/13 10:18 AM Page 4 1&1 DYNAMIC CLOUD SERVER SAVE $ 120 First year* 1&1 DYNAMIC CLOUD SERVER A fully fl exible server for a range of requirements including applications, databases, gaming and much more! (cid:81)(cid:3)I(cid:3)ndependently confi gure CPU, RAM, and storage (cid:81)(cid:3)A(cid:3)ccurate and fair: Control costs with pay-per-confi guration and hourly billing (cid:81)(cid:3)U(cid:3)p to 6 Cores, 24 GB RAM, 800 GB storage (cid:81)(cid:3)2(cid:3)000 GB of traffi c included free (cid:81)(cid:3)P(cid:3)arallels® Plesk Panel 11 for unlimited domains; reseller ready (cid:81)(cid:3)U(cid:3)p to 99 virtual machines with different confi gurations under one account (cid:81)(cid:3)N(cid:3)o setup fee (cid:81)(cid:3)2(cid:3)4/7 phone and e-mail support 39 .99 $ $49.99 per month* per month* MAXIMUM FLEXIBILITY HOURLY BILLING Change hardware confi gurations in real Control Costs by only paying time to meet your business needs for what you confi gure MAXIMUM SECURITY PARALLELS PLESK ® PANEL 11 Redundant storage and mirrored processing units reliably protect your server for unlimited domains INCLUDES 1 DEDICATED MOBILE APPS SSL CERTIFICATE ® for server management and monitoring 1and1.com * Offer valid for a limited time only. Base confi guration includes 1 processor core, 1 GB RAM, 100 GB storage. This offer applies to new contracts only. 12 month minimum contract term. Other terms and conditions may apply. Visit www.1and1.com for full promotional offer details. Program and pricing specifi cations and availability subject to change without notice. 1&1 and the 1&1 logo are trademarks of 1&1 Internet, all other trademarks are the property of their respective owners. © 2013 1&1 Internet. All rights reserved. SDT288 page 5_Layout 1 3/22/13 2:39 PM Page 5 Contents ISSUE 288 • APRIL 2013 FROM THE EDITORS SPECIAL REPORT 10 Quality assurance is here to stay DevOps teams are on the move 10 IDEs in the browser are the future 12 Feedback NEWS 14 RSA sticks with traditional security steps 15 Cryptography pioneers snag 2012 Turing Award 16 Browser-based IDE Codenvy catches investors’ eyes 19 Heirloom puts new look on legacy page 30 20 Crittercism bolsters APM monitoring 20 Apprenda adds Java to Platform-as-a-Service FEATURES 21 When good open-source projects go bad Tailoring code for quality 23 FoundationDB takes transactional path 23 JNBridge now spans to Mono on Linux 24 MongoDB 2.4 addresses search concerns 26 Heroku shines light on Ruby 2.0 26 No jailbreaking needed for mobile device tests 29 Telerik wraps Kendo UI with PHP, Windows Phone 8 COLUMNS page 38 57 CODE WATCHby Larry O’Brien Your tests need to go faster Avoiding the beginner’s reef 58 ANALYST VIEWby Michael Facemire Take charge of your mobile strategy 61 GUEST VIEWby Peter Neubauer Get your community involved 62 INDUSTRY WATCHby David Rubinstein Back to best-of-breed page 47 Software Development Times (ISSN 1528-1965) is published 12 times per year by BZ Media LLC, 7 High St., Ste. 407, Huntington, NY 11743. Periodicals postage paid at Hunting ton, NY, and additional offices. SD Times is a registered trademark of BZ Media LLC. All contents © 2013 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, PO Box 2169, Skokie, IL 60076. SD Times subscriber services may be reached at [email protected] or by calling +1-847-763-9692. SDT288 page 6,7 ad_Layout 1 3/22/13 12:32 PM Page 6 BOSTON May 28-31, 2013 • The Westin Boston Waterfront Get the best real-world Android developer training anywhere! • Choose from more than 75 classes and tutorials • Network with speakers and other Android developers • Check out more than 40 exhibiting companies “AnDevCon is one of the best networking and information hubs available to Android developers.” —Nate Vogt, Android Developer, Willow Tree Apps 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. A BZMediaEvent PPllaattiinnuumm SSppoonnssoorr GGoolldd SSppoonnssoorrss SDT288 page 6,7 ad_Layout 1 3/25/13 9:54 AM Page 7 L a s M t a t y R o Ch 1 e S Choose from more than 0 gi Aan a st V c 75 technical classes and tutorials n e E! e d r S b taught by top Android experts, including: a y v e Renderscript Rosetta Stone Introduction to Android Animation $ 3 Making Sticky Social Apps Android Performance Tips 0 0 ! Android Development Boot Camp Android Application Security by Example Android as the New Embedded Linux Building NFC-Enabled Android Applications Handling the Complexities of Images in Android Effectively Leveraging Open Source Reusable Custom Components Embedded Android Leveraging Android’s Linux Heritage Android Fundamentals: What I Wish I Knew When I Started! Getting Mobile with Android and Windows Azure Android Platform Security Underpinnings Mobile Services ...and more! 2D Physics Game Half-Day Hack-A-Thon Android OpenGL ES Essentials For full class descriptions, BLE (Bluetooth Low Energy) is Finally Here for Android! visit www.AnDevCon.com Building Game Effects Like the Pros UI Functional Testing with uiautomator Keynotes Announced! Protecting Your Android Source Code Easy Mobile: Making Your Application Easier to Use Connecting the Dots: Bluetooth in Your Application Hacking APIs for Fun and Profit (Mostly for Fun) Making Android Pretty Mobile: Making Your Application Look Sexy Look Good Chris Haseman, Lead Android Developer at Tumblr Zack Sultan, Designer at Tumblr Jeff Seibert Director of Engineering at Twitter Developing for Billions Leon Farasati Staff Product Manager for Qualcomm Technologies, Inc. Register NOW at www.AnDevCon.com SSSiiilllvvveeerrr SSSpppooonnnsssooorrrsss SDT288 page 8_Layout 1 3/22/13 1:03 PM Page 8 EDITORIAL EDITOR-IN-CHIEF David Rubinstein +1-631-421-4158 x105 • [email protected] SENIOR EDITOR Alex Handy• [email protected] ASSOCIATE EDITOR Suzanne Kattau• [email protected] COPY EDITOR Adam LoBelia• [email protected] SENIOR ART DIRECTOR Mara Leonardi COLUMNIST Larry O’Brien CONTRIBUTING WRITERS Chris Barylick, Alyson Behr, Patrick Hynds, Lisa L. Morgan,Dave Smith, Alexandra Weber Morales CONTRIBUTING ANALYSTS Rob Enderle, Mike Gilpin, Mike Gualtieri, Jeffrey Hammond, Al Hilwa EDITORIAL DIRECTOR Alan Zeichick +1-650-359-4763 • [email protected] CUSTOMER SERVICE SUBSCRIPTIONS +1-847-763-9692 • [email protected] ADVERTISING TRAFFIC Sabrina Adler +1-631-421-4158 x125 • [email protected] Fix software errors LIST SERVICES Josette Strianese faster than ever! +1-631-421-4158 x112 • [email protected] REPRINTS Stacy Burris +1-631-421-4158 x108 • [email protected] Raygun makes error collecting, ACCOUNTING Viena Ludewig +1-631-421-4158 x110 • [email protected] reporting and management OTHER QUESTIONS +1-631-421-4158 x112 • [email protected] automatic and easy ADVERTISING SALES PUBLISHER David Lyman • Supports leading programming languages +1-978-465-2351 • [email protected] • Tracks multiple apps EUROPE, MIDDLE EAST David Lyman WESTERN ASIA +1-978-465-2351 • [email protected] • Unlimited users WESTERN U.S., WESTERN Paula F. Miller • Integrates in minutes CANADA, EASTERN ASIA +1-925-831-3803 • [email protected] AUSTRALIA, INDIA • Real-time error trend graphs EASTERN U.S. Jonathan Sawyer EASTERN CANADA +1-603-924-4489 • [email protected] Claim your FREE trial at PUBLISHING DIRECTOR Ted Bahr +1-631-421-4158 x101 • [email protected] http://raygun.io PRESIDENT Ted Bahr EXECUTIVE VICE PRESIDENT Alan Zeichick BZ MEDIA LLC A product by 7 High Street, Suite 407 Huntington, NY 11743 TEL +1-631-421-4158 FAX +1-631-421-4130 www.bzmedia.com [email protected] SDT288 Full Page Ads 2-37_Layout 1 3/22/13 10:18 AM Page 9 (cid:58)(cid:96)(cid:90)(cid:91)(cid:76)(cid:84)(cid:90)(cid:3)(cid:80)(cid:85)(cid:3)(cid:45)(cid:86)(cid:74)(cid:92)(cid:90) (cid:40)(cid:94)(cid:72)(cid:89)(cid:75)(cid:3)(cid:94)(cid:80)(cid:85)(cid:85)(cid:80)(cid:85)(cid:78)(cid:3)(cid:84)(cid:86)(cid:75)(cid:76)(cid:83)(cid:80)(cid:85)(cid:78)(cid:3)(cid:13)(cid:3)(cid:75)(cid:76)(cid:90)(cid:80)(cid:78)(cid:85)(cid:3)(cid:91)(cid:86)(cid:86)(cid:83)(cid:90)(cid:3)(cid:77)(cid:86)(cid:89)(cid:3)(cid:58)(cid:86)(cid:77)(cid:91)(cid:94)(cid:72)(cid:89)(cid:76)(cid:19)(cid:3)(cid:41)(cid:92)(cid:90)(cid:80)(cid:85)(cid:76)(cid:90)(cid:90)(cid:3)(cid:13)(cid:3)(cid:58)(cid:96)(cid:90)(cid:91)(cid:76)(cid:84)(cid:90) (cid:49)(cid:83)(cid:72)(cid:73)(cid:80)(cid:3)(cid:40)(cid:86)(cid:77)(cid:90)(cid:73)(cid:82)(cid:3)(cid:40)(cid:73)(cid:90)(cid:73)(cid:80)(cid:83)(cid:84)(cid:81)(cid:73)(cid:82)(cid:88) (cid:3)(cid:3) (cid:42)(cid:86)(cid:83)(cid:83)(cid:72)(cid:73)(cid:86)(cid:89)(cid:72)(cid:91)(cid:80)(cid:93)(cid:76)(cid:3)(cid:84)(cid:86)(cid:75)(cid:76)(cid:83)(cid:80)(cid:85)(cid:78)(cid:3)(cid:13)(cid:3)(cid:75)(cid:76)(cid:90)(cid:80)(cid:78)(cid:85)(cid:3)(cid:76)(cid:85)(cid:93)(cid:80)(cid:89)(cid:86)(cid:85)(cid:84)(cid:76)(cid:85)(cid:91)(cid:3) (cid:40)(cid:85)(cid:72)(cid:83)(cid:96)(cid:97)(cid:76)(cid:19)(cid:3)(cid:75)(cid:76)(cid:90)(cid:80)(cid:78)(cid:85)(cid:3)(cid:13)(cid:3)(cid:73)(cid:92)(cid:80)(cid:83)(cid:75)(cid:3)(cid:94)(cid:80)(cid:91)(cid:79)(cid:3)(cid:76)(cid:95)(cid:74)(cid:76)(cid:87)(cid:91)(cid:80)(cid:86)(cid:85)(cid:72)(cid:83)(cid:3)(cid:88)(cid:92)(cid:72)(cid:83)(cid:80)(cid:91)(cid:96)(cid:3)(cid:13)(cid:3)(cid:76)(cid:77)(cid:196)(cid:74)(cid:80)(cid:76)(cid:85)(cid:74)(cid:96) (cid:60)(cid:52)(cid:51)®(cid:3)(cid:73)(cid:72)(cid:90)(cid:76)(cid:75)(cid:3)(cid:74)(cid:86)(cid:89)(cid:76)(cid:19)(cid:3)(cid:87)(cid:83)(cid:92)(cid:90)(cid:3)(cid:84)(cid:72)(cid:85)(cid:96)(cid:3)(cid:90)(cid:91)(cid:72)(cid:85)(cid:75)(cid:72)(cid:89)(cid:75)(cid:90)(cid:3)(cid:73)(cid:72)(cid:90)(cid:76)(cid:75)(cid:3)(cid:76)(cid:95)(cid:91)(cid:76)(cid:85)(cid:90)(cid:80)(cid:86)(cid:85)(cid:90) (cid:41)(cid:55)(cid:52)(cid:53)™(cid:19)(cid:3)(cid:58)(cid:96)(cid:90)(cid:52)(cid:51)(cid:19)(cid:3)(cid:58)(cid:86)(cid:72)(cid:52)(cid:51)™(cid:19)(cid:3)(cid:41)(cid:55)(cid:44)(cid:51)™(cid:3)(cid:13)(cid:3)(cid:84)(cid:72)(cid:85)(cid:96)(cid:3)(cid:86)(cid:91)(cid:79)(cid:76)(cid:89)(cid:90) Sparx Systems (cid:58)(cid:80)(cid:84)(cid:92)(cid:83)(cid:72)(cid:91)(cid:80)(cid:86)(cid:85)(cid:19)(cid:3)(cid:74)(cid:86)(cid:75)(cid:80)(cid:85)(cid:78)(cid:19)(cid:3)(cid:75)(cid:76)(cid:73)(cid:92)(cid:78)(cid:78)(cid:80)(cid:85)(cid:78)(cid:3)(cid:13)(cid:3)(cid:93)(cid:80)(cid:90)(cid:92)(cid:72)(cid:83)(cid:80)(cid:97)(cid:72)(cid:91)(cid:80)(cid:86)(cid:85)(cid:3)(cid:91)(cid:86)(cid:86)(cid:83)(cid:90)(cid:3) (cid:55)(cid:76)(cid:89)(cid:77)(cid:86)(cid:89)(cid:84)(cid:72)(cid:85)(cid:74)(cid:76)(cid:19)(cid:3)(cid:87)(cid:89)(cid:80)(cid:74)(cid:76)(cid:3)(cid:13)(cid:3)(cid:87)(cid:89)(cid:76)(cid:74)(cid:80)(cid:90)(cid:80)(cid:86)(cid:85) www.sparxsystems.com (cid:45)(cid:92)(cid:83)(cid:83)(cid:3)(cid:83)(cid:80)(cid:77)(cid:76)(cid:74)(cid:96)(cid:74)(cid:83)(cid:76)(cid:3)(cid:90)(cid:92)(cid:87)(cid:87)(cid:86)(cid:89)(cid:91)(cid:3)(cid:94)(cid:80)(cid:91)(cid:79)(cid:3)(cid:76)(cid:85)(cid:75)(cid:20)(cid:91)(cid:86)(cid:20)(cid:76)(cid:85)(cid:75)(cid:3)(cid:91)(cid:89)(cid:72)(cid:74)(cid:76)(cid:72)(cid:73)(cid:80)(cid:83)(cid:80)(cid:91)(cid:96) Join the community www.community.sparxsystems.com (cid:60)(cid:52)(cid:51)(cid:3)(cid:99)(cid:3)(cid:41)(cid:55)(cid:52)(cid:53)(cid:3)(cid:99)(cid:3)(cid:43)(cid:43)(cid:58)™(cid:3)(cid:99)(cid:3)(cid:41)(cid:55)(cid:44)(cid:51)(cid:3)(cid:99)(cid:3)(cid:58)(cid:96)(cid:90)(cid:52)(cid:51)(cid:3)(cid:99)(cid:3)(cid:59)(cid:54)(cid:46)(cid:40)(cid:45)®(cid:3)(cid:99)(cid:3)(cid:42)(cid:18)(cid:18)(cid:3)(cid:99)(cid:3)(cid:21)(cid:53)(cid:44)(cid:59)(cid:3)(cid:99)(cid:3)(cid:49)(cid:72)(cid:93)(cid:72)™(cid:3)(cid:99)(cid:3)(cid:40)(cid:58)(cid:55)(cid:3)(cid:99)(cid:3)(cid:55)(cid:47)(cid:55)(cid:3)(cid:99)(cid:3)(cid:43)(cid:76)(cid:83)(cid:87)(cid:79)(cid:80)(cid:3)(cid:99)(cid:3)(cid:58)(cid:86)(cid:72)(cid:52)(cid:51)™(cid:3)(cid:99)(cid:3)(cid:40)(cid:89)(cid:74)(cid:46)(cid:48)(cid:58)™(cid:3)(cid:99)(cid:3)(cid:58)(cid:54)(cid:52)(cid:45)™(cid:3)(cid:99)(cid:3)(cid:63)(cid:52)(cid:51)™(cid:3)(cid:99)(cid:3)(cid:63)(cid:58)(cid:43)(cid:3)(cid:99)(cid:3)(cid:63)(cid:52)(cid:48)®(cid:3)(cid:99)(cid:3)(cid:62)(cid:58)(cid:43)(cid:51)(cid:3)(cid:99)(cid:3)(cid:17)(cid:52)(cid:86)(cid:89)(cid:76) SDT288 page 10_Layout 1 3/22/13 10:10 AM Page 10 OPINION 10 SD Times April 2013 www.sdtimes.com FFRROOMM TTHHEE EEDDIITTOORRSS Quality assurance is here to stay The drive to agile methodologies has sophisticated software will require Hutcheson’s article, “Your tests need to held out the promise of software sophisticated testing that goes beyond go faster,” on p. 47), involve increasing- development teams without a dedicat- what developers can do. The role of the ly automated test suites. Some involve ed quality-assurance specialist—or dedicated test professional or QA team leveraging the latest in DevOps and organizations without test/QA depart- may be diminished, but it has not been Continuous Delivery products or serv- ments. eliminated. ices. Some involve sophisticated collab- Sorry, that’s not going to happen. That doesn’t mean that we should oration. And certainly with the latest in Sure, dev teams can and should focus be satisfied with the speed of software tools, and with careful policies, a team on building quality into the product. Of testing, either within the development can squeeze a lot of time out of the course, code repositories can enforce team or in a dedicated quality-assur- process. standards for unit testing. Certainly, ance group. There is a business imper- Not all of it, though. It’s our feeling business stakeholders should regularly ative to release software as early as that while the goal may be to elimi- review the software to ensure that it possible and to drive costs out of the nate the need for discrete, human- meets their business requirements, just process. The QA function, which powered testing phases, we should as architects should review against often comes at the end of the time- never expect to totally meet that goal. technical requirements. line, is both squeezed by coding Unless you plan to turn your cus- All of those trends will improve soft- delays, budget pressures and the tomers or end users into beta testers ware quality by identifying defects CEO’s demand to “ship it faster, ship (and we acknowledge that this is sooner so they can be fixed less expen- it now.” With no loss of quality, of trending), someone, somewhere, sively. All of those trends will shorten course. needs to perform QA prior to release. software release cycles and lower soft- What’s a development team lead or All the automation in the world can’t ware costs. software development executive to do? eliminate the need for QA. Thank However, no matter how you slice it, Some answers (as you’ll read in Marnie heavens. z IDEs in the browser are the future We have seen the future of the acceptable standard of code. installing Eclipse and all the stuff that integrated development envi- Well, a cloud-based, browser-deliv- goes with it, you can clone and deploy a ronment, and for development teams, ered IDE solves all of these issues. It’s development environment, exactly as that means an IDE delivered from the something that’s been hinted at for some you would fork a project on GitHub, for cloud into a browser. We’re already see- time. The Eclipse Foundation, for exam- example. Who wouldn’t want to be able ing this move to the cloud happen with ple, has been working on the Orion proj- to share a fully configured IDE with business and office productivity soft- ect, and on a headless Eclipse installa- their team? ware (Salesforce, Microsoft’s Office tion that acts as a server for client-side And for ISVs with hosts of APIs, the 365, Adobe Photoshop), and for many developers. Both projects have been browser-based IDE model is a true of the same reasons, IDEs will not be designed specifically to increase IDE administrative and productivity boost. far behind. deployment velocity. And, on p. 16 Imagine if programmers don’t have to To write software, a development (“Browser-based IDE Codenvy catches download anything to write software for team’s IDE needs libraries, configura- investors’ eyes”), we spotlight a Java- your platform. They simply have to tions, links into the continuous inte- based IDE startup that’s attracted seri- click on a link, enter security creden- gration and build system, ties into the ous attention from investors. tials, open a template, click a few but- testing environment, and whatever That is what the move to the brows- tons, associate a few variables, and then extra plug-ins and add-ons are needed er is all about: velocity. Rather than hit “deploy.” The browser as IDE: It is by the organization to produce its spending the first week with a new hire the future. z