Testing as a Service

Add software testing to the numerous IT functions now offered in the cloud. Vendor offerings are sometimes referred to as Testing as a Service (TaaS), a reference to other cloud products such as Infrastructure as a Service, Platform as a Service and Software as a Service.

Some companies provide TaaS on a fully outsourced basis -- the customer hands over the software to be tested and the vendor conducts the tests. Other testing companies, including those targeting mobile app developers, pursue a different strategy. Such vendors offer an Internet-based testing platform that lets developers remotely access an array of mobile devices on which they conduct their own app tests. This testing approach frees developers from having to acquire -- and keep track of -- multiple devices for testing purposes.

Benefits of Remote Testing Platforms
It’s easy for developers to end up with a room full of devices they purchased for testing, says Gidi Pridor, vice president, business development, at Perfecto Mobile Inc. That approachisn’t scalable and costs a considerable amount of money, a particularly pressing issue for smaller developers, he says.

Perfecto Mobile lets customers remotely access and control more than 500 mobile devices for application testing. The Boston-based company also has plans to expand, having secured a $15 million round of financing in October.

While the testing platform helps smaller firms with testing costs, there’s a plus for large enterprises as well. Pridor says a cloud-based platform eases the logistics of testing on technology that’s in a constant state of flux.

“This market changes all the time,” Pridor says. “It’s unpredictable and dynamic. Managing the relevant offerings and having everyone in your organization getting access to that is a big logistical nightmare.”

Rachel Obstler, senior director of product marketing at Keynote Systems Inc., which offers its DeviceAnywhere cloud-based mobile app testing platform, says most organizations don’t want to be in the business of buying phones for their Quality Assurance teams and then having to track those assets. Enterprises often have geographically dispersed QA teams, so ensuring accessibility to mobile devices also becomes an issue. “If organizations have a central place where [QA teams] can access devices over the Internet, it is much more efficient,” she says.

Automated Application Performance Testing
The testing platform also paves the way for automated testing. Automation is critical for reaching a level of sustainable quality for mobile apps, says Pridor. The Perfecto Mobile platform lets customers automate a test script on one device and then port it across any other device. Specifically, Perfecto Mobile’s ScriptOne technology lets QA script tests that span multiple devices, irrespective of operating system or carrier.

Similarly, DeviceAnywhere lets QA teams automate test scripts to “capture, verify and replay” user interactions on mobile devices, according to the company. “Once you have this platform, it is something you can then automate on,” Obstler says.

Platform vendors offer customers the opportunity to leverage their investment in software testing products. DeviceAnywhere, for example, can integrate with test automation tools from HP (QuickTest Professional) and IBM (Rational Quality Manager). Perfecto Mobile also offers HP and IBM integration.

Public and Dedicated Resources for Application Testing
Mobile app testing platforms offer their customers both public and private cloud access models.

Perfecto Mobile’s MobileCloud, for example, lets customers access a large pool of shared devices, Pridor explains. The service targets smaller companies. The company also delivers its platform on a private cloud basis. Large enterprises in such industries as healthcare and financial services use the private cloud model due to security and regulatory compliance concerns, says Pridor. But the larger firms may also use the public cloud to supplement their dedicated resources.

DeviceAnywhere’s shared, public system provides smaller companies a lower-cost way to tap the testing platform, says Obstler. The company’s dedicated environment, meanwhile, lets larger companies address their security needs. Enterprise customers also use the public system to augment the core handsets they access in the dedicated system, Obstler notes. A company may use 10 to 20 core handsets in the dedicated setting, but will turn to the public system to do compatibility testing on other handsets.

Photo: Corbis Images

How Does HTML5 Change the Development Game?

HTML5: Such a simple phrase. But it’s packed with more than just the latest HTML. HTML5 includes HTML, CSS and JavaScript technologies; with these in your toolkit, you’re armed and ready to build richer applications and websites.

A hard-to-miss trend for developers is users’ shift from desktops to mobile technologies, placing HTML5 as the go-to programming language for online and mobile apps. In fact, some say that HTML5 is one of the most important skills for developers to focus on this year.

Mobile leaders like AT&T are offering HTML5 software dev kits, making it easier to support in-app purchases by adding the cost of the purchase to the user’s mobile bill. The bottom line: If mobile apps are your focus or in your future, you’d better get nice and cozy with HTML5.

You can take a crash course in HTML5, but one of the most important things to know is that your app’s performance -- HTML5 features or not -- depends on what browser is hosting it.

