Archive

Archive for the ‘Technology’ Category

Favourite iPhone App #1: WordPress

August 1st, 2009 Comments off

This is the first of what will be a daily(ish) set of updates on useful and/or fun iPhone apps that I use on a regular basis. Hope you find them interesting.

The first app I’m going to recommend is the one I’m writing this post with: the official WordPress app. It has a simple, clear UI that provides basic options for writing a new blog entry (including offline drafts) and managing your blog (including page and comment management. And it’s free.

Categories: Technology Tags: , , ,

Why the iPhone is better (and worse) than BlackBerry

July 17th, 2009 1 comment

Last post I said that I wasn't a telecommunications engineer.  True enough, but I know a man who is!  My brother-in-law Dan Lipsit provided some insight in the the root cause of my troubles…


He suspects that my Blackberry worked simply because of its lack of maturity…

It “stupidly” (but as instructed) waits the pause delay time and then sends the DTMF. Unfortunately the iPhone, and many more wireless phones, do not start the delay timer until AFTER the connection is made because they’re “smart”. This is actually an improvement because the time from dial to connect can vary greatly. As an example a delay time that is fine for, say, AT&T here in South Florida might be completely useless when roaming because it starts the DTMF string too soon (e.g. the connect takes 7 sec. while roaming instead of the 2 sec. at home).

 

Therefore, since the Sprint network is BROKE [Dan's emphasis] (they don't send the "connect" message) the iPhone is patiently waiting while the "dumb" RIM just sends the DTMF hoping it was timed right (which it was).


On most phones one could program "wait" in the number string ("w" instead of ",") and the handset waited for the user to send the DTMF string by pressing a button on the phone (or, if I remember correctly, could be triggered by a tone from the dialed number – sprint does this on their 800-877-8000 number). Unfortunately there is nowhere in the iPhone UI to do this.

 

SO…the conclusion is

1) the RIM device worked because it was behind the times

2) Sprint is too dumb to send the "connect" message back to wireless phones

3) the iPhone is too smart for it's own good and not good at waiting (like a teenager)

 

There goes Steve Jobs telling all of us what we need and when we need it again

Thanks Dan.  As an engineer myself, sometimes knowing why something doesn't work is almost as good as the thing actually working.  But not quite.

Posted via email from nickjhowe’s posterous

Categories: Technology Tags: , , ,

#Sprint International Calling Cards don’t work with AT&T #iPhones

July 14th, 2009 6 comments

Sprint-ATT-SadA short story of how troubleshooting a problem with my iPhone led to a discovery of small print in the Sprint calling card terms and conditions and a realization that sometimes BlackBerry really is better than iPhone. (But there’s no way I’ll go back to the BlackBerry. Overall the iPhone is sooooo much better).

The bottom line

Do not waste your time programming your iPhone to dial using your Sprint FONCARD Calling Card. It won’t work.

For the technical among you: The Sprint Corporate Access numbers for calling cards (800) 877 8000 and (800) 366 2255 interact with the iPhone and the AT&T network in such a way that the iPhone does not recognize call connect and will not send additional DTMF tones until it is too late. So don’t even try to program your iPhone to dial all those calling card numbers; manually keying them during the call is the only way to make it work. [Jump to here to see the cause of the problem]

The background

Here is the long version (not exactly technically correct, but close enough. I’m not a telecommunications engineer)

At Hitachi Data Systems we’ve been long term customers of Sprint for their international corporate calling cards. If we are in the US and want to dial internationally, or are travelling abroad and want to call back to the US (or another country) we can use the Sprint cards to reduce the cost.

To dial internationally we call one of the local access numbers, enter the international number we want to dial, enter our calling card number and the call is routed through the Sprint network at a preferential rate. This approach makes use of a feature called DTMF (Dual-tone Multi-frequency), which has been around since the 1960’s. The computer at Sprint recognizes the additional digits as extra instructions (in this case the international number and the calling card number). The same approach is used with the automated response systems at call centers that we all hate.

The benefit is that calls are cheaper. The ‘cost’ is that we end up dialing a lot of numbers. The access number is ten digits. The calling card number is 14 digits. International numbers are approximately 14 digits. So we are looking at 38 digits. This ‘cost’ is made worse by the need to remember all the numbers when dialing. Not too bad (though a pain) when at home because you can write all the numbers of a piece of paper or read them from the PC as you dial them. When travelling it becomes more problematic, and trying to dial 38 digits in a car (where legal!) is almost impossible.

