Tag Archives: Android

A decade of Memories – Thank You Zoho!!

My journey at Zoho is chugging into it’s 10th year today.. yess.. on 14th July 2004, 10 years ago I walked into these corridors with fresh thoughts, a very open mind, a few reservations and a lot of expectations.. Many interesting things have transpired in these 10 *short* years.. Looking back, I have a lot of nostalgic memories still fresh in my mind.. Here are 10 things I Love about Zoho from the top of my mind.. [I might go on and on and on if I dont set myself a limit. ;)]

 1. Culture at Zoho:

comfortness

The first and the best thing according to me at  Zoho is the culture.. Different people have different definitions about the culture.. That being said, I think there are a few generalities which can be stated and I’m sure Zohoites would agree..

From the very start, I’ve noticed a very strong emphasis on openess and communication.. And it is followed even now.. Every Friday, our CEO – Sridhar answers questions on any topic that Zohoites want to talk about and discusses everything openly.. And it is possible to ask anonymously as well 🙂

Employees will not be micromanaged.. not even the freshers.. Micromanagement is considered counter productive managerial style, and most of the managers whom I have worked with don’t micromanage.. More importantly employees are allowed to think freely and are allowed to work on fun projects..

Other standout aspects of Zoho Culture are  – free food, round the clock snacks, bean bags, recreation room with facilities like HD TV, table tennis, flexible timings and much more

2. Work life:

FirstTeam

We have a work-life balance here.. There are always times when there is a deadline and everyone needs to work harder.. However we can easily draw a line between work and rest of our lives – thereby not slogging at office on weekends (unless it is absolutely necessary).. And also not thinking about work at home 🙂

The best part is working with intelligent people who are always down to earth.. As a fresher.. this would be our wildest dream. My first team – Virtual Office was a special one and it stays close to my heart.. That is where I learnt all the nuances of Javascript and started my career as Client Side developer.. We used to be like a family, staying close and having fun at work..

I have had the privilege of working with different managers at various levels at Zoho.. Each one of them was special and I’ve personally learnt a lot from them.. Managers are mentors.. There are absolutely no barriers in terms of talking with higher level managers and one can freely talk about anything..

Anyone can work on a fun project and develop it in the free time.. It was way back 2009, when I showed one of my fun projects – the ability to attach documents from Google Docs right inside Zoho to one of my higher managers.. He was really impressed. He allocated engineering resources and pushed me to take it up as main project.. That is how I built a team for Zoho – Google integrations.. And now Zoho is one of the premier Technology partners for Google 🙂

3. Google Influence:

G_Speaker_IO

Being in the team responsible for integrating Zoho with top cloud services, I have had my chances to closely work with different giants like Google, Dropbox, Firefox, Box etc, to integrate our Zoho apps tightly with them.. I, personally, happened to land a lot of exposure working with different companies and experiencing different work culture..

In 2011, Google invited us to showcase our integration with Google  at their annual developer conference – Google IO 2011.. I represented  Zoho and gave a short talk at the conference. It was an awesome experience – as it was my first talk at any conference.. Later I had a chance to speak at various events including the recent one in Developer ISVs 2014 held in Google’s Mountain View office.

Google team invited us to integrate Zoho Writer/Sheet/Show right inside Google Drive.. And I had an opportunity to write our technical experience in Google’s blogs..

4. Android love affair:

Androidapp

I love to explore new technologies.. My desire to write Android apps dates back to 2010. At the Google IO 2010 conference Google gifted me an Android enabled device (a NexusOne) on my birthday – May 19th 😉 And being a Google fanboy I love Android 😉

I started building Android apps for fun and have published some apps in Google Play Store..

It is an amazing experience when something, that was a mere idea in your brain, is now being used of thousands of people around the planet.. yess.. some of my apps in Google Play Store have crossed 25K installs already 🙂

On seeing my interest and love towards Android, I was allowed to expand our team for building official Android apps for Zoho 🙂

5. Nurturing the Hacker in me:

security

Most of the people at Zoho wear multiple hats.. Employees here are passionate about what they do.. Since we are allowed to choose what we want to do, it’s exciting.. Before starting Zoho-Google integrations team, I was interested in finding security issues like Cross Site Scripting, Request forgery, Clickjacking and related web vulnerabilities.. I learnt various hacking concepts and our team managed to secure the first place in the hackathon event conducted by Zoho.. I soon became a security expert and shared my knowledge with various Zoho teams..

