Tuesday, 4 January 2011

Google quite possibly now owns my soul... [Part 2]

So now I'm running Android as my primary phone OS I'm leaning more heavily on the surrounding Google services, specifically:
  • I've started making more use of my GMail account. This is actually coming in more useful for talking to job agencies as it's easier to specify the Gmail email address than having to explain constantly that imorital actually doesn't mean anything of significance.
  • I'm making use of the Google calendar, especially getting this to sync with my various instances of Outlook. The calendar then automatically syncs to the phone without having to perform this step by plugging it into the PCs in question. Essentially a (more or less) up to date copy of my calendar is always accesible on the web and from their to my various devices with no manual intervention.
  • Likewise The tasks. This synchronisation isn't as slick unfortunately, especially with regards to Outlook tasks. I live in hope this will improve over time (hey Google, I'll come and work for you to write the code if you want).
  • I'm making use of Google reader to keep track of my RSS subscriptions. Again this is all kept in sync so I see what is unread between devices.
  • My homepage of choice has been iGoogle for a while, it offers a decent "at a glance" view of what I want to see on the web, including the aforementioned Calendar, tasks and reader (probably email too if I could be bothered setting it up), along with stock prices, weather, train times, etc.
  • I've even used the free Google navigation to guide us to/from our recent holiday.
  • I'm currently playing with Latitude, although since (like most of the sane population of the world) I don't always want people knowing where I am, this will likely be a phase.
  • I've started using Google Talk for chatting to a couple of friends from both the Google web pages and my phone.
  • I'll probably start using Google Voice when it arrives properly in the UK.... assuming it offers similar features to the US version (i.e. free calls to landlines)
Also of note, during my many years of using Windows Mobile devices I probably never installed more than 15 applications, that's changed considerably with the advent of an Android device. So what have I installed?

Well in no particular order and loosely categorised:
Games
  • Paper Toss by Backflip Solutions inc.
  • Word Up! by Anthrological
  • Jewels by MHGames
  • Talking Santa Free by Outfit 7 Ltd.
  • Talking Roby The Robot Free by Outfit 7 Ltd.
  • Talking Tom Free by Outfit 7 Ltd.
  • Finger Dance Lite by Blink Droid
  • PAC-MAN Championship Edition (Demo) by Namco Networks
  • Raging Thunder 2 Lite by polarbit
  • Bubble Burst Free by Androgames
  • WordSearch Unlimited Free by JiuzhangTech Ltd
  • Star Wars light Saber by Eder Rueda Fernandes
  • Andoku Sudoku by Markus Wiederkehr
System Stuff
  • AppBrain App Market by Swiss Codemonkeys
  • Quick Settings by Sergej Shafarenka
  • Bluetooth File Transfer by Medieval Software*
  • ASTRO File Manager by Metago
  • ASTRO SMB Module by Metago
  • ASTRO Bluetooth Module by Metago
Productivity Tools
  • Yell.com by Yell.com Mobile
  • Google Search by Google Inc.*
  • WikiMobile by Bonfire Media Inc.
  • Google Goggles by Google Inc.
  • London Tube Status by Pete C
  • RAC Traffic by Oakley integrated Business Solutions Ltd
  • Barcode Scanner by ZXing Team
  • GTasks by Dato
  • Google Maps by Google Inc*
  • Evernote by Evernote Corp.
  • Gmail by Google inc*
Media, Leisure and Communication
  • Audible for Android by Audible
  • Just Pictures by Kounch
  • Camera 360 by mAPPn, Inc
  • SoundHorn by SoundHorn Inc.*
  • Flash Player 10.1 by Adobe Systems*
  • Endomondo Sports Tracker by  Endomondo
  • Waitrose Christmas by Waitrose Ltd.
  • YouTube by Google Inc.*
  • Adobe Reader by Adobe Systems*
  • Epicurious Recipe App by Conde Nast Digital
  • Simple Last.fm Scrobbler by Adam Renberg
  • Sykpe by Skype
  • Facebook for Android by Facebook*
  • Kindle for Android by Amazon Mobile
  • Twitter by Twitter Inc*
Ecommerce Tools
  • Google Shopper by Google Inc.
  • Official eBay Android by eBay Mobile
  • EZ Tip Calculator by Daniel Hong
  • Amazon MP3 by Amazon.com*
