Archive for December, 2007

Windows Mobile IE To Render Web Pages Accurately

Monday, December 17th, 2007

From Electronista:

The next version of Microsoft’s mobile OS beyond Windows Mobile 6.1 will be the first to directly tackle advancements brought about by the iPhone, according to statements the company has made at the recent Mobius conference and echoed by Engadget. The unnamed update will effectively port a desktop version of Internet Explorer to the handset environment to render web pages in a largely accurate manner similar to that of Apple’s mobile Safari browser.

Wow, two updates.

  1. they’re going to port desktop IE to Windows Mobile
  2. they’re going to make IE render web pages in a largely accurate manner

Frankly I don’t know which is the bigger surprise.

No schedule, no timing, just a bit of vapourware to keep the FUD machines running.

Top 10 reasons for IT to support the iPhone

Saturday, December 15th, 2007

Philip Elmer-DeWitt makes an entire article for Fortune out of blockquoting a Forrester Research article

Forrester predicts that the iPhone will find its way into many enterprise environments — if it hasn’t already — because C-level executives are buying them and expecting support from IT. It’s only a matter of time before the iPhone filters down the corporate pyramid, and IT should have a strategy to handle these requests.

and goes on to provide 10 reasons why IT should not or will not support the iPhone.

Balls to that. Here’s my counter-offer.

  1. Supports industry standard POP and IMAP with SSL out of the box This gives the IT manager a huge amount of choice in which mailserver to use. No longer is he limited to using Exchange and the legacy that entails. And yeah, you can get Push email too.
  2. Developer support is huge months BEFORE the SDK is out. Companies such as SAP have admitted they have early access to the iPhone SDK and are into the development of an iPhone app for their software. When the SDK hits the general public in February you’ll see an explosion of applications.
  3. Lacks a keyboard so more of the real estate of the device is usable Especially relevant for the web where we spend more time consuming data and reports. Instead of 30% of the device being turned into a chiclet keyboard which you need to learn to use, you have all of the size of the unit as a screen.
  4. The best support for web standards anywhere because it uses WebKit at its heart - the same rendering engine used by Nokia’s smartphones and also Google’s Android OS. Open source and developed by Apple. I did some shopping the other day, first time I’d ever shopped online using a phone. On the company’s REAL web site, not some cut down mobile version. And yes, over EDGE too.
  5. Premium features for standard prices as the iPhone’s features far outstrip the capabilities of other smartphones yet is priced around the same. Again, reduce your support burden as you find executives don’t need to lug around their fragile laptops.
  6. It’s made this splash and it’s been out less than six months which has to be remembered. Already iPhone web browsers outnumber people browsing the web on Microsoft’s Windows CE/Pocket PC operating system and that OS has been shipping for 10 years now. It would be stupid to ignore the momentum.
  7. It’s built upon a UNIX based operating system, with cutting edge developer tools, and a revolutionary user interface.
  8. It’s got RIM, Microsoft, Nokia and others scared. Being a good IT person is about providing technology that provides a competitive advantage. These companies wouldn’t be scared for nothing. It’s up to the IT department to squeeze the iPhone for the competitive advantage.
  9. This is the first generation Not a usual advantage? Perhaps not. But the iPhone beats the pants off anything out there in the first generation with 1.0 software. Sounds like time for the IT department to kit themselves out with one and learn this new device.
  10. The End User will use it. That’s absolutely terrifying to a legacy Microsoft-styled IT department. Their entire subculture is filled with FUD. It’s too fragile to enable anything useful and anything that isn’t taught on the MCP course is simply beyond them. God forbid that anything should be “easy” or that it should work as planned. The two biggest bluffers I ever met were a Laurel and Hardy duo of Wintel SysAdmins. Nice blokes I’m sure but utterly useless in IT.

By far one of the best reasons for getting an iPhone would be to rub the nose of “ringzero” from Brisbane, Australia in it. His comments on the Fortune story highlight why most IT departments should be outsourced to some of the big outsourcing companies because then when your IT service is crap, at least you’re getting what you paid for.

His number one reason for why iPhone shouldn’t be supported?

  • Users are stupid. They will lose, break or abuse this.

Times like this I loathe other IT people. And it would be the primary reason I’m not keen on attending IT conferences. Sentiments like that, about your Users, don’t make you sound big and clever. They make you sound like an ass. And it’s exactly the same sort of stereotyping bigotry that makes cops think they are above the law. Wintel IT folk have to remember that they’re utterly disposable. There’s another guy round the corner who’s cheaper, smarter, better qualified and isn’t a bigoted prick.

iPhone versus 3G Phone web shootout

