October 30, 2008

QuickConnectiPhone 1.0 Available

Posted in iPhone development tagged , , , , , , , , , , , , , , at 6:19 pm by tetontech

Update!  Many new features and examples available.

QuickConnectiPhone version 1.5  and 1.6 beta, a framework for creating installable JavaScript iPhone applications, is now available on sourceForge.

Included in the download are many examples of how to use the framework.  One is a Dashcode project file that implements an application completely in JavaScript.  It includes using the sqlite database as well as AJAX.

The second example is how to interact with the iPhone or iPod Touch.  This is a JavaScript application that can get the GPS information from the device.  It can also get the accelerometer information.  You can also use it to vibrate the phone and play system sounds as well as record and play audio.

One of the limitations of the UIWebView is that the pickers displayed when the user selects pull-downs in HTML.  This same example shows you how to use the more useful native pickers from within JavaScript.

This same example shows you how to write out debugging messages in JavaScript and have them show up in the Xcode console.  This is very handy since alerts are not allowed on the iPhone and alerts are a bad way to debug anyway.

These two examples are actually the examples from the book I have in progress.  More of the examples from the book will be added to create RC2 as well as any fixes that need to be made.  One of the examples included will be how to embed Google maps in your application that looks like the Map iPhone app.

Other examples cover everything from how to consume data feeds to doing enterprise data synchronization between the sqlite database on the device and ANY remote database.

I am currently deciding what the last chapter of my book should be. A rough cut of the first four chapters is available on Amazon.com. The title is:

Developing Hybrid Applications for the iPhone: Using HTML, CSS, and JavaScript to Build Dynamic Apps for the iPhone. It is being published by Pearson.

If you have any ideas for things you would like to see how to do with the iPhone please post them here.

The books current chapters are:

  • Creating iPhone Hybrid Applications Using JavaScript
  1. Developing with Dashcode and Xcode           – using both apps to create a hybrid application
  2. JavaScript Modularity and iPhone Applications – the QC Architecture explained
  3. Database Access and iPhone Applications       – using sqlite
  4. Remote Data and Hybrid iPhone Applications  – using AJAX
  • Section 2: Creating iPhone Application User Interfaces
5.  Creating an iPhone User Interface                     – Apple’s rules and other good ideas

6.  Hybrid Applications, GPS, Acceleration and

Other Native Functions                                  – calling objective-c from JavaScript and the QC Obj-C implementation

7.  Embedding Usable Google Maps                       – how to insert Google maps in your application so they look like the Map application that ships on the device.

8.  ??????

A.  An introduction to JSON
B.  Intstalling the QuickConnectiPhone Hybrid Templates
C.  JavaScript Objects

October 27, 2008

Android/iPhone comparison

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

With the release of the G1 phone I decided that I had better take a look at the build process and API for Android applications.

It is interesting but seems to miss the mark.

It is true that it is very easy to create applications for Android.  It is true that you can create the interface programatically or use XML to define it.  So in this way it is similar to iPhone development and interface builder.  There is no tool for graphically creating the XML file that defines the interface.

That being said it is easy for Java programmers to create applications.  In fact with little effort I have created most of the Java side of QuickConnectAndroid in 1 day.  This may be due to my many years of Java development and a previous implementation, unreleased, of QuickConnect for Java.

The development environment is eclipse with an Android plug-in.  It is disappointing that log messages don’t appear to end up in the terminal sub-window in eclipse.  In fact I am still working on finding where all of them go.  I have used gdb with it’s options to view the log file but not all of my log messages appeared.

There is a built in capability for JavaScript to call Java classes in the underlying framework.  This call would be made from WebKit embedded in the android.webkit.WebView object.

The problem, as I see it, is that Android is not as intuitive for users as the iPhone is.  There seems to be an over-reliance on the user interacting with the hardware.  It is not nearly as solid-state as the iPhone is.  For example, if you launch the browser and want to enter a URL, do a search, add a bookmark, refresh the screen, or swap browser ‘tabs’ you must push a hardware button to access the menu.  To go back a page another button on the device, not in the user interface, must be used.

Honestly it took me a while to find this.  I stumbled on it accidentally.  I assumed that the browser would be like a desktop browser or the iPhone browser.  That is to say the browser would be self contained not dependent on hardware activity to display accessing these ‘hidden’ items.

My own personal opinion is that the desktop is a waste of time as is the software menu at the bottom of the main screen used to display all applications.

Add on that there doesn’t appear to be any multi-touch capability and I personally can’t see why someone would pay as much or more for one of these phones as the you would for an iPhone.

If Google wanted to one-up the iPhone this doesn’t do it from a usability standpoint.  It seems that Android was created by engineers for engineers not for ‘normal’ people.

This being said, a version of QuickConnect for Android is such low hanging fruit that I will create one here soon.  I first have to ship QuickConnectiPhone 1.0.  I hope to have it and an example of how to interact with the device, called DeviceCatalog, included in the download.

When the QCAndroid is done you should be able to create an application for the iPhone and Android using JavaScript, HTML, and CSS and have it work on both devices.

October 10, 2008

QuickConnect licensing

Posted in iPhone development tagged , , , , , , , at 2:43 am by tetontech

Thank you to the hundreds of you that have downloaded QuickConnectiPhone.  I have been amazed at the reception that it has received without any advertising but this blog.  Hopefully your are finding it useful and helpful.  I know of one application on the appStore that uses it but have never asked you for such information.  If you would like to post your use of the framework here it would be interesting to me and maybe to others as well.

The QuickConnectiPhone framework is currently licensed under LGPL.  I felt that this would allow you to use it both in for and not-for profit applications while still keeping it in the open source community.

I would appreciate your feedback as to which license you would prefer it use and your reasoned suggestions as to why that license would be preferred.


QuickConnectiPhone release 1.0 coming soon

Posted in iPhone development tagged , , , , , , , , , , , at 2:35 am by tetontech

The 1.0 version of QuickConnectiPhone is soon to be released.  It will include a set of code that will allow you to log debugging messages, vibrate the phone, play system sounds, retrieve GPS data, and accept acceleration data as well as record and play audio files.

All of this functionality is available for calling from both Objective-C and JavaScript.  I hope to have embedded Google maps as well so you don’t have to exit your application in order to show a map with a pin or multiple pins.

All of this is added to the existing sqlite database access library for both languages and the AJAX wrapper for JavaScript.

A later version will include AJAX calls from Objective-C as well where the result can be consumed in Objective-C or pushed up into a UIWebView.

Example apps from my upcoming book will also be included.

A version without the map inclusion will be available for download October 18th, 2008 from sourceForge.

%d bloggers like this: