Smart Build: Maximize
your field survey
IOS DEVELOPMENT
There are many approaches and technologies that can be used to implement the construction management application. We made the discovery of every technology and approach that could fit the client’s requirements and we have chosen the best for Smart Build. The users have an application that is easy to use with all the needed features. The UI is built using friendly Apple UI components.
Scope of work
Development Tools
Apple Frameworks
Third-party Dependencies
Integration
Most challenging feature: PDF map manipulation
The most complex feature was the manipulation over the construction map (adopting PDFKit framework). Adopt the interactions on the construction map and simplify adding and removing markers on the map (PDF annotations).
We created our own SDK for handling that, it’s the wrapper over the PDFKit that’s adopted for our purposes.
All the logic is separated into InteractivePDFView and AnnotatablePDFView based on the actions for interactions on handling the annotations.
This app is available only on the App Store for iPad.
Apple Frameworks
PDFKit
Used for manipulation of the PDF document (More details can be found in the next section)
CoreData
Used for local storage. Implemented live preview on every data model.
Combine
Mostly used for async tasks fetching data from local storage.
PencilKit
Draw over the captured image to mark important sections.
SwiftUI with the latest tech stack (iOS 15.0)
We use Swiftlint to write code by team standard and Fastlane to automate the whole development and configuration process. We use Git for code version control. Also, making the pull requests and doing the code reviews.
The main features are oriented toward manipulating the PDF document (construction map), adding markers on the PDF document and storing the data in the local storage. The PDF document is loaded from the files (locally). The application provides In-App-Purchase. The user has limited functionalities until he buys the subscription.
As for this project, we start every project with our iOS project template.
Integrations
This application provides exporting the PDF document (report) but also exporting report in Google sheet.
To do that, we need Google sign in (GoogleSignIn) and other Google services to access Google Drive (GoogleRestDrive). The Spreadsheet is designed and generated from the app and populated with relevant data.
Core Features
Core Smart Build features are Projects, Mapping, Interaction, and Export. They revolve around user interaction with the floor plan image.
What we learned
We found PDFKit framework bugs and limitations. But we found out the best approaches how to deal with them.
To escape the PDFAnnotations loading bug, we needed to add 3 seconds progress bar when showing the PDF document before adding PDF annotations. If the PDF annotation is attached to the PDF document before the document is fully loaded, the annotation could not be removed.
We listed this issue as an opened bug on Apple Developer Forum. Second, the two-finger rotation is not possible, because the PDF document works only with the right angle (0, 90, 180, 270). We also found a way how to proceed with that.
Similar projects
PERFORMANCE MARKETING
Stake Something:
Performance Marketing
Stake Something challenges users to risk their own money by either fulfilling their goals and keeping their stakes or transferring that money to a charity if they fail. Cinnamon worked on performance marketing strategies to deliver mobile installs to the client’s app as well as to brand the app for the Australian market.