Tuesday, December 11th, 2007

A German web site did a test between the iPhone and a recent 3G phone in web rendering.

Time in seconds taken to render the following web sites

Webseite iPhone
(EDGE, 2.5G)
Nokia E61i
(UMTS, 3G)
Die Zeit 76 79
EBay 30 26
Applephoneinfo 31 27

You also have to consider that the iPhone renders it better but that may be an entirely subjective thing.

Digital Nomads

Tuesday, December 11th, 2007

I’ve spent a lot of time in the past talking about “Going Bedouin”, an idea of working that I adore and which I have tried to do for several years, while working for a large telecoms company and also while working for my own company. I feel it helped the company pay for my productivity because as I embraced the flexibility to work from home, the company also received the benefits of me being available possibly 24×7 because I didn’t begrudge the call at 2 am (unlike the call at 2 am I got last night which I certainly did begrudge). It meant I was happy to help people out and most importantly I didn’t feel the need to demand extra money for the privilege.

Chris Brogan’s blog has an interesting post on how to become a digital nomad which is as much a marketing term as “Bedouin”.

  1. Smartphone
    It’s important to stay in contact if you’re going to be Bedouin. This means choosing your technology carefully. It’s no longer good enough to carry a pager and mobile phone. The expectation now is that you’ll get your email too and with the release of the iPhone comes the first mature implementation of a browser in a handheld device. It’s relegated my laptop for a lot of the day to the laptop bag.

  2. Online apps
    While I recognise that online apps do provide a lot of power and sometimes a lot more potential for collaboration, I’m still very much a fan of rich clients. I don’t want to use primitive web app user interfaces which haven’t really changed recently. For what they offer, it’s a lowest common denominator model. It works, but it ain’t pretty.

  3. Centralising
    This makes a lot of sense and I’d clarify by saying that as well as centralising some of your services it’s worth considering outsourcing those which don’t add value. Get everyone accounts on the same domain with the same reliable provider and keep these production services separate from your development servers and off your own machines. The economies of scale make it worthwhile.

  4. Online/Offline Storage
    Just do backups. Don’t mess around with your data. That’s one of the beauties of laptops and PDAs, for the most part they have insuffient storage for keeping all of your data. My laptop has a 160 GB drive in it which is a tenth of what I need for storage. My iPhone has 8 GB of storage which really isn’t enough for anything other than current email. And the odd movie. Keep regular backups and consider keeping your data in the cloud - so you can access it from anywhere.

  5. Messaging/Presence management
    If you’re not using instant messenger applications in business then you’re behind the times. I have no doubts that Skype and iChat will make it onto the iPhone which will make my phone the hub of my communications network rather than my laptop. I don’t believe for a second that Twitter and similar wanky apps are going to to be the core of the semantic web. They’re missing everything to do with context. I don’t wast to know only a short message about someone. I want to know where they are, how they are and whether they want to meet for coffee. FaceBook or Google would seem to be the contenders here for writing the meta-app which will fulfill your context needs. I just don’t really want content delivered as a side order to a main course of advertising.

  6. Plan your gear
    This means not only making sure the kit you have is the right kit, but making sure you invest in ways and means to keep that gear running. I get a full day out of my always-on, incredibly busy iPhone. That means, if I’m planning ahead, always making sure I have at least got an iPod connection cable handy for a quick juice-up if I’m running low. For laptops you have to consider most have a battery life of 2-3 hours with some stretching it out to 5. So that’s more bulk to lug about. You’ll also have to get less shy about using power points in coffee shops and airports. The staff in the places I have been have never objected to me plugging in. Scope them out and make a beeline for them if they are free. Power is a more valuable commodity to a mobile worker than WiFi. Think about that.

