Skip to main content


Showing posts from September, 2017

Caching POST requests with Varnish

Caching POST requests 

When a client (web browser) wants a regular resource (eg a HTML document or an image) from a web server, it will make a GET request to the server. In a default installation, Varnish will cache such requests, and this will lessen the load on the conventional web server.

When a user logs in to a site, or provides some unique or private information, this will be done through a POST request. By default, Varnish will not cache POST requests, but pass them directly to the backend server, unmodified. This is typically a good idea, but sometimes it makes sense to also cache POST requests.

When two different users use POST towards a web server, we only want them to receive the same reply if they supplied the same request body. The solution is to make the request body a part of the hash, and let the normal caching logic happen. The result is that only clients who supply the same body will receive the the same reply.

This tutorial describes the steps needed to cache POST r…

STF: Open-Source Fastest device testing Smartphone Test Farm for Android

No more trouble
Forget having to physically pick up a device ever again.
No more learning where the buttons are, or where the power cord goes.

Remote control
Any device in realtime, using your mouse and keyboard.
Or even your own smartphone.

Manage inventory
See which devices are connected, and who is using which device.
Search devices by any specification.

From your browser
No app installation is required
as a user.
Do realtime testing on more than one device, using just your browser.

Control Multiple Devices
As if they were plugged directly to your computer

Apple updated Ratings and Review Policy

You can ask users to rate and review your app at appropriate times throughout the user experience. Make the request when users are most likely to feel satisfaction with your app, such as when they've completed an action, level, or task.
Give users an easy way to provide feedback on the App Store without leaving your app using the SKStoreReviewController API. You can prompt for ratings up to three times in a 365-day period.

Apple App Store Ratings and Reviews

When you call SKStoreReviewController.requestReview() while your app is still in development mode, a rating/review request view is always displayed so that you can test the user interface and experience. However, this method has no effect when you call it in an app that you distribute using TestFlight.

Apple Developer Documentation

25 Android libraries you definitely want to try out in early 2017

This is a list of 25 best Android libraries released in January and February 2017. All of these are worth trying out — they are not in ranked order. Let’s get started!

Lottie - AnimationsStore - Async Data Loading and CachingCheck out our Carlos, too!Chuck - HTTP debugger for OkHttpCoordinatorTabLayoutShimmerRecyclerView - Cell loading indicator like FBfreeCodeCamp

Animations with Lotti for SVG-like Animations created by After Effects for iOS, Android and React Native by AirBnB

Lottie AirBnB: Behind the scenes of our new open-source animation tool.
Lottie is an iOS, Android, and React Native library that renders After Effects animations in real time, and allows native apps to use animations as easily as they use static assets. Lottie uses animation data exported as JSON files from an open-source After Effects extension called Bodymovin. The extension is bundled with a JavaScript player that can render the animations on the web.

Lottie also has several features built into its API to make it more versatile and efficient. It supports loading JSON files over the network, which is useful for A/B testing. It also has an optional caching mechanism, so frequently used animations, such as a wish-list heart, can load a cached copy each time. Lottie animations can be driven by gestures using the animated progress feature, and animation speed can be manipulated by changing a simple value. iOS even supports adding additional native UI to an animation at runtime, which ca…

Texture: Keeps the most complex iOS user interfaces smooth and responsive.


Texture is an iOS framework built on top of UIKit that keeps even the most complex user interfaces smooth and responsive. It was originally built to make Facebook's Paper possible, and goes hand-in-hand with pop's physics-based animations — but it's just as powerful with UIKit Dynamics and conventional app designs. More recently, it was used to power Pinterest's app rewrite.

As the framework has grown, many features have been added that can save developers tons of time by eliminating common boilerplate style structures common in modern iOS apps. If you've ever dealt with cell reuse bugs, tried to performantly preload data for a page or scroll style interface or even just tried to keep your app from dropping too many frames you can benefit from integrating Texture.

Pinterest: Texture

pop: An extensible iOS and OS X animation library, useful for physics-based interactions.

Pop is an extensible animation engine for iOS, tvOS, and OS X. In addition to basic stat…

Backend-driven native UIs

Backend-drive native UIs

John Sundell Slide Share

Using Back-End Design to Create Customizable Front-End Mobile Experiences
By controlling the front end of mobile apps from the back end we can build customized experiences at runtime, creating cleaner interfaces and reducing load times.

Nithin Rao UX Magazine

The Hub Framework
Welcome to the Hub Framework - a toolkit for building native, component-driven UIs on iOS (no Android support released yet). It is designed to enable teams of any size to quickly build, tweak and ship new UI features, in either new or existing apps. It also makes it easy to build backend-driven UIs.

The Hub Framework has two core concepts - Components & Content Operations.


LeeGo: Build UI without UIView
LeeGo is a lightweight Swift framework that helps you decouple & modularise your UI component into small pieces of LEGO style's bricks, to make UI development declarative, configurable and highly reusable.

Wang Sheng Jia: GitHub

ComponentKit: A Reac…

Firebase Cloud Functions

Cloud Functions for Firebase (similar to AWS Lambda) lets you automatically run backend code in response to events triggered by Firebase features and HTTPS requests. Your code is stored in Google's cloud and runs in a managed environment. There's no need to manage and scale your own servers.

Realtime Database TriggersFirebase Authentication TriggersGoogle Analytics for Firebase TriggersCloud Storage TriggersCloud Pub/Sub TriggersHTTP TriggersFirebase Google