Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview

Buy Now

Issue 11.5 ('Weeds')
Instant purchase and download via GumRoad!



Issue: 11.5 (September/October 2013)
Author: Marc Zeedar
Article Description: No description available.
Article Length (in bytes): 6,430
Starting Page Number: 24
Article Number: 11504
Related Web Link(s):


Full text of article...

Are you sometimes frustrated trying to find information in Xojo's documentation? While the docs themselves have improved recently, the wiki-based system is not the easiest or the fastest for finding what you need.

Dash is a clever Mac app that lets you instantly search through thousands of pages of APIs and documentation. It supports over 80 languages, but not Xojo. Yet.

Xojo-user Garry Pettet decided to solve this problem by creating a tool to convert the Xojo docs to a format that Dash can use (http://garrypettet.com/2013/07/xojo-docset-for-dash/). Note that since this is a copy of the original documentation, it may not be the very latest, but Garry can update the Dash docset at will and this should keep it current.

(Be sure to thank Garry for his hard work in porting the docs over to the Dash and let everyone know about this fabulous tool.)

Once you have Dash installed, just double-click this link—dash-feed://http%3A%2F%2Fgarrypettet.com%2Fdash-docsets%2FXojo.xml—to install the Xojo docset into Dash. (The Dash developer is working on adding Xojo support directly; it may even be added by the time you read this, in which case you can download the Xojo docs from within the app.)

What's neat about Dash is that it is a document repository for all your documentation needs. From right within its Preferences pane you can click "Download" buttons to immediately install the docs for all sorts of languages: Cocoa, Perl, Java, HTML, CSS, and tons more.

Even better, you can create search groups of these so related languages are all searched together (you can specify the priority order of the search results by ordering the languages). For instance, I set up a "web" search group which contains HTML, CSS, and Javascript, and an "osx" one that lets me search Cocoa documentation.

When you search, you instantly (as you type) get a list of matching results. Each API has its own icon, so if you have multiple languages in your search list, you can quickly see which is which. The Xojo one even includes the new Xojo logo!

There are also separate icons for each category of result, such as Classes, Modules, Errors, Methods, Events, Properties, etc. Each is color-coded and it's a helpful way to organize things. You can also browse these categories directly, which is handy for things like "Errors" where you may not remember the exact terminology of the error.

Now the actual documentation is the same Xojo documentation we're familiar with: everything works as before. The main difference is that Dash makes finding information so much easier. For example, typing "list" in Xojo's Language Reference brings up over 500 vaguely related hits. My first ones are "AppleEvent", "AppleEventDescList", "GetAppleEventTarget", "WebSession.Header", "Array", etc. If what I really want is something about the listbox (far more likely), this isn't helpful at all. Even if I actually type "listbox" as my search term, the results aren't that much better: listBox.addRow is the 14th result.

With Dash, just "list" shows listBox.addRow as the fifth result, and I get the result instantly.

Note that Dash doesn't bother searching for actual words in the text on documentation pages. Instead, it concentrates on searching for API terms. This means it's really fast if you're just looking for how to use a command. But if you search for say, some text used in a Xojo example code, like the word "John", you get nothing. Xojo's search results bring up things like firstName.AppendChild(xml.CreateTextNode("John")) from the XMLDocument page. Knowing that, there are times you might prefer the original documentation, but I think 98% of the time the Dash method is superior (and vastly faster).

(Dash will let you search inside a single page's text: just type a space after your first search term and whatever comes after is searched for on the current page.)

The other handy feature of Dash, of course, is that because it houses the docs for so many languages, it becomes your central tool for documentation. I love that, because I hate having to constantly switch between proprietary help apps, web pages, PDFs, built-in docs, etc. With Dash, everything's in one place.

Dash has tons of other features I don't have space to write about: a History menu, a built-in snippet keeper (so you can copy code right from the docs and store it for reuse), menubar access, a global hotkey for quick access, integration with other apps, and more. It's really amazing. Really the only thing I want that's missing is the Monkeybread Plugin documentation included!

But since Dash is free, why not just install and try it for yourself? It has time-delayed nag screens if you don't pay via in-app purchasing, but all the functionality is there. See if Dash will help you code faster. I'm betting it will.

End of article.