Web vs. native may be one of the biggest debates in the software development community. From a cost perspective alone, it seems like web will always win, but there are a lot of factors to consider when it comes to making your own decision about which development path to take.
In this article developer and consultant Mark Betz provides a great look into the mindset that goes into making the decision between developing web apps and deciding to go native. As he points out, the explosive diversity of devices available means that developing natively for each type of operating system is almost always going to be the most expensive way to produce apps. On the other end of the spectrum, HTML5 web apps may often be the cheapest.
But is there is a compromise that can help you avoid having to pick a side in the web vs. native debate, and that is to go hybrid. Hybrid apps, he says, are responsive web apps contained within a native binary hosting a web browser control. As opposed to using just HTML5, developers can have more control over the app’s lifecycle and provide the slick user experience that they would hope to achieve with native. However, it wouldn’t be a compromise without compromises: This method still requires developers to know the native languages to create and maintain the wrapper apps.
If you’re not interested in a compromise and simply have to choose one or the other, author Priya Viswanathan provides this list of the pros and cons of each approach. Some of the standout things on this list include:
- Native apps get full support from the concerned app stores and marketplaces. This makes it easy for users to find them.
- Also, because native apps have to get the approval of the app store they are intended for, the user can be assured of complete safety and security of the app.
- However, the process of getting apps approved at an app store can be a long and tedious process that may still end in non-approval. Also, there is no guarantee that the app becomes popular.
- Web apps can be manipulated and made compatible with older mobile devices.
- Since web apps do not need to be approved by a marketplace, they can be released at any time per the developer’s preferences.
- Mobile web apps only have limited access to a mobile device’s features.
- And since there is no standard quality control system for web apps, safety is not always guaranteed.
Both authors lay out the critical considerations you must take in regards to your own application needs and development capabilities when choosing to go web or native, including what you need the app to do and what you can afford. Opinions abound in the web vs. native punch-out, and there are convincing arguments in both corners. But remember that the decision doesn’t boil down to the opinions of the community – it comes down to what’s best for you.
There’s plenty of evidence that BPM technology and government agencies are getting along better than ever. This article from Government Technology talks about some of the ways the governments can benefit from adopting BPM software, including automating manual, repetitive processes; using existing systems and data to provide Web-enabled solutions; improving cross-agency, citizen and employee services via online access; and complying with legislative mandates to improve citizen access and reduce complexity.
So why does the government need BPM? Two reasons, as the article points out. First, it will allow governments to satisfy citizens who want the “private sector experience” (quick, efficient and customer focused) in their public sector affairs. Second, it satisfies internal demands for better cross-collaboration and information sharing within the government.
And vendors are certainly responding. The Millennium Group showcases BPM software that they’ve tailored just for the government, and has a history of working with US agencies such as the Department of Homeland Security, the EPA, NASA and the Social Security Administration. Appian has created a low code tool for government app development and features customers such as the USDA, the FDA and the Library of Congress.
Unfortunately, government and BPM don’t always get along. Sometimes, actions or even just words uttered by public officials can significantly affect markets, and the BPM market is no different. Recently, Rodrigo Duterte, President of the Philippines, made some comments suggesting an interest in making a “separation” with the United States. Heads of BPM technology companies in the Phillipines — a $25 billion industry that currently employs 1.3 million people – freaked, worried that they were about to lose an international business partner that accounts for 77% of their business. Government officials were quick to reassure those businesses that all existing contracts and investments would be kept intact, and that any action taken to create distance between the Philippines and the US would not impact business. But even just a few words uttered by a president can send shockwaves through an industry.
One final idea comes to my head when it comes to combining the government and business process management. There are those who believe that the public sector shouldn’t be run in the same way as a business is in spite of arguments that it would increase efficiency and make citizens happier. At this point I may be just hyper-focusing on terminology, but it does make me wonder if we really should be talking about BPM in a government context at all. Obviously steps should be taken to fix and optimize broken and inefficient processes, but I sincerely hope that vendors are not or won’t start simply rebranding BPM software meant for the private sector as a solution for the public sector.
If there’s one thing the business tech community is fond of, it’s adding letters to acronyms. We’ve seen it with things like iBPM, MBaaS and DevSecOps. It looks like we may have a new one in our midst: digital business process management, or DBPM.
So what is DPBM?
This is what an article found on ComputerWeekly has to say about how to define DBPM:
“Modern DBPM will integrate IoT and smart contracts to enter a new paradigm. The business strategy behind a DBPM will deliver dramatically shorter cycles with continuous improvements and enhance the efficiency of products and services to the benefit of a rich and seamless customer experience.”
While that definition may leave the reader wanting some more specifics, it clearly implies that the lines behind improving BPM and becoming a digital business are thinning; perhaps even to the point of non-existence, with things like IoT, automation and analytics achieving the ever-growing interest of businesses. Whether you call it DBPM or just plain old BPM, digital transformation should be on your mind.
The role of blockchain
If there is one unique thing about DBPM, however, it is its implied relationship to blockchain technology for the use of “smart contracts.” Once seen as just a “Bitcoin thing,” blockchain has made its way into mainstream business conversations as a way to streamline access to data and secure financial transactions. This article on DBPM provides examples of how blockchain-enabled smart contracts, also known as decentralized ledger technology, can enable automated processes for the delivery of services and payment for those services using (if, then) logic.
But wait — should we be so quick to think that blockchain is a no-brainer for businesses? Not necessarily, as is pointed out in this blog from LegerX. According to the author, blockchain technology is nothing more than “an unwieldy data structure that is over replicated, slow to memorialize transactions (yes, slow, despite what is often reported in the press), and extremely expensive to maintain from an energy and cost perspective.” While it may be trendy to talk about using blockchain, it may be worth considering if the technology actually has a place in your business. Most businesses, the author argues, are better off sticking with the shared databases they have always depended on, provided they trust everyone within their organization.
DBPM — Business as usual?
So where do we draw the line between DBPM and regular BPM? I suppose it’s up to businesses to decide for themselves how they describe the management of their own business processes. But no matter what you call it, it still makes sense to take a critical look at your business’ digital processes — especially those revolving around automation. In that case, I suppose DBPM may simply mean just practicing good business as usual.
Here at SearchSOA, we’ve got an eye on BPM. And this month, that’s our editorial theme. In light of that, here’s a look at a few interesting developments in the BPM world that have occurred recently.
Indian BPM market aims for $50b in revenue by 2020
Looking for growth in the BPM market? Look to India. Leaders in the space have set a goal to increase this market’s revenues to $50 billion by 2020. This is a big goal. But keep in mind that India makes up a huge part of the global BPM market with over 2500 firms and 1.1 million people employed.
Growth in this sector is attributed to things like digital transformation and process automation, which are changing the nature of BPM. A BPM provider is no longer just a platform to outsource work to. It can act as a significant source of strategic business advantages.
IoT needs BPM
Interested in IoT? Without BPM, it might be useless. For enterprises, BPM will essentially act as the directives for IoT. Without it, you risk owning a technology without a purpose. In that case, it might be useful to ensure that you have a solid and consistent method for BPM and business rules management across your company before diving headfirst into IoT.
Be careful though. As writer George Lawton points out in his prediction for enterprise mobile development in 2016, it might not yet be the time to put all your chips in on IoT. There are certainly advancements to look forward to, such as a surge of CRM systems merged with IoT. But its focus has been largely on vertical markets (think FitBits, Nest) and not so much on general enterprise management.
Is your city doing BPM right?
Talking about using BPM to improve government processes is not a new thing. The BPM world has been on the US government’s radar for a number of years now. We’ve previously explored how the government is making use of big data analytics, something that begs to have some kind of BPM strategy attached to it.
And this is happening at the municipal level as well. The Frankston City Council of Victoria, Australia, recently invested in BPM technology that could help them revamp inconsistent, non-standardized processes, particularly in delivering community services and figuring out ways to increase land value of certain areas. This is being done with Promapp, a cloud-based BPM solution provider that’s had its name featured alongside companies such as Toyota.
It will be interesting to see how some of these predictions affect BPM technology and the market in the end of 2016 and into the next year. What else is happening in the BPM world that has your interest? Let us know with your comments.
It’s safe to say that many of those who have decided to take the path of pair programming believe in it zealously. In a tip published over at SearchSoftwareQuality.com, Kim Barnes, a senior software engineer who got her first dose of pair programming at Oracle (then Sun Microsystems) in the early 2000s, strongly credits the practice for helping to produce better code, encourage learning, create better teachers and, overall, promote more team bonding.
But is pair programming all its chalked up to be?
For all the people on board with pair programming, there are still plenty who question the effectiveness of forcing programmers to work together. Take Jon Evans from TechCrunch, who cites evidence that people are, in fact, more creative and productive when working alone — whether it is coding or writing novels. However, he also presents evidence that suggests that while people may be more productive and creative when alone, working with others can help you think in ways you wouldn’t on your own.
As Evans points out, the best route is to find a careful balance between solo, pair and group programming. In fact, he describes one of his preferred team structures to be a situation where one person is the “primary” coder and the other is a “secondary” coder. They can program as pair at first, but later in the game the primary takes on most of the heavy programming while the secondary spends their time “sanity-checking the primary’s code and building bite-sized subsections.”
Pairs prevent problems
At the end of the day, however, it seems like pair programming has the vote of the people. Even developers who prefer to work alone have admitted that the benefits of pair programming are clear, as shown in this post from DZone. In it, Sam Atkinson, explains that companies should try to avoid the problem of the “10x developer” — a developer who knows and can build way more than anyone else on his team. The problem with this, he points out, is that if that 10x developer creates and maintains entire systems on their own, the other developers may not have any idea what to do with them if that developer decides to leave.
In the meantime, if you have a successful pair programming routines in place, Byron Sommardahl from Awkward Coder has ten effective suggestions for ways you can run that process into the ground.
What should we make of Google’s acquisition of API management solution provider Apigee? Is it the forging of a game-changing alliance? Is it a mission of mercy to save a company that, according to Suraj Kumar of Apigee’s competitor Axway, has struggled to gain traction in the market? Or is it simply an attempt by the technology behemoth to gobble up market share as fast as possible?
Whatever it is, it says something about business attitudes towards APIs. While not a huge transaction, it was a big one for Google and begs the question of why they were eager to get their hands on the company. In this space, they are lagging behind competitors like IBM, Oracle and AWS, but someone must have decided that Google had no choice but to get in on the API game for a $625 million buy-in.
Either way, it is refreshing that the value of APIs is finally garnering attention. Too many companies have doled out money for things like EDI VAN services when a simple API is capable of doing the same thing. But it seems that the promising abilities that APIs have demonstrated in connecting mobile apps, especially in the global communication space, is what has caused businesses to turn their heads.
It will be interesting to see where this partnership goes, as well as whether the prediction by Forrester analysts that the market for API management solutions will quadruple by 2020 comes true. In the meantime, maybe this can serve as a reminder to take a look at your own API management strategy.
What are your thoughts on Google’s acquisition of Apigee? Let us know with your comments.
These days, passengers have to be worried about more than one kind of crash when they travel. Over the past two months we’ve seen two major airlines, Delta and Southwest, experience huge computer system crashes that resulted in flight delays, frustrated passengers and revenue losses totaling in the billions.
The two computer crashes had unique origins — one was a power problem and the other was a router problem. However, it seems to me like Southwest and Delta are both guilty of the same thing: they weren’t ready.
While some were blaming local power utility companies for the Delta computer crash that left tens of thousands of customers stranded earlier this month, the airline’s representatives ultimately admitted that a power control module failure cut off power to the main computer network. And while there were backup systems in place, some critical backup systems didn’t kick in, resulting in halting instability.
Some experts speculated that this was the result of years of acquisitions complicating computing systems by creating patchwork systems that may or may not integrate with each other smoothly. However, this has been debunked as Delta spokeswoman Susan Hayes confirmed that Delta has always relied on a single computing system. No, this is just a question of unpreparedness.
There is an added problem: A lot of Delta’s computer systems are just old. Antiquated technology just can’t perform at the same rate as newer software and hardware, which could be why some of those systems didn’t start back up — they were just too old for the backup system to handle.
Now let’s talk about Southwest. According to the company, the crash was the result of a router failure. Did the router have a backup system in place? Yes, however the router only experienced a “partial failure,” meaning that the backup system was not alerted to start up.
The first thing that bothers me about this is the explanation. I understand that the backup system doesn’t get alerted unless the router experiences a complete failure. But why? Why isn’t there a backup router that can be used in case anything goes wrong with the router? Wouldn’t that make sense?
The other thing that bothers me was the reaction of Southwest CEO Gary Kelly, who equated the company’s delay causing router failure to a “once-in-a-thousand-year flood,” in that it was a partial failure of the router, something he said they could have never seen coming. Kelly also said that the partial failure “isn’t a drill you can run.” I don’t understand why this is a drill that you can’t run. If you can test a complete shutdown of the router, why can’t you test what happens when only part of it fails? Also, isn’t the point of a backup system or plan to be ready for the unexpected? I doubt they would regard a critical system failure in an airplane with the same sort of “well, it happens” attitude.
Could both of these airlines have taken steps to prevent this from happening? It’s possible that if they had run a complete test run of their backup systems, they would have known ahead of time which ones would start up correctly and which ones cause trouble. However, I’m not unsympathetic to the plight of those tasked with running an airline’s computer systems. The problem with the airline industry is that it never stops. It doesn’t seem like IT personnel don’t get the luxury of “off hours” when they can perform elaborate security and backup checks on their systems. People have to fly all day, every day.
But doesn’t something have to be done here? Computer systems are getting more and more complicated. Over three billion people fly per year. Can we just expect things to stay the same and for more computer crashes to occur? Will these airlines pony up the cash to replace legacy systems? Will they do that at the cost of forgoing upgrades to their planes? I don’t know about you, but I’d prefer a computer crash to the traditional kind when it comes to flying.
Software engineers, developers, testers and other experts: What should Southwest and Delta have done? What should they do now? I’m interested in your thoughts, so let me know with your comments or via email.
What will I learn? Will it be fun? Should I leave my iPhone at home?
These are the things we want to know about AnDevCon Boston 2016. So we spoke with Katie Flash, director of conference programs at BZ Media (the coordinators of the conference) about what this year’s AnDevCon will be like.
The event, which has been running since 2011 and will be hosted at the Boston Sheraton, is designed to help developers working with Android learn about important software and tools, acquire new skills and get valuable hands-on experience. According to Flash, they hope that this conference will “continue the education of the Android development community” and help enforce its status as a credible source of learning and information about the Android platform.
“Not only are [attendees] learning high-level skills, there’s a lot of hands-on content,” said Flash, adding that developers will have access to code that they can bring back to the office and gain “actionable insights that they can use immediately.”
Flash said that another key feature of AnDevCon is their focus on providing info about new developments in popular software and integration tools. This year, she said there is a heavy focus on Firebase, a backend as a service that was acquired by Google and is making efforts to become a unified app platform for Android, iOS and mobile web development.
To provide unique insight into Firebase and other Google-based tools, Flash said that for the first time AnDevCon is featuring the “Google Learning Zone.” This is a dedicated space where developers and representatives from Google will be available to share information about and provide demonstrations of their projects and products. Developers will also get the chance to “roll up their sleeves” and try out the tools for themselves, she said.
Flash said that this is unique because Google personnel have been perceived as distant from their customer base in the past. The Google Learning Zone gives those customers and potential customers a chance to connect with the company and get answers about products, such as Firebase, straight from the source. This includes hosting “Office Hours” all day Tuesday, where attendees can meet one-on-one with Googlers to ask their most burning questions about development.
“For a long time, they weren’t really accessible,” she said. “Now people can come down and talk to the people that are actually developing [the products].”
Flash said that enterprise developers will definitely benefit from this conference in addition to those that develop independently or for small companies.
To cater to enterprise-based attendees, Flash said that they are offering sessions such as a two part series on Tuesday titled “Enterprise Mobility Management with Android for Work.” Flash said there will be numerous enterprise-centric topics covered in other sessions, particularly scaling at the enterprise level and security. Of course, there will be plenty of sessions geared towards smaller-scale developers as well.
“Our attendees really run the gamut of developers,” Flash said. “There really is something for everyone.”
Flash also said there will be a number of special events running in addition to the sessions that developers and other attendees should watch out for, including two hack-a-thons: one centered around Firebase and another hosted by the technology company Zebra which features its TC8000 enterprise mobile touch computer.
Another cornerstone event that Flash said is a staple at AnDevCon is the Women in Android luncheon, led this year by members of Girl Develop It Boston, a nonprofit organization committed to providing development training for women. “It’s a really great platform for these women to come together and share ideas,” she said.
Finally, Flash highlighted the “Fireside Chats (without the fire).” This is an afterhours event where Android experts and “Googlers” will lead a casual conversation about Firebase, but she said it is also a “time for people to hang out and be laid back.” Winners of the hack-a-thons will also be announced at this event.
Stay tuned for more coverage of AnDevCon Boston 2016.
So your Agile teams aren’t working as efficiently as you’d like. Maybe you have specialists spread too thinly through your teams, or your product is just to big and broad for a traditional organization. It’s SOA and Legos to the rescue — really.
At an Agile 2016 seminar in Atlanta this week, speakers Catherine Louis and Raj Mudhar presented their ideas to make Agile team reorganization easy and visual. The concept — “Whole Team Dynamic Organizational Modeling” — is a bit of a mouthful but it’s based on service oriented architecture principles. And it uses Legos, paper, Sharpies and your imagination.
Louis and Mudhar asked each table to decide on a problem, then create a key where each color Lego represented a part of the team. At our table, white Legos were DevOps folks, purple were DBAs, etc. Then the idea is to simply create a Lego team and see how it works by doing some creative role playing. Using the Sharpie you can actually draw how communication and requests happen between teams and you’ll almost instantly see why something works, or doesn’t. In some teams a single team member may wear several hats (scrum master or acting product owner) and it’s easy to see that because one Lego is covered by another.
The service oriented architecture comes in at this point because for most companies, a single “team” really can’t have every skill needed. So by creating “pools” of scarce talent (again using Legos), you can visualize how those pools can be used by the teams to improve the flow.
The participants at our table agreed that this low key and fun strategy might be a good way to broach the subject of reorganization without putting stress or pressure on anyone. If you’d like to learn more about using SOA (and Legos) to reorganize your team, Louis and Mudhar have a website with resources.
If Pokémon Go was the bubonic plague, we’d all be dead. Even if you’re not playing yourself, you’re probably in a room with someone who does. At the time that this post is being written, current estimates float somewhere around 9.5 million daily active users.
Some enterprise mobile app developers must look at this phenomenon and think “if that many people will pick up Pokémon Go, why can I not get users to adopt my company’s mobile app?” Often times I hear about unwillingness amongst peers in my office to download mobile productivity apps because it’s either too complex, not reliable or they simply don’t want the app on their phone. But Pokémon Go seems to attract users so much that even my technology-phobic mother — who is the furthest thing from a Pokémon fan — wants to play the game.
Niantic is a relatively small company that has managed to create one of the biggest mobile apps of all times. A Huffington Post blog post talked about how Pokémon Go may be fundamentally changing the application development scene. Maybe enterprise mobile app developers can use some of these ideas to increase adoption of their organization’s mobile apps.
I’ll be the first to admit that all of these ideas are pretty idealistic, but maybe it’s worth at least just thinking about.
Learn what makes users happy
Surely one of Pokémon Go’s strongest building blocks is the fact that Pokémon established itself as a cultural craze once before. I’d imagine anyone who says they’ve never at least heard of a Pikachu today is either lying or has been living in forced quarantine for almost two decades.
Of course, a mobile enterprise app is never going to be able to compete with Pokémon’s established pedigree. The point is that the desire for anything Pokémon existed before the app — the app simply exploited it. While everyone is absolutely enamored with the app’s unique GPS and virtual reality features, I’d imagine a lot of those people simply wanted to play Pokémon on their phone.
Ask yourself: What do your users really want? And how can you build an app that scratches that itch? For instance, perhaps people within your company are constantly frustrated because they can’t find certain areas or meeting rooms. Maybe it’s worth creating a GPS-enabled mobile app that can provide real-time walking directions to locations in the office.
The learning curve aspect
As the HuffPost piece pointed out, Pokémon Go nails the learning curve. It’s simple enough up front to get people into it, but offers plenty of complex features to players to look into once they are familiar enough with the app.
There’s a fine line to walk with apps: It has to be complex enough to meet the business need, but not so complex that it makes users tear their hair out. So, is your organization’s mobile productivity app easy to use from the get-go, or do they have to sit down with IT countless times to get things to work? Maybe it’s worth considering the inclusion of a simple tutorial for the apps basic functions. Then users can pick up the more complicated functions as they move along.
The social element
The HuffPost piece also talked about that the social aspect of Pokémon Go is drastically impacting its adoption and use. You can join teams, help each other out, look for Pokémon together and more. This turns the use of the app into a larger social experience.
Is there some way this same kind of social aspect could be weaved into an enterprise mobile app? Is there any way that the app can encourage collaboration between team members, or reward them for linking up with other users? Can it help facilitate the creation of a team, like Slack does with its groups? Maybe turning the app into something that people can use together can turn it from a technological burden to a blockbuster.
Is this worth looking into? Are my ideas just totally out of the scope of reality? Let me know with your comments.