Mobile

Fri, 18/05/2007 - 10:22

Slowly, yet surely, J2ME is driving me completely mad. One of the nicer features of Java once write-once, run-anywhere - sure, you often need to arse around with user-interface tweaks (Swing for GTK+ and Mac OS X being prime examples), or with application server differences, but there's a decent chance your business logic will run correctly. With J2ME though, you seem to be in deeper and more dangerous waters.

Embedded devices do differ dramatically - far more than a PC differs from a Mac. So a JVM sounds like a superb idea - abstract away your hardware and run in a nice virtual environment. Except it hasn't worked out like that. While you always need to cope with differing input methods and screen sizes the problems are far more fundamental - fragmentation and just plain differing implementations.

J2ME is not one standard. It's not even two or three. Most mobiles will implement the CLDC and MIDP profiles - but which version? And which combination? What about the CDC? Will they have support for the various JSRs like web services or Bluetooth? Even vendors like Intent, who produce a VM for Windows Mobile, offer the JSRs as add-on modules, leaving it up to the OEM to decide just what the VM they supply will offer.

Secondly, the differences in implementations come back to haunt you. For instance, I have been writing a tree component. Easy in principle. Hard in practice. What worked nicely on the Sun emulator didn't draw most of the time on the MPowerPlayer emulator. This proved to be my bug - a badly placed return in the paint method - but it still doesn't show a damn thing on the Intent VM on my TyTN. Why? Who knows. Frankly, trying to debug the WM VM offers more pain that I'm interested in for a learn-J2ME project. I imagine it does keep those with products to deliver on their toes though.

Wed, 09/05/2007 - 08:40

Having recently acquired a Pocket PC phone with 3.5G internet, I find myself in need of a feed-reader. I use NetNewsWire on my Mac - and it is superb - and NewsGator to ensure that I need only read once across all my devices. However, NewsGator has two flaws: firstly, there is no Linux client, forcing you to use the somewhat rubbish web interface; and secondly, the Windows Mobile client is mediocre at best, not to mention pricey.

What to do? Well, write one of course. And the most tempting target would be .NET Compact Framework. It allows you to build for the PPC in a high-level language with a nice framework. Plus, it would be nice to learn some C#. But then I ran into a problem - Microsoft firmly believe that no one uses anything but Windows. Hence, all their development tools are only available for Windows.

Microsoft are daft on development tools - unlike the world of Java, where everyone and his dog offers an IDE and most are free and really rather good, Microsoft prefer to make life easy only if you buy Visual Studio. Great for corporates, for whom a MSDN subscription is a small investment. Bad for individuals, small companies and those who just want to learn. They have released a SDK for .NET Compact version 2.0, but you'll still be hunting elsewhere to find a nice environment.

But this is all beside the point for those with a Linux box or a Mac. Yes, there is Mono, although the most I could find about .NET Compact support was a comment about having to hack assemblies to get the .NET runtime to accept them. All in all, it would appear Microsoft doesn't want to make it easy to develop for their flagship mobile OS. Indeed, they seem positively desperate to ensure it stays chained to a Windows PC.

So, I've ended up falling back on J2ME. J2ME is maddening in some ways - it's very basic, it's very modular (and hence your never sure what device supports what version of what), has a very small standard library and lacks environmental integration on some platforms (such as, surprise, Pocket PC). The UI structures are extremely basic - I'm having to write my own tree control, for instance. But, on the other hand, the SDK was a 40Mb download, and I was up in running in IntelliJ in minutes. (Or, you can download NetBeans and the Mobility Pack for a free environment).

It's annoying in a way, as I've played with J2ME in the past and wanted to try something new. But at the end of the day I'd rather cut code then arse about with the basics.

Thu, 26/04/2007 - 09:16

As if in a flash, I found yesterday that 17 months have passed since I signed up for an 18 month contract with T-Mobile. This means one important thing: I'm eligible for an upgrade. Hurrah! I signed up back in the formative days of Web'n Walk, where they offered half price line rental for 12 of the 18 months, and in return you got a rebranded HTC Wizard, 200 minutes and 40Mb of data.

