April 15, 2014

Project ARA and the MDK

Posted in Uncategorized tagged , , , at 6:15 pm by tetontech

I am excited to see Google’s project ARA and its developer kit, the MDK. It sounds very interesting as a development platform for just about anything.

As I was reading through the license agreement I ran across this item.

“3.2.5 You agree not to enjoin in any way (including, without limitation, seeking or obtaining any cease and desist order or any importation exclusion order, or through enforcement of a court-ordered injunction) another party’s manufacture, use, sale, offer for sale, importation or distribution of modules that comply with the requirements of the MDK.”

It seems to me this precludes any enforcement of intellectual property rights involved with the production of a module. If I create something fantastic, someone else takes it apart, duplicates it exactly, and puts it into production I can not stop them. This certainly would stop the intellectual property wars but there may be an unanticipated consequence.

What incentive do I, as a startup or an existing large company, have to do major research and development if I can not recoup my investment? It seems that this may lead to a situation where most or all modules developed for ARA have a low upfront budget. While this doesn’t preclude dramatic innovations that lead to completely new ways of interacting with and creating computing devices, it seems to me that this limitation may reduce the probability of such innovations being being financially possible.

October 1, 2013

xCode 5 git and bitbucket

Posted in Uncategorized tagged , , at 7:21 pm by tetontech

I just was creating a new iOS project and needed to share it with a dev team. I wanted it private so I used bitbucket. 


Here is how I got git working from within xCode 5.


  1. I generated a new project and made sure I selected the option to create a local repository.
  2. I created a bitbucket project using their web interface.
  3. I opened the mac Terminal application.
  4. Here are the steps in Terminal:

Then I added a remote to xCode.

  1. Select: Source Control > projectname – Master > Configure projectname
  2. Click the Remotes selection at the top of the Configure window
  3. Click the + symbol in the bottom left of the window
  4. Select Add New Remote
  5. Add any name you prefer
  6. Paste in the https url used to add the remote (https://bitbucketusername@bitbucket.org/….)
  7. Select Add remote

Then I did a commit

  1. Select Source Control > Commit
  2. Added an initial commit message to the bottom of the commit window

Last of all I did a push

  1. Select Source Control > Push

And now everything is all hooked up and working. I can add, change, and delete files and then do commits and pushes


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

January 10, 2012

Current Beta

Posted in Uncategorized at 3:58 pm by tetontech

The latest release of QC is in beta stage and is proceeding apace.  This beta includes optimizations of the communication layer between the JavaScript and the native sides for both iOS and Android.  It is much more responsive but requires a large amount of testing since it is a major change.

Another change is the Xcode 4 template that easily allows you to easily create iOS and Android applications from the same project.  This is in final dev-test.

Additionally there will be some new functionality that allows you to generate multiple views from within JavaScript, size them, and indicate where they should display on top of the base web view.  Such views can be other web views, image views, document views, etc.

The time required by my work on my doctoral degree has slowed the release process but work continues.  It just can’t be done quite as quickly as it was before I started the program.

VTM Developer Conference http://bit.ly/rwjFgk

Posted in Uncategorized at 3:51 pm by tetontech

I will be speaking at the Voices Android Developers Conference in February.  I’d love to meet you there.  Use this priority code ANDSP34 and save $200 + Early Bird price thru Jan 13

I’ll be speaking about hybrid application development.


August 16, 2011

QC DBSync version 1.3 available

Posted in Uncategorized tagged , , , , , , , , , , at 5:24 pm by tetontech

For those of you needing a native database synchronization tool version 1.3 of QC DBSync is now available.  It includes minor functionality and API upgrades on the iOS side, an example service written in PHP is included in the download.

QC Native 1.3 available

Posted in Uncategorized tagged , , , , , , , , , , at 3:30 am by tetontech

For those of you doing native, not hybrid JavaScript, development with QC I have uploaded a new version of QC Native.  It rationalizes the differences between the Java and iOS versions making the APIs nearly identical.  I have also updated the API Docs for Android, created API Docs for iOS, and included both in the downloads as well as the QC Family web site.

The download now includes a SimpleDB example for both Android and iOS.  The example inserts values into the database, queries values from the database, and can do an HTTP GET.  The iOS database interactions show how to use CoreData.  I will soon (by the end of the month??) have an example using the Android ORM I’m developing.

Still working on that QC Hybrid release.  It is getting really close.  More on that later.

May 26, 2011

Command Line Building using Xcode

Posted in Uncategorized at 8:42 pm by tetontech

Most professional software development companies or professional software organizations within companies eventually need to be able to build their products from the command line as part of an automated build process.  Usually this is proceeded by doing a pull from a software repository.  Often such builds are done at night or during other off-time hours.

This posting will not cover the use of git or other repositories.  It will cover the use of the terminal to build an Xcode project in Xcode 4.  Most of this information has been gleaned from examining the man page of xcodebuild.  You can see the help for xcodebuild if in the terminal you enter man xcodebuild.

Getting the version of xcode

Often in scripts a check of the compilation tool version is done to ensure correct compilation.  This is done by calling xcodebuild -version

Listing available sdks

                It is possible that you may need your script to check for a specific SDK version prior to triggering a compilation of your code.  This uses the xcodebuild -showsdks call.

Listing available schemes in a workspace

               If you have a workspace that has many projects in it t is, again, wise to check if a scheme for the project you want to compile exists.  Each project has a scheme, by default, in Xcode 4.  Here is the call to list schemes available in a workspace.  xcodebuild -list -workspace <full path to workspace file>
                The example shown here lists the schemes from the Examples.xcodeworkspace found in the QuickConnect 2.x download.

Listing available targets in a project

                If you are using a project that is or is not independent of a workspace your script may need to check to make sure that the correct target is available in the project since a project can have any number of targets.  The command to list targets is xcodebuild -list -project <full path to project file>
The example here lists the targets available in the File List project as well as the build configurations available.

Building all projects in a workspace

                To do this you would need to call each project individually or, and this may or may not be much better in the case of you projects, build dependencies into the xcode projects and then trigger the building of them all by building the topmost build.  This would be the one that has dependencies on the others.

Building a project in a workspace

                To do this what you really do is to either build the project directly without the workspace involved (see Building a project that is not part of a workspace below) or build the workspace with a scheme that is specific to your project.  The example shown here is for the second case.  This example builds the File Reader scheme that is part of the File Reader project of the QuickConnect Examples workspace.  I have removed the build output since it had sensitive information regarding the directory structures on my working machine.  The command to build a scheme in a workspace is xcodebuild -workspace <path to workspace file> – scheme <Scheme Name>.

Building a project that is not part of a workspace

                Maybe you need to compile a project without it being in a workspace.  If have cd’ed into the directory and the project is the only xcodeproj file in the directory the command to do this is xcodebuild.  If you are not in the directory the command is xcodebuild -project <path to project>.
                The example shown here is an example of the first.  I have again removed the build results because of the sensitive data exposed regarding the file structure on my machine.

There are many more options available with xcodebuild.  Check out the man page to learn more about targeting platforms, SDK versions, etc.

April 12, 2011

JavaScript fixed length double

Posted in Uncategorized tagged , , , at 5:31 pm by tetontech

For those of you who are using monetary or other fixed length values in your app here is a little function to help you out.  It accepts any numeric or string values and produces a string that can be used for further calculation as a number or displayed.  If the number is shorter than the precision indicated the function will pad it with zero characters until it is the correct length.




Call it like this:  var fixedLengthFloat = toFixed(3.2, 10);


The function:


function toFixed(value, precision) {


value = 0;


if(precision < 0){

precision = 0;


var power = Math.pow(10, precision || 0);

var result = String(Math.round(value * power) / power);

if(precision > 0){

if(result.indexOf(‘.’) == -1){

result += ‘.’;

for(var i = 0; i < precision; i++){

result += ’0′;




var decimalPortion = result.substring(result.indexOf(‘.’)+1, result.length);

var placesMissing = precision – decimalPortion.length;

for(var i = 0; i < placesMissing; i++){

result += ’0′;




return result;


March 10, 2011

Xcode 4 and QuickConnect

Posted in Uncategorized tagged at 7:26 pm by tetontech

Since Xcode 4 doesn’t allow custom templates I have been working on a way to make it easy for to use QuickConnect in your projects.  I don’t have a solution yet but am working on it continuously.

I hope to have a solution very soon.



Next page


Get every new post delivered to your Inbox.

Join 307 other followers

%d bloggers like this: