Posted By: Dan Fernandez | Jan 29th, 2008 @ 5:53 AM | 17,961 Views | 15 Comments

In this interview, you'll hear April Reagan's (blog) thoughts on the future of the MSDN Library (local help), an often ignored, but critical feature for many developers. April also talks about her ThinkWeek paper that Bill Gates commented on, talks about the two big priorities for the next release and asks C9'ers for feedback on their thoughts for how to modernize local help.

Media Downloads:
Rating:
0
0
Kryptos
Kryptos
Backup People!

I can't wait.

I see my self as a novice dev and I find the help really frustrating.  At the moment you select which tech you want to search on and you still get hits back from other techs!

F1 sounds cool.

I would like clear exmples of how to use controls, they always seem laking, but I guess thats more about the content.

I think I agree with Dan a nice WPF viewer would good, but I think it would be nice to switch to a browser view.... too.

Yup , I would also like some ways to evolve HELP , mean u have really some gr8 ways than currently present, so that we can improve productivity ...
First i m gonna watch video.., & then will reply for some interesting ways...

Excellent interview. Very honest and I liked the direct request for feedback from us. Very good! Adopt this style and format for all interviews. This is what we need Interviews that are honest with failures and mistakes in MS organization, give at least an idea on future directions or some thoughts, ask for feedback and encourage discussions.
Furstly, I would like to ask about the help format in Windows Vista. How is that different and why can't that be used as a platform for the future? Why doesn't the group that owns help for future versions of Windows, merge or at least be in harmony with this new MSDN help group? If you want to deliver something down the road to ISVs then what a better vehicle than putting it in Windows vNext?
Secondly I would like to give my own experience with MSDN.
I very much like the breadth and depth of the content. You have an extremely valuable resource, especially compared to other companies. Time after time I have relied on MSDN even for purely educational purposes. Its covering of certain topics is complete andthorough. It is not only a spec, like other companies' documentation, but also like a book in a sense, very detailed .
I enjoy the table of contents and please do not do the same stupid thing as in Office 2003 that they made Help table of contents navigation very painful and have promoted only search. Search is important, but I like order in MSDN, an order in hierarchy that Windows and Office used to have but seem to lose release after release. Windows used to have a table of contents. Now in Vista it is this mesh of topics that you are first and formost meant to find using search. Similarly in Office the table of contents has been turned into an HTML page. Don't make the same, in my opinion, mistakes to make everything HTML based. The tree toc navigation is excellent, the Index controls are good. Desktop applications need to take advantage of the richness of desktop controls. Don't make everything a web application, where search dominates and where true advanced controls are not used. In fact, introduce more innovative user experience controls, such as multiple previews in the table of contents tree, etc. Not everybody is always randomly searching. Sometimes, you know what you want and where to find it hierarchically, only if the interface would tell you navigate in this way. Also, I might want to read up on a specific topic. The index and contents are useful in this regard.
Problems:
Yes, search is slow and not always relevant. But this is not the main problem. The main issue is that many users, for example university students, do not bother to install the large MSDN and rely only on the online version. However, the online version is complicated to navigate, as it does not offer the same rich desktop controls as the local one. It is very easy to get lost in the MSDN online pages, without a shortcut to navigate e.g. to the next and previous topics (alt+up and alt+down) and with every click having to refresh the page. Searching the MSDN site is not also as intuitive as using Google. So, users search using Google, read a page and then leave the site. Improve, therefore, the site navigation by adding AJAX or even optional Silverligh controls. Make the desktop version more rich in user interface controls, allowing you to zoom on the technology you wish to read about and do not improve only search and/or the speed parts. Make it easily and freely downloadable. What is this MSDN Library Subscription for example. Why should I pay an amount per year to get MSDN. In fact, I can download it even today, then why the subscription still? I understand MSDN subscription for products but for the docs. Why?
Next comes content quality. Although you can find good content on MSDN for managed development, most of the WIN32 topics have clear errors and are so old that one wonders if a complete rewrite should be underway. Reporting bugs is not easy (you have to sign-in to the Connect website, etc) and community content only adds but does not change a topic. Sending e-mail takes ages for the WIN32 team to fix a topic and even ignore you and never fix something for years and still waiting.
Students and beginners are also never cared for. Google is useful because it can easily find you sample code. But MSDN? No, they write and write and many time write these very marketing introductions, whilst I need a tutorial, some sample code and I would start my work.
Please think about your users. There are those who want to learn a technology thoroughly, like technology decision-maikers. Those people can use the table of contents and who cares if they read some "marketing" nonsence like "this technology increases your productivity, etc, etc" and "the Advantages for using that technology are ..., etc, etc" and "Legal terms" and "technical specifications". But there are also these users who want to get started quickly and they need some sample code with tutorials. I regret to say that especially for WIN32 and MFC unmanaged, no samples or useful tutorials are provided or are very hard to find. The samples in WIN32 are very old and contain errors. And don't get me started on COM development. If I am not an expert in the technology, MSDN is of no use. In addition, there are these users who are simply searching for a solution to one of their problems. These are the type of users you, I guess, are trying to help by improving the speed/search of your system. But MSDN should then aggregate content from the forums, the open MS bug databases and allow those users to submit bugs and discuss in forums, right from the MSDN interface if they would be satisfied. This is because such users are not covered only by the documentation in MSDN but require community features.
Finally, why don't you make your content directly editable like on Wikipedia. Users can submit changes and other users can vote on them and you will aprove them. Not Community Content but direct edits to the documentation. I would certainly improve some of the old WIN32 staff at least. Further, don't you think that it is time for all MSDN documentation to adopt the same tone, style and navigation structure everywhere. Now the Exchange docs for example are differently structured from the VS docs.
One thing is certain. In universities everybody uses Google. Nobody uses MSDN online directly. Think about and try to analyze the reasons behind it. It is not only because of search and the website experience, the content is also to blame. Give a beginner the IE's HTML reference from MSDN and then ask him/her to create a website. "No," he will say, "I will use Google to find sample code". But MSDN already contains some HTML sample code, you would say. But hidden in "marketing" docs and high-level long, very long, documents. Give any developer the MSAA reference and then ask them to right a screen reader. With no unmanaged tutorials on how to use COM and no sample code to get him/her started using MSAA then forget it. I think you should make a new rule: All sections should start (like many open source documentation) with a short tutorial and some code and then give the full decision-makers' oriented technical and marketing load later. Sometimes your docs are too wordy and seem to never get down to specifics. They sound like ISO standards that cover everything and don't actually help someone to quickly implement something.
      

