Tag Archives: Mobile

SOLID: Dependency Inversion Principle

Dependency Inversion Principle Previous Principle: Interface Segregation Principle High-level modules should not depend on low-level modules. Both should depend on abstractions. When designing a system we have low level classes (classes which implement primary operation like: Network access, Disk access, Database access) and high level classes which have business logic. High level classes are dependent on Continue Reading »

SOLID: Interface Segregation Principle

Interface Segregation Principle Previous Principle: Liskov’s Substitution Principle A client should never be forced to implement an interface that it doesn’t use or clients shouldn’t be forced to depend on methods they do not use. In OOD we provide abstraction to module using interfaces, so we create an interface for a module and an implementation class. Continue Reading »

SOLID: Open Close Principle

Open Close Principle If you have not read Single Responsibility Principle Start from here Single Responsibility Principle Classes should be open for extension, but closed for modification This principle states that any new functionality can be added in a system with minimum modification in the current code. Means the system should be open to additions but it should Continue Reading »

SOLID: Single Responsibility Principle

Object Oriented Design Principles A good design is most important step of Software Development life cycle, and to have a good design we must follow some set of guidelines. According to Robert Martin in “Agile Software Development: Principles, Patterns, and Practices” there are 3 main reasons of bad design that should be avoided: Rigidity – System Continue Reading »

Tailor: Clean and Organized Code

  I found this quote by James O. Coplien on Japanese workplace organization methodology called 5S Clean your workplace on daily basis completely or set cleaning frequency. Use cleaning as inspection. Prevent machinery and equipment deterioration. Keep workplace safe and easy to work. Keep workplace clean and pleasing to work in. Just like our organization, the codebase Continue Reading »

InnovationM Lazy Loading and Memory Management of Images in UITableView in iOS

Lazy Loading and Memory Management of Images in UITableView in iOS

Introduction to Lazy Loading What is lazy loading? A little introduction of lazy loading is  it is a design pattern to defer the initialization of an object until the point at which it is needed. In simple words create objects when it is needed. Problems to Tackle Before talking about lazy loading of images, I want Continue Reading »

Multiple AsyncTask In Android

What is AsyncTask AsyncTask is an abstract Android class which helps the Android applications to perform tasks without blocking the UI Thread. AsyncTask is designed to be a helper class around Thread and Handler. Thread Pool Pattern AsyncTask uses a thread pool pattern for running the stuff from doInBackground() The Thread pool Pattern is where number of Continue Reading »

InnovationM Lazy Loading Memory Management UITableView Android

Lazy Loading and Memory Management of Images in ListView in Android

Introduction to Lazy Loading What is lazy loading? A little introduction of lazy loading is  it is a design pattern to defer the initialization of an object until the point at which it is needed. In simple words create objects when it is needed. Problems to Tackle Before talking about lazy loading of images, I Continue Reading »

iOS – Best Architecture, Design and Coding Practices

iOS – Best Architecture, Design and Coding Practices

We have identified some of the best practices that we need to follow while working on architecture, design and development of iOS applications. We will keep on adding more and more to it. Stay tuned… Best Coding Practices Image files naming convention There are four types of devices that we need to support while developing Continue Reading »

Design Heights – a Design Innovation Framework – from InnovationM

  InnovationM is pleased to formalize its’ UX/UI process / framework called “Design Heights” – A Design Innovation Framework from InnovationM. Design Heights is a repository of mobile & web design patterns. InnovationM has collated these patterns over the last 14 months or so based on experience of designing mobile solutions for our clients, internal Continue Reading »

InnovationM Secure Webservice Integration Mobile Apps

Secure Web Service integration in Mobile Apps

Web services have gained lot of importance lately. From mobile apps perspective, native apps (Andorid, iOS, Windows Phone, etc.) or HTML5/JS Frameworks like Sencha Touch need to talk to the web services to get the data and push the data. How do we ensure that request sent to web services is from authenticated client? For Continue Reading »

Innovationm Background Support For Applications iOS

Support for applications running in background in iOS

When application in iOS goes in background (Say, Home button is pressed) then application will not run. In iOS, only specific application types are allowed to run in the background. Let us see them in more detail. Application Types Support for Background in iOS There are 7 types of such applications. See the details below:   Continue Reading »

InnovationM Testing Facebook Integration

Testing – Facebook Integration in iOS and Android

Testing – Facebook integration of the app – requires different combinations of situations and cases to be tested. Ex Login to Application using Facebook when Facebook app is installed on the device. In another case, Facebook app is not installed. Let us go through some of them …. iOS – Login Test Scenarios  1. User Continue Reading »

Multiple Profiles In Android

Multiple User Profiles in Android

What is this offering from Android? One Tablet used by multiple users – How can we shield users from seeing each other stuff. Jelly Bean has an answer to it. Just like Windows OS, several user profiles (accounts) can be created on Android from Jelly Bean 4.2  (Tablets only) and onwards versions. This feature abstracts Continue Reading »