Playing Browser Catch Up
It’s true that not all browsers support HTML5, but understanding which browsers support which functions will ensure that your app is as robust as it can be for your users as they shift to the latest browsers. Some HTML5 technologies -- such as geolocation, canvas, scalable vector graphics, audio/video and web storage -- are broadly supported across major browsers. For the biggest impact, you can begin to implement these technologies into your apps, and focus on the less-supported technologies over time. You can also polyfill your app by creating a shim that provides a similar functionality for older browsers.

Getting Started
Deciding where to begin can be tricky. Start by taking a look at these popular HTML5 features:

  • So long, plugins. One of the exciting features of HTML5 is the ability to play audio and video within a web page. With the <audio> and <video> tags, third-party plugins like Adobe Flash are no longer needed.
  • Quit playing with pixels. Images, charts and graphics created as Scalable Vector Images (SVG) can go up or down in size to fit the available display area without impacting image quality or creating artifacts. The XML file does not describe the pixels in the SVG image; it describes the colors, gradients, points, lines and text needed to create the image.
  • The geolocation functionality of HTML5 allows browsers access (with consent of users) to geographic locations, making it easier for you to incorporate geo-targeted content into your app.
  • Solving the mobile advertising pain point is one of many changes HTML5 is expected to bring this year. It now offers developers the opportunity to incorporate online advertising through ads that are directly uploaded to the app via an ad server.

Want to learn more about HTML5 from our sponsor? Register for Intel’s Software Adrenaline magazine, download their mobile app and follow them on Twitter.

Browsing the Aisles

Store-locator apps that direct customers to the retail location of their choosing have become a standard and expected capability of mobile devices. But retailers and consumer packaged goods makers are pushing the technology to the next level: apps that helps consumers zero in on stores that carry particular brands or help them find where items are located within stores. Those item or product locators have begun to emerge, attracting interest from a range of retailers and product companies.

Nathan Pettyjohn, founder and chief executive officer aisle411, a Palo Alto, Calif. company that makes an indoor mapping and search platform, says consumers’ interest in mobile apps that create an engaging in-store experience have grown exponentially during the past year.

“Eighty three percent of shoppers report difficulty finding the items they’re looking for in stores,” Pettyjohn explains. He adds that this situation makes indoor search, navigation and interactive store maps the most useful form of in-store mobile applications.

Meanwhile, OnTerra Systems has encountered demand for product-locator apps that help brands get noticed. Steve Milroy, president of OnTerra Systems, says his customers started asking about product locators about a year ago. The company focuses on web mapping and location-based services, among other areas.

Store locators, while useful, don’t offer brand managers the level of specificity required to stand out on in the crowded retail space. “They need to create their own apps to highlight their products and allow consumers to find their products,” Milroy says.

Narrowing the Search
OnTerra Systems earlier this year completed a product locator for Beanitos Inc., which makes low-glycemic, gluten-free chips from beans. OnTerra Systems used its store-locator development platform, LocatorSavvy, to create the Beanitos locator, which directs customers to nearby Beanitos-carrying stores via mobile as well as web browsers, the company says.

Essentially, OnTerra Systems extended its Web mapping locator technology from finding stores to finding stores associated with specific products. The approach resonates with small- and medium-sized brands, according to Milroy.

“Beanitos isn’t a large brand; they are probably a medium-sized brand,” Milroy says. “They are specialized -- they play in the gluten-free market. We have found that the smaller and medium brands can adopt product locators to help them compete with the larger brands.”

Companies marketing megabrands, however, are also looking into product locators. Patrick Campbell, chief operating officer at OnTerra Systems, says the technology can provide a boost to “any product that is trying to get on a retailer’s shelf and get noticed.”

For its part, aisle411 provides indoor map and search capabilities for customers such as drug retailer Walgreens and the Price Chopper supermarket chain. The size of the store -- and how often customers shop there -- drives the need for item locators, Pettyjohn says. “Our research shows that the larger the store and less frequently it’s visited, the higher the shopper demand for mobile item location services,” he says.

At or near the top of the list, Pettyjohn says, are home centers, mass merchants, grocery stores and drug retailers. “It’s been our experience that the grocery and drug channels have been innovators and first to respond to shopper demand,” he says. “However, we expect to see home center and mass merchants adopting the same technology in the coming months.”

The Underlying Technology
The aisle411 platform collects and organizes retail inventory data and makes it searchable on in-store maps, according to Pettyjohn. The platform incorporates proprietary technologies, including indoor search, inventory data and grammar management, scalable map development, context and location aware product recommendation, and micro-location shopper tracking, he notes.

“By integrating our developer API and SDK, our technologies are then easily leveraged by partners including retail, shopping, navigation and social apps,” Pettyjohn adds.

