A small group of iOS developers was lately given a chance to completely rebuild the Pinterest application. The Pinterest application has gained a lot of fame and has over 50 million users across the globe. Pinterest is mobile and web application company that manages photo sharing activities. Pinners (users) can upload, save, manage, and sort different images and videos on it. The images and videos are known as “pins.” while the collection of images and videos are known as “pinboards.” Pinboards are typically organized by central topics and themes based on an interest of users.

Today, Pinterest is highly demanding platform to increase awareness about product and services of business. It helps to gain the user base and increases the productivity of businesses. Pinterest also has integration with different social media websites. In order to gain more pinners around the world, developers decided to rebuild the app make it more effective than older versions. Following are the major modification is done by iPhone app designers in the Pinterest application:

Performance Wins:

The main objective of iOS developers to make the Pinterest app as performant as possible, mainly for older iPhone devices. The previous Pinterest versions have issues such as scrolling home feed and frame dropping that needed to be resolved. The simplest and fastest method to drop down energy usage and increase performance is to take advantage of multiprocessor architecture of iPhone devices.

The new system depends heavily on a multi-threaded code. It involves image downloading, UI rendering, model processing, and GIF (Graphical Image Format) decoding. The multi-threaded code allows developers to maintain smoothness in responsiveness and scrolling when a user taps.

Asynchronous Display:

Many modern frameworks are now built on top of ASDK (AsyncDisplayKit). It is an open source iOS framework which keeps UI designs smooth and responsive. ASDK provides an asynchronous rendering of the UI elements so that iOS developers could do the complex task of layout and rendering off the main thread.

The asynchronous display is the main feature of ASDK framework. It offers layout system same as CSS Box Model. Instead of UIViews, the asynchronous display provides easy to use CALayer and countless performance improvements. iOS developers have optimized calculation of various ranges for scroll views. ASDK will determine a cell range of Pinner’s scroll position. The cell range fetches data from a network and small range cells are used for pre-rendering.

The cell range calculation provides automatic rendering, just-in-time fetching and cleaning out of ranges that the user has already passed. It saves the time and memory spent on particular run loops thus boost up scrolling.

Immutable Data Models:

Data model system is another concern in the development of the Pinterest application. Creating a data model can be done on background threads and requires modification to model occurs on the main thread. This thing can result in bad application performance as it frequently crashes. To avoid these consequences, application needs a system which is thread performant and safe. The simplest method to ensure thread safety is to make everything immutable.

However, it is a challenging to modify hundreds of data models and keep them updated as a new feature in application get introduced. iOS developers mostly use Swift that converts JSON files into immutable data models. The immutable data models allow creation of modified files with a builder system.

New Design Language And System:

While redesigning Pinterest, iOS developers also worked with renovating the visual design. Developers worked closely with application design team to embed something new that simplifies developing app for different device sizes. Also, the new framework automatically increases margins, fonts, and kerning according to the screen size and language. Developers have built new transitions and animation in a performant way.

Logs:

With all of the updates, iOS developers want to ensure Pinners would continue to relish the experience of saving and discovering the ideas on Pinterest. This can be only done through accurate measure usage. But, it can be difficult for developers to send a log to the server. Fortunately, iPhone app designers have developed a smart system that fetches the function of every button in the Pinterest app. This system is hierarchical and it gathers different contents based on activity performed by Pinners. It then generates detailed logs and sends them to a backend database.

Conclusion

The changes done by iOS developers in the Pinterest application are absolutely remarkable. The UI of the application has become more responsive along with seamless scrolling.

Author's Bio: 

Ritesh Patil is the co-founder of Mobisoft Infotech that helps startups and enterprises in mobile technology. He loves technology, especially mobile technology. He’s an avid blogger and writes on mobile application. He works in a leading android development company with skilled android app developers that has developed innovative mobile applications across various fields such as Finance, Insurance, Health, Entertainment, Productivity, Social Causes, Education and many more and has bagged numerous awards for the same.