Developing for iPhone, iPad and Android Using Single Source JavaScript
Not long after you buy yourself a smartphone/iPad you find yourself thinking "What can I make for this?"
After I bought the HTC Hero I wrote a personal-use app for it, which did the job well. Writing it was a pain though and meant getting to grips with yet another SDK/API/Language.
Now I find myself wanting to mess about with the Apple iOS SDK to create something for my iPad. But I can't be bothered delving in to the SDK.
Wouldn't it be nice if you could write apps for your devices in a language you already know?!
Enter Appcelerator Titanium, which, in their words, is:
A free and open source application development platform, Titanium lets you create native mobile, tablet and desktop application experiences using existing web skills like Javascript, HTML, CSS, Python, Ruby, and PHP.
No need to learn Cocoa or anything you don't already know. You can create apps that work cross-platform from one JavaScript source file.
Here's an example:
As you can see there are two emulators running - one for Android and one for iPhone - alongside the Titanium app (which is used to manage the project, emulators and packaging of files) and the JavaScript source file being edited in TextMate.
The app you see is just a variation on the default file you get when creating a new mobile project in Titanium. Nothing special. Just two tabs. One called Jake and one called Karen.
Taking it further you can find inspiration in their showcase page. Then download and play in their "Kitchen Sync". Or read the guides.
Thanks to Jeff Gilfelt for pointing me to this app. I won't have real need for it for a while but it's good to know it exists and that I have it installed and ready to go when the time comes.
10/13 Comments Read - Add | Wed 1 Sep 2010 | Tweet This | Open »
My One Trusty Piece of Hardware
Not sure how we got on to the conversation but a carpet layer friend was telling me how he'd had the same "bolster" for 15 years.
Trying to out-do him my retort was that I'd had the same mouse for 10 years, which, to me, is much more impressive, given that IT kit generally has a life expectancy of about 5 years.
It's a Microsoft IntelliMouse (I think) that my then girlfriend bought me for my birthday (because I asked her to) in 1999/2000 (can't remember exactly when).
Since then I've thought about buying new ones, but following the principle of "If it ain't broke..." I never have.
You can see how the amount of wear it's had from the patch on the left button!
It's the oldest bit of IT equipment I have, has seen many computers come and go yet it's still going strong despite being in heavy user almost every day.
What's the oldest bit of kit you've got?
11/21 Comments Read - Add | Thu 26 Aug 2010 | Tweet This | Open »
Is The iPad a Replacement for a Computer
One of the things that struck me about the iPad was the need for a "PC" in order to start it. When I removed it from the box and turned it on I was told to connect it to iTunes via USB.
Once connected to your computer the iPad can find out what Apple account you want to use with it and setup a sync between the devices. If I didn't happen to own a Mac then I'd have been a bit stuck at this point, as there appeared to be no way past this step.
Had I known about this then I might not have recommended one some time back to to a friend-of-a-friend who was looking for "a new laptop" and had a budget of "about 400GBP". After checking he didn't need Office I suggested an iPad and he later bought one. Whether he had a PC in the house or not I don't know.
The likelihood is that he had an old laptop he wanted to replace and with which he activated the iPad. To do it the iPad way and to keep the apps he's bought he'd have to keep the old laptop handy. Whereas I'd imagine his intention would have been to get rid of it.
This stopped my recommending it to my real Dad who has had a play and was suitably impressed (mainly impressed by how much better BBC News app is than Ceefax).
At the moment dad use an out-dated XP desktop PC, use of which is confined to one room in the house - even though he now has wireless broadband. An iPad would be perfect for what he needs. It's just this need for a "real" computer. Does this mean the iPad can never be considered a "real" computer in itself?
11/12 Comments Read - Add | Tue 24 Aug 2010 | Tweet This | Open »
More On Opal's Bad Customer Service
Remember Pipex became Opal and then cut me off because my accounts were two months in arrears. They said they told me via email that I needed to update from card payments to Direct Debit, but, err, they didn't.
In fact, while looking to check they didn't email I found a few emails they did send.
Notice I've highlighted the "no disruption to your services". Yeah, right, unless you count stopping my service as being a disruption.
The link you can see in the email above points to a PDF file about billing. In there it says:
Right. But you cancelled my connection and then - when I rang to find out why - said it's because you don't accept recurring card payments. #fail.
Another email I found from them was received on the Sunday evening about an hour before I was cut off and when they were closed for business anyway, so, even if I had have happened to receive the email, I would have been powerless to act.

To get to this "unviewed message" involves logging in/registering for this new service using the form below:
I can't get past it. I have no idea what any of it means. So, I called their customer services team to find out how to get in (I need to print out the invoices for my accounts before I leave them). They said they had no idea either and that the site wasn't working properly anyway and that I should email customerservices@opal.co.uk to get the details. But, err, aren't you they!?
I then asked for my MAC key, as I'm getting out while I can. She gave me another number to call. #fail.
After being on hold the cancellation hotline for way longer than is acceptable I entered my number in their automated call back service. That was over two hours ago. Either their cancellations team are very busy or they're not overly keen to talk to you. Funny that.
On your recommendation I plan on moving to Zen. Although the following migration notes from their website fill me with fear:
- The broadband migration process does depend on the co-operation of your existing ISP. In the event that a migration cannot take place, you will need to arrange for your existing ISP to cease (cancel) your broadband service so that we can arrange for a new connection to be configured on your line
- Although a successful migration should result in much less downtime than a 'cease and re-provide', unfortunately we cannot provide any guarantees as to how successful the migration process will be or how long your broadband service will be out of operation during the migration
Maybe I'm just better off where I am. Like I said. If it ain't broke, don't fix it?
Update: 3 hours later their automated call-back service calls back. I tell the man I want my MAC code and he says he'll transfer me to that department; at which point I go back in to the queueing system and back to where I was three hours ago. After a couple of minutes the music stops, phone rings and then I get a "Please leave a message and we'll call you back" message. My message wasn't polite.
7/11 Comments Read - Add | Fri 20 Aug 2010 | Tweet This | Open »
Looking For a Lotus COM APIs Guru
It's probably a long-shot but I said I'd try and help out a customer of mine by trying to find a guru. Over to them:
We're looking for a Domino 'internals' expert/guru who can help us diagnose a fault occurring in our application which interfaces with Domino using the COM object APIs.
Our application runs a VBScript module using WScript.exe which essentially runs some Domino agents and reports the results of those agents back to our application. We regard each run of the VBScript module as a 'request', and it works fine whilst the loading is low. Unfortunately our application can generate hundreds of these 'requests' per minute during peak times, and after a period of peak runtime the Domino server often crashes.
Typically we end up with a "WScript.exe has generated errors and will be closed by Windows" error prompt. Our application tends to fail after this point with further "requests" failing. Quitting the Domino server typically results in a hang, followed by an automatic fault-shutdown-recovery and NSD output.
We have asked Lotus support for help with this, but after they examined the NSDs, they concluded that the fault was within WScript.exe (which we already knew) and said that they could not help any further. We suspect some kind of leak within the Domino COM side of things, but lack the technical knowledge to prove this.
So, we're looking for someone with extensive knowledge of Domino internals, ability to understand NSD logs, understand COM object access, being able to investigate threads, handles, pools etc.
If you know of anybody who can help (paid consultancy of course) then please comment here or let me know and I'll put you both in touch. Ta.
11/21 Comments Read - Add | Thu 19 Aug 2010 | Tweet This | Open »
