Job offer: Full-time junior developer for Xojo

Just saw this job offer from Peter Schubert. I met him and his team on several conferences and they have a huge project to develop in Xojo for managing production in factories (as far as I remember). The team consists of German and non German speaking people, so if you are living e.g. in southern Europe and you'd love to come to Germany for a full time job, here is your chance:

Full-time junior developer for Xojo
For a large, permanent project SACO seeks a talented, smart, hard-working, professional, quality conscious developer who enjoys working in a highly professional team.

Our requirements:

2-3 years of programming experience with Real Studio (Xojo, REALbasic), Net, C # or other object oriented language.
Real Studio, Xojo skills are a huge plus!
Experience with object oriented programming
Experience with SQL and relational database systems

SACO is based in Germany (Bavaria / Franconia) between Wuerzburg (24 miles) and Aschaffenburg (28 miles).

Please send your complete application documents including your salary expectations via email to:

jobs@saco.info
SACO Software and Consulting GmbH, Peter Schubert, Muehlgasse 5, 97840 Hafenlohr, Germany

Our Xojo Conference in Koblenz is also a place to look for employees and employers.

Xojo Pricings: Beware the end of Academic Licenses and update now!

Real Software posted an article on the blog about the new pricing for Xojo: Coming Soon - New Pricing (Recap).

One of the new pricing scheme, there is one thing missing: Academic licenses.
They will go away as people learning Xojo can simply use the free IDE. While that's right and some people really enjoy the upgrade (e.g. personal to Desktop), I think some people will be disappointed.

So if you have an academic license and you want to be able to build with Xojo, you may simply go and get a 2 year update now. This way you can use the academic upgrade to extend your licenses for one or two years. Remember, if you have a personal academic license now, you can upgrade for now for about $49 per year, but after June 4 you have to upgrade a desktop license for $150 per year. Similar for Pro licenses.

Everyone should update before Xojo release unless you have a Commercial Enterprise license which is the only one which does not increase price for keeping same features.

PS: I repost this today as we discovered today that we have two additional personal licenses ourself which we update now.

The Cancel problem with Threads

We love to use threads in Real Studio & Xojo. Especially if we can use plugins to offload work to preemptive threads in order to get more CPU cores busy. The MBS Plugin has a couple of MT methods which do that. Now while getting 8 cores busy or simply no beach ball in the GUI with network operations, there is a problem we have to face: Cancelling.

The problem with canceling a thread is that you have to code your threads to be cancelable and do that if needed. So if your user wants to quit the app while you do something, the user will not like if your app ignores the quit or you take 5 minutes to finish your work before you really quit. When your app quits with running threads, the runtime will call the Kill method on the thread object to stop the thread. The Kill method as far as we know injects an ThreadEndException into the thread which causes normal code to return quickly and terminate the thread. Now that exception handling is not working well while inside a plugin function. Currently there seems to be no way to ask the runtime if there is a pending exception. The last days we looked into this as we got a lot of crashes with ThreadKill function: Feedback case 26915.

A way to solve those crashes is to cancel our threads on our own. So if while a long operation the user presses some cancel button or the app closes, you may want to cancel threads before the runtime tries to kill them. So for example in a work window we have code in close event where we loop through threads and tell them to cancel. For CURLSMBS class we recently added a cancel property for that. It will tell PerformMT & Perform method to return quickly. Than we loop and check threads to wait for them to finish. Those threads of course need to be cancel aware and also detect this state and delete temporary files for example.

With threads and avoiding crashes we also want to not access any GUI. Querying window or control properties can cause trouble as well as updating them. So for us we simply store current progress in properties of the thread. We also put a boolean flag there so we know if new status information is available. Now a timer on the progress window can check regularly and update the GUI on the main thread.

On our plugin examples, we have around 100 projects using threads and we will to revise them over time. If you see a problem, please query us for an updated project. Next prerelease plugins already includes an updated threaded download sample for CURL.

Tip of day: Animated GIF in Real Studio Web Edition

You can use animated GIF files in your applications made with Real Studio web edition. It's a nice way to do some lightweight animation and all browser support it.

You should not use the build in picture class directly. They would convert your GIF to a just one picture without animation and later convert it to PNG. Instead you must feed GIF file directly to a WebPicture and assign it to a WebImageView. Like in this sample code from an WebImageView open event:
Sub Open() dim w as new WebPicture dim f as FolderItem = SpecialFolder.Desktop.Child("test.gif") dim b as BinaryStream = BinaryStream.Open(f) dim s as string = b.Read(b.Length) w.MIMEType = "image/gif" w.Filename = "test.gif" w.Data = s me.Picture = w End Open

MBS Xojo / Real Studio Plugins, version 13.2pr2

New in this prerelease of the 13.2 plugins:
  • Deprecated LCMS plugin. Please switch to LCMS2 plugin.
  • Fixed memory leak in CopyRGBAtoMemoryblockMBS function with leaking the mask picture.
  • Fixed internal NewMemoryblock function to once again allow memoryblocks over 128 MB (introduced in 13.1).
  • Fixed NSMenuItem, so NSSearchField.searchMenuTemplate works again
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

MBS Xojo Developer Conference in Koblenz, Germany from 11th to 14th September

We are happy to announce the MBS Xojo developer conference in Koblenz (Germany) from 11th to 14th September organized by Monkeybread Software. We would be happy if you join us and take the chance to meet other Xojo developers from Europe. Get in touch, share ideas and learn new things.
(Xojo is the new name for Real Studio introduced with release 2013r1 next week)

We are currently preparing a schedule with sessions include the following:
  • News about Xojo 2013r1/2013r2
  • Preview of the new iOS support
  • News about our MBS Plugins
  • Databases
  • Version Control
  • IDE Scripting
More sessions are in preparation. Stephane Pinel will be there to present the latest Xojo news. But we think the new Xojo 2013r2 release and the iOS target will give us a lot of topics of conversation. If you arrive early, we'd love to offer a cosy get-together in the beer garden and restaurant in Koblenz next to our hotel.

Training

The day after the conference, 14th September, we offer training Xojo in English. There is also a german training on 11th September. With little example projects we will show how to create a solution with web, console, desktop and iOS application. We plan to create an image database as a sample and show you how to handle all the little details. If you have questions about how to do things in Xojo, you can ask them and we will demonstrate Xojo features with sample projects.

Dates

11th September: Training in German
12th September: First conference day
13th September: Second conference day
14th September: Training in English
15th September: Optional Sightseeing day.

Cost

The conference days are 299 Euro (249 Euro early bird offer) and the training day is 399 Euro, both including VAT. For the hotel, we have rooms available starting at 80 Euro including breakfast. Registration is available today.

More information is available on our conference website and for the training website.

Introducing FormatDateMBS function

Well, we have a problem. We need to format dates for our users. But not like date.shortDate where you get the date formatted in the settings of the current computer. We need to format the date in a web application with the date format of the user. And for this case, we added a FormatDateMBS function.

FormatDateMBS takes a format string, a date object and optional a locale identifier. If you don't pass an identifier, you typically get english, but if you pass an identifier, you can select which language and region is used for localization. Also with format text you can specify what to output. Just a part of date or time like the current year, the preferred date/time formats or one of the standard ones. Like you can specify "%x" for the preferred date presentation and "%X" for the preferred time presentation. Like this example:

dim d as new date
MsgBox FormatDateMBS("%x", d, "de_DE")
MsgBox FormatDateMBS("%x", d, "ja_JP")

The locale identifiers are platform dependent. On Mac, you use for German "de_DE". On Windows you use "ger" and on Linux you would use "de_DE.UTF8".

We hope this function (and also FormatMBS for numbers) help you making better web applications. Just check what locales you want to support and assign one to each user. Than use the user's setting for all format requests.

MBS Xojo / Real Studio Plugins, version 13.2pr1

New in this prerelease of the 13.2 plugins:
  • Updated SQLAPI++ 4.1.1.
  • Fixed a couple of memory leaks with unreleased Cocoa objects.
  • Added NSFontMBS.file function.
  • Fixed NewCFObjectMBSFromXML which was broken in 13.1.
  • Added more NSCoderMBS methods.
  • Added NSKeyedArchiverMBS class and NSKeyedUnarchiverMBS class.
  • Fixed a bug in XMP Plugin with files on Windows SMB shares being edited on Mac OS X.
  • Added XLBookMBS.LibVersion so you can easier see which version of libXL we use.
  • Added FormatDateMBS function for localized date formatting in applications.
  • Updated DynaPDF to version 3.0.25.67
  • Changed several MT methods to lock their parent object to make sure it's not destroyed while we run helper thread.
  • Added SpinningProgressIndicatorMBS class.
  • Added Cancel Property for CURLMBS/CURLSMBS.
  • Removed DynaPDFRectMBS.Height property. Depending on top/down vs. bottom/up coordinates it had wrong sign.
  • Added more NSFontManagerMBS methods.
  • Added QTKitCaptureViewMBS.setInputFilter, QTKitCaptureViewMBS.setOutputFilter, QTKitMovieViewMBS.setInputFilter and QTKitMovieViewMBS.setOutputFilter.
  • Added didDisplayImage events from QTKitCaptureViewMBS and QTKitMovieViewMBS.
  • Removed willDisplayImage events from QTKitCaptureViewMBS and QTKitMovieViewMBS.
  • Split Cocoa plugin into Cocoa and CocoaControls. New plugin contains mainly control classes, HTMLViewer and PDFKit classes.
  • Added NSViewMBS.setFocus method.
  • Added methods and events to NSApplicationMBS, NSWindowDelegateMBS and NSWindowMBS related to window restoration.
  • Added NSWindowRestoreHandlerMBS class.
  • Added AVFoundation plugin. 80 new classes.
  • Added DADiskMBS, DADissenterMBS and DASessionMBS classes.
  • Changed willDisplayImage event in QTKitCaptureViewMBS and QTKitMovieViewMBS classes to perform event on main thread.
  • Fixed bug in Movie.AddTextTrackMBS with unicode text handling.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Real Studio Developer Magazine Renew Promotion