figuerres
figuerres
???
one thing that would be nice:


keep info for older bits around and findable.

say for examplemI am working on a CE 4.1 device

then I do not want to see how to do stuff in WM 5.xx or 6.xx

I have to support and develop for a CE device and often find that the MSFT docs are jumping to the new version and forget the old one.

also the times where the docs tell me the signature of a method but nothing about how to use it, or why to use it.....

I think this has gotten better but....

just remember that with VS intelisense we have the signature already.... I am not looking in help to know that Foo(string Prompt)
is the method signature.... got that already.

sometimes things like:  in linq if i call say:

foo f = db.footable.Single(x=>x.id == 5);

what happens if there is no item with an ID of 5?
will this make "f" null ?
will I get a Linq exception ?

stuff like that ...
Flatliner
Flatliner
With our thoughts we make the world.
I have to say I agree with April's comment on performance. Way to slow to load the Help UI. Remember that the help app it is now competing with Internet Explorer which is usually already open on most people's machines. I think the simplest and best feature that could be added to Visual Studio is a search box like IE7's. And the results display either in the IDE reader or in an existing browser session (based on a setting).
I was expecting the interview to contain lots of denials about the state of MSDN Help. Well, April quickly put me into full reverse with her candid statements about the unfortunately situation, her suprising depth of awareness of the issues, and the reasons behind the status quo.

I'm delighted that we can expect a totally new Help system based on the-thing-we-cannot-name. My crystal ball says the killer app for the-thing-we-cannot-name is actually Help/Education/Training systems. I hope to see a framework, not just MSDN Help-centric, but something that is open, cross and big picture oriented.



evildictaitor
evildictaitor
if( !succeed( try() ) ) { while(true) try(); }
I'd like to see a better integration between the MSDN help and the Visual Studio IDE for the various languages.

Being able to right-click a C++ function with a window that's inlined (like intellisense, but readably-sized) with in-depth information about the function would be great.

I am looking forward to the new and improved MSDN Help!

Here's an off-the-wall suggestion (not necessarily for April and her team but maybe for a clever dev out there with some free time):  a command-line interface to MSDN Help a la UNIX man.

Here's another:  write a Sidebar Gadget with MSDN Help.

Microsoft Communities