Tag Archives: app

Uniface mobile – Custom Cordova plugin support

Some would have noticed that this week has seen the release of two new Uniface patches – G302 for 9.7.02 and F102 for 10.2.01. Normally I wouldn’t post about a patch, however, this time, there is something new that has been included that I would like to share with you. It is now possible to include custom plugins into your mobile app.

In 9.7.02 we introduced the ability to access the Buildozer online build services to compile iOS and Android apps. Included in this integration was the facility to select, from a predefined list, a number of plugins to be included and made available, in JavaScript, to your DSP application. The latest patches have increased this support to enable you to also include plugins from third parties or ones you have created yourself.

Looking in the development environment with the application shell type set to Mobile you will see it is possible to set the mobile app’s properties. With these patches, a new field has been added to the properties screen that allows you to specify one or more public (git) repository where the plugins reside. Now, with the plugins selected in application startup shell, you can submit your app to be built and, as part of server processing, the plugin will be downloaded automatically and included within your project.

Mobile app definitions
Mobile app definitions screen

As an example, we have been asked for the ability to interface with Bluetooth to print a label on a wireless connected printer. A quick search on Google (for Cordova Bluetooth plugin) offered me several options that seem to fit the bill one of which, picked at random, is https://github.com/evothings/cordova-ble. If I was to include their repository (https://github.com/evothings/cordova-ble.git) in my Uniface definitions, before building my app, I would be given access to the device’s Bluetooth capabilities using the documented API.

The Uniface G302 and F102 patches also include the latest documentation which has been updated to include this topic.

Uniface 9.7 WEB: When business rules

Guest contributor Dino Seelig (Uniface Business Partner) talks about his first impressions of Uniface 9.7

Last week I visited the Uniface Lab. The goal: getting informed about connecting WEB apps using Uniface DSP’s.

Building an app, using an off the shelf frame-work, integrating the power of Uniface service was for me a wish for many many years.

Communicating from a WEB app with a Uniface server using a HTTP request was not that hard, but something simple like: “leaving this field validate of the value of this field is a valid key” was still a lot of work. Setup an event listener, pickup the event fired, post an request over HTTP, handle the response, and so on.

With the introduction of Uniface 9.7 the javascript library Uniface.js simplifies the number of actions. The Uniface 9.7 way: create using javascript a new instance of your Uniface component, activate your operation using params and get your result makes life easy. The power available in Uniface Client/Server becomes now a part the web environment. Not bad. Implementing requirements like “can you calculate the sum? can you switch value when? can you hide show when?” are not time consuming anymore.

Is that all? No there is more. The lab switched from promise driven to quality driven delivery. In the past, the timebox (4 months) was used for to deliver the communicated promises. However the time box is not changed. The vision is. They will spend the time needed to make it excellent. That for me is the best promise to move to 9.7. Uniface is back on track simplifying complex things and shorten the time to delivery again.

Dino Seelig

Dino Seelig
Dino Seelig


The Future of Programming May Not Involve Coding (Part 2)

By Bola Rotibi, Research Director, Creative Intellect Consulting

Part 2 in a 2 part series: Read Part 1 Here

Developers: I’m better than you and I need my code

The most significant barrier to adoption has perhaps been the developer. Within the development community there can be a snobbery about writing code. A hierarchy of developers often exists in which those who are closest to the metal are better developers. So a C++ developer is far superior to a JavaScript developer. Therefore a developer who writes no code at all is perhaps not even a developer. Aside from this unofficial cast system there has always been a desire amongst developers to write code. Becoming a developer to not write code is like choosing to be a racing driver and not driving a car.

Finally there is the niggling suspicion within the minds of developers for whom the low-code approach might be appealing is that a requirement will come along that cannot be fulfilled. If you are writing the code then this is highly unlikely to happen, any requirement can be met. This has been true in some cases such as the early days of .NET when developers discovered that something which was possible pre-.NET was not possible within the framework. Anyone who remembers the challenge of needing more than one form in an ASP.NET page will know what I mean.

These issues, in many cases more emotional than real, have managed to drown out the many sensible reasons for adopting low-code development tools. Had software development been any other part of a business it probably would have shifted to this approach many years ago as the business case for it is overwhelming. But, within IT the old guard of developers has stemmed the tide and most development today, especially within the enterprise, still means many, many lines of code being written, tested, deployed and maintained.

