April 15, 2014
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
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.
- I generated a new project and made sure I selected the option to create a local repository.
- I created a bitbucket project using their web interface.
- I opened the mac Terminal application.
- Here are the steps in Terminal:
- cd /location/of/new/project
- git remote add origin https://firstname.lastname@example.org/bitbucketusername/projectname.git (you can get this URL directly from the bitbucket sit for the project you created).
- git pull origin master (I had to do this in order to be able to do the later pull)
Then I added a remote to xCode.
- Select: Source Control > projectname – Master > Configure projectname
- Click the Remotes selection at the top of the Configure window
- Click the + symbol in the bottom left of the window
- Select Add New Remote
- Add any name you prefer
- Paste in the https url used to add the remote (https://email@example.com/….)
- Select Add remote
Then I did a commit
- Select Source Control > Commit
- Added an initial commit message to the bottom of the commit window
Last of all I did a push
- 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
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.
January 10, 2012
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.
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.
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.
September 10, 2011
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.
- 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.
August 16, 2011
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.
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.
August 11, 2011
Get a discount for AdDevCon II coming up on November 6 – 11. You can use my last name (Barney) as a discount code and get $200 off the registration price. I’d love to meet you there.
August 2, 2011
For quite some time I have been thinking about what a good ORM library should look like. I haven’t had any time to design and create it until now because of the university classes I’ve been teaching and supporting and completing the other QuickConnect Family projects. For the last couple of days, since school is now out for the summer, I have been making a cut at it.
I am very pleased. I have a very functional and easy to use implementation. It avoids the pitfalls that Hibernate made back in the day when it was designed and it avoids mistakes made by Apple when the created CoreData.
You don’t need any annotations. You don’t need any HQL like language for queries.
Even better it is only 16K in size! I was surprised but pleased at how little code was required.
It is untested at the moment but you can see what the code looks like if you download the source from sourceForge using git.
I hope to have an example working soon and want to create a GUI front end to make use even easier. This GUI will create your SQLite tables for you and put everything together you need in one jar file.