Tag Archives: community

When is the best time to plant a tree?

When is the best time to plant a tree? According to a Chinese proverb it’s 20 years ago. The second best time is now.

As Uniface developers we know this is true. Most applications written in Uniface originate from 20 years ago. And they are still alive and kicking. Well, I am not sure about the kicking part, but they are certainly alive. But I want to build new applications today. I am sure we all want to.

In previous blog posts I told you about my worries. Some of you replied, or sent me an email. Thanks for that! You told me about these frameworks that existed in the mid-nineties. A good and sound framework is an essential building block 🙂 for fast application development. It’s the foundation of applications, but why should we invent the wheel over and over again? I would rather spend my energy on programming algorithms and code business logic.

But let’s be honest, we need more. I mean more frameworks that can be used to build mobile applications or at least fully responsive web applications with DSP’s.

There are hundreds or thousands of excellent Uniface developers out there. And we need a working space where we can meet and join forces. What if such a place would exist? Where we could create nice tools, examples, pieces of proc code or even a complete framework? Wouldn’t that be great! Let’s join forces and start a new community and have this working space. Interested? I have a plan….


I want to organize a new Uniface developers community. The goal of this community is to build, maintain and share Uniface components. And I am searching for developers to participate. A few assumptions:

  • Let’s start small, with a few developers. Not more than a dozen.
  • It’s an online community, so it doesn’t matter where you live, work or which timezone you’re in.
  • We will communicate in English. My English is not the best, but I try. I am sure we all can.
  • The community and the products are independent. So, the software we create or documents we write are owned by the community.
  • Participation is on a personal basis. So you don’t represent your employer. Not even when it’s Uniface. 🙂
  • Everything we create, we will share for free and is open source. I will write a post about open source in the near future. Because it’s not what we are used to…
  • Last but not least. We will work independently and local most of the time. But a community is about teamspirit. Especially in the beginning. We don’t have to be friends, but we need to respect each other’s opinion.

Rocket science

The community is going to build Uniface components. Of course I am talking about Uniface 10. We will start with some nice examples. That’s also the best to get used to the environment.

All of us know how to build nice applications with Uniface. I don’t know if you have any experience with version control, creating mobile apps or Uniface 10. But I am sure community based development is new for us all. So, at certain points it’s going to be trial and error.

Before we can build anything we need to setup an entire environment where we can work together. Think about the architecture inside your development department, but then completely online.

There is already a complete online environment. All that is missing, is you!

Want to participate? Please send me an email (lammersma@hotmail.com). Don’t worry about the technical stuff. It will be explained to you!


New Year’s Resolution

These are the first lines I write in this new year, 2017. I want to start with wishing you all a very good and successful year. How strange is it. On New Year’s Eve we look back, while on New Year’s day we make plans and start with our New Year’s resolutions.

Some things will start, some have ended and some continue. For most of us, Uniface is one of those continuing. As I wrote before, sometimes I wonder how long it shall. But on the other hand, why care. There are thousands of software development tools. Most of them are bigger (whatever that may be) and perhaps some better than our beloved Uniface. The concept of programming is, from a certain point of view, always the same. Sure, you need to learn. You quit being a Uniface senior to become a junior in something else. You will enter a whole new world, with new and probably many young software developers. And between these hipsters you are the oldest junior they have ever seen. Wow, interesting, isn’t it? Your New Year’s resolution can be becoming a junior again!

In a previous blog I’d bet you a beer. I wrote about this company where I once worked. They tried several software development platforms. Maybe they found something else more tempting. Eventually they did choose Uniface. You did not expect that, did you! To be honest it was a close call. Right on time Uniface invited the management for a lab visit in Amsterdam. Uniface product management listened and that did some amazing magic.

But software development isn’t about magic. No fairy tale with software generating magicians. We all know that. It’s just hard work. One of the most heard complaints is the lack of standard components or add-ons in Uniface. The management of the mentioned organisation also asked this to the Uniface product management. Why do we need to build everything by our self? Why can’t we download standard solutions instead of building them?

The answer is simple: just because…

  1. Your problem is unique, no one ever had it before
  2. It’s been built, but the solution is too specific
  3. Or the solution is built in a previous Uniface version (what the f…, Uniface is upward compatible!)
  4. Or the quality is poor, there is no documentation, there is no source code available or someone wants money for it (and you believe software should be free)
  5. Someone built it before, but did not share it with you.

