Vinsol Ranked Among The Top iOS & Android App Development Companies In 2019

$200 Billion. That’s the number that mobile app economy is poised to register globally in 2021. From $50 Billion in 2012, various forms of monetization models in the smartphone industry have contributed to an immense surge in the ecosystem of consumers, enigmatic product innovations, and the profession of app development itself.

Read more

Building your first app - Should it be on iOS or Android

Whether you have a great idea to serve the general population or a quirky resolution to a problem that a particular set of audience faces, making a mobile app has become a necessity for a number of businesses.

Smartphones enable us to access unlimited information, make connections, and use the internet on-the-go to work on complex production tasks. Some of us would argue that the global smartphone market is oversaturated, but we believe in facts that prove this otherwise. It is because a lot of unimaginable ways are being invented for ease of doing business and mobile apps have a huge potential in the future to make our lives better.

Read more

Custom Edit Control for UITableViewCell

In one of my recent iOS project I was supposed to replace table view cell default edit control with a custom button to match the designs. I guess everyone knows that its pretty simple to change edit control's color for selected state, we simply need to set cell's tint color.


But there is no way to customise selected or default state of cell edit control with our own custom image because there is no public API to access this control. So, to customise this we have to write our own code. Steps below will guide you to achieve this.

Read more

Vinsol Introduces ShopSpree: First iOS App for Spree Commerce

We understand the preferences of shoppers have changed globally. Today, consumers prefer shopping in the most convenient ways: anywhere, anytime and on the move. This changing landscape has given birth to the world of mobile and applications. The statistics prove the increase in mobile internet usage is on the rise, now standing at 65% globally.


Around 32% of all online purchases have been done through mobile. Mobile commerce is looking promising, and expects the spending to be $200 billion USD by the end of 2014, reaching an approximate 50% growth from 2013. Predictions indicate that by 2020, smartphones and tablets will account for more than 75% of global online commercial transactions, and more than 50% of spend.

The e-commerce market, which is now enhanced by mobile, is comprised primarily of e-commerce companies that have long held a web presence, but have gained even more with the transition from web to mobile.
Read more

Drawing tool in iOS ( openGLES or UIBezierPath )

New to the problem of making a drawing/painting tool for an iOS application many developers get confused on using either OpenGLES or UIBeizerPath. Sometimes sample code on apples developer website GLPAINT  points many developers to use OpenGL Views for making paint layers for an application. A major issue with this that the developers do not understand is that OpenGL Views leave very heavy memory footprints and on devices like ipad1 having 24mb of memory to use per view , this can be a pain.

Trying to make a transparent openGL view which allows the user to paint on a transparent canvas with the background views visible is a problem I faced. Often crashes start occuring once you add multiple openGL views on a single view i.e adding multiple transparent paint canvases on a single view. These crashes are shown to be occuring because of the application receiving memory warning and the delegate “didReceiveMemoryWarning” being called.

After spending a lot of time with OpenGL , trying to figure out  a way to reduce the memory footprint (using instruments in Xcode), one gives up. The solution thus thought turns out that ipad1 cannot support multiple paint layers and the functionality has to be restricted for user to be able to add only a single layer per view, which indeed is not true.

Now comes the boon of UIBeizerPath class. This class introduced in iOS 4 SDK  makes it a lot easier for a developer to make multiple transparent paint canvases and add it to a single view without having a high memory footprint.

Steps on how to make use of UIBezierPath :

-       Add a new UIView class to the project , name it paintCanvasView.

-       Add two objects  in header file,

-       Initialize these objects in the init method by overridding it.

-       Override drawRect

-       Implement Touches Began

-       Implement Touches Moved

That is it.

You can use this PaintCanvasView Object in your code like any other UIView Object.  I hope this post would help some developers who are unaware of UIBeizerPath class and its uses. A further implementation of this is adding pattern to the rendered strokes. This pattern can be rendered on the strokes using pattern image , assuming pattern.png. Replacing the bColor with a pattern image in init method would do this trick.


Update 16May’12

Adding infinite undo and Redo managers:

-   Add two arrays to paintCanvasView.h

-   Add two methods to paintCanvasView.h

-   Allocate the arrays in init method

-   Modify drawRect in paintCanvasView.m to draw from pathArray

-   Add bPath to pathArray  in touchesBegan

-   Define undoButtonClicked and redoButtonClicked to modify pathArray as desired.

That is it.

There is no rocket science to make an infinite undo manager for paint or sketch. One can simply maintain two arrays, buffer and path. By easily maintaining all items removed from path array in buffer array, redo functionality is achieved.