dabase

Kai Hendry's other blog archives

Ski scene

After spending a week in France completely dependent on my modded Nexus One for my Internet use, I have gained some insights into the future of mobile computing.

Besides niggles with the Google N1 device itself, the real "mobile Web" party poopers are unsurprisingly the network operators.

Screen blanks out on a call and I can't get the hang up button, therefore charged for unused call time. :/

Device should detect voice mail and hangup to avoid expense. I can't be the only one who does not care for voice mail.

Does not rotate on the home screen. I'm concluding that Android's screen rotation is quite a UI mistake, compared to say Apple's design.

Can't figure out how to make incoming SMSes vibrate. After searching I find this seems to be a general gripe about Android 2.1. Oh, found the answer http://twitter.com/kaihendry/status/10142417024

The answer swipe is a bit awkward. Is there a button I can press instead I wonder.

I forgot my USB cable. So it made it impossible to share some new music from my Swedish friends. There must be an easier way to peer to peer.

Same goes for side loading applications. It's not obvious how to share apps and that just sucks. There are plenty of cases where you want to peer since operators suck.

The photo picker for example with the Buzz integrated Google maps does not work. Crap. The buzz uploader does not give any progress status.

native buzz sucks

Progress status and resumable uploads is a must for crappy mobile connections.

How long was a call? How much was a call? No idea. This MUST be fixed. I must know how much I am spending.

Acquiring location and policy control is a bit all over the place on Android. For example the news & weather widget has it's own little preference for "Use my location". I need an easy central policy control. I also want to control granularity and see transaction logs, since I don't want the weather man to know exactly where I am. I want to feel in control.

I just wanted to mention, is it just me or is the http://touch.facebook.com/ seriously broken? When people comment on pictures I can't seem to followup on the notifications. I mean, this is not hard people.

Finally, I have a 715GBP T-mobile bill to figure out after this week. I kept getting redirected to http://www.t-zones.co.uk if I enabled roaming so Internet did not even work. I also had something like 50 Euro Internet booster messages. I find this very confusing as I did call up T-mobile UK before departing to France to inform them I was travelling and to make sure what the price per meg was. They said over the phone it was 1.50GBP.

