Notes from a recent tour to Hong Kong, Taiwan, and the Phillipines (well, almost!)

All, I recently went on a trip to 3 Asian countries, and thought I would share the notes.

Here’s my summary of the recent trip a colleague and I made to Asia. The trip was cut short due to a typhoon in Manila, which was a real shame: my colleague and I were very much looking forward to seeing the Philippines. However, the trip was still excellent. My notes below are written semi-formerly, to make it a more interesting read.

 

Arrival

Well, Hong Kong is certainly a bustling place.

I arrived just before midnight on Saturday, and there must have been a few of flights arriving at the same time, because the luggage carousel was absolutely jam-packed with bags. So many bags that they became stacked on top of one another, and an unfortunate lady standing near the loading chute failed to notice the backlog. The bags forced there way onto the carousel and a couple of bags fell on her, something I haven’t seen before. She was fine though, if a little dazed.

On Sunday, my colleague and I met for lunch. She had booked at a traditional Cantonese restaurant, which was extremely popular. The only issue was that we had to wait for our table for a while, and the waiting area was extremely small, and crowded with people waiting for tables. My colleague joined the folks peering over the counter to see there name on the list, and had to be extremely aggressive to get the seating-person’s attention. Of course, that’s one of those cultural differences you need to get used to here I think: being aggressive brings you success. Perhaps there’s a business mantra in the making…

 

Hong Kong if you haven’t been here, is an assault on the senses. People everywhere, cars going in all directions (aggressive is the name of the game here also of course), far warmer climate than I’m used to, far more humid than Seattle… it has it all. They only have compact cars, I don’t think they know what an SUV is: I love it! The taxis are deceptively roomy however, there’s always plenty of space in the backseat for people with long legs.

 

Schedule for the week

Day 1

Morning: customer visit with customer, presentations at Hong Kong TechEd

            Afternoon: presentations at Hong Kong TechEd, customer visit

Day 2

Morning: travel to Taipei

Afternoon: customer visit, customer focus group

Day 3

            Whole Day: presentations: 800+ people

Day 4

            Morning: travel to Manila

Afternoon: customer focus groups (2)

Day 5:

            Whole Day: presentations: 800+ people

 

Day 1

My colleague went directly to the convention centre since her presentation was in the morning, while I went to the first customer meeting of the week.

Customer Meeting 1

The first customer does a LOT of java development. However, we talked to a specific group within the company, who developed only in VB: currently vb6, and looking to move to vb.net. It can be eye-opening when meeting with customers, to get first the overall approach for the enterprise (which in this case, gave me the impression they would be adversarial), and then meet a specific group, and realize that that group is extremely different from the overall enterprise. It can give you a bit of insight at what it must be like to be the Evangelist working with that customer, and how you might manage the relationship. In this case, keeping a specific group inside the company happy and approachable was the approach being taken.

We met with three gentleman. This was an exceptionally friendly meeting, since the account leader, wanted specifically to know about migrating the company’s existing VB6 applications to VB.NET. They had 10 existing applications, with a small team of developers, and the lead wanted to migrate the team. I simply took the lead and his team through the standard migration story, taking some time to demonstrate the available tools to help them with the migration. It was interesting because The lead was clearly willing to move his entire team to .NET, but was definitely concerned about the cost, and trouble of migrating. I encouraged his team to take a considered approach, and start with only moving 1-2 applications, or simply starting some new application development in .NET. The lead had heard about the interop form toolkit, but was pleased to see it demoed, and warmed to it immediately. He also liked the upgrade assessment tool, and could clearly see how to get his team working on .NET. They planned to be moving to .NET early next year.

We didn’t really need to discuss much else, and the customer had no specific reason they were staying on vb6, beyond the historic. All in all, one of the easiest customer visits I’ve ever had.

 

Colleagues’ talk: 3 MVP’s

At my colleague’s talk, there happened to be 3 Microsoft Partners who sat behind us who we got chatting to: one for VB, one for C#, and one for ASP.

Favorite new features:

          VB guy: definitely click once. He mentioned that this really took away one of the biggest pain points in developing applications, and was fundamental to making proper applications

o        He did make a side comment that we need to do a far better job at ensuring we make vb as accessible as C#. There’s still too many things getting released by the company in C#, but not in VB. He mentioned that the insders list can help here of course, but we still give the wrong impression when C# code is available, but the equivalent VB code is not

          C# guy  snippets, refactor, and the class diagrams. He said that the snippets and refactor were awesome because they speeded up his development. Indeed, refactor is something he mentioned, has become critical for his development, he can’t imagine developing without it anymore.

          ASP guy: couldn’t pick one particular thing he liked about Whidbey. Instead, he simply talked about how much of an improvement Whidbey was over .NET 1.1, and how it really lowered the barrier to entry for customers, by making developing asp applications easier

 

Presentations

My colleague and I gave a total of 3 presentations (WinForms, TipsNTricks, Upgrading VB6 apps) at Hong Kong TechEd. All went well, and I even got a good laugh from the audience for my ‘tip and trick # 11: have an email address for someone in Microsoft’ (I gave them mine).

 

