SDT328 cover_Layout 1 7/22/16 2:25 PM Page 1

A BZ Media Publication

Making the case for Don’t let testing a sound type system crimp your agility. in JavaScript: Here’s JS++ In fact, put it first!

AUGUST 2016 • ISSUE NO. 328 • $9.95 • www.sdtimes.com SDT328 Full Page Ads_Layout 1 7/21/16 3:07 PM Page 2

Other Mobile Printers Just Don’t Cut It.

Improve your bottom line with the Epson® Mobilink™ P80 Plus. It’s the only 3" mobile receipt printer with a built-in auto cutter, to get customers in and out faster. The compact P80 Plus is just the latest innovation from the Mobilink line of printers that are a cut above ordinary receipt printers. Mobilink printers feature best-in-class battery life, the fl exibility to be used for stationary or mobile POS applications, rock-solid durability and seamless integration with mobile devices. epson.com/Mobilink Mobilink Printers Mobilink P80 Plus

P80 P60II P20 3" receipt 2” receipt/label 2” receipt

Specifi cations subject to change without notice. EPSON is a registered trademark, EPSON Exceed Your Vision is a registered logomark of Seiko Epson Corporation. All other product and brand names are trademarks and/or registered trademarks of their respective companies. NFC Wireless Epson disclaims any and all rights in these marks. Copyright 2016 Epson America, Inc. SDT328 Full Page Ads_Layout 1 7/21/16 3:08 PM Page 3

Data entry errors. Consolidation headaches. Quality data shouldn’t be a pain.

Try a little Vitamin Q.

We supply Vitamin Q – “quality” – in data quality management solutions that profile, clean, enrich, and match your customer data – and keep it healthy over time. Add Vitamin Q to your data integration, business intelligence, Big Data, and CRM initiatives to ensure accurate data for greater insight and business value.

ACT Get a FREE 30-day trial! NOW www.MelissaData.com/vitaminQ

Solutions for 10,000+ Customers 30+ Years Data Quality & Cloud • On-Premise 240+ Countries Worldwide Strong Mailing Solutions • Services

Germany India www.MelissaData.de www.MelissaData.in United Kingdom Australia www.MelissaData.co.uk www.MelissaData.com.au www.MelissaData.com 1-800-MELISSA SDT328 Full Page Ads_Layout 1 7/21/16 3:08 PM Page 4 SDT328 page 5_Layout 1 7/22/16 2:33 PM Page 5

Contents ISSUE 328 • AUGUST 2016

NEWS FEATURES 8 News Watch The case for JS++ 12 Brewing bitterness over Java

15 Software for the marijuana industry set to yield high returns 18 Unicorns’ days are numbered page 28 22

Don’t let testing Bringing lessons learned at Facebook to a stocks startup stop your agility page 34 24 Startup aims to transform the lives of the disabled with open source 26 Infragistics allows developers to embed ReportPlus into apps

COLUMNS 47 GUEST VIEW by Wayne Ariola How much risk is too much for an RC? 49 ANALYST VIEW by Al Hilwa How imaging SDKs can solve today’s Rise of the elusive citizen developer application development challenges 50 INDUSTRY WATCH by David Rubinstein In SUM, applications are alive

page 43

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 © 2016 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]. SDT328 page 6_Layout 1 7/21/16 3:22 PM Page 6

®

www.sdtimes.com

Instantly Search EDITORIAL EDITOR-IN-CHIEF David Rubinstein Terabytes of Text 631-421-4158 x105 • [email protected] SENIOR EDITOR Alex Handy • [email protected]

SOCIAL MEDIA AND Christina Mulligan • [email protected] ONLINE EDITORS Madison Moore • [email protected]

COPY EDITOR Adam LoBelia • [email protected] dtSearch’s document filters SENIOR ART DIRECTOR Mara Leonardi • [email protected] support popular file types, emails CONTRIBUTING WRITERS Patrick Hynds, Lisa Morgan, Alexandra Weber Morales with multilevel attachments, CONTRIBUTING ANALYSTS Rob Enderle, Michael Facemire, Mike Gilpin, databases, web data Mike Gualtieri, Jeffrey Hammond, Al Hilwa

CUSTOMER SERVICE

SUBSCRIPTIONS [email protected]

ADVERTISING TRAFFIC Mara Leonardi Highlights hits in all data types; [email protected] 25+ search options LIST SERVICES Shauna Koehler [email protected]

REPRINTS Stacy Burris 631-421-4158 x108 • [email protected]

