Newspapers Are Killing Themselves

June 8th, 2010

Yesterday saw the removal of all of my iNewz apps from the Apple app store. Not something I really wanted to do, but something that was forced on me by the very people who stood to benefit the most from the apps: the news organizations who publish the news.

Yesterday was also the day that another RSS based news app, Pulse, was removed from the store despite being praised & shown on stage at WWDC by Steve Jobs. Why? Because the New York Times complained that the app contained the URL for their RSS feed. Quoting from the letter Apple received from the Times:

I note that the app is delivered with the NYTimes.com RSS feed preloaded, which is prominently featured in the screen shots used to sell the app on iTunes.

The same argument was made by Apple to me for the recent rejection of an update to iNewz (and a few more news feeds were cited as problematic too).

Read the rest of this entry »

App Store Roulette

May 19th, 2010


This week I have been presented with something of a dilemma regarding what to do with my iNewz applications for the iPhone, iPod touch and most recently the iPad. As is often the case with apps for these platforms, the cause of the problem is nothing technical; it began with Apple’s review process, or more specifically the inconsistent way in which it is applied.

The Rejection
Like most app developers, I’ve had rejection emails from Apple before (actually called “feedback”), and they have normally been for things that are simple to address, even if not always things I agree with the need for.

This one was different though. Here’s the key paragraph of the email:

Read the rest of this entry »

Twitter xAuth – The Missing Docs

May 1st, 2010

The recent decision by Twitter to turn off support for Basic Auth soon means a lot of Twitter apps are now racing to implement either full OAuth support, or the cut down xAuth designed for non-web apps. The iNewz apps fall into this last category, and an initial look at the work involved made it seem as though switching from basic auth to xAuth would be pretty straightforward. Sadly, and mostly because of poor documentation and what I consider bugs in the Twitter API implementation of OAuth, this took far longer than it should have done. Hopefully this blog post will help others looking to make this switch by providing a more complete, step-by-step description of the xAuth process. It may also help those trying to make full OAuth work, but I haven’t tried that yet.

Read the rest of this entry »

Tax Season

March 28th, 2010

US Tax Form 1040It’s that time of year again, when almost 140 million people in the US have to waste many hours of their personal time collecting information from forms sent to them by employers, banks etc, then enter it all into another set of forms to be sent to the federal and state tax services. Oh, and all that information has already been sent to those very same authorities. Just so they can check your answers? Is this some kind of annual test?

Wasted Time
The IRS estimates that on average across all people filing any type of federal return, individuals will spend 17.3 hours “preparing” these forms. The IRS reported (pdf) that in 2007 there were almost 139 million individual tax returns filed. So, a quick calculation suggests that every year in the US, 274,509 person-years are wasted on collating and transcribing information that the recipient (the IRS) already had. And that doesn’t include the burden from the state tax filings.

Wasted Money
In addition to the ridiculous amount of time wasted on this activity, the IRS also estimates that it will cost individuals on average $225 to prepare these returns; that’s $31 billion every year (and, again, doesn’t take into account state tax filing costs). That could be spent on things that were a lot more beneficial than collating and transcribing information from one set of forms to another.

Wasted Resources
It doesn’t end with wasted time and money either. Every year, employers, banks and other companies mail out those tax details to all their employees/customers. Some now offer electronic delivery at least, but I wonder how many of those end up being printed at home, either for reference while preparing taxes, for providing to an accountant or just for records?

Estimates online range from 9,000 to 15,000 sheets of paper per tree (obviously, the type & size of the tree plays a big part in this!). Let’s assume the 15,000 sheets per tree number for the sake of this post. That means, assuming each person filing a return received at least 5 of these forms (probably lower than reality based on my experience), 46,000 trees were destroyed to print these forms (and that doesn’t include the envelopes used to mail them – probably close to as much again).

Then there are the tax forms themselves. The IRS reported (in that same data book PDF) that about 79 million of the 139 million returns were filed electronically (a great achievement, by the way). That still leaves 60 million that were mailed in, on paper, though. My federal return from last year was 13 pages. For the sake of round numbers though, let’s say that the average person mailing in a return is 10 pages. That means another 70,000 trees were cut down to send the information to the IRS a second time.

Every year, that means over 100,000 trees are being destroyed every year just to pass this information around multiple times. And that doesn’t include the rest of the carbon footprint of this process (converting trees to paper, the resources used in printing, and the delivery of the forms).

