January 30, 2012

Updates to Some Libraries

Posted in Uncategorized tagged , at 4:10 pm by tetontech

With changes that have been happening in my life, specifically going back to school to get a doctoral degree, I find that I am no longer able to support the full suite of QC libraries.  The QuickConnect Hybrid framework will now be the only one I am supporting.

When I am done with the degree I will again be supporting the other libraries.  There is only so much time in the day.

The other libraries, such as enterprise sync, QCJSON, QCNative, etc. are and will still be available for download from source forge.


Thank you,


Lee Barney


September 10, 2011

At Last!!!

Posted in Android Development, iPhone development tagged , , , , , , , , , , , , , , , at 10:29 pm by tetontech

At long last (big sigh of relief here by me) QuickConnectFamily 2.1 is finally available for download.  It involved a lot of work by many people and has come together well.  There are some big changes for both the iOS and Android platforms.  These enhancements and changes have been driven by requests from developers like you.


  • This one is BIG.  The JavaScript functions now exist inside the qc name space.  In other words where you would have used the handleRequest method it is now the qc.handleRequest method.  The old behavior is deprecated.
  • Another BIG one.  In order to make the Control Function code more readable and more easily comprehended for those new to the framework all Control Functions MUST return one of the following three values (see the documentation for more information):
    • qc.STACK_CONTINUE – This instructs the framework to execute the next control function in the stack.
    • qc.STACK_EXIT – This instructs the framework to terminate all further stack execution.
    • qc.WAIT_FOR_DATA – This instructs the framework that a call to database or remote data has been made or a call to device specific behavior such as showing a map, displaying the camera, email editor or other native behaviors.
  • Work has been done to improve the asynchronous call stability in the underlying framework.  (Thank you to the team at affinityAmp).
  • Miscellaneous bug fixes and enhancements.


  • Bug fixes
  • Expanded database support and fixes
  • A major rework of the underlying Android Java code to make it match the design changes in iOS.  This is in preparation for QC Plugins and some new features such as ‘window-in-window’ that will be part of the next release as a Plugin.  The ‘window-in-window’ code is in there now but not official until it is converted to a plugin and the same behavior is available for iOS.
  • Added a hybrid sqlite database example


  • Bug fixes
  • Removed the native footer code since libraries for scrolling and others such as Sencha, JQTouch, etc. are now of good quality.
  • QC Family Hybrid Plugin API and design spec completed.  There is an example of how you can add to QC on your own.  If you thing these additions could be useful to others you are free to charge for them, or not, host them yourself, notify me and I will add them to the plugin list on the QC plugin site.  If you are willing to donate them to the QC community send them to me for review and I will put them into the git repository and list them on the QC plugin site.
  • Updated all the examples to use the new return values and the new qc name space.
Now that this is out I will be creating a Key/Value store for Android and presenting it at the next AnDevCon.  I’m also looking forward to adding Android build support back into the QC Hybrid build process so you can write your app once yet build and run it in the iOS simulator and the Android emulator with one click.
As always I hope this is helpful for you.  I enjoy working on QC and hope to be able to do so long into the future.  If you find any issues please let me know via the google group.

June 15, 2011

New Version of QC Native Available

Posted in Android Development, iPhone development tagged , , , , , at 5:13 am by tetontech

I have just completed an update to QC Native for those of you who are doing native Android and/or iOS development. Download it from here: http://goo.gl/P7s6D

If you are using QC Hybrid to write your app in JavaScript you can safely ignore this update. There will soon be a new version of QC Hybrid for you to use with several updates that I’m dying to get out to you.

As with the previous version of QC Native all threading is done for you. ValCO’s and BCO’s will run in a background thread and VCO’s will run in the UI thread on Android, JavaSE, and iOS. No threads will be used when you use the qc.jar file in an Enterprise Java environment since they are not needed there.

The Control Objects in QC Native now use HashMap/NSMutableDictionary instead of ArrayList/NSArray. This allows you to have more control over the data used in your Control Objects. Another change is that you now add the results of your calculations in your BCO’s, ValCO’s, and VCO’s to the parameters HashMap/NSMutableDictionary instead of returning them from your handleIt methods. Now you return null to terminate a control stack and any value to continue.

This change will give us a strong base to build on for the foreseeable future for both the native and hybrid libraries.

May 11, 2011

iPad and Showing the camera in Objective-C

Posted in iPhone development tagged , , , , , at 5:57 pm by tetontech

So here is a hint for using the camera with the iPad.

The iPad allows the camera view to rotate as the orientation of the device changes.  Imagine this set of views.


———-> base view

—————> subview

————–> camera view

If you display the camera from the subviews’ view controller the camera views’ control bar and the orientation of the camera view itself will only be correct if  the device is in portrait-right-side-up orientation when the camera view is displayed.  In any other orientation the camera view will be displayed incorrectly and this orientation error remains as the device orientation changes.