Is this a problem? Yes, it is. Can we fix it? Yes, we can. And I believe it’s simple. Whenever you think ‘Hey, why can’t I just find this on the web?’, do the following:

  1. Look once again, perhaps it is somewhere around
  2. Design the most generic solution
  3. Build it
  4. Test it
  5. Write some documentation
  6. And…. share it.

Maybe it’s a good New Year’s resolution. Emphasize your Uniface seniority and build to share. How? Where? Who? After reading all of the reactions on my previous posts I have a plan. I am working on it and I’ll explain it to you in the next posting.

Happy new year!!!!

Using Palettes and Templates in Uniface 10

You may have seen and experienced quite a number of the advancements in the Uniface 10 product. I presented a Uniface 10 Deep Dive discussing the following:

  • Development objects
  • Containers (vs triggers)
  • Bulk activities
  • Drag and drop
  • Properties inspector
  • Viewable inheritance of ProcScript
  • Modelled components and properties.

Uniface 10 also introduces palettes, templates and snippets:

  • Palettes are development objects that can contain templates of objects and libraries of snippets.
  • Snippets can contain text, complex HTML and JavaScript as well as ProcScript.

Palettes and templates provide a formal mechanism to capture your organization’s standards and leverage your existing expertise in both business logic and presentation technology. Practices such as defining field characteristics and behavior can now be encapsulated into a single development object and dropped onto a structure. This greatly increases your productivity as a developer.

Rather than discussing palettes and templates it probably makes more sense to show exactly what can be done with them. I have put together a small workshop that walks you through, step-by-step the process of creating a palette, creating some templates and snippets and then using them to build some samples. The workshop will help you create Windows Forms components, Bootstrap based DSP’s and a sample RESTful implementation that can then be shared internally or to the community.

Uniface 10 Templates & Palettes
Uniface 10 Templates & Palettes

This and all subsequent materials will be posted in the Uniface Git repositories. This is the place where you can find new and interesting Uniface functionality but also and more importantly contribute to the Uniface community.

The workshop and its supporting materials are located at https://github.com/uniface/UF10_Palettes

Make some noise!

In my previous blog post I told you about my worries. I was thinking about it and even talked to a few of you about it. It reminded me of something that happened to me once. A few years ago I was hired by an organisation. I was just one of the Uniface pro’s. Besides Uniface they used another development platform. I witnessed something very interesting, let me share this with you.

Both disciplines had their own room. In one room all went well, a dozen men worked in silence, behind a closed door they achieved their goals on time and within budget. The applications they maintained were very stable and performed as expected. The other room on the other hand was very lively, the walls were filled with all kinds of merchandise. The young developers had all kinds of technical issues, played arcade games in their breaks and drank beer after work.

Can you guess in which room the Uniface developers worked? Easy one, I know. If you can guess the next answer, I’ll buy you a beer. Which platform was preferred by the management?

I am afraid this is going to cost me a fortune on beer. We all know the answer. Of course, the other guys did a great job. I am, like most of us, too negative about them and the tooling they use. The reason they were not that productive was caused by the tools they used. But did they win?

Change the point of view. Let’s say you are the management of a company. The company depends completely on a few Uniface applications. Very stable and low on maintenance costs. In the near future you expect major changes in the organisations strategy and the markets are changing rapidly. You need to invest in new applications and/or change the existing ones. Are you going to use Uniface or go for something completely new? Choosing Uniface is the rational choice, isn’t it. Imagine, you have all these experienced guys (sorry ladies, but this is a man’s world…). But you never hear them. Sometimes you wonder if they even exist! How do you know if they use modern techniques? And what if you need a dozen more of these pro’s? Where and how can you find them? When you consult google.com you’ll find all kinds of software warehouses to deliver you support on that other tool, while on Uniface all you find in the top 10 is Uniface itself.

If I had to give advice to this management, my advice would be to choose this other tool. Regardless which tool. Being a Uniface developer, as I am, I can tell you this hurts a lot. But it’s just a rational thing. Or isn’t it?

