New Xojo YouTube Tutorial Series

ScreenFlow let’s you record more than one video source. You can also import multiple video tracks. I just resize the webcam track to be small and plonk it in the bottom left corner. It’s really easy to do.

It is true… we can get caption texts ! A bit fast, but they are there !

Not practicing English = lost of understanding !

I watched an episode of StarGate recently (English, no cpation) from my hard idsk and… my understanding was low… Here I have technical data and this must be understoud, not interpreted !

Thank you Gary !
(Please, speak a little slowly in the enxt sot).

1 Like

One nice thing about youtube is, that you can adapt the speed.

So you can speed it up, or slow the movie down.

This video explains how to.

Just published the next video. In this one we talk about the contents of a desktop project and explain the basic components of a desktop app.

The next video will cover event-driven programming.

1 Like

Please keep developing this series - - it is much needed. You said:

" . . .there are plenty of courses, articles and videos out there on this very topic"

Where? Try typing in “books on Xojo programming” in Google and see what you get. I tried 2 years ago to learn Xojo and just gave up. For any other programming language [or HTML / CSS; or even weird things like Postscript] you can go to Barnes & Noble and there are a dozen books on the shelf. It’s like Xojo is some tightly held secret.

Thank you for making the time and effort to create this.


Hi Charles, here are some resources that may be helpful to learn Xojo:


Thanks for the kind words.

I was referring to “learn to program courses” in general, not Xojo. There are few Xojo courses out there which is what I’m trying to address.

There’s ZERO Xojo Web content anywhere. Here is a topic to explore.

1 Like

@Jeannot_Muller has some good, recent blog posts about developing for Web with Xojo here.


FYI for people looking for more content from Xojo, we’ve got the new web tutorial for new Xojo users and tons of resources in the blog and docs. And we’re so happy to see all the new user created content on YouTube like Garry’s.

I’m also always open to suggestions if there is specific topic, web related or otherwise, you want to learn more about, contact me here or at to make suggestions!

edited to add link!


Yes, I fully agree, as there is (unfortunately) a considerable lack of learning materials available for Xojo.

For example:

  • On Amazon, there is only one book (in English) that I could find on Xojo, and it’s actually for RealBasic and it was published on September 18, 2001. The book is nearly 20 years old…

  • I searched on YouTube and found some sporadic, piecemeal tutorials on various topics, but not a step-by-step course that’s designed to teach you how to program using Xojo.

  • I searched Udemy and found a course (in German only) to teach one how to integrate Xojo with the Wordpress platform.

  • I searched for websites that might provide an online course and came back pretty much empty-handed. Sure, I found a few code depositories or some open sources projects, but nothing that was designed to teach an absolute beginner how to use Xojo.

As an educator, I have been quite frustrated by the lack of step-by-step training materials, as I would love to see more people join the Xojo world. However, this has been improving! Xojo now has a training book – yay, a wonderful step in the right direction!! They now are actively producing training videos on various topics – excellent!

This is one reason why I decided to put together a YouTube series for absolute beginners. And yes, I hope to see many more people put together / share their own learning materials. The more we can make available, the faster the Xojo world will grow.


Personally as a database developer primarily, I think you need to do an in-depth series on how to integrate a Xojo application with a SQL database. Not just a basic how to but a more in-depth best practice on how to create master -detail interfaces, handle editing, updating and creation of records. How to handle transactions, business logic separation from the UI. Some advanced material that I struggled with coming from FileMaker where most of this is handled for you.

If Xojo want to encourage the more advanced users to produce training material then you should look to offer an incentivisation program to reward and motivate people.


Question: I want to do “this“.
Answer: Use a class to do that.

“I would, but I do not know how to do that.”

My plan is to build a channel around coding with Xojo.

I’m starting out with the basics (using the IDE, explaining OOP, loops, methods, etc) but I’ll work up to a range of complex topics. For instance, I might make a video on implementing binary trees, priority queues, using TextInputCanvas, etc.


Some of us have been around for a LONG time - say IBM 7094 era. As such, many languages have passed under the bridge. It’s a feature and a bug. It’s a feature because the basic idea of getting data in, doing something with the data (user input) and getting the result out, along with various flow controls, is understood. It’s a bug in that one gets befuddled trying to recall a particular syntax detail.

And then there’s the vocabulary. I clearly know what a text field is. But TextInputCanvas sounds a bit exotic - material for a tent, or an awning for a trailer.

So the stumbling block for me is understanding the terms in relation to what I already know. For some languages it’s a “label” vs textfield - two different objects. For another, it’s static text (i.e. label) vs editable text - same object, two property settings.

