twandroid a new space for TiddlyWeb on Android

53 views
Skip to first unread message

Oveek

unread,
Nov 12, 2010, 3:24:11 PM11/12/10
to TiddlyWeb
Hey guys, just wanted to drop a note as I dip my toe back in the pool.
I've been continuing my TiddlyWeb adventures and have just jumped onto
TiddlySpace again. It's incredible the strides that have been made
over the last few months. The way the TiddlyWeb architecture is
manifesting itself in the collaborative features of TiddlySpace is
phenomenal and really exciting. Looking forward to delving deeper.

I recently got an Android phone and it didn't take long for me to
start thinking about how nice it would be to have TiddlyWeb available
on it to pull up reference notes and tiddlers while on the road.

After a bit of investigating I figured there was a fairly good shot at
setting it up and getting it working. Turns out it works quite well.
I've got TiddlyWeb running on Android 2.2 (Froyo) without any need to
root / jailbreak, it can be setup on completely stock Android.

This is made possible via the Scripting Layer for Android (SL4A), and
Python for Android apps.

The SL4A page states it's alpha level software targeted at developers,
but it's already a surprisingly full fledged environment that provides
a complete Python interpreter (Python 2.6.2) and core Python
libraries. Most scripts can just be dropped in and run as is. The fact
that CherryPy runs without modification should give you an idea of
what's possible.

TiddlyWeb is also a virtually drop in and run proposition, though the
absence of support for easy install, and the absence of the
pkg_resources module mean a few slight modifications are needed to get
rolling.

In my first test case I installed TiddlyWebWiki, created a new
instance, and served the instance via CherryPy.

One of the very cool things I hadn't foreseen is that it was possible
to have CherryPy listen on my phone's wifi interface. This made it
possible to simply pull up the phone's TiddlyWeb instance on my
desktop browser.

This scenario makes for a very compelling use case where while at home
you can easily make notes and tiddlers from your desktop and then
refer to them later on the phone's browser while on the road.

I've wiped out my initial installation and have started the setup
process again from scratch for the sake of documenting the steps.

I also used this as an opportunity to make my first foray into
TiddlySpace by creating the twandroid space (http://
twandroid.tiddlyspace.com), where I've begun to record the process of
setting up and running TiddlyWeb on Android. Hopefully it can serve as
a place to collaborate on further testing and refinement.

At this stage I've written up some introductory info, and the steps
for installing the Python environment. I'll be adding the steps for
installing TiddlyWeb itself in short order.

Some rough ideas kicking around in my head regarding TW and Android:
* Explore the possibility of creating some sort of GUI wrapper
interface to facilitate using twanager.
* Explore how the Android Facades could be used by TiddlyWeb plugins.
The facades provide a whole host of APIs that give access to things on
the device like location, camera, and android OS functions.
* Produce an APK to supply TiddlyWeb as a convenient one-shot download-
and-install app. This seem eminently feasible. In addition, someday
possibly provide it in the marketplace.

Now a few tiddlyspace comments:
In addition to twandroid, I've created my own space for my primary
user at http://oveek.tiddlyspace.com. Not much there just yet, but
have started experimenting with following spaces and looking at what
everyone else is up to. Loving it so far.

My basic impression after my initial exploration of tspace is I'm
enjoying using it a lot (i.e. enjoying the user experience.) That's my
overall feeling, and it says quite a lot for the design choices that
have been made so far. Software with features this complex and
flexible could easily be a chore to use, but it's amazing how all the
sophisticated functionality of interacting with spaces has come
together in very simple and quick to use elements in the UI
"Furniture."

Things whose implementation I like so far: the default themes and
layouts for the spaces, auto generation of color schemes, management
of public and private tiddlers, creation and inclusion of spaces,
following as a means of tracking changes in other spaces, suggestions
as a way of finding new ones, being able to view collaboration and
discussions on key spaces like the tiddlyspace and community spaces,
exploring other peoples spaces.

It's really gelling and coming together nicely. Keep up the great
work.

Jeremy Ruston

unread,
Nov 12, 2010, 4:56:34 PM11/12/10
to tidd...@googlegroups.com
Welcome back, Oveek, and thanks for two terrific bits of news: I love the idea of sociably sharing a TiddlyWeb server on local wifi, and your feedback on TiddlySpace is very much appreciated. I look forward to following on both threads,

Best wishes

Jeremy

--
http://jermolene.com
http://tiddlywiki.com
http://osmosoft.com

> --
> You received this message because you are subscribed to the Google Groups "TiddlyWeb" group.
> To post to this group, send email to tidd...@googlegroups.com.
> To unsubscribe from this group, send email to tiddlyweb+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/tiddlyweb?hl=en.
>

FND

unread,
Nov 13, 2010, 5:33:27 AM11/13/10
to tidd...@googlegroups.com
> Hey guys, just wanted to drop a note as I dip my toe back in the pool

