Editor for end user documentation in C# WinForm app - visual-studio-2010

I'm developing a WinForm app in c# 4.0 and would like other (non-developer) colleagues to contribute writing a context sensitive end-user helpfile. First I thought I could use "HTML Help Workshop" from Microsoft, but it seems outdated (Vista and Windows 7 not supported).
Then I've looked at Sandcastle, but the documentation is lacking and I wonder if it is suitable for non-technical users to write end-user documentation.
So I read about RoboHelp, but it's way to expensive for me.
I'm getting lost in all the information that is available about helpfiles. Can someone help give some best practices or information on what tools to use and what output format I should target (still chm or other).

Great question. I like your idea of non-developers contributing to the end-user documentation.
This idea might motivate users and testers of your application to easily contribute to the documentation.
The first thing that comes to my mind, is using a some sort of wiki engine. You could build a simple function in your WinForm application, that fires up a browser and directs in to the wiki. You could use the context from which it is called to build up an url; e.g. http://dev-wiki.mycompany.com/LoginForm?action=edit. Here the name of the form ("LoginForm") is used in the url of a wiki page.
Alternatively, you could simply use the embedded web browser control for WinForms to access the wiki. That would look something like:
var url = GetWikiUrl(myForm);
browserControl.Navigate(url);
This would be very easy to embed in your application.
In a controlled (office) environment, this would be very easy to set up. In you production environment it might be a bit more difficult, but still doable. It might leverage some end-user contributions too.

For writing documentation, I use sphinx.
It lets you document in plain text and has various output formats (chm, html, pdf etc.).
Some of these (chm, html) can be used as context-sensitive help sources.
However simple, the sphinx user-interface (text editor and make file) might not be suitable for non-technical users.

I would recommend to use Help+Manual for creating CHM documentation. It's similar to MS Word and any PC user can start to contribute doc development after short education.
But this tool isn't free :(

Related

Is there a CEF(Chromium Embedded Framework) based chm viewer?

Windows self integrated CHM viewer is fine, but it always use internal Internet Explorer, For some computers that have low version of Internet Explorer do not support advanced HTML and CSS features.
So is there some alternative software for CHM viewer?
There are a few alternatives to the Microsoft CHM Help viewer with various levels of quality and evolution throughout the years. It is highly plausible that the cross-platform ones such as Okular or xCHM are using a WebKit based web-browser to display the topic content. WebKit is the browser engine used by Google Chrome and therefore CEF.
That being said, a technical writer should carefully think if it makes sense to use a third-party CHM help viewer, as it would imply:
The installation of a potentially large and unknown application on the end-user's computer;
Possible difficulties for the end-user to operate this new application, which would be dramatic as its purpose is to help her in the first place;
The possibility that the installation or use of this new application "steals" the .CHM extension and opens every CHM help file in the future, making it a nightmare for novice users;
Extensive tests to make sure that the chosen application correctly works with the CHM help files as they evolve;
One possible solution would be to consider another documentation format such as an online HTML documentation web-site (which can be opened using any web-browser), or a cross-platform QT help file (which would require the installation of the Qt framework).
A single source help authoring tool such as HelpNDoc, RoboHelp or Flare can be used to simplify the process of creating multiple documentation formats for different audiences: most of them can produce basic CHM help file for the Windows operating system, as well as full-featured HTML documentation web-sites and printable Word or PDF manuals without too much extra efforts.

Tin Can API and courses

I'm new to Tin Can API, I decided to begin with the tin can driver and i followed these steps http://tincanapi.com/driver-quickstart/ but what I can't find or understand is how can I add a pdf or a powerpoint to the content of the driver, I mean anything other than html files. I don't know if my question is totally wrong but anyways I would like to understand how can anyone add a course of any type if he can't add other than html files.
Any help or suggestions are appreciated.
A PDF or Powerpoint would be a link inside of the HTML of the course to a file included in the package. Tin Can Driver is a product specifically designed to enable cross standard course building, so use it if you want to be able to easily support Tin Can and SCORM and/or AICC, etc.
If you are specifically targeting just Tin Can then you control how those things are used within the course. Tin Can doesn't really provide for the concepts of packaging and launch. The current de facto standard for those concepts is a set of guidelines published for implementing Tin Can in an LMS. CMI-5 is a working group developing those concepts into a specification.
Also note that in both cases a PDF or Powerpoint may or may not be playable directly in the browser, and for either case you will need to implement the hooks into their interfaces to call the JavaScript API.
HTH.

What Software Do You Use To Create Sitemaps / Site Structure For Large Sites?