And then you throw in OOP structure and it seems to add SOOO much overhead. I understand all about the advantages with big multiprogrammer projects. But for my “hobby” programs, I see lines and lines of code just to do one little thing.

My point is, it’s great to orient your instruction to “beginners”. But I’m guessing there are a few of us who could use a little, "That was how it was done in …(FORTRAN, COBOL, PL/1, PASCAL, Various versions of BASIC, PYTHON, C, etc.). This is how you do the same thing in Xojo… Not asking for side by side code statements. More focus on creating similar objects.

Another area is setting up the development envirionment with an eye towards the inevitable upgrades. For Example, how you organize your files/folders to hold the XOJO App, the progject files, the MB plug-ins, other third party plug-ins or objects, and how an upgrade (XOJO, MB, etc.) should be managed so you don’t end up with a lot of out-of-date, elements hanging around.

Here’s one example of this vs that. In the database Panorama (Mac), if you wanted a window and some of it’s elements to expand in proportion to the window size was relatively easy to specify what was and wasn’t allowed to grow. Maybe that’s automatic in XOJO by clicking a checkbox in an object’s properties?

I wonder if it would be useful, somewhere along your course, to take developed program with lots of elements (lists, graphics, text, I/O, report printing (field layout on printed page, or .pdf) and compare it to how you’d accomplish the same thing with XOJO tools.

There was a time with experience counted for something. These days it sort of gets in the way because of all the “unlearning” that has to happen.

1 Like

The wholesale renaming for API 2 in Xojo kind of added to that kind of thins even foe Xojo users!

BTW Xojo (well REALBasic) used to call the Label Control StaticText… I still name label controls NameST where ST stands for StaticText!

[quote]And then you throw in OOP structure and it seems to add SOOO much overhead. I understand all about the advantages with big multiprogrammer projects. But for my “hobby” programs, I see lines and lines of code just to do one little thing.

It did take awhile to get used to, but in the long run, OOP even helps those not writing code for sale… You tend to produce more reusable and easier to modify code.

Beside OOP the thing that took getting used to was event driven coding… But one of the proprietary languages I used had a look of place to hook-in code, and that was essentially event driven programming.

Before I stared with Xojo I had code BASIC and FORTRAN in the 70s, PASCAL in the 80’s along with a some specialized and proprietary languages… None were OOP so when I stated with RB I had to learn that on my own with the help of the (then) REALBASIC mailing list called teh NUG (Network User Group)

I have to say when I was learning RB I did not feel that way. My previous programing experience was helpful, even though I had to learn a different way of organizing things with OOP. Figuring out how to use classes and inheritance efficiently did take a while.


Actual tutorial is for Newbie.

Comparisons for long time programmers who knew more than one Language is a differetn target.

Doing so will be boring for the former target.

Nota: I understand you: I started to use computers in the early 80s (may 1981).

I re-read your post.

OK. I do not have (most of the time) the problems you describe: I am able to mentally translate what is said to what I know (and back). When I have a problem, I checked with the program.

When I want to buy a book, I stop immediately because each and every books takes a number of chapters to describe what basic things are: integer, strings, etc.

These exists everywhere. And when there is a difference, I only have to look at the Language Reference supplyed with the Development Environment to get it.

But, that is me. Others can react / think differently / may need that.

Now, as an oldster (both in age and experience in computing), what I need is examples of the latest new technologies: example is Class. I understand the idea, but not how to implement it / where and How to use it.

That is what I need then most.

At last, I only need someont to tell me: “Do not use GoTO; you always can do what you want without it.”
Telling me GoTO is evil is not welcome: I do not need nor care to know that. All I need to know is I can work without it.

Another example:
Telling me I++ is far better than i = i + 1.
I do not care, this is wasting my time. Oh; if Xojo implement that, all I need is an entry in the LManguage Reference with a syntax use example. Everything else is garbage.

As I already wrote, YMMV.

This is a great idea!!

I do have a suggestion for a video lesson. Every video or printed lesson or explanation I’ve seen regarding the use of methods that return a value use more complex classes (IE Dictionary) to demonstrate their use. If you don’t have that class down, it makes the lesson difficult to learn.

I recommend a SIMPLE lesson. For example, a method that accepts 2 numbers from the main program, adds them together and returns that value to the main program. The idea is to learn how to structure the use of the method.

Looking forward to your video series!

< Scott Baker >


Some great feedback here - thank you.

I’m hoping I can address both @Scott_Baker and @Paul_Chance in this endeavour. I’m starting out with a “for newcomers” series but I plan (quite probably in tandem) to have some “code with me” videos where I will solve a problem (perhaps an algorithm) or demo a project I’m working on and dive into how I solve certain issues. Things like how I manage my code with external classes, Git, modules, etc.