ACCOUNTING Viena Ludewig 631-421-4158 x110 • [email protected] :LWK$3,VIRU1(7-DYDDQG&£ OTHER QUESTIONS [email protected] 6'.VIRUPXOWLSOHSODWIRUPV£ (See site for articles on faceted ADVERTISING SALES PUBLISHER David Lyman search, SQL, MS Azure, etc.) 978-465-2351 • [email protected]

WESTERN U.S., WESTERN CANADA, EASTERN ASIA, AUSTRALIA, INDIA Paula F. Miller 925-831-3803 • [email protected]

EASTERN U.S., EASTERN CANADA, EUROPE, MIDDLE EAST, WESTERN ASIA Visit dtSearch.com for Jonathan Sawyer 603-924-4489 • [email protected]

‡KXQGUHGVRIUHYLHZVDQG PUBLISHING DIRECTOR Ted Bahr case studies 631-421-4158 x101 • [email protected] ‡IXOO\IXQFWLRQDOHQWHUSULVHDQG developer evaluations PRESIDENT Ted Bahr FOUNDING EDITOR Alan Zeichick

BZ MEDIA LLC 225 Broadhollow Road, Suite 211 The Smart Choice for Text Retrieval® Melville, NY 11747 TEL 631-421-4158 since 1991 FAX 631-421-4130 www.bzmedia.com dtSearch.com 1-800-IT-FINDS [email protected] SDT328 Full Page Ads_Layout 1 7/21/16 3:08 PM Page 7 SDT328 page 8,9_Layout 1 7/22/16 2:52 PM Page 8

8 SD Times August 2016 www.sdtimes.com

NEWS WATCH

Rogue Wave releases H2O.ai releases Sparkling Water 2.0 major update to the H2O.ai announced the availability of Sparkling Water 2.0, an API for Apache Spark with new fea- Zend Framework tures and functionality. Sparkling Water now includes the ability to interface with Apache Spark, Rogue Wave is updating its MLlib and Scala to give Spark user’s more visual capabilities. open-source framework for Sparkling Water 2.0 builds off of Sparkling Water, which was designed to give its users APIs, developing Web applications RDDs and multi-tenant context, as well as machine learning algorithms. Sparkling Water also and services. According to the allows enterprises to use H2O algorithms company, this is the first with MLlib algorithms on Apache Spark. major release in four years. Other new features and improvements Zend Framework 3 features include the ability to run Apache Spark support for PHP 7 and middle- and Scala through H2O’s Flow UI, support ware runtime and perform- for the Apache Zeppelin notebook, visual ance enhancements. intelligence for Apache Spark, and real- In addition, version 3 of the time machine learning for data products framework features an archi- using Spark Streaming and H2O. tectural structure that allows H2O.ai recently built a team of data visualization experts who focus on AI and machine learn- developers to use components ing algorithms. The team’s progress will come to Apache Spark via Sparkling Water, which gives within Zend Framework apps users an easy way to understand their visualizations of algorithmic results. or any other framework in order to reduce dependencies, AppSource contains more dows and ReportPlus Embed- and more than 20 visualiza- and to enable reuse within the than 200 business SaaS apps, ded. tions to create custom dash- PHP ecosystem. add-ins and content packs, ReportPlus is a data visual- boards. Another key update to the including new business apps, ization service that gives solution is a new middleware according to a Microsoft enterprises the ability to see runtime. Expressive is announcement. how their business is perform- Rails 5.0 released designed to focus on simplici- Other updates from ing, and it runs either in the with Action Cable, ty and interoperability, and it Microsoft will enable cus- cloud or on-premise. Infragis- API mode enables developers to cus- tomers to gain more insight tics is now including an After four betas, two release tomize their solutions. from their data so they can embedded SDK with Report- candidates, and hundreds of build apps with embedded Plus in order to allow develop- contributors, Rails 5.0 is finally intelligence and analytics. ers to take the solution and Microsoft updates done. One of the most impor- Microsoft announced the gen- embed it into their applica- tant features of this release is give customers eral availability of Power BI’s tions. Action Cable, a new framework insight from their data publish to web feature to help The desktop version was that handles WebSockets in developers create visualiza- created in response to cus- Microsoft customers will be Rails. Action Cable is an inte- tions and then publish them to tomer requests. According to able to use their data in com- grated solution for managing a blog or website. Some fea- Jason Beres, senior vice pres- bination with new updates and connections, with two layers: tures available in Power BI ident of developer tools at capabilities, such as the intro- one for server-side processing, include free authoring tools, Infragistics, the company duction of Microsoft Dynamics and a JavaScript layer for one-click publishing to the 365, Microsoft AppSource, heard users wanted some- client-side interaction. web, and cross-device sup- and Power BI Embedded. thing that could publish According to the Ruby on port. Microsoft Dynamics 365 reports from their desktops Rails team, Action Cable moves Microsoft’s current and laptops, so it created makes designing live features CRM and ERP cloud solutions Infragistics allows ReportPlus Desktop. like chat, notifications and Other features include self- into a single cloud service, developers to embed presence easier. For those including apps that are useful service BI through touch ges- developers who want to see a for business functions like ReportPlus into apps tures, drag-and-drop capabili- live use case, these features financials, operations, and Infragistics is expanding its ties, and immediate sharing are currently a part of Base- customer service. enterprise mobility business abilities; the ability to access camp 3, a private, secure col- AppSource is another way intelligence (BI) solution. The and connect directly to data laborative space for develop- for customers to find new company announced a sources such as Dropbox, Flur- ers. apps, and business users can redesign to ReportPlus Mobile, ry, Google Analytics, Google The other big feature of now try out SaaS apps from as well as the addition of Drive, Microsoft Dynamics Rails 5.0 is the API mode. Rails Microsoft and its partners. ReportPlus Desktop for Win- CRM, Salesforce and Twitter; is useful for the new crop of SDT328 page 8,9_Layout 1 7/22/16 2:52 PM Page 9

www.sdtimes.com August 2016 SD Times 9

client-side JavaScript or native board models such as the With v1.4, a Loki Native- depends upon. applications that need the back Passport and Priv. Script adapter is available for Using this project, develop- end to speak JSON, according The news follows a United NativeScript apps, which can ers can find out relevant secu- to the team. Developers can see States Senate memo that it be found on GitHub. Also, with rity advisories for a whole this in API mode. would no longer use BlackBerry this version, there is a pure dependency tree to avoid devices. Instead, it will migrate JavaScript full-stack frame- merging potentially insecure to Android and iOS devices. work. libraries. Additionally, Depend- BlackBerry to ditch its ency CI can catch potentially Classic smartphone insecure or unlicensed libraries LokiJS reaches Dependency CI BlackBerry has finally decided before a developer even to part ways with the BlackBer- version 1.4 reviews potential merges them, and it tests each ry Classic, the company’s iconic The open-source project vulnerabilities dependency on every pull request. keyboard device. According to called LokiJS has made it to The founder of an open- Dependency CI currently the company, while the smart- version 1.4, and with this source library discovery serv- supports dependency checks phone has been part of the release comes new perform- ice launched a new project from 21 package managers. BlackBerry portfolio for many ance improvements, a number that can continuously test Some examples include Julia, years, it has run its course and of bug fixes, and a Native- open-source dependencies for Maven, NPM, NuGet, PyPI and can no longer keep up with Script Adapter. potential vulnerabilities and RubyGems. It’s free for open- today’s market. LokiJS is an in-memory other issues. source projects, and there is a The company will now document-oriented datastore The project is Dependency 14-day free trial for checking focus its efforts on providing for Cordova and Node.js. It CI, an open-source tool that private GitHub repositories. customers with new devices supports indexing for docu- integrates directly into a that have better user experi- ment access, detects changes GitHub workflow just like other ence and security. in databases, and recomputes CI systems. It runs a set of con- LogiGear launches an While the BlackBerry Clas- itself to contain updated data figurable tests on any depend- all new Continuous sic is one of the company’s that is readily available. Loki- ency that it detects in a code- last models that provides a JS also supports collections base, and checks it for Testing solution physical keyboard, the compa- like MongoDB, but it saves incorrect licenses and depre- LogiGear has announced a ny will still continue to manu- data to a disk in JSON so the cated or unmaintained libraries new Continuous Testing solu- facture its other tactile key- data becomes portable. that a developer’s code tion and service to help enter- prises improve their strategies, and to Typemock uses artificial intelligence to solve unit help them complete their testing challenges transformation to a DevOps environment. The complexity and lengthy process The LogiGear Continuous of unit testing is a bit of a challenge Testing solution and service to some developers, which is why will help companies with sev- Typemock has launched Isolator v8 eral testing challenges by for .NET developers. It features an including a single unified plat- artificial intelligence bot that gener- form for quality reporting and ates suggestions to test the validity collaboration. of the code as it’s written. One major piece to this To keep up with other agile solutions, Typemock created the artificial intelligence bot Type- new offering that aims to mock Suggest. The company said it is able to suggest code that covers the parts and logic of solve some of the test any pre-existing code that does not have implement unit testing. automation challenges is a Suggest provides a template and offers a test with setup, isolation, mocking and verifica- framework that would work tions, delivering maintainable and readable tests that .NET developers can add to their own suite with the API layer of test of tests. automation. LogiGear has its Within the Isolator tool, the isolation/mocking component allows developers to isolate their own turnkey solution called code into smaller pieces from a bigger system, letting them more easily write the tests. Test Architect, which lets com- There is also a smart runner component that is integrated with Visual Studio. Lopian said panies develop a large volume that this allows developers to run tests automatically or manually, and it has incremental run- of automated tests, and it can ning, which means it knows what test needs to be run so a developer doesn’t have to run tests be used in addition to the new on a whole suite. Continuous Testing offering. SDT328 page 10,11_Layout 1 7/21/16 3:22 PM Page 10

Register Today!

September 7-9, 2016 Paris Hotel, Las Vegas www.InterDrone.com

The Largest Commercial Drone Show in the World!

135+ exhibitors • Demos • Keynotes • 120+ Classes and Panels • InterDrone F Grand Opening Keynote!

Michael P. Huerta FAA Administrator SDT328 page 10,11_Layout 1 7/21/16 3:22 PM Page 11

“It looks like the drone industry has chosen their go-to event!” —Robert Rodriquez, President of the Society of Aerial Cinematography

InterDrone is Three Awesome Conferences:

For Drone Builders For Flyers, Buyers and For Flyers Engaged in Aerial Content will focus on advanced Drone Service Businesses Photography and Videography flying dynamics, chips and Classes focus on enterprise applications Class content includes drone use for boards, airframe considerations, such as precision agriculture, surveying, real estate and resort marketing, action hardware/software integration, mapping, infrastructure inspection, sports and movie filming, newsgathering sensors, power issues, and law enforcement, package delivery, — any professional activity where the . and search and rescue. quality of the image is paramount.

e Film Festival • Women In Drones Luncheon • 100+ Industry Expert Speakers

A BZ Media Event SDT328 page 12,13_Layout 1 7/22/16 2:07 PM Page 12

12 SD Times August 2016 www.sdtimes.com Brewing bitterness over BY ALEX HANDY When Oracle purchased Sun Microsys- tems in 2010, the immediate worry in the marketplace was that the company would become a bad actor around Java. Six years later, it would seem that these fears have come true—at least in part. The biggest new platform for Java, Android, remains embroiled in ugly lit- igation between Google and Oracle. Despite outward appearances of a danger for mainstream Java, however, it’s undeniable that the OpenJDK has continued along apace, almost at the same rate of change IT experienced at Sun. When Sun open-sourced the OpenJDK under the GPL before it was acquired by Oracle, it was, in a sense, Oracle’s stewardship ensuring that no single entity could control Java entirely, as with . Java EE, however, has lagged behind over spec leaves bad in its attention from Oracle. Java EE 7 arrived two years ago, and it’s already taste in community out of step with the new APIs intro- duced in OpenJDK 8. The executive 8—that will support developers as they mit to and deliver Java EE 8,” said Rah- committee at the Java Community seek to build new applications that are man. Process is ready to move the enterprise designed using microservices on large- His concerns come from the fact platform along its road map. Yet some- scale distributed computing and con- that the Java EE 8 specification has thing has stopped Java EE dead in its tainer-based environments on the been, essentially, stalled by lack of tracks at Oracle. JSR 366 laid out the cloud. Oracle is working closely with action on Oracle’s part. The specifica- foundations for this next revision of the key partners in the Java community to tion leads for the project are stuck in a platform in the fall of 2015. One would finalize the proposal, and will share the sort of limbo, with their last chunk of never know that, however, by looking at full details with the broader Java com- work completed in December, followed munity at JavaOne in by no indication of movement inside ‘Our biggest concern now September.” Oracle. is if Oracle is even One person who’s wor- What exactly would Java EE 8 look ried that JavaOne won’t like? Fortunately, the JSR 366 team has committed to delivering reveal any amazing new a massive survey at its fingertips, detail- Java EE.’ developments in Java EE ing exactly what thousands of users —Reza Rahman is Reza Rahman. He’s a would like to see in a revised edition of former Java EE evangel- the platform. the Expert Committee mailing lists at ist at Oracle, and is now one of the the JCP: Those have been completely founders of the Java EE Guardians, a Road map silent since 2014. group dedicated to goading Oracle into Those survey results give a clear picture Is this indicative of Oracle action, or going around them entirely. of the priorities of Java EE developers. stonewalling innovation in Java EE 8? “Our principal goal is to move Java Topping the list of desired changes is In a statement to SD Times, an Oracle EE forward using community involve- JSONB, a new API for binding JSON in spokesperson wrote that “Oracle is ment. Our biggest concern now is if a manner similar to JAXB. Other high- committed to Java and has a very well- Oracle is even committed to delivering demand changes are around simplifying defined proposal for the next version of Java EE. There are various ways of solv- security and improvements to JCache. the Java EE specification—Java EE ing it, but the best is for Oracle to com- With such a clear survey of what SDT328 page 12,13_Layout 1 7/22/16 2:07 PM Page 13

www.sdtimes.com August 2016 SD Times 13

they think Java EE is not capable of ven Java EE. evolving. The stuff they’re talking about While the Java EE Web Profile has is a good 10 to 12 years. How do you been available for a few years now, the Java not think something has evolved in idea of multiple profiles—specifically eight to 10 years? The reality is, I think slimmed-down Java EE environ- Java EE is the most easy to use and pro- ments—for other purposes has been users want, coupled with a completed ductive platform out there. Few plat- kicking around for just as long. It would initial specification proposal from the forms can claim the feature complete- seem that without Oracle to lead the JCP, one would expect Oracle to be well ness and ease of use of Java EE,” he way, however, IBM and Red Hat are on its way to updating Java EE. Rah- said. stepping out to take the reins outside of man, however, said that Oracle has yet John Rymer, vice president and the JCP. to respond to even the executive com- principal analyst at Forrester Research, At present, the Micro Profile effort mittee members of JSR 366’s demands agreed with Rahman. “In tech, nothing exists solely as a website dedicated to that the project move forward. as big as Java EE dies. People just move surveying the needs of the community, “Every EC member has told Oracle on to newer technologies and design much like the survey done by Oracle the same thing: If we don’t get any con- approaches and application ideas,” he for Java EE 8 in the first place. crete response from Oracle at JavaOne, wrote to SD Times. Craig Muzilla, senior vice president or the response we get is that they won’t It would seem strange, then, that of the application platforms business at do it, we can move forward with Java Oracle wouldn’t be eager to serve the Red Hat, said, “Java EE was never this EE in the open-source domain with the community of businesses already using monolith; people were using different vendors,” he said. “The vendors are Java EE for mainline business process- frameworks anyway, like Spring or definitely interested in moving EE for- es. Indeed, with the advent of Android Struts, but you would still need a run- ward. In the short term, we want to and Hadoop, Java EE is only becoming time environment. So the idea of Java move it forward, but maybe in the long more useful to businesses. EE not only coming with a program- term we will need to find another stan- ming model but with a dards body.” ‘EE may not continue to go service construct is still That’s because the JCP remains con- on to version 8, 9 or 10. relevant, even if the form trolled by Oracle. Without the compa- factor changes.” ny’s approval, the Java EE specification We hope it does, but there Muzilla said that Java will be just that: a specification. With- may be other evolutions.’ EE (the specification) out Oracle’s permission for others to —Craig Muzilla does seem to be in trou- build a Java EE implementation and ble, but he also said that test them against the Test Compatibility Jim Scott, director of enterprise Red Hat has customers who want to Kits it owns (and which is the gatekeep- strategy and architecture at MapR, said continue using and seeing advance- er to being certified as compatible with that Java EE is still a major part of Java ments around Java EE. “There are a lot the specification), there’s little that can in big businesses. “Java EE covers a lot of vendors that want it to evolve and be done within the JCP to push things of APIs, and I haven’t heard anyone become more multi-tenant, more mod- along. anywhere say they are going to stop ular. Hence the idea of the Micro Serv- Two members of the Java EE 8 using those APIs,” he said. ices Profile. It has to become more expert group, in fact, have signed on as “For lightweight services, however, modern,” he said. supporters of the Java Guardians: there has been a trend for a number of The only thing standing in the way of Werner Keil, a member not only of the years toward Node.js and other similar evolving Java EE right now, said Muzil- Java EE 8 expert group but also a mem- frameworks and runtimes, but nothing la, is Oracle. “Basically, what Oracle ber of the JCP’s overall executive com- that I would really consider to be does is they hold the keys to the [Test mittee; and Jelastic founder Ruslan replacing Java EE uses. Utilizing the Compatibility Kit] for certifying in EE, Synytsky. Along with the creator of Netty and Jetty frameworks from Java is but in terms of creating other ways of Java, James Gosling, and Rahman, 166 getting much simpler, which could using Java, other runtime environ- developers and Java pundits have erode some use of Tomcat. But servlets ments, they don’t have anything other signed their names in support of the in Java are still probably one of the most than their name on the language,” he Java EE Guardians. prevalent uses of Java out there.” said. And therein lies, perhaps, one of the “As long as you’re adhering to the Java EE still matters ways forward for Java EE: microser- trademark of the language, you can cre- Rahman is not just kicking dirt at Oracle vices. The Java EE Micro Profile, pro- ate all kinds of different uses of the lan- over EE to start a fight: He genuinely posed by IBM, Red Hat, Tomitribe and guage. EE may not continue to go on to loves the EE platform. “There are peo- others at DevNation in June, could be version 8, 9 or 10. We hope it does, but ple who used J2EE or Java EE 5 and the first step toward a community-dri- there may be other evolutions.” z SDT328 Full Page Ads_Layout 1 7/21/16 3:09 PM Page 14 SDT328 page 15,16_Layout 1 7/21/16 4:20 PM Page 15

www.sdtimes.com August 2016 SD Times 15

Software for the marijuana industry set to yield high returns Growth in medical pot means greater demand for tracking apps BY ALEX HANDY a few pot startups. pharmaceuticals. Is there software in the burgeoning Leafly, for example, offers an index Florida was something of a capital legal marijuana industry? Just a dab. of pot shops, crowdsourced information for drugs like Fentanyl, Oxycodone, With four states offering legal marijua- on the powers and effects of various and Suboxone all controlled substances na, and more than 20 with medical or strains, and coverage of the industry as and commonly prescribed to senior cit- decriminalized cannabis laws, the busi- a whole, no different than a wine blog izens in pain who’ve made Florida their ness of selling the plant and its deriva- or beer magazine. home. Patrick Vo, CEO and cofounder tives is growing every year. Renowned startup incubator Y of BioTrackTHC, said that this original Naturally, software developers, ven- Combinator has even funded Meadow, purpose was definitely needed, but dors and startups alike are all looking to a medical marijuana home delivery quickly changed due to feedback. cash in on the boom. Silicon Valley, company. (Y Combinator is the incuba- “The company set out to develop soft- itself located in a state with legalized tor at which companies like Airbnb, ware to combat drug diversion,” he said. medical marijuana, has even produced Cloudkick and Dropbox were fostered.) “Florida, years ago, was considered the And a company called Flowhub, pill mill capital of the country. Controlled which provides cannabis companies meds were being diverted from their with a “seed-to-sale” tracking platform, intended medical uses to non-medical is developing APIs in the hopes of shar- purposes. We were demonstrating the ing knowledge within the marijuana software, and a number of medical industry. cannabis dispensary owners asked for us In addition, Microsoft recently joined to pivot the software to cannabis.” the legal marijuana industry with its The pivot came in 2009, and since announcement that it would be collabo- then, the company has launched two rating with Kind Financial. The two com- cannabis products: one for producers, panies will work together to track and and one for governments looking to track trace seed to scale cannabis. Kind will the sales and production of the industry use Microsoft’s Azure Government cloud in their states and local municipalities. platform to provide the tools necessary to BioTrackTHC now runs marijuana manage a successful cannabis program. tracking for Washington state, for While legally growing and selling pot example, and is able to easily digest the is new, the software of tracking it isn’t. harvesting and transporting informa- BioTrackTHC is no glittering California tion from firms that use the software for startup. Rather, it’s a serious software their growing and sales operations. BioTrackTHC’s CEO Patrick Vo says interest in firm located in Florida that was origi- Vo said that marijuana is different his software stemmed from medical cannabis. nally created to offer a tool for tracking continued on page 16 > SDT328 page 15,16_Layout 1 7/21/16 4:20 PM Page 16

16 SD Times August 2016 www.sdtimes.com

detailed content list (including quantity What is traceability? and destination), and driver credentials, displaying the entire chain of custody. CULTIVATION Manifest reports are available for law Upon propagation, each plant or clone is enforcement in real time. assigned a globally unique 16-digit identi- fier. This identifier records and archives DISPENSARY plant phases, additives and employee In addition to linking products to plant interactions to ensure accountability and origin, each sale is tracked to the patient adhere to regulations during the plants’ or customer. This completes the unbro- maturation. ken chain of custody from seed to sale.

HARVEST MEDICAL PATIENT ID CARDS All cannabis components are batched by The Traceability System generates a material type. Batched material receives a unique ID number for every patient, new 16-digit identifier that contains plant and can also integrate with hardware for history since propagation. Batched mate- patient ID card printing. Patient informa- rial includes prepackaged goods or deriv- tion and sales limitations are easily atives such as oil concentrate. validated in real time.

QA TESTING TRACEABILITY PORTAL Cannabis and cannabis derivatives are The traceability portal is a secure, online then tested for chemicals, contaminants data hub that provides detailed analytics and other harmful additives prior to for regulatory agencies and law enforce- entering the market place. Test results, ment. The data allows law enforcement to including potency, are automatically track cannabis transportation and inven- assigned and printed on product labels. tory in real time. Detailed financial reports are available for the Department TRANSPORTATION of Revenue or other agencies. This A detailed manifest must be completed ensures compliance and adherence to prior to transporting cannabis. The mani- industry standards and state laws. fest displays the shipments’ origin, a Source: BioTrackTHC

< continued from page 15 users determine whether it works or from other grown products like flowers not,” he said. or corn, simply because it is so valuable. Terrell’s tool chain is similar to that Ever a half-gram must be tracked from in any vendor or enterprise, he said. harvesting to processing to transporta- “One tool that lends itself to agile is tion, and keeping that info together and JIRA. It allows us to have a system in transparently accessible is what Bio- place so we can plan our sprints and TrackTHC is all about. track our requirements. We use C and David Terrell, BioTrackTHC’s CTO, C++, and things of that nature.” is about as far from a pothead as you All that process and attention to the can get. This elder statesman of soft- requirements surely helped to win the ware development cut his teeth at state of Washington contract. Said Vo, NASA working on the space shuttle David Terrell, CTO of BioTrackTHC, says agile “We came out as the winner mainly program in the 1980s. is the main driving force in the company. because of the expertise we had accu- He eventually moved on to the mulated in the industry and the special- defense industry, where he worked for “At the tail end you want to have a feed- ization of the platform. We deployed Lockheed Martin, developing the soft- back loop where you’re able to correct that to Washington, and it has been up ware for black boxes, and he also did a your processes. We’re able to use an and running for over two years. We stint at Siemens. He said the BioTrack- agile process and have sprints within track a vast amount of data for the state. THC team is agile, and that despite development, keeping those between A few months ago, we tracked over 2 dealing with slow-moving government two to four weeks.” million plants and over 200,000 events, contracts, he’s kept things apace. Agile is an important part of their from harvests, to transportation, to any- “Dealing with the government and process, said Terrell. “Waterfall does thing the state could need to have full any process, regardless of if there’s gov- not lend itself to what we’re trying to visibility.” ernment oversight or not, you still want accomplish. We’re trying to have devel- It’s good to see someone keeping a to have a process in place,” said Terrell. opers done in time enough to have end clear eye on the pot industry. z SDT328 Full Page Ads_Layout 1 7/21/16 3:18 PM Page 51 SDT328 Full Page Ads_Layout 1 7/21/16 3:09 PM Page 17 SDT328 page 18,20_Layout 1 7/22/16 2:06 PM Page 18

18 SD Times August 2016 www.sdtimes.com

What many investors don’t realize is that some shares have extra guarantees. For instance, terms such as liquidation preference and ratchets are key. Liquida- tion preference, typically granted to lat- er-stage investors who are already con- cerned with high valuation levels, protects these investors from losing mon- ey by guaranteeing they get their initial investments (plus a guaranteed return) back before any other parties. Ratchets grant investors new shares if the future valuations are below the price they paid. In the case of Square, the last investors who bought shares (at $15 per share) were offered what’s called a “ratchet.” This means that they were guaranteed additional shares if the IPO price didn’t reach a certain level. In this case, investors required a 20% return on their investment ($18, which equals $15 Unicorns’ days plus 20%). Since the IPO price missed the $18 by 50%, Square had to give investors millions of new shares to com- pensate for that. Overall, the value of are numbered the company was still lower post-IPO, and someone had to pay the bill. BY NUNO FERNANDES decreased from 10% to 50%. For Like it’s always said on “Game of instance, Blackrock, Fidelity and other Public versus private: The unicorn bubble Thrones,” winter is coming, and with it institutional investors declared in public Let’s say you own a warehouse in a come huge risks to investors and filings that their estimated values of com- deserted area, which has no real retail employees of the so-called unicorns. panies such as Dropbox and Snapchat value. But you still want to have it valued Unicorns are broadly defined as have dropped by more than 25%. at $1 million. Your father-in-law officially startups worth US$1 billion or more. Many unicorns that went public now buys one-tenth of one percent of the Once rare and mythical, there are now have their stock prices well below what warehouse for $1,000. Now you post this more than 100 unicorns, according to they were at the IPO stage, and below transaction information on your blog. some estimates. previous rounds of funding. As an Boom: a million-dollar valuation! Totally However, once these firms are faced example, a share in Square, a payments legal. Magnify this process and you’ve with competitive pressure from public company, was priced at $9 at its IPO, mastered the unicorn math. markets, their value goes down and cre- below the expected range of $11 to $13 Unicorn valuations are done based ates some major disappointments. and well below the $15 that some pri- on private-market transactions. The We are now reaching a turning vate investors paid for it in late 2014. At same firm (or parts of it) are sold from point, which will hurt many investors. the IPO price, Square was valued at the original founders to venture capital Only some will survive, and a “back to close to $3 billion, which is 50% below firms, then from VCs to private equi- basics” era needs to occur. High valua- the $6 billion valuation for which it had ties, then from private equities to insti- tions are only sustainable to those with raised money from private investors a tutional investors (fund managers), and reasonable business models. year before. some ultimately get sold in the public It is important to realize that many of market through their Initial IPO. Valuations going down the so-called unicorn valuations above For a while, there was a myth that The market is beginning to be more $1 billion are achieved through implied public markets were irrelevant, and transparent, and that means valuations valuations based on smaller stakes being that companies would thrive in the pri- are going down. In the last few months, actually traded in the private market. In vate market domain. The evidence valuation levels for some unicorns have addition, these private transactions have clearly shows this is not the case. And it very different types of shares being cannot be, since eventually the private Nuno Fernandes is professor of issued. It is common for privately held equity partners have to cash out and finance at IMD, where he directs unicorns to have five or more types of leave their positions in order to ade- the Strategic Finance Program. shares, with different provisions. continued on page 20 > SDT328 Full Page Ads_Layout 1 7/21/16 3:10 PM Page 19 SDT328 page 18,20_Layout 1 7/22/16 2:06 PM Page 20

20 SD Times August 2016 www.sdtimes.com

2. Convert revenues to profits: Cover Unicorns’ days are numbered the costs of operation and client acquisi- tion first and generate profits after. < continued from page 18 • Their only conceivable revenues are 3. Convert profits to cash: Generate quately remunerate their investors. through an advertising model. This is positive cash flows, sustainably; the However, public markets and insti- yet to be proven as a good model, and need for new investments, and the tutional investors are no longer buying all of these companies are competing capacity of internally generated cash to into private market valuation inflation. for the same consumer goods advertis- sustain it, play a big role here. And unicorns are already staying pri- ing dollars. 4. Convert cash flows into market vate for longer. This is not by choice. It • They subsidize client acquisitions to valuations: Concepts such as timing, is to delay the inevitable; only when artificially inflate the number of users, growth profile and, above all, the risk of they go public does the truth reveal even if they are not profitable. those cash flows are relevant here. itself. The Top 10 unicorns have supposed- And these principles have not gone It reminds me of musical chairs, ly combined valuations above $150 bil- away. We are not yet in a bubble like in where the number of chairs is less than lion on less than $5 billion in revenues, the 1990s, but the recent dismal per- the number of players: The last one and they employ around 25,000 people. formance of many unicorns reveals we standing loses. In other words, a price/sales ratio of are back to basics with respect to busi- 30x. Some losses started to slow invest- ness models, investing and valuations. Business model failures ments in these unicorns in 2015. And The proof of the pudding is in the eat- more will follow. Dead unicorns will rise ing. And the evidence suggests that the As always, high valuations are only A unicorn valuation in bubble times can eating of the pudding is getting closer. appropriate for businesses that are able be whatever one wants. But as Warren And for many companies this has to convert their ideas into financial Buffett once said, “You only find out already arrived. It is becoming clearer metrics such as cash flow and profit. who is swimming naked when the tide that the following factors are signals of And there are four kinds of successful goes out.” companies that have unsustainably high business models: Investors who disregard the basic valuations: 1. Convert clients to revenues: Get principles of valuation and say “This time • They have little or no revenues. users/clients to pay revenues. is different” will get burned once again. z Stack Overflow: crowdsourced documentation BY CHRISTINA MULLIGAN world, because nobody can write docu- general reference, instructional con- When Stack Overflow launched its annu- mentation as well as everybody can.” tent.” al 2016 developer survey back in March, Stack Overflow has been known as a According to Hanlon, instead of just it revealed that documentation was one place where developers can ask pro- giving technical definitions, the docu- of the biggest problems for developers. gramming questions and get answers mentation solution also aims to give The organization is now trying to address from a community of developers. The programmers the exact information and that problem with the beta release of organization is building on that plat- examples they are looking for. “Unlike Stack Overflow Documentation. form by providing the same familiar existing documentation solutions, Stack Overflow Documentation is elements such as Q&A, allowing devel- which often provide no or only a few designed to be a community-based, opers to contribute and collaborate, as examples, Stack Overflow Documenta- example-focused documentat reposito- well as going beyond just providing a tion requires examples and is designed ry where developers of any skill level specific answer. to collect use cases for every situation,” and technology learn can contribute. “Over the years we’ve learned that he said. “Official documentation can often- Q&A works best when you have a prob- Users can upvote the most helpful times just be an afterthought; it’s rarely lem that’s specific to the code in front of documents, similar to answers on Stack updated and lacks good, concrete you,” said Hanlon. “By focusing on this, Overflow. “Here, show beats tell. Any- examples,” said Jay Hanlon, vice presi- we’ve become much better at Q&A, but one can add [an example], so good top- dent of community growth at Stack as a result our structure and rules left ics will eventually have several useful Overflow. “We committed to building some great programming knowledge code examples,” said Hanlon. Stack Overflow Documentation in out in the cold. Stack Overflow Docu- In addition, Stack Overflow’s private order to—just like we did with Q&A— mentation gives a home to a lot of this beta partners contribute to the docu- solve a real developer problem by col- good content that has been turned mentation solution. Partners include lectively harnessing the sum total of away, or very hard to ‘get right’ in the Dropbox, Meteor, Microsoft, PayPal, good programming knowledge in the Q&A format: namely, the canonical, PubNub, Twilio, Twitch and Xamarin. z SDT328 Full Page Ads_Layout 1 7/21/16 3:10 PM Page 21 SDT328 page 22,23_Layout 1 7/22/16 2:20 PM Page 22

22 SD Times August 2016 www.sdtimes.com

Bringing lessons learned at Facebook to a stocks startup Namrata Ganatra is building a software team focused on collaboration and transparency

BY MADISON MOORE so when she came to the United States, Zong, which was later acquired by Pay- As the new CTO of engineering at the she made sure to take plenty of com- Pal. Once acquired, she became the tech startup Stockpile, Namrata Gana- puter science courses and learn more senior engineering manager and led the tra plans to take on the challenge of about the technology industry. Digital Goods organization at the com- making stock investment accessible to Before she moved to Stockpile (a pany. everyone, while also building a strong, company that makes it easier for the “[Zong] was a very small startup, so open and collaborative team that fos- average person to buy stocks), Ganatra it was a big change for me to move from ters innovation. worked at several large organizations a big company like Microsoft to a really Ganatra didn’t move to the United like Microsoft, where she served as a small startup, but that was the culture States just to stay at the bottom of the software engineer. At Microsoft, one of in Silicon Valley,” said Ganatra. ladder. Ever since she finished her her main tasks was integrating and A major part of her career was spent schooling in Mumbai, India, she’s been developing custom solutions around a at Facebook, where she was the head of committed to improving the world of third-party billing platform to enable engineering for payments. There she financial services through technology. led the end-to-end payments platform The education system is different in and products, managing a large team of India, according to Ganatra, but she engineers and engineering managers. said that in its own ways, it has pro- At Facebook, she participated in the gressed for females much like it has in open culture and worked in the United States. However, in many hackathons as well as hands-on countries (including India), getting Android development, which eventual- women to pursue STEM careers is still purchases using credit cards and invoic- ly became a successful product launch a challenge. es for online services. for a new way to buy or sell within “While I was graduating, there were She implemented the back-end Facebook groups. a lot of men in computer science pro- billing infrastructure at Microsoft and Along the way, Ganatra learned grams, so that’s not a problem I guess in also worked on the user interface for plenty of lessons that she plans on India,” said Ganatra. “But after gradua- purchases using ASP.NET and AJAX, applying to her role as CTO of Stock- tion, continuing that computer science which communicate with the infra- pile. To start, she wants to make sure and engineering work, that’s the biggest structure. In a later role at Microsoft, that stock investment becomes accessi- challenge in India.” she worked on multiple releases of ble, affordable and easy for everyone to She began her schooling in India Microsoft’s online commerce platform’s use because right now, only 14% of and received a bachelor’s degree in billing team for Wave 12 and Wave 14, Americans own direct stock since “It’s computer science and information where she tackled challenges in the too expensive or complicated to open a technology from the University of platform’s billing infrastructure. brokerage account,” she said. Mumbai, and then completed her mas- “We are on a mission to change that ters in computer science at Stanford Old lessons in new turf and make it easy.” University. Ganatra said she always Leaving the big company culture, she Her next goal is to assemble a great wanted to get an American education, worked as a senior software engineer at team, because without one, there is no SDT328 page 22,23_Layout 1 7/22/16 2:20 PM Page 23

www.sdtimes.com August 2016 SD Times 23

way to build a meaningful product that first-hand and said that while she has Ganatra never had an issue going customers find valuable. been building her career, she has faced after what she wanted because she “We have a small team right now, so hard feedback that her male counter- learned early in her career to advocate building and expanding that team and parts have not received. for herself. She noticed that women building a great engineering culture is “I kind of always receive feedback spend time underestimating them- one of my top goals here at Stockpile,” like I’m too aggressive or too intimidat- selves while their male colleagues seem said Ganatra. “First and foremost, I ing, because that’s just how I am,” said to leap at opportunities. want to help build a meaningful prod- Ganatra. “I’m very focused and opin- “Women aren’t advocating for them- uct that our customers love.” ionated, and sometimes that’s hard for selves,” said Ganatra. “Women don’t She said a lot of these lessons were people to see, and usually men don’t get come and tell me, ‘Hey I want to get to learned at Facebook because it is a that feedback. So that has been chal- the next level,’ or, ‘I’m ready for the company that is known to have a great, lenging in my career.” next level,’ while men do that a lot.” open and transparent engineering cul- The way she has approached this She said the biggest thing that ture. She said applying some of these bias has been to ask for a more con- women have achieved in the industry is strategies will be a challenge since crete example because any feedback recognition that there is an existing Facebook is large and Stockpile is a in the work environment is “a gift,” problem of getting women to continue small startup, but one lesson she she said. At Facebook and PayPal, she their STEM education in both college learned is to use quick experimenta- had professional coaches where she and beyond. tion while listening to customers along was fortunate to be given strategies “I think we have gotten better at the way. and help to work through these chal- each stage, but there is still a lot of “Moving fast is one of the big keys of lenges. She still thinks, however, it is implementing to do,” said Ganatra. the innovation culture that “One of the biggest things is lack of Facebook has, so I want to ‘One of the biggest things is the female role models and mentorship in apply that to Stockpile,” the workplace.” said Ganatra. lack of female role models and She said women should seek role Other lessons she is tak- mentorship in the workplace.’ ing to Stockpile include —Namrata Ganatra learning how to minimize operational and manual work and automating as much as possible. Her third goal is to foster innovation, and to do that she plans on holding hackathons and listening to everyone, even those in the company who are not on a manage- rial level. “I’m a big believer that great ideas come from the bottom up, so organiz- ing and participating in hackathons is a key principle to building a great cul- ture,” said Ganatra. Besides the challenges of building a solid engineering team, Ganatra has also faced industry challenges along the way, like dealing with gender bias in a male-populated industry. Accord- Ganatra learned the value of listening to ideas from everyone, not just at the C-level. ing to “Double Jeopardy Report” by UC Hastings College of the Law, unfair for only females to get this type models from the group or environment there are a variety of biases pushing of feedback. that they work in, and if there are not women out of STEM. At least 36% of “The problem is that it’s really unin- that many, seek a mentor outside of the white women and 41% of Asian tentional. It’s not because they give organization. women report that at work, they find feedback to me or any of the females “Keep going and believe in your themselves pressured to play a stereo- because we are female, it’s just how dif- abilities. You can do it!” said Ganatra. typical feminine role, which means ferent the society is,” said Ganatra. “Never be afraid to take a leadership toning down assertiveness or aggres- “Overall, I would say it’s just that peo- position—not just ones that are offered, siveness. ple don’t realize that this is happening but seek out these opportunities and Ganatra has experienced this bias or this is a real problem.” aim high.” z SDT328 page 24_Layout 1 7/21/16 4:15 PM Page 24

24 SD Times August 2016 www.sdtimes.com Startup aims to transform the lives of the disabled with open source BY MADISON MOORE pany’s devices and provide feedback if they appear to not be paying atten- A small Brooklyn-based team is looking directly, as well as pose new solutions for tion. The device can be connected to a to solve the real-world challenges for other disabilities. teacher’s iPad or computer so he or she those with disabilities. Furenexo Brian Goral, cofounder of Furenexo, can get the student back on track with- debuted a wearable device, and it is said part of the reason Furenexo wants a out calling them out in front of the encouraging developers to get involved strong developer portal is because there class, said Goral. in creating affordable solutions. are so many challenges out there people He was inspired to begin this startup Furenexo (a combination of the might not be aware of, and the team after he went to California to visit a Japanese word “to touch” doesn’t “need to take ownership therapeutic medicine company called and the Spanish word “con- in the idea of disability.” Ekso Bionics, which was developing nection”) will use advance- “We also plan on having an technology to help those in wheelchairs ments in machine learning open forum where we share or those who needed rehabilitation. and sensory technology to requests from the community While he was there, he had the privi- develop devices that help of people with disabilities and lege of seeing a person who was in a those living with ADHD, ask the community to share wheelchair for a majority of his life autism, blindness and deaf- Furenexo of Images courtesy stand up and walk. ness. Goral later moved to New York The startup’s first prod- and connected with Skiff, a veter- uct is called Sound Sense: an programmer and hacker who an open-source device that helped create the NYC Resistor, a people with hearing loss can hacker space in Brooklyn. The two wear to be alerted of loud talked about the absence of inno- sounds like police sirens or vation in technology for people smoke alarms. This device with disabilities. can also alert the person if a “We recognized that the tech- friend is calling out to them nology hasn't been directed or talking in another room. toward some of the challenges Besides being fully open that have been outstanding for source, the device is made up of a micro- potential solutions,” said Skiff. “We’re really decades,” said Goral. phone connected to a microchip and constantly striving to discover the real- He and Skiff also recognized that the motor inside a 3D-printed shell. The world needs of people with disabilities gap between existing technologies and motor will vibrate when it detects a noise and [to] design innovative and afford- those with disabilities exists because above a certain level. able solutions, and our hope is that this there hasn’t been a strong expected Furenexo is also creating a develop- forum will heavily inform our future return on investment for things like an er portal that will directly address the products and directions.” innovative cane or a better-developed needs of those with disabilities. Devel- hearing aid, “let alone other solutions opers with backgrounds in computer Tackling ADHD and more for other challenges that aren’t immedi- vision, machine learning and open Goral said Furenexo is already working ately recognizable,” said Skiff. source can help develop solutions that on ideas for its next device. One project The Furenexo team hopes to pro- can be tested in real-world situations. in its queue is a wearable or pocket-size vide solutions to these problems and The code and the testing results will be device for those who have ADHD whose bring together creative minds in the shared with the community so others parents can’t afford an expensive Apple hacker/developer scene to solve the will be able to build and learn new solu- watch, he said. It also tackles the chal- challenges people with disabilities face tions, according to Eric Skiff, lenge of getting kids with ADHD to pay on a daily basis, according to Skiff. cofounder and CTO of Furenexo. attention in school without the teacher “Our hope is that we can spark a Furenexo’s portal will also help devel- having to call on them, which often is dis- movement of people working on these opers who want to leave a mark on the ruptive and embarrassing, he said. challenges by open-sourcing our work world outside of their daily job. Devel- Instead, the wearable would vibrate and encouraging others to do the opers will be able to check out the com- as a way of bringing them back to focus same,” he said. z SDT328 Full Page Ads_Layout 1 7/21/16 3:12 PM Page 25 SDT328 page 26_Layout 1 7/22/16 9:18 AM Page 26

26 SD Times August 2016 www.sdtimes.com

WINDOWS DEVELOPER WATCH

In other component news… Infragistics allows developers ■ File format solution provider Aspose announced the release of Aspose.Imag- ing for .NET 3.8.0 and Aspose.Email for to embed ReportPlus into apps Java 6.7.0. Aspose.Imaging enables developers to create, draw, manipulate BY CHRISTINA MULLIGAN embedded analytics in their apps,” said and convert images. Version 3.8.0 for Infragistics is expanding its enterprise Beres. .NET features bug fixes, enhancements mobility business intelligence (BI) solu- Other features include self-service to its API, and the ability to provision tion. The company announced a BI through touch gestures, drag-and- the auto-determination of SSL mode. redesign to ReportPlus Mobile, as well as drop capabilities, and immediate shar- Aspose.Email allows developers to cre- the addition of ReportPlus Desktop for ing abilities; the ability to access and ate, read and manipulate files with a Windows and ReportPlus Embedded. connect directly to data sources such as programming suite of APIs. The latest “What we are really trying to do is Dropbox, Flurry, Google Analytics, release features support for WMF help businesses build great experiences Google Drive, Microsoft Dynamics metafile, as well as the ability to get the to their team with a complete last modified date of a raster image. out-of-the-box BI analytics ■ LEADTOOLS recently launched ver- solution that is available on sion 19 of its imaging SDKs for Android the desktop, and the native and iOS/macOS platforms. According to devices for iOS and Android,” the company, this is a major release said Jason Beres, senior vice that provides OCR and barcode president of developer tools engines, a new Swift-compatible API for at Infragistics. iOS and macOS, the company’s new ReportPlus is a data visuali- credit card recognition technology, and zation service that gives enter- new mobile imaging technologies. prises the ability to see how ■ Presentation layer and data their business is performing, visualization components provider and it runs either in the cloud ReportPlus has a new desktop version as well as revamps Nevron has announced the release of or on-premise. Infragistics is to its mobile versions. Nevron Open Vision for .NET 2016.2. now including an embedded The solution is a component suite for SDK with ReportPlus in order to allow CRM, Salesforce and Twitter; and more .NET application development. The developers to take the solution and than 20 visualizations to create custom latest version features NOV Grid for embed it into their applications. dashboards. .NET as well as new features and The desktop version was created in New users can take advantage of the enhancements. Features include new UI response to customer requests. Accord- company’s recently released Dashboard controls, diagram and text editor ing to Beres, the company heard users Concierge Program to learn the basic improvements, and a new data-man- wanted something that could publish concepts of ReportPlus and how to con- agement API. reports from their desktops and lap- nect, merge and use custom data cours- ■ Syncfusion has announced the tops, so it created ReportPlus Desktop. es. latest version of Essential Studio. The “The growth opportunity in the enter- “The number of solutions being 2016 Volume 2 release features prise was not solely on a mobile-first offered in the self-service BI and data enhancements to the company’s Xam- experience,” he said. “We needed a visualization market is rapidly expand- arin, UWP and JavaScript suites. The desktop experience and a mobile-first ing,” said Dean Guida, Infragistics Xamarin edition now features a kanban experience.” Founder and CEO. “Our goal is to make control for visualizing a project’s pro- In addition, the mobile solution was ReportPlus stand out in this crowded gression. Essential Studio for UWP fea- redesigned in order to make the view- market by delivering tremendous value tures three new controls: a cell grid, a ing experience on ReportPlus easier to with our simple pricing model, by rapid- tree grid, and a spell checker. Essential digest and get feedback from. ly improving the product’s capabilities Studio for JavaScript adds support for “We cover both the non-developers with monthly updates, and with our Angular 2 and Aurelia, and adds new in the enterprise that need analytics all unique secure data handling model sparkling, heat map and pivot tree map the way to the IT department who need where we never store your data. z controls. SDT328 Full Page Ads_Layout 1 7/21/16 3:12 PM Page 27 SDT328 page 28,29,31,32_Layout 1 7/22/16 9:21 AM Page 28

28 SD Times August 2016 www.sdtimes.com

BY ROGER POON avaScript has exploded. It’s every- where: the browser, the server, your Jphone, IoT devices, and more. However, JavaScript can be brittle. The language was notoriously designed and developed in just 10 days, and its cre- ator, Brendan Eich, has become JavaScript’s most prominent apologizer. JavaScript is controversial. Rarely have we seen a language divide software developers so much. I shared the stage with Geoff Schmidt, CEO of Meteor, in San Francisco in February. He asked the audience to raise their hands if they love JavaScript; surprisingly, moments later, he asked the audience to raise their hands if they hate JavaScript. It was a JavaScript conference, and I was sur- prised to see hands go up. However, this illustrates the reality that besieges us: a rare moment that suc- cinctly captures the zeitgeist of our times. There are developers who feel forced to use JavaScript. It’s the only option in browsers. “Monopoly” is a strong word in technology, but it wouldn’t be a stretch to concede that JavaScript monopolized the web plat- form. If the voices echoing in the corners because you weren’t good enough. structure that guarantees maximum are any indication, JavaScript did not Speaking as a developer that understands compile-time analysis so the compiler achieve this monopoly through merit. JavaScript deeply enough to develop a can detect errors early before you ship Yet JavaScript isn’t without merit robust type system on top of it, I know it’s into production. either. Scheme wrapped in a C syntax possible to understand JavaScript well... JS++ is a superset of JavaScript. (In was serendipitously clever. Neverthe- and still be unsatisfied with it. fact, it was the first superset of less, a line needs to be drawn between As a result of being ignored and JavaScript when it initially went into being clever and being pragmatic. demoted to second-class citizens, the alpha in October 2011.) What this There’s a reason Scheme (and “other” developers (often having to use means is that all valid JavaScript pro- JavaScript) are not among the first-, JavaScript out of necessity) have had grams are valid JS++ programs. JS++ is second-, or even third-choice languages their problems unaddressed. Fortu- designed with three key uses in mind: in modern complex software systems in nately, these problems are being solved. • Upgrading existing JavaScript code organizations where engineering prin- • Usage in conjunction with JavaScript ciples are valued. JS++ (e.g. leveraging existing JavaScript If you didn’t like JavaScript, it was JS++ is a web programming language libraries) because you didn’t “understand” built for software engineering. It is built • JS++ by itself JavaScript. Voices and opinions were dis- with engineering principles: strong, sol- JS++ compiles to JavaScript and can missed by the JavaScript community: id foundations via a type system that run anywhere JavaScript is supported: You didn’t “understand” prototypical can leverage the full JavaScript ecosys- in the browser, on the server, on mobile inheritance, and you didn’t take the time tem while guaranteeing your types will devices, and so on. to learn JavaScript “properly.” Develop- be correct at both compile and runtime. There are other JavaScript supersets ers were saddled with blame; it wasn’t It’s a programming language designed available, but JS++ is different through because the language was lacking, it was over multiple years, not 10 days. its core engineering values. Engineer- JS++ incorporates object-oriented ing fundamentals are the same across Roger Poon is founder and programming (OOP) with classes, industries and disciplines. Whether you CEO of Onux, a compiler despite how much JavaScript develop- are building a program, bridge or sky- company. ers riot against this, and enforces a rigid scraper, it’s fundamentally the same: SDT328 page 28,29,31,32_Layout 1 7/22/16 9:21 AM Page 29

www.sdtimes.com August 2016 SD Times 29

has no knowledge of the types that were declared in the original source code. Popular projects that are known to per- form type erasure are Microsoft Type- Script and Facebook Flow. Erasing types introduces a tricky predicament. We have no assurances the variable “y” is indeed a Boolean at runtime. Remember, this is JavaScript. A variable that was once a Boolean can quickly become a string, number, object, or even the arcane “host object type.” Consequently, a vocal minority of developers remains unconvinced: If it’s still JavaScript in the end, we inevitably run into the same problems. Fortunately, there are solutions. Slightly more sophisticated systems use “runtime contracts”: assert(typeof y == “boolean”); var x = y; Runtime contracts can ensure types are correct at runtime. However, they have a glaring weakness: They take down the entire application on a single error. With runtime contracts, you risk having exponential points of failure. In software engineering, we want to reduce the potential points of failure. build on a strong foundation and equivalent or explanation and results in We’ve worked on the JS++ type sys- enforce a rigid structure. errors. However, this is never enforced tem since 2011. We explored every type In a similar spirit, one of the key by JavaScript until it finally happens at system under the sun: Hindley-Milner innovations behind JS++ is “type guar- runtime. type inference, gradual typing, soft typ- antees.” Whereas we’ve previously had Type checking has grown in popular- ing, and more. The JS++ type system is to content ourselves with type check- ity for JavaScript in recent years pre- optional and sound. In other words, you ing, as engineers, we want guarantees: a cisely to counter these runtime type do not need to declare types for your guarantee the variables you declare as errors. Ideally, if we can run our source variables and functions. Type annota- strings don’t become numbers, a guar- code through a linter or type checker, tions are completely optional. However, antee the variables you declare as num- we should be able to identify and fix if you do decide to declare the type for bers don’t become objects, and a guar- these errors before we ship our pro- a variable, it is guaranteed to be correct antee your class instances don’t become grams. However, the concern is that, at at both compile and runtime. This is strings at runtime. This is what is runtime, the types we declared in our the breakthrough in JS++, as previous known as type preservation, a byprod- source code are not reflected in the systems could only achieve correctness uct of a “sound” type system. types for the actual data during pro- at compile time or runtime, but never gram execution. This can be especially both. Type guarantees: Beyond type checking true when the generated code is JS++ achieves “soundness” in its “Well-typed programs cannot ‘go JavaScript, which has very lax rules type system by unifying all JavaScript wrong,’ ” said Robert Milner. Programs when it comes to data types. types into a single type known as the have data, and data have types. To illustrate this point, let’s examine “unified external type.” Type-checking Although it seems like JavaScript has no a basic variable declaration: JavaScript correctly and accurately is an notion of “types” in its syntax, bool x = y; incredibly complex problem, but JS++ JavaScript programmers still need to be This typically compiles to: solves the problem via simplification. cognizant of types because curiosity var x = y; Once the logic is simplified, JS++ “iso- inevitably leads to such operations as This is known as “type erasure.” In lates” JavaScript. When data crosses the subtraction of a string from another other words, the types were “erased” at from JS++ to JavaScript and vice versa, string. This has no real-world logical runtime, and the compiled JavaScript continued on page 31 > SDT328 Full Page Ads_Layout 1 7/21/16 3:13 PM Page 30

GdPicture.NET is an SDT328 page 28,29,31,32_Layout 1 7/22/16 9:22 AM Page 31

www.sdtimes.com August 2016 SD Times 31

< continued from page 29 Structure is how we know it needs to be safeguarded an Employee class has a get- and converted. Therefore, Name method. Structure is JS++ is able to “preserve” how we determine that get- types by preventing Name was a typo that could JavaScript from tampering. crash the program by calling In JS++, types are guar- an undefined method. Struc- anteed. At compile time, the ture is how the linker knows type system is “sound”—in which modules were unused other words, the JS++ com- so we can perform dead piler’s type checker can nev- code elimination. er be wrong because it’s not Yet, the most painful ver- approximating. As an exam- dict against JavaScript’s ple, if the JS++ type checker inheritance goes beyond determines at compile time structure. It’s not the com- that an expression will evalu- puter science concept of ate to Boolean, it will evalu- prototypical inheritance ate to Boolean at runtime. versus class-based inheri- This is aided by runtime tance that we need to be “enforcement.” arguing about. It’s the Runtime type enforce- spaghetti code that is neces- ment is lightweight and sary to fully utilize prototyp- straightforward. When we ical inheritance in declare a Boolean, the com- JavaScript due to its syntax. piler ensures the data JavaScript was designed in always remains a Boolean 10 days, and it shows. via conversions: As developers tried to var x = !!y; // Convert ‘y’ compensate for JavaScript’s to Boolean via double !! shortcomings, the problems operators became exacerbated. Ad hoc As illustrated in the exam- JavaScript++ takes advantage of runtime type enforcement. inheritance, ad hoc module ple, JS++ will force runtime systems and so on began to conversions to the type you declared. as an empty string for the “string” data appear. Bad came to worse. While This example oversimplifies what JS++ is type. Furthermore, the compiler can JavaScript’s thought leaders were doing differently, but it demonstrates optimize conversions so that they only defending prototypical inheritance, the one of the key innovations for achieving occur at runtime when necessary. Thus, major libraries weren’t even using it. “soundness” and type safety. It turns out you get the benefits of type safety with- OOP in JavaScript became a melting JS++ isn’t just compiling to JavaScript; out sacrificing performance. pot of prototypes, objects, third-party it’s compiling to typed JavaScript. The example was oversimplified, retrofitted class systems, third-party Conversions on primitive data types and there’s a lot more science behind module loaders, inconsistent name- like Booleans and strings are implicit, the JS++ type system, but this high- spacing patterns, and then some. It automatic and straightforward. Howev- lights one of the main innovations sounds like an enumeration of an engi- er, another challenge we faced in our behind JS++: type guarantees. JS++ neer’s worst nightmares, except this is design was how we could guarantee the goes beyond type checking and guaran- the reality we face. types to be correct for constructed tees the types you declare will be cor- If you can’t appreciate the years of types. For instance, one “Employee” rect at both compile and runtime. work that went into JS++, you have to class within an organization may differ at least appreciate that we’ve managed from the “Employee” class defined for OOP with classes to take all these diverse factors and uni- another organization. In this case, JS++ JavaScript developers are philosophi- versally simplify them to the point that enables developers to define custom cally opposed to classes. JavaScript’s JS++ is able to achieve “correctness” conversion rules and logic. most vocal defenders have long argued while enabling you to leverage any and Conversions are lightweight. They that JavaScript does support OOP via every JavaScript library in existence. only need to be performed on variable prototypes. Perhaps justified, they feel For a superset of JavaScript, if struc- assignments, function calls and function liberated from Java’s structure and ture is important in engineering, we returns. If a conversion fails, you simply rigidity. Yet, structure is one of the most want to know that the structure cannot get the default value for the type, such fundamental aspects of engineering. continued on page 32 > SDT328 page 28,29,31,32_Layout 1 7/22/16 9:22 AM Page 32

32 SD Times August 2016 www.sdtimes.com

< continued from page 31 the finer details that show great care in ing users. The JS++ compiler is free to be modified by accident. This is espe- the design and a deep understanding download for a reason. Nevertheless, cially true on the web where it’s not of the domain. For example, the popu- for the remaining skeptics, we think uncommon to load resources from lar syntax for declaring a typed vari- having type “guarantees” over type external web servers and, thus, intro- able in most JavaScript supersets looks “checking” will interest early adopters duce third-party and potentially like this: and developers that value our same val- untrusted code. This ventures into var x : boolean = true; ues and rock-solid reliability. another concept of the JS++ type sys- There’s a little secret behind this: It’s I’ve written extensively about the tem: isolation. Essentially, JS++ “iso- much easier to parse a JavaScript super- theory, problems and corner cases that lates” JavaScript, and we can imagine set with this syntax. Yet, this is a lot of need to be solved for static types to JS++ source code to be divided into extra typing. It’s frustrating. Program- work with JavaScript. It takes a lot more “regions”: the JS++ region and the mers coming from a background in than just adding “types” to JavaScript’s JavaScript region. Once isolated, JS++ C++, Java or C# will appreciate the syntax. At least one of Microsoft, Face- is able to guarantee that the unsafe and JS++ syntax: book or Google would have figured that untrusted JavaScript can never tamper bool x = true; out by now if it were so simple! Yet, with JS++ code and data. Additionally, the JS++ compiler is there’s a reason they have collectively Still, it needs to be understood that written in C++. As projects grow in failed to achieve “soundness” for so “classes” go beyond superficial syntax complexity, we think developers will many years. and runtime semantics. Object-orient- appreciate the extra engineering effort When you really begin to dig deep ed programming with classes brings we invested in order to achieve the into the problem, you realize that the with it knowledge capital and a wealth of experience. The talent pool expands Previous type systems could only to include experienced software archi- tects and battle-hardened developers achieve correctness at compile time that can quickly add value to a project. Design patterns developed for classes or runtime, but never both. no longer need to be clumsily adapted for prototypes. JavaScript developers fastest compilation times. Compilation JS++ type system works in virtually still testing UIs with Selenium and times are only one aspect of program- every case. This takes experience, this headless Chrome will benefit from new ming language performance. Runtime takes time, and this takes effort. We’ve and better techniques that have been performance is arguably even more worked hard to come up with an inno- known in structured languages for a important, and we’re working on this vative solution. When people ask us to while now. Software engineering is too. Maximum speed is important. lift our patents and make it open every bit a people problem as much as The little details add up over time. source, they are asking us to forfeit it is a technology problem, and class- JS++ wants you to have the smoothest years of hard work to Microsoft et al. based OOP brings some of the best development experience possible. It’s never too late for us to pivot on people and brightest minds. our patent stance because we under- The end of the prototype debate is On patents stand it’s unpopular, but, presently, we that real-world systems ranging from There has been some concern over my are choosing to remain pragmatic even banking to rocketry are built with class- company, Onux, filing patents on the if it costs us die-hard anti-patent es. Maybe prototypes enable greater JS++ type system. The patent filings purists. JS++ was only just announced “expressiveness.” Maybe prototypes are a defensive mechanism. We don’t and is still in the developer preview enable greater “composability.” Howev- charge royalties for using JS++. We’ve stage, so a lot can change over time. er, no amount of fear mongering can sunk a lot of resources into R&D, and However, Onux is not and will not be a refute the fact that classes are working the result is the most reliable type sys- freebie research arm for Microsoft, and working well. Lest my statements tem in the industry being provided to Google and Facebook. They have the be taken out of context, JS++ was not you for free. Lost in the chaos is that resources and bright minds to find designed for rocketry; however, if its some of the most popular programming another way to achieve type guarantees. underlying principles can be used to languages are patented. Microsoft’s C# For now, if you want type “guaran- explore the cosmos, it can certainly be is heavily fortified with patents but tees” rather than just Read this story on used to ship higher-quality web and remains unencumbered. type “checking,” you sdtimes.com mobile applications. I can’t speak for other programming use JS++. If you want languages, but, typically, when patents to compile to “typed” The little details are used defensively to protect R&D JavaScript rather than JS++ was designed over many years. investments, it’s used to stop competi- just JavaScript, you We think programmers will appreciate tors from copying rather than torment- use JS++. z SDT328 page 33_Layout 1 7/21/16 3:20 PM Page 1

Take your Android development skills to the next level!

The Largest Dedicated Android Conference in the Universe!

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.

AnDevCon is the technical conference for professional software developers and engineers building Android apps. Offering mobile app development training, embedded Android secrets, and Android app development tutorials and classes, AnDevCon is the most practical Android conference for developers.

• Choose from more than 75 classes and in-depth tutorials Nov. 29,30, Dec.1,2016 • Meet Google and Google Development Experts Burlingame Hyatt Regency • Network with speakers and other Android developers San Francisco • Check out more than 50 third-party vendors • Women in Android Luncheon • Panels and keynotes www.AnDevCon.com

A BZ Media Event SDT328 page 34-36,39,40_Layout 1 7/22/16 9:32 AM Page 34

34 SD Times August 2016 www.sdtimes.com Don’t let testing stop your agility You need to do it, but you also need to be fast and stick to high standards. How do you do it?

BY CHRISTINA MULLIGAN

gile is no longer a long sought- Aafter dream for businesses. It is no longer a secret weapon for organizations that wish to stay ahead of the curve. Agile, for the most part, is the modern way of working. By now, most organizations know the purpose of agile: to build higher-quality software faster. But in order to ensure that qual- ity, businesses have to make sure their testing processes can keep up with this new pace of working. Without testing, agile initiatives will never be truly complete or succeed, according to Eric Taylor, director of to make, and it is a very painful one that importance of testing. We are in a new agile software delivery for AgileTrail- often doesn’t get done until later. Usually world where businesses are now digital, blazers, an agile consultant firm. “With what happens is you go through a trans- and software is your business. “I believe the speed that agile brings, the only way formation, you realize it isn’t working and that most companies look at testing as a to really achieve that speed is to actual- then finally you address testing.” necessary evil more than a value-add ly get your testing in order,” he said. Since this is a complex transition, activity,” said Thomas Murphy, research “You have to really put testing first, and many organizations fall into the trap of director at Gartner. “Agile ties into this change testing to be the mindset of the pushing it to the side. But according to because generally if you are going to sur- entire organization as opposed to being Wayne Ariola, chief strategy officer of vive in the digital world, you must utilize this thing you do at the end.” , they will soon realize testing agile and DevOps practices to achieve Organizations that don’t address test- can’t be ignored. the pace and maintain the quality that is ing upfront when they go through an “Unfortunately, any kind of process required to remain agile as a business.” agile transformation will experience bot- impact or technical initiative that busi- tlenecks in their processes because test- nesses have engaged in, the last group Testing in an agile world ing needs to keep up with the pace of to truly be considered associated with No longer do testers have the luxury of development and the rate of change. the transformation is test,” he said. “But waiting until the end of the cycle and Therefore testing shouldn’t and can’t be if you look at agile processes, the taking their time to test the code. “Test- an afterthought, according to Zubin biggest impact associated with the ing is less a phase and more a set of Irani, CEO of cPrime, an agile service change is testing.” activities now,” said Ian McLeod, chief company. “It is a very difficult transition And it is not only agile pushing the product officer of Rogue Wave. SDT328 page 34-36,39,40_Layout 1 7/22/16 9:33 AM Page 35

www.sdtimes.com August 2016 SD Times 35

soft’s Ariola. Instead, teams should be asking, “Is the risk of the release candi- date acceptable?” “This is a massive change associated with how someone approaches the whole concept of quality,” said Ariola. “When we talk about risk, we talk about if we are mitigating the true business risks associated with the organization.” n Automate. Automate simple tasks that can easily tell you if the release is performing as expected. This will help QA focus on good builds and getting instant feedback to development if there is a problem, according to App- Dynamics’ Stoner. “Instead of having QA look at these bad releases multiple times a day, they don’t have to waste their time,” he said. “This is the first way to accelerate the process, and it is very low cost and easy to implement.” To get started, testers can automate test environments, leverage cloud envi- ronments, automate E2E scenarios, monitor app performance, and leverage scripting skills, according to Anand Kamat, group program manager at Microsoft. Rogue Wave’s McLeod believes it is easier to do automation if you are starting from a blank slate rather than converting your process. For organizations that decide to convert, they need to invest in quite a few sprints, he explained. According to Kamat, there will still be a need to manually test. For The entire team and life cycle has to sure you see quality not as someone instance, teams will still need to do a become “test infected” in order to else’s job but everyone on the team.” bug bash against the solution; product ensure the success of agile, according to To do this, there should be open com- managers will have to play with the AgileTrailblazers’ Taylor. munication between the business, devel- product; and early adopters will use the “You can’t really have these periods of opment and quality assurance, according solution in real-world scenarios. introducing a lot of bugs and going back to Brad Stoner, senior sales engineer at Kamat explains that in order to get a and fixing them,” he said. “The role of AppDynamics. “If an organization wants full comprehensive view about the qual- the tester really being on the team is sort to succeed, they have to understand that ity of a product, automation test met- of the guardian of quality, and their job they are going to change the process rics, manual testing, exploratory testing, is to make sure the quality of the work from front to back, so business to devel- user acceptance testing and testing in everyone is doing is staying high and opment to QA,” he said. “There has to be the real world are all essential. really enabling the developers, product a strong feedback loop and QA has to be n Exploratory test. One of the common owners [and] Scrum master to all care as empowered to be able to say, unless we pitfalls of automating your tests is think- much as they do about quality.” make this app testable, we are always ing that because 100% of the automation In order to succeed, teams should: going to be your bottleneck.” tests pass, that guarantees 100% of the n Devise a plan. “This is the standard Stop asking “Are we done testing?” use cases, according to Kamat. “That can pablum…start small, establish your That question is more associated with a give you a false confidence,” he said. In goals/objectives first, assess your current sprint and scheduling or a burndown order to avoid this, testers should also be position and challenges,” said Murphy. perspective, instead of being associated performing exploratory sprints. “It depends on the starting point. Make with the business, according to Para- continued on page 36 > SDT328 page 34-36,39,40_Layout 1 7/22/16 9:33 AM Page 36

36 SD Times August 2016 www.sdtimes.com

< continued from page 35 looked at early in the process, accord- “Exploratory testing is really having sub- ing to McLeod. “Quality is cheaper if ject matter experts test end-to-end sce- you do it early in the process because narios. They will test for user experience, you can make sure your stuff is right the test for usability, and they need to pro- first time you check it in, and it doesn’t vide quick feedback,” he said. break the build.” One way to do this is AgileTrailblazers’ Taylor adds that to perform static code analysis on your exploratory testing is one of the most software. Static code analysis gives important parts of testing because “It teams an overview of vulnerabilities, gives an analytical individual the time to defects, security weaknesses, and code go through the site and think of all the errors so they can fix problems faster. kinds of odd scenarios that others might n Test-driven development. TDD is the not have been thought of.” foundation of good development, testing n Unit test. Unit testing must be in Microsoft’s Kamat endorses doing all the and writing unit tests, according to place in order to validate user stories as automated testing you can early in the cycle. cPrime’s Irani, but it can also be one of fast as possible and understand the the most difficult things for a tester to impact of changes, according to Para- inputs and outputs, the functional learn. Being able to perform TDD takes soft’s Ariola. “Without that baseline lev- requirements of the component you are a level of maturity, but when it is per- el of visibility, you are basically going to testing, all the false or false conditions formed correctly it can be very powerful. defer a lot of quality tasks to much that may be en countered, and the full “It puts quality first. It is just priori- more expensive times, and it is going to range of data, according to McLeod. “It tizing quality, and allowing you to think lead to failure or outages,” he said. is not unlike writing a spec for the com- about it in a different way because you This helps in reaching a test-first ponent; it is just the spec is in the form of had to think about it from a testing per- design, according to Rogue Wave’s tests. Rather than having a spec, you are spective, which is more of a user per- McLeod. “You don’t write code unless writing a test saying here is the test to spective. You tend to have better-quality you have a unit test to test it, or in some make sure this component does every- stories that are a little more thought out cases you don’t write code until you thing it is suppose to, then you write the ahead of time so you go into your devel- have a unit test to test it,” he said. “I component to pass the test.” opment with a better mindset and a write the test for my code first, then I n Perform static code analysis. Qual- view of what you are building,” he said. write the code to make sure it passes.” ity is the No. 1 priority of soft- n Have independent test groups. Hav- Unit tests should include a range of ware, and it needs to be ing independent test team members acting as full-fledged members of the A lesson from Amazon Prime Day development team while maintaining independence will help organize and It is one thing to talk about the importance of testing and quality, but it is manage the development team, accord- another to experience it out in the real world and suffer consequences ing to Rex Black, president of consult- because of it. Having a software failure, bug or defect released ing firm RBCS. into production can erode a business’ brand, according to This should not be confused with Wayne Ariola, chief strategy officer of Parasoft. keeping testers as a separate team, Amazon recently held Amazon Prime Day, its biggest according to AgileTrailblazers’ Taylor. online shopping event. Since the company holds these light- Testers need to be fully committed to ning deals once a year they had plenty of time to prepare and plan, but yet even the a given team. biggest technology companies are capable of making mistakes. The company ended up suffering from a software glitch that prevented customers from being able to put In addition, there should be a sepa- items into their shopping carts, making customers very frustrated. rate group as part of the independent Users took to Twitter to voice their complaints with the hashtag #PrimeDayFail. test team responsible for building and Twitter user @pcg79 wrote: I removed my two #PrimeDay items from cart. Now I maintaining a regression test suite over can't re-add them. "You have claimed this deal". Get it together, @Amazon. #Prime- a long period of time, Black explained. DayFail. “Have an outside group look at things While @PreroDesign wrote: #PrimeDay is giving me nothing but add-to-cart fails. like usability, security, performance, Nice job @amazon. Another #PrimeDayFail. and reliability because those are all very According to Ariola, the lesson to take away from Amazon is that software quality difficult to integrate into sprint teams is no longer optional. The cost of quality and the cost of failure continue to rise. especially if you are dealing with scale. “It is funny to see things that I would consider or the industry would consider to Properties like performance, reliability be a minor software issue just blow up in social media. It is a good example of how and usability are emergent behaviors of social media and how the general public observes and who has the right to criticize the system as a whole as opposed to the quality of software,” he said. z —Christina Mulligan continued on page 39 > SDT328 Full Page Ads_Layout 1 7/21/16 3:13 PM Page 37

Exploratory Testing

Bug tracking made easy

Empower your entire team with an intuitive way to submit bugs and give feedback, right from their browser. Try it today on any platform (Windows, Mac or Linux).

Take Exploratory Testing for a spin http://aka.ms/xtlearn SDT328 Full Page Ads_Layout 1 7/21/16 3:14 PM Page 38 SDT328 page 34-36,39,40_Layout 1 7/22/16 9:33 AM Page 39

www.sdtimes.com August 2016 SD Times 39

< continued from page 36 behaviors associated with a single fea- Agile doesn’t mean fail ture or user story. It makes sense for There is a popular saying in agile and general software develop- those test task to be taken outside the ment initiatives: Fail fast and fail often. The point of this saying scope of development teams.” is that organizations will fail, but they will learn from their fail- n Focus on the testing pyramid. ures. While this saying might work for some companies, this is According to Taylor, the pyramid puts not a good mindset to have. unit tests at the bottom, integration tests According to Rex Black, president of consulting firm RBCS, in the middle, and user interface tests at falling into a fail fast, fail often mentality is dangerous because the top. The hardest automation tests to it makes it sound like getting things right the first time doesn’t Rex Black write are for your UI because they matter. “I suppose this attitude is appropriate or at least tolerable if you are building change the most and can be pretty com- the Kim Kardashian game to run on someone’s mobile phone,” he said. “It is not an plicated. Unit tests are easiest to write. attitude that is in any sense tolerable if you are building self-driving cars.” “Put most of your investment in unit tests Black explained organizations often adopt the philosophy of just throwing stuff out and integration tests, then just a little in there because if it is broken they can just release another update, but that can make UI because it is brittle, hard to manage the life of testers and developers difficult. “As software becomes more and more a and hard to maintain. You need some, critical part of the infrastructure of our lives, the importance of quality in software and you can build over time, but start goes up, not down. Therefore sloppy and ‘ready, aim, fire’ approaches become less appropriate rather than more,” he said. small,” he said. Instead of rushing to get stuff out there quickly, developers and testers should ask Microsoft’s Kamat adds that having a themselves if they can rush their product out because it doesn’t matter if it’s broken, service or API testing strategy with or is it something that is being implemented in self-driving cars, elevators, pacemak- exploratory testing is a better alterna- ers, and other critical solutions, Black explained. tive to UI automation. “Agile isn’t just stuff that gets out fast. The compromise that is going to be made n Utilize beta groups. One practice is almost inevitably quality because it is certainly less visible than budget and sched- testers can use to ensure their product is ule, and people are very good at counting days and counting dollars. But quantifying working without sending it into produc- what is an acceptable level of quality, organizations aren’t always good at that, and tion is to have it tested internally to a lim- that can lead to some bad decision-making,” he said. z —Christina Mulligan ited amount of users. “What that allows you to do is get field testing and real- are working in smaller increments you mation is only the first step. Businesses world testing back so the developers can can fix it much more quickly.” The idea is need to figure out in this new agile world react quickly and then fix defects, bugs or to deliver value to your customer and to who is responsible for testing and what any kind of confusion that occurred from be in a position where you can respond if constitutes testing, according to Gart- that testing,” said John Basso, CIO and something doesn’t work, McLeod ner’s Murphy. “In an agile organization, cofounder of Amadeus. explained. everyone plays a role in quality and test- Additionally, instead of rolling out to This is taking a shift-right approach ing. Developers test, testers test, prod- 100% of your users, teams rather than a shift-left uct owners test, and, yes, the users do can roll out to only 10% so approach, according to certain types of testing,” he said. that if anything happens it Microsoft’s Kamat. “If we So when developers and testers are only impacts a subset of the can’t do enough testing stuck in the middle of this transition, population and can be fixed before you release, you have they need to understand their skillsets and re-deployed quickly, to complement the risk need to change immediately. Basso explained. exposure by monitoring the According to Parasoft’s Ariola, n Test less, but fix faster. application in production, so testers need to have a clear understand- Since testers no longer have the luxury of that if there are any issues, you are the ing of the business and how software is waiting until the end of a development first one to detect them, and you can going to impact the business. “This cycle to test, Rogue Wave’s McLeod rectify them quickly,” he said. means your blinders associated with believes it is sometimes easier to test less, It is important to note that this does just writing tests need to be removed, and then live test. Of course, he notes not eliminate the need to shift left, and you are going to have to understand that it all depends on if your software is Kamat explains. “The more testing you a much more global perspective of what mission-critical. “If your software keeps can do early in the life cycle with more you are doing as a tester,” he said. airplanes in the air, it is probably not the automation, the better the results,” he Instead of just testing parts of the best approach,” he said. “But if your soft- said. application, testers also need to under- ware is hosted, fast, easy to update, and stand its breadth. “You have to under- maybe isn’t too mission-critical, I think to Updating your skillsets to stay relevant stand how your application runs, but some degree you should take a little Understanding that addressing test is one you are also going to have to under- more risk in your release. And since you of the most essential parts of the transfor- continued on page 40 > SDT328 page 34-36,39,40_Layout 1 7/22/16 9:34 AM Page 40

40 SD Times August 2016 www.sdtimes.com

< continued from page 39 can make the quality higher,” he said. of manual testers, they can’t just hire stand the dependencies associated with This new role is being seen as a qual- someone to automate all their manual the application,” said Ariola. “Meaning, ity engineer, according to AppDynam- scripts, according to cPrime’s Irani. “You what does it connect to? Are there ics’ Stoner. “Quality engineers have to have to spend the time and money to third-party connections from web serv- have some coding skills so they can sit invest in architecting out how you should ices? Are there other APIs that this with development and build test cases be automating testing,” he explained. application is dependent on in order to side by side,” he said. “Quality engi- “You have to think about who you have do its job? Does it connect into a main- neering is increasing the quality of that can learn those skills, and then frame? You are going to have to get to builds and developments so that less acquire the gaps of skills you don’t have.” know the architecture associated with time has to be used finding these issues. In addition, you can’t just train all that application quite well.” To do this, testers need to get brushed your manual testers to become automa- Having a thorough understanding will up on their automation skills, Continu- tion test engineers. “You have to archi- also help testers monitor and react bet- ous Integration skills and Continuous tect a solution, figure out which of your ter. “They need to be able to really Delivery platforms” people can make the transition, and understand how an application works so In order to brush up on those then provide them with the training when it fails they can better make sure automation skills, testers need to and skills they need,” said Irani. the quality is there because they under- become more technical. This means On the other side, as roles and stand how it works, and understand how being able to write code and scripts in responsibilities between testers and developers become more blended, Stakeholders need to change their mindset developers need to be more familiar with tests. They have to understand the Transitioning to agile is not only an initiative that hap- value of a good unit test. “Writing good pens at the team level. Stakeholders and executives unit tests around your code gives you a need to be able to change their way of thinking to safety net to make changes down the accommodate this way of working, according to Anand road,” said Taylor. “If you want to contin- Kamat, group program manager at Microsoft. ue to go fast, you need to have that safety According to him, stakeholders have grown up with net so you can make changes without a mindset that if they feel confident about releasing a fear or without having to second-guess particular solution, they should release it. “Stakehold- yourself, or without having to introduce ers need to understand that just by throwing more peo- a lot of defects into production.” ple and more hardware doesn’t mean they will be successful,” he said. “The agile prin- And as developers become more ciples don’t say that you are still going to do everything you have done before, but in a compressed timeframe.” “test infected,” the importance of The intent is to focus on what has changed, what is being used in production, use testers becomes greater. “Developers the data points to test, and have confidence in the testers that they understand what are typically more familiar with code the business risks are. and writing the unit test, whereas “Testers in an agile world need to be supported by the stakeholders to say yes, we testers have an eye for details, they have are going to understand the risk, and we are going to mitigate the risk by monitoring expertise in terms of connecting with the application in production,” said Kamat. z —Christina Mulligan real-world customers, and they have a better understanding of application it could break,” said cPrime’s Irani. order to automate things. “Testers need topologies in the real world.” The expectation is that testers are a growing amount of ability to write In order to work in this new world going to be able to participate in not code because most testing tools and the seamlessly, developers and testers need only the discussion about requirements most effective way with most systems to to make sure they have good communi- raised as user stories, but also discus- automate is you must write code, you cation skills in place because they need sions about automation of tests associat- must understand the code you are test- to be able to work together to find and ed with behavior-driven development ing, and you must feel comfortable execute the right suite of tests. “The and acceptance-test-driven develop- treating your testing assets as code ele- more testers understand, the more ment, according to RBCS’s Black. ments,” said Gartner’s Murphy. respect they are going to get from The job of a tester is no longer to fig- According to Trailblazers’ Taylor, it developers,” said Irani. “The more ure out how to manually do things. Their doesn’t necessarily have to be any one respect they get from Read this story on job is to ensure the quality of a product, language in particular. “What I look for developers, the more sdtimes.com according to Amadeus’ Basso. “It is whether or not they have the ability they are going to work becomes less about the testing and more to pick up some form of automated test with testers, collabo- about how you can make this whole scripting, which is really a lighter form rate and teach them as ecosystem of development, deployment of programming,” he said. well to help them get and monitoring better in such a way you For organizations that have hundreds better.” z SDT328 Full Page Ads_Layout 1 7/21/16 3:14 PM Page 41 SDT328 Full Page Ads_Layout 1 7/25/16 12:36 PM Page 42 SDT328 page 43,44_Layout 1 7/22/16 2:48 PM Page 43

www.sdtimes.com August 2016 SD Times 43 Buyers Guide

How imaging SDKs can solve today’s application development challenges

BY MADISON MOORE Well-known features, according to SDKs can solve general imaging Ross, are those like scanning a QR code problems that are familiar to web n a mobile-first world, developers with a phone or scanning a paper docu- developers, such as creating thumbnails understand the importance of creat- ment and saving it as a searchable-text from JPEGs. They also can be useful in Iing a next-generation app that fits in PDF. But, he added, “The average per- specific areas where image-processing with client or user expectations. Devel- son has no idea what DICOM or algorithms are key, like medical appli- opers should consider the myriad of MPEG-2 Transport Stream is, even cations, document processing, and SDK options if they want to improve though they likely use it on a daily basis. forensics, according to Kosmin. functionality for the user, especially Imaging is a crucial component in UAV For apps that are doing more with imaging SDKs. Although they are a drones, CT and MRI scanners, x-rays, image editing, barcode, OCR, and niche market, these SDKs can add bet- ATMs, social media, DVR and so much annotations, “You would be crazy to not ter imaging capabilities and target more.” use a third-party SDK,” since many of industry-related problems that compa- A good imaging SDK is easy to eval- these features take months to develop nies are trying to tackle. uate and it will have a list of features and years to perfect, said Ross. For Typically, an imaging SDK consists that are easy to understand. However, applications that require comprehen- of a code library that will allow develop- implementing imaging algorithms is not sive PDF technology, developers ers to take or create images, compress so easy, said Eugene Kosmin, lead should consider their PDF SDK them, visualize data, interact with developer at Aurigma. It does require options. scanned documents, and extract infor- some mathematics, which many devel- Jose Pimentel, sales and customer mation. Imaging SDKs can handle a opers only deal with when studying at support manager at Amyuni, said it spe- wide range of formats. These SDKs also college, he said. Overall, SDKs should cializes in PDF SDKs, and all of its soft- come with many built-in capabilities save developers time, not add ware is built around the PDF specifica- like scrolling, zooming, animation, drag headaches. tion. One of its SDKs is built to and drop, touchscreen support, and Companies and developers under- manipulate or create PDF documents, more, according to Greg Ross, techni- stand that learning new concepts and while the other allows developers to cal marketing engineer at LEAD- APIs can be time-consuming, which is create PDF documents from printing TOOLS. why some SDK providers give plenty of applications. All of the SDKs focus on “Those are just the basics,” he said. code examples for those who are look- PDF functionality, the creation of doc- “Dive deeper into the world of imaging ing to implement an imaging SDK. uments, and extracting content. technology and you’ll find optical char- “A good imaging SDK should hide “Our SDKs are geared toward creat- acter recognition, barcodes, forms all the complexity, give developers intu- ing PDF documents, whether you are recognition, PDF, annotations, itive APIs, and allow them to concen- creating a document from programmat- DICOM, PACS, TWAIN scanning, trate on their application rather than ically adding objects to a PDF canvas, multimedia streaming and video implementing algorithms or reading or creating PDF documents from a codecs.” file format specifications,” said Kosmin. printing application,” Pimentel said. z SDT328 page 43,44_Layout 1 7/22/16 2:52 PM Page 44

44 SD Times August 2016 www.sdtimes.com A guide to imaging SDK offerings

Accusoft: Accusoft’s PDF Xpress empow- ers developers to boost application func- n FEATURED PROVIDERS n tionality with easy PDF creation, editing, n Amyuni: Amyuni provides developers and system administrators with high-per- and the highest level of PDF compression formance PDF conversion and processing tools. Certified for Windows desktops and available on the market—as much as servers, Amyuni PDF Converter enables developers to easily integrate powerful PDF 90%. Quickly compress one PDF (or an and PDF/A functionality into their applications with just a few lines of code. Amyuni entire library) with just one parameter PDF Creator produces optimized PDF documents and seamlessly integrates with change to boost display and transmission COM, .NET, UWP and Windows Phone applications. Amyuni products are available in speed while dramatically reducing a number of comprehensive licensing models that fit all needs. archival footprint. Leverage PDF Xpress to build a PDF portfolio of multiple docu- n LEADTOOLS: LEADTOOLS is a family of comprehensive imaging SDKs designed ments and document types. to help programmers integrate raster, document, medical, multimedia, and vector n Aspose: Aspose offers a powerful set of imaging into their desktop, server, tablet, and mobile applications. LEADTOOLS gives file-management APIs with which develop- developers the most flexible and powerful imaging technology, offering development ers can build applications that can create, support for OCR, barcode, forms recognition, PDF, document conversion and viewing, open, edit and save the majority of popular document cleanup, annotations, DICOM, PACS, HL7, audio/video codecs, MPEG-2 business file formats. The Aspose product transport, DVR, streaming, more than 150 file formats, image compression, image range includes Microsoft Excel spreadsheet processing, viewers, special effects, scanning/capturing, printing, and more. APIs, Microsoft Word-processing APIs, Microsoft PowerPoint presentation APIs, ment Kits, which share the same underly- Forms, as well as WPF. Raster Edge is ded- PDF document creation and manipulation ing technology that powers Google’s PDFi- icated to provide powerful and profes- APIs, image file APIs, and many others. um project, help developers reduce costs sional document-imaging controls and n Atalasoft: Since 2002, Atalasoft provides and time to market by allowing them to components for capturing, viewing, pro- imaging SDKs to help developers build doc- easily integrate its industry-leading PDF cessing, converting, compressing, and ument scanning, viewing and image pro- technology into application workflows. storing images and documents. cessing into their applications. Atalasoft n OnePager: OnePager has developed a n SmartDeploy: SmartDeploy is computer DotImage for Microsoft .NET powers thou- tool used by project managers that takes imaging software that allows IT administra- sands of document-management applica- their project data and turns it into a cus- tors to easily deploy Windows OS and appli- tions, and it supports everything needed for tomizable summary graphic. OnePagerPro cations to users through a simple, guided digital document collaboration plus bar- is an add-on to Microsoft Project and process. SmartDeploy requires little to no code and OCR support. Atalasoft OnePager Express to Microsoft Excel. training, making it suitable for technicians MobileImage for Android and iOS turns of any skill level. SmartDeploy’s intelligent n ORPALIS: ORPALIS specializes in mobile apps into smart document capture architecture allows one hardware-indepen- automating large-scale document-based machines, complete with eVRS cleanup and dent image to be deployed to any computer processes and imaging. ORPALIS has devel- UI controls to capture perfect images. model using a unique driver-management oped GdPicture.NET, an SDK for WinForms, technology. Aurigma: Aurigma Graphics Mill and Cus- WPF and web development; and Docu- tomer’s Canvas is a family of imaging .NET Vieware, an HTML5 document viewer and Snowbound Software: Snowbound’s Virtu- SDKs designed for the printing industry and document-management SDK for ASP.NET. alViewer HTML5 is the premiere HTML5 vendors of GS1-compliant DAM systems. viewer for the enterprise. View, annotate, n Qoppa: Qoppa Software offers an exten- They support various image formats, con- redact, and manipulate hundreds of docu- sive suite of PDF libraries and visual com- vert colors with true color management, ments and images through a browser with- ponents that cover all PDF processing have advanced text support, generate hi- out downloading anything to the client. needs. PDF functions include creation and res PDF output, and handle image metada- VirtualViewer integrates seamlessly with modification, assembly, conversion to ta. Also, they allow for building HTML5 user your ECM/repository using our APIs and images and HTML, automated printing, interfaces and APIs for creating personal- connectors. Snowbound’s RasterMaster encryption and digital signatures, form ized products, as well as variable data print- Imaging and Conversion SDK enables fields, viewing and markup, optimization, ing in web-to- print software. developers to incorporate viewing, conver- and a lot more. Qoppa products provide the n sion, manipulation, Foxit Software: Foxit is a leading provider highest level of performance and reliability, Read this story on annotation, redaction, of fast and secure PDF solutions for end and they are 100% Java. sdtimes.com users and the enterprise. Businesses and printing, scanning and consumers increase productivity by using n RasterEdge: RasterEdge.com is the pro- more for PDF, Word, Foxit’s cost-effective products to securely fessional provider of document, content Excel, AFP, and more. work with PDF documents and forms. and imaging solutions, available for Both products are avail- Additionally, Foxit’s Software Develop- ASP.NET AJAX, Silverlight and Windows able for Java and .NET. z SDT328 Full Page Ads_Layout 1 7/21/16 3:16 PM Page 45 SDT328 Full Page Ads_Layout 1 7/21/16 3:17 PM Page 46

Be a PartPart of the ActionAction atat STARSTARWESTWEST 20162016 Use PromoPromo CCodeode SSWCMWCM and SaveSave Up toto an AdditionalAdditional $200 off!*

OctoberOctober 2–7,2–77,, 20162016 Anaheim, CA | DisneylandDisneyland HotelHotel

HTTPS://WELL.TC/SWCM16HTTPS:///// WELL.T C/S W CM16

*Ma*May be combined with super early birdd and early birbird pricing. Validalid on packpackages over $400. New Registrationstions Only SDT328 page 47_Layout 1 7/21/16 3:23 PM Page 47

www.sdtimes.com August 2016 SD Times 47 Guest View BY WAYNE ARIOLA How much risk is too much for an RC?

oday’s DevOps and “Continuous Everything” with all process-driven initiatives, it requires the Wayne Ariola is Chief Tinitiatives require the ability to assess the risks evolution of people, process and technology. We Strategy Officer of associated with a release candidate—instantly and must accommodate the creative nature of software Parasoft, where he leads the development and continuously. Yet, as the release date looms, devel- development as a discipline, yet we must face the execution of its long-term opment teams are still focused on answering the overwhelming fact that software permeates every strategy. question, “Are we done testing?” aspect of the business—and software failure now Fundamentally, this is the wrong question. It presents the single greatest risk to the organization. ties the concept of “quality” to static tests that pro- Continuous Testing (when executed correctly) duce multiple, independent and primarily binary provides four major business benefits. First, it data points of pass or fail. This approach results in results in clearly delineated business risks associat- a lot of data points, but not the information needed ed with each application in the organization’s port- to help the business understand the real impact to folio, including measurement standards for assess- the end-user experience. ing the level of risk. It guides business and Understanding the specific risks associated with technical teams to collaboratively close the gap each release candidate becomes mission critical as between business risk and development activities. organizations attempt to accelerate the release cycle. Second, Continuous Testing establishes a Without this visibility and knowledge of the impacts safety net that allows developers to bring new to the business, managers are unable to make the features to market faster. With a trusted test suite appropriate tradeoff or timing decisions for releasing ensuring the integrity of the software. related application components Continuous Testing provides Instead of “Are we done testing?” we should be and functionality, developers an automated way to obtain asking, “Does the release candidate have an accept- can immediately assess the able level of business risk?” This new question is impact of code changes. This immediate feedback on risks much more complex than it seems at the surface. It not only accelerates the rate of in a release candidate. carries a few critical assumptions: change, but also mitigates the • The inherent business risks associated with a giv- risk of software defects reaching your customers. en application and the particular release candidate Third, Continuous Testing allows managers to are well defined. make better tradeoff decisions. From the busi- • There is an understanding of how to measure ness’ perspective, achieving a competitive advan- each of these defined business risks. tage by being first to market with innovative soft- • A baseline and thresholds are established for ware drives shareholder value. Yet, software defining what constitutes an acceptable level of development is a complex endeavor. As a result, risk. Some business risks might have zero tolerance managers are constantly faced with tradeoffs in and no thresholds for acceptance. order to meet the stated business objective. By • Automation is in place to continuously assess the providing a holistic understanding of the risk of state of the application versus these defined risks. release, Continuous Testing helps to optimize This is why the concept of Continuous Testing the business outcome. is so critical. Continuous Testing provides an auto- Fourth, when teams are continuously executing mated, unobtrusive way to obtain immediate feed- a broad set of tests via “sensors” placed throughout back on the business risks associated with a soft- the SDLC, they collect metrics regarding the qual- ware release candidate. It balances the traditional ity of the process as well as the state of the soft- bottom-up tasks associated with software develop- ware. The resulting metrics can be used to reexam- ment and testing with a top-down approach ine and optimize the process itself, including the Read this story on focused on safeguarding the integrity of the user effectiveness of the tests. This information can be sdtimes.com experience while protecting the business from the used to establish a feedback loop that helps teams potential impacts of application shortcomings. incrementally improve the process. Frequent Continuous Testing is not simply more test measurement, tight feedback loops and continuous automation... nor is it a “plug-and-play” solution. As improvement are all key DevOps principles. z SDT328 Full Page Ads_Layout 1 7/25/16 12:35 PM Page 48

Don’t Miss THE Jenkins Conference of the Year. Join the largest gathering of Jenkins users in on the planet at Jenkins World 2016. Network ‰b|_;mhbmv;Šr;u|vķ1omঞm†o†v7;Ѵbˆ;u‹ |_o†]_|Ѵ;-7;uv-m71olr-mb;vo@;ubm] 1olrѴ;l;m|-u‹|;1_moѴo]b;v=ou;mhbmvĺ Jenkins World $u-bmbm]Ƴmo‰Ѵ;7];Ƴ;uঞC1-ঞomƷ &Ĵ REGISTER NOW