Wouldn’t it be great therefore, if you could just program you phone with all the digits and have it take care of everything for you? Absolutely. And there is a way to do it. You can just append the DTMF digits you want to dial to the end of the regular phone number and you are good to go. You can save the numbers in your contacts so you can even use iPhone voice dialing. The only thing you need to do is to program the phone so that it knows where the phone number ends and the DTMF tones start. When dialing manually we can just listen for the phone to be connected, then start dialing the extra digits. Unfortunately when you program the phone to do all this work for you generally there is no way for the phone to just wait until the correct time and then start sending the extra digits.

The workaround is the build a ‘pause’ into the dialing string to tell the phone to wait an appropriate length of time and then send the extra tone. So, in Sprint’s case the sequence is:

1. Dial the access number

2. When connected wait a couple of seconds

3. Dial the international number

4. Wait 4 seconds

5. Dial the calling card number

6. All done. The target number should start to ring.

The pauses are entered using a comma in the dial string. Usually a comma is equivalent to a two second pause. For example “8003662255,01442071231234,,12345678901234” would dial the access number (8003662255) wait two seconds (,) dial the international number (01442071231234) wait four seconds (,,) and finally dial the calling card number (12345678901234).

For several years as an owner of multiple BlackBerries I’d been using this approach. It worked great. Three weeks ago I made the switch from BlackBerry 8800 to a sparkly new iPhone 3GS. I already had the dialing strings attached to my Outlook contacts, so all I had to do was sync the contacts to the phone and I could carry on as before.

The problem

None of the Sprint calling card numbers worked on the iPhone, or rather the iPhone dialed the access number fine but never sent any other numbers. The wait (item 2 above) went on forever. I tried both access numbers without joy. When I dialed everything manually it worked fine, but the programmed number failed every time. I assumed (possibly incorrectly as it turned out) that the iPhone had a bug that was stopping it sending tones.

Troubleshooting

