Ann Arbor .NET Developer Group’s first meeting last night

For our first ever meeting, I was thrilled with how last night went. We had 35 people show up for our first meeting. It was great to see all of the people in the room that I didn’t know. Of the 35 people, I knew about 15 of them. That’s one of the great things about user groups and community is that it’s a great way to meet people.

 

We are following the format that’s proven to work well at GANG where we have a 45 minute tutorial session followed by the 90 minute main presentation. The tutorial session is designed to give the audience the basic background that they might need to understand the main presentation. It also gives our members a good chance to get some speaking experience without as much pressure as the main presentation gives with a longer talk and a more advanced subject.

 

Jay Wren of ADP gave the tutorial session on Introduction to ASP.NET 2.0. Honestly, I was still running errands like getting copies of the eval made and all of that type of thing so I didn’t hear all of it. But what I did hear was very good and as complete as you can be in 45 minutes. It also seemed to be well received. We haven’t compiled all of the evals but it’s a good sign when there are people standing in line to ask questions afterwards.

 

Following that, I gave a session on ASP.NET 2.0 Personalization. See how the tutorial set the stage for this session? I actually stayed pretty close to on time. This is a new resolution of mine is to start staying within my time limits. I usually start answering questions within the time limits and then end up answering questions for a long time. I’m really trying to cut off the questions and have people with questions stay after and ask me offline so that we can cover it in more depth and people that aren’t interested can leave.

 

I enjoy the Personalization talk because there are a good number of GPMs (Gasps Per Minute). My brother, who is not a developer, came to Rockford, IL when I gave this same talk there and he loved it and phrased the term GPM. The code for the session will be up very shortly.  

Design Guidelines Coming for The UX experience…

I found this via Bill Baldasti

 

I’m fascinated by design guidelines. They are intended to ensure that your user has a good and consistent experience with the rest of the applications on the given platform.

For example, the Designed for Windows for Pocket PC for Software Applications guidelines, which you have to follow to be Pocket PC Logo Certified, specify that you cannot have an exit button but must smart minimize nicely and that your application must come back to the exact same state when it’s reopened.

There is also a set Guidelines for User Interface for Developers and Designers that Microsoft has been pushing for a long time.

Even thought it’s a ways from releasing, Microsoft is already starting to build and promote the Windows Vista UX Guidelines. Being fascinated, I downloaded the guidelines. It came down as a 14 meg zip file that unzipped into 825 files. Wow!

It’s going to take some time to dig into this and really digest it. The good news is that they broke it down to a simple top 12 rules list. I’m not going to re-list those here, you can go read them on your own. However, some of these things should apply right now in your current work, like #10 which is clean up the UI including make sure that you use labels, organizing your menus and the like in a task oriented manner and so on. Or like #12 which is reserve time for development time for “fit and finish” work. That’s just good common sense that we should all be following.

Of course, now that you’re all excited about the glass aspects of Vista, they say that you should only use it “judiciously”.

 

It’s going to be interesting to see what happens with the guidelines and the UX experience. Personally, I’m excited by it all. I’m ready to start looking at the Ribbon control in Office 12.

Survey of the future of tech jobs…

I did several session at VSLive recently. As always I give out my email address in every session so that they attendees can contact me with questions. Sometimes these questions are related to the session – sometimes they are not. I’m not sure which session this particular gentleman was in but I got this interesting note yesterday.


Josh
 
I just sat through your talk at VSLIVE.  I tried to speak with you after the seminar but you were pretty busy.
 
I teach CS for [Some College], and I’m trying to get a feel for where the current and future jobs are for new grads with little or no experience so I can adjust our program. 
 
If we could only teach one track, would you recommend ASP.NET with VB, ASP.NET with C#, Windows programming with VB, or Windows programming with C#?
 
That is, is web development bigger than windows development now, and is that expected to change in the next 5 years?
 
And is C# growing faster than VB or vice-versa?
 
Thanks Josh.  I really learned a lot in your presentation. 

Sincerely,
 
Name Hidden
Computer Science Instructor
Some College
Somewhere, USA


Immediately you should be able to see the issue. The pat answer is that if you and your shop know VB or a VB like syntax, then you should use VB.NET and if you and your shop know C, C++, Java, or some other semi-colon profuse language, then they should go with C#.

However, this is a blank slate. There is no shop. The students don’t know anything so there’s only the future to look to for guidance. Yeah right!

Really I can boil the question down to this:
Where are tech jobs going to be in 4 years when these students graduate?

Wow! That’s a tough question. I’m actually going to reserve judgment on this topic until I hear from others. Please leave my comments on the blog at http://www.srtsolutions.com/public/blog/19990

C# VB.NET
Web ? ?
Windows ? ?

Ann Arbor .NET Developer Group

There is a new .NET Developers group forming located in Ann Arbor, MI called the Ann Arbor .NET Developer Group. This is going to be in addition to the groups that are in Southfield, MI and Toledo, OH.

