G1 Google Phone Drupal Site Management Application

Events happening in the community are now at Drupal community events on www.drupal.org.
Macronomicus's picture

I saw this post http://groups.drupal.org/node/6964 but it seems to be more concerned with making drupal websites come up in the phones web browser, which in and of itself can be quite powerful. However I am interested in the possibility of creating an application for the Google phone that integrates with drupal back end for various management tasks.

This is just an idea so I dont have any solid solution but I was inspired by my new phone and would love an app that simplifies being away from a computer and still being able to manage drupal stuff. For instance I can manage my Banking through an app quite well .. and its got lots of cool features! So I know its possible.

Sure an app may be somewhat limiting in that everyone doesn't have similar needs ... so I was thinking about making an app that only serves my needs. That said though .. there may be a way to handle diff needs by opening up available tasks based solely on a given users config of the app from within the drupal site or the app itself from the phone. Or even just detecting the available bits and generically serving them to the app.

Mostly im curious what others ideas may be related to this subject.

Comments

Making an application with

twom's picture

Making an application with Drupal at the backend is certainly possible.
Take a look at http://drupal.org/project/Services . The problem is the same for iphone, flex applications, etc ... For flex there are some examples out there.

By using the services api, you can exposes the data and functionality to an external applications. You just need the time to develop the application, while reusing your drupal site can save time. But often an application can give a much better user experience!

I would be happy to see some examples of people that made dedicated mobile applications with a Drupal backend.

Tom
http://www.mobiledrupal.com

Absolutely ... and to look @

Macronomicus's picture

Absolutely ... and to look @ googles API for the G1 it doesn't seem too terribly difficult to make apps.
It certainly makes a lot of sense to use the services API.

In the end it may be more logical to use webpage apps with a mobile template but I was just curious to see what others are thinking along these lines. The possibilities are endless really.... You could develop games with drupal services to handle data n such or backend management applications (maybe tied to drupals Aegir) .. really everything that's possible with drupal is possible in an app that the google phone could handle.

Im not sure about Apples iphone though .. isnt that all clo$ed and proprietary? dunno never seriously looked @ the iphone they dont plan on having a flash player which sealed the deal for me. No flash no likey! The internet without flash is painfully lacking IMO.

Cool site by the way!
That Fennec mobile browser looks quite interesting!
Even though the google browser in my G1 is nice, I'd still love me some firefox!

Indeed, mobile browsers are

twom's picture

Indeed, mobile browsers are still lacking a lot functionality... I am currently writing an overview on geolocation and the current state of browsers. More and more browser will be able to handle it.

The same counts for flash... Little by little this comes available, but in my opinion, flash video is currently the only reason to support flash in a mobile browser. A lot of flash interfaces and games are just not suitable for mobile devices!

We have worked with clients that wanted to make their flash site mobile... These flash sites where luckily feed by an api and some xml feeds, so we rebuild the site using these feeds. The same way how you would make a mobile application.

Yeah ... they are working on

Macronomicus's picture

Yeah ... they are working on the flash player for the G1 right now .... I think their biggest challenge is RAM usage, they need some mystical way of reducing ram usage whilst keeping unadulterated content, not everyone can redo their content for mobile. Video is nice in flash but 3D flash is more exciting by far! Plus, don't forget about AIR apps once those can be on the phone it will be a lot easier to write apps for the G1. I think that's the main reason Apple is opposed to Flash cause they have something popular and they dont want anyone else getting in the way of their money.

Started to think about it too

zeropaper's picture

Hi there!

I also started to think about something that Android could really be an interesting platform for developing a Drupal "mobile" administration / content creation platform.
The services module would also be my choice (JSON or REST, but not SOAP/XMLRPC, wich is too "heavy").

I already took a look at the beast (well, Android SDK) and it seems pretty easy to build something.
Something who could be interesting would be to create a library (with some GUI on top perhaps) who could be easly adapted to the needs of a particular project.

Lately, I saw some projects (on the drupal CVS: android and somewhere on google code something called Droidpal)... but was not convinced about the approach. Still, it was a nice starting point for me to understand how to reach the services.

Interesting ... that library

Macronomicus's picture

Interesting ... that library idea. You could have a drupal site of all your music (or any files) and access them via the android. I am already in love with the lastFM android app as there is no need to have much music on my phone when it can be streamed in. Having a drupal backend would give total control of playlists etc.

I was thinking making posts and managing bits would be quite nice while out in the field or traveling around. Wait thats another cool app. For travelers ... could upload pictures and video into a specialized content type. No need to hit the laptop back @ the hotel you just share as you go.

lol .. as many things drupal can do & as open as android it im sure the possibilities are literally endless!
Not to mention the fact that some folks are raking in the dough with cheap paid apps in the google market.

