Special

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 23 in printed book and digital formats -- plus a one-year subscription (beginning with 24.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 short, so hurry today and order this special bundle before the offer goes away!

Welcome


NOTE: If this website looks odd or broken, switch its browsing protocol to http:// rather than httpS://. Sorry about the inconvenience. We are working on fixing this.

Cover of Current Issue

The March/April (24.2) issue of xDev Magazine is now available!

Here's a quick preview of what's inside!

Ultrasonic Range Sonar by Eugene Dakin One cool thing about Raspberry Pi development is building physical devices that do things in the real world. How about using sonar to measure the distance to an object? Today, Eugene shows how to hook up an Ultrasonic Range Finder to your Raspberry Pi and use Xojo to calculate the distance to wherever it is pointing!

The Subclass Reflex by Tim Dietrich When you're working on a project, it's natural to just produce a subclass of a class. But is that always the best decision? In this piece, Tim explains how subclassing can be a problem in some situations and demonstrates a superior technique. He shows how to decide when to use which approach, so in the future you'll make the right call.

Doing the Impossible by Marc Zeedar Modern AI models are seemingly capable of helping us code just about any project. Except that the two Marc attempted are considered "impossible" by even AI. Yet he stuck with it, and after hours of technical conversations with ChatGPT, he figured out a good workaround for his technical dilemma. It turned out to be a fascinating experience with the genius and idocy of modern AI.

Plus: Happy 30th Birthday, Xojo! An introduction to Xojo Libraries, how to highlight PDFs with MBS, AI taking over, and more!

If you're not already a subscriber, you're missing out!

You can now also subscribe or renew your subscription via Gumroad!

Introducing xDevLibrary!

In April 2016, xDev Magazine purchased the Xojo article site RBLibrary and rebranded it xDevLibrary. There you can buy individual articles, Xojo programming books, and more, all delivered to you instantly. Check out xDevLibrary today!

Buy issues instantly via Gumroad and have your PDF in seconds!


Year 24
Image Issue 24.2 ("Xojo Sonar") Image Issue 24.1 ("AI Whispering")
 
Year 23
Image Issue 23.6 ("Using AI to Prototype") Image Issue 23.5 ("Shared Notes App") Image Issue 23.4 ("AI Document Analyzer")
Image Issue 23.3 ("AI Image Tagger") Image Issue 23.2 ("Making Mancala") Image Issue 23.1 ("Photo Batch Processing")
 
Year 22
Image Issue 22.6 ("Preemptive Threads") Image Issue 22.5 ("Gyroscope") Image Issue 22.4 ("Spy On Your Variables")
Image Issue 22.3 ("Germany 2024") Image Issue 22.2 ("Vision Pro") Image Issue 22.1 ("Sandstorm")
 
Year 21
Image Issue 21.6 ("Differences") Image Issue 21.5 ("Photomosaics") Image Issue 21.4 ("ChatGPT")
Image Issue 21.3 ("London 2023") Image Issue 21.2 ("Lego") Image Issue 21.1 ("Xojo Eliza")
 
Year 20
Image Issue 20.6 ("Nashville 2022") Image Issue 20.5 ("Xojo Workflows") Image Issue 20.4 ("Xojo Jigsaw")
Image Issue 20.3 ("XDC Anywhere") Image Issue 20.2 ("Colorominoes") Image Issue 20.1 ("Debugging")
 
Year 19
Image Issue 19.6 ("Memorable Passwords") Image Issue 19.5 ("Xojo Business Solution") Image Issue 19.4 ("SpeedTest")
Image Issue 19.3 ("Black Hole") Image Issue 19.2 ("Shake It") Image Issue 19.1 ("Apple Silicon")
 
Year 18
Image Issue 18.6 ("Git") Image Issue 18.5 ("OOP Listbox") Image Issue 18.4 ("Mac to iOS")
Image Issue 18.3 ("Machine Learning") Image Issue 18.2 ("Listbox Drawing") Image Issue 18.1 ("SceneKit")
 
Year 17
Image Issue 17.6 ("Xojo in Cologne") Image Issue 17.5 ("Numbers") Image Issue 17.4 ("100th Issue")
Image Issue 17.3 ("XDC 2019") Image Issue 17.2 ("Barchart API") Image Issue 17.1 ("iOS Success")
 
Year 16
Image Issue 16.6 ("Munich 2018") Image Issue 16.5 ("Spreadsheet Databases") Image Issue 16.4 ("Mojave")
Image Issue 16.3 ("XDC 2018") Image Issue 16.2 ("StockScripter") Image Issue 16.1 ("London 2017")
 
Year 15
Image Issue 15.6 ("Green Screen Saver") Image Issue 15.5 ("Touch Bar") Image Issue 15.4 ("Xojo in Germany")
Image Issue 15.3 ("Beginner's Guide") Image Issue 15.2 ("Power Tricks") Image Issue 15.1 ("Xojo Pi Lab")
 
Year 14
Image Issue 14.6 ("XDC 2016") Image Issue 14.5 ("Keyboard Shortcuts") Image Issue 14.4 ("NSTableView")
Image Issue 14.3 ("Sunroom") Image Issue 14.2 ("Cocoa Fonts") Image Issue 14.1 ("Barcodes")
 
Year 13
Image Issue 13.6 ("Stay Out of Jail") Image Issue 13.5 ("Text Messaging") Image Issue 13.4 ("El Capitan")
Image Issue 13.3 ("XDC 2015") Image Issue 13.2 ("Control Animation") Image Issue 13.1 ("iOS First Look")
 
Year 12
Image Issue 12.6 ("Cheap Web App Hosting") Image Issue 12.5 ("Yosemite") Image Issue 12.4 ("Game Center")
Image Issue 12.3 ("XDC 2014") Image Issue 12.2 ("Inefficiencies") Image Issue 12.1 ("Smart Localization")
Year 11
Image Issue 11.6 ("Apple About Box") Image Issue 11.5 ("Weeds") Image Issue 11.4 ("Blackjack")
Image Issue 11.3 ("XDC") Image Issue 11.2 ("PDF") Image Issue 11.1 ("PDF")
Year 10
Image Issue 10.6 ("Retina") Image Issue 10.5 ("Real World 2012") Image Issue 10.4 ("Extreme Programming")
Image Issue 10.3 ("Hashes") Image Issue 10.2 ("Assumption Approach") Image Issue 10.1 ("Reporting")

If you like this, please let me know and I'll make more issues available in this manner.

Print Is Back!

xDev Issue 12.5 xDev Magazine went digital-only in 2008, but now we're bringing back print subscriptions! You can read more about them on our Print Subscriptions page.

xDev Archive 22 Printed Book Now Available!

xDev Archive Volume 22 Book xDev Archive Volume 22 is a 500-page perfect-bound book that is a great way to get a full year's worth of a magazines in print form in a single volume. Order it today!

New Feature!

We're in the processing of indexing all our published articles by topic. You can check out the online index here. Let us know what you think of this feature!

Latest Xojo Headlines

(Some of this information is dynamically pulled from the Internet and xDev is not responsible for its content.)

October 27, 2021
  (Blog: Monkeybread Software)
MBS FileMaker Plugin, version 11.5pr4
17:17:00
New in this prerelease of version 11.5 of the MBS FileMaker Plugin: Updated DynaPDF to version 4.0.61.159. Added Float 16bit support for CoreML functions. Updated Xcode to version 13.1. Fixed a problem with removeObserver for macOS Monterey. Added... [More]
  (Blog: Monkeybread Software)
SyntaxColoring Updates
08:50:00
For MBS FileMaker Plugin version 11.5 we got a few new improvements for the syntax coloring. First, SyntaxColoring.AddTag can now do formula tags with wild cards. Just define a tag with stars on beginning and end to get that color rule applied on t... [More]
October 25, 2021
  (Blog: Monkeybread Software)
MBS Xojo Plugins, version 21.5pr3
12:58:00
New in this prerelease of the 21.5 plugins: Fixed problem in StoreKit framework loading on simulator. Updated SQLAPI to version 5.1.7. Fixed issues with NSAppearanceMBS class and newer classes. Added Options dictionary parameter to AllDisplayModes... [More]
  (Blog: Monkeybread Software)
MBS FileMaker Plugin, version 11.5pr3
12:16:00
New in this prerelease of version 11.5 of the MBS FileMaker Plugin: Added new WebHook functions. Deprecated ServerSocket functions in favor of new WebHook functions. Added WebView.SetDrawsBackground to make WebViewer transparent on MacOS and iOS. ... [More]
October 21, 2021
  (Blog: Monkeybread Software)
Transparent WebViewer
09:02:00
You know a web viewer showing white background? If you use WebView.SetDrawsBackground function with next MBS FileMaker Plugin, you can disable it and turn the web viewer into transparent mode: So far transparency works on macOS and iOS and may hel... [More]
October 19, 2021
  (Blog: Monkeybread Software)
Styled Text for Labels in your Xojo iOS app
11:10:00
If you like to get styled text on your labels in iOS, you can use our NSAttributedStringMBS class in our MBS Xojo MacCocoa Plugin like below. As you see we create a NSMutableAttributedStringMBS object for some string and add attributes with zero bas... [More]
October 16, 2021
  (Blog: Monkeybread Software)
FileMaker Konferenz 2022 in Hamburg
11:10:00
Vom 22. bis 24. Juni 2022 findet die elfte deutschsprachige FileMaker Konferenz in Hamburg, Deutschland statt. Das JUFA Hotel Hamburg HafenCity liegt direkt neben dem Ausgang der U-Bahn Station HafenCity Universität, nur drei Stationen vom Hauptbahn... [More]
October 11, 2021
  (Blog: Monkeybread Software)
MBS FileMaker Plugin, version 11.5pr2
14:17:00
New in this prerelease of version 11.5 of the MBS FileMaker Plugin: Changed our function name check to validate prefix/postfix of function name independently. Updated DynaPDF to version 4.0.59.157. Changed Plugin.SetPreviewSize to allow -1 for pre... [More]
  (Blog: Monkeybread Software)
MBS Xojo Plugins, version 21.5pr2
13:54:00
New in this prerelease of the 21.5 plugins: Fixed code to return FolderItem in various functions on iOS. Updated DynaPDF to version 4.0.59.157. Changed MLFeatureValueMBS.featureValueWithPicture to convert picture to bitmap if needed. Enabled Conso... [More]
October 09, 2021
  (Blog: Monkeybread Software)
DynaPDF with gradients in DeviceN colorspace
10:50:00
We got a new example for our MBS Xojo DynaPDF Plugin for using DynaPDFMBS class to create a gradient with DeviceN color space. We use DynaPDFExtGStateMBS to set the extended graphics state and enable overprint mode. Then we create the DevcieN colors... [More]
October 07, 2021
  (Blog: Monkeybread Software)
Use text fields for numbers
14:42:00
Due to current events in an office nearby, here again an announcement announcement for all database developers: Please treat the following numbers as text for processing and storing in a database. Zip codes While we call them zip numbers in Germany... [More]
October 03, 2021
  (Blog: Monkeybread Software)
The order of events in Xojo
10:11:00
When to initialize what is always a good question. Doing a custom constructor for Application, a Window or Control allows you to initialize some things before Xojo does some setup steps. For example if you like to have custom delegates for Cocoa fra... [More]
  (Blog: Monkeybread Software)
Calculate Text Sizes
09:03:00
Sometimes you may want to know how much text fits a certain space or reduce text to fit. The common problem is that you have a long text like "Johannes Zimmermann" and the field is too small to fit the whole text. Then FileMaker may only show "Johan... [More]
October 01, 2021
  (Blog: Monkeybread Software)
MBS Xojo Plugins, version 21.5pr1
13:03:00
New in this prerelease of the 21.5 plugins: Added AddSort method to XLAutoFilterMBS class. Added DynaPDFVersionInfoMBS class. Added ErrCode and ErrType properties to DynaPDFErrorMBS class. Added GetPDFVersionEx function for DynaPDFMBS class. Added... [More]
  (Blog: Monkeybread Software)
MBS FileMaker Plugin, version 11.5pr1
12:45:00
New in this prerelease of version 11.5 of the MBS FileMaker Plugin: Added DynaPDF.GetPDFVersionEx function. Added RemoteControl.MouseButtons function. Added WebView.CallFunction for MacOS and iOS. Added WebView.ShowDevTools function. Added XL.She... [More]
October 31, 2009
  (Blog: Steve Garman)
RBScript opensource site
21:17:00
Back in July, I was wondering aloud how I could help improve RB and whether I should start up and host a testing suite.Well I had a few abortive attempts at designing the suite and never really came up with a decent spec.I don't have extensive knowle... [More]
October 01, 2009
  (Blog: Steve Garman)
Obfuscating
19:47:00
Low-level security is often needed in a compiled app.Things like hiding a secret string from the casual hacker with a hex-editor.When the pro edition of RB of allowed me to use IDEScripts, I had a simple script that changed the currently selected cod... [More]
July 26, 2009
  (Blog: Steve Garman)
How can I help improve RB?
07:41:00
When I was developing large apps for other people to use, one of my recurring nightmares was that old bugs, once fixed, would return in a future version and make me look unprofessional.Consequently, one of my most important tools was an ever-growing ... [More]
February 08, 2009
  (Blog: Steve Garman)
Editfields that update each other
20:51:00
I've been creating a number of EditFields lately where the TextChange event of each updates all the others.I pretty soon got fed up with wrapping every bit of update code in "alreadyUpdating" flags, so I decided to create a simple EditField subclass ... [More]
January 31, 2009
  (Blog: Steve Garman)
Open Source projects on Google Code
22:54:00
I went through a patch when I tried to answer quite a number of questions on the forums and one or two on the NUG.Whenever I post code, I always try to test that it at least compiles.Many of the test projects I used ended up on a website that is alas... [More]
May 08, 2008
  (Blog: Steve Garman)
Telling the truth
06:25:00
We all know that REAL Software can't be bothered to document REALbasic properly, so it comes as no surprise that I can find no reference in the docs to the pairs class, the only new feature RS is advertising for 2008r2.Of course, Aaron has stepped in... [More]
April 22, 2008
  (Blog: Steve Garman)
Feedback changes
07:32:00
I probably should not write this first paragraph publicly. The beta list has been awash lately with phrases like, "I really like this new spirit of openness," "thanks for keeping us informed" and even "thanks for listening, the changes are much bette... [More]
April 02, 2008
  (Blog: Steve Garman)
Yuma
17:09:00
I've been playing with Yuma and it's great fun.I've got a lot of learning to do but I thought I'd mention one or two bits I've found useful.I have an include file called myGlobals.yuma which includes methodsSub MsgBox(s As String)Function MsgBox(s As... [More]
March 23, 2008
  (Blog: Steve Garman)
Self and Me
07:10:00
A question that comes up a lot in REALbasic is What is the difference between the Self and Me keywords?Everybody eventually thinks they have it sorted out in their own minds but it's surprising how many of us then find we're wrong.I think that essent... [More]
March 16, 2008
  (Blog: Steve Garman)
Threads - Cooperative and Preemptive
07:45:00
Lots of developers talk about multiple processors in the same dubiousway they've always spoken of bigger screens and higher screen resolutions. If the user happens to have more, how can I fill it up?All those resources aren't there so the computer ca... [More]

Click here for more Xojo News.

If you have news you'd like xDev to publish, send it to .