Evening meeting: Customer 2

Like the customer in the morning session, this meeting was about showing them the migration tools, and discussing best practices for upgrading their existing VB6 application, to VB.NET. Their application was very large it seemed, a million lines of code was mentioned as if it were a drop in the bucket.

The meeting went exceptionally well, mostly being me showing them the tools available, and then them asking the odd question, or piece of advice. There was no issue that they WANTED to upgrade their application, they simply wanted to get over the hump of ‘how’. We went through the various options from rewrite to fusion, and the main business manager focused very much on the benefits and difference between rewriting their application, vs. upgrading their application. They especially loved the assessment tool, warming to it as soon as we showed it: they could clearly see how to use it to get an initial gauge on the size of the effort they would have to undertake for a migration.

As with customer 1, the atmosphere was friendly, and it was more of an ‘instructive’ session, than a ‘sell me’ session. The business manager asked if we were available to come back and provide advice and further assistance (which we took as a very good sign), and it took a while for us to explain that we worked on the actual VB product: we didn’t simply travel the world providing consulting. The concept that we weren’t available as standard consultant personnel was clearly a bit alien to the management.

Reasons they wanted to move to .NET:

          Employee satisfaction: the business manager made the point that for new employees, working on VB6 was simply out of the question. It was impossible to hire new recruits from college, and sell them on coming and working on VB6, even if it might be slightly higher pay. As she put it, ‘VB6 just isn’t exciting’.

          Customer demand: units consuming their application were beginning to demand a shift to .NET, to better leverage services and new technologies. It was clear that the SI unit was under increasing pressure to begin developing applications using .NET technologies. We talked to the evangelist about this afterwards and it became clear that a critical hump has been passed by a LOT of business in the area, and that .NET is really starting to take off. This was great to hear

Consideration as part of the move to .NET:

          One of the key decisions it seemed, was whether to remain as a forms application, or to move to a web based application. The idea of ‘thick’ clients was clearly concerning, partly for deployment (so we gave them the good news on click-once. Again, it took a bit for the story to be accepted, but once it was, it was met with big grins), but partly also because the hardware people had to run applications probably couldn’t cope with a thick-client anyway. We unfortunately didn’t get to discuss this in much detail, but I asked them to contact us so I could forward them on to the asp team, so they can give success stories about forms to asp.net migrations

 

Cultural Tip for the day…

A senior colleague had mentioned to me before we left that there’s a particular etiquette to giving out business cards. You hold the business card in both hands facing the person you’re giving it to, and you give a little bow (or any sign of respect) as you hand over the card. The other person of course, does the same. I assumed that he was playing a little joke on me, and that I would be busy handing out cards this way while people stared at like I was crazy. So of course, the first meeting of the day I flipped the card at the customer in the standard, nonchalant manner. Imagine my surprise when this etiquette was a very real phenomenon! However, I was soon double-handing business cards and bowing with the best of them. Note that the same rule applies to giving someone money, receipts, or other goods purchased.

 

Day 2

Day 2 on the tour saw us rising early to leave the hotel at 6am, and be at the airport early to travel to Taiwan. The trip was short, just a 90 minute flight. From the 2 regions I’ve managed to see, Taiwan reminds me of Seattle. Rolling hills, and lots of trees. After checking in and a short 20 minute slot for lunch, we were immediately whisked off to see a customer.

 

Customer 3

Taiwanese companies are sincere about physical security it seems and it took 30 minutes for us to be cleared by the front desk. We also had to put on some rather fetching blue ‘dust’ booties (which fit over our shoes), because they don’t want any additional dust being draped through the office: it can interfere with the manufacture of chips and hardware. Permanent employees had a special anti-dust sandal.

We presented and talked to 30 employees for 2 hours, on upgrading from VB6 (which is becoming a most common theme throughout the tour, it’s clearly the favorite topic), and new features in ASP.NET 2.0. The presentations were received warmly, although not many questions were asked in English by the group, who was very quiet. As they started asking questions in Chinese, more and more questions were asked, so I sat back and let my colleague do the talking ;-).

 

The questions asked in English were:

          If I drop an image on a master page, and then I have a page that inherits that page in a different directory from the master page, it can’t view the image properly. How do I fix this?

o        Master

                                    Images

                                                Some image, shown on master

Some dir

                                    Some page inheriting master

                                                Doesn’t show image correctly

Some page in same dir as master

                                    Shows image correctly

 

          A very specific question about a potential memory leak in ASP.NET 2.0, where the machine running ASP would crash after 30 days. The customer will be contacting us about this issue via email

          A feature request for math.max/min that takes an array of numbers, not just 2.

 

Focus Group

After talking to the customer, we returned to the city and had another 2 hour customer session, but this time, with 20 people from a variety of customers, not just one company. This was another opportunity for customers to ask questions, and again, they were most comfortable asking in Chinese. So again, I sat back, and let my colleague do most of the talking. From time to time, the odd issue would be raised in English, or translated for my benefit:

    &nbsp