Just wanted to add a bit more...

Macronomicus's picture

Perhaps a generalized api for integrating android/drupal. A nice base to write android apps backed by drupal. Might be a tad complicated but would be smart IMO. Then we could mostly work from the same code-base and spend our time integrating existing modules and baking new ones. Very exciting stuff!

That was exactly what I thought

zeropaper's picture

I really thought about a framework / abstraction layer / library focused on interaction between Android and Drupal... This would ease future Android apps development for everybody.
As the "services" module can be easly be extended (using hooks), it would my choice for the server side... and as JSON is really light.. it would be my choice for the transportation of the data... (by the way... I think XML-RPC would be too "ressources-costly" for a mobile device)..

Sadly, I'm right now missing time and "java skills" to start yet with something... but I will need something like that and would really really really take part to the developement...

oh... man.. if only somebody could take me by the hand for the first steps... (<-- this is an open call :) )

Oh.. snap! I wish I could

Macronomicus's picture

Oh.. snap! I wish I could answer your call!

Time is sparse these days, and I'm lacking java skills, although I am ok with actionscript which is apparently forked or previously based on java to some extent.

I noticed that MIT's opensource edu bits includes several free courses on java.. woot!
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-...
&
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-...

If you've not checked out their free education bits then do, just discovered them myself ... I am going to study some quantum theory & mechanics courses! I love MIT for doing this!! Apparently quite a few uber schools are releasing full courses like this. I love to learn so its a real bonus to not have to pay out the wazoo to expand my horizons.

Taking classes aside! lol ... hopefully someone will be searching this topic and be able to add their java and/or android expertise to the mix, I would be very excited to help with deving where I can, this could be such a fantastic project. If I turn up anything I'll post it back here.... I need to read more thoroughly through the android sdk too.

Im guessing your right about the resource hogging... I think this is why the flash player is taking so long for android though its supposed to be here soon.

Thanks for the links, I'll

zeropaper's picture

Thanks for the links, I'll give a look at them tonight!
(I have now to focus a little bit on my work)

Found this

Macronomicus's picture

Ahh .. yes work is important!

Is this one of the things you mentioned in your earlier post?
Looks like a few other drupalers are wanting the same thing. Looks quite recent too.

http://drupal.org/project/android

Indeed, this is the project

zeropaper's picture

Indeed, this is the project I talked about earlier in this post.. (I didn't follow it too much after having looked the source code because it's not really what I expect).

True .. though from his post

Macronomicus's picture

True .. though from his post in the issues they seem open to architecture discussion.

Still.. if they don't eventually go the api direction there is nothing stopping others from taking that leap.

Absolutely right, but it's

zeropaper's picture

Absolutely right, but it's already nice from them to be open to discussion.
Now.. we are facing a question they only can answer theirselves... are they going to choose the reusability (wich would mean to me an API / Java set of scripts, our goal here...) or... will they stay on their position with a kind of all in one thing who will be hard to port to other projects.

In the case of an API, it would be a good thing (those are only my thoughts) to keep the discussion (and really dig into the possibilities / architecure) here (or a special groups, would it makes sense?).

I suppose this mobile group

Macronomicus's picture

I suppose this mobile group could be a good place to discuss further. Though if a full api and resulting drupal/android apps spring to life perhaps an android group would not be without merit. It would certainly improved things without all the other mobile stuff mixed in. I wonder how many other folks would be interested in such a thing? I know the G1 is selling like crazy with new users everyday.

Found something else interesting .... I was thinking about the possibility of Android on a multi-touch capable mini laptop and how cool that could be. Apparently its in the works with HP/google... I imagine over time we'll find Android flavored linux on many different hardware rigs.

API in the app or the backend side?

liorkesos's picture

Hi guys - you mention "the API way" are you meaning in the java app or in the server side.
As zeropaper mentioned we use the exact stack he thought about, java and the enadroid apis for the client, Services + json_server for the backend.
The app code is open - http://github.com/gby/droidpal
best regards
Lior
Linnovate - Community Infrastructure Care
Drupal Services in Israel
http://www.linnovate.net

Linnovate - Community Infrastructure Care
Drupal Services in Israel
http://www.linnovate.net

not the way I would use it...

zeropaper's picture

Indeed, your are using the stack I would use... but... not the way I would use it.