We just got notice about a running promotion from Marc Zeedar's magazine:

Save 10% on #rsdevmag renewals with coupon code RENEW this month only!

see
rsdeveloper.com/renew/

We highly recommend the magazine to everyone as it is more up to date than any book available.

Conference Update

The website is setup mostly and we are still shuffling the schedule to fit in more sessions. Speakers are welcome to suggest a session.

Due to the positive feedback I already got to the hotel and made sure we have bigger rooms so we can fit more people in. And I ordered more stuff for coffee breaks.

If you like, you can register today and be sure to have a room in the hotel.

Save the date: MBS Xojo Developer Conference

Our conference will be 12th/13rd September 2013 in Koblenz, Germany.

For 11th we will offer a German training and for 14th an English training.
For 15th, we'll offer a sight seeing day for our foreign visitors.

PS: Speakers wanted! If you have a good idea for a session in English, please send us your proposal.

Conference Survey Done

First thanks to everyone for filling our survey. There are still plenty of people who did not visit a conference before, so we may have a lot of new faces.

And if all the people would come who clicked they may come, we will need a big room. From the week choice we have several favorites, so we need to check what we can arrange on the hotel side. On the week day, we are clearly going to use a Thursday and a friday as most people prefer that.

We will do training days: one in English and one in German. Of course we will cover iOS as well as web and desktop development. Especially I think we write one project like an image database with several applications and have them use same database, so admin can work with desktop app, users can use web app and iOS app to access images.

For the sight seeing, we'll probably need to get a big bus as there is a lot of interest in a sight seeing day.

Next week, we'll check the hotels and where we can get a big room for some days.

Real Studio Meeting tomorrow in Wiesbaden

This week in Wiesbaden:

21st May 2013, from 18 to 22 o'clock
4D Consulting, Scharnhorststrasse 36, 65195 Wiesbaden.

Topics are Real Studio 2013r1 and Real World Conference.
We'd be happy to meet you there if you have time to join us.

Real Studio Meetings

We had a nice meeting in Esslingen with ten people:


Next meeting is in Wiesbaden: 21st May 2013, from 18 to 22 o'clock at 4D Consulting, Scharnhorststrasse 36, 65195 Wiesbaden.

Topics are Real Studio 2013r1 and Real World Conference.
We'd be happy to meet you there if you have time to join us.

Survey about 2013 Conference in Europe

We thought about whether to make another conference this fall.
With some questions we'd like to know how many people to expect and what preferences you have.

If you have time, please fill this survey with just 10 questions:

Start Survey

For additional comments, please email us directly.

Real Studio Meeting this week in Esslingen

This week, we have a meeting in Esslingen near Stuttgart:

17th May 2013, from 18 to 22 o'clock
At Hellmer & Triantafyllou Computer-Systeme GmbH, Dornierstr. 30, 73730 Esslingen

And next week in Wiesbaden:

21st May 2013, from 18 to 22 o'clock
4D Consulting, Scharnhorststrasse 36, 65195 Wiesbaden.

Topics are Real Studio 2013r1 and Real World Conference.
We'd be happy to meet you there if you have time to join us.

Real Studio Developer Issue 11.3

The May/June (11.3) issue of Real Studio Developer is now available. Here's a quick preview of what's inside:

* News from XDC * by Marc Zeedar
This year's Real World conference was actually the Xojo Developer's Conference (XDC). We learned that tons of changes are coming this June, the biggest being that Real Studio will be called Xojo (pronounced Zoh-joe).

* Adventures in Florida * by Marc Zeedar
If you couldn't make it to this year's developer conference, you sure missed out! But never fear: Marc gives you a behind-the-scenes tour, so it's almost like you were there (except you don't get to eat the steak and crab legs).

* Welcome to Xojo * by Marc Zeedar
Curious about the upcoming version of Real Studio (now called Xojo)? Marc played with the beta release and explains all the changes.