Tech stuff
  • Droid Forums by DroidNetwork.net
  • XDA-Developers by XDA-Developers
Items marked with * are possibly part of the HTC stock rom, however since using App Brain updates to these components are found and installed, after which they appear on my list of downloaded marketplace applications.

I had, as you may well know, already had some experience of Android by running it on my old Windows Mobile 6.5 HTC Touch Pro2. This was running the basic Google UI, but even so taught me the basics of Android (even though some of them were a little more clunky than an HTC Sense Skinned device). The thing that struck me about Android on that phone, was how much cleaner most of the applications looked than WM itself, even though it wasn't the primary OS. That initial impression, even on the large screen of the Desire HD, has not been as great on the new phone, which I put down to knowing exactly what to expect this time. Don't get me wrong, there's still plenty that makes me smile, and the implementation of Android 2.2 is complete (the TP2 version was missing things like Flash and a decent battery meter).

The two things that stand our for me are being able to watch Flash in the browser (I have used this facility to run the BBC iPlayer and live streams extensively, both full screen and in page), and the fact that it's proved thus far to be very stable (it hasn't had a system crash once yet, although a few applications have force closed, but this has been isolated from everything else - interestingly the old Marketplace application proved least reliable).

So overall I'm loving the Android experience, I just need to start coding up some of my own apps now, and even that looks relatively simple. Watch this space!

Tuesday, 7 December 2010

Google quite possibly now owns my soul... [Part 1]

So, I've had my new phone, an Android based Desire HD for a couple of weeks now, and it's remarkable how quickly I have got used to it just being there.

In this time I've not carried my laptop to work, instead just using the phone to provide my media consumption (video, audio - both music and books, email checking, surfing, etc.) It's not that the phone does any of these things particularly better than a laptop, it doesn't, the larger screen and keyboard still rate supreme, however for convienience it's a lot easier to transport and use on a crowded train or tube.

Primarily however, it is a consumption device, much like an iPad or other tablet. As a result I fully expect the laptop to be making a welcome return on occasion as I try to actually create content. It's not that either a smart phone or tablet cannot do that, indeed for some applications they may be preferable, however their usefulness when, for example, using Eclipse to code up a small Java application or test, is obviously limited, crippled if you will.

The small need I felt to get a tablet has almost entirely vanished now, if it ever existed, now such a device would be merely a curiosity or just another toy to sit and gather dust within months. That, at the moment is equally applicable to both iOS and Android tablet devices.

The phone is in no way a tablet, but it is, for me at least, filling the exact same uses I would see a tablet covering.

Now if only the price of 32Gb Micro SD cards could half, I could upgrade the 8Gb card that currently lives in my phone and carry around a decent library of music.

Thursday, 11 November 2010

So that's decided then.

Well, with regards to my choice of next phone, my hand was forced when my existing Touch Pro2 finally gave up the ghost. I'd finally had enough of powering on the phone to find it didn't respond to my jabbing of the screen, so after an age trying to get it to work well enough to allow me to input, I managed to restore it to factory settings.

So, with a clean phone i powered on, but still I was usually getting nothing. This was with the SD card removed and nothing installed, essentially it was the stock rom.

So it appears the root of many of my problems with the phone have been down to the slow death of the touch functionality of the screen. it's almost certainly a hardware issue.

Fortunately this happened about a week before I was eligible to upgrade to a new phone and tariff, so I loaded myself up with my trusty old N95, and played the waiting game until the magic date arrived. Last Monday, armed with the deal I wanted I called up T-Mobile customer service. I told them what phone I wanted, we analysed my usage patterns, and they offered me a deal better than I had found myself, so I've accepted it.

So now I'm waiting for them to get stock in of my new phone.... I finally went for the HTC Desire HD, although it was a close run thing with the Galaxy S until the last minute (if T-Mobile had stocked the 16Gb version instead of the 8Gb version then I may have gone for that instead).

Although I arranged this over the phone they did tell me if I found a T-Mobile store with stock I should get the unit from there, and Surrey Quays expect some in tomorrow, so I could have two new toys to play with over the weekend - the new phone and hopefully the Kinect will on Friday.

Is it Christmas already?

Friday, 8 October 2010

Windows Phone 7 – Keep up the good work.