At OnTerra Systems, Milroy says the company aims to avoid using propriety tools. Instead, the company takes a standards-based approach, using HTML 5 and jQuery Mobile, for example.

Other technologies may begin to influence product and item locators. A mobile device’s ability to read QR codes or barcodes lends itself to price comparison apps, for example. Milroy says there is some convergence in the market between those apps and product locators, but notes that his company isn’t using barcode-reading technology.

In addition, object recognition seems a natural fit for drilling down for information on products found in a store. Indeed, some activity has begun to surface. Mathecsys, a technology consulting firm, lists mobile object recognition for retail among its projects. The retail project, according to Mathecsys, would let shoppers use a mobile device to take an image of a grocery store’s flyer and receive information and discounts on the selected product.

Photo: Corbis Images

Application Development Trends: Using Government Data

Recent initiatives have set out to make government data more readily available to information consumers -- including app developers.

The White House kicked off the federal Open Government Initiative in late 2009. The program calls for agencies to “expand access to information by making it available online in open formats.” Individual efforts under the open government umbrella include Data.gov, a clearing house of sorts that at press time offered 378,000-plus raw and geospatial data sets, along with 103 government mobile apps.

Open data received a reinforcing push earlier this year with the publication of the Federal Digital Strategy. The policy calls for agencies to design new IT systems for openness and “expose high-value data” as APIs. For established systems, the policy requires agencies to identify at least two significant customer-facing systems with high-value data and make that data available through web APIs.

Developers are currently making use of government data for apps in sectors ranging from healthcare to education. App makers think government open data policies are a step in the right direction, but note that there’s plenty of room for improvement.

More and Better Data for Application Development
Sheetal Shah, health solutions architect at Avanade, a business technology solutions and managed services provider, says the Open Data Initiative has begun to bear fruit.

Shah has been leveraging government health and population data. “The volume [of data] has significantly gone up and the quality is starting to get much better,” he says. 

Data is becoming easier to obtain as well. Shah notes that getting at some government data previously would have required a Freedom of Information Act request.

An Avanade team recently participated in the Medicare Claims Data Developer Challenge, building a tool that uses data from the Department of Health and Human Services (HHS) and the U.S. Census Bureau. Shah says that working with government data on the developer challenge was relatively easy.

But the team encountered some challenges -- the volume of data, for example. The health data acquired through HHS’ HealthData.gov repository amounted to hundreds of thousands of rows of data. “Getting the data and staging it in our database and doing manipulation and pivoting off of the Census data required some work,” Shah says.

CollegeCalc.org, meanwhile, taps Department of Education data to create college cost estimation tools. A spokesman representing CollegeCalc’s development team says the Department of Education does a good job publishing data on its IPEDS Data Center in .csv and other standard formats.

“It’s a very flexible site which allows very specific custom tables to be built and exported,” he says. “In terms of application building, a software developer with an average skill set would have no problem importing this data to a database and developing a custom application around it.” The spokesman says the CollegeCalc website was built in a matter of days with Department of Education data providing the foundation.

Open Data Needs Improvement
Michael Shoag, Director, Government Services at Forum One Communications, a digital communications firm, says the government now makes data available in a variety of formats including PDF files, online tables, images, dynamic maps and charts, and raw data files. But the key, he notes, is to make the raw data available.

“Showing key results as charts, graphs or maps is a great way to tell stories with the data -- to help people understand what it means,” Shoag explains. “If that is not partnered with the ability to download the raw data, however, it is much less useful. Researchers, corporations and academics often need to mine the raw data to find answers, verify theories and tell results.”

In some cases, Shoag notes, people must use an online tool to generate dozens of reports, and aggregate the data into one file to get the data they need to begin their research. 

Ideally, government agencies would make their raw data available online, Shoag says. APIs are useful for data in flux. “If the data changes frequently, then agencies should include APIs to enable developers to pull in the newest data dynamically,” he says.

The best-case scenario would also have government agencies providing consistency of taxonomies across data sets. But Shoag says obtaining consensus on taxonomies can prove “extremely time consuming and should not be a barrier to making data available.”

Agencies are beginning to make some progress toward the next level of data availability. In July, the Census Bureau, for example, in July released its first-ever public API, which lets developers design web and mobile apps using demographic and socio-economic data. In August, Census reported that 860 developers received keys to access the agency’s data sets.

But some developers have reservations regarding government-provided APIs. “I’m hesitant to rely on live queries from my application to a government API as they offer no SLA guarantee; hence it’s more reliable to download and store data within the context of a custom application,” the CollegeCalc spokesman says.

