It was July 2014 when we organized (what at the time was most likely the first in the world) Swift hackathon here at Base, gathering over a hundred people from all over the world for a two days with full focus on new features of iOS 8, and, most importantly, Swift language 1.0 developer preview….
One app, many experiences
On the first look it may seem it’s just a simple app. But when you look closer you can find multiple experiences where each could be thought of as a standalone app. Truth is that having them together in one context makes every one of them more powerful.
Presenting large amounts of data in an instantly comprehensible way is one of the most difficult conceptual and design problems out there. This goes over to engineering where we often use our own custom animations, UIKit Dynamics, Core Graphics to achieve this level of understanding and interaction on a small screen.
Time and dates are an inherently complex domain. If you ever had to do anything remotely more advanced related to it you know what we mean. Combine this with the challenges of synchronization, localization, visuals like endless scroll and you’ll get a glimpse of the engineering thinking that goes into this experience.
Development of the text messages as an in-app feature may seem as a mere reflection of the iPhone’s Messages app. But it is much more than that, as conversation are contextually related to the data objects in the system. Delivering a core phone feature that users may rely on and at the same time enhance it by presenting it in the context of their data was and still is an interesting challenge.
EXTENSIVE DATA MODEL
Working efficiently with a large data model and being able to continue shipping fast is not trivial. It requires really strong engineering and solid practices.
Our users need fast access to their data, often really large amounts of it. Doing it on resource-constrained mobile devices is challenging. Implementing multiple readers single writer pattern in our Core Data stack minimizes the time the main thread is occupied.
Productive people don’t sit waiting… We use Instruments extensively to measure, analyze and optimize our app so it’s always to responding to users’ requests.
We’re building a sync layer that allows for true offline mode, automatic conflict resolution, batch requests, that reconciles sync errors and automatically heals the state of data on the device that even actively predicts what data may be necessary should the user go offline
KEEPING UP WITH TIME
Every new iOS release brings many new features and API’s. We know that to stay #1 we need to always keep moving forward.
- iOS 8.1 is the oldest supported version
- We prepare for new major iOS versions to be ready right after the release
With every new experience, we think how latest iOS features can make it better. The effort is worth it.
Excellent so far!
Base CRM is perfect
Great Mobile CRM
Great so far
Easy, yet very powerful
AND THIS IS JUST A BEGINNING...
This is our bet – 10 years from now there will be no PCs at work. Ultra thin, light and powerful tablets will be carried by every information worker. Building this future today is an opportunity to rethink archaic concepts (i.e tabs) and move towards contextual and intelligent interfaces.