Using local variables to cache values you query often can speed up an app a lot. For example in a web app, if you use a loop of code and you access the current session with the session function, you waste a lot of time. Just an example:
for i asinteger = 1to1000 Session.t.test next
and this code is 10 times faster:
dim t as test = Session.t for i asinteger = 1to1000 t.test next
Same applies for arrays where it's often better to lookup the value once in a loop.
Another reason for local variables can be to see them in the debugger. For the runtime speed of your app it doesn't really matter if a value is stored locally. In a lot of projects I have code like this:
dim db as database = Session.db
So I can see the local properties of the database right there in debugger.
We are looking for someone to join our engineering team! If that’s you, you’ll be working on the Xojo IDE, web framework and sharing the IT responsibilities. View the full job description and apply today at xojo.com/company/careers.php
If you use our SQL plugins, you sometimes have trouble connecting. And so far 99% of our users who had trouble with our SQL plugin do just need to find the right connection string. Because if you pass in wrong format for the connection string, you just get an error, often not even a helpful error message.
Microsoft SQL Server direct:
As you see some databases use a ODBC style, some just IP or DNS Name with port and database name after the @ character. SQLite simply uses the path to the database file. And for Microsoft SQL Server, you need to know the instance name and the database name.
For some services, you can include the password in the connection string. In general we avoid that and pass the password through the password property/parameter. This way you can still show the connection string somewhere.
If you use SQLDatabaseMBS class in Xojo or Real Studio, please prefix the connection string with the right prefix. e.g. "DB2:" for DB2. With SQLConnectionMBS or our Filemaker plugin, please set the right client.
Recently at WWDC, Apple announced a couple of things. Beside the new hardware, there was quite a few software things. So the last days, I had some fun trying out some of the new features. It's nice to see that Apple got a couple of new satellite images for their maps application. Our house is now on the map. You can see it on iOS maps app already if you like.
The new Xcode 5 developer preview is already working well. I already tested our Filemaker and Xojo (Real Studio) plugins here with it and they compile file here. Already I found & fixed a few bugs found by the improved static analyzer.
If you have access to the WWDC videos, please take the time to watch them. Including the ones from the last years. There are sessions about LLVM which will also be used in next year's Xojo version. So It's good to know the details about that compiler. You find all videos from WWDC conferences on Apple's developer video page.
Of course once we move here to Mac OS X 10.9 as development platform, we may need to quit compiling Real Studio plugins for PPC target. Also at some point we may loose backwards compatibility for Mac OS X 10.4.
We are visiting San Diego for the Filemaker Developer Conference in early August. While we are in the area, we like to offer some meetings for Xojo developers. We plan to visit Los Angeles as that's our airport, San Diego for the conference and Las Vegas to see where next year's Xojo Developer Conference will be.
Exact dates and times have not been set yet. But we give you two choices for each location. Please add yourself where you see fit with your schedule. For the date with most attendees, we'll pick somewhere a restaurant, reserve a table and have dinner together. At least we try to find a place we can all sit and shop talk. If you have suggestion for good locations, please tell us.
If you like to join a meeting, please add yourself, so we can find the best date. Also you may want to email us, so we put you on the list and inform you about progress. Meeting time will be around 6pm to 9pm. If you come later or leave earlier, that's no problem (as with all our meetings). Later we may be at a bar and talk more if people have time.
For all meetings, we can discuss Xojo & Real Studio as well as the current Xojo 2013r2 release (not sure if it's in alpha, beta or release state in august). And we can discuss about all your plugin related questions.
Personal meetings or trainings
It is also possible to have a personal training or meeting there, where we could review your projects, help you add plugin functions or show you what you can do with Xojo.
There is a Xojo (Real Studio) developer meeting in Auckland. Maybe you want to join it and meet other developers from New Zealand?
When: Thursday 27th June at 6:00pm Where: Mindhive, Level 3, 10-12 Customs Street East, Britomart Quarter, Auckland CBD Who should attend: Anyone interested in coding with or learning about the Xojo Development Environment. Guest Speaker: Geoff Perlman, CEO of Xojo Inc. RSVP:meetup.com/Auckland-Xojo-Users-Group/
Today we had an interesting issue. A client uses our QTkitMovieMBS class to load a movie from disk. Than he queries the movie object and assigns to Movieplayer. The code looks like this:
dim qtkm as QTKitMovieMBS = QTKitMovieMBS.LoadMovieFromFile(mvFile,e) MoviePlayer1.movie = qtkm.movie
It does work fine in Carbon, but fails for Cocoa. In Cocoa, you get a couple of new threads for each time you do this and that is very bad. On the long run you either run out of CPU time (app gets slower) or out of memory (Crash).
The reason is under the hood. We convert from QTMovie in QTKit to a regular Movie in old QuickTime API. In Cocoa targets Xojo itself uses QTKit for the MoviePlayer, so they convert from the Movie back to a QTMovie. And somewhere here the cleanup does not work correct. So for each movie a few threads are started (audio, video, decoder) and they are not closed when the movie is destroyed.
dim qtkm as QTKitMovieMBS = QTKitMovieMBS.LoadMovieFromFile(mvFile,e) dim q as QTKitMovieViewMBS = MoviePlayer1.QTKitMovieViewMBS q.movie = qtkm
So here we query the MovieView for the movieplayer and assign the video directly. This way Xojo does not know about the change. Things like autoResize don't work. But it solves the thread problem so far.
The new functions used here will be part of next plugin prerelease.
Twitter has an API which you can use from Filemaker with our CURL plugin functions. Now they have a search API and just today shutdown the 1.0 API version. Now we have to use 1.1. A little surprise for me. But it looks like I managed to update the example project for next plugin version to use 1.1 API there.
If you need, you can email me for a copy earlier than next prerelease.
Our conference will start September, 12th 2013 and you can be part of it. We have enough confirmed registrations so that the conference will definitely take place. You may have heard about floods in central Europe. Luckily, our conference site in Koblenz is not likely to be affected.
Early Bird Offer ending soon
Until July, 12th we offer early bird registration price. So instead of 299 Euro, it is only 249 Euro (you save 50 Euro). Those prices include VAT, so if you are from Europe and your company has VAT ID, the actually early bird price is 209.24 Euro. This also applies for US visitors (and other countries like Swiss) with a company where registration fee currently would be $279 USD.
Due to general demand, I have added a session about security. We had a similar session two years ago in Frankfurt, but a lot of things changed since then. The content has been updated as we want to focus more on web security. If you develop a web app, you really want to make it as difficult as possible to hack. And of course if you do iOS development, you will soon be doing client/server apps, where security is also very important.
There has been some confusion about the language during the conference. Although the conference will take place in Germany all the sessions will be held in English. We also offer one training day in English and one in German. But between sessions and in the evening, you may hear a lot of different languages. We already have confirmed registrations from France, Spain, Italy, United Kingdom and Germany.
If you have an interesting topic you'd like to talk about, please contact us soon. We have still 2 big sessions available for you. And we have 3 smaller sessions for showing your product in 15 minutes. So if you have an application made with Real Studio or Xojo and you like to demonstrate it, we'd be happy to offer you a short session there. You can show what your app does and talk about how you coded it and which tools you have used.
If you fill one of the longer sessions, we also grant you a reduced speaker price for the conference ticket of just 149 Euro including VAT.
More details about the conference and registration on the website.
We bet you all saw the keynote if you are interested in Apple's products.
Some things on the OS X 10.9 Maverick presentation sounds very great. We'll soon dig into the details and make sure we have some powerful Xojo (Real Studio) & Filemaker plugins available for you in time.
Especially a few things like Maps API will be interesting, new notificaton APIs and all those functions to help saving energy.
If you have wishes, please do not hesitate to tell us.
Der "RealStudio-Treff Hamburg" ist eine kostenlose, lockere Runde und dient zum Informations- und Erfahrungsaustausch und -beim leckeren Essen und Trinken- natürlich zum Diskutieren, Beraten, Schnacken und viel Spass haben!
Willkommen ist jeder RealStudio-Interessierte: vom Neuling bis zum Profi.
Das nächste Treffen findet statt am: Mittwoch, 12. Juni 2013.
So, we signed the contract for the hotel two weeks ago and rooms are locked. We have plenty of space reserved, but not as many bed rooms blocked as I'd like to have. So please sign up soon and reserve hotel room. We only have 20 double rooms blocked, so if you need one, be quick.
Stephane Pinel also confirmed he is coming. He'll present 2013r2 and show preview of 2013r3. And of course iOS will get an extra session. Not yet sure who will present iOS. Maybe Stephane, maybe Geoff via Skype or even better Joe Strout via Skype. Joe is the developer of the iOS framework for Xojo. But if Skype fails, we'd simply switch back to Stephanes copy of the iOS enabled Xojo version and do it locally.
For the attendees, we'll setup a google group (with mailing list), so you can sign up there after registration and share travel plans. Maybe some people take the same trains/flights and want to share a taxi? Email me for the invitation to the group.
We so far talked with a lot of interested people and have already a dozen people on the list to come to the conference. People from spain, USA, Netherlands, Great Britain, France and Germany already said they will come.
For the social program, I updated the infos for our sightseeing day. So if you stay longer in Germany, we'd be happy to drive you around that day.
Xojo is a great release. It finally moves forward and brings the new IDE and switches the license model. Also we will enjoy the new books/manuals and the new cloud feature. Also Feedback app is updated with a new look. We are happy about all the bug fixes in the framework, but still fear that some changes/bugs may corrupt projects. We'll see how the release will do in everyday work.
Plugins for Xojo
With Xojo a new plugin file format is introduced. But older plugins still work. On the long run you will want to use the new format as it loads quicker and the files are smaller. And as MBS plugins are available in both favors, they have not the same content. The rbx files still contain the PPC code which is missing for the new xojo plugins. And our xojo plugins will be the plugins which will include 64bit some day.
Whether you use rbx or xojo format plugins doesn't really matter. Just make sure you use recent plugins. 13.1 is okay, but 13.2pr4 is better. We fix bugs as soon as we know and we hope everything is right for Xojo so far.