It Is Never a User’s Fault

It Is Never a User’s Fault
“He is clearly using it the wrong way!” I have seen designers say this, when a user makes a mistake and accidentally deletes all his data. Mostly in all such cases, it is never a users fault. Designers and developers lead users to make such mistakes. If user is taking the wrong action, who is to blame? The user? We need to understand how users navigate through interfaces we create. It can be summarised somewhat like follows, User opens the app/website with some fixed goal in mind. User takes a look at the screen, identifying actionable and non-actionable items from…

Optimise Text Search in Core Data

We typically use one of the following text search predicates with costs in terms of performance, Beginwith, Endswith ($) These are the cheapest queries that are possible in case of text  comparisons. In these cases first or last few characters are checked with the text and if the match is not found, code exits.  Equality ($) We can consider this query as similar to that of Beginswith, which checks all the characters in text. Contains ($$) This is bit more expensive as it keeps checking for a match in whole text length. Matches ($$$) This is the most expensive query in case…

Improving Performance and Stability of Core Data

Fetch only what is required. Your UI can not show all the data that exists in the table anyway. Don’t put extra pressure on core data to fetch data what you are not displaying on the screen. Every app has a different requirement for performance. You need to test the performance of your app by experimenting with batchSizes and fetching objects as faults. If you are not going to update or read managedObject relations, try using NSDictionaryResultType for fetchRequest result type. Specify which properties needs to be fetched. Use attribute types smartly, don’t use string for all. Numerical operations are always…

Scanner Update

Scanner Update
After UX study on previous version, We updated the screen so as to make more simpler, by removing things which were creating clutter. Full View - http://cl.ly/image/1a0z2D2n0K3r

VCPaginatedScrollView

VCPaginatedScrollViewOriginally built to be used as a base control for creating photo slide show control. This is a generic control that can be used for any kind of paginated view. Currently only supports horizontal scrolling.

Pantaloons’ ground floor comes at the TOP!!

Saw this amazing example of bad UX today, the directory of pantaloons shop! Its supposed to be a simple map of the floors. why does ground floor is at the top and top floor at the bottom? Directional arrow next to ground floor suggests that if you go down, you reach the first floor! How can people mess up such a simple thing?

Falling’s just like flying except there’s a more permanent destination.

Sherlock: Why are you doing all of this?Moriarty: It’d be so funny.Sherlock: You don't want money or power, not really. What is it all for?Moriarty: I want to solve the problem. Our problem. The Final Problem. It's going to start very soon, Sherlock. The Fall. But don't be scared. Falling's just like flying except there's a more permanent destination.Sherlock: Never liked riddles.Moriarty: Learn to. Because I owe you a fall, Sherlock. I. O. U.

BRAUN

BRAUN
First digital clock, where I didn’t feel the need to read user manual for setting time! BRAUN it is.

MacBook Pro mid 2009 SSD Upgrade Issues

Upgraded my Mid 2009 MacBook Pro 15” to 8GB DDR3 RAM and 64GB OCZ Octane S2 drive… Faced few issues initially, system wasn’t booting up from new SSD. Tried to downgrade EFI firmware from 1.7 to 1.6. It didn’t help much. Then updated SSD firmware to latest using firmware tools… And know what, it just works!  Currently running ML 10.8.3 with EFI Firmware 1.7 without any issues. Here is the link that helped a lot…  http://www.ocztechnologyforum.com/forum/showthread.php?104990-NEW!!-OCZ-Bootable-Toolbox-Mac-Edition

IPL iPhone Apps : Shit that you don’t want to install

Really??? Whats bad with these apps? Bad Types, not at all readable on the device. Specially Kings XI punjab app! Almost none of the apps really do follow UI guidelines F**ked up tab bars F**ked up control alignments Ok I understand about having brand colour apps but still like this??? Look at RCB app, I mean really? You really want me to install that shit on iPhone?

Walkthroughs and Tutorials

I personally think if something needs a walkthrough maybe its time to redesign the interaction. It generally means the app is over-designed, i.e. instead of solving the problem, we are trying to delight the user more.  Ofcourse delighting the user is must, but it should come through better usability and interaction first, and then through UI. I feel by adding walkthrough we try to make user feel that its rocket science, when it really should not be. Mailbox app gestures originated from app… Clear. Mailbox guys took it one step further. I loved the app at first look and kept…

Table

Table
A table that I designed… Has a changeable textured cloth below the glass. Change it according to occasion!

Scratches, Dents and Design

Few days back, I had this awesome wallpaper on my iMac of Crysis 3 Hunter holding a gun, nicely made wallpaper with lot of thought given to detailing. Our graphic designer was passing by happen to see the wallpaper, He came towards the screen touched the screen where there were scratches on the gun, and admired the detailing…. “look at those scratches!” The other day, I found my old iPod classic while cleaning a drawer, first ever Apple product I bought. It has a dent on the side. First thing I did was touching that dent and remembering how that…

Coolest project that I worked on ever…

Everyone knows the application DrawSomething and the kind of quick success this application has seen is beyond imagination. This is the application where users can draw doodles and share with friends live. It is something very different and subtle the way you communicate with your friends live. There is human factor involved in this application. This is what i think is the key point of success. There are applications that allow you to create drawing on devices and also to share with your friends over various social networks. This just clears your table and puts a simple idea of sharing…

Stop abusing App Delegate

Stop abusing App DelegateGenerally people misunderstand the usage of AppDelegate in iOS programming. It is not a singleton class which people use as a single point of contact for data access from whole class hierarchy. AppDelegate has a specific task that need to be done and it is to work with iOS notifications. If anywhere in your iOS code you are writing, [UIApplication sharedApplication].delegate… Its the time to rethink your class design. Matthijs Hollemans has written a nice article about this. I’ve been shouting this from ages, people please read this and STOP ABUSING APP DELEGATE!!

VCRequestHandler

VCRequestHandlerA very lightweight library for processing different types of fetch response. After receiving every response request we need to process it depending on the type of the data, say text, image, xml, json etc. This is a generic library so we can add new custom processors for as many types of different types of responses we need. You can also read local files using this handler asynchronous simple way!! All you need to do is get started with predefined processors i.e. ‘VCResponseProcessor’ and 'VCImageResponseProcessor’. Usage Add 'VCRequestHandler.h’ to the header file, and the implementation class should follow 'VCRequestDelegate’ protocol, add…

Words that changed my life… Stay hungry, Stay foolish.

This is the text of the commencement address by Steve Jobs, CEO of Apple Computer and of Pixar Animation Studios, delivered on June 12, 2005. I am honored to be with you today at your commencement from one of the finest universities in the world. I never graduated from college. Truth to be told, this is the closest I’ve ever gotten to college graduation. Today I want to tell you three stories of my life. That’s it. No big deal, just three stories. The first story is about connecting the dots I dropped out of Reed College after the first…