For me it’s a waiting game. I’m waiting to see what will be possible with the iPhone when the SDK is released as I’m filled with ideas on how to manage this, how to add to what is already out there. I’m less and less keen on FaceBook and their constant barrages of crap but they are in the best position to start providing an implementation of the “digital shadow” (as PJ called it.

O2 billing now includes hidden extras

Monday, December 10th, 2007

When I bought and activated my iPhone, I asked for o2 not to include insurance. I have good enough technology insurance certainly to cover my iPhone as it covers all the other technology items I own.

Then I find this in my new o2 bill.
o2 bill

I’d urge everyone to check their bills for these errant additions. Some companies simply cannot be trusted.

Blame Apple. Blame Steve Jobs. Don’t blame the technology pundit.

Saturday, December 8th, 2007

So, here’s the deal. Let’s say you want a job as an IT pundit. You first find out whether there’s any jobs. There’s one at ITWire, a site that reports to be “connecting technology professionals”. You use your charm and wit to get a job. Brilliant. They didn’t bother to even check your IT credentials!

So this brings me to Apple’s Xmas gift: wireless networking problems, by Sam Varghese. Like Sam I have a gleaming MacBook Pro. Like Sam I use wireless networking. I also use a variety of wireless routers from Apple’s own brand, premium brands like Cisco and of course, cheap as chips brands which come badged by my local IT shop in a white box.

And no, I’ve not seen any wireless problems with Leopard.

So, what do we have here.

Two people both using ostensibly the same hardware, using the same protocols, using likely the same embedded operating systems in the access points and yet one of them has a problem.

Sam rubs his grey RMS® beard and starts to write an article where he will moan that his wireless isn’t working and blame it on Apple. He makes allusions to a recent fix being very vague ad then not fixing the issue. Can’t really have been a software problem then, Sam. Then, he’s going to finish up with some fairy tale abut how one time at BandCamp he and some Linux d00ds cooked up a hack to help Ubuntu users connect to wireless network and therefore proprietary software is inferior to GPL software.

Okay, so let’s dig a bit deeper.

  1. He doesn’t mention which brand of router he’s using yet this is, in my experience, likely to be the source of issues. Maybe they’re a heavy advertiser with ITWire? Wouldn’t be good to publicly criticise them. Maybe they use an embedded Linux as their OS? Again, not politic to criticise when you’re all about the Free® software. No sir.
  2. He doesn’t mention his troubleshooting steps. Because then someone could point out he’s doing it wrong. He’s not created a new Location, or deleted the entry out of his Keychain because they are, after the router, the most likely source of issues with wireless. The Locations issue boils down to know-it-alls changing values they don’t really understand. And sometimes the password in Keychain can get confused especially if you change your Wireless network password.
  3. He claims Apple is ignoring the people who have this issue without actually linking to any of the places where people are complaining about the problem. We can’t then verify if they have correct setups, whether they have bothered trying to fix anything or whether, like Sam, they just want it broken so they can kvetch
  4. He’s not specific with his log files or error messages because, let’s be honest, he doesn’t want this fixed easily. Mainly because the error lies between keyboard and sofa. Sam - you can fix this. Really you can - and it won’t require writing one line of code.

We don’t really want to dwell on the fact that the networking stack is Leopard is Open Source under the APSL which, despite not beig GPL, is a Free license (according to the FSF at least, though Sam disagrees).

Apparently Apple must now “be well aware” of the issues Leopard has caused with “laptop users”. He’s seriously that generic as if half of the people who bought Leopard since it’s launch (probably half a million laptop users) are all having the same issues as him.

Uh…Sam….you don’t work in tech support do you?

[Interesting to note one of his earlier stories: Was it Automatix or bad RAM that killed Ubuntu?]

SAP to support iPhone

Friday, December 7th, 2007

Reuters has this little snippet about SAP planning to release an iPhone client despite analysts falling over themselves to tell us the iPhone isn’t business-friendly:

On Monday, SAP broke with precedent by saying it would introduce a version of its upcoming customer relationship management software for the iPhone before launching versions for mobile devices from RIM and Palm Inc (PALM.O).

The reason? SAP’s own salespeople were clamoring for it, saying the iPhone was easier to use, according to Bob Stutz, SAP senior vice president in charge of developing customer relationship management software.

“This isn’t necessarily iPhone deployment by way of the IT department, but it’s by people who really want to use this device and IT is responding in a really positive way,” said Michael Gartenberg, an analyst with market research firm Jupiter Research.

This is exactly the way that the market should work. The customers want something, they build a case and the IT department responds in a positive way. In the most simple of business cases, “easier to use”, that’s exactly the sort of response an IT department should respond with.

I’m not a fan of Blackberry devices. In a previous life I was forced to help people use them when attached to the O2 network and I can say that simply because their IMAP implementation in the device sucked the big one it was not a pleasure to use for email. It was functional, it was something the customer tolerated, but under no circumstances did it take away the pain. (And frankly the number of keyboard shortcuts we needed to look up made it more reminiscent of using Wordstar or DOS than a modern handheld device).

February brings us the iPhone SDK and SAP is one of the first of many companies which will be queuing up to get their applications onto iPhone. Others we’ll see will be Skype, VNC, a Terminal, an AIM client, an MSN client - maybe even a Yahoo client (as long as they all maintain Store-And-Forward IM messages).

Sure, analysts tell us that an Exchange client is essential but that’s for Microsoft to produce and we have to ask them why they wouldn’t create Outlook for iPhone and why everyone expects Apple to create it? Same reason they don’t produce Outlook for Macintosh - because the Mac would continue to replace Windows in business but at a frighteningly quicker rate. I’ve said before there is no option out there for Groupware which realistically compares to Exchange. SAP is creating a client for their corporate applications and not expecting Apple to build it. So, come on Microsoft, where’s the client for iPhone?

(Why does Microsoft get that benefit of the doubt? Cisco creates clients for their servers/routers. SAP does for their applications. Apple does for their servers. Why does Microsoft get away with this crap?)

What application would you like to see on your iPhone?

Everyone is 12 years old on the Internet

Wednesday, December 5th, 2007

Today, we were looking up domain names for a new venture which would provide content to mobile devices which would be aimed at those with touch screens. We played about with touch* and then the meme moved to iterations of finger*

[13:33:01] (aidan) Sounds a bit rude.
[13:33:17] (mj) Because you’re 12 years old.
[13:33:38] (aidan) As are most comic readers.
[13:33:50] (mj) Everyone is 12 years old on the internet
[13:34:09] (mj) which is why Aqua’s buttons were said to PULSE and not THROB
[13:35:30] (aidan) -)

