Independence Day Celebration!!

Independence Day was just around the corner and we started planning for the special day!! Typical ideas like having ethnic day, giving away best dressed award, games, team lunch etc etc came up….I was discussing these ideas with Amit and a great idea of spending time with children in an Orphanage came up. The team was very supportive and contributed generously to organize the activities. The Company decided to contribute the same amount that was collected from the team :-) . We identified a Ashram called Anatha Sishu Sevashram located in Wilson Garden and planned to make the visit on Friday (14.08.09) as the children would be engaged in school activities on the 15th ).

We organized for distributing snacks, gifts (thanks to Akshi,Arun and Santosh) and planned to conduct games for the children. Another objective of the visit was to identify long term needs of the children and the Ashram so that we could help them in their development and not just provide them with momentary happiness.

As some of the team members were caught up at work :-( (we missed you all) only 10 of us visited the Ashram. We reached the Ashram late in the afternoon and were glad to see that the children were back from school. The Ashram is an old house which needs infrastructural development (like painting, lighting, modern amenities) and accommodates 60 kids at present . There is a play area , garden with fruit bearing trees, washing area for the children and a friendly Dog named Belli  :-) (means silver in English). We met Parvathamma (blind lady) who runs the Ashram and spent time talking to kids about their School and how they spend time in the Ashram. We then distributed snacks, gifts and asked every child to write a wish list. The children were welcoming and disciplined. Majority of the children were able to understand English hence we  were able to communicate with little difficulty.

It felt nice to bring a smile on the face of the children. We plan to sponsor education, provide uniforms for the children in future (during June-July) and get involved in the development of the Ashram.

As the children had to do their home work we could not conduct games  :-( but we did play in the swing, see-saw, slide!!!! :-)


Pillars of TechJini – Sapna

Yesterday while driving back home I saw Sapna, one of our PHP team members (almost running) to catch probably what was her last bus. I offered her a lift till her stop and then when I was coming back I thought I will write about ‘GEMS’ / ‘Pillars’ of TechJini. People who make TechJini what it is today, our ‘power performers’. Initially I thought we should have ‘performer of the month’ but then I realized I will end up writing about everyone anyways :)

Sapna was impressive right from the first question of her interview. We have very strict interview process and have history of upsetting recruitment companies (we keep on asking for candidates but no offers). There was not even a single question which I asked her and she had to think. She always had a way to solve the problem instantly, not always the best way but she always knew in which direction to go. Her interview went for 3 hours then I told Shyamal she is really good. He was pleasantly surprised as I have not said that often so he went to talk to her. He talked to her for another 2 hours. Thats a good sign when Shyamal doesn’t send someone back in first 15 minutes.

She is spontaneous – Always has a solution
She is VERY hard working – Travels daily for 2 hours (one way) in ‘local transport’ and usually one of the last ones to leave office. And yes mostly among early comers too.
Extremely dedicated – She is one of few persons I have never seen taking a break.
Desire to learn – Never settles with the solutions, she always wants to know why? how?
Dependable – If any work is assigned to her, you can be sure it will be done and she will not rest until its done.
Proactive and Responsible – Even when she was over loaded she volunteered to take up second project.
She is very emotional – She scared everyone on her first day when she started crying during our group lunch. She was missing her colleagues from old company.

We thought she was a very serious person until we went on our river trip. It was so difficult to get her out of the water :) Sapna is one of our ‘jinis’ :)


Writing good code – Design patterns group formed

This is how we at TechJini define good code
- Code that fulfills customer requirement. This is the most important of all, no matter how you have coded, what process you have followed if it doesn’t do what is expected of it, its useless. Ofcourse has to be bug free.
- Easily maintainable code. Do not write thinking that you are responsible only for version 1.0. Think ahead, code should be very easy to maintain. Easy maintenance include – easy for new team members to understand, easy to test, easy to change/add features, well documented etc
- Reusable. Code which can be transformed into components and reused.
- Thoroughly tested, test cases should have full (maximum possible) code coverage.
- Future and change ready.

There are several things we can do to ensure that we write ‘good code’, one of the way is to start with good design. Understanding and having ability to correctly utilize OOP concepts and design patterns. To ensure that everyone in our company is a master we have formed and started TechJini Design Patterms study group. We had our first class yesterday which covered introduction of OOP concept and healthy discussion covering real life examples trying to model real life problems. Its clear that everyone has good base and is an expert in analysing and applying OOP concepts, so we expect to have good discussions in future.