* Xojo and iOS * by Marc Zeedar
We can't create iOS apps with Xojo quite yet, but we're getting closer. Learn all the details about what Xojo's iOS support will be like.

In our regular columns we've got articles on the resources of example projects, deploying with Xojo Cloud, SQL Tables, and much more. Enjoy!

MonkeyBread Software Releases the MBS Real Studio plug-ins in version 13.1

NICKENICH, Germany (May 8th, 2013) -- Monkeybread Software releases version 13.1 of the MBS plug-in for Real Studio.

The MBS plug-in comprises a collection of several plug-in parts which extend the Real Studio development environment with 1,700 classes featuring over 46,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console.

Some of the highlights on the 13.1 update:

First we put a lot of work into getting our plugins working fine with the upcoming Xojo 2013r1 version. If you plan to try the new release, be aware that older plugin versions will not work correctly with Xojo. You can use the normal Real Studio plugins from us with Xojo, but you may prefer to download our new Xojo plugins. They are optimized for the new version and you benefit from smaller file sizes and faster loading times.

Our new NikonCamera plugin allows you to connect to Nikon cameras with the Nikon SDK. You can query features and download image files. With sending commands to the devices you can have it delete files or shoot a new image. Than you can download image files and also show live video preview.

For Core Image we added ten new filter classes. You can automatically enhance your pictures by using the auto adjust filter functions. In Cocoa applications you can directly render to a picture with a context. The new MT functions on CIImageMBS allow you to load images better in background thread.

For Cocoa applications we have new classes for Drag and Drop handling. We also improved our custom cocoa control classes to have drag and drop events. Our NSMenu handling has been improved with better validation code. For Core Animation we now have classes for layers and transitions to do some effects.

In your Mac application you can use the new keychain classes which use the latest APIs and provide much more functionality. The MacAliasMBS class has been improved to use newer APIs and offer more functionality. Several CoreGraphics functions have been updated and we got new function to create graphics contexts. This way you can draw directly to picture objects in Cocoa.

For Windows we have now a class to learn about disk changes. The WMI classes can now read string arrays. Our DNS functions like DNSNameToAddressMBS now use newer APIs on Windows 7 and still carry fallback code for Windows XP. So you get better result with DNS queries. And we now support IPv6 for all platforms.

To improve security we now offer HMAC hash functions for MD5, SHA1 and SHA256.

We improved our SQL Plugin with new informix class and improved record insertion code. The Twain scanning classes got new options for orientation and resolution and handle better when scanning without user interface. For the Java database classes we improved blob support for drivers using streams.

We updated DynaPDF library to 3.0.25.65 and added new table functions which allow multi page tables. Our XL plugin now uses libXL version 3.4.2 to benefit from latest changes there.

See release notes for a complete list of changes.

Reselling Real Studio / Xojo licenses

MBS does resell Real Studio licenses including updates.
Especially we build nice bundles when ordering them together with our products.

Everyone should check this month if adding an update to your Real Studio license will save you money as for most people the move to Xojo will increase the update fees for keeping same feature set!

Real Studio Meeting tonight in Leipzig

If you are nearby, please come for a visit to the Merseburger Hof and look for someone with a Xojo t-shirt. See you there! Meeting starts at 6pm, but you can of course come later if you like.

MBS Real Studio Plugins, version 13.1fc1

New in this prerelease of the 13.1 plugins:
  • Verified with static analyzer on Mac that memory management is done well.
  • Removed Release Properties form CGFunctionMBS, CGGradientMBS, CGPathMBS and CGShadingMBS classes.
Download: macsw.de/plugin/. Or ask us to be added to our shared Dropbox folder. Update: We have a bug in DynaPDF registration. Please wait with download for new files from today.

DynaPDF license change

There is a little change coming for our plugins with DynaPDF. If you have a DynaPDF license for use with either Real Studio or Filemaker plugin, you can soon use the license key enabled for MBS Plugins with any plugin.

So if you buy a DynaPDF license for one of our plugins, you can also use this key with next release in the other plugins.
For Xojo, Real Studio and Filemaker, just one key. :-)

MBS Real Studio Plugins, version 13.1pr17

New in this prerelease of the 13.1 plugins:
  • Changed KeychainManagerMBS, so query can now use kSecMatchSearchList.
  • Fixed NameWithoutExtensionMBS and NameExtensionMBS to work correctly on files with a name starting with dot.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Plugin user distribution by countries

Some fun today with numbers:

This shows in absolute numbers how many people from what countries use our Real Studio plugins. Of course that would look much different if you look on plugin users per citizen of a country.
So MBS Plugins are used in 60 countries and half of them are either US or German.
The biggest plugin in space...

Archives

Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008