Wednesday, September 5, 2018

Android of Antiquity


The Past, Present of Android Development…!

These are the days where you find Android dominating 80 percent of the market share. Android is the most popular operating system. We see 'N' number of Android smart phones with countless models and in fact, tablets, as well as other devices are also being used today. Now the question is that how is this Android dominating the world? Is this Android programming damn simple? Let's discuss Android's past, present and future.

Do you remember Miley Cyrus singing country music, Justin Bieber wearing his famous "Bieber" haircut and Malcolm still playing in AC/DC? Yes, that was the complex time for Android development. Developers had faced several issues with Android development. It was the crucial time for Android OS and for its possible applications.

Problems for Android were everywhere. It took time for Android to establish and go hand-in-hand for developers.

Buggy IDEs - In the Android development, official IDE had several issues and ton of problems and made developers go mad in 10 minutes. The Eclipse AT plugin was just buggy, very slow and quite unfriendly for more complex projects. Developers started praying for a miracle to happen and kept on trying for the best.

OS fragmentation - Of Android OS versions, Gingerbread (2.3.7) occupied quite market share (at least 15-20 percent)  in the Android world. In fact, most of knew that Android was down and underwent an overhaul with the version 4.0 (Ice Cream Sandwich) - where new UI elements, new APIs for device hardware, new screen densities., were established. These new elements resulted in us having to be careful to optimize and develop, program our apps to fit and work well with new as well ancient versions of Android. However, this left more bugs and crashes and resulted in prolonged development time.

Slow emulators - It was then the time for testing apps on different Android OS versions and screen dimensions. This made developers to buy 20 different Android devices which turned crazy. Well, if you ever tried using the default Android emulator? If you answer YES, then you would have experienced the painfully slowness of it.  

UI - Android apps turned boring. Now, look at iOS apps. You will find a life filled with colours. Everything you see is animated, transforming, going from left to right, right to left and so on... But our Android apps. Oh, NO! They were static. If we tried to enrich our UX, the old Gingerbread version would have killed each and every hope and wishes.

It was 2013!
All new Android!

