If you recall, we took an ear-popping lift ride to the 22nd floor of WTC a while ago to cover a record marking event for to be held at the highest point in Colombo. We thought of trying it once again. Tech Talk by Volume, third of the series.
The process is simple, they invite a speaker, presumably an expert of his or her field to share knowledge on a particular topic. if you are the type of person who has a a thirst for knowledge, best practices or at least to network with other fellow professionals and industry experts; this is the space for you.
Let’s Start Talking
The session kicked off with a question, “Why do we need optimization?” Yes, this Tech Talk revolved around Mobile Optimization. Sanath Nandasiri, a Senior Software Engineer from Exilesoft was the speaker for the day. As with ye regular tech talk, this too was a highly technical talk.
He broke down the topic optimization into several other subtopics. He started the talk about how apps drain the battery when they aren’t optimized and why battery life has become the key issue in smartphones.
We all have had that panic attack once, when your smartphone popped that message saying, “Battery low.1% remaining”. Nope, we won’t ask a raise of hands. You charged it in the morning before getting out for work, now it’s not even the lunch break and your buddy says this. Why? Sanath said that it’s all in the battery. Developers must concentrate on this factor at all cost. This is because the moment a user feels that a particular app drains the power, he or she won’t think twice to hit the uninstall button.
The question is how do you do the optimization smart. The magical formula is nothing but a repeating process. “The optimization lifecycle. Gather data. Action (repeat)”
The next topic Sanath spoke about was Network optimization.
“Users are intelligent. Respect your users.”
It all lies on those little things. If there is something that your app needs to download, just add a few lines of code to it so that it will consider the current status of the phone before moving forward. This refers to checking whether it’s connected to WiFi, does it have a sufficient level of battery or is the user busy with some memory draining task at the moment. No one loves an app which eats up their data package.
“Sever pushing is better than server pulling.”
Sanath didn’t forget to share some of the best practices and smart ways of doing things. That is where he did an in-depth explanation on server pulling and pushing. He said, “In the process of server pulling, the server is stressed as all the users keep requesting. But in the case of server pushing, only the users who have updates will receive data. A smarter way to do a server pull is not to request constantly but increase the time interval between the syncs instead.”
- Use GCM network manager or Job scheduler to schedule syncing with arguments.
- Use battery historian tool to track on battery and optimize the application.
Well, that’s exactly how he started. It was about memory optimization. He conducted a memory analyzation procedure during the demo, where he gave away few more tips to devs. The demo showed us the impact of different data types such as enums and bitmaps have on the memory. To reduce the memory impact, he recommends using libraries such as Picasso and Glide
Optimizing the User Interfaces
User Experience, how can one possibly forget about it? But here Sanath took onto the User Interfaces aspects. At the end of the day, it’s about making things simple. So as the solution he recommends is to use hierarchy viewer to see UI view hierarchy. Yet another tip; use Lint.
As it grew towards the end of another Tech Talk, followed by a Q&A session; it was time for some networking while enjoying refreshments. What you have to take out from this Tech Talk is that optimization is a key factor you need to focus when you are building apps. A well-optimized app will boost up the User Experience thus making it a product that people love. This is what is missing in many apps we see in the market today.
It was a highly specific and technical session. There was a chance that you’d get lost in the middle of the way if you aren’t from a mobile app development background. On the other hand if you are a geeky dev, yes it was some good load of knowledge. As we mentioned in the beginning this is a series of events, so you better be alert for the next one.