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