This reminds me. Once in a small village in The Netherlands the only shop closed down. All inhabitants did their grocery in the large supermarket in the adjacent city. Quiet normal, I guess you see this everywhere in the world. The next day an alderman announced in the newspaper that it would be a good idea to not only close the small shop, but also close the complete village. If the inhabitants loved the city to do their grocery, why not go and live there. This action did not save the local shop. But what if this one guy achieved to create a kind of movement. Let’s say, he achieved to motivate some entrepreneurial people. With this small group they could create new business for the local store. Instead of competing with the large competitor, focusing on the strengths. Sometimes you need the help of a community. Today, the strength is the community!

All successful tools I know have communities. Some very successful tools even are created by the community! A product community can be a partner or a critic ally for the company, but always fight on the same side. But, where is the Uniface community? All I see is a great product and a website (uniface.info) with lots of fans. But that is not a community! It is something created by Uniface. I want to create a real Uniface community.  I truly believe we have the strength to unite and make the difference!

You can either participate or wait behind a closed door and I believe I can hear some melancholic seventies music. Let’s make some noise…. Let the world know we are here…. In my next blog I will share my ideas and plans with you all. Do you have idea’s? Please contact me  🙂

I love Uniface

If you think ‘hey, this is a strange posting? Where is the technical stuff?’, you are right. Most of you don’t know who I am. My name is Peter Lammersma. I am an entrepreneur and work with Uniface since 1996. Uniface was my employer from 1997 to 2001. The reason I am starting to blog here, is because I am worried. In this first blog posting I will try to explain why. I asked Uniface BV (the company) to give me, although I am not employed by them, permission to write this blog on Uniface.info. Because I believe that we are the solution.

As you might know, I love Uniface. If there were ‘I love Uniface’ coffee mugs, I would drink my coffee out of it. Every day, really. If there were T-shirts, I would take good care and give it a special place in the wardrobe.

This feeling I have since 1996. Twenty year ago I swore that Uniface would be last software development tool I would ever use. As an entrepreneur for many years I am busy with several businesses, a few IT related, most of them not. And Uniface? I tried to escape, but she is always returning on my path. And believe me, I am more experienced with Uniface than I am with English :).

Now I am 45 I dare to admit, I like building software. To be honest, I don’t have a very objective point of view comparing Uniface with other tools. I am not interested in other tools, as long as Uniface serves my needs.

And it certainly does. Don’t you agree? Proven every day when we develop and maintain the software for our customers. With a minimum effort we produce highly effective applications. I believe this is called the return on investment. This is a very important business indicator. Every rational thinking decision maker can calculate and decide to use this wonderful tool forever! I certainly would. But, I have terrible news….

There is something wrong. I am worried and I want to share my worries with you.

Lack of Eagerness

I just realized that I am still using Uniface 9.6. While I should be interested in the new mobile features in 9.7. Wait, let’s skip 9.7. I should have downloaded Uniface 10, from the first day it was available. But I did not. Somehow Uniface 9.6 has everything that I need and I am not eager enough anymore to learn new stuff.

Have you already downloaded version 10? Or do you, like many, work in a version 9 in a way you used to in the previous versions?

And you know what worries me most? We don’t seem to care.

Where is that New Business

On the other hand, why should we use Uniface 10? Because it’s highly productive? The redesigned GUI? It’s not really important, is it. We all work like we did in Uniface 7. Sure, we use some of the new functions or statements, but in the end we try to hold on to what we once learned and used.

And why should we. New business is rare. Building or buying, the oldest question in software. When an organisation decides to build software, they will choose a sexy software development tool. Rather than proven technology with a huge install base. A game changer is always nice to talk about in the businessclub. You never hear someone say: ‘I choose this product because my dad used it in his business twenty years ago’.

Despite all commercial activities, most of us are stuck with the maintenance of the current applications. No need for new stuff.

So what

All above gives me a headache. You see, I want to use Uniface in future too. But I am doubting there is a long future. There is something that must be done. It’s not enough for Uniface (who came up with the idea to give the company the same name as the product?) to release a brand new product and wait what will happen. Nothing will happen by itself.

And we? Are we also just waiting for things to happen? We, the Uniface users, should find a way to regain our enthusiasm, our eagerness. I am thinking about this for a while now. But I wonder. Do you share my worries? I am very interested hearing from you all. So please respond to this blog. I am looking to forward to hearing from you (send me a message or comment below)!

In the meanwhile I’ll need a coffee and wait for something to happen…. Or?