Here’s my son Dhruv wishing everyone a very Happy and Prosperous New Year. Dhruv was born on 22nd December and our cute little Christmas boy came home from hospital on 25th December.
Everyone is enjoying his cute activities and having fun changing his diapers and making sure he is fed properly. Sleepless nights were kind of expected and are part of the overall package but hopefully things will fall into a better routine as he grows.
Personally I have had mixed feelings since the day he has come starting from the exciting and nervous moments when he came out of his mothers womb; strange feeling on his first night when I woke up in the middle of the night and was finding it hard to accept that I have become a father and now the sleepless nights combined with the joy of holding him in my hands during burping sessions when Dimple is tired and needs a little break. On an all the experience is fabulous and is very different from what I have done in my life so far and I think I am enjoying it
Hopefully I’ll be able to catch up with some sleep in the coming few days and will write more about this special experience.
Finally the wait is getting over and my son is going to join our family in the world outside his mother’s womb in few days from now.
We have named him “Dhruv” based on the name of a famous character from the religious Hindu Text Vishnu Purana. Dhruv is referred as a very strong willed person in this text who was enlightened with Lord’s Vishnu’s knowledge and blessings at the age of 6 years so much that he was made the King at that age. He ruled successfully for decades before becoming Pole Star because of Lord Vishnu’s blessings.
Dhruv is supposed to join us by 22nd December. Everyone in the family is all excited and ready to welcome him. My mother has come all the way from India to be with us during this time and all we do or talk about during these days is Dhruv and preparations for welcoming him. He is obviously getting a lot of attention as he is going to be the first child after 25 years in Nayyar family after my younger brother.
It’s a very good feeling and seeing Dimple (my wife) go through the 9 months of pregnancy with Dhruv growing from a tiny cell to a full grown baby has prepared me mentally for officially becoming a father
.
I wish him a long, healthy and successful life full of love and care for everyone.
Wondering who the comic character shown above is? He is Super Commando Dhruv. My all time favorite comic Super Hero :-).
With Love
Dhruv’s Pa
.
Windows 8 Developer Preview has been out for some now but I didn’t get time to evaluate it. It’s Saturday so I thought of giving it a try.
I have a MAC 2011 with Windows 7 on Boot Camp.
On my Win 7 partition, I am using latest version of virtual box for my VMs.
While creating a new VM using VBox , it was getting stuck at the stage where file expansion happens and that’s where one of the comments in the following article came handy.
http://blogs.oracle.com/fatbloke/entry/windows_8_in_virtualbox
When using Virtual Box for Windows 8, make sure that the following settings is there.
Go to Settings – Storage – Sata Controller
Ensure that the “Use host I/O” is selected for the SATA drive.
Enabling this results in completion of file expansion and setup.
In order to create an app for iOS platform, it’s important to understand what are the best practices for creating applications. Apple’s Human Interface Guidelines for iOS provides relevant information about that.
Start reading the guidelines at this location -
In case you do not have the time to read the complete guidelines then you can refer my notes mentioned below about the guidelines to start with.
Pixel Vs Point
Handle gestures well
|
Gesture |
Action |
|
Tap |
To press or select a control or item (analogous to a single mouse click). |
|
Drag |
To scroll or pan (that is, move side to side). |
|
Flick |
To scroll or pan quickly. |
|
Swipe |
In a table-view row, to reveal the Delete button. |
|
Double tap |
To zoom in and center a block of content or an image. To zoom out (if already zoomed in). |
|
Pinch open |
To zoom in. |
|
Pinch close |
To zoom out. |
|
Touch and hold |
In editable text, to display a magnified view for cursor positioning. |
|
Shake |
To initiate an undo or redo action. |
- Native Apps - Created using iOS SDK and run on the device itself
- Web Apps - Collection of web pages that perform a focussed task and the interface is designed in a way that it appears as a native App and not like a web site
- Optimized Web Pages - Web pages optimized to run on Safari.
- Compatible web pages - Web pages designed to run on safari as is.
- Does not allow resizing of display area
- Supports Cookies
- Does not support flash, java and plugins
- An App should convey the message of what it is intended to do clearly
- Interface of an App should be consistent with iOS standards and all sections within the App should be consistent with the overall App theme.
- An App should give appropriate feedback to user’s actions
- App can represent objects in the same was as they are used in real world e.g. using folders like they are used in real world, using on/off switch etc.
- An App should put it’s user in control of the functions the App performs. Warnings should be shown to users if user is trying to perform an action that he should not perform but decision making about what to do with those warnings should be left with the user.
- Identify feature list
- Identify Target Audience
- Filter feature list by target audience
- Controls should be tappable
- App structure is clean and easy to navigate
- User feedback should be clear
- Universal Apps should render properly on both iPhone and iPad
- Feature set should be same for both iPhone and iPad Apps
- Always have a reason for customization
- Do not customize a standard control unless it is absolutely required. If you do customize then make sure the customized control at least has the functionality that the standard control it is based on has.
- Focus on Primary Task
- Elevate Content People Care About. Fade navigation controls when user is not interacting with the screen to allow content to take full screen space. Photos App in full screen is a good example.
- Keep the most important / frequently used content on top section of the screen.
- Text and labels used within the application should use the simplest verbiage and should be user centric.
- Keep user input as less as possible. Try to extract information from what they have already stored on the device instead of asking them to type it again and again.
- Avoid use of application settings as much as possible because changing settings require user to quit the application and open settings window. Try to keep the configuration options that user would frequently change within the application.
- Keep branding information in the main App as subtle as possible. An App icon can have logo and can be completely used for branding but App’s main area should not be overcrowded with branding information.
- Be as close to real world objects as possible in designing user interface applications.
- Make size of tappable areas in the application about 44 X 44 pixel.
- Support multi-finger gestures wherever required.
- Handle orientation changes appropriately by using the following guidelines -
- Always prefer to support both orientations
- Do not just scale images when orientation changes. Use different images for each orientation if required.
- When the App launches, launch it in the orientation that the device is in.
- Handle gestures appropriately. Do not create custom gestures as it can confuse users.
- Keep modal boxes minimum
- Try to launch applications intently without any delay
- Display a start up image during the launch which looks like the first screen of the application to reduced perceived launch time
- Launch an iPad app in the orientation the device is at the time of launch unless the App is designed for a specific orientation like landscape. In case of landscape orientation only Apps, App should remain in landscape when home button is on the right side and also when the home button is on the left side of the device.
- An app should not require a restart of iPad after the app is installed.
- Always save the current state of the application when the application is stopping.
- Do not quit the application programmatically without informing the user about it.
- If a license agreement has to be displayed before users use an application; it should be displayed in a way that doesn’t impact the user experience. Few options are displaying it in App store when the user goes to App page in App store
- If an iPhone application has a tool bar then deigning the same application for iPad should have the tool bar in the top bar.
I should have recorded this video earlier as it is about the first step in becoming an iOS developer that is to get familiar and enroll for Apple’s Developer program but as they say it’s never too late so I am recording and sharing this video now.
Apple Developer Program is your first step towards learning iOS development and has free features that allow you to get your hands dirty before you further invest in this ecosystem.
A colleague of mine shared this interesting video sometime back which goes like this -
Try accomplishing the most difficult thing that you have in your To Do list as the first thing when you start your day rather than delaying it forever.
Watch this and you will know what I mean -
http://www.eatthatfrogmovie.com/
On sundays I don’t usually care about frogs but I have one left from Friday that I haven’t eaten yet.. and I am gonna eat it now
.
It’s about a little more than a month before me and Dimple will be entering parenthood. Somewhere between 22nd and 28th December this year, we are expecting a baby boy to join our family
.
As part of our preparations for welcoming the new born; recently we have started talking more about what all he is going to need when he is with us and what all we should be buying now. There is one thing which we definitely need to purchase before he comes is something for him to sleep in/on.
Depending on whether you want the baby to sleep with you in the same bed or not; there are various options available like this and this. What we liked the most is a product that we hadn’t seen before and drew our attention because of it’s innovative design and simplicity.
It’s called a co-sleeper and made by a company called ArmsReach. Their concept is simple and a very important one that a baby needs his mother’s warmth more during the initial months of his life than any other time and should sleep in close proximity with her body. This video here talks in detail about what I am trying to convey.
Co-sleeper gets attached to the bed in a way that the mother can easily reach the baby as and when needed and the baby always feels he/she is sleeping with the mother.
Their design is brilliant and is a result of just a slight modification from the design of a regular cot but this slight change has resulted in a significant improvement in the user experience and usability of the product.
In principal the same approach is applicable to any industry including software. Subtle changes to the way we think and design things go a long way in creating products that are more usable and create a long lasting impression in consumers minds.
I got some comments asking about the software I use for recording my video presentations.
I use Camtasia by Techsmith. It's an inexpensive software with quality features for recording screen with voiceover and other advanced features such as dynamic sound processor and smart focus. I like the smart zoom feature a lot and recommend it for screen sharing videos where features of a product are to be demonstrated.
You can download the trial version from here - http://www.techsmith.com/download/camtasia/default.asp
XCode 4.2 launched with a new feature called “Storyboards” for creating interfaces with multiple view controllers (screens). In the video below, I demonstrate using this feature to create a basic iPad application.
XCode has changed a lot over the last few years and it becomes difficult for newbies to hit the ground even with basics of event handling etc. since the available literature refers to how things were handled in earlier versions of XCode but now the approach has changed with iOS5 and XCode 4.2.
In the video shown below, I demonstrate creating a basic Hello World application using XCode 4.2 and iOS 5 and how to create connections using Interface Builder and basic UI elements.
Image Source – http://staceydigital.wordpress.com/2010/09/29/hello-world/