You know, changes were happening so fast. It was surprising and in fact, we could have easily missed tracking the changes in that were taking place in the Android world. The whole Android ecosystem had many improvements. We started seeing new hardware (smartwatches, new software (Gradle, Android Studio), new OS (Android 50 Lollipop).

The tech giant Google, device manufacturers, developers,.. and several others contributed to the drastic changes happened in the Android market. Everyone started working on the development, simplification and improvement process of the Android version, as there established a stable OS with millions of apps and billions of users using it. There was an open access and open source principles for everyone.

However, it is hard to summarize all the changes here but I've made a list of things which ranked top and stood as the most important:

Android Studio
Android development, IDE became stable with version 1.0. This was a great miracle and took us to see the development process.  The Eclipse ADT plugin is officially deprecated and it is good if you can migrate all your apps to Android Studio.

Gradle
This is an automation tool which went and replaced Apache Ant which was a primary build system for Android applications.  Gradle gained huge popularity. It attracted al the Android developers as this helped in automating everything. This made developers job easy and helped in dividing the apps into different flavours. It also made the Android OS work with correct configuration, incrementing the build numbers, defining external dependencies and much more.

Gradle has become an 'administration' tool. It helped in defining and maintaining all our project settings. It has also increased the number of test automation libraries and automate build servers. It also brought the continuous integration (CI) development process to Android OS. However, Gradle was also criticized for its app of execution. It has been very slow on complex projects, but hopefully, these flaws will be resolved with upcoming versions.

Lollipop
Yeah! The biggest improvement of Android OS. Even tech giant Google stated the same. Each and every part, even the minute ones in Android has undergone some modifications and improvements. There were a lot of problems with upgrading older devices to Lollipop.

Lollipop on the outside - Material Design
Most of the things were fixed and the new bright Android UI called Material Design is one of the most important innovations of mankind in Android OS world. This changed the entire look and feel of old applications. This changed the completed UX principles. As Google says, motion provides meaning, the Material design has changed the way of Android and it has to respond to every user interaction, click, touch, etc. It made the users see the bold, embrace new vivid colours, use animations at each and every step of its usage. Large fonts- simply stated they would add life to our applications. The material design was completed adjusted to the Android ecosystem and it has adapted different screen sizes. This is the reason we see apps having a similarity but not the same looks on different platforms.

Lollipop on the Inside - Art
We see miracles in the design, UI components animations, colours... of Android. What about the engine of Android? Th inside beauty. You will notice a brand new runtime system, called ART. It was not a new thing. It was created as a secondary runtime system on KitKat. Lollipop has become the primary system and it replaced the Dalvik.

ART uses AOT (ahead-of-time) compilation. ART compiles the intermediate language (Dalvik bytecode). This turns into a system- dependent binary and helped in shorter execution time of our apps, less CPU usage and less battery drain. However, the installation process is quite long.

ART provides multidex support. Dalvik dex files had major flaws. They contain only 65,356 methods.  We had to recognize our Android applications in a way that the method count seems endless. Though this number seems big, if you see with Google Play services and few other external libraries, the number exceeds this limit. And the most important part of ART is that it organizes your application in a way that one could easily break byte-code in multiple dex files which are packaged together in one single APK.

2015  till date......

Marshmallow to Nougat to Oreo

Apart from whats on Lollipop which was proved to be the strongest version of Android OS, Marshmallow brings comfort and coolness to UI with features like  Status Bar customization , RAM Manager, Volume manager drop downs,and major upgrade being Security with its all new Biometric scanner technology which increases the security bar way up high.The multitask window manager is kept improving in Nougat version with split screen. The notification manager was majorly improved with sorting and view in the bar features.The battery performance has really gone up the bar too. The hardware heavy batteries with 2000mah and more the android really made peace with its background apps and improved the battery performance.Yippee you no longer have to think about your open apps any more they just DOZE OFF.
The DOZE has been improved in the Oreo even further with Doze on the go. Notifications prioritization and app interaction has improved on Oreo.Notification dots is the new way of accessing the apps in a better way.

              Expecting the unnamed Android P is gonna bring in even more features.

Friday, August 31, 2018

Tips To Prepare For An Experience Job Interview

       


When you are preparing to give an attempt for an experience interview, it means you are proving that your work experience is perfectly right and you are the right person for the role. But this is not an easy task. Experience interviews are designed in such a fashion to know whether you have the right experience for the job for which you are being interviewed or not. While you are being interviewed, you need to answer questions about your past employment situation, actions, skills, abilities and your achievements or experiences.

Mostly, the hiring manager will ask questions that will let him/her know if your skills are really enough to handle the job position. An experience interview questions will also reveal your commitment, dedication and interest to work with the company.

Experience interview questions vary depending on the level of position you are being interviewed for.  Some questions may directly relate to your resume, your experiences and some questions may speak about your inner being.

Here are some sample experience interview questions listed for you:

“Can you brief about the project at XYZ Company which you've mentioned in your resume?”

“Tell me, if you had happened to handle any conflicts between your employees in your company?”

“What are your biggest achievements in your last job?”

“What was the only point which you like most and least in your last job?”

“What are the things you learned from your last job?”

“Describe any project from which you learned specific skills?”

“Can you tell about your last employer's management style?”

“Did you face any difficult situations in your last job? If yes, what are those?”

How to Prepare for an Experience Interview?

Preparation for experience interview is the most important thing. You may feel nervous but you'll feel more confident when you prepare for the interview. It is always good to check the job listing to know what are the specific skills and attitudes the job requires. Basic reviewing of the questions is important. Make sure that you only give right answers to each question.

Recall all the past work experiences, projects and details of projects, management, your biggest achievements. So that you can explain them in detail without any confusion. Try to make a note of the specific role you played and the actions you took while handling the role and to achieve success.

You should thoroughly think about your greatest achievements as well struggles at your past jobs. Mostly, companies will ask you to describe your successes and failures at your last job. Your answers should be tactful.

If you are all set to answer any question, this will make you answer the questions concisely and calmly.

Be Crisp and Concise:
It is needed to be crisp and answer the questions concisely in any interview. Before you answer the interviewer, take a deep breath and think specific examples to explain clearly. A clear actions you have taken to achieve goals would give a bigger picture of your capability in handling similar situations and more.

Focus
Concentrate! Focus on what type of examples you are quoting to answer the question. You should not wander off topic. Focus on how you explain the situations from your past experiences.Mixing up multiple situations and rushing through them will only create confusion there by leading to a compromising view you.

No Blame Game
When you are describing any difficulty you faced in your last job, make sure that you are not going place blame on other people. This will add negative impression over your attitude.

The interviewer only wants to know about you. It is not about any others. So, don't blame anyone or any situation for your failures.


"Every job is a self-portrait of the person who did it. Autograph your work with excellence."
-- Jessica Guidobono

Thursday, February 15, 2018

Types of job interview

 

The job Interview may take several forms and to be successful, a job seeker must fare well in each of them. Here are some common types of Job Interviews –
Panel Interview – is usually conducted by 2 or more people who are part of the panel. When appearing for such an interview, you must remember to look at the person who asked you a question while answering it. In between, you should also look at the other members in the panel. The panelists may have a list of questions ready and each one of them may ask you the same one by one.
Face To Face Interview – One-On-One – Such an interview is conducted from beginning to end by a single person and this person may be responsible for interviewing each individual candidate who
has appeared for the interview. Eventually the interviewer may choose the most suitable candidate among all the candidates.
Telephonic Interview – Such an interview is conducted over the phone. Though the interview cannot see you, they will be listening to you carefully to understand how confident you are and your ability to talk fluently over the telephone, So be calm, composed and confident while speaking to them. It is good practice to keep a copy of the same resume that has been sent to the interviewer so that you can refer to it while being questioned. Remember to speak clearly and try to obtain more information about the position you are interviewing for.
Second Interview – Those who clear the first round of interview may be called for a second. This is your second significant step towards qualifying for the job. Hence, prepare yourself well before appearing for this interview.
Group Interview – is usually conducted with several candidates together who have applied for the same position. Questions are put to the group and candidates are expected to voice their opinions in a group. This will display your confidence to speak within a group as well as your leadership and team building skills.
Lunch Interview – Such an interview is conducted over lunch or dinner and tests the candidate’s social skills.