A Better Idea
I don’t expect the US to do the smartest thing and switch to a taxed at source model, where companies who pay people are responsible for deducting the correct amount of tax before sending out the money, any time soon. I just don’t believe it is in the American psyche. Especially not when I hear so many people who are ecstatic to receive a refund from the IRS! They don’t seem to realise that all those refunds mean is that they gave the IRS an interest free loan for the year.

There is another solution though that would make much more sense than the current scheme: just bill me!

Yes, that’s right, the IRS (and the state tax authorities too) have all the information that they need to be able to calculate how much tax I owe, or how much they owe me. They have the resources to process that data, and it is all keyed off of a single identifier. So, why can’t they just send me a statement, and either a bill for what I owe or my refund? That would reduce the time most people spend on taxes to just minutes (the time required to scan the statement, and pay the bill).

The paper waste is also reduced dramatically. Let’s assume an average of 2 pages, printed double sided, per person billed, and 139 million bills mailed out. That’s under 10,000 trees now. Add electronic statements as an option, and no-fee bill pay options, and you also reduce the paper wasted by the process even further – assuming the same proportion of people who e-file their taxes, it would drop to below 5,000 trees per year – a reduction of over 95%.

Tax Reform
How about it President Obama? Democrats? If you want to make a meaningful difference to the tax system in the US, how about reforming the collection mechanism rather than individual taxes? It makes sense from a fiscal perspective; it makes sense from an enforcement perspective (less avoidance); and it makes sense from an environmental perspective. What’s not to like here?

Multitasking & Battery Life

January 28th, 2010

One thing that has annoyed me for the longest time now is this myth that multitasking somehow reduces battery life. The iPhone multitasks today, it just doesn’t allow multiple third party apps to run concurrently.

I’ve written a lot of software, both application and system level (right down to the lowest levels of an RTOS), and believe me, if it is written properly a background app does little or no harm to battery life.

Many of the applications that people would like to see running in the background would spend almost all of that time waiting for a system event. That waiting state doesn’t harm your battery life; only when the application is actually processing something does it really consume power. The push mechanism on the iPhone today might actually be worse since it has to load the app each time, a far more expensive operation (in CPU, and therefore battery) than just switching to one that is already “running.”

Consider the IM app example that is so often used to support the claim that background apps kill battery life. Sure, if you run the IM app (background or foreground) and stream messages at it continually, then it will reduce the battery life. If you just have it sitting there in case somebody tries to start a session though it isn’t doing anything most of the time (occasional presence messages perhaps). I ran an IM app all the time on my Nokia N95, connected over AT&T’s network 24/7. My battery life was unaffected, as expected.

Another example of a well behaved background app is the daemon that we wrote for the jailbroken version of Devicescape’s app (before the SDK and app store existed). It made no difference to battery life because it spent almost all the time blocked waiting for a system event. One that only happened when a new Wi-Fi connection was made. We run in the background on Nokia, Windows Mobile and Android (not to mention Windows XP/Vista/7 and Mac OS X) today without impacting battery life.

So what will affect battery life? Well, an app that continues to do something in the background, rather than waiting for an event, one that polls for an event rather than blocking until the OS tells it about the event, or one that requires a power-hungry piece of the hardware to be on all the time (e.g. GPS). But even those apps have their place. Imagine a background image uploader: it will do something in the background while it is needed, and then exit or wait for a new photo to be taken. Or an app that checks your location every 5 minutes. It is my choice to use the battery that way, so why restrict it? Just make sure it is reasonable for the application, explained to the user, and under my control (can be checked as part of the review process).

These types of apps don’t take any more power than they would if I left them running in the foreground, but letting me push them to the background allows me to choose if I want to watch them work, or read my email etc.

Above all, please stop spreading this myth that multitasking or background processes will harm battery life. Only badly written apps would do that.

Nokia Should Switch to Mac OS X

October 16th, 2009

A little different from my recent posts, but this is something I’ve been thinking about for a few weeks now believe it or not. Nokia should switch to Mac OS X.

OK, I don’t mean they should switch their phones over to running Mac OS X, nor for that matter even their new netbooks. I mean they should switch their application development environment from Windows to Mac OS X.

Why?

Aside from it simply being a much, much better platform to use for development in general, it is also the platform that a large number of mobile application developers already use. Over 125,000 registered mobile app developers out there today are using the Mac platform to write apps for the iPhone platform. The majority of those developers are not going to think of switching to a Windows box to develop on. If Nokia wants to court some of them into developing for its smartphones too, it needs to have a development environment that runs under Mac OS X.

XCode or Eclipse

It doesn’t matter as much as the platform choice, but plugging into XCode as well would certainly make the process more familiar to iPhone developers.

What really matters though is that the tools are simple to install, run smoothly and allow for rapid development (including simple, fully operational device debugging).

Nokia’s tools people need to spend a few days working with the iPhone SDK and getting a feel for how smooth the development process is. (OK, I know the certificate stuff isn’t great, but it is still integrated into the build process, and the newer releases of XCode have made it a little easier to deal with.) Then make sure the Nokia platform is as simple to use, no matter what tools it is based on. This is about a complete system.

S60 or Maemo

While we’re talking about cleaning things up, S60 has gone beyond its useful life. I used an N95 for two years from when they first came out, and believe me that was already stretching S60 beyond breaking point. The newer phones are being seriously let down by S60.

If Nokia could just accept that Symbian is dead, and move their vast momentum behind Maemo, a platform they’ve been developing and proving in the field for several years now, but still don’t have the courage to stand behind 100%, they’d actually have a platform that could compete with Android for sure, and perhaps even Apple.

There are some simple rules for success here though (and something that Android is already failing on):

  • Own your platform. Define it, and keep it consistent. You can mix up the peripherals a little, but keep the screen size the same, and make sure the OS abstracts the interface to things like keyboards so no matter what the hardware supports, the apps don’t need to change.
  • Simple, clean UI. Given where we are now, it is going to be a touch screen interface, so design it as such. Don’t worry about the existing S60 apps – they’re history. Make it clean and simple for all the exciting new apps.
  • Powerful APIs.Let me use things like the network, the location services and the maps without having to jump through hoops, several times, with my hands tied behind my back.
  • Single API.While the APIs need to let me access the full power of the device (and this is the iPhone’s achilles heal), there should also be just one API for each function. KISS matters.

A clean, standard, C++ API based on the Trolltech technologies, and a solid, secure OS like Linux would make a very solid platform.

What About the S60 Apps?

What about them? The folks developing apps for the S60 are going to move on. They’ve probably already moved on – to iPhone or Android. The rest will happily follow.

This idea that you can’t disturb the value chain is nonsense. Even the name implies that: it is a chain, attached to a leader. Where the leader goes, the chain follows. It is how they make money. And realistically what are the alternatives? They’re going to have to change platform regardless, why change more than you need to.

Stimulus

Perhaps this quarter’s massive losses at Nokia will be enough to shock them into activity. The saddest part of all of this is that they have been sitting on the answer to many of the issues with their smartphone platform since before the iPhone and Android were even players in the space. Ironically, they’re also the one company that should feel completely comfortable backing a Linux solution: it is, after all, a Finnish OS.

If, even after all these years with Maemo, FOSS issue is a problem though, how about using NetBSD or licensing a true microkernel like QNX Neutrino? Trolltech’s UI would run on both of those very easily (one of my last demo projects at Wind River was to port the open source version of Trolltech’s code to run under VxWorks AE – it was a simple port, and ran very well).

Too Rough

October 13th, 2009

Too RoughAs you can see from the photo, the weather out on the bay tonight was far too rough for the ferry service to be running. With rough seas like that, what captain would want to risk taking their high tech catamaran ferry out of the safety of its dock.

Seriously, tonight’s ferry services from San Francisco to Alameda/Oakland was canceled. The service website said this:

Due to extreme weather conditions, ferry service is canceled for the remainder of today.

Does it look that bad? And remember that they ran the boats quite happily through the worst of the weather this morning.

Bus Bridge

As a replacement for the commute ferries, a bus service was operating, but the bus carried around half the normal load of the evening ferries, and was timed to depart from the ferry building 10-15 minutes before the normal ferry departure time. If I was being cynical, I’d say that was by design to encourage people to use alternatives and lighten the load on the buses!

How Long Before They Work It Out?

September 8th, 2009

I’m sorry, but I guess Pipex support staff cannot count. It is the only explanation I can see for their repeated insistence that I provide information that is already present in the support thread.