Yay - welcome back!

> I've got TiddlyWeb running on Android 2.2 (Froyo) without any need to
> root / jailbreak, it can be setup on completely stock Android.

That's excellent news - thanks for doing this! I had not expected SL4A
to be that trouble-free.

Unfortunately, I don't have an Android phone myself - but it sounds like
it's worth exploring...

> One of the very cool things I hadn't foreseen is that it was possible
> to have CherryPy listen on my phone's wifi interface. This made it
> possible to simply pull up the phone's TiddlyWeb instance on my
> desktop browser.

That is very cool indeed - gives the term "guerilla wiki" a whole new
meaning...

> * Explore the possibility of creating some sort of GUI wrapper
> interface to facilitate using twanager.

I don't suppose the GUI APIs are accessible via SL4A? But then, what
we'd probably want is a WebKit wrapper (PhoneGap?) so we can create the
GUI using HTML/CSS/JavaScript.


-- F.

chris...@gmail.com

unread,
Nov 13, 2010, 9:17:18 AM11/13/10
to TiddlyWeb
On Fri, 12 Nov 2010, Oveek wrote:

> Hey guys, just wanted to drop a note as I dip my toe back in the pool.
> I've been continuing my TiddlyWeb adventures and have just jumped onto
> TiddlySpace again. It's incredible the strides that have been made
> over the last few months. The way the TiddlyWeb architecture is
> manifesting itself in the collaborative features of TiddlySpace is
> phenomenal and really exciting. Looking forward to delving deeper.

Yay! Glad to have you back around.

> After a bit of investigating I figured there was a fairly good shot at
> setting it up and getting it working. Turns out it works quite well.
> I've got TiddlyWeb running on Android 2.2 (Froyo) without any need to
> root / jailbreak, it can be setup on completely stock Android.

This is awesome. It has the smell of killer app (for me) written all
over it. I might have to run off and get me an android phone. Any
recommendations?

> * Explore how the Android Facades could be used by TiddlyWeb plugins.
> The facades provide a whole host of APIs that give access to things on
> the device like location, camera, and android OS functions.

That would be very interesting.

> It's really gelling and coming together nicely. Keep up the great
> work.

Thanks. Good to have you back in the tiddlyverse, I was worried we
had lost you.

--
Chris Dent http://burningchrome.com/
[...]

Oveek

unread,
Nov 17, 2010, 4:19:30 PM11/17/10
to TiddlyWeb
Hey! It was nice to hear from all of you. Thanks for the warm welcome.
I wanted to make some headway on a couple fronts before responding.

> Welcome back, Oveek, and thanks for two terrific bits of news: I love the idea of sociably sharing > a TiddlyWeb server on local wifi, and your feedback on TiddlySpace is very much appreciated.

A mobile TiddlyWeb server definitely opens up some avenues for
exploration. As you say, being able to sociably share one on local
wifi is interesting an idea, and there's no reason why someone
couldn't be crazy enough to run TiddlySpace on their phone. That's
showing some serious scalability.

Another possibility could be using TiddlyWeb as a datalogger and
aggregator from various phone inputs with data made available for easy
consumption and extraction via TiddlyWebWiki's web interface.

My ultimate plan is actually to have tiddlyspace on my phone,
computer, and tiddlyspace.com and just have a mad data syncing free-
for-all with whatever data I need / want flying between any
combination of the three tspace servers whenever I want it. This will
obviously require sync and import mechanisms to be functional.

A while ago I had importing working nicely in TiddlyWeb by using FND's
proxy plugin, and making a TiddlyWiki plugin that modified the import
wizard to set the appropriate fields (server.host, server.bag,
server.type, etc) on imported tiddlers. I added a field at the tiddler
selection step to allow selection of which bag the tiddlers should be
imported to.

Was working nicely but I just tried it again recently and something
broke the TiddlyWiki plugin that modifies the import wizard. The
fields added to the imported tiddlers aren't sticking anymore for some
reason. I haven't gotten around to seeing what's happened, but it's
hopefully an easy fix.

> Unfortunately, I don't have an Android phone myself - but it sounds like
> it's worth exploring...

If you're really curious (and have a fast processor at hand), there's
an Android emulator in the SDK. At one point I started setting up
TiddlyWeb inside the emulator, but the laptop I'm using at the moment
is kind of old, and the convenience of having a keyboard was negated
by having to wait a few seconds every time I clicked something in the
OS.

Now I'm writing python scripts on my computer and using the adb
utility (Android Debug Bridge) from the SDK to quickly push
modifications to the phone. A nice feature is that it's possible to
keep using the phone while connected to the computer in debug mode.
It's not necessary to connect, then transfer the updated script to the
phone in USB mass storage mode, then disconnect, and then test, after
every modification. It's possible to stay connected and sync the
script after each change.

