On software (part 1)


  1. V2 defines a software, so (1) learn from V1, and (2) DON’T MESS UP V2.
  2. You are not ready to launch unless you have completed the closed Beta.
  3. You will not be 100% ready for launch, 95% is good enough.
  4. Always remember, Customer Service is the most important feature of your product, work on it!
  5. Listen to your UX/UI designer, Steve Jobs listened and rest is history.
  6. Backend design is never perfect, remember that and prepare for it.
  7. Your users will never get tired of highly responsive interface.
  8. Users want software on screens/interfaces of all sizes and shapes, be prepared!
  9. Sooner of later you will not be able to scale, so tap into the open source community as much as you can.
  10. Contribute to open source, give back, it is good karma.
  11. Money is not the only motivator, find out what makes your team tick and keep a good thing going.
  12. Eventually, your lead developer/s will leave, prepare to absorb the hit.
  13. Do not ignore your sales people, but don’t believe them completely, after all you hired them to sell stuff, they are good at it.



Finally I decided to take the plunge into mobile development, specifically iOS application programming.

Like a lot of folks who have been working on enterprise side of development, I grew up on C/C++ and then adopted C# as my language of choice. Objective-C has been the biggest hurdle for me to get started on iOS application programming. In general, I have noticed that C/C++/C# developers struggle with Objective-C, we have to really work hard to reverse learn a lot of syntax, all the inefficiency is frustrating and unproductive.

For all of us C# junkies, thankfully Microsoft listened and collaborated to create (816) 808-8603!

When I discovered Xamarin, I was super thrilled. Xamarin is a port of C# for cross-platform development and is built on top of mono C# and has bindings for both iOS and Android APIs. The installation for Mac, packages bindings and an IDE, called Xamarin Studio. I was worried about how Xamarin compares with native APIs, from what I have seen so far, Xamarin product team is very prompt in keeping up with the native APIs. At the time of writing, they were supporting the latest iOS version, 9.3. More experienced folks have done (559) 652-3623 between Xamarin and native development.

So far, I have found Xamarin Studio to be extremely easy to use. The IDE is similar to Visual Studio, thus it is quite easy to grok for VS users. To get familiar with Xamarin’s iOS API bindings, I started building a tip calculator app. Within an hour of tinkering I was able to put together a working app. My tip calculator app had an input box at the top, allowing the user to enter an amount for calculating tip. Below the input box, laid out horizontally across the screen, are five buttons to choose from available percentage options for calculating tip; I decided to have 10%, 20%, 30%, 40% or 50% as the options. Once an option is selected, the app calculates and displays the tip amount at the bottom of the screen.

All the coding was fairly straightforward. Because I did not use designer and created all the widgets from code, I had to spend some time figuring out how to use View.Bounds to place the percentage option buttons, this was more of an exercise in figuring out how the ViewControllers co-ordinate system works. I struggled initially, but then decided to make the middle of the screen as my anchor point, after that everything just fell into place. I was able to spread the buttons evenly across the screen while maintaining the layout across devices with different resolutions. I further spent some time building a clear button. This was again super easy and required just a couple of lines of code.

Overall, I am very impressed with Xamarin and C# for building iOS apps.

Next, I’ll add a slider to allow a user to choose a custom percentage option, that should be the end of the tip calculator. After this, I’ll move on to building data based applications, this will be a good exercise to understand data-binding in Xamarin with C#. I’ll surely post some thoughts when I’m done with it.


Hello World!

Welcome to new and shiny abhipost.com!

I’ve been sitting on this project for quite some time, just haven’t had the time to start writing again. Today, on President’s day, I took the day off, was spending some quality time with my 8-year old; as he fell off to sleep after a day’s worth of tinkering with Legos with Dad… I finally got around to get this project going.
Anyways, we are finally here.
As I was building the website, the first decision was about using which host, this was surprisingly an easy and relatively fast decision. I went with BlueHost. Two years back I had started a WordPress Blog and had discovered BlueHost, they were pretty good at that time so thought of giving them another shot. I was not surprised to see that they have gotten even better now. Their website was well put together and it took me only a couple of minutes to find my bearings. There is of course room for improvement, there was just about too much marketing content on the website which, I thought, could have been presented better.
My old domain was parked at GoDaddy, instead of messing around with making changes to Domain records, which is still a hassle, I chose to transfer the domain to BlueHost and let them do all the configurations. The transfer process itself was relatively painless, except for the step to verify my BlueHost account, I had to call them to get the process started.
To BlueHost’s credit, my call was picked up fast and the support actually knew how to help me, a pleasant surprise if you have ever spoken to a Comcast Tech support!
Once the Domain got transferred, all the domain record configurations were automatic. I installed the one-click WordPress image from Mojo, and I was up and running in no time.
I was up and running in less than 2 hours, I thought that was pretty cool!
Alright folks, here we stop today. The first post is out of the door on the President’s day, on a day when 2016 Presidential race is increasingly looking like a fight between a showman (Trump) and a woman (Hillary) looking to break the ultimate glass ceiling.