Just wondering what software you use to create a visual sitemap / site structure representation before you start big sites?
I am looking to map out a large site, but cannot find any good software to help me map the site visually (And in pages/categories)..
Maybe SketchFlow http://electricbeach.org/?p=145 ? which is included in the Expression Blend Trial http://www.microsoft.com/downloads/details.aspx?FamilyID=92E1DB7A-5D36-449B-8C6B-D25F078F3609&displaylang=en
I strongly suggest taking a look at this tool: http://www.balsamiq.com/products/mockups
The Balsamiq tool is the best for doing mockups (i assume this is what you are referring too when talking about sitemaps before you start...). With this software you can quickly generate a working wireframe of what ever you are creating. So much functionality that you can actually share it with your client to get some good sign offs prior to typing the first bit of code.
Very powerful!
And the other one...just shown at the last MIX09 is SketchFlow. Couldn't remember it to save my life. This is a WAY COOL tool for site maps and UI mock up. I was trying to find you the actual MIX presentation as it is super cool to watch. But here are some YouTube videos of that presentation from a user perspective I guess.
http://www.youtube.com/watch?v=zsAZjb7FKXA
http://www.youtube.com/watch?v=f3ErrS68YMM
Check it out!
update...found the SketchFlow video!!! http://videos.visitmix.com/MIX09/C01F
Great keynote from there too: http://videos.visitmix.com/MIX09/KEY01
I know this is an old question, but for others who find this via search, I personally love mocking my websites up with mind mapping tools. I've tried several but my favorite was MindNode for Mac and Xmind for Windows.
XMind free download:
http://www.xmind.net/
MindNode free download:
https://mindnode.com/
I've also tried MindMeister which works just as well as other mind mapping tools and is hosted for you so you can access your mind maps anywhere. However, MindMeister only allows you three maps (currently) without upgrading to a paid subscription.
Another that I've worked with is mockflow.com which is great for mocking up websites with all their features and buttons and even making clickable navigation. They have a free version, but again it's very limited without upgrading to a paid version.
I'm using Slickplan. This cloud based app allows me to have access to my projects from different machines regardless of their operating systems. All I need is one of the leading web browsers (Chrome, Firefox, Safari).
With Slickplan you can create visual sitemaps from scratch or you can use Site Crawler to import your existing website to visualize and reorganize its structure.
Of course you can always export your projects to the XML format, and use the exported file to create pages and menu systems inside some popular content management system - Slickplan provides plugins for WordPress, Joomla, concrete5 and a few more.

More examples of Prism (Composite Application Library) Applications?

The examples that Microsoft's Patterns and Practices provides are quite helpful:
about a half-dozen simpler QuickStarts which touch on specific issues
the StockTrader reference implementation, which is a fairly rounded application
but it lacks a more useful base application that reads and writes to a data source (XML or database), allowing users to login, edit data, logout, etc. (something like what ASP.NET MVC comes with).
Since Prism applications can get quite complex and lengthy (the StockTrader example is almost 300 files without tests), it would be helpful to have an application that takes care of the CRUD bulk that everyone needs to build for most apps anyway.
Does anyone know of any data-editing Prism example apps out there?
Here (http://petedoesstuff.net/Blog/?p=79) you'll find a bunch of links to the samples of using the Prism.
Particularly, LateNight (http://code.google.com/p/cwpfsamples/) may be what you need. It has login screen and data editing functions.
Its feedback I've seen a lot of. I'll pass this onto the Team and see if we can get some more examples put online around this space.
I'm currently writing my own demo app now, so i'll also try and put that online via my blog.
Scott Barnes - Rich Platforms Product Manager - Microsoft.
The reason data access was left out of the Prism RI is because it is largely irrelevant to Prism. I would think you're better off looking at something like DinnerNow for those kind of things.

Are there any good drag&drop web app IDEs out there that support AJAX?

Can anyone recommend a GUI builder tool for creating DHTML web apps using AJAX to communicate with a web service backend? I'd like to avoid having to mess around with designing HTML, marshalling/unmarshalling data, checking for browser compatibility, etc. The tool should have a library of widgets that can be put into an application and hooked up to functionality, and be extensible enough to be able to define custom widgets. Of course free and/or open source is preferrable but I would consider proprietary tools too.
Also to what extent does the choice of GUI tool affect what platform or language I would use for the backend? If the GUI is just calling a web service then I should be able to use anything on the server-side to provide that interface but maybe some gui-side tools use a proprietary data exchange format that requires some specific server-side code?
Edit: I don't need a widget that can be dragged, I want an IDE that allows one to build a gui easily (i.e. a RAD tool).
WaveMaker is open source, runs on J2EE.
If you're comfortable with Java, maybe you could try Google Web Toolkit? http://code.google.com/webtoolkit/
I'm using Wavemaker and it does exactly what are u asking...
It is really easy to use and very perfomant....
I believe Dreamweaver does some of this, but in my opinion such editors are not a good idea. They produce horrible, unmaintainable server-side code and are quite inflexible.
Wavemaker beats everything else I have used hands down. Applications can be developed rapidly, has drag and drop, can connect to any web service, and has unmatched database management tools. The only problem with it is that it has kept changing hands/ownership so much and its future direction is not clear.
Delphi for PHP from Codegear has some of this capability, but I would agree with ceejayoz that such tools don't necessarily make for nice code.
On Dan's suggestion I took a look at GWT. I'd heard of it before but never looked at it that closely and it seems pretty interesting. Certainly it takes away the annoyance of pixel pushing and making things work in multiple browsers. I also tried searching for "gwt rad tools" and came up with a couple of results:
Instantiations GWT Designer (commercial, $59/year)
Wirelexsoft Vistafei (still in beta but will have a free and a commercial version)
I'll take a look at these but if anyone's used something else let me know.

Resources