In addition, he says he encountered a few data sets on data.gov available via web services APIs, but found the data delivered through those services to be out of date. It would be tremendously beneficial if the government were to offer high availability web service APIs with current data, he says. This approach would allow more rapid application development without the need to locally replicate data.

“As it stands now, the timeliness and availability of APIs make their use a non-option for application development,” he says.

Photo: Corbis Images

Power Your Apps With GPU Programming

A computer’s CPU traditionally carries the application workload, but developers can now tap a programming approach that engages the graphics processing unit (GPU) as well.

The concept, referred to as General Purpose GPU, or GPGPU, essentially makes the GPU available for computing chores other than graphics. The ability to offload tasks from overtaxed CPUs can boost application performance. In addition, writing programs to leverage more resources make for improved energy management -- tasks can be targeted toward the parts of a system that consume less power.

A couple of key frameworks make GPGPU happen. OpenCL, a Khronos Group specification, provides an API set and programming language that lets coders write programs that use all of a system’s resources. On the proprietary side, NVIDIA’s CUDA, which the company describes as a parallel computing platform and programming model, also makes use of GPU power.

To date, GPGPU, or GPU programming, has made the biggest mark on desktop and notebook computers. But mobile devices -- processor-constrained smartphones and tablets -- also stand to benefit. However, widespread use of GPGPU in the mobile app development space may be a couple of years away.

The Benefits of GPU Programming

“The key benefit of programming GPUs is high performance of calculation operations,” says Eugene Filipkov, senior game developer at Eligraphics Studio in Minsk, Belarus. “GPUs can carry out an enormous number of simple operations in parallel to CPUs -- more complex operations can be calculated by CPUs and simpler operations by GPUs.”

As a game developer, Eligraphics limits its involvement with GPU programming to the vertex and pixel shaders for games, Filipkov explains. He suggested the company’s use of GPU programming could increase in the future. If Eligraphics decides to create its own 3D engine, for example, the effort would involve parallelizing tasks and transitioning elements of computing to the GPU.

Arnon Peleg, software products marketing manager at Intel, says he takes a broader view of GPU programing. He points to OpenCL as a key enabler. “We are talking about platform programmability and not only CPU or graphics,” he says. “OpenCL is a standard programming language. What it brings to you is a way to access the computing firepower of the entire platform.”

At this point, Intel supports OpenCL on client PCs and Ultrabooks. The company has not announced support for OpenCL on smartphones and tablets. But in the case of Intel-equipped Ultrabooks, for example, OpenCL lets developers access both the CPU and Intel HD graphics in a standard manner.

“The performance on the entire platform is the key here,” says Peleg. “It is the ability to program the overall platform and utilize the power of the entire platform and get the most power efficiency.”

As for the latter point, a developer can program an application to run code on the least power-consuming system component, which is typically the graphics component. Developers who balance their code between the CPU and Intel HD graphics can, potentially, create applications that use energy more efficiently, notes Peleg.

GPGPUs: Shifting to Mobile Development

Neil Trevett, vice president of mobile content at NVIDIA and president of Khronos Group, says GPU and cross-platform programming will eventually work its way down to mobile devices.

“Silicon and IP vendors are working now to build CUDA/OpenCL-programmable GPUs into the power budget of mobile phones at a useful level of performance,” says Trevett. He calls that task a non-trivial exercise. That said, he says he believes the next two years will see multiple system-on-a-chip integrated circuits for phones and tablets emerging with that capability, making it a useful feature for developers to target.

“I think the first beachhead applications to take advantage of GPU programmability will be image and vision processing, computational photography and video editing/analysis,” says Trevett. “Also, games will use this capability to accelerate physics and simulation engines -- just like desktop games today.”

YOUi Labs, based in Ottawa, adds Natural User Interfaces (NUIs) to the list of software that can benefit from GPU computing. The company, which focuses on developing NUIs for embedded platforms, reasons that NUIs require more computational power than traditional graphical user interfaces. A YOUi Labs whitepaper states that making use of available GPU cycles is important for maximizing the hardware’s capability for an NUI.

“This process of using GPUs as [GPGPUs] has been traditionally limited to desktop computing platforms, but as portable devices are becoming more powerful, encompassing multiple-core CPU and GPU elements, implementation becomes crucial for efficient use of the hardware’s capability,” the whitepaper says.

Jason Flick, chief executive officer of YOUi Labs, says GPU programming is headed for mobile devices, noting that OpenCL drivers are already showing up on pre-production hardware. He says about half of the development boards in the next six months will have OpenCL support, although at the moment only a few have that feature.

“It certainly will be moving into that space,” he says of GPGPU and mobile devices.

Image: Corbis