These days T-Mobile have unlimited (i.e. 1Gb and you'd better not use Skype or the phone as a modem or they'll hunt you down and throw you in the Thames). Further, while the Wizard is GPRS and hence offers modem speeds at best, T-Mobile now have a HSDPA network, which offers broadband-style internet for £7.50 over your standard tariff.

So it was with great expectations I headed off to the upgrade page and found that they didn't want me back. I could pay £27.50 a month for a new plan, and £150 for a new phone. This was taking the piss, given you could get the same thing as a new subscriber for £22.50 and £90 respectively. Needless to say, I was not impressed.

Nevertheless, I went down to the local T-Mobile store and put this to them. It wasn't until I asked them to cancel my contract that they folded and offered me the same terms as a new subscriber. So much for customer loyalty.

The upside is I have a brand new HTC Hermes (aka TyTN aka T-Mobile MDA Vario II) winging its way to me. Hardware wise it's a touch nicer than the Wizard, with a faster CPU and 3G support. The upcoming Kaiser would add GPS, but frankly I'm not all that interested in both waiting and paying for such toys. Yet, anyway. Downside is that it still runs Windows Mobile, however an alternative has failed to appear as yet. Most disappointing.

The downside is that I've rewarded T-Mobile with my business in exchange for them being tits. The problem here is that most UK providers don't dabble in data - Vodafone are promising a data plan come August, Orange want £3 a Mb, Virgin want £5 a Mb and 3 start at £40 a month for 'unlimited' plans. Hence one is left with few choices.

Still, new toys to play with - huzzah!

Sat, 07/04/2007 - 21:45
<!--extended-->

Shortly after repatriated to the UK I purchased a Linksys WAG354G. This is a Linux based 802.11B/G ADSL router in an attractively small package. There were, however, a few drawbacks: it ran somewhat on the warm size, the UI (and the modem) were a touch slow, stability left a little to be desired and it had no external aerial, so WiFi reception was rubbish. And it was list last one that made me snap after 18 months.

Our flat has the phone sockets in the oddest places - one in the hall, between the stairs and three doors; and one upstairs, outside the bedroom door. This second lends itself to extension, and so the router sits in the bedroom, upstairs. Hence it passes through a brick wall, the root and an internal wall before reaching the living room at the far extent of the ground floor. The Wii sits in the far corner and worked as long as it was angled in just the right way. However, Polly's PowerBook would often drop off and give hell when it came to reconnecting. Given the PowerBook is one big faraday cage this isn't too surprising, but my MBP was also teetering on the edge. And so I decided action was needed.

The action in question ended up being the WAG200G. I wasn't completely convinced on another Linksys, but the reviews were good and at below £40 not too much could go wrong. Nor did it.

It's really a bug-fixed WAG354G. It runs cool, the UI is fast and doesn't use NTLM anymore (hence it works with Safari), the throughput seems faster and our WiFi throughput has jumped from 11Mbps to 54. In short, smashing.

So, problem solved. The only decide is that I now have not only a spare ADSL modem gathering dust, but the WAG354G as well. The trials of life...

Wed, 10/01/2007 - 10:24

Yesteday Steve Jobs came out with a rather neat toy - the iPhone. It's small, it's running a variant of Mac OS X, it's completely touch screen driven - given my lack of love for my Windows Mobile device, I was rather excited.

 Then the details came out - EDGE, no 3G (EDGE is conspicuous in its absence from the UK), no expansion slot (which makes the photo viewer somewhat less useful on the run) and most disappointingly, no European release until Q42007. It's also been announced at US$599 with a 2 year contract, so no doubt we'll be lucky to get it at £400 with a similar period of tie-in.

 Worst of all, Steve spent the better part of 90 minutes waxing lyrical about this, and neglected to mention anything about Mac OS X 10.5 (Leopard), a new iLife or iWork, or any chance of video in the iTunes store outside the US. The first is surprising, given it's aimed for a spring release, the second is a break from tradition and the third sharply drops of the usefulness of the announced AppleTV.

 All in all, less than exciting. Nothing to see here...