An hour on the phone with initially Apple, then AT&T and finally Sprint found the cause, but unfortunately not the solution. (Big shout out to Craig at Apple support for helping with this case (#130137089). He was a trooper and really did a fantastic job of helping me troubleshoot the problem).

The sequence was:

1. Talk to Apple first line support.

2. Nice guy, but he had no idea what I was talking about. “You can put a pause in a phone number? Never heard of it”

3. He passed me on to a product specialist (Craig)

4. Craig was initially a bit confused by my problem, but started doing some digging.

5. After about 45 minutes we figured out that if we dialed a different number (instead of the Sprint Access Numbers) both mine and his iPhones would send the tones automatically. If we dialed the Sprint numbers neither phone would send the tones.

6. Craig went off to contact AT&T network support to see if there was something strange about the Sprint phone numbers.

7. While I was on hold I did some further troubleshooting and discovered the problem (see below)

8. Eventually Craig came back on the line and said that no, there was nothing AT&T could see was wrong with the Sprint numbers, but since it was a calling card “there might be something strange”

The cause is found

What did I discover? That when the Sprint call ‘connected’ (i.e., I could hear the automated voice asking me to enter the phone number I wanted to access), the iPhone did not know the call was connected. When a call is connected on an iPhone (or any one) you can usually see a timer start to show you call duration. On the iPhone the timer did not start.

I let the Sprint automated voice drone on, complaining that I wasn’t entering any numbers. Eventually (about 30 seconds) the automated voice gave up, told me an error number and sounded like it was ending the call.

At this point the iPhone started the timer. It finally thought the call was connected and – low and behold – started sending the tones. Unfortunately this was 30 seconds too late and the Sprint system had given up listening for the tones.

It seems that handsets react in different ways to calling card access numbers such as the ones I’m trying to call. Some connect immediately and work correctly. Some, like the iPhone, don’t recognize that the call is connected until all the additional numbers have been manually dialed and the target international phone number starts ringing.

Can Apple fix it?

At this point, I thanked Craig for his help. There was nothing more that he can do, and there is no acknowledgement that this is an iPhone issue per se. There is so much flexibility in telecommunications standards to it seems like a miracle to me that phones ever talk to each other. My brother-in-law Dan Lipsit and his cousin Jimmy have built a nice business testing handset and accessory compatibility due to problems in those standards.

Maybe it is an iPhone problem and Apple will fix things in the 3.1 software update that is due out sometime soon. Who knows.

And so to Sprint

The real kicker came from Sprint. ‘Kendra’ at Sprint customer service (a charming lady who belongs to the ‘sorry, but no’ line of customer service agents) listened patiently to my description of the problem and without a pause dropped this gem from the Sprint Corporate Calling Card terms and conditions: “we do not guarantee that calling cards will work with mobile phones”. That’s it. Then end. C’est la vie. If you are on a cell phone then Sprint doesn’t want to know. The calling card might work, it might not. But don’t try to ask them for help ‘cause they ain’t gonna give it.  The conspiracy theorists among you could say this is Sprint getting back at AT&T.  All I know is that I’m going to be dialing a lot more digits from now on.

Posted via email from nickjhowe’s posterous

Google Wave – The future of collaboration? (reposted from June 1)

June 29th, 2009 Comments off

Google Wave – The future of collaboration?

Earlier this month, Google announced Google Wave, a new model for communication and collaboration on the web, coming later this year.  I believe it has the potential to revolutionize the way people interact and learn, so in case you are in the handful of people who missed it here are some links to the launch and a few thoughts on its impact.

Google Wave is startling in its simplicity, yet astounding in its capability.  At its simplest it is ‘email on steroids’.: it adds IM to email to allow real time chat on an otherwise back and forth email exchange, plus document sharing and collaboration (blogs, wikis, commenting).  The interface even looks pretty familiar.  What is so astounding?

The 90 minute video demonstrating the application had so many ‘ah ha’ moments for me it was crazy.  Google Wave was invented by the guys who invented Google Maps, so it has a good pedigree. They’ve spent the last two years completely rethinking collaboration.  The standout features for me are:

·

authoring – two people (or six or 20) can edit the same document simultaneously. No more passing documents back and fro, checking in, checking out.  You all open the document at the same time and type as if you were the only one editing.  Your typing and everyone else’s shows up in real time in the document.  Cut, paste, add, delete all in real time.  When Google Wave is released this functionality will extend to spreadsheets, presentations, etc.

The names of the participants are shown on screen as people type.  You can literally edit a sentence as they are typing it.

· Live Publication – so you publish your document to a blog, or a web site; it is still live.  You edit the Wave, the document is instantly updated – and vice versa.
No need to leave Google Wave to make the changes.  You are where you work and you work where you are.

This could fundamentally transform the way we develop content and manuals at HDS.  Talk about fast capture of intellectual property in the services organization: an engineer updates the install document, and it is available instantly, everywhere.  Did I mention that there is already support for Google Wave on PDAs including iPhone?

· Playback – The technology under the covers that enables simultaneous authoring enables entire message strings, conversations or document creation/editing sessions to be played back under full user control.  Want to know how a document evolved, or what was added before or after what?  Want to see what the document was like yesterday? Or last week?  Just move the slider.

· Open Source and Extensible – (almost) the entire code base is going to be open sourced and there is a robust API making Google Wave full extensible by anyone.  The

· Contextual spell check – Google Wave functionality can be extended through ‘robots’: code that can participate in a conversation.  One of the robots demonstrated is called ‘spelly’.  Unsurprisingly it is a spell checker, but unlike normal spell checkers it uses the full context of the indexed web to make intelligent decisions.  The example shown in the video is the phrase ‘Icland is an icland’ is automatically corrected to ‘Iceland is an island’.

· Real-time translation – by harnessing the power of Google Translate, Google Wave has the ability to translate chat in real time showing the translated and un-translated text next to each other.  This includes full support for right-to-left languages and IME languages like Chinese.  Clearly it isn’t going to be perfect, but looks damned impressive.

· Federation – “but I don’t want all my documents stored on a Google server,” you say.  The Google Wave code base is being released as open source so companies can set up their own Google Wave server.  If all the participants in a Wave are on the same server, the Wave will never leave the server.  But – like email – there is no restriction on who you can add to the Wave, so document sharing outside the firewall is trivial.

There is a whole lot more in the video; I’m still trying to get my head around the improvements to our work processes that could be enabled by a technology like this.  Courseware development, technical publications documentation, GSS IP capture, software development, collaborative trouble shooting, OTJ training, post-course follow up and assignments – the list of impacted processes is huge.

The downsides?  This is still an early beta product and some fundamental questions still remain unanswered – such as off line working (Google Gears updated with a telepathy interface?)  Some people will say that you can get much of this in social platforms today – email, IM, blogs, wikis.  That may be true, but Google has instantly eliminated the artificial distinction between those things, made them behave the way that humans naturally interact and redefined the future.

You can watch the developer preview video here

Mashable is adding more info daily as they test it. The first couple of articles are here and here.

Now if only we had Google Wave you’d be able to have a real time conversation and edit this message, right here, right now.  Guess we’ll have to waitOr leave a comment on my blog.

Posted via email from nickjhowe’s posterous