If the set of views is like this the camera view will be displayed correctly regardless of the original orientation of the device.  It will remain correct as the orientation of the device changes.


———-> base view

—————> camera view

So here is a rule for showing the camera via the UIImagePickerControllerDelegate class.

“The view controller that displays the camera must be controlling a view whose superView is the main window if the controlled view auto rotates.”

January 15, 2011

QuickConnectFamily 1.6.7 Available

Posted in Android Development, iPhone development tagged , , , , , , , , , , , , , , at 11:14 pm by tetontech

QC 1.6.7 has been uploaded.  It includes a complete rewrite of the way your QCAndroid apps are compiled from within xCode.  I think you will find compiling much better.  It also includes a native Android template that allows you to build QC applications in Androids’ native Java along side the Objective-C native template for iOS apps.

Just like in QC Native for iOS apps created using this QC Native for Android template ‘pre-threads’ your application for you.  This means that any code that you write that is not directly related to updating the view is run in helper threads.  Any code you write that updates the view will run in the main view thread just like the native QC iOS apps.

Build your Control stacks in either language and your Validation and Business Control Objects, including db and server/service access, will be run on background, helper threads and then when the View Control Objects are executed they will be run in the main-view thread.

This means that your applications’ user experience is snappier since the main-view thread is only blocked when the view is being updated.

I will be covering the basic structure of Android Native QC apps and how to write them at the Android Developer Conference in March.

I will be covering the basic structure of iOS Native and Hybrid QC apps at the iPhone Developers Conference in April.

More tutorials, when I get them done, will be available on the wiki.

I have also uploaded QuickConnectFamilyPC_1.6.7 for those of you who want to develop using Eclipse rather than Xcode.  It includes a few examples of hybrid apps and instructions for how to use QC in Eclipse.

I’d love to see you at the developer conferences and get feedback in addition to what I receive via the Google group and this blog.




Android Emulator Defect Causes App Crash

Posted in Android Development tagged , , , , , , at 7:00 pm by tetontech

Avoid the current Gingerbread Android SDK if you use the emulator to develop your apps!

The current Android SDK version, Gingerbread- r_08, has a new defect in the emulator.  This defect causes any application that uses the standard Google/Android methodology of communication between JavaScript in the Android WebView and other Java in the application to crash when run in the emulator.

Installing and running your QuickConnect or other hybrid apps on a device still works.  Since developing using a device is faster than developing using the emulator this is probably your bet anyway.

A discussion of this bug can be found in this  Google group discussion.

Let’s hope the Android team either gets their act together and fixes this soon or gives us a better development tool like Android running in a real VM instead of this emulator.

January 6, 2011

QuickConnect and the Mac app store

Posted in misc tagged , , , , , , at 7:50 pm by tetontech

The mac app store is up.  Do you want to put an app up?  QC has supported hybrid mac development for two years.  It is ready for you now.  All you have to do is make your selection as you see in the picture below and start making your app.

I’m currently adding more functionality to QC Mac.  The update should be out next week but you can get stared now.  Develop your app in HTML, CSS, and JavaScript just like your hybrid iOS, Android, Blackberry apps.

Selecting QC for the Mac

QuickConnect 1.6.6 now available

Posted in iPhone development tagged , , , , , , at 3:05 am by tetontech

QC 1.6.6 has a fixed installer but also has an upgrade that should make your user interface more responsive when you use the framework calls to download or upload files, make native database queries, or any other calls you make down the the native layer.  You don’t need to worry about the threading issues or starting the threads.  It is all automatic.  It doesn’t have any impact on your JavaScript code.

January 4, 2011

QuickConnect family Release for Windows, Linux, etc.

Posted in Android Development, erlang development, PHP development tagged , , , , , , , , , at 5:23 pm by tetontech

I have put together a QC 1.6 release for non-Mac users.  It includes a jar file for QCNativeAndroid, files for QCPHP, QCErlang, and the 1.5 release of QCHybridAndroid.  As soon as I can get to it I will be updating the hybrid iOS and hybrid Android environments to include the multi-threading now available in the native iOS and native Android environment.  It will be interesting to see how the available threading effect what we can do in JavaScript.

December 31, 2010

Sencha Touch and QuickConnect Hybrid

Posted in iPhone development tagged , , , , , , , at 10:35 pm by tetontech

Ed Canas has put together a short video on how to use Sencha Touch with QuickConnect for the iPhone and iPad. You can find the video here on the QuickConnect wiki.  In seven minutes he has the Sencha Kitchen sink example working with the QuickConnect JavaScript functions still available.

Thanks Ed.

Go take a look.

Next page

%d bloggers like this: