We don’t hear much anymore about building applications intended to¬†run inside a mobile device’s browser. It’s just not fashionable or newsworthy. These days, the tools, techniques, user conferences, and marketplace are all about native mobile apps. Which camp are you in?
The browser is the easy solution. You don’t need separate code bases for Android, iOS, and Windows devices. If a website and server-side code works in one browser, it should work in any other. That model simplifies development, can vastly cut development costs, and speed time to market. When you’re done with development and testing, there’s likely no need for third-party certification and no app store to deal with. Host your site and you’re in business.
Seems perfect. But, what about the all-important user experience? You can’t push¬†notifications and there’s no way to keep it running in the background. Because it has to run inside any browser, performance may be less than optimal. After all, we’ve all seen websites that run just fine on one desktop browser only to crash and burn on another. Cram too many design elements in the site to create a quasi-native-app look and feel, and painting the screen might become painfully slow. For your entertainment pleasure, ¬†you can even view a gallery of mobile Web design miscues. Yet, for all their shortcomings, businesses still need to offer a mobile Web experience.
Mobile apps are very different. You tailor them to the specific OS and screen size. That means they’re likely to look a lot more attractive. Performance is almost guaranteed to be zippy. Users are likely to have a more-enjoyable experience. And that means they’ll come back again and again. Available for downloading via app stores, discoverability is easier. And you can charge a fee. Even big companies like magazine, newspaper, and other content publishers do that.
With mobile apps, you can send push notifications. You can save content to the device for working off-line. It’s the reason I can store my airline boarding passes in the iPhone Passbook app with no need to worry about whether I have a Wi-Fi or cellular connection at boarding time.
But, as in all things mobile, there’s a tradeoff. That OS and screen-size tailoring extends development cycles. That means development costs are higher. You’ve got to go through the vetting and testing process at multiple app stores. And there are the fees you have to pay every time your app sells.
This isn’t an either/or scenario. I suspect in the vast majority of cases that businesses need to offer a mobile Web and native app. A private developer who is building a game isn’t bound by the same rules.
Which is it for you? Have you forsaken mobile Web in favor of apps only? Or are you sticking with both? Are you migrating from Web to app? We’d like to know.
Data isn’t safe anywhere. Pay a zillion dollars for security, and it’s not going to stop the bad guys from getting in. Just ask the federal government. Or Target. Or Home Depot. Or TJX. Or Sony. Or Anthem.
Maybe it’s better to save all that money, spend zero on security, and simply¬†let the bad guys saunter in through the front door. After all, they are coming.¬†Talk about great ROI. But, we know that would be a hard sell to the CEO, especially in this age of Gramm Leach Bliley information security requirements, HIPAA, and COPPA, the FTC’s Children’s Online Privacy Protection Act.
As a developer, you have several alternatives for dealing with data security. You can build multiple rings around data sets and hope for the best. Of course, that doesn’t protect you if the bad guy is an employee who is already on the inside. (No wonder we don’t hear much about intrusion protection anymore.)
There’s the concept of app wrapping, cloaking a mobile application in a shroud of parameters that might be configured to prohibit local data storage on the device, or self-delete the app after three failed password attempts, or bar saving files to any third party service, such as Dropbox or Google Drive. Fortunately, with app wrapping, you can build your app without much regard for these issues, and apply the cloak as a wrapper around your finished code.
The latest discussion centers around whether to encrypt everything that isn’t already publicly available. The idea makes sense — let the bad guys steal all the data they want, but if it’s utterly unusable, perhaps they’ll eventually give up. Unfortunately, in practice, it gets much more complicated.
You need to think about every employee’s or customer’s device needing to decrypt data in order to use it. That’s big-time processing overhead, depending on the amount of data, not good when your mission in life as an application developer is to keep cutting response times. And when the transaction is completed, you’ve got to re-encrypt for transmission back to the database, wherever it resides. More overhead. And you’ve to build all this into your program code. There’s also the huge issue of key management.
As a developer, how concerned are you with transactional or at-large data security? A lot, because it’s the right thing to do, or not at all, because security is someone else’s job? Are you called into meetings on data and systems security? And are security protocols different, depending where files live?
Share your opinions about application-level data security. We’d like to know about your experiences, and you’ll know that you’re not the only one out there pondering the same questions.
We’ve all seen it. That chief marketing officer wants a new report or a redesigned user experience on the company’s mobile app. The guy is already fed up with an IT department and CIO he sees as everything from active obstructionists to clueless, unresponsive ne’er do wells.
IT isn’t interested, doesn’t have the people or budget, has other more-pressing projects on the docket, or may simply doesn’t get what the marketing team is trying to accomplish. What happens next is that the department decides to go around IT and sign up for some software-as-a-service subscription or, increasingly, use a no-code drag-and-drop tool to build mobile apps that connect to company data through an assortment of APIs. After all, the point of many APIs is to simplify access and integration. The result: Shadow IT.
I’ve heard it argued that Shadow IT can’t harm corporate intellectual assets (data) if the apps built are read-only, perhaps for generating sales or inventory reports. I’m not buying that argument, though it depends how you define harm. While prohibiting write access does protect digital assets against dastardly destruction, deliberate deletion, or worse, evil editing, a read-only app still puts the data out in the wild, where you have no control over who can see it. That doesn’t damage the data, but it certainly could harm the business.
As for these no-code tools, the selection abounds. Industry analysts are even looking at them as a good way to accomplish tasks that move the business forward without straining developer resources that are already stretched thin.
Shadow IT is inevitable. To make it work better for everyone, I’d like to see the marketing department be less surreptitious about it. Go to IT and say, “We’re going to do this and we wanted you to know before we start.” Not only is that good corporate citizenship, but it increases the likelihood that IT will take at least a cursory look at the tools and project intent to ensure that security is up to snuff and regulatory mandates (HIPAA, for example) aren’t smashed to smithereens.
As a developer or CIO, what’s your opinion of the trend toward departmental no-code app development? Everyone I speak with has strong feelings. We’d like to hear yours.
Working in a corporate IT department or for a software house as an application developer has its benefits, namely a regular paycheck. But, you probably want more. You dream about selling your own apps through the Apple App Store, Google Play, or maybe even the Windows Store. Good luck.
Microsoft’s Nick Landry, Sr. is a technical evangelist and all-around cheerleader for all things mobile on all platforms. (He’s a mobile guy, not a Windows guy.) Landry especially loves developers who have big ideas for small apps. Write an app with a goal of selling it in an app store? Absolutely. Go for it, he says with a big smile and wide eyes. But, don’t expect to get rich doing it. And, definitely don’t quit your day job thinking you’ll generate enough income to live comfortably. Those who strike it rich selling apps are like the people featured in those late-night weight-loss infomercials — their results are not typical. “It’s an extremely competitive world where you have literally millions of applications out there,” Landry says. “It’s very hard to get discovered; it’s not like ‘if you build it they will come.'” He’s right; your app will literally contain fields of dreams.
Whatever the idea you conjure up for an app, it’s likely already been done hundreds or thousands of times. After your app is finished and you submit it, the scrutiny begins. In its App Store Review Guidelines, Apple itself has a lot to say, including “If your App doesn’t do something useful ‚Ä¶ or if your app is plain creepy, it may not be accepted,” and ” we will reject Apps for any content or behavior that we believe is over the line.” The guidelines includes lengthy sections covering everything from metadata to push notifications, user interfaces to trademarks, personal attacks to violence, objectionable content, and a whole lot more.
Get past all the obstacles and watch the dough roll in? Not so fast. Landry says you have to do a “ton” of marketing and promotion to even get noticed. Marketing, though, generally doesn’t come naturally to techie types. That’s why Steve Wozniak had Steve Jobs, why Bill Gates had Steve Ballmer.
No less an authority than Gartner weighed in on the subject. In a 2014 report, Gartner said less than 0.01% of consumer mobile apps will be considered a financial success by their developers through 2018. In the words of Ken Dulaney, vice president and distinguished analyst at Gartner, “There are so many applications that are free and that will never directly generate revenue. Gartner is forecasting that, by 2017, 94.5 percent of downloads will be for free apps.”
Of course, there will always be the one app that just happens to go viral on its own, but it’s not the sort of thing that one can plan. “It’s something you can hope for,” Landry says, “but, you cannot build a strategy on hope.” Talk about a dose of reality.
“Discoverability is a real challenge. If your app is not among the top 50 in its category, the chances are it will never be downloaded,” Landry says. That’s certainly a sobering dose of reality. According to Statista, as of May 20, there were 1.5 million apps in Google Play, 1.4 million in the Apple App Store, 360,000 in the Amazon Appstore (who knew?), and 340,000 in the Windows Phone Store.
He adds that 17% of independent developers generate no revenue at all from their apps while another 18% make less than $100 a month. In other words, if you’re in it for the glory and experience, have at it. Revenue streams, not so much.
But, you still have your dream. Go for it. Landry isn’t trying to talk you out of anything. He is, after all, a mobile app evangelist. He simply wants to be sure you understand the rules of the road. Write that app. Go through the testing and vetting process. Watch it go live then impress your friends. And us. We’d like to hear from you. Share your app store development challenges and successes.
Update on July 9: Reuters is reporting that yesterday’s New York Stock Exchange computer outage was caused by a software update. According to Reuters, a spokeswoman for the NYSE said the root cause was a “configuration issue.”
Original blog post on July 8:¬†Today was a rough one for enterprise IT. The New York Stock Exchange came to a screeching halt. United Airlines was directed by the FAA to halt all flights systemwide. And the Wall Street Journal’s website was down for much of the day. Suffice it to say that Wednesday, July 8, 2015 will not soon be forgotten.
United’s woes were blamed on a bad router. We’ll save the discussion of hardware and communications redundancy for another day. As of this writing, no reason for the Journal’s outage had been made public.
And then there is the NYSE. Turn on any news program or read about it online and you’ll learn what happened: a computer glitch. I can’t think of anything more annoying. Or more wrong. Let’s be very clear about this one thing: There is no such thing as a computer glitch.
Systems go down for only three reasons. First is hardware failure. We all understand that. Routers fail, servers fail, a drive crashes, the power goes out, squirrels chew through power or communications lines, lightning strikes, or something else. Redundancy should reduce the vast majority of incidents to a momentary blip during a cutover.
Second is sabotage, hacking, denial-of-service attacks, or some other deliberate action. No further explanation needed.
Third is that glitch. The problem is that glitches don’t exist. They never have. And the general news media doesn’t understand that. Computers or devices are very stupid, they can do only what they are instructed to do. You and I have a word for those instructions — software. If the software is poorly written, fails to test for all conditions, has security holes, contains faulty logic, or was installed or configured incorrectly, the program and whatever hardware it’s running on may behave in an unexpected manner or produce undesirable results. I don’t want to say “wrong” or “erroneous” results, because the software is functioning exactly as written.
It doesn’t have to be servers or networks. My DLSR cameras have been known occasionally to perform in a way that defies explanation. But, then along comes a firmware update, and all is well. Until the next time.
What’s your take on glitches? Share your opinion; we’d like to hear from you.
No two IT infrastructures are alike. We all know it’s true. Tiny differences in applications, configuration, or patch status pretty much guarantee that no two “identical” servers can ever be exactly alike. Similarly, no two integration projects are alike. Choosing the right tools for integration projects varies widely, even for different corporations that run the same software. Choose carefully, says Forrester principal analyst Henry Peyret.
“The integration landscape is changing under cloud, mobile, and IoT,” he says. That means new and continually changing requirements inevitably lead to integration scenario complexities. What was true yesterday might be just a little bit different today. You already know that if you’re rolling out weekly updates to a mobile app.
“This complexifying integration landscape is challenging the existing integration strategic investments like ESB (enterprise service bus), EAI (enterprice application integration), and ETL (extract, transform, and load).” Even though “complexifying” wasn’t in my spell checker, what Peyret says is crystal clear.
It’s not just cloud, mobile, and IoT. It’s about which specific applications you’re trying to integrate, whether they reside on-premises or in the cloud, and which data sets they need to access and share. These are all complicating — or complexifying — factors. Add security and access considerations to the mix, along with data sovereignty requirements, governmental mandates, and corporate governance rules, and you can get in the middle of a serious challenge very quickly.
So what does this mean for integration tools makers? A lot. It means the tools have to adapt nearly as fast as your company does to ever-changing market conditions. Says Peyret, “The tooling market is facing multiple convergence between cloud and on-premises (creating hybrid integration), convergence of data, and event-based interfaces, such as batch and event in a single integration solution.”
The first consequence is that there are multiple new offerings available, but not all are adapted to support what Forrester characterizes as dynamic Integration. What do you need to do? “Companies should plan for tactical choices today which have the potential to become strategic investments, but they should not expect to get one single solution for all their integration scenarios,” says Peyret.
And there it is. No one tool is likely to meet all of your application- and data-integration requirements.
Have you found this to be true? Which tools did you choose and what consideration drove you to that decision? Share your thoughts; we’d like to hear from you.
At the Red Hat Summit, in addition to announcing that its¬†OpenShift Enterprise 3 private PaaS is now in wide release, Red Hat took the wraps off of a¬†beta version of OpenShift Dedicated, a totally new public cloud service based on the OpenShift 3 platform.
There’s no announced target date for release, but Red Hat is currently accepting online applications to participate in the tech preview.
The Red Hat team said that Dedicated¬†uses the same code base as OpenShift Enterprise 3. The main difference is that OpenShift Dedicated is hosted on the public cloud and managed by Red Hat. In comparison, OpenShift Enterprise 3 subscriptions entitles businesses¬†to host and manage the software in the¬†infrastructure of their choice.
This service builds on the OpenShift Online public PaaS platform, but adds the ability for¬†businesses to ¬†build, launch, and host applications in the public cloud by offering enterprises a dedicated instance of OpenShift¬†that’s managed by the OpenShift operations team. As the Red Hat folks put it,¬†OpenShift Dedicated “brings the power and flexibility of OpenShift 3 to the managed public cloud.” It’s hosted on AWS.
Stand in any hallway during the Red Hat Summit in Boston this week, and you were likely to hear the c-word. Containers. And the d-word, too. Docker. Those two words seemed to get people more revved up than the energy drinks I saw being consumed everywhere, too. (The p-word, Python, wasn’t that far behind.) None of this is lost on Red Hat, of course. The company responded with its big announcement of general availability for¬†OpenShift Enterprise 3, its enterprise-ready Web-scale container private PaaS. It’s based on Docker format Linux containers, Kubernetes orchestration, and Red Hat Enterprise Linux 7, providing full support from the operating system to application runtimes. (Version 7.2 of Enterprise Linux is not too far away.)
Of the three flavors Red Hat offers for OpenShift, this is the one that changes the least¬†and is likely the logical choice for corporate cloud app development. OpenShift Origin, the free community PaaS is where changes and updates first get posted, and that can be dozens over the course of a month. Though it’s a great way to get started, it’s ultimately not where businesses will want to be. In the middle is OpenShift Online, operated and supported by Red Hat in the public cloud.
So what is Red Hat doing in OpenShift Enterprise 3? It delivers a container-based application platform based on Docker and powered by Red Hat Enterprise Linux. The idea is to provide a secure, efficient, and portable way to develop, deploy and run application services. OpenShift users also get access to a pretty big¬†ecosystem of vetted, secure packaged application components, thanks to¬†Red Hat‚Äôs Container Certification Program.
OpenShift Enterprise 3 includes the Kubernetes the open source, container orchestration and management engine developed with Google. What’s interesting is that with Red Hat as a contributor¬†to both the Docker and Kubernetes open source projects, it’s eating its own dog food.
After sitting through more than a half-dozen one-hour sessions over two days, OpenShift was right at the top of those hallway conversations.
Shawn Zamacheck, a research developer at the Wharton School in Philadelphia is a fan, and a user. He uses OpenShift for creating research surveys. He looked at competing PaaS offerings, including Heroku. AWS didn’t have anything suitable a couple of years ago when he was looking around. He settled on Red Hat mainly because it was stable and supported a wide swatch of technologies.
At the Red Summit this week in Boston, I had a chance to do an extended sit-down interview with Jim Ganthier, Dell’s vice president and general manager of engineered solutions and cloud. For a¬†guy who works for what we all picture¬†as primarily a hardware company, he had very little to say about hardware. Very little. These days, it’s about cloud, it’s about services, it’s about open source, and it’s definitely about partnerships with Red Hat. In¬†the spotlight on this morning was Red Hat’s OpenShift PaaS.
For enterprise customers seeking a services-based cloud solution, Dell’s services organization has been working on a new solution for public cloud. It’s built on a Dell-branded OpenShift platform and aims to deliver deployment, migration and management of the operating system and applications via an OpenShift Online platform. Red Hat is not just a bystander to this; the company will manage this all-new PaaS environment. Ganthier told me this is the first Dell-branded PaaS platform designed specifically for Red Hat.
In an interesting side move, Dell Services is also joining the Red Hat Global System Integrator Program. That’s a program designed, to use Dell’s wording, “for partners that¬†demonstrate leadership, unique capabilities and commercial relationships with global enterprise customers.”
It turns out that Red Hat and Dell go back a long way together: Dell was the first computer maker to pre-install Red Hat Linux.
Ganthier had plenty to say on other topics, too. He’s very hot on the idea of “cloud repatriation.” We’ll examine that in another blog post.
It’s becoming apparent that 2015 is a year in which we’re being showered with cloud and mobile development tools from all sides. It seems new tools are being announced weekly. One of the companies that has become quite aggressive is HP. That’s a really good thing to see. I hadn’t been sure what HP wanted to be, but the company is¬†clearly going back to its roots as a supporter of developers and development technology.
Following other¬†tools announcements earlier this year, the company in June launched HP LeanFT, ¬†a new functional test automation solution. It allows software developers and testers to leverage continuous testing and continuous delivery. This means you can rapidly build, test, and deliver secure applications. This is exactly the sort of thing that is increasingly important as organizations strive to achieve faster time to market without sacrificing quality. While “fail fast and fix” does have its devotees and may be fine for non-critical consumer-oriented entertainment apps, it’s not going to embraced by developers of corporate and commercial apps that have no room for error.
Someone who had hands-on with LeanFT during its development is¬†Jonathon Wright, director of testing and quality assurance at Hitachi. “With Agile and DevOps, there is a strong focus on continuous testing and continuous delivery. This means there is more emphasis on testing much earlier in the software development lifecycle,” he said. ¬†He’s certainly right about the testing aspect. “HP LeanFT is built for continuous integration and continuous testing to help software developers and testers rapidly build, test, and deliver secure, high-quality applications.”
Well, sure, there’s a little marketing-speak in that last sentence, but Wright is corroborating the theme I’m hearing more often: continuous testing and continuous delivery rules the day. HP designed this to fit into existing ecosystems (such as Microsoft TFS, GIT, and Subversion) and frameworks that support test driven and behavior driven development.
To simplify testing, LeanFT provides project templates for standard unit-testing frameworks, including NUnit, MSTest and Junit. The idea is to improve collaboration and alignment between software developers and test automation engineers. And let’s face it, we’ve probably all seen situations where that collaboration can use a little boost. What HP is aiming for is a reduction in the time needed to test applications. That, in turn, should help developers to predict and identify defects earlier in the software development lifecycle.
HP LeanFT is currently scheduled for availability in July. HP Unified Functional Testing 12.5 and HP Business Process Testing 12.5 will also be available in July. It will be interesting to see what else HP has up its sleeve.