So did I do 400M of traffic from my phone from France? NO, Internet did not work even. I had to use 2EUR an hour WIFI from UCPA which was also pitifully unreliable and only worked in one room. :(

Avoid T-mobile. Make careful preparations if you need the Internet like myself. I think I will buy a PAYG Orange or SFR SIM next time in France.

I am also saddened to see no operator create some sort of Android app to help track expenses. It need not be a Java app. Just a usable Web one, unlike https://www.t-mobile.co.uk/service/your-account on a mobile.

Posted

Flurry on building activity in Hall8

I'm at MWC2010 in Barcelona representing the Web platform. ;)

You can find me at 2A120 at the Aplix booth (my employers)

And you can find me on the LiMo stand 8B135 demonstrating on device Javascript debugging on:

  • Monday 11-13
  • Tuesday 13-15
  • Wednesday 11-13 & 15-19

Otherwise follow kaihendry or email me at hendry@aplix.co.jp to meetup.

Posted

Latest tips

Using BONDI WIDLs and widlproc, how many code examples does each widl have?

hendry@x61 html$ sh code-count.sh
appconfig.widlprocxml 2
applauncher.widlprocxml 3
bondi.widlprocxml 2
calendar.widlprocxml 18
camera.widlprocxml 3
commlog.widlprocxml 0
contact.widlprocxml 19
devicestatus.widlprocxml 12
filesystem.widlprocxml 39
gallery.widlprocxml 19
geolocation.widlprocxml 19
messaging.widlprocxml 78
pim.widlprocxml 0
task.widlprocxml 14
telephony.widlprocxml 11
ui.widlprocxml 22

Now the script using xmlstarlet:

for i in *.widlprocxml
do
        CODE=$(xmlstarlet el $i | grep Code | sort | uniq)
        TOTAL=0
        for c in $CODE
        do
                NUM=$(xmlstarlet sel -t -v "count(//$c)" $i)
                TOTAL=$(expr $TOTAL + $NUM)
        done
        echo $i $TOTAL
done

The nasty CODE part is neccessary as code examples can be unfortunately included at different levels, for example:

Definitions/Module/Interface/Operation/descriptive/Code
Definitions/Module/Interface/descriptive/Code

Use xmlstarlet el telephony.widlprocxml to examine the XML structure.

Posted

Despite what GNU and opensource projects think, statically built apps are the way to go.

Security benefits of statically built binaries

Shared libraries are often touted as being good for security. No need to rebuild, you just replace the binary and everything linked to say an updated libpng.so gets the security fix.

Likewise one security problem in a shared library makes all the binaries dependent on it vulnerable.

The good security benefit of statically built libararies is that you elimate the library path. So you can't hack binaries like so:

LD_PRELOAD=/usr/lib/libpng12vulnerable.so /usr/bin/firefox

Or perhaps a binary with setuid right escalation.

Also since statically built binaries only compile in the object code they actually use from the library, the surface area of the attack is greatly reduced.

As we've seen in the last couple of months, updates to libjpeg and libpng can also involve ABI changes, meaning complete rebuilds in any case.

Please read the stali FAQ for more argumentation.

Posted

Android in the United Kingdom

Me and my new Nexus from around the world

So I bought the new http://www.google.com/phone, the Nexus One at 365.21GBP. Deep breath.

I'm still on the last couple of months of my T-mobile G1's 18 month contract. Nonetheless, I've sent my G1 to my sister in Germany and hopefully she will get some use out of it.

I plan to end my contract with T-mobile and go on some PAYG plan, hopefully with Vodafone. I bet you ending my T-mobile contract and porting my number will be an ordeal. :(

Talk about ordeals... the device took 16days to arrive, because Google's fulfillment house in Indiana accidentally routed the N1 to Hong Kong. Google's "Android support" customer services is absolutely abysmal. I contacted them three times via Google checkout to tell them they have screwed up the package routing. I basically only got through to them via an old University friend who now works at Google. Shame. :(

So the Nexus One(N1)! What do I think about it? It feels like a great upgrade over the G1. The 1Ghz Snapdragon amazed me awhile back on the Toshiba TG01, so at last I have it! :) However the battery performance seems on par with the G1. Sigh.

Despite a looming Nexus One update I though I'd rather be in control and hence I unlocked my Nexus One and "voided my warranty". I think it's a bit poor that I've voided my warrany because I want different software on it. I don't "void the warranty" if I put Linux on my Thinkpad, now do I?

Cyanogen's beta4 N1 mod is pretty wild. The USB tethering feature is a must for me and it works far better than Android 3G wifi tethering. Just turn it on, and ifconfig -a shows usb0. dhclient usb0 and you're surfing on 3G. Why do operators make it so hard?!

Since I'm into HTML5, I'm greatly enjoying using http://gmail.com and Calendar in the browser. It works amazingly well. I'm going to try avoid using the native Gmail client, though the native's 4 day background syncs are hard to beat.

I'm a little worried about the quality of the 3G connection. The 3G scare stories don't help, though tbh I think the connection is the same as the G1. It's just that since the phone is so much faster, the failings of UK mobile connectivity are even more clear to see. :(

You can upgrade your phone, but can you upgrade your connectivity? Well since my phone is unlocked I'll have to do some mobile speed testing again.

UPDATE: Checkout http://www.nytimes.com/2010/01/13/technology/companies/13google.html

I also heard Google is giving out N1s at developer meets. Ah great, they know how to satify paying customers.

Posted

Scan with your mobile

Whilst passing through Waterloo station, I usually buy some fresh fruit juice from the Marks&Spencers (M&S) store. This time I noticed my bottle had some sort of 2d barcode on it.

I spent a few uncomfortable minutes trying and trying again to scan the code with the "Barcode Scanner" application on my Android G1. Didn't work. :(

Later I found out that this a Data Matrix code and not a QR code. ARGH!

Unsurprisingly 'Data Matrix' support is 'alpha' quality according to the ZXing library powering the Barcode application on the UK T-mobile Android G1.

WAP is CRAP

In the small print it says WAP enabled mobiles only. Eh? Have I gone back in time 8 years? To add insult to injury there is a link to the T&Cs: http://www.mands.mobi/ftg worryingly using a http://en.wikipedia.org/wiki/DotMobi address!

http://www.mands.mobi reveals some suspects to this crime: Incentivated

Welcome to Your M&S
Our new corporate mobile internet site is coming soon. Please check back later
Site built using Incentivated's WAPsite Publisher

OMG. How piss poor M&S. :(

2d codes suck too

barcode

Regular barcodes are OK in my book, because they have a human readable 13 digit fall back (036000291452) running along the bottom. I remember when 'Checkout dollies' (as we call them in the South West), typed in that that number in case the barcode failed to read.

Where is the fall back to 2d codes??

As a 2d-code fallback I suggest clearly printing a short (hopefully meaningful) URL e.g. m&s.co.uk/oj (12 characters) and markup your content in HTML5.

Posted