I would not use the WebView Activity as GUI (for example) because it does not scale easily (to my opinion... but I'm perhaps missing something).

I will try to explain it an other way...
* There can be an authenticate process (using the system.connect and user.login methods), or not... depending on the data or action who will be involved.
* If I want to see a list of users, comments, nodes or whatever else, the data will be fetched using services and then be parsed and render with a ListView.

In fact, the project should be called a "library" (Java class) or "abstraction layer" (API is too confusing I guess) for rapid Android and Drupal development. And its goal would only be to ease the communication between Drupal and Android (we could put some Android GUI on top of it to make a kind of "demo", that said, it reminds me that Drupal is, to me, similar in some ways).

By the way, the code I would start to write would absolutely not need an other Drupal module (no need for http://drupal.org/project/android).

openintents.org

zeropaper's picture

I saw the name of openintents a few times already but never went on their website... that was a mistake.
They are using a really cool CMS and are providing a lot of cool code too.

(Just to say, I started to seriously work on the API to ease communication between Android and Drupal... and hope to publish something within a few days...)

Very exciting!

Macronomicus's picture

I cant wait to see it, this is going to be uber sweet!!

That openintents site is cool thanks for the link.

Hey ... just checking in to

Macronomicus's picture

Hey ... just checking in to see if you've anything to share about your api?

Cheers!!

Interested and experimenting

mxgfx's picture

The method that I am attempting to use right now is actually the JSON/Mobi theme approach. I've been working on it for a few weeks now and finally stumbled onto this group. Huzah! If it works out, We can call it 'Andmin' and set up a project for it. :) Let me know what you guys think.

So far, this is what I've completed.

  1. Arguments in the url ("/andmin/MENU-NAME") will return a JSON formatted array. It's nested and associative, which makes the jquery menu building pretty fluid. A standard output looks something like this:
    { "1130": { "mlid": "1130", "title": "test-menu", "plid": "0", "link_origin": "1130", "has_children": "1", "link_path": [ "1130", "0", "0", "0", "0", "0", "0", "0", "0" ], "href": "node/1", "access": true, "children": { Reiterates for each child }

    So it pretty much cuts out all of the data that you don't need for menu items. I'm pretty sure that I don't even need ALL of those. I don't think that 'access' returns a valid response and 'link_origin' can be obtained through 'link_path'. Anywho, I was able to output the standard "navigation" menu a few times in one JSON call with no noticeable effects on my G1.

  2. 'Andmin' schema is set up with only a few values so far:
    • andmin_id : Standard drupal indexing, but I also use it for theming and jquery selecting
    • title : Makes the list look a little nicer on the admin list page
    • menu_name : The menu-name that get's passed to the JSON url
    • path : url where the menu will be located

    A few notes about the path. I don't have it registering through the path module right now as I haven't really needed to do that yet.

  3. Currently, the andmenu paths load all sorts of junk into the header. Between lightbox2, devel, admin_menu, I counted over 20 various css/js files on my install. I'm not sure what the current mobi themes can do for that. I managed to disable the modules that I've listed through hooks, but a few other ones still elude me.

    I have figured that keeping all of the current js/css files in the header will probably work out in the long run. In the meantime, a list of items from the header can be displayed on the settings page and users can toggle them on/off if any become a problem.

    Leaving the css/js may be important for admin pages. CCK has a huge list of fields that dump things into there.

  4. jQuery based nav is pretty much completed. The panels load and populate VERY quickly (Early testing had 3 instances of the Navigation menu loading at the same time on my G1 with only a few seconds of waiting). Clicking on a button that has children will result in the current level sliding to the left smoothly. It's very similar to the iphone in it's animation, actually. The entire menu is already fully themable through css too
  5. a few more things to list as well, but they will have to wait till tomorrow.

I figured that whenever a button is pressed, it checks to see if the 'href' is an admin page and then it fetches the necessary drupal form for it. If it's a node, it can display a 'teaser', 'full' or 'edit' view. A term can display a 'list' or 'teaser list'. A view can display.. ect ect ect.

I will attempt to update you guys on the rest tomorrow. I have to skip out.

Very nice!

Macronomicus's picture

Any news on this? Seems very exciting as working on sites would be a lot faster with these functions that clean the needless cruft (when mobile).
Im excited to hear what you've come up with there, did you ever start the project over on d.o?

Also is this totally google specific or can it ::stomach turns:: work on the iphone? There are certainly a lot of apple fans out there, I was thinking if this is mostly a mobile theme approach it might work on apples stuff too, just in the browser. Or did you get into googles api some with all the touch screen goodies? Apple has a similar api tho its proprietary so may have to muck around with weird restrictions... i dunno.

Cheers!

woops it is gpl

Macronomicus's picture

Just noticed that iwebkit for the apple phone is also GPL .. good for them.. maybe they arent as bad as MS after all .. lol yea right, their parts division is the gestapo! Anyways it seems smart to have an app that works on both platforms or capable on any if its general enough, might be doing some work on this soon so I am interested to hear more about whats been done already .. no need to re-invent the wheel!

Cheers!

Mobile

Group organizers

Group categories

Mobile

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: