Credits : computerweekly

Credits : computerweekly

 Mobile users have high expectations, and there is no such thing as one size fits all. We look at how this affects mobile app development

Many organisations see mobile applications as a great way to engage with employees, consumers and individuals from other businesses. Mobile app development has moved from being an afterthought or lightweight mobile version of a traditional application to a mobile-first mentality.

Mobile users have high expectations, and there is no such thing as one size fits all. Many will use different device form factors – smartphones and tablets – and a mix of operating systems, sometimes interchangeably.

This has a profound effect on mobile app development. Mobile apps will not only need to be available on a given user’s preferred device, but also work consistently across different devices.

Apps also need to deliver value to users and be engaging, which means mobile app development should encompass innovative and unusual areas beyond traditional application development.

Smarter focus on the user

The user comes first. Much emphasis has historically been on aesthetics and look and feel, but this is now shifting to usability, effective interaction and the overall user experience.

To improve usability and engagement, some of this interaction is moving beyond the traditional small mobile screen into virtual and augmented reality (VR and AR).

Although the immersive nature of VR has long appealed, it was AR which had a big boost in 2016 with the popularity of Pokemon Go. Despite sounding similar, VR and AR have entirely different purposes and require completely different thinking from a developer perspective. The impact of AR is likely to be broader than VR as it can be added to so many applications and does not force users to become immersed, but simply assisted as their physical and digital worlds overlap and can therefore be applied to existing mobile devices.

Products in this fast-paced and embryonic area come and go, even large ones such as Nokia’s Here, and there are probably more open source projects than proprietary AR development toolkits, such as ARToolkit and development specialists such as Azoft that can help with the integration of AR. HP’s Aurasma, Blippar and Wikitude provide end-to-end capabilities with maturing software development kits (SDKs) for app developers to use.

Putting mobile into context

It is not only the front end of mobile applications that are changing. At one time, the focus for mobile context revolved around location and the opportunity for location-based services, which in some respects has morphed into appetite for AR. Now there is greater emphasis towards a broader contextual understanding that exploits the sensory reach of the mobile device environment in combination with the power and capacity of big data in the cloud. Combining this with remote capabilities to exploit artificial intelligence (AI), machine learning and what is sometimes termed ambient intelligence (AmI).

AmI often makes an appearance as personal assistants and chatbots in many scenarios, but there is no reason why intelligently supported mobile interaction should not be used in mundane activities – simplifying communications overload from email, for example – or enhancing enterprise applications.

Already, Microsoft has integrated its Intellisense into Visual Studio, and Amazon Web Services (AWS) recently announced Amazon Lex integration. While Apple’s Siri, Microsoft’s Cortana and even Google Now have struggled to gain more than geeky adoption, Amazon’s Alexa has really taken off and is already being touted for business applications. This will have an impact in mobile application development as voice-initiated applications spread.

Emphasis on user experience will often benefit from an agile approach to software development, with prototyping and user involvement as early as possible. Rapid prototyping and citizen development where non-programmers can turn business ideas into mobile applications shifts the attention to quickly generating value. There are a number of “low code” or “no code” platforms targeted at non-technical app builders, which use a mix of rapid prototyping and cloud-based back-end services, such as Appery.io, MobileSmith, K2, Kony’s Visualiser, Mercato KnowledgeKube, Mendix and OutSystems. These approaches make it easier to match functionality with need, and free up time for others to address some of the more technical development challenges.

Engineering the mobile experience

Despite all of the gloss required to make mobile applications engaging, they must still be engineered to work on a range of devices – producing applications that run effectively across multiple platforms is the eternal developer challenge. Mobile makes life harder with the range of device types and operating systems, limited and variable-sized screen real estate, intermittent network connection and user expectations of a simpler experience.

Managing a series of different variants for different platforms is a challenge. While universal “write once, run anywhere” platforms such as Java have been around for some time, the reality is a little more complex. Not only do operating systems and platform application programming interfaces (APIs) vary, but native programming languages do too; Java on Android, Objective C on IoS (although Apple’s new language, Swift, will grow this year) and C++ on Windows Mobile. However, there are four primary mechanisms through which mobile cross-platform development can be easily achieved: mobile-styled web apps, hybrid apps, cross-compiled apps and back end as a service.

• Mobile-styled web app: With a far more settled HTML5 standard, JavaScript and Cascading Style Sheets, and tools such as Sencha, this is a quick way to blur across the differences in platforms, but ultimately not as functional as alternatives and with less control for the developer.

• Hybrid app: An expedient combination of native and web development approaches, originally popularised by PhoneGap, where a lightweight native app launches an embedded browser. The open source Apache Cordova is the common starting point for PhoneGap but also for other hybrid tools such as Telerik and Ionic.

• Cross-compiled app: Here, products such as Xamarin (owned by Microsoft), Appcelerator or 5App enable developers to write code in one language and then convert to native code for the target mobile devices. Native is best for ultimate performance – generally vital for gaming, less so for most enterprise apps – and it also gives complete access to the features and functionality of the underlying platform. Others, such as RubyMotion, use Ruby and then compile into native applications.

• Back end as a service: This is a relatively recent trend, to offload much more business logic into the cloud. Some, such as Kai, AnyPresence or Kumulos, will work well for independent developers. Others, like Kinvey, are targeted at the enterprise. Among the larger cloud players there is also AWS with its Mobile Hub and Lambda, Google has CloudFunctions, and IBM’s serverless initiative with OpenWhisk.

While focus on the mobile user is important, and may now be a primary rather than secondary focus, many enterprises will require applications to function well across desktop as well as mobile device platforms. While there are many low-cost, open source and specific mobile-first and mobile-only tools, there are also more fully functional enterprise development platforms to consider, from Kony, Pega ApplicationMobility Platform (formerly Antenna) and the SAP Mobile Platform. These offer complete environments for development, delivery and management of mobile applications.

Making time for testing

The huge number of devices and operating systems variants with associated emulators creates challenges for testing, especially as users are unforgiving of problems and will quickly ditch underperforming apps. Software testing is often a bit of an afterthought in any event, especially when there is pressure to get quickly to market, and to be done properly testing needs to be carried out on real devices, not just emulators.

The only realistic way to do this is to automate as much as possible. Service providers offer one route, such as SauceLabs’ TestObject, Perfecto Mobile and Xamarin with its Test Cloud, offering cloud-based access to large numbers of real mobile devices. For those looking for automation to record a test process and then run it across different devices and languages, there are open source tools, plus offerings such as Sigos, Ranorex and Experitest’s SeeTest.

As well as functional testing, it is just as important to test the user experience, and often this can only be done in conjunction with users once the app has been at least partially released “into the wild”. This might include recruiting users into a usability or beta test programme with tools like Userlytics, Appsee and Applause, or viewing their facial and vocal reactions while they are using the app with something like UserZoom or Lookback.

There is also security testing, and the software vulnerability scanners have been adapting for mobile code, and additional services such as Veracode’s Mars (mobile app reputation service).

Delivering a seamless experience

Mobile applications have come a long way in the 20 years since the appearance of the Nokia Snake game. There are not only functionality and performance gains, there are new commercial models that have transformed what applications have become – less of a point product and more an element of a service.

Apple’s “there’s an app for that” slogan highlights the ubiquity of mobile, while Android’s “be together, not the same” indicates that there is commonality, despite variations in devices. Users expect a seamless and universal experience, but mobile app developers know they will need a lot of help along the way to deliver that.

Rob Bamforth is a principal  analyst at Quocirca.

Credits : Computerweekly

Credits : Computerweekly

Santander bank wants to make its staff more productive through mobile apps, which it will create alongside IBM.

Spanish bank Santander is working with IBM to develop iPhone-based mobile apps for its staff to help them engage better with customers.

IBM is also working with Apple on the project, and a suite of IBM MobileFirst apps will be designed using Apple’s modern programming language, Swift, for 11,000 Apple devices at the bank. These will be used by staff across the corporate, small to medium-sized enterprise (SME), private and retail banking operations.

IBM MobileFirst has mobile application development modules and application management capabilities.

Santander employees will have quick access to up-to-date information on products, services and clients, which the bank expects to help them make better recommendations to customers.

The apps are designed for employees working in Santander’s central offices and the banking network.

Apps will include a tool to help staff measure how they are meeting targets on products, customers and in certain regions. There will also be an app that provides mobile access to metrics to support risk management.

Javier Cuenca, ‎managing director of technology and operations at Santander, said: “Collaborating with IBM will help us accelerate our digital transformation and improve the client experience to anticipate customer needs.”

Every app will be integrated with Santander’s enterprise systems, giving staff quick access to real-time data.

Santander is using IBM’s app design and development model – Mobile at Scale – and plans to roll out the first the set of apps in April 2017. It will develop apps over the next two years.

“Santander is committed to reinventing how it conducts business, beginning with creating ways for bank employees to engage with business customers for an exceptional banking experience,” said Gareth Mackown, European mobile and Apple leader at IBM.

Credits : Techspot

Credits : Techspot

 

Aspiring mobile developers take note: knowing how to work with the most popular tools is key. That’s why Android is the ideal operating system for new developers to work on. Android is the world’s most popular OS and its capabilities continue to grow with each update. Pick up the Ultimate Android N Development Bundle, and you’ll learn how to work on the Android platform and leverage its new features to build new groundbreaking apps.

Featuring 5 courses, this training will help you take the first step towards developing on Android. You’ll start by getting comfortable with Android’s free development tools. Then you’ll dive into Java and start building your own projects. You’ll discover how to design app interfaces and scale images to show up correctly on any device. Then, you’ll get your hands dirty organizing data, building menus, and integrating your projects with other apps like YouTube. On more advanced courses, you’ll tackle XML, JSON, and learn how to use essential database tools SQL and SQLite.

Meant for beginner to intermediate programmers, with this Android N Development Bundle you can go from zero to advanced and you’ll only pay $39, that’s 90% off its usual $415 retail price.

Credits : Shutterstock

Credits : Shutterstock

 

Mobile web sites are a growing design issue. According to StatCounter GS, mobile web access has risen to 36.54% in the United States as of January 2017. Internationally, according to the same set of statistics, mobile phones have overtaken desktops as the primary means of accessing the internet by approximately 4%.

This means that companies seeking to reach customers need their sites to be easily read and navigated by smaller screens and devices that may not support Java or cookies. But what works best? And what should IT departments focus on when improving or developing mobile sites? Experts on the Forbes Technology Council have this to say:

1. Put Priority Content At The Top

Place high-priority content, such as phone numbers, address or directions, at the top of the website page, so that users can quickly get to it without having to scroll. Don’t fall into the trap of “stacking” low-priority content over high-priority content. – Andrew Kucheriavy, Intechnic

2. Foster An Environment Of Continuous Experimentation And Improvement

Good UI/UX is hard. Don’t imagine you’re going to get it right the first time. Experiment with alternatives as much as you can during development. Consider A/B testing technology that lets you run experiments to evaluate interface alternatives and to respond quickly to the findings. Implement continuous integration and deployment techniques that let you release improvements regularly. – Manuel Vellon, Level 11

3. Ask Users About What Works And What Doesn’t

It helps to know from people using it every day what works and doesn’t, so go straight to users and get their feedback. After all, you want people to use it, and there’s no better perspective than those that already do. – Chalmers Brown, Due

4. Don’t Make Mobile An Afterthought

An increasing number of people use a phone or tablet as their primary way to interact with websites. You can’t slap together a mobile site as an afterthought and expect to be successful: Mobile should be a first-class citizen from the start. Also, resist the temptation to suppress certain content completely on mobile. It may be much easier, but some visitors may never come to your site on a computer. – Jay Oliver, GeekHive

As app developers, we are fortunate to often work with clients who are launching their first app. It’s a collaborative process that always leads to amazing products, built from the ground up. Then there are other times where we’re brought in after an attempt has been made… and usually not a moment too soon!

If you’ve ever tried to do your own plumbing, app development is like that: it can be way more complicated than you’d expect, and tiny details can be the difference between a flushing toilet and a rising tide of horror. So when do you know if your company is in over its head when it comes to making an app? Here are three red flags that will signal when it’s time to outsource your mobile development.

 

imac-606765_1280

Credits : Business2community

1. Your app development time table is too long.

According to a recent survey by outsystems.com of over 3200 IT professionals, 40% said that it took between 6 months to over a year to deliver a finished app. Did we read that right? By the time the app comes out, it’ll already be obsolete! That sort of lengthy development time for software can make or break a business, especially in our mobile-first world.

There are a slew of reasons why apps can stew in development hell, but it usually comes down to one thing: resources. A good app, like any good software, takes a lot of effort. You need a rock-solid design that can translate to rapid iterations of wireframe models, your backend team communicating well with your UX team, and a deep understanding of best practices at every step. Poor sprint management always leads to lengthy delays, so project management is also paramount to timely app development.

Recommended for YouWebcast, February 28th: Sales Automation Made Easy

All this can be nearly impossible for even enterprise-level companies to accomplish. If your app’s launch date is continually getting pushed another two weeks, it’s probably time to outsource development.

2. Your MVP is bad.

Lots of tech blogs say that get to your Minimum Viable Product (MVP) and push it live, then iterate quickly. Although this has been repeated countless times, we don’t think this is great advice when it comes to mobile apps. The reason is that smartphone users just don’t give new apps much of a shot.

App downloads are slowing, perhaps by up to 20%. That means less people are downloading new apps altogether. Meanwhile, 77% of users don’t open a new app again after 72 hours, and it’s often because that initial experience is just not up to snuff. So we have a user base that is both reluctant to download new apps, and to give new apps much of a chance. And you want to release a half-baked MVP? Hmm.

 

ux-787980_1280

Credits : Business2community

When it comes to mobile software, first impressions matter more than businesses realize. After all, there are often many other similar apps to choose from. If your company is racing to put out a MVP that is just so-so, you might be setting yourself up for a situation where you won’t get a second chance. It’s important to put out the best app you can from the get-go, and outsourcing your app can ultimately nab higher ROI when loyalty is earned due to a better product.

3. You just don’t have the expertise.

Seems like a no-brainer, but you’d be surprised just how many companies lack the skill set internally but still forge onward with a complicated app development. Almost half the IT professionals surveyed in the outsystems.com report said that there was a knowledge gap with mobile that slows development.

It’s no secret that there is a shortage of mobile app developers which is a growing problem for the industry as a whole, but also for individual companies that try to rely on unproven talent to build their apps. Remember, it’s not just the app itself; it’s integration with the backend, it’s integration with the cloud, it’s security, it’s speed of deployment, it’s scalability. It’s a lot, and even enterprise-level companies have stumbled at the scope of their mobile projects. Even if they technically have the resources (aka man-power), the lack of expertise will slow development to a crawl.

Look, not every company can quickly get up to speed on iOS’s latest changes or programming in Swift. If you’re spending more time (and money) on just learning the skill set instead of developing, it’s time to outsource your app.

 

Credits : Itproportal

Credits : Itproportal

 

When those sudden moments of genius strike, you could be onto the next big thing – the new Angry Birds or Snapchat might be around the corner. But the main practicality in converting an interesting idea into an application is deciding on your platform of choice.

Currently, iOS and Android are the main contenders for introducing a new app; both have advantages and disadvantages in certain areas, which can be a minefield for the new market entrant.

However, help is at hand in the shape of cross platform mobile development tools, which have become increasingly sophisticated of late as demand has risen. These help to reduce the development time of applications by enabling developers to re-use code across multiple platforms, resulting in less room for error as the same code is shared between multiple platforms, and also generating a codebase which is more easily maintained and updated. The tools can provide a side by side comparison which helps to maintain design consistency throughout each environment.

When it comes to stand alone consumer apps that target the Play Store and App Store, we at ByteSnap recommend that it’s best to choose one core platform to deliver on first, as the potential user base is in the multi-millions. Once established, then approaching alternative platforms with the learnings from the first is considerably easier.

However, there are cases where simultaneous development and release across multiple platforms are a key part of products feature set – such as apps that ‘talk’ and integrate with specific hardware for additional functionality. This could encompass IoT products or particularly ‘hot’ new hardware, for example.

Native vs cross platform?

It is important to note that cross development tools come in mainly two flavours – native cross development and Hybrid cross development.  Each has their own strengths and weaknesses, but if you’re in any doubt, our software consultants at ByteSnap Design are expert in cross platform mobile development and are well placed to assist.

Once you’ve made your choice between native and hybrid cross platform app development, you’ll be needing one of these tools for cross platform mobile development:

Xamarin

Xamarin has become one of the leading solutions providers in the native cross platform application development market.  The tool allows developers to use a C# codebase to build Android, iOS, Mac and Windows apps.  There is native API access across the supported operating systems and also the ability to add “components” to an app for plugin functionality, such as barcode scanning, in-app billing and a multitude of custom controls.

Xamarin provides a plethora of reference material – API documentation, example code and even boast a “Xamarin University” to help support developers – and the vibrant development community means there are also a lot of new components and custom controls being developed.

After Microsoft acquired Xamarin it became free to use with versions of Visual Studio. The Xamarin Test Cloud is worthy of mention; a 2,000-strong real device testing suite in the cloud where users can setup tests and get comprehensive results including performance statistics, screenshots for the steps taken and compare for regression testing.

Appcelarator

Appcelerator Titanium boasts the ability to make “native” mobile applications on iOS, Android and Windows Phone using one JavaScript Codebase. If there is any functionality where the native API is not exposed through the Titanium API set, then the developer can make a “module” written in native code to expose this functionality. This makes this platform ideal for creating apps that are close to native in performance, especially where the developers are well versed in JavaScript.

Appcelerator recently announced Hyperloop – which vastly increases the power of this as a true cross platform mobile development tool, as Hyperloop exposes all native functionality for iOS and Apple – with planned support for Windows Phone in the future.

Like similar tools, Appcelerator provides analytics and third party components to implement 3rd party modules. For enterprise customers there is also the option for using a virtual private cloud server for storing sensitive data.

Qt

The oldest cross platform development tool on our list, Qt had its initial release in 1990.  It has possibly the largest list of supported mediums, most notably Android, iOS, BlackBerry and Windows, however also reaching Mac OS, Linux, Sailfish, QNX and more.

The latest versions of Qt (5.6+) include a great amount of mobile application support, adding in functionality for high DPI, navigation and themed UI. Since then, more controls have been added to these styles which cover Material Design (Android), Universal Design (Microsoft) and Qt’s default style.

There are two current forms of Qt, open source and commercial. Each of them carries different licences that are applied to the generated application and this should be taken into consideration.

Adobe Phonegap/Apache Cordova

Adobe PhoneGap uses the open source project Apache Cordova as its engine and is one of the most popular, go-to, development environments for cross platform web applications. Because it is open source, PhoneGap is free to use and boasts the ability to interface with other Adobe technologies, as well as a large list of third party tools such as PayPal, Testing SDK’s, Analytics and Barcode decoders.

PhoneGap developers write applications as web apps. These leverage the WebKit installed on the target device using HTML, JavaScript and CSS as the language. This way, they trade performance and some level of native interfacing for portability and reusability.

PhoneGap also offers cloud services (PhoneGap Build) for building and distributing applications to the relevant app stores, removing the reliance for maintaining target native SDKs and to push systematic updates to target phones as part of the development cycle.

Sencha

Sencha, similar to PhoneGap, makes use of HTML5 to achieve cross device portability. Though it has many applications and tools available to developers, such as; Architect, Themer, and various IDE Plugins, the main offering for mobile applications development is Ext JS. Once the application has been built developers can use Sencha cmd or Cordova to use device specific API calls to achieve close to native functionality.

Sencha offers a library of prebuilt UI components and accompanying UI themes, with the ability to write custom modules to expose native functionality. They also have an automated test suite available which leverages the Jasmine framework for JavaScript. Standard licences start at a minimum of 5 developers and provide a good entry point.  However, the premium licence contains some crucial development tools such as debugging and analytical data.

Graeme Wintle, director, ByteSnap Design
Image Credit: Nito / Shutterstock

Credits : Itproportal

Credits : Itproportal

There is definitely a struggle between supply and demand, and organisations seem to be losing this battle.

Business use of mobile apps is exploding, and with good reason. Mobile apps can offer substantial productivity benefits to organisations, cost reductions, and increased customer and staff satisfaction. Analysts also report that around two thirds of organisations are using three or more apps.  Therefore, many companies clearly see the need for apps and mobile development. However, their mobile app development teams face many challenges during the mobile app development process.

This includes the ability to scale teams in line with app development requirement, complex back-end integrations and faster release cycles.

App supply vs app demand

In addition to this, Gartner reports that the market demand for mobile application development services will grow five times faster than internal IT teams’ capacities to deliver apps.  Whereas another study found that nearly half of the organisations it surveyed have a backlog in mobile development that ranges between 10 to 20 apps.

So there is definitely a struggle between supply and demand, and organisations seem to be losing this battle. Part of the driver behind this mobile app development problem is because app development continues to be complex and challenging; which raises a serious question around how organisations can build apps faster and more efficiently?

Mobile app development obstacles

Further, aside from overcoming the time it takes to develop apps rapidly, there are several obstacles development teams face. For instance, being able to import apps from a single platform to all the major OSs is key. Otherwise, it can double or even triple the cost with each additional platform port costing an incremental 50 per cent – 70 per cent.

Native mobile app developers with strong skills can also be difficult to source; and, HTML5 mobile apps lack native features, perform poorly and consequently provide users with bad experiences, resulting in low adoption. Back-end or server side development can also contribute to terrible app performance, and substantially impact end-user experience, accounting for 75 per cent to 80 per cent of the effort and expense.

Many of the complexities associated with mobile application development can also be attributed to the vast fragmentation of technologies available. Building your own back-end, using custom frameworks from niche point products, or using an array of open source tools and plug-ins can enhance  both complexity and costs.

Typically these tactics make sense and are cheaper initially for simple applications, or for extending a web application to mobile; however, they can quickly become complex custom mobile application development projects. With these quick-fix choices often resulting in a high total cost of ownership that have the potential to increase over time.

This isn’t a new problem for large enterprise to deal with too.  They have been solving software development issues for many years. But, it is an expensive way of building apps, especially when you throw development for mobile into the mix; which now requires specific development processes and methodologies to be factored in so that the development process can be saved from chaos.

Developing for mobile moments

The answer to this problem, therefore, lies in identifying ways to continue delivering great mobile experiences by using predictable and repeatable mobile app development processes, that free up agile development teams, enable parallel work streams, maximise reuse and which are cost effective in the long term.

Additionally, mobility has fundamentally changed the application development model that is being used by developers.  Now, developers focus on breaking a business process into multiple small task-oriented user interactions, sometimes referred to as “mobile moments”. They favour this approach over the traditional monolithic one. Proven elsewhere, this more modern approach allows teams to develop in a reliable, repeatable and sustainable fashion that does not require the creation of a brand-new approach.

What is the model-driven approach?

So, the better path to consider is one that adopts this model-driven approach. Meaning, the adoption of a methodology that enables rapid development of applications from architectural models that make use of smaller, discrete objects. Ultimately, many organisations have found that they can streamline development with this approach.

In addition, by using model-driven development and combining it with a microservices architectural approach to assemble and deploy self-contained independent components into a complete solution, it is possible to develop applications faster and reuse components across multiple applications.

What Java developers teach us

To see this in action, you only have to consider how Java-based development teams, with frameworks like Spring and Struts are adopting model-driven development.   They use object-based models to abstract low-level programming complexities and provide a standardised programming approach that enables any developer to immediately understand the application structure and change it with confidence.

Importantly, too, the wide adoption of Java-based model-driven development demonstrates the advantages that model-driven development can deliver.