Over the weekend I pointed out that the threads do indeed contain a full name, date of birth and an email address – three of the things on the list they keep sending me. But still all they can do is ask for the information again, and again, and again. Even more ironic is that none of this is needed for a simple report of a broken link on their web site. Here’s the latest, from yet another support person:

Dear Mr. Gordon,

Thank you for your email, the contents of which have been noted.

Please accept our sincere apologies for any inconvenience which may have been caused as a result of the issue which you are experiencing.

I must reiterate as my colleagues have previously informed you that in order to address your
query you must send three of the pieces of information for data protection. We need to receive this information in each email thread to ensure the validity of the customer, and adhere to Data Protection Laws. Once we receive this information we will be happy to assist you. The information we require is as follows:

Your Customer account number

Your full name

Your date of birth

Your address including postal code

Your contact telephone number or email address

Finally if you wish to contact our customer care number when abroad the number is 020 3302 8404.

I realise this may not be a satisfactory response at this time, but I am confident that this matter will be resolved soon. Pipex does take these issues seriously, and it is always our intention to bring the concerns of our customers to a satisfactory conclusion.

We thank you for your patience and assistance in this matter.

Kind regards,
Emer O Grady

Pipex Customer Relations

Our Customer Care Department is available on 0871 663 3300. Calls are charged at 5p/min from a Pipex line or at 10p/min from a BT line. Calls from mobiles and other providers may vary. Lines are open 8am-9pm Monday-Friday, 8am-5pm on Saturdays and 9am-6pm on Sundays.

I haven’t even published the thread about the broken customer survey, but that too is getting the same questions, time and time again, no matter how often I point out that they have the three items they’re asking for already.

Pipex Customer Relations

September 7th, 2009

While researching how to contact Pipex by telephone from here in the US, I came across a very familiar tale in two parts: Dean Marshall, over at Dean Marshall Consultancy in the UK, describes the problems he had dealing with Pipex at the end of last year:

Wow! Same experience of finding that you’re suddenly on a contract term. Same problem of not being able to get any management response, nor for that matter even getting a response from the same person who last responded, in email or otherwise. And worse, repeated overbilling and failure to keep promises to refund money taken in error.

I concur with Dean that these procedures were not set up to ensure smooth operations. They were set up to make it as difficult as possible for a customer to get any form of resolution, and especially to cancel the service. Additionally, I believe that they purposely extend phone calls to collect additional fees from their premium numbers and that they collect unnecessary personal information for every request, presumably with the intent of selling it (as their so-called “privacy policy” allows).

Pipex customers who are stuck with them might be interested to know about a site called Say No to 0870 where you can search for alternative numbers to the premium rate ones Pipex publishes. Here’s the numbers I found (untried as yet, but I will update if I ever need to use them):

Customer services (0871 222 5550): 020 3302 8401 / 020 33028402 / 0161 4515100
Customer services (0871 663 3300): 020 3302 8403 / 020 33028404 / 020 33028454

Check out the rest by simply searching for Pipex at the Say No to 0870 site.

Pipex Needs Three Items

September 7th, 2009

Last week, while reviewing all the ridiculous responses that Pipex has sent me in response to me trying to help them by reporting a broken link / page not found / 404 error on their web site, I noticed that the thread where they kept asking for three items of personal information, actually had three of the items already on it:

  • Full name – completed when I submitted the information through their web form;
  • Date of birth – also added via the web form since it cannot be submitted without it;
  • Email address – they keep sending me email responses, and accepting my replies via email.

So, I sent them a note on the thread asking why three of the items they asked for were not enough. Here’s the reply:

Dear Mr. Gordon,

Thank you for your email dated the 4th September 2009, the contents of which have been noted.

Please be advised that the information requested for security purposes must be contained in the thread of this email. We cannot accept information contained in a totally separate email. Please forward the information requested, so that we can address this matter.

Please do not hesitate to contact us if you require any further assistance.

Kind regards,

Suzanne Kelly
Pipex Customer Relations

Our Customer Care Department is available on 0871 663 3300. Calls are charged at 5p/min from a Pipex line or at 10p/min from a BT line. Calls from mobiles and other providers may vary. Lines are open 8am-9pm Monday to Friday, 8am-5pm on Saturdays and 9am-6pm on Sundays.

So, in addition to still being ridiculous enough to keep asking for information that is irrelevant to the topic of the post (my identity still does not change the fact that the link in their FAQ is broken), it appears that they cannot count?