Bill Wagner (as the group’s president) has the official announcement on his blog (http://www.srtsolutions.com/public/blog/20574).

I’m going to be the first speaker at the 2/8/2006 meeting at 6:00. The topic is ASP.NET Personalization.

VSTO (Visual Studio Tools for Office) Misconceptions

I did my VSTO Session (Visual Studio Tools for Office: The Agony and the Ecstasy) at VSLive yesterday. It was very interesting to gauge the reactions. In short, there were a ton of misconceptions about what VSTO is to be used for and what its capabilities are. I really think that next time that I do a VSTO talk – I’m going to devote the first 5 minutes or possibly more to dispelling some of those notions.

VSTO is used to have Office host your application, not the other way around. A lot of people didn’t understand this. The first several questions that I got after the talk were about how to integrate Office into their application for spell checking or hosting the Outlook calendar or read from the contacts in Outlook or any number of other types of integration. VSTO does not help you here. Each of the Office applications have a COM based API that will allow you to leverage that application but it’s not VSTO. You can use COM to load Word, paste text into a document, ask Word to spell check it and get back the list of spelling errors. This is a heavy process – especially if you are doing it for small amounts of text. You can use COM to load Outlook and get the list of contact, appointments and lots of other data. In fact, on the Pocket PC, this is the preferred way to have contacts, scheduling and so on. Again, VSTO does not help you here, COM does.

Actually, it’s interesting to point out that even inside a VSTO application that is hosted inside of an Office application, you are talking to the COM API in order to invoke the spell checker, talk to the list of appointments and so on. It’s just that the PIA (Primary Interop Assemblies) are referenced by default in a VSTO application so that they look like they are .NET APIs, sort of. Actually, that was a large portion of my talk yesterday. Those COM APIs are sometimes painful to work with and have some rather severe limitations.

If you are going to write a VSTO application, you need to go in with your eyes open. You are not dealing with a .NET API designed by the same guys that designed the rest of the .NET libraries. You are dealing with Office. This is good and bad. For better or worse, with VSTO, you have to make your application work like the Office application that is hosting your application. Sometimes this is very frustrating. However, the payoff is immense when you can cut the amount of training that you have to do for your users because they already know the interface.

That’s what VSTO is about. It’s about having Office as your front end because that’s what your users know.

Avoid the guy on the subway wearing slippers

I’m in San Francisco for VSLive this week. I like visiting San Francisco – I don’t know that I could live here – but I really enjoy coming to the conferences. I get to catch up with a lot of people that I don’t see very often.

For example, I had dinner last night with Gabriel Torok and Paul Tyma. Gabriel, along with Bill Leach, runs PreEmptive Solutions which produces the Dotfuscator. Paul was one of the founders of PreEmptive but he’s now working at Google. As such he lives here and enjoys it.

As we were walking to the restaurant, I saw a farm style tractor parked in front of a really high end hotel. I was laughing about that and comment that I really need to carry my camera everywhere because you see things that people wouldn’t believe without photo evidence. Paul laughed and said, “I’ve learned that should always avoid the guy on the subway wearing slippers!” I laughed and then thought about that – and it’s profound. There’s a reason that guy’s wearing slippers on the subway. Most of the time it’s not to go get the paper if there’s a subway or any other public transport involved. There may be a completely acceptable reason for the slippers but do you really have the time to find out?

My quick advice on visiting San Francisco that I’m posting here so that I remember it next time I’m coming out here.

Do wear comfortable shoes – you’ll do a ton of walking and most of it on hills.

Do bring a sweater and a pair of shorts – it’s nice and warm in the daytime but the evenings get chilly. It’s usually 65-75 during the day but it will get down to 45-55 at night so be prepared for that.

Don’t rent a car, parking a car here costs as much or more than renting it – most of the hotels are north of $40.00 a day to part your car there. Even the public lots are $30+.

Do, ride the shuttle from the airport – it’s $15.00 and will drop you where ever you need to go. True, it’s not quite as quick as the taxi, but the taxi is $45.00 and you’ll need that extra $30.00 to eat here or buy Starbucks coffee – see below.

Don’t take directions that start “Go to the Starbucks and…” There are 63 Starbucks within 2 miles of where I am. There’s even one block with three star bucks on the same side of the street within a block. That’s nuts. Don’t get me wrong, I like Starbucks as much as most people but that’s a lot of coffee.

Don’t pull out a map – that’s a clear sign of weakness and the pan-handlers will be on you faster than you can unfold it. I really like Pocket Streets because it allows me to use a map and others think that I’m checking email or somehow fitting in well here. Also, peek at http://www.ipodsubwaymaps.com. I thought that was a cool use of the IPod.

Do take your camera everywhere you go – see above. You will see things that others’ won’t believe unless they see it for themselves.

Do avoid the guy in slippers on the subway or bus or any other public transport.