The Jenkins Event of the Year "-m|-Ѵ-u-omˆ;mঞom;m|;uŇ";r|;l0;uƐƒŊƐƔ Register now: www.jenkinsworld.com | #jenkinsworld

opensourcearchitect ® SDT328 page 49_Layout 1 7/22/16 2:05 PM Page 49

www.sdtimes.com August 2016 SD Times 49 Analyst View BY AL HILWA Rise of the elusive citizen developer

he need to engage in digital transformation automation is increasing even in the consumer Al Hilwa is an industry Tand build new processes and systems, coupled space with emerging services like IFTTT. Funda- analyst at research firm with severe developer shortages, has created an mentally, life has become much more “program- IDC, specializing in application development opportunity to promote model-driven platforms to mable” than it used to be. research bring the value of high abstraction to a broader While the coding of applications is a critical and audience not trained in software development. The creative activity, work on requirements analysis, idea is that there are many intelligent knowledge design, quality assurance and, more recently, workers who are very comfortable with technology deployment management is at least two-thirds of in the workplace and are thus are able to create the cost and effort of software development. In his business applications if given the right tools. seminal long blog on agile technologies, Martin We need to unpack the “citizen developer” Fowler estimates that only 15% of the time spent buzzword in light of the true nature of modern in software development is coding. software development. Knowledge workers must be able to analyze requirements for new systems, design and archi- Abstraction is key tect them, test them effectively, and roll them out Going back to the origin of these development to their users. Increasingly, an iterative process is technologies, we find much was inspired by the needed to cycle through requirements and rede- difficulty of software engineering. The traditional ploy the app. Effectively, knowledge workers, if 4GL or RAD tool of the last few decades typically successful at building business focused on developers looking to solve business apps, face a shift to becoming Abstraction is a defining problems. Modern BPM tools are more focused on developers. feature of application process analysts and experts who often have a rig- orous understanding of the business processes and The citizen product manager platforms and has shaped workflows they want to automate or re-engineer. Recently, companies like Airbnb The most powerful commercial packaged appli- and Uber have revolutionized software development. cations have been enhanced with custom objects and hospitality and transportation in abstracted programming models. It is in this context ways we are only beginning to digest. This disrup- that Salesforce originally got into the platform world tion is making its way to companies focused on with AppExchange more than a decade ago, pioneer- mechanical engineering, with Tesla disrupting the ing this model of app extensibility to build an ecosys- auto industry and SpaceX, Blue Origin, and Virgin tem that made its applications more valuable. Galactic disrupting aerospace. For most of the last few decades, abstraction has The heart of these shiny new mechanical objects been used in software engineering to build platforms is invariably software. Almost all modern disruption that shift the application model from the domain of uses software, putting developers at the heart of the machine to the business. This has been a defin- transformation competency. Yet the varied business ing feature of application platforms, and has shaped problems and solutions are typically not the domain software development as we know it. of professional developers alone. This means that product development is increasingly dominated by The rise of knowledge worker skills software development and knowledge workers There are knowledge workers who are using more must engage in the process. automation in their work on a daily basis. And more Knowledge workers may be programming more analysts use data science tools of various types for in their life, but they are also engaging more in building models and crunching data coming from cross-disciplinary agile software and product devel- Read this story on web, mobile and IoT edge systems. opment teams. In many cases, knowledge workers sdtimes.com Many who would not be categorized as data sci- are taking product leadership roles around software entists use elaborate computational models in products or components that are key to business spreadsheet programs that are tantamount to pro- transformation. This has been the true rise of the gramming. Habituation to this type of personal citizen developer movement. z SDT328 page 50_Layout 1 7/22/16 1:55 PM Page 50

