Wednesday, 16 November 2011

How to get rid of the dependency on Icon Project when using it to make iOS 5 shortcuts

The Icon Project app is great way to get custom app icons onto your home screen. In combination with iOS 5 exposing deep links into Settings, its a must have.

However installing the app from the App Store did make me pause and reconsider when it says "your icons won't work if you uninstall Icon Project".

Wow, I thought, one extra icon I have to keep around. Because once you have your icons, why should you need it?

Turns out that the URLs for the icons are redirected through the Icon Project app. Making them truly standalone is better and this is what I set out to do.

To do this we edit the URL back to what it should be before saving it to our home screen using the technique for Mobile Safari bookmarklets.

Create your icon as normal and when Icon Project sends you into Safari follow these steps:

1. Save the icon's web page as a bookmark (not on the home screen yet).

2. Edit the bookmark (tap Bookmarks, then find it, tap the Edit button and tap the bookmark).

3. Copy the Address text to the clipboard (tap the text, tap Select All, tap again, tap Copy).

4. Press the Home button and launch the Notes app. Create a new note and Paste in the text (the address is an embedded web page therefore it's easier to edit this way).

5. In the note, look for the URL starting with iconfactory:// ending with a numerical ID. Replace this text with the URL you want the shortcut to load.

6. Select All and Copy the text again.

7. Return to Safari. Select All on the address and Paste to replace it with the modified version. Save the bookmark.

8. Go to the bookmark. This will reload the web page with the new URL in it.

9. Now Save to Home Screen as normal following it's instructions. This icon won't require Icon Project to be installed.

Now you can delete the temporary bookmark you created but I instead recommend you keep it so you can quickly re-create the one on the home screen should you delete it and later want it back. Think of them as backups. You can move them into their own folder too if you want.

Now to prove it, you can delete Icon. Project. (Don't panic after proving your icons work simply reinstall it from the App Store Purchased page.) Icons created without being modified freeze on a white screen. The modified ones should still work.

Bonus tip: If you want some other icons, use Google Image Search in Safari, saving the icons you want to the Camera Roll (long tap and then select Save Image) then get the icons via the Camera button in Icon Project.

More prefs URLs for use on iOS 5 for Settings App shortcuts

The below link describes App shortcuts deep-linking into the Settings app on iOS 5.

How to Create Custom Shortcuts For WiFi Settings, Airplane Mode, and More – No Jailbreak Required

(Blogger app keeps losing my text, so apologies for the abbreviated post.)

This captivated me so I hunted around for more options, here they are:

Call forwarding: prefs:root=Phone&path=CallForwarding

Call waiting: prefs:root=Phone&path=CallWaiting

Show my caller ID: prefs:root=Phone&path=CallerID

Mobile calls and data usage: prefs:root=General&path=USAGE/CELLULAR_USAGE

Tuesday, 15 November 2011

Commentary on Google announces _nomap for WiFi SSIDs

Greater choice for wireless access point owners

While my initial thought is that this is a clumsy idea (it means that you have to re-save your network password on all of your devices for the new SSID) I'm warming to it for a crucial reason:

Recently a couple of things have bothered me in WiFi geolocation:

1. I moved house. The location of the access point I own still registers the old address.

2. I bought a new access point secondhand. The location of that access point still registers as the original owner's address some 3000km away!

Now the _nomap solution won't fix either of these problems because both access points are already in the database. I am waiting patiently for Skyhook to trickle down the updates, if that's even the correct place (how do I update Google directly?).

But it can be used to great effect in another case: mobile wireless hotspots. Any mobile hotspot, be it a device, a laptop (such as a Mac or running Connectify), or a mobile phone has no inherent location, therefore I would love it if manufacturers (because we know no-one changes defaults) could append _nomap in their firmware to the default network name on such devices.

Then again, maybe all devices should do this to their default name upon factory reset, because it only takes being tracked once to get in the database and it's harder to get out once you're in (how often is Google really going to be sampling your network name in your neighbourhood anyway?) as in my above cases.

Of course none of this stops the nefarious among us, the information is out there anyway...

Thursday, 27 October 2011

More work done on Gitter

I have made more changes to Gitter. UI changes this time, no Git improvements yet.

I figured I would add a Browse button to view/edit files in the checked-out repository would be nice, so there it is.

And my commit log got longer than my screen, so I had to introduce a scroll bar.

I don't predict much work on this soon - it's a long weekend here and I'm driving next week :(

Same address as before to download.

Tuesday, 25 October 2011

My Android-on-Android workflow so far

With the release of the first of my SL4A scripts, I thought it beneficial to document how I got here and what I'm using.
I'm using a lot of existing Android applications and gluing them all together, which is Android's biggest strength.
Firstly, the core applications are the programming environment.
SL4A is the scripting environment and text editor.
Py4A is the Python interpreter.
I'm using Github which likes Markdown documentation, so for this I use Epistle as a simple WYSIWYG editor.
I'm using IconReader2 in my layouts to use built-in Android icons in my scripts.
I'm using Hacker's Keyboard for typing. It gives a full keyboard including the Python-critical Tab key. And it fits okay on my 7-inch Samsung Galaxy Tab.
And of course I'm using the Blogger app to make these announcements on my blog.
I use the ASTRO file manager for those duties, including its ability to create and modify zip files that I use for distribution and to enable the Android browser to upload any file (though seemingly except for zip files).
I tried using the (Google) Docs app for uploading but I found its multiple versions support lacking and a little unreliable.
In stark contrast the app supports both of these including in-app sharing. (At this point I cheated and used my iPhone to sign up for Box because you'll get 50GB this way right now.)
I then use the Urly app to make short URLs from the ones.
And my Samsung Galaxy Tab is powered by Overcome 7 Series Gingerbread.
Then I use my Gitter script just released to update my Git repository, a script I designed with the help of the UI Builder I've made, which is soon-to-be-released.
All of the above have my recommendation.

First published script: Gitter

UPDATE 2: And it should be fixed now. Note that I think there's a problem with timezones on commits but that's only a minor annoyance for me. It will affect you if Gitter isn't the only committer to your repository.

UPDATE: I'm a dummy. I've just learned after committing the source code that directories are trees in Git. Fixing this now. This affects the Commit button.

Okay so I promised this a little earlier but I haven't been carpooling until yesterday.

This is the first of the Android-on-Android scripts. It allows you to have a Git repository on your phone and optionally synchronized with a remote server such as Github.

It is very simple but I might expand it over time. It only supports the master branch and doesn't merge well.

Here is the script package. You will first need to install SL4A, Py4A, PyCrypto, Paramiko and Dulwich.

The source code will arrive shortly in my Github account.

Tuesday, 4 October 2011

The Android-on-android Project

Here's what I'm currently working on:

I'm toying with programming on Android but with a twist - I'm trying to do it all from my Samsung Galaxy Tab. This way I can do it anywhere. It's something my iphone doesn't offer and that I've recently become aware of through the SL4A scripting project and the many modules of Python.

Soon I will post some of the software I have been using and what I think of them and then I will follow this up with my first scripts.

The first scripts are building block development tools that make it easier to make more scripts in the future. Let me know what you think.

Friday, 30 September 2011

dulwich for Android

This is just a little post to help out when trying to install dulwich - the pure Python implementation Git version control - on Android.

Dulwich is distributed as a .tar.gz archive, whereas my Android device won't allow me to download these files.

I have converted the archive to .zip which is Android-friendly and have made no other changes. This is the latest version that is current as of now - 0.8.0.

You can download this version here (link fixed to be a direct download).

Wednesday, 28 September 2011

Scripting gets a home on

I have just figured out how to export my scripts from my Android tablet.

I like Git version control so wanted to useit to back up my scripts. However there was nothing I could find to perform commits from Android to somewhere like GitHub.

Enter Dulwich - git written in Python. I installed this to the phone (had to do it over USB unfortunately). I then found a code sample integrating it with Paramiko - SSH written in Python. That had a dependency on PyCrypto which is helpfully compiled as an egg on the Py4A page.

Now all I had to do is write a script to do the commit. Easier said than done. I've been spending all of my commute time on it and have only just got the first pushed commit into the repository.

Of course I wouldn't have had a chance of doing this on my iPhone! Three cheers for Android Scripting!

You can visit the fruits of my labour here. But don't expect much - I still have to learn how to push a diff'd second commit!

Wednesday, 21 September 2011

I'm playing with SL4A: UI Builder

I'm now playing with SL4A that I recently discovered. SL4A stands for Scripting Languages for Android and provides live scripting environments on your phone or tablet.

It works in tandem with Python for Android as an interpreter which is downloadable separately. Python is my choice of language for now.

The latest Unofficial packages of SL4A add the ability to build UIs using the standard Android XML format.

That's great but I don't want to be editing XML on my phone. Not finding a useful XML editor for free in the Market I've found my first SL4A project.

UI Builder.

This is a menu driven Python script for generating and previewing live a simple layout XML file. It does not support nearly everything nor does SL4A yet (for example any Views that must be populated by an adapter class can't be done as far as I can see). But you will be able to do interactive form style applications.

I'll post the code soon when I can upload it somewhere. It's longer than a barcode (SL4A's unique script distribution option) for sure.

I'm steadily improving it thanks to time spent carpooling.

As a tease, here's a screenshot, which I can't seem to rotate right...

Wednesday, 3 August 2011

Maps for Transit Navigation Mobile

Google have recently improved their transit navigation offering and I've now had a chance to compare the iPhone and Android offerings.

On iPhone you can plan a journey (Directions in Maps and then choose the Transit option if available). Here you get clock buttons which allow you to shift the trip time. This is necessary because depending on your location accuracy your trip will be prefixed by a walk and Google's walking speed is very conservative. You also have to manually move forward through the steps to follow your journey. One nice touch is that where the navigations have timings in them, they are relative and live updating. So you can see how long remains until you should reach the next leg in your journey.

On Android you get full blown navigation with the Navigation app. The live updating of the directions list in Android is different. It is static text but the GPS moves down the list of stations. The time and distance remaining on the current leg is shown when the GPS is available.

I wonder, given that the London Underground was added to Transit last week how well thus works because on Android it relies on GPS. I didn't get updates in the only tunnel I go through.

Really good for free on both if you have good Transit coverage in your area.

First use of Google+

Here's an impression from my first night of Google+:

This is very cool and slick interface but I can't help feeling that for a user from scratch it doesn't offer instant satisfaction.

You need to be a reasonable user of Gmail to get something to appear straight away, though you can connect Yahoo and Hotmail address books to get a larger list of people to invite.

I would like Google to make Sparks more prominent because it is something which you can do, after you edit your profile which Google+ asks you to do, before your circlets accept your invitations.

Sparks is just like customized sections in Google News and that's fine.

+1 from Google is integrated into the profile page and is very nice. It's like how I use starred items in Google Reader but for the whole web because of browser extensions. However I can't find an easy way to +1 and then share that from the feed.

Google+ on both iPhone and Android is there and works fine but is limited without many friends. I should start following people. Can't find Sparks in these apps yet unfortunately.

More as I figure it out, find me on Google+ if you want.

Wednesday, 29 June 2011

Hey Google let me know when you want me to test Google+

UPDATE: I now have an invite which means I'm in thanks to I am going to put up some commentary soon.

I'm a holdout from Facebook from a year now but I'd love to review +Circles...

This is really relevant to the news yesterday that +1 launched in Australia yesterday.

Here's hoping the invites ramp up soon.

Also notice that I'm posting this for the first time from the Blogger Android Market app which us very slick. Integrates with Picasso and uses the built-in Android account.

I look forward to getting into blogging again.

Any topics of interest? Anyone out there leave me a comment, thanks.