My Windows Mobile 6.5.3 based HTC Touch Pro2 is driving me insane at the moment. I'm not due to finish my contract until the end of November, but almost every day is going to be a strain, assuming I don’t just upgrade now, which I could do since I’m probably going to get something SIM free away from a contract anyway.

Strangely after all I’ve said previously, for a while  this week I was basing my delay on waiting until Windows Phone 7 is released next week, just to see. Surprisingly the thing that put me off again was reading an article about application development on the device, and how locked down non-Microsoft apps are in this initial release. As an example the Twitter client can’t even get access to the camera or photo album. Good for security, bad for functionality.

Version 1 teething troubles, I’m sure, but they are there just the same, so the operating system must be judged on them. Back in the box for now Windows phone 7, perhaps I’ll see you when you can play with the bigger kids.

If I had to choose a phone to buy today I'd probably go for an HTC Desire or a Samsung Galaxy S, both great little Android phones. The fact Android is under assault by legal terms from Oracle, and Android vendors from Apple and Microsoft worries me only a tiny amount. The Oracle charge seems to be the greatest threat (the others are just play fodder for patent holders).

To a certain extent I sympathise with Oracle, after all they do now own and develop Java, so some licencing would only seem fair. Then again I just know what I read, and having worked on the periphery of media even I know how the truth and reports rarely overlap to and great extent, although I do like to think that for the most part the technical media is more accurate than The Mail.

I'm waiting to get my grubby mitts on an HTC Desire HD or Desire Z, and possibly a look at Android 3 if I can hold out that long.

The Desire HD may be out of the game as the screen is possibly too big. It’s like a tablet device (which would save me buying one of them) but it doesn’t particularly look like it will be comfortable in your pocket.

As for the Desire Z, why not keep the 8MP camera of the HD? Not the end of the world, but frustrating.

I need to see them both before any decision, then weigh up the pricing.

On a related note, I did fancy a Kindle, I am a big fan of eInk screens and I love the way it stores your place in a book between devices, so I could read a book on it from both my laptop and a Kindle and keep my place.

Having said that I’ve been using the Android Kindle application today, and I think for the short periods I get to read these days a backlit screen will be bearable (and it also keeps track of your position). Plus the PDF rendering in Android will be much better than a Kindle I’m sure (must try it), an important consideration with the amount of PDF files I have in my collection. Lastly the £109/£149 I save by not getting a Kindle will help the phone fund nicely.

Of course, for reading the Desire HD screen will be better than the Z…

Gaah!

I guess I’ll just wait and see them in the flesh.

Now, about that Galaxy S...

Is Java Hot Or Cooling?

If you want to take a geeky 40 minutes out at some point I recommend listening to the podcast at https://www.ibm.com/developerworks/mydeveloperworks/blogs/scott/entry/java_still_hot_or_losing?ca=dwpodcastall&lang=en

It give a very good and what appears to me to be unbiased overview on the future health of Java.

Thursday, 29 July 2010

eBook Revolution

A few years ago when the first eBook readers starting hitting the shores of the UK I was mildly interested. I think the main model catching the attention of the media was the Sony PRS-505. It was fairly impressive from a gadget point of view, but when I tried opening a PDF of a book I was reading at that time (password protected) it failed to open. In one stroke that signalled the death of my interest in the device.

That was probably about three years ago, and since that time I've kept one eye half open on the eBook reader market, but the high price of books and limited availability has always meant that I've never really bothered considering getting a device again, it's more been a slight interest in the technology.

Today I read that a new model of the Kindle is being launched in the UK (i.e. from Amazon.co.uk) directly with a 3G and Wi-Fi only version available, which has resurrected my interest once again. There's a few books I need to buy, and even more I already have as PDFs, so do I take the plunge for situations where a laptop is less than ideal?

Two things remain that are putting me off:

1. eBooks are still too expensive. Amazon are discounting at the moment, but as with printed books the deals will slowly fade over time I imagine. Looks like the publishers learnt nothing from the mistakes made by the music industry.

2. I still don't know if all my PDF files will open in the reader.

That said, there is a wealth of free books out there, so that may help sway me. The other driving force is the fact that many of my text books weigh more than the laptop, so it's not nice carting them around.

Either way, it's not going to be on my pre-order list, so I have time to save and read some reviews.

Is now a good time to start bleating on about touch screens again.... yes I know you can get the kindle reader for the iPad, but another selling point for me is the e-ink screen. There's also the price.

