Amazing - use android phone or tablet as meteor server

Hi, starting from out latest activities on bringing meteor to xBSD I did a first time shot today on running meteor on an android device.

Just in a short, more details will follow when proceeding, we created a debootstrap and run debian jessy on our rooted Oneplus One and Nexus 7. Then we installed the universal meteor on arm fork on the armv7l devices.

It works nearly out-of-the box, just some few updates to busybox were necessary. Then started first time meteor serving the app and db locally on phone – amazing to see this working.

We will check if we could create an apk installer out from that.

To be continued …

10 Likes

This is brilliant @tomfreudenberg. Just brilliant.

Haha, meteor puts server apis into the client, and you’ve now put the server itself in the client, lol :smile:

1 Like

It would be awesome to use this to build a full meteor IDE or playground for android tablets!

4 Likes

Meteor Cookbook has actually been tracking peer-to-peer architectures for about two years now. Here are a few additional resources for creating P2P apps, and running the server on the client…

Meteor Non Standard Architectures (CLI & Peer-to-Peer)

There’s a few folks in the SocialHealthRecord space who are interested in the following general usecase:

Person A and Person B are both using a SocialHealthRecord app running locally on their respective smartphones. Person A gets sick, or takes a fall and breaks a leg or hip, or something. Person B comes over, and configs their SocialHealthRecord to work as a HotSpot, and creates an ad-hoc medical home, and can start logging vitals and medication tracking on behalf of Person A. When Person A gets back on their feet, they can connect to Person B’s hotspot, and sync those records back into their own PersonalHealthRecord.

But yeah. Keep up the good work. This will be awesomesauce when it works, and enable a new generation of P2P apps.

2 Likes

@awatson1978 Your described situation is something we are working out from another perspective. Maybe you know that we are developing this SkippersBestFriend Boat Connect which allows a crew on a yacht (at least every group on any outdoor activity) to track their route, details and comment and take pictures together without having internet. So think about the moment when those groups visit a city and doing sightseeing. They take pictures as well and comment and like it to track. So we are able to give a hotspot on one device to stay always connected and when back on yacht, all data (pictures, comments, track) are synced.

Until now we worked with some small devices like ODROID and Raspi to test them as mobile hotspots. I love the idea that we can provide that piece of cake on their mobile phones :+1:

Maybe there is some interest in creating the Health Connect (Box / Unit)

Cheers
Tom

3 Likes

What do you think should this IDE about?

Something like AIDE?

Most of what is called Developing on Android today will use a Webservice and HTML Frontend: e.g. this list

Maybe it could be a try to develop the Meteor IDE with Meteor itself :wink:

1 Like

There’s apparently an Android port of Atom in the works, maybe?

2 Likes

@tomfreudenberg so what do I need to do to get it up and and running? I have a rooted nexus 7 that I could use as a server :smiley:

Wondering if I can host a small app in it. :smiley:

Hi @kaiyes for sure you can host a small app

What you need (Not trivial yet without debian and build experiences):

  1. make yourself a linux for your Nexus by running debootstrap
  2. configure / install necessary tools like make, autoconf, git …
  3. get the meteor universal fork branch release-1.2.1-universal-devel
  4. checkout my PRs I described in thread FreeBSD, OpenBSD, NetBSD
  5. build node and mongo and dev_bundle
  6. test and finish installation meteor -version

That should bring you online.

I would suggest … please wait until we have finished our next porting work to that kind of device.

I am sure we can bring in an easy installer / environment before christmas.

Cheers
Tom

2 Likes

on nexus 7, a vanilla linux can be installed. I did install a ubuntu pre build in my nexus 7 once. It was really slow, unusable as a daily driver. see here : https://wiki.ubuntu.com/Nexus7/Installation

although its not maintained anymore, they are actively maintaining the ‘ubuntu touch’ version. https://developer.ubuntu.com/en/start/ubuntu-for-devices/installing-ubuntu-for-devices/

I wonder if that makes the process easier. Mind you there is a huge nexus 7 fan base, namely in XDA forum. I think they will love it :smiley:

@kaiyes - that procedure will replace android by ubuntu …

IMHO that should be not the preferred procedure

What we had done: Created a debootstrap and started/booted that debian inside your running Android. In a very simple explanation you can say it is like running a docker / chroot inside your device.

This is not destructive to your mobile device, the meteor server is running like “any” :slight_smile: other Android app on your device.


Update: But if you like to use that kind of image, I could imagine that our normal universal fork installation will run like on any other arms running ubuntu. Maybe you just try it one. Just follow the README from our github.

@tomfreudenberg hmmm. I don’t really want to keep android + linux. I would rather use my nexus 7 as a linux server that serves my app. chroot method is well known in the nexus 7 community. There were a few examples of getting linux inside android using chroot couple of years back as far as I remember.

There is another way though, using multi rom http://forum.xda-developers.com/showthread.php?t=2011403, so that one can dual/triple/multi boot. This is what I run now. I can get a fresh linux os (pre-build) up and running in no time. In that case, I wonder if the meteor installation will follow a normal meteor in linux installation path.

I understand that your method is preferable since it will enable normal users to easily install a meteor app in their phone/tab. And that opens commercial paths like the boatHelper stuff you mentioned. But I am interested in what I mentioned.

this is available as well. I wonder what you are trying to do is superior ?


Cheers

Normal meteor installation won’t work in case of ARM architecture. But as said already, the universal fork should propably install on your Nexus / Ubuntu. Give me a note please if this fits.


We know the LinuxOnAndroid(s) and often they need much work / knowledge / special conditions etc. Mostly the images will not run. So we will try to generate some easy and wide compatible linux image based on debian wheezy or ubuntu 14.04 core.

1 Like

been away from the nexus 7 scene for a long time… Getting the ubuntu back and dual booting it. Will follow the universal fork and see how it goes. Since it will be arm based linux so theoretically your fork should work. will let you know.

By the way, only Ubuntu 13.04 is available for now for nexus 7. Since you are using Ubuntu 14.04 “Core”, I am not sure what will happen. But lets try and see what happens.

Word in the forum-- “MarshMallow is working better than 5.”

tldr: [preinstalled ubuntu in nexus 7] couldn’t get curl , git working.

Ok, none of the multirom linux distros worked. They did even last year but not anymore. The xda forum thread is almost dead and there are no answers for people who ran into similar problems as mine.

Failing dual booting, I went on and erased the android bit in favour of a ubuntu-only nexus 7. Although ubuntu desktop support for nexus 7 seized, they still provide the boot.img and preinstalled ubuntu 13.04. It worked.

But I couldn’t get git working. Tried to install curl and that failed as well. Most of the vanilla/armv7 ubuntu solutions did not work on the nexus 7.

When you try

vi /etc/apt/sources.list

uncomment deb lines for main and universe and multiverse
you can leave the deb-src sections commented

After that proceed

apt-get update
apt-get upgrade
apt-get install build-essential git

What will you get?

well, thanks. But it looks like this :

writing from my nexus 7 . Linux only, no android :smiley:

and the source.list had most of the lines uncommented already

, except the selected two lines which was commented out and I uncommented them

same thing happens with attempt to install git,