Sunday, August 10, 2008

Interactions with American clients - Useful tips

1. Do not write "the same" in an email - it makes little sense to them.
Example - I will try to organize the project artifacts and inform you of the same when it is done. This is somewhat an Indian construct. It is better written simply as:I will try to organize the project artifacts and inform you when that is done.

2. Do not write or say, "I have some doubts on th is is sue"The term "Doubt" is used in the sense of doubting someone - we use th is term because in Indian languages , the word for a "doubt" and a "question" is the same.The correct usage (for clients) is : I have a few questions on th is is sue

3. The term "regard" is not used much in American Englis h. They usually do not say "regarding th is is sue" or "with regard to th is ".Simply use, "about this issue".

4. Do not say "Pardon" when you want someone to repeat what they said. The word "Pardon" is unusual for them and is somewhat formal.

5. Americans do not understand most of the Indian accent immediately - They only understand 75% of what we speak and then interpret the rest. Therefore try not to use shortcut terms such as "Can't" or "Don't". Use the expanded "Cannot" or "Do not".

6. Do not use the term "screwed up" liberally. If a situation is not good, it is better to say, "The situation is messed up". Do not use words such as "shucks", or "p is sed off".

7. As a general matter of form, Indians interrupt each other constantly in meetings - DO NOT interrupt a client when they are speaking. Over the phone, there could be delays - but wait for a short time before responding.

8. When explaining some complex is sue, stop occasionally and ask "Does that make sense?". Th is is preferable than "Do you understand me?"

9. In email communications, use proper punctuation. To explain something, without breaking your flow, use semicolons, hyphens or parenthes is .As an example:You have entered a new bug (the popup not showing up) in the defect tracking system; we could not reproduce it - although, a screenshot would help.Notice that a reference to the actual bug is added in parenthes is so that the sentence flow is not broken. Break a long sentence using such punctuation.

10. In American Engl is h, a mail is a posted letter. An email is electronic mail. When you say "I mailed the information to you", it means you sent an actual letter or package through the postal system.The correct usage is : "I emailed the information to you".

11. To "prepone" an appointment is an Indian usage. There is no actual word called prepone. You can "advance" an appointment.

12. In the term "N-tier Architecture" or "3-tier Architecture", the word "tier" is NOT pronounced as "Tire". I have seen many people pronounce it th is way. The correct pronunciation is "tea-yar". The "ti" is pronounced as "tea".

13. The usages "September End", "Month End", "Day End" are not understood well by Americans. They use these as "End of September", "End of Month" or "End of Day".

14. Americans have weird conventions for time - when they say the time is "Quarter Of One", they mean the time is 1:15. Better to ask them the exact time.

15. Indians commonly use the terms "Today Evening", "Today Night". These are not correct; "Today" means "Th is Day" where the Day stands for Daytime. Therefore "Today Night" is confusing. The correct usages are: "Th is Evening", "Tonight".That applies for "Yesterday Night" and "Yesterday Evening". The correct usages are: "Last Night" and "Last Evening".

16. When Americans want to know the time, it is usual for them to say, "Do you have the time?". Which makes no sense to an Indian.

17. There is no word called "Updation". You update somebody. You wait for updates to happen to the database. Avoid saying "Updation".

18. When you talk with someone for the first time, refer to them as they refer to you - in America , the first conversation usually starts by using the first name. Therefore you can use the first name of a client. Do not say "Sir". Do not call women "Madam".

19. It is usual convention in initial emails (particularly technical) to expand abbreviations, th is way: We are planning to use the Java API For Reg is try (JAXR).After mentioning the expanded form once, subsequently you can use the abbreviation.

20. Make sure you always have a subject in your emails and that the subject is relevant. Do not use a subject line such as HI .

21.Avoid using "Back" instead of "Back" Use "ago". Back is the worst word for American. for Days use "Ago", For hours use "before")

22.Avoid using "but" instead of "But" Use "However".

23.Avoid using "Yesterday" hereafter use "Last day".

24.Avoid using "Tomorrow" hereafter use "Next day".

Wednesday, April 16, 2008

Pros and Cons of MVC frameworks

Struts
Pros:
* The “Standard” - lots of Struts jobs
* Lots of information and examples
* HTML tag library is one of the best
Cons:
* ActionForms - they’re a pain
* Can’t unit test - StrutsTestCase only does integration
* Project has been rumored as “dead”


Spring MVC
Pros:
* Lifecyle for overriding binding, validation, etc.
* Integrates with many view options seamlessly: JSP/ JSTL, Tiles, Velocity, FreeMarker,
Excel, XSL, PDF
* Inversion of Control makes it easy to test
Cons:
* Configuration intensive - lots of XML
* Requires writing lots of code in JSPs
* Almost too flexible - no common parent Controller

WebWork
Pros:
* Simple architecture - easy to extend
* Tag Library is easy to customize with FreeMarker or Velocity
* Interceptors are pretty slick
* Controller-based or page-based navigation
Cons:
* Small Community
* Documentation is poorly organized


Tapestry
Pros:
* Very productive once you learn it
* Templates are HTML - great for designers
* Healthy and smart user community
Cons:
* Documentation very conceptual, rather than pragmatic
* Steep learning curve - very few examples
* Long release cycles - major upgrades every year


JSF
Pros:
* J2EE Standard - lots of demand and jobs
* Fast and easy to develop with
* Rich Navigation framework
Cons:
* Tag soup for JSPs
* Doesn't play well with REST or Security
* No single source for implementation