Sunday, 25 July 2010

When Did Everyone Turn Against Stored Procedures

I forget when I first started working with Stored Procedures in databases, but it was probably back in 1996 when working on the Teletext Commercial System.

Back in those days we developed against Microsoft SQL Server (as far as I can remember this was version 6) and much of the business logic and database integrity was coded in SQL. I remember we had prefixed the name of the stored procedures with 'sys_'. That wasn't my choice, and I quickly discovered that only the in-built system stored procedures should be named as such. Still it was a small point and since it wasn't my choice and had no detrimental effect it was, by that time, best to leave alone. Regardless, this was a client/server application, and the stored procedures suited us particularly well.

My next position was on a multi tier project (Delphi-Java-Sybase) where we used stored procedures primarily for database integrity and serving the middle tier objects for data retrieval and persistence (that's being a little unfair, it did more than that, but this was the primary role).

On this project 95% of the business logic was stored in the middle tier. By contrast the database used stored procedures, via metadata enabled objects, to quickly retrieve and persist data reliably, and safely. The system, whilst not perfect, was a lesson in good design and worked extremely well. Stored procedures were used in many other places where the data was manipulated (reports spring to mind), after all, if you are relying on retrieving masses data to perform a task, sometimes it's more efficient if (at least the preliminary) processing is done near the source of that data without relying on factors such as network bandwidth getting in the way. Also, the fewer bits you have clogging up the network, the better, especially to a distributed user base and infrastructure.

The stored procedures may have also helped with replication, I don't clearly remember as it was a long time ago, what I do know is that it seemed to work very well, and whilst there was always debate between some of the middle tier developers and the database lead as to who should be doing what, mostly it was harmony between all.

In my next role I initially worked on a system where virtually all the business logic was contained in stored procedures. It was hideous, but this was mainly down to (in my opinion) very poor stored procedure design, and the fact the stored procedures themselves were written in an awful mid-way language (not quite SQL, but not quite any other programming language you've seen before) which was then compiled into very poor SQL code (imagine a stored procedure where the first several hundred lines may be blank lines and you'll get the idea).

The stored procedures in this code could run to thousands of lines and certain members of the team relished the fact they were very nearly un-maintainable. With better organisation (we call it refactoring these days) this diabolical situation could have been eased a little, the bad code wasn't entirely the fault of it being implemented via stored procedures.

This is of course my perception of things, although I doubt many would claim it was good.

The next company I worked for almost had a fear of using databases. Initially this upset me, but after a while you go with what you're given and don't rock the boat (again I say "if it works well enough, leave it alone"). We're talking here a situation where we were storing XML in the database as raw text. Yes, you did read that correctly. I'm going to almost certainly be unfair here (by which I mean I *may* be giving a misleading impression) by saying that one of the primary reasons given to me was that changes could be made to the code, without routinely having to alter the database schema. That's just lame. If one relies on a change in the other then so what? Mind you, this is the same mentality that said procedures running to several pages were "self documenting" and that comments in code were bad as they quickly become out of date (so surely part of making a modification is making sure they are updated... oh, never mind, I've posted about that before).

Essentially (and to cut a long gripe short) the project had moved from Paradox, so the team lead, in my opinion was both unaware of what databases could do (and how well they could do them) and was just plain scared of databases.

In my current position I'm working with, what appears to be, a good codebase. It's Java running against an Oracle Database. One thing has struck me though (and bear in mind I'm new to Oracle) is that I can't find any stored procedures?

I know the code uses Hibernate, with which I'm largely unfamiliar, so this may be why, but as an uneducated outsider I'm a little surprised (although not entirely saddened). If the implementation doesn't need stored procedures then that's fine (but where are the triggers? I know a lot of thinking sees these as evil too).

Oh well, new code, new concepts. That's what it's all about. I look forward to finding out more. Perhaps I'll search the web in a moment for Hibernate introductions.

To close with an aside, many projects are reluctant to use stored procedures as it ties you down to a particular back end technology. That's fair enough for some projects, for example I've written plenty of applications that needed to function against whatever back end they were placed against. The amusing thing is however, in the case of the Teletext system I wouldn't be surprised if the stored procedures outlived the application itself, which was coded in Delphi. I imagine that was converted to C# or Java some time ago (if it's still around). Of course I may be wrong, I've not been back since late 2000.