Tue, 25/04/2006 - 03:00

<!--extended-->

I have my digital life split in two. At home I have my PowerBook. It's all set up as I like it and has the master copies of all my code, e-mail, calendar, RSS feeds and so-on. I've also got my dinosaur at work - a old P4-2200 with WinXP - with which I try to remain on top of things while at work. I've also got my PocketPC smartphone (although the 'smart' part is highly debatable). And as such I prefer not to duplicate work between the lot. However, this is harder than it should be.

I'll start by ignoring the PPC phone: until synchronisation is available for the Mac it sort of exists outside the loop.

E-Mail - I keep my personal e-mail in GMail. This is, however, winding me up somewhat at present. Firstly (and this is a general criticism) I have to file everything twice. I have to set up filters twice. POP lets me replicate, but for the fact it's dodgy as hell - sometimes messages are missed for no apparent reason. Google say they're working on it. And so I really need to find myself a decent IMAP service. This is on hold at present as a) it's hard to find someone trustworthy and b) I don't want to have to go though all my e-mail again.

Yahoo Mail has improved with the new interface but it won't let me import from GMail. And there's no IMAP support (which I'd gladly pay for). So that's out. As for Hotmail/Windows Live Mail - the new interface only supports IE6, which rules it out for Mac users immediately. Silly MS...

Calendar - this should be easy once I have PPC sync. iCal/Entourage can sync with the PPC, which can then sync with my Windows box. Easy. But for the fact that Lotus Notes is, well, plain sucky and keeps duplicating things. Whoever thought Notes was even half decent can and should be shot.

Tasks - much the same as calendar. One day anyway.

Address Book - as above. I maintain iSync is one of the best things about the Mac.

RSS - I did use NewsFire. I've now jumped to NetNewsWire, purely for the NewsGator sync. The online web reader is pretty rubbish though and I haven't found a free offline reader for Windows yet (well I have, but RSSBandit doesn't synchronise read states which is the important bit really), but it does make life easier.

I'm afraid there is a theme here - synchronisation is just too hard. It's approached as an afterthought, instead of as a necessity. Online e-mail is great, until you lack internet access. Likewise, the online calendars are nice toys, but how do I make sure my appointments are up to date on my PPC and my laptop while I'm disconnected? And why do I need to maintain seperate address books on GMail and my Mac?

Alarm bells should be ringing for anyone developing in this area - why is it harder to maintain contact details in the digital world than in the good old days with a note book? How times have changed...

Fri, 07/04/2006 - 06:25
<!--extended-->

Mac synchronisation with Windows Mobile 5. Only via BT mind, but I'll take what I can get.

Incidentally, much happier with my HTC Wizard since I flashed it with the new iMate firmware. It's stopped randomly rebooting itself and so far (crossed fingers) the alarms are working properly. Huzzah!

Tue, 28/03/2006 - 06:45
<!--extended-->

I was recently dragged up to sunny, sunny Scotland (watch for the snow-drifts) for a wedding (attempting to count Polly's relatives may well induce a buffer overflow). And, as you do, I took my trusty Windows Mobile 5 HTC Wizard along for the ride.

First night: I had forgotten to turn my alarm off. Never mind, turn it off, go back to bad: well, that was the plan. Once again there was no way to dismiss the alarm. I eventually convinced it to stop by removing the battery and demonstrating just how much abuse a battery can take without breaking.

All was good until we came to leave, at which point the alarm would, again, not turn off. Further, removing the battery did bugger all. The solution in the end: mute and turn the vibrator off. Good solution, but for the fact it's my cellphone.

So in the end I snapped and flashed the thing with the iMate K-Jam ROM. It meant reinstalling everything and lots of hassle but since the flash it hasn't crashed once, alarms can be turned off and all the rubbish T-Mobile branding is gone.

So, T-Mobile's or Microsoft's fault? Hard call, but they were lucky they were out of hearing range...

Mon, 06/02/2006 - 07:10
<!--extended-->

Well, I'm still not chuffed with Windows Mobile 5 and thought while I drink my tea I might try to articulate why.

Firstly, I'm looking at it on its own merits. No doubt comparisons to the Palm will pop up but this is not a glowing endorsement of Palm OS - it's well past its use by date, unstable and lacks basic features like a file-system and multi-tasking. But it does do some things very well.

Backup - you can't back up a Windows Mobile 5 device without third party software. ActiveSync doesn't support it for WM5 and there's no concept of a device sync with AS - you sync applications, not the device. Now this is something the Palm does well. The entire device syncs, so when you need to upgrade your firmware or drop it on the Tube you just plug the empty device in and hit sync - and that's it. Back to normal (usually, anyway). However, to upgrade your firmware on Windows Mobile you need to reinstall. Why? Because a complete backup restore buggers up the system if you try after the device has been upgraded. At least I presume that was the cause of my un-dismissable alarm - it certainly never came back after I surrendered and did a clean build.

Speed - where the hell is it? Starting tasks on my HTC Wizard (200Mhz TI OMAP) - 12 seconds. With 2 active tasks and only a couple of hundred completed tasks. Same task on my old 144Mhz Tungsten T - under a second. We're not talking about launching something complex here... hell, I used to run Windows 95 on a 33Mhz 486 and it went faster with only 16Mb to play with

Stability - atrocious. Like using a Palm again. I was stunned when, without warning, it rebooted while sitting unused on my desk last week. Yes, just what you want in a phone. If only that had been the only time...

And on stability, the bloody alarm problem. Windows 2003 was famous for not playing your alarms. How did this bug manage to creep into Windows Mobile 5? It appears to be gone now that the first T-Mobile patch has appeared but it doesn't inspire confidence - I'll certainly be keeping an alarm set on Polly's Palm OS device as well for the foreseeable future.

File-system - great, overly complex. Managing files is like using Windows again - start menu, programs, quick launch bar. Why does it have to be this hard? The Palm and the Mac both reduce it to one level - why can't Microsoft? And on the same theme, why do I need a Windows PC to use the thing? MS have made a big thing out of how it's not a 'connected PDA' but a mini-computer - so why do I need a Windows box to install the .NET Compact Framework 2.0?

Multi-tasking - great. Rubbish implementation. Why does everything need to keep running? Why can't Tasks save its state and kill itself when you run low on memory? (Oh yes, because it takes 12 seconds to start). I don't need the majority of applications running all the time. So why doesn't the OS persist their state and kill them when needed, rather than just letting the device get slower? Yes, plenty of third party solutions (I'm using Magic Button) but this isn't a new problem. Hell, it's been around and bitched about since version 1.0...

In short, it lacks a hell of a lot of polish for a 5 year old OS. It's shocking that Palm OS Garnet (5.x) can still hold its own against it for the most part, despite being well into Death's hallway and admiring the hat-stand. Maybe I'll have to get a Symbian device next time - I'm certainly not sold on another WM toy.

Wed, 11/01/2006 - 06:54
<!--extended-->

Well, the new firmware for my HTC Wizard seems to have alarms working reliably now, however I'm shocked at how easy it is to lose data.

When settings up a link with my new XP x64 machine I was told I had to delete a current relationship. Hence I deleted the relationship with the old Windows instance. I then found that SplashID has deleted all my saved data. Of course the only machine that data was synced with was my work machine (before the trial expired) and that relationship still existing. Arghhh!

And speaking of SplashID, for a program that is supposed to store your private and essential information it has arse all backup facilities. The only was to backup is to use the Windows client (which costs more). There's no data file on the device and while SpriteBackup says it backup up a database for it it contains sweet FA. Tech support say there is no way except for the Windows client. For the love of God...

So I've gone back to Ilium's eWallet. Fantastic software, easy to backup without a desktop PC and works a hell of a lot better. All kudos to Illium.