Friday, January 27, 2012

Controlling what kids access - VPN to the Home - the next big thing in Mobile security

I've got kids, currently they are under the age where they get Smartphones and unfettered internet access but such a day is coming.  Now at home I can set it up so on the WiFi there is a proxy and all content has to be routed via that proxy or it doesn't go out and I can lock down the proxy so they can't go where I don't want.

However on a Smartphone they get good internet access without me being in control.


Then I got my new internet connection from BT (VDSL, 40 down, 10 up) and so I'm putting a VPN in so when I'm abroad I can still do back-ups etc without having to lug disks around.  Then I realised that I could set it up so my mobile phone used the VPN as well, which means iTunes backup and sync can be done as well.... double result.

This then made me think of how if you combine the VPN with a proxy that you can then have a controlled connection at all times.  All you need is the ability to add restrictions to the device which force 'always use VPN', something that isn't supported today, and prevent the VPN connection identifier from being changed.  This has two key usage scenarios:

  1. For Enterprises it means mobile device internet access can be controlled
  2. For families it means being able to control what your kids access... until they are around a friends or buy their own device
Its the latter that interests me at home, obviously, as I do think as a parent I have a responsibility to control what my kids access and to ensure that I can track things and keep them safe.  This isn't about being over protective, I wouldn't let them wander the streets on their own or take a train to London on their own, and the internet can be just, if not more, dangerous than those things.

With the rise of high bandwidth upstream connections this sort of thing becomes completely feasible, all it needs now is the mobile phone manufacturers to add the capabilities into the OS in the same way as they add things like Internet blocks or other application blocks today.

High-speed uplink + VPN + Mobile = Personal control of your own internet connection... with the added benefit of NEVER being unencrypted on a public WiFi connection. 

Wednesday, January 18, 2012

IT going backwards - Objective C is 90s retro

I've ranted quite regularly on how Enterprise IT just hasn't really developed in the last 5 years and my personal task for 2012... learning Objective C and programming for iOS has taken my disbelief to another level. Back in 2008 I learnt Python and for me it sucked. Its 'advantage' over scripting languages of the 80s and 90s was minimal and it had the most hated (for me) of things... indent sensitive code. Objective C however really has stepped it up a level.

I remember learning Ada, C and Eiffel (along with bits of LISP, Prolog, Assembler, etc) and most of all I remember being confused as to why people like coding in languages like C, where the syntax is terse bordering on emo, over languages like Ada where even non experts can have a crack. Through my career people have claimed the stupid 'less characters = language efficiency' which again matches up by saying that Martin Luther King was a crap communicator while a grunting teenager is much more efficient.

But all of this couldn't prepare me for the horror that is Objective C. SIGFAULTS in 2012? Seriously? Have years and years of exception handling been ignored? No even better than that... Objective C has exceptions but you are discouraged from using them, yup they are there but are 'resource intensive' so you shouldn't use them.

Second off we've got the wonder of memory management again, although now with 'ARC' it actually does some garbage collection, yup folks its 2012 and Apple have just caught up with the mid-90s.

All of this is annoying, and rubbish, but that would be nothing if the language had a nice syntax and logical way of working... but Objective C is like people have looked at Java, C, C++ and then sat down and though 'how could we make this really suck?'.  Yes its the same old .h/.c (or .m in this case) combination of header and code but just basic things like function calls are made excessively silly.  No simple .(, ) for Objective C... well not always, sometimes and you can do it but not normally... ahh consistency avoidance always a great way to have sucky code.  No in Objective C you call a function like this
[instance method]:param1 param2:param2
This means you end up with wonderful code that looks like
[[[eventHistory getEventAt:location date:date] calculateDistance:newLocation].doubleValue
Notice that '.doubleValue'?  Yup when using NSNumber (object for doubles) you use the old '.' notation. Perfect eh?

Then we have XCode, an IDE that seems to crash if you do anything it doesn't expect rather than a warning saying 'Fail: you didn't mean to do that'.  Some bits are nice, like some of the code generation and some of the bits, like refactoring, are pretty much up to Java IDE standards from 2001/2002.

The layout model in XCode is okay, with some nicer bits around chaining screens but seriously is it that hard to implement XmForm?  With the multiple display layouts that you get with mobile devices it really would be a cracking layout manager to have.

Then we have the iOS simulator, its great, except if you want to simulate locations that Apple hasn't thought of... the 'accuracy' if you use custom locations (for instance if you want to test something using European locations) is 150,000m... or to put it another way... a level that every decent piece of code should ignore.    Application development speed wise I'd clearly be faster in Java, but as a new language I'd say that Objective-C ranks behind C++ in terms of 'complexity' to learn and ranks significantly behind both C and C++ in terms of language efficiency.

But that said the example code pieces are good and the online manuals are good as well and I knocked up the second stage of my application on a flight across the Atlantic.  Basically however it feels like using C++/Motif with Emacs and the TeleUSE UI builder.  Its 2012, shouldn't it feel like we've progressed?  What it really feels like is some sort of retro homage to the 90s wrapped in a shiny and expensive new package.

From now on I'm only coding for iOS while listening to an iPhone playlist 'Songs of the 90s', it helps get my mind in the iOS Zone.

Technorati Tags: ,

Monday, January 16, 2012

iPads on planes during takeoff? Hell I'd like to use it in the airport!

People have been asking for iPads, and Kindles, to be used during takeoff and landing (like Pilots can) but for me that isn't a massive deal, yes I'd like to read my online Economist from the iPad when I'm travelling and sure it can be a bit of a pain to have to use old style paper... but I've got a bigger gripe.

The CBP (Customers and Border Protection) and their mental policies at immigration.  Now putting aside the normal 'welcome to America' of 1 bloke for the Rest of the World and 15 for the 20 Americans on the flight, or the ridiculous number of times my passport has to be checked in the UK (THREE TIMES! on this trip).  Or the questions that sometimes border on the clinically insane.  No my complaint is simple.

I use TripIt for my travel, its a great service, but the reality is that for the last 10 years I've not printed out a hotel reservation, for two reasons

  1. I know where the hotel is
  2. Its on email
Repeatedly on the last few trips to the States its not been enough to put 'JW Marriot, Miami, FL' or similar, nope they want the street address and knowing its 'on Brickell' isn't enough.  So on each occasion I've done the same thing, pulled out my mobile and been met with...
You can't use that here, it needs to be turned off
What about the iPad I enquire?  Nope that is banned as well.  So here we are at an impasse, its 2011 and 2012 and thanks to the wonder of technology that has existed for the whole 21st Century (and a bit before) I have access to my reservation details on a mobile device without having to print them off. Amazing eh?  But to the CBP this is a clear and present threat to the United States.

I've been asked, when coming in with my family, to show a paper copy of the hotel booking to 'prove' we have a reservation... seriously?  In the modern era of printers and word processors its considered a security check to have an EMAIL reservation printed out... rather than actually showing the email?

I saw a guy at the final 'hand in the blue customers paper' check told the same thing on a phone that was just held in his hand, not being used mind, just held.  The international arrival area is clearly not somewhere that phoning for a taxi or telling people you've arrived is a massive security risk.

Yes this is a rant, but seriously its 2012 and most people are shifting away from paper onto mobile devices, the CBP should be encouraging this rather than dissuading it.  How about this, how about having a CBP approved application which you load all these details onto, this then generates a QR Code or similar, this gets scanned at the immigration piece and they get not only the hotel but also the details on your return flight, go a stage further and have the questionnaire on the application and suddenly you've got all the information you need with no OCR processes and no lost data (and reduced risk of ID fraud/theft).

Come on CBP, its 2012, get with the program and face the reality of a mobile world.  Let people have mobile phones (you can even say 'no calls at the desk' like they do in the UK) and maybe even save some time and money, and identifying risk better, by automating the paper process.


Technorati Tags: ,