However, currently, there is also no similar standardised enabler for a model-driven approach across mobile. So, globally, mobile application developers are suffering from many of the growing pains that the early Java development community came up against; which included slow and costly application development, shortage of development skills, low level of code reuse, and high costs for application changes and updates.

But, by using a model-driven development approach, optimised for the unique challenges and requirements of the mobile space, companies can apply this path to better address the rapid pace of changes required on the front-end mobile app interface, while bridging to less frequent but equally important changes in the mobile back-end and core business infrastructure.

Conclusion

Mobile app usage is only set to continue exploding. It is also likely to evolve to include application development across multiple other connected devices (M2M/IoT/wearables) too. As it continues to grow, so must software development teams’ capabilities to rapidly, accurately and cost effectively handle development for these and newer platforms.

The gains available from adopting a model-driven development approach are undisputable. The sooner teams start to adopt them, the faster they can reap the vast array of benefits offered to their teams, customers and the wider business.

Burley Kawasaki, SVP, Products, Kony

Credits : Itworldcanada

Credits : Itworldcanada

 

IT professionals are at a crisis point when it comes to digital transformation and application development, according to a new report by OutSystems on the state of application development.

As mobile apps become increasingly important – and necessary – for successful businesses, the challenges in developing them have also grown, says the low-code platform company’s fourth annual report, App Dev in the Age of Digital Transformation, Low-Cost Platforms and Citizen Developers.

The report surveyed over 3,200 IT professionals from 40 countries and 28 industries and found that mobility – or the ability for an app to function on a mobile device – was the most common business requirement for apps, up from sixth place in the company’s 2015 survey. In particular, “88 per cent of respondents noted that it was either a requirement or very important to incorporate mobile functionality into their current and future applications.”

“Not surprisingly, large organizations generally plan to build more apps than smaller ones,” the report continues. “In fact, 34 per cent of companies with more than 5,000 employees said that they intend to build at least 25 apps in 2017. In many cases, these are indeed very lofty goals that not only demonstrate high levels of demand, but also put tremendous pressure on today’s IT teams.”

Challenges of app development

However, barriers to successful app development have become “overwhelming,” the study finds. Time and budget constraints were the biggest cited, followed by a gap in skills, an onslaught of competing priorities, and a shortage of mobile developers.

In fact, the report quotes an October 2015 Gartner study that predicts market demand for app development “will grow at least five times faster than IT’s capacity to deliver it through 2021, and that one out of every three new B2E [business-to-employee] mobile apps will fail within six months of launch by 2019.”

OutSystems’ report finds that well over half of IT professionals (62 percent) reported having a backlog of mobile apps, some of whom have more than 10 apps waiting to be developed.

“Our 2017 survey clearly shows that many IT professionals are at a crisis point when it comes to digital transformation and application development,” said Steve Rotter, CMO for OutSystems. “Project backlogs are growing, there are more systems to integrate with, the demands for mobile and IoT are increasing, and the scarcity of skilled developers are top concerns.”

The length of time it takes to develop a mobile app is one of the main factors of this backlog. According to the report, more than three-quarters (76 per cent) of IT professionals say it takes “over three months, on average, to develop a mobile app.” One out of 10 respondents take even longer, with their required time going beyond a year.

“Not surprisingly, this is leading to considerable dissatisfaction, with nearly half (44 per cent) of respondents saying that they’re not happy with the current velocity of their application development team,” OutSystems reports.

But a shortage of people capable of creating these mobile apps has also been a major problem in the IT sector. More than a third (37 per cent) of organizations reported that they are already facing a shortage of mobile developers, and 44 per cent reported that they are experiencing a knowledge gap in the skills needed to undertake mobile development.

Developer skill requirements are changing

Interestingly, part of the survey explored what skills companies are looking for in app developers and found that those who experiment with newer and less technical approaches, such as HTML, user interface design and JavaScript, are more sought-after. These creators are easier to find and tend to focus on front-end development – or the look and feel of the app – instead of just functionality.

However, many companies are turning to non-professional “citizen” developers as a cheaper, easier to find, and often faster, alternative. According to the report, 43 per cent of those surveyed support citizen developers already or are considering doing so, and this number will only increase going forward.

According to 2015 Gartner research, “by 2020 at least 70 per cent of large enterprises will have established successful citizen development policies,” although in general, “the smaller the size of an organization, the more likely it is to take advantage of citizen developers.”

Experimentation is on the rise

OutSystems’ report found that in the wake of expanding challenges, organizations are increasingly experimenting with their approach to app development. A popular option is using low-code or no-code platforms, which is defined by U.S.-based market research company Forrester as solutions that “enable rapid delivery of business applications with a minimum of hand coding and minimal up-front investment in setup, training, and deployment.”

Low-code platforms “dramatically increase” productivity and speed of a development team, and 43 per cent of those surveyed say they use such technology. Forrester expects the market for low-code software platforms “will increase by a factor of nine to over $15 billion [USD] over the next five years.”

 

Credits : Abc3340

Credits : Abc3340

 

Birmingham-based r360 Consulting has entered into a three-year agreement with the City of Northport.

According to the firm, Northport will pay r360 $25,000 per year to collect economic data and lure retailers to the city.

The consulting firm plans to use “mobile mapping”, which is a popular tool in the retail industry. The technology tracks the locations of shopper’s phones.

“It allows us to know where the mobile device is during the evening, during the day and where it was two hours prior to visiting a specific [retail] location,” said r360 CEO Chuck Branch.

Branch said r360 receives the mobile information from UberRetail, a company that provides location data for retail site selection.

“We use their software solutions and their data collection to create a polygon area around a specific retailer, and look at the location points that are both animized and aggregated, to identify that daytime, nighttime, and two-hour time frame,” Branch explained.

According to Branch, the mobile data his office receives does not include personal information.

“I can’t tell you if it’s Jane Doe, John Doe. I can’t tell you their cell phone number,” the CEO added.

ABC 33/40 News spoke with several Northport shoppers who were surprised mobile mapping will used in their city.

“I understand they’re coming from a business perspective to build up the city, but it is a bit scary,” Lisa Melems said.

“I don’t really have a problem with it. It’s still kind of invasive, because you don’t want everybody knowing everywhere you go,” Stephanie Sullivan told ABC 33/40 News.

According to Matthew Hudnall at The University of Alabama’s Center for Advanced Public Safety, there are two ways cell phones are mapped. One is through “location services” under your phone’s privacy settings.

“So that is actually apps on a person’s cell phone where people allow the app manufacturer to track their location,” Hudnall said.

The other way retailers track your location is through your phone’s Bluetooth.

“..by Bluetooth beacons that are deployed in stores. These Bluetooth beacons track the Bluetooth transmissions on an individual’s cell phone if they have Bluetooth enabled on their phone,” Hudnall explained.

The CEO of r360 will soon share mobile mapping information to area developers and tenant reps looking for retail opportunities in the City of Northport.

“We’re excited to work with the City of Northport. We believe there are some opportunities and we’re looking forward to getting started,” Branch said.

Credits : Techrepublic

 

Mobile apps are like living organisms: they require care and feeding in the form of updates to keep them relevant and useful. However, the process can be tricky at times, depending on the type of app, the features it offers, the security details involved and the information the app processes or stores.

In my last article I wrote about ways to build reactive mobile apps which focused on tips for designing apps which react to user needs and actions. As a follow-up to this piece, now let’s talk about how to keep those apps updated for the maximum benefit for your users.

I chatted with Erez Rusovsky at Rollout, a company which provides a native iOS solution that helps organizations fix bugs and push live updates on the fly to deployed applications, as well as ensure developers are able to retain the control of their apps after they deploy them to the App Store.

“The mobile app market has become a $51 billion industry and 79% of U.S. companies say mobile apps are a factor in their success,” said Rusovsky. “Yet the distribution model for mobile apps is completely out of the control of the creator once in the hands of the user. As more companies rely on mobile as a critical business driver, it is not only frustrating but costly if your app experiences a bug or hiccup and waiting hours, let alone days, this can bleed revenue or customer trust from your business.”

Web and SaaS solutions can continuously deliver and deploy apps with plenty of open-source and commercial solutions. Mobility doesn’t offer the same diversity. Only widespread apps such as Facebook and Airbnb have their own in-house deployment solutions. However, we’re seeing increased options for mobile development solutions now; third party tools can allow companies to make remote changes without releasing new versions. Examples include mobile testing solutions like Optimizely, which allows companies to tweak the user interface remotely, and remote configuration solutions such as Firebase Config which can change app configurations remotely. Another example would be marketing automation solutions such as AppBoy which allow adding in-app messages on the fly.

Given these challenges, here are some tips on how to formulate a reliable workflow for your mobile app update process. I devised the first four based upon my experience as a system administrator, the next six are Rusovsky’s recommendations from a software development perspective.

Mobile apps are like living organisms: they require care and feeding in the form of updates to keep them relevant and useful. However, the process can be tricky at times, depending on the type of app, the features it offers, the security details involved and the information the app processes or stores.

In my last article I wrote about ways to build reactive mobile apps which focused on tips for designing apps which react to user needs and actions. As a follow-up to this piece, now let’s talk about how to keep those apps updated for the maximum benefit for your users.

I chatted with Erez Rusovsky at Rollout, a company which provides a native iOS solution that helps organizations fix bugs and push live updates on the fly to deployed applications, as well as ensure developers are able to retain the control of their apps after they deploy them to the App Store.

