January 29, 2013
Data Sutra 4.0 Released Comments (2)
Ready to move to the web and mobile in a big way?
After eight months of development and rigorous testing with Servoy 6.1.x, today we are releasing Data Sutra version 4.0. The marque features of this release are:
January 03, 2013
Hacking Servoy's Calendar Picker Comments (4)
Servoy's web client calendar picker is an easy target to make fun of—the last time it looked even somewhat passable was probably 15 years ago. A picture is worth a 1,000 words:
Additionally, Servoy doesn't have any hooks or abstractions to modify the look and feel of this component. And all the markup and css is generated at runtime so not so easy as just going in and adjusting a bit of CSS.
The rest of this post explains how to arrive at this:
November 19, 2012
Fractions for Servoy Comments (0)
We just released an open source project that adds fractional data entry and display and decimal/fraction conversion to Servoy.
You can find it here: https://www.servoyforge.net/projects/fractions
August 09, 2012
Coding Session #15: Testing Comments (0)
(Should have put a million monkeys in that room. Would have at least gotten Macbeth out of the deal.)
Where was I? Oh yea…testing.
July 14, 2012
Hacking Servoy's AJAX Notification Comments (2)
This video shows a spinner that appears at the location of the mouse and follows the mouse around if it is moved while an AJAX call is waiting to complete. MUCH better user experience.
Here is my development code for hacking in the location of our modified notification (I'm sure it will get tightened up a bit before going into production!):
Not discussed in the video is how we changed the notification from Servoy's default "Loading..." text to a spinner. We used the most excellent NETEYE Activity Indicator jQuery Plugin. The following code is what we used to set up the spinner using this library:
April 27, 2012
[Video] Servoy vs MeteorJS Comments (2)
All of which has very little to do with actually writing your web application!
The holy grail of web application development is starting from a point where all the brute grunt work is already done for you so you can focus on just writing and deploying an application. Meteor makes a compelling case that they have figured this out.
Of course Servoy has been doing this for years. So I sat down today and replicated the Meteor demo video with Servoy. Many similarities and some slight differences which I discuss as I go through the same steps they do to build and deploy a complete application.
You can find the Meteor screencast I referenced here: http://www.meteor.com/screencast
To check Servoy out further, head on over to: http://www.servoy.com
March 08, 2012
[Article] Module best practices Comments (1)
Since then, here at Data Mosaic we've written an entire application frameworks, released an open source CMS, integrated diverse technologies with Servoy—and applied all this many times over on various client projects.
This has taught us a lot about how to write, deploy and keep updated in many places—developer machines and deployment servers—reusable code in large solutions.
We've just completed an article on module best practices for the Sutra CMS documentation as understanding Servoy modules is important for including the Sutra CMS modules in your own solutions.
In it we cover basic module concepts, various techniques for extending functionality contained in modules, and how to make this all work smoothly with SVN.
Whether you are developing a small solution by yourself or part of a team of developers working on projects for many clients, I hope you will find something useful to help improve your development workflows.
The article is located here.
January 24, 2012
[Video] Coding Session #14: Object Oriented Programming Comments (0)
If you order 46 pairs of shoes, 23 bags, 15 balls, and one commemorative bowling pin—how many boxes does it take to ship your order and how much does it all weigh?
Sounds like some messed up test question your insane teacher threw on an Algebra I test just to see how many kids would cry. I remember thinking in school, "Who the f' cares when the stupid train arrives in the next town?!"
I still have my doubts about trains but in this coding session I find out first hand that Post Offices do care about boxes and how much they weigh.
How would you solve this shipping problem in code?
Object oriented programming to the rescue. And a good debugger. And a buddy looking over your shoulder and catching your mistakes.
January 17, 2012
[Video] Coding Session #13: AJAX with Servoy Comments (1)
For this coding session we have a very special guest: Patrick Talbot from ServoyForge. Since he and I had scheduled this session in, we also invited a number of other programmers from around the interwebz to hang out with us. The end result is a dynamic exchange of ideas that ranged far from the original intent of the session!
Ostensibly, this session is about how to do an AJAX call with Servoy. It covers the full round trip of sending and receiving data, executing code on both the client and server side, and debugging tools and strategies to easily see how everything works.
This is for a website that Patrick is doing with the Sutra CMS platform. Very nice design. The AJAX call is needed for implementing dynamic searching.
Video Part 1: This is where I set up my development environment with Patrick's website. You'll see me go through setting up another Servoy developer in one Servoy install, setup database connections and transfer data, and hook into a shared SVN. Helpful if you are a Servoy developer with the need to work on multiple projects and very helpful is you are looking to get into Sutra CMS development.
Since this all takes time and is rather boring, Patrick happily regales us with his knowledge of the upcoming Servoy 6.1 and integration with ServoyForge and answers various other questions the crew throws at him.
Video Part 2: We hit AJAX right out the gate here. Get it all working, then do the SVN thing and make sure it all works on Patrick's machine. Once you see how we put it all together, I think you will agree that not only is AJAX a powerful technique to have in your bag of tricks—it is easy to do.
In part one Patrick let slip an unannounced special project he was working on for Servoy developers. Somehow we managed to get him to do a full demo of it after we were done with the coding thing. How about a modeling tool that hooks right into your Servoy database/table and relations files?
That's right. And you heard it here first: Servoy Modeler by Patrick Talbot.
Many thanks Patrick! And also Troy, Lach and Rob for helping make this one fun coding session.
December 23, 2011
[Commentary] Does being tired make us better coders? Comments (2)
I did a team programming session the other day that started late with my brain already fried. My cohort wasn't in much better shape either but we felt we needed to at least grind something out.
At one point I got really annoyed because my tired brain was stumbling over finding and implementing an API call. And not someone else's API call—one of our own creations. Creations that we expect other people to use as they are in a released product.
If I'm having a hard time, how the hell is anyone else going to figure it out?!? Grrr....
Piling a stupid moment on top of tired and cranky is one way to critique your own code. In my frustration I wrote a bunch of un-PC comments about how we weren't paying attention to details and documentation and whatnot—at the top of our next day's todo list. Highlighted in red to make sure everyone started their day with what I deemed in the moment was the correct sense of urgency.
Fast forward to the next day. My brain has had some time to get over frustration and start working on some solutions. This leads to an all-day session of team coding that results in a reorganized API that is much cleaner and Troy figuring out a neat trick for getting Servoy's code completion to work with functions attached to our own objects. A very productive day.
As we're winding things down I quip in our all-hands meeting, "Hey, maybe brain-dead programming has some benefits after all." My way of apologizing for yelling on the master todo list. Because, you know, I've never gone through the 12-step program for apologizing correctly.
To which one of the team links us to this:
A very interesting read. One of the author's premises is: "Because being tired makes us better coders".
I'm not sure I agree with that part entirely but I will say that being tired is one hell of an honest way to look at your own code.