From nothing to something: iterative app development

Tuesday, December 4th, 2007

1. Prove it works

write the simplest code possible to show one thing working end-to-end

This can be as horrible and hackish as needed. I regularly hardcode things like URLs, integers, strings, file names/paths: whatever is needed just to show that the idea works. E.g. for Rickshaw, I started off by always sending a file called rickshaw.png, which just got removed and replaced by a URL - the URL in the e-mail was hardcoded to be a reference to http://localhost/~aidan/rickshaw.png, and I happened to have the file in that directory. The whole workflow appeared to work, even though none of the upload magic was there. I proved out two concepts though:

  • that attachments could be manipulated after sending
  • that the resulting e-mail still made sense

2. Add to it

write the next most important bit simply, then test it all

This can be harder than you think. Not the writing, but choosing what bit is the next most important. For me, I wanted to have that file be written dynamically. The important thing is to keep it small - do it, test it and be happy with it. Some things lend themselves to automated testing: some don’t. I’m a fan of test-driven development, but I don’t get hung up on ensuring coverage - look at Microsoft Windows Vista: excellent automated test coverage, crappy user experience. Test manually where it makes sense, and automatically where needed.

3. Repeat step 2

You go from your tasks being “remove hardcoded URL and replace with URL generation code” to “Add application icon” and “Build website to sell app”. One step at a time, doing the most important thing at any given time.

Rickshaw had no user interface for quite some time - it was just a plug-in that was copied from the command line. Eventually that was good enough that a UI for configuring it was the most important thing. Then a button that tested the configuration before using it. Then some code to install the plug-in. License keys. Usability enhancements. And so on.

None of this is new or original - it’s all common sense, especially if you’ve worked in an agile development team before. The great thing about working this way is you see results early on. I had a working prototype of Rickshaw which did “uploads” to localhost (using NSData writeToFile:atomically) within a week, and real uploads within three weeks. The downside is that you feel very close to finishing at an early stage.

If you consider the entirety of what’s needed to build an app as being 100% of the effort, I’d lay out the effort required for different parts as something like this:

  • Hack to prove concept: 5%
  • Prototype to prove hack: 15%
  • Making prototype robust: 30%
  • Getting it ready for users: 50%

Open source projects are one of the first three stages (corresponding roughly to ‘alpha’, ‘beta’ and ’stable’ projects). The last stage takes just as long as the first three, and it’s the reason why commercial Mac apps (in particular) are better than open source apps for Linux - as much time has been spent getting the application to work well for users as has been spent getting the application to work for the developers.

If you’re developing an app for any platform, ensuring you spend the time in that last stage is what will make your work stand out.

Progress update

Tuesday, December 4th, 2007

I’ve been quiet for a while on the blog, so I thought I’d post a quick update on what I’ve been doing.

Work on Rickshaw has been progressing very well. It’s approaching the Release Candidate stage now, where we go through and deliberately try to break it, try installing it in strange set ups and so forth, in order to make sure it is as robust as possible. I’ve found bugs in Connection Kit which have held me back, and I’ve contributed a couple of patches to it (I’m working on a third, to ensure that .Mac uploads work correctly).

We’re working with Jordan Langille from One Toad Design for Rickshaw’s icon design, and looking at a long-term partnership with Jordan for other projects.

Rickshaw is working fine - I even use it to distribute copies of the latest version to the rest of the Infurious team - and I’m happy with the quality of the main engine. All the rest of the work has been putting the wrappings around that engine. In fact, that puts me in mind for another blog post …