“The mobile app market has become a $51 billion industry and 79% of U.S. companies say mobile apps are a factor in their success,” said Rusovsky. “Yet the distribution model for mobile apps is completely out of the control of the creator once in the hands of the user. As more companies rely on mobile as a critical business driver, it is not only frustrating but costly if your app experiences a bug or hiccup and waiting hours, let alone days, this can bleed revenue or customer trust from your business.”

Web and SaaS solutions can continuously deliver and deploy apps with plenty of open-source and commercial solutions. Mobility doesn’t offer the same diversity. Only widespread apps such as Facebook and Airbnb have their own in-house deployment solutions. However, we’re seeing increased options for mobile development solutions now; third party tools can allow companies to make remote changes without releasing new versions. Examples include mobile testing solutions like Optimizely, which allows companies to tweak the user interface remotely, and remote configuration solutions such as Firebase Config which can change app configurations remotely. Another example would be marketing automation solutions such as AppBoy which allow adding in-app messages on the fly.

Given these challenges, here are some tips on how to formulate a reliable workflow for your mobile app update process. I devised the first four based upon my experience as a system administrator, the next six are Rusovsky’s recommendations from a software development perspective.

1. Have a dedicated app update release schedule

Releasing updates in a haphazard or random fashion is a recipe for disaster. Updating an app twice in one month then not at all for six months looks unprofessional and sloppy. Decide how many feature revisions or additions should trigger an update – whether 2, 5 or more, and devise a standard schedule such as releasing updates on a monthly or quarterly basis.

Security-related updates may necessitate more frequent or “one-off” releases. It’s more important to push out a code change which protects confidential data than adding new fonts or a new icon, so ensure users understand the difference between security fixes and standard app revisions – and the urgency of installing the former as soon as possible.

2. Develop a deeper understanding of issues and areas of improvement

To get the best analysis of what issues your app faces and where it needs to be toned, utilize functions such as screen recording, smarter bug diagnostics with the ability to examine error logs on the fly, analytics of app usage and crash reporting functionality. You need a mechanism to review where the pain points lie as well as the high-traffic areas within your app.

3. Devise a standard method of app update notifications

Formulate a plan for notifying users of app updates and providing them with options; is it an alert within the app, an e-mail announcement, a text message or some other mechanism? Avoid the possibility of repetitive or unwanted alerts, but make sure to include a list of some of the advantages the update entails; new features or options, better performance or stability, etc. Make sure to include contact information for support if needed to help users navigate problems with app updates.

4. Monitor app update statistics and feedback

Check to see how rapidly users are updating your mobile app and revise the above steps if needed based upon results. Are security updates not being applied as quickly as they should? Do you need to be more aggressive (or less so) with your announcements? Is user feedback reporting too many problems, or an overly cumbersome update cadence? See what, if anything, needs to change to improve the process.

Dynamic analytics can also be helpful. Some of the analytics platforms today (such as Mixpanel) allow you to dynamically change/add analytics allowing you to gain more flexibility and avoid another release just to fix/change a minor issue.

5. Conduct thorough app testing when preparing updates

You should conduct internal QA, beta testing and distribution testing to ensure successful delivery of the app updates on an internal basis, with app users familiar with the code and functions who can spot potential issues or complications. Ensure you have the right toolset to make beta testing more efficient and automated.

6. Take advantage of remote configuration

With this model the data in your app is no longer hard-coded and you can use remote configuration components to set it up or change it depending on user need and options. For instance, altering the welcome message, controlling how many times an ad is being presented (if at all), or implementing parameter values that affect the app such as game complexity level, the color of the screen, etc.

7. Deploy new features without immediate activation

Don’t hard code a feature activation into the updated app (meaning this change does not take immediate effect until you’re ready). Then you can decide when to activate the feature remotely and to whom, so you can now release a new version and test new features gradually. Furthermore, you can roll back a misbehaving feature with minimal impact.

8. Use feature flagging

Feature flagging means you remotely decide or test who gets what experience; users may have different needs or preferences and this allows a focus on particular features based on who may gain the most benefit. For instance, a sales executive can utilize a sales-related component of an app, or a marketing analyst can focus on the social media aspect to spread awareness of a product.

9. Identify how to work with bugs/issues in production

Decide how to engage in damage control and fix bugs remotely, whether through new app versions or remote configuration changes. This is essentially what Rollout does; it allows you to deploy a hotfix / patch the app remotely to help contain issues and notify users about quality issues, and you can deploy a change without a version release.

10. Work with Native vs Hybrid or JavaScript based solutions

Native language solutions are straightforward. Hybrid based solutions (which usually use both JavaScript and a native language) can update the JavaScript code from the backend without a new app version release, adding some agility. Some companies are willing to pay the price of decreased app performance to gain the agility of javascript updates.

React Native by Facebook takes a different approach as a hybrid solution that does allow for JavaScript updates (which means remote code update) and it has almost no performance penalties when compared to a native language app. Microsoft also has a solution called CodePush to streamline the process of JavaScript remote updates.