To enable these functionalities and facilitate more natural-looking signatures on the app, we created a signature algorithm with five distinct classes, depicted below: Figure 1: The UberSignature algorithm consists of five classes.
#Fluid app signature code
This made the code easier-to-understand, debug, and maintain. Under the hood, we broke the implementation down into five classes with fewer responsibilities.
#Fluid app signature update
Signature updates with every touch : Instead of waiting for every four touch points to draw a full b é zier curve, we wanted a solution that would update the signature at every touch.We based our code on the parallel curves method, but extended the implementation and incorporated some new features: Other solutions change the thickness property of the line at each segment this is problematic because the changes in thickness are abrupt, giving the signature an unnatural look. This solution draws two parallel b é zier paths at varying distances from each other that are connected by straight lines at each end, producing a smooth-looking curve with continuously changing thickness. Through our research, we discovered a thorough March 2013 article, “ iOS SDK: Advanced Freehand Drawing Techniques, ”on an advanced drawing algorithm that produced results well-suited to our needs. There are many resources available online that address this issue. Luckily, this is not a new problem in the world of iOS. IOS does not come with any built-in classes for directly drawing on a smartphone screen with touches, and we wanted a solution that would allow users to “sign” a natural, smooth-looking signature. This is particularly important because the feature is consumer-facing a delivery-partner restarting the partner app during the drop-off transaction affects their efficiency and also causes issues for recipients. The feature also needed to be cleanly architected, so any Uber engineer could maintain it crash-free. One of the main challenges of developing UberSignature was to ensure that the signature rendering code was performant on all types of mobile devices, some of which are more than five years old yet are still used by many delivery-partners.
![fluid app signature fluid app signature](https://img.letgo.com/images/38/e8/bb/7e/38e8bb7ed744780b552aa7d809af7625.jpeg)
We also explain how we made touchscreen signatures on the Uber Partner app look more natural. This article outlines how we engineered UberSignature (displayed above) using an existing algorithm with a few modifications to tailor the solution for our delivery-partners’ needs. Today, we open sourced UberSignature, a new feature that allows users to draw and store signatures on the UberRUSH app. By including this functionality in the app, the delivery-partner would be able to quickly and easily collect a signature from the recipient directly on their device. We decided the most efficient way to do this was by adding a signature rendering feature to the Uber Partner iOS app. In order to meet this requirement, we needed a way to collect signatures to confirm delivery on UberRUSH. The Uber API makes it easy for developers to build apps that coordinate the movement of all sorts of things, but each of these technologies have varying requirements.įor example, when we launched UberRUSH in 2015, its rapid growth required us to quickly add new functionalities as businesses with different delivery requirements joined the platform one critical security feature required by many businesses was proof-of-delivery via signature. Since launching in 2009, Uber has expanded its mission of making transportation more reliable to the delivery of food, kittens, ice cream, and everything in between.