Next session is about Abstract Factory Pattern. Looking forward to it.


HTC Magic – android phone in India total let down

UPDATE 18th Aug 2009:

Finally fastboot problem of perfected SPL is taken care of. We were able to flash new ROM on our android. Google Maps, Android Market, Gmail, Quickoffice, youtube etc are available.

We also tested our application Aw’ Shugs, need some tweaking.

Following links were extremely useful.
http://forum.xda-developers.com/showthread.php?t=548218
http://forum.xda-developers.com/showthread.php?p=4335330#post4335330
How to create GoldCard

All credit goes to xda-developers guys.
————————————————————————————
We bought HTC Magic India’s first and only android phone hoping to test our applications but it has been a total let down. Complete waste of money.
- Cannot root it. SAPPHIRE PVT 32A SHIP S-ON H, HBOOT-1.33.0010 (SAPP10000) CPLD-12 which cannot be rooted.
- There is no android market
- There are no applications by default for eg google maps.

All you get is an expensive touch phone with normal features and no useful app.

We called at least 30 dealers before purchasing and none of us any idea what is android market and whether handsets will have it or not. Only response was buy it to find it. I contacted HTC support asking them how to install google maps, they gave me long instructions on how to use android market to install google maps :) Anyway, it took 3-4 emails and then they realized this handset does not have android market with no immediate plans to release it.

If you are planning to buy HTC magic (India) for development, don’t.

Images after upgrade:

Phone after the upgrade | newdevice2.png


Tools for iPhone UI (user interface) design, mockups, wireframes or just a sketch

iphone-mockup.pngWe tried several tools and methods for user interface designing of iPhone applications. We now use a combination of these tools and our choice depends on what best suits the product as well as the customer. The key point is communicating the design clearly to both the customer and developers.