50 SD Times August 2016 www.sdtimes.com Industry Watch BY DAVID RUBINSTEIN In SUM, applications are alive

David Rubinstein is “ ogito ergo sum.” — Rene Descartes, 17th cen- company’s flagship product for ensuring software editor-in-chief of SD Times. Ctury French philosopher and mathematician. reliability. Race Catcher does dynamic analysis of “To me, software processes are a kind of intelli- code to find and understand contentions within the gence, and that means to me that every program is code. These race conditions are a well-known issue alive. This is how I really see it.” — Benjamin in software, but are not so easily defined. As Shapiro, founder of Thinking Software. Shapiro put it, “Stack Overflow has about 12,000 You’ll get the connection soon. But first... questions about what race condition is, and each Long story short, Shapiro, a teenaged student at question has several answers. I checked a year later, an engineering military academy in St. Petersburg, and there were 13,000 questions.” Russia, had a math professor suggest he look into The most common definition is that race condi- Boolean algebra. He went on to do some work in the tions occur when multiple application threads are computer department, where he published “Formu- accessing memory, and one thread alters the mem- la of Algorithm.” After deciding not to graduate as a ory being used by another, rendering the applica- military officer, and spending time tion unreliable. Static analysis tools cannot analyze With Race Catcher, “banished to a very cold place,” everything and return too many false positive and Shapiro got his diploma from a false negative results, Shapiro said. Dynamic tools applications automatically technical institute before migrat- give results as they happen, but he said they usually analyze themselves. They ing to the United States in 1979. come with large overhead. By 1981, he was building a Shapiro explained how Race Catcher works. think, therefore, they are. debugging package based on his “The first element of the Software Understanding “Formula of Algorithm,” working Machine is the user interface. Some user interface in Fortran and then COBOL. The debugging pack- builds models of software in order for a program- age morphed into a dynamic code analyzer, which is mer to understand what the issue is. The second implemented in his Software Understanding element is Race Catcher. It analyzes executable Machine. The goal is to ensure business-critical soft- code, which means we don’t need source code. But ware is reliable. From this work, and with his broth- the programmer, of course, needs to see source er, Roman (who came from Russia in 1990), the code to understand the issue. So when our product company Thinking Software was founded in 1995. locates issues automatically during program execu- “I had a contract with Google, and I showed this tion, since Race Catcher is dynamic code analysis, work to their director of R&D Peter Norvig...and I as opposed to static analysis, issues have to be told him what we built is different because we don’t explained to programmers, and we do this automat- work on data, we work on cause/effect, which makes ically by dragging the issue onto the model of the us faster and much more efficient and secure,” code we built automatically, which comes from the Shapiro recalled. “We don't expose people’s data. Software Understanding Machine.” “We then moved to work on the Java language,” A third element is what Shapiro calls ARM-CM: he continued. “One of the questions at that time, Application Reliability Management via Collaborat- by another director, was how are you going to deal ing Machines. He calculates that approximately 1 bil- with race conditions? I went home and then real- lion virtual machines are in service today, with the ized this is not a missionary technology like a Soft- overwhelming majority running Java. ARM-CM ware Understanding Machine, but it’s a well- allows multiple Race Catcher instances to become known issue, and it was in addition to what we do part of a local network—what he described as “con- in SUM. By the way, SUM happened to be a good scious machines running the same applications” and Read this story on acronym, because ‘Cogito ergo sum,’ by Descartes, ensuring reliability through a social network sdtimes.com means, ‘I think, therefore, I am.’ I really liked this machines that have “common interests” and create combination, because the Software Understanding knowledge of the applications that are running. Machine understands cause/effect and propagates In short, with Race Catcher, applications can knowledge. It’s knowledge deduction.” automatically analyze themselves. They think, there- From all of this has come Race Catcher, the fore, they are. z SDT328 Full Page Ads_Layout 1 7/21/16 3:18 PM Page 51 SDT328 Full Page Ads_Layout 1 7/21/16 3:18 PM Page 52

Connects to commonly used data sources like Microsoft Excel, SQL Server, Oracle, MySQL and Spark SQL.