We need your advice...
We want to extend our current Drupal 6 site's functionality to work as a cross-device mobile application (iphone/ipad, android, blackberry, etc). A couple of things that we would like to know:
1. How difficult is this to do? Would we be able to do it ourselves?
2. Can the mobile apps and our current live site co-exist? Can they run on the same database?
3. If this is too difficult for us to do ourselves, where is the best place to start looking for a company to do this for us?
4. Our site is very dependant on the location module and the Gmap module at the moment, how would this affect our development of the mobile app?
5. I know it is difficult to determine, but what would be a ballpark figure for this to be accomplished? ($100, $10 000 or something rediculous like $1 000 000?)
Your advice will be greatly appreciated!
Regards
Rick
Comments
What you want to do is create
What you want to do is create an API that the apps can interface with. The best way to do this is to use the Services module, and extend it (with custom modules) to serve the data that you want to serve. You can choose the type of server you want to integrate with, and can actually put out different formats of data for different applications, using the same back-end services extensibility. So for example, you could put put plists for iphone (they use plists natively) and JSON for android, or whatever you wanted.
As for whether *you* can do it or not, that really depends on your skill set. You will need to be able to write integration scripts for the Services module, as well as code iPhone and/or Android apps.
Contact me to contract me for D7 -> D10/11 migrations.
Jay Thank you very much for
Jay
Thank you very much for your quick response.
So the answer is No, we can't do it ourselves:). That sounds like you need a lot of skills to accomplish that and we do not have them.
In your opinion what would be our best next step in the process?
Any idea on the price for such a job?
Well, you will need find
Well, you will need find either a person or people to do the following:
1) Design your app. You will need to identify the data that needs to be transferred from the server to the app, and this information will come out during the designing stage.
2) Build the module(s) to extend the Services module on the Drupal side of things. The developer will have to create methods that will allow the data identified in step one to be transferred to the app (step 3)
3) Create the app. The app will have to initiate a connection to the server to authenticate the user (either as an anonymous user, or a signed in user), then connect with the interface in step 2 to get the data it needs.
Ideally it would be nice if one person could do this all, but you'd have to find a designer/developer who is proficient in either java (android) or Objective C (iphone) as well as be familiar with Drupal, so it's not that likely to find! You will probably want to find a person/agency who does app development, then find someone who can do the Drupal services side of things, and have them interact with each other.
I can't tell you a price though. I spent 4-5 months studying objective C a couple of years ago, but I didn't like it, so I stopped doing it. But I used the services module as I've described here.
Contact me to contract me for D7 -> D10/11 migrations.
A more cost effective
A more cost effective solution would be to build the app using an HTML5 framework such as Sproutcore or Appcelerator. Drupal can be used as a backend (with the services module) and you can use PhoneGap to deploy cross platform native applications from this single codebase.
PM me if you require more information and I can point you in the right direction.
Scott
I was looking for a book on
I was looking for a book on Amazon that teaches exactly this and I end up here, idk how that happened. lol.
I've been very eager to get my hands on with mobile development since I learned that html, js, php and css are already enough to pull one a-kickin app version of your drupal site without learning objective c (yikes). Can you concur @jaypan?
I am willing to take the time and undergo the learning curve to be able to do this. And I'm very eager about it. @jaypan Your short advice above proves useful to me, thank you but is there any more general guidelines you can pass on drupal site - app development? Can you share some useful resources that can be of use to me/us? Perhaps a book?
I'm looking into this books but I'm not really sure as to which among them can be of use to me:
Building iPhone Apps with HTML, CSS, and JavaScript
Beginning Smartphone Web Development
Drupal 7 Mobile Web Development Beginner's Guide This one though focuses on the browser side of things and not as a native app.
What do you think?
I honestly don't have a great
I honestly don't have a great response from you. When I was learning Objective C, apps had to be written in that or the App store would not accept them. Maybe things have changed now?
The services module has a lot of documentation, but it's fairly disjointed, and language abstracted, since it's on the Drupal side of things. I mainly figured things out just by testing and testing and testing until I found something that worked. It was a big headache to tell the truth!
Contact me to contract me for D7 -> D10/11 migrations.
I am in exactly the same spot
I am in exactly the same spot as you are right now. I didn't find any books for connecting drupal and native apps though. So I decided to learn Javascript/HTML5 and Appcelerator Titanium. Titanium enables you to write your app in javascrpit and then it translates the code into objective c and/or java. There is an example app from Drupal Con 2011 which was built - in Titanium - using Drupal as backend. So for now I am focussing on writing my app and creating my drupal-page. In the next step I will find a way to connect them - drupanium looks very promising.
What is your plan? And do you have advice on good books?
An article about integration
I wrote an article with detailed instructions of how to integrate Drupal with Android.
You can see it here:
Drupal with Android integration: make posts and upload photos.
Re:Converting our Drupal 6 site into a mobile app
Converting a Drupal site into a mobile application is not so much complicated but it requires time, smartness and experience of a developer. Today, almost all the mobile application developments can be performed in the Drupal CMS.