All of these learnings led me to find a couple of security issues in Google and being an ethical hacker I posted those issues to internal Google team 🙂 And I made to Google’s security Hall of fame twice in a single year 2013.

6. Play at Zoho:

chess

I used to play chess daily with my school friend and Chess guru – Barani. We used to participate in many chess tournaments irrespective of the result 🙂 However academics gained priority and our daily games were forgotten till I joined AdventNet (now Zoho).. I was pleasantly surprised to see many chess enthusiasts who were playing chess daily after office hours.. I joined them and renewed my love affair with Chess..  After a month or so ARC (AdventNet Recreation Club) announced the chess tournament – Normal and Blitz.. I was doubly excited for Blitz Chess and brushed up the openings, techniques and tactics.. Annnddd.. I managed to get a second place in Normal chess and won the title in Blitz chess.. That was my first ever win in any tournament…

Chess_Corporate

I have represented Zoho in various Inter Corporate Chess tournaments for the last 4 years and it has been an awesome experience.. Out of 6 games, I manage to win only 4 .. And most of my losses have been against rated players.. I attend the tournament atleast for this pose 😉

Every single year, after the tournament, I used to think of playing rated tournaments to get a place in FIDE ratings.. but the desire had to be shelved due to various reasons – work pressure or personal life  or something else ..

But during the start of this year, I decided enough was enough and attended a couple of rated tournmanets and became a FIDE rated player by defeating many rated players.. Yes… One of my biggest dreams came true 🙂

TT_new

There have been times when I’ve felt that I’ve chess addiction and need to get out of it. I started playing TT.. I even used to come to office on weekends just to play TT… Slowly my chess addiction faded away and the passion towards TT went up..

I participated in TT tournaments conducted by Zoho every single year, without counting the defeats.. And I clinched TT Championship 2013 in both singles and doubles..


Most part of my childhood was spent playing cricket (Motta-Maadi Cricket) with my friends.. And CricFest at Zoho helped me to be in touch with the game 🙂 CricFest at Zoho is considered as a big festival every year and we used to practice our heart out right before the tournament..

Being a hard core fan of Sachin, and an Android geek I made a small tribute to the great man – Sachin Tendulkar by publishing an Android App in GPlayStore 🙂

We also have Carrom board and Badminton tournaments but so far I havent managed to claim the title, though I play both, well. My latest obsession is badminton and I really hope to win the title in the coming years 🙂

sports

7. Team Trips:

teamtripEvery year we go for a team outing for a couple of days to get to know each other well and at the same time to counter the work stress.. And this picture is a special one.. you will know why 🙂

8. Marriage – In the Cloud:

I still remember the day I met her at Zoho, became friends on FB, followed each other on twitter, talked away to glory on Google Talk and how the inevitable happened in 2010.. Thank you @Zoho for shaping up my personal life as well 😉

Marr_new

9. Friends:

friends

I think this is the best part… Friendships forged at the workplace are strong and supportive like the friends made during school or college days.. I’m really blessed to have made some great friends in this journey with whom I can share my personal things and who stand for me during my difficult times. Some of my friends have left Zoho but are still in constant touch with me. Thank you folks!!

GeekOfZoho

 

10. Gratitude:

My time at Zoho has lead to where I’m today.. I’m thankful to all my mentors who gave me valuable suggestions in every single level of my career and to my parents/wife who supported and backed me up during my difficult times..  This post won’t be a complete one if I didn’t mention @Raju Vegesna for being an unselfish mentor and helping me turn my dreams into reality.. I have admired him for years and followed – without whom my presence in Zoho would have happened..

Special thanks to all my relatives and to some friends who asked me to switch from Zoho. I’m really glad that I didn’t listen to them – otherwise this post wouldn’t have been possible at all 😉

Overall, if you are going to work for an established company instead of a start-up, I honestly believe that Zoho is the best place to work. – Yes I’m biased 🙂

Advertisements
Tagged , , , , , , , , ,

JQuery Mobile – Life Saver for Mobile app development

Over the past few months, I’ve spent most of my weekends playing with Android development and related technologies… My loong time dream was fulfilled last week – published “My First Android App” on Google Play.. This would not have been possible without JQuery Mobile. As promised in my earlier post, I would like to dedicate this blog post to JQuery Mobile..  This post is all about  advantages of using JQueryMobile for Mobile development (read Android dev.), the problems that I faced and the solutions that I used to overcome them. I feel that what I learnt could be interesting or useful to others too, so will recount my findings here 🙂

After deciding about my weekends’ Android *fun* projects, I started reading various blog posts that cover the technologies and the UI frameworks that can be used for Android development..

My ground rules for mobile development were pretty simple:

  • Should have support for accessing native APIs like Camera photos, Contacts, Geolocation etc.,
  • Should be easy to take advantage of HTML5, Javascript and CSS3.
  • Should be able to build apps that support different platforms like ios, Android, Blackberry etc., (But this is not a major concern, as I’m only focussing on getting my apps in Google Android – atleast for now 🙂 )

After many days of literature review (courtesy: Google 😉 ) I short-listed three candidates which could be used for the app development,

  • PhoneGap + JQueryMobile
  • PhoneGap + SenchaTouch
  • JQueryMobile alone

I downloaded all the three frameworks and played with each one of them for some days to get hands on experience.

PhoneGap makes it easy for the developers to access native features on the phone and works perfectly with tons of UI libraries including JQueryMobile, Sencha Touch, JQTouch etc., You can use PhoneGap with any of these UI libraries as per your requirement, as each one of them has got different features set. Personally I felt that PhoneGap + JQueryMobile makes an incredible combo as it gave what I was looking for.

After burning the midnight oil with PhoneGap, I thought why unnecessarily package all the PhoneGap jars with my Android app though I’m not extensively using it.. Why not build a framework that satisfies my need alone? This triggered me to write my own framework that could access the native APIs.. I wrote a wrapper Java class that can provide the basic native APIs  like adding/modifying phone contact, retrieving camera pictures, getting the location etc., which could be called from HTML with the help of javascript.

With my own framework in place, I decided to use JQueryMobile alone for the app development for one single reason.. I’ve been a fan of JQuery for many years not because JQuery is running on Zoho platform 😉   I have many years of coding  experience in this framework as it immensely simplifies programming with javascript by providing easy to use simple syntax.. JQuery made Javascript more tolerable to me as its condensed syntax helpsachieve complex tasks with javascript quite easily.

There are many advantages in using JQuery Mobile for my app development.. To list a few,

  • JQuery Mobile has extensive demos and documentation for even a newbie to get the ball rolling with this library. It is lot more easy to use, with its simple syntax. That is with no prior JQuery Mobile coding experience , makes it easy to build a rough version of an app over a weekend.
  • This framework comes with a CSS Theme Framework that will help even a novice CSS designer to get off the ground very quickly.. It is also possible to add our own custom styles with this one.
  • It is easy to support both Android and iOS if we use JQuery Mobile. If you’re a developer, you’ll know the pain of maintaining a separate code base for each browser/platforms. The fact that JQuery Mobile will work in multiple platforms is a huge bonus.. One day I’ll publish my apps in iOS as well 🙂

I can go on and on, but will stop here for now.

I also faced some issues while using JQuery Mobile, but StackOverflow, the discussion forum helped me  to solve most of my issues..  However I would like to share two nagging issues that I faced with JQueryMobile, but found a way to overcome it.

  • When I tested my app on an Android enabled phone, it showed a vertical white space at the right side of the screen.. However I couldn’t reproduce the issue in Android emulator.. I googled, searched in stackoverflow, asked my friends but didn’t find any solution.. Luckily while searching for something else, I found exactly the same question here.. By adding the following code in Android souce my problem got resolved 🙂

    myWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);

  • In my app, I’ve added code to swipe the screen left/right by making use of JQueryMobile.. While doing so, I noticed a nasty flicker on the CSS swipe transition.. It seems that many others have facedthe same issue in the framework.. It is considered as a known bug which will be fixed in the upcoming updates..After much googling, found that by adding “webkit-backface-visibility” tag in CSS will solve the issue. I added the following one line of code which made my life flicker-free 😉

    .ui-page {-webkit-backface-visibility: hidden;}

These are the only two major issues that I faced with JQueryMobile so far. I’ll stop here as the post has become lengthier than expected 😉

One final word abt JQuery mobile..  I would strongly recommend JQueryMobile to anyone who’re going to kickstart mobile app development..

I’m hoping to share more of my journey and battles about my Android dev in the coming days.

Last but not the least, do expect my second app on Google Play within a week 🙂 Do watch this space to know more about the app and other installation details..

Tagged , , ,