Guest Post

4D v19 performance on Apple M1

by guest author Roland Mulder, CEO Micro Consulting SA, Switzerland

My company develops Office Maker and BiblioMaker, a business and library management software mainly used in Switzerland by thousands of users. The first lines of code were written in 1986 on a Macintosh Plus with 4D version 1 (“4e Dimension” back then).
I remember my astonishment in 1989 when I first launched our software on a Macintosh SE30. Everything was suddenly so fast! I simply could not believe my eyes.
These fond memories came back when I first launched our applications on a new iMac M1 after compiling natively with 4D v19. As you can imagine, after 35 years of constant development, they have become much larger and sophisticated beasts. My eyes opened wide as soon as I double-clicked on the first one. Such a fast launch! And my jaw fell to the floor when I opened elaborate multipage entry layouts with plenty of filled list boxes. Absolutely instantaneous!

Guest Post blank

Apply naming conventions with Form macros

by guest author Michael Höhne, 4D developer (Munich, Germany) 


There’s a feature in 4D v18 R5 that may have been overlooked, or at least hasn’t gotten much attention so far: Form macros. To be honest, I hadn’t spent much time on them either, until recently. In this blog post, I’ll show you a macro that saves a lot of time when applying naming conventions to list box columns, column headers, and footers. You can easily change it to fit your needs. A dedicated repo is also available on Github.

Guest Post blank

How to create a simple “TimeStamp” class in 4D

by guest author Tiran Behrouz, 4D developer (Vancouver, Canada) 

The introduction of ORDA in 4D v17 was a game-changer. Now with the introduction of classes in 4D v18 R3, we will witness a paradigm shift in 4D programming. We can now take advantage of object-oriented programming concepts such as polymorphism, composition, and inheritance to write our own class libraries. In this video, I demonstrate how to code a simple TimeStamp class using 4D and ORDA. 

Guest Post blank

List box typeahead: Intuitive list searching

by guest author Chris Belanger, a 4D developer from Canada

List box typeahead (a method for progressively searching) is not a native feature of list boxes. However, you can easily implement this feature with some creative coding. In this blog post, I’ll demonstrate the technique along with a database example and an exhaustive document explaining the details step by step.

The final result is summarized in the GIF below, It illustrates two “searches”. One for E-L-L-I-O-T, then another (after a column sort) for H-A-N-N-A-H:

Guest Post blank

Onboarding developers new to 4D? Here’s how we do it at Sweetwater

Blog post by guest author Joel Levy, a 4D developer at Sweetwater: 

4D is the heartbeat of Sweetwater Sound. Our application harmoniously interconnects the diverse needs of over 700 concurrent users. We’re always seeking out more developers to fulfill the needs of a constantly growing company. Here’s a look into the strategies that Sweetwater uses to onboard developers new to the 4D platform.

Guest Post blank

An enhanced UX with AJUI_Progressbar

Have you ever executed an action, nothing seemed to happen, and you didn’t know if you should click again or continue waiting? There’s no feedback provided, even if the application is performing an action in the background? Perhaps the action requires some time to return a result? As you may know, 4D already provides a built-in progress bar component that makes execution time more tolerable, but if you want something with a more web like design then keep reading, because that’s what the AJUI_Progressbar gives you!

Guest Post blank

An ORDA Cheat Sheet

Blog post by guest author Cannon Smith, a 4D developer from southern Alberta, Canada: 

The introduction of collections and entities has dramatically changed the landscape in 4D, giving developers new ways to map business rules to code. Just recently I refactored several thousand lines of code that were central to the business rules of our application, resulting in a significant speed improvement (5xs faster) which our users are very happy about. This refactoring was largely about moving from old code constructs to objects, collections, and ORDA.

Guest Post blank

Thoughts and reflections on 4D World Tour 2019

Blog post by guest author Kirk Brooks, a 4D developer from San Francisco: 

Visiting 44 cities around the world to bring all the latest 4D developments, 4D World Tour 2019 finally arrived in Atlanta on April 8–9th 2019. The two-day event featured sessions and workshops with the 4D team. For me, this was the best World Tour so far . . . and I’ve been to them all!

The first day is free and in previous World Tours, day one was more of a sales pitch and feature overview. Not this time! There were 17 demo databases to highlight and present many of the new capabilities involving ORDA, Form, dynamic forms, and a more refined preview of 4D for iOS. There were a lot of useful elements you can pull right into a project.

Guest Post blank

AJUI_Tip: A tooltip engine for 4D

Have you ever been flooded by confirmation dialogs, alert boxes, and contextual help windows that make it nearly impossible to locate the form window on which you were working? Wouldn’t it be more user-friendly to stay on the same page and see help bubbles pointing directly at the original target? 

This is possible thanks to the 4D component AJUI_Tip. It’s a powerful tooltip engine based on the technologies available in 4D such as ORDA, New Formula, SVG, SubForm, CALL FORM, to name a few. In this blog post, we’ll highlight the component’s usage, and show how you can design beautiful tooltips to enhance your applications’ UI. A download link can be found at the end of the blog post.

Page 1 of 1