> That is very cool indeed - gives the term "guerilla wiki" a whole new
> meaning...
Now those are two words you don't expect to see together :)

> I don't suppose the GUI APIs are accessible via SL4A? But then, what
> we'd probably want is a WebKit wrapper (PhoneGap?) so we can create the
> GUI using HTML/CSS/JavaScript.

There are a lot of APIs available: http://code.google.com/p/android-scripting/wiki/ApiReference

But there are only a few UI APIs accessible to Python scripts. They're
just for creating a couple types of popup dialogs like alert messages,
progress bars, and input dialogs.

PhoneGap looks interesting. I'll take a closer look after the install
script is done, which should be very soon. Info about the install
script is on the twandroid space. The current goal is to automate
installing TiddlyWeb and dependencies. I'm trying to minimize the
amount of file copying and extraction and fiddling around you have to
do on the phone to get it installed.

Ultimately I think the script could automatically download the latest
bundle from http://tiddlyweb.peermore.com/dist/, extract it, and
install all the files.

> This is awesome. It has the smell of killer app (for me) written all
> over it. I might have to run off and get me an android phone. Any
> recommendations?

I had my eye on Android phones for quite a while. Then I lost my last
phone when it fell out of my pocket while I was in a taxi so I figured
it would be a good time to grab one. They've been coming out so fast
it's a little tough to stay on top of what's out.

There were a few features I was hoping for:
* Big high res screen for using the web and reading.
* Good camera.
* 3G and Quad band GSM (support for networks in most countries around
the world).
* GPS
* Wifi

At the time I bought the phone there were options from HTC, Motorola,
and Samsung that looked promising.

HTC and Motorola had both released new "super phones" but they were
CDMA and it wasn't clear when GSM versions would be coming out.

I decided to get the Samsung Galaxy S and have really been liking it.
Great hardware and lots of cool features. The screen and processor are
two features that helped sway me.

I did have a major problem with it though. One day I had it hooked up
to my laptop via USB and it just died without warning and wouldn't
power back on. A local Samsung service center looked at it and said
there had been a short circuit that fried a chip on the motherboard.
Fortunately they were able to repair it, and I've been using it for
several weeks without incident since then. I'm putting it down as a
fluke for now as I haven't found anyone else complaining about the
same problem.

Apart from that rather disturbing event the phone has been great. Cool
features and things I like:
* Screen is really nice. Four inch display with Samsung's Super
AMOLED tech.
* The Hummingbird SoC with the PowerVR graphics processor. Can handle
playing full screaen flash videos.
* GPS plus Google maps. Love this feature. Originally had some
accuracy and locking issues with the Android 2.1 install that came on
the phone. Working perfectly now after the upgrade to Android 2.2.
Very accurate. I can stand in one spot while turning in a circle and
the arrow on the map turns right along with me.
* 5MP Camera takes good photos, and can record video in 720p. There's
also a second front facing camera for making video calls.
* Surprisingly powerful external speaker. Good for speakerphone, and I
actually use it to listen to music and podcasts.
* Wifi
* TV out through the 3.5mm mic jack. I've been able to stream flash in
full screen over WIFI and output to a TV (in SD). There's also
supposed to be 720p HDMI out over the mini-USB but I haven't tested
this.
* DLNA media streaming of videos and music to and from the phone.
* Act as mobile wifi access point to share phone 3g/data with up to 5
connections.
* Tether (phone's net connection) to computer via USB
* Bluetooth HID support added with Android 2.2. Can hook up a
Bluetooth keyboard.
* Swype. Awesome input method for touch screens.
* Text-to-speech and speech-to-text although this is a general Android
feature.
* Android 2.2 and web browsing.
* USB mass storage support. Just have the phone detected as an
external drive, and drag and drop files without needing any additional
software. I really like being able to do this, and have always been
annoyed that I couldn't with my ipod touch.

Things I don't like:
* Looks too much like the iphone.
* No flash and no dedicated camera button.
* Power button doesn't give a clear click feeling. When powering on
you have to hold the button in for a couple seconds, hard to tell how
long.

> Thanks. Good to have you back in the tiddlyverse, I was worried we
> had lost you.
Thanks, I'd been meaning to post for a long time, but didn't quite get
up to it. It was great to see all the progress that's been made in the
tverse in the meantime.

Oveek

unread,
Nov 18, 2010, 12:03:42 PM11/18/10
to TiddlyWeb
I'm not sure why I thought importing wasn't working on TiddlySpace.
Just tried it out and it works great! Tried importing from another
tiddlyspace, and also from a tiddlywiki out on the web.
> bundle fromhttp://tiddlyweb.peermore.com/dist/, extract it, and

Danielo Rodríguez

unread,
Aug 27, 2014, 4:51:34 AM8/27/14
to tidd...@googlegroups.com
Is this still possible? I didn't see any bundle of the latest version.
Reply all
Reply to author
Forward
0 new messages