The rise of a new breed of developer

Just as technology has changed so has the developer. The 2015 Stack Overflow survey found that the average developer does not have a computer science degree (almost half are self-taught) and has only been coding for 2-5 years. They are a product of the micro-service, API, framework, born-on-the-web world. These are not the Fortran or Mainframe or even Visual Basic guys of old. The most popular language in the survey was JavaScript with C#, PHP and Python beating out C++ and C. The main driver for this generation is speed and technology choices largely flow from that.

This is highlighted by many of the new coding bootcamps that have sprung up. These are very short training courses in which people with usually zero coding experience learn how to develop in a few weeks. In order to operate in these timescales they choose technologies such as Ruby on Rails or Node.js simply because the more traditional technologies take longer to teach.

Then there are the micro-service based applications often built on Platform as a Service such as Heroku or Cloud Foundry. These are also popular with the bootcamps because even quite complex applications can just be a few lines of code that knit together a few services. In this world some developers do not even see themselves as developers but merely curators of services. For them the issue of whether they are a “real” developer is irrelevant. Their aim is to create an application as quickly as possible. They would rather invest time in making it a great user experience.

The applications that this generation have been creating are those that have disrupted many traditional industries or notably impacted society in recent years: Facebook, Netflix, Twitter, Dropbox and so on. The result is that now traditional enterprises and SME’s are having to respond in kind. Innovation, agility and time to value are the buzz words in today’s business with respect to IT. Developers are having to change and that includes languages, technologies and tools. We see this reflected in the products that their traditional vendors are producing such as Microsoft and IBM’s PaaS platforms.

The future demands change

Then there is the challenge of mobile and Internet of Things. Whereas for a long time developers just had to worry about building a desktop application (often for a very specific OS) they now have to worry about the web, phones, tablets and potentially many other types of device. Codebases need to be able to serve many different clients. If every line of code is going to be written by hand then building an application that works on desktop, multiple phones and tablets and beyond is going to mean a lot of lines of code across numerous languages, technologies and tools. All of which must be tested, maintained and evolved.

This will push developers, development teams and budgets to their limits. And with speed being an overriding factor the old ways simply won’t work. Coding and creation of applications is opening up to a wider group. The advent of the citizen developer: regular folks building mobile apps in their spare time; or people at work building apps to aid their productivity; the iOS Gold Rush saw many designers begin writing Objective-C in order to push out iPhone apps. Everyone is getting in on the act and they are not playing by the old rules or caring about the developer hierarchy.

This evolution began with the web when many people (such as myself) who had no development background or training became developers at the forefront of technology. That change has accelerated and continues to do so. This is being enabled by and driving the growth in low-code tools and technologies. As I said in the beginning, it is ironic that as governments push for the better training of software coding within the younger generation, the need to actually write code is rapidly diminishing.

Many software application developers should look willingly to embrace this evolution not least because of the act of development is to build to deliver value. Code is a construction asset like bricks are in the building trade. In the building trade, ultimate value comes from the finished product and the way it is architected and the function it delivers. Of course the quality of the bricks also helps to cement that value but at the end of the day it is a commodity component. The analogy works for the business of programming with many tools now are able to auto generate the building block code to a consistent standard and quality: i.e. a commoditised function.  Full and lasting value must surely then lie not in the construction of code but in the application that is devised and the way it is architected or modelled to deliver the function required. The resulting experience of engagement for the user is intrinsically tied to the value perceived and this is rooted more in the application model and architecture than the underlying code.

Showing Uniface’s Mobile Capabilities at Mobile World in Barcelona

When you think of enterprise mobile apps, what is the first type of app that comes to mind? That’s actually a more difficult question than we thought when we first started off creating a mobile app demo to showcase at Mobile World Congress in Barcelona. We decided on an insurance policies app, which we will show on both iOS and Android devices. The event is already taking place next week, and luckily all of our preparations and hard work are falling into place.

Uniface will participate as an exhibitor in the App Planet Exhibition Area (stand number: 8.1K79) at the event. Here we will demo the power of Uniface Mobile to create cross platform mobile applications and showcase how we can address the current opportunities and challenges of developing apps for enterprise mobility.

When building a demo app specifically for an event, it’s important to be able to show someone quickly the power of your solution.  With Uniface, this is no different, however while we can (also) make flashy front-ends, the back-end integration of a mobile app is where you see the real benefits.