Before going into details, let me just list the iPhone design and mockup (wireframe) tools/methods in no particular order:

  1. Use Interface Builder (Mac only)
  2. Use Balsamiq mockup tool (Mac, windows, linux) – http://www.balsamiq.com (http://www.balsamiq.com/blog/2009/03/01/iphone-controls-new-icons-and-much-more/)
  3. Use Omnigraffle (Mac only) and import an iPhone stencil – (http://www.omnigroup.com/applications/omnigraffle/download/ and http://www.graffletopia.com/search/iphone)
  4. Use paper and a stencil- http://www.designcommission.com/shop/iphone-stencil-kit/
  5. Use a pre-printed sketch paper – http://labs.boulevart.be/index.php/2008/06/05/sketch-paper-for-the-mobile-designer/
  6. Use photoshop and the iPhone PSD – http://www.teehanlax.com/blog/?p=1628
  7. Use Adobe Fireworks – http://blogs.adobe.com/fireworks/2008/08/iphone_gui_as_adobe_fireworks.html and http://www.building43.com/videos/2009/06/23/mockup-iphone-app-adobe-fireworks/
  8. Although not there yet, you can try http://iphonemockup.lkmc.ch/
  9. Use the stencil kit from Yahoo! which is available in a variety of formats – http://developer.yahoo.com/ypatterns/wireframes/
  10. Use the sketchbook available at http://www.mobilesketchbook.com/

Some bonus stuff

Lazy as I am, I decided to write details about each iPhone UI design tool later, so till then please use the list above and explore them.

If I missed your favorite tool, please let me know in comments and I will gladly add it here.


Aw’ Shugs Free version now available

After 10 days in review, Aw’ Shugs Free is now available on the iPhone App Store. The update to the paid version is still under review.

The only difference between the free and paid versions is that the paid version allows users to catch shugs anywhere and not just limited to a range around their current location.

Enjoy!!

Available on the app store


Aw’ Shugs Japanese version now available

We just released the 1.1 update for Aw’ Shugs with complete Japanese support in the application. Here’s what it looks like.

Aw’ Shugs Japanese Screenshot

You can get your copy here from the Apple App Store.


Aw’ Shugs comic now available on slideshare


Democratic Company – everyone tells how their preformance should be evaluated.

We have these open sessions regularly in our company where everyone talks about why they chose TechJini, what they like here, what should be changed, we share company’s vision, goals and make everyone understand how they are part of it.
Today’s session was to decide ‘appraisal policy’ i.e. on what criteria company should judge performance. Following are the inputs and will form the basis of our policy.

  1. Initiative / pro-activeness – Do I wait for work to be assigned to me? Even after seeing/knowing about a bug do I wait for someone to raise it?
  2. Following deadlines Following deadlines in itself is not a sign of ‘good performance’ that’s what we are ’supposed’ to do anyways but its considered as good performance if you are given something completely new and you ‘learn and deliver’ or you have a completely untrained team or in any other special scenario.
  3. Commitment / ownership – Accepting the bottom line of any work you do. One of the examples given was if I go on a leave I will ensure that none of my project/customers/work is affected, I will do the needful (without someone telling me) to transfer knowledge and if some urgency happens I will be taking out time from my vacation to help the new/replacement team.
  4. Doing more than what was assigned – Have I worked on projects/tasks which were not part of my regular work? Do I also participate in other activities which do not fall in my job description?
  5. Customer Oriented – Do I always think of what is best for the customer? Do I keep in mind which feature, technology, code will help improve performance and will benefit customer in long run? Do I always point out issues before customer does? Do I get nervous and excited with the customer?
  6. Domain Understanding – At the end of the project do I completely understand the domain?
  7. Knowledge sharing – Am I contributing to company’s body of knowledge? Am I taking sessions or writing articles to share my learning? Am I being approached by team members to solve issues?
  8. Acquiring knowledge – Am I learning only enough to finish the task or at the end of project I am capable of becoming a tech lead for similar technologies?
  9. Homework / spoon-feeding – Am I always finishing my homework before asking for help? Do I ask questions the smart way? Do I need spoon-feeding?
  10. Then there are other good to have skills like general behavior with others, influencing/persuading skills, communication

We also had very interesting discussion on what we think is ‘hard work’.


What we like and dislike about TechJini – Joys and pains of working with TechJini (a start up or small company)

Right from the heart, this is what we ‘jinies’ (I just invented that term :) ) have to say about life at TechJini.
So here is what we like and what we would like to change:

  1. Exposure – We get exposed to different kind of work, something we will get to do in 2 years in a big organization we get to do it in first few months only. – Nuwas
  2. Good Learning – With so many new projects and all with different technology there are new challenges and lot to learn almost every day. – Akshi
  3. More responsibility – Our work is not limited to what is assigned and just coding or testing or designing. We do almost everything and very early in our career. – Everyone
  4. Different technologies – Exposure to different technologies and very easy to shift/learn. We get all the help but are also encouraged and showed how to do quick self learning. This acts as a big confidence boost. – Vipindas
  5. Flexible timings – Flexible working hours in true sense. No enforcement of mandatory working hours, can work from home, if I work on holiday I am given a compensatory off or cash – Everyone
  6. Friendly environment - Very very friendly environment, there are no bosses (absolutely no hierarchy), feels like a small family, even policies are made after open discussions – Everyone
  7. Technical Challenges – We get to face more technical challenges which is making us better programmers. – Everyone
  8. Neelima – Very friendly and helpful person, someone we will not have anywhere else – Sapna
  9. No bureaucracy or politics – Cant be more democratic and fair then in TechJini – Everyone
  10. Open to do whatever I want – I get enough opportunity, time and space to do whatever I want other than my regular work. I was able to finish a certification (which company is happy to pay for) and I can interact with everyone in the company – Arun
  11. No bench – We have never seen anyone without work. There is absolutely no bench and so many product ideas to work on.
  12. My product – Only place where I am encouraged and given full opportunity to work on my own idea and the best part is I don’t have to work alone, everyone in the company will work on my idea.
  13. Formal corporate culture – Culture here is too relaxed, we are serious in what we do but we do not get to see a very formal corporate culture which also has lot to teach.
  14. Brand Name – All the benefits of working for a big brand name.
  15. Company conveyance – hmm…. :)
  16. 6 days a week – Sometimes it pinches that our friends are having fun but we work on Saturdays too. Even though we do not do regular work (extra learning or activities) but still.
  17. Good Office building – We need to move to an attractive address soon, guys are finding it difficult to call prospective in-laws ;)
  18. Website – NEED to change website.

Update:
- Website changed :)

1 Comment more...

© Copyright 2009 TechJini Solutions Private Limited. All Rights Reserved
iDream theme by Templates Next | Powered by WordPress