Pages

Saturday, 19 May 2012

Update: GAuth new version now available from Nokia Store and thanks to the first 100+ downloaders.

My app GAuth has been approved to the newer better version for the N9's Nokia Store. If you haven't downloaded it yet, go for it. If so, and you didn't already grab the updated version from GitHub, you can get the new version from the Nokia Store now.

The new version is a little more polished, including a help file the first time you start it up or from the menu button.

Sunday, 13 May 2012

Announcing the Nokia Store release of GAuth

So this happened on Friday but immediately afterwards I was coding my next project and found an awkward bug so I planned to delay the announcement until after I had written and Nokia Store had approved the update, but seeing as people are already downloading it (for which I am grateful), GAuth has now been released as a free download on the Nokia Store.


This marks my first successful release of an "app" on any mobile platform. I've toyed with very briefly the iOS App Store (and helped friends release apps) but nothing myself, and I've toyed with the Android Market/Google Play Store but no joy there. The main difference was that I was able to make a full-blown app in my spare time just using my phone*.

* Well plus SSH access to a Linux server for some small parts.

GAuth is a Google Authenticator implementation for the Nokia N9. It allows you to generate six-digit token codes required for two-step verification of your Google Account when GAuth on your Nokia N9 is paired with your Google Account.

That bug? It was a oversight in that when next you download an update to GAuth it will treat it as an uninstall followed by an install, rather than an upgrade which will reset your settings. The new version is available now on GitHub (get version 1.3 - it's the latest as of now) and you will be able to seamlessly get upgrades from the Nokia Store when later I make them. Nokia Store should have the update next weekend. The new version also features built-in help with a description of how to match your phone to your Google account.

The workaround for the bug is simply to copy and paste your secret from the Settings before you do the update, and copy and paste them back when the update wipes them out. This won't happen again.

For more information on this app, please visit the dedicated GAuth page on this blog and I'm interested in your feedback.

Saturday, 5 May 2012

More hints on publishing PySide QML apps to the Nokia Store for N9

I promised in the comments I would run down exactly what it takes me to publish a PySide application using QML to the Nokia Store for my N9 a couple of weeks ago.

I've got some comments back from Nokia Store QA and I had to make changes so here are the things I've learned so far:

Wednesday, 25 April 2012

N9: App: GAuth available for download

My first real mobile app is available for download now from GitHub and hopefully soon from the Nokia Store.

Update: Here's a screenshot. I couldn't add this from my phone where I usually blog from.

It's an implementation of the Google Authenticator for the N9.

This is the one killer app I needed to convert to my N9 fulltime from Android.

It generates the same codes as the Android version and can be used, for a single account at the moment in the same way.

I hope this is of use to some N9 users out there.

For more information read the details at GitHub (it's open source) and download it from there too. Note that you must have Unknown sources turned on in your application settings until Nokia approves.

I have my own ideas but I am soliciting for what I should try to port next. Please leave comments!

Monday, 23 April 2012

N9: A trick to get pyside-assistant to build into a Nokia store-compliant path

I'm experimenting with building applications for the Nokia Store on N9.

My current foray involves using PySide in Python.

PySide provides an incomplete harmattan package template in their pyside-assistant tool. Incomplete in that its output would not pass QA on the Nokia Store.

Nokia Store requires that your application's files live under /opt. However pyside-assistant, through python distutils, installs at least the python scripts to /usr instead. (It seems to be following whatever your Python system is set to - I'm on Ubuntu 11.04 and that is what I get.)

However by making a symlink on your computer from /usr to /opt/packagename and adding the line:

sys.prefix = sys.exec_prefix = '/opt/packagename'

The resulting package is rooted in the /opt folder instead.

(Of course there are other more trivial changes that must be made too, and I have yet to try for QA on this application.)

Hope this helps someone.

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 Box.net 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 Box.net 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 github.com

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 pcworld.com. 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.

Friday, 13 August 2010

Open sourcing the older PutPinfInItsPlace tool

Reader Daniel has requested the source for PutPinfInItsPlace my tool I needed to write to get iTunes Plus losslessly onto my older Nokia phones way back in 2007.

Seems its still for use for Xbox 360 too.

The tool was provided free of charge/free of warranty and I'm no longer maintaining it.
Along with fixing my links (thanks to the GeoCities mirror) to the runnable version today I've uploaded the source code here. No warranty, always convert a backup of your music (you have been warned), I haven't tested this code in years.

Renewed interest in my old items

Hello again.

Yes I still exist. Thanks to some readers I've been prompted to update this site. Some of my older files are still useful. Please note that my previous links to Yahoo! GeoCities expired late in 2009.

However thanks to the massive efforts of the Internet my old GeoCities has been mirrored.

All of the old links now exist here instead.