Preparing the Uniface demo for Mobile World Congress
Preparing the Uniface demo for Mobile World Congress

So take an insurance app that allows a user to view their various policies on their mobile, be able to submit a claim to their insurance company with all the relevant information and accompanying photos—and all of this seamlessly integrating into the back-end system. Take that same app and add a piece of business functionality which would normally lead to lengthy change management and development time, and see how Uniface can build a component in minutes. That is the power of the Uniface mobile solution, and what we are looking forward to showing at MWC in Barcelona.

Over the course of four days, 2-5 March 2015, 85,000 delegates will hear from thought leaders from the most important companies in mobile and adjacent industries. They will be able to see the newest technologies and most innovative products available in a cutting-edge Exhibition featuring more than 1,900 exhibitors, and participate in App Planet where more than 200 app-focused cutting edge exhibitors, including Uniface, will showcase the newest apps, gadgets, devices, and technology in the mobile ecosystem.

If you’ll be in Barcelona for MWC 2015, contact us to arrange a meeting or drop by our booth in the App Planet Exhibition Area. In the mean time, visit go.uniface.com/mobile to learn more about Uniface Mobile.

There may be trouble ahead for mobile commerce; Part 2

By Clive Howard, Principal AnalystCreative Intellect Consulting

Read Part 1 of this blog post here

Payments made easier and more secure with a good mobile wallet

Once again the most likely solution to this issue is mobile wallets. By using a mobile wallet the customer does not have to enter any payment information. This greatly reduces the work that they have to do to make a payment. The customer is simply passed into the mobile wallet which already has their payment information, they complete the transaction and are then handed back to the website or app.

A further benefit to this approach is that the actual payment element of the process has been both optimised by a third party payments specialist and tested by them as well. This removes two major burdens from the development team.

Mobile wallets are therefore the answer to the two top reasons why consumers are reluctant to make payments on a mobile device. If this mobile wallet is provided by a bank or credit card provider then people are more likely to try it. This should be good news for any organisation looking to increase revenue from mobile consumers. Especially when one considers that eMarketer has found that there is a desire to buy via mobile, particularly in the younger age groups. 48% of 18-34 year olds said that they would like to pay this way.

Mobile payments present new opportunities

Within the many different markets with an interest in mobile commerce one of particular note would be travel and transportation. This market has been working with different ways to incorporate mobile into a customer’s experience across the end to end lifespan of a journey. An example is the number of airlines that now offer mobile boarding passes. A further example would be the use of the mobile device as a ticket using NFC such as on buses. With many journeys having multiple stages that may involve different modes of transport from a variety of providers a single form of fast payment is obviously interesting.

Imagine taking a journey and being able to both use the mobile device for payment and as a ticket to travel throughout. This is not just in the context of transport itself (trains, buses, aeroplanes and so on) but other stages of the journey like paying for car parking, hotel accommodation or purchasing refreshments.

There are a number of challenges to this vision of the future. Many of them are physical and cost based such as the price of installing NFC enabled equipment into the transport network. However it will still require customers to want to use their mobile and that means addressing the concerns of security and user experience that have already been discussed.

What this brief look at a particular industry does however, is to highlight the new possibilities that mobile presents in the field of payments. For many organisations it may simply be that they want to take a traditional sales process and mobile enable it, such as purchasing an item of clothing from a retailer’s website. For others though it might present all new customer experiences and revenue opportunities.

Developers: be armed with the right approach

What we see in the m-commerce market is a history of solid growth and desire amongst consumers to buy via mobile. But we also see challenges ahead in the form of security concerns and the poor experience that many customers are currently receiving. Mobile wallets address these concerns and customers are prepared to try them as long as they are provided by organisations that they trust such as banks and credit card companies.

Development teams working on mobile projects, whether websites or apps, should begin looking into how they can integrate with mobile wallets. Coupled with the importance of having in place a good mobile wallet strategy, is the support of a robust testing strategy. This will mean looking for accessible tools and services that can address any performance challenges that might present themselves as a result of network traffic. The latter will be one for future blog discussions.

Crucially, the potential for m-commerce goes beyond the type of retail experiences that many of us are used to but it is one that opens up a future of new possibilities as well. So, while there may be trouble ahead for Mobile commerce in the future, there are strategies and tools in play today to enable you to buck the trend going forward.