Category Archives: Mobile

Testing on our private mobile device farm using STF

Naukri focuses on providing the best customer experience to the user irrespective of whatever platform he is using. In the field of mobile app testing, we have to make sure that testing of apps is done on maximum possible mobile devices (especially the Android mobiles having a large user base of Naukri). As there are thousands of Android devices in the market today, one of the biggest challenges we faced while testing the mobile applications is the selection and management of these devices. While the selection is done based on the number of users we have on different screen resolutions and... Read More

All Errors in One Place

When we release an Android app on Play Store, we constantly track error logs, crashes and ANRs via different mediums. 1. Playstore: We check our Playstore console regularly for statistics and crash reports. 2. Our common error logging system (Newmonk): To ensure our app is working fine and users are not facing any technical issues, we collect error logs using our own error handling module. We regularly check this interface as well. We follow a Roster programme wherein the team members take turns to monitor app health and constantly look for solutions to optimize the efforts being spent by... Read More

Static Framework for iOS

Why we need framework: Fast iterative compilation times (up to 3x faster). Easy distribution and packaging. No modifications to Xcode. Simple set-up for third-parties. Support for building the framework as a dependent target (i.e. modifying source in the framework and building an app will automatically rebuild the framework and relink as expected). Works with the latest version of Xcode. Constraint to support .framework: There are a few constraints that we want to satisfy when building a .framework: Fast iterative builds when developing the framework. We may... Read More

Lean Apps

At Naukri we always target to keep the the app lean in terms of size. Size can be measured as:- -APK download size: Users often avoid downloading apps that seem too large, particularly in emerging markets where devices connect to often-spotty 2G and 3G networks or work on pay-by-the-byte plans. -App size on phone : Smaller the app size, more are the chances when competing with remaining apps for staying in the user’s phone for a long time. We regularly analyze the components which we can optimize or remove to reduce both. Some of the best practices we use are: Remove unused... Read More

Challenges Using Appium for Mobile App Testing

Mobile automation poses different types of challenges in comparison to the automation of Web browsers. New tool sets are making it easier and easier to engage in genuine agile development on Mobile. In particular, true test-driven development—which was formerly a hard, upstream slog on Mobile—is becoming increasingly attainable. 2 years back, At Naukri we used to test the Mobile Applications manually. With the increase in technology and functionality in mobile apps we were facing many challenges while doing manual testing like: There is huge fragmentation of both devices and... Read More

Session implementation practicing OAuth2.0 fundamentals

What is OAuth 2.0 Protocol and benefits of practicing it for a Session Management system OAuth 2.0 is a protocol that allows distinct parties to share information and resources in a secure and reliable manner. The OAuth 2.0 protocol allows two parties to exchange information securely and reliably. In more practical terms, the most common uses of OAuth 2.0 involve two things: Allowing a user to log into an application with another account. For example, Naukri enabling users to log in with their Facebook accounts. Allowing one service to access resources on another service on behalf... Read More

Naukri Android App v9.0 Beta

The itch of having your app to be the most updated with industry and the passion of doing the best in performance (As per our mobile design principles for memory, size, network and speed); these are what keep the engineering team here motivated. The latest Naukri Android app release (v9.0) bundles new features and lots of technical improvements. An existing user will get to see a completely new and improved user interface with Material. The app’s Dashboard has been revamped for easy access to new jobs, updates and actions to be taken by a jobseeker. Users can now Browse IIT/IIM jobs,... Read More

Vector Drawables

Naukri.com job search app is using lot of icons which increase the application size so we started using Vector Drawables. It will reduce the app size and complexity of maintaining different versions of assests(hdpi, mdpi…).  In this blog we’ll take a look at how we used them and some of the advantages they give us, and how we can get some really impressive results from relatively small amounts of code. Simply explained, vector graphics are a way of describing graphical elements using geometric shapes. They are particularly well suited to graphical elements created in packages such as... Read More

How we @Naukri avoid Out of Memory (OOM) in Android Applications

We in Naukri.com always keep memory usage in mind while developing android applications and keep on regularly checking the memory usage of different pages. We added memory usage in our checklist before releasing any new version because racking down the android memory issue (OOM) is one of the pain full task of every android developer. OOM errors often seen on tools like Criticism or Crashlytics make developers run for the solution and finally doomed with fuzzy answers. Mobile devices typically have constrained system resources so we have to be cautious while loading the media files. The... Read More

MVP in Android

It is commonly said that Unit Testing in Android is hard and we observed the same. This is mainly because the standard way of developing Android applications encourages us to write code that is difficult to unit test. A lot of business logic resides in the component classes (e.g. Activity, Fragments, Services etc..) which is definitely not easy to test. We can write UI tests for them but these tests are based on instrumentation API and are very slow as they run on an emulator/device and are more like end to end functional tests rather than unit tests. Version 1.1 of Android Studio added... Read More