Archive for April, 2009

VoiceCentral Demo Video

Tuesday, April 28th, 2009

Brian has posted a demo of VoiceCentral on YouTube.  If you have a GrandCentral or Google Voice account and an iPhone, check out the video below to see how much easier your life could be.

VoiceCentral Available in the App Store!

Tuesday, April 28th, 2009

After a few rounds with Apple, VoiceCentral has been accepted into the iPhone App Store.

With VoiceCentral you can:

  • Log into either GrandCentral or Google Voice.
  • View a list of messages and listen to only the ones you want.
  • Toggle between the ear piece for privacy and the speaker phone for convenience.
  • Easily pause, rewind, or fast forward to any point in a message as it plays.
  • Delete messages when using GrandCentral (not available for Google Voice).
  • Create a new contact using the name and phone number on the message.
  • Securely store your password on the iPhone’s keychain for auto-login.
  • Scroll through your inbound, outbound, and missed call history as well as SMS conversations.
  • Send SMS messages via your Google Voice account by entering the phone number manually or selecting one from your contacts.
  • Tell VoiceCentral which feature you use most and it will start on that screen every time.

Available on the iPhone Apps Store

Gmail Email Relay using Postfix on Mac OS X 10.5 Leopard

Thursday, April 23rd, 2009

I use Postfix to relay system messages (e.g. a botched cronjob) over SSL to my Gmail account. These messages are otherwise “lost” because the email is being sent to a dormant mail transfer agent on my Mac. There’s way more that you can do with Postfix, but I’ll just cover the setup I did for my needs.

1. Create the Simple Authentication and Security Layer (SASL) password file.

sudo vi /etc/postfix/sasl_passwd

Enter and save the following

smtp.gmail.com:587 your.name@gmail.com:your.password

2. Create a Postfix lookup table for SASL.

sudo postmap /etc/postfix/sasl_passwd

3. Configure Postfix with

sudo vi /etc/postfix/main.cf

By default, everything is commented out. You can just append this to the end of file and save:

# Minimum Postfix-specific configurations.
mydomain_fallback = localhost
mail_owner = _postfix
setgid_group = _postdrop
relayhost=smtp.gmail.com:587

# Enable SASL authentication in the Postfix SMTP client.
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=

# Enable Transport Layer Security (TLS), i.e. SSL.
smtp_use_tls=yes
smtp_tls_security_level=encrypt
tls_random_source=dev:/dev/urandom

5. Start postfix with

sudo postfix start

If you get an error, address the parameter in main.cf that is in the error and use

sudo postfix reload

to refesh Postfix. If everything looks good, then send an email

date | mail -s test your.name@gmail.com

If you don’t get an email fairly quickly, enter

mailq

and you should see the email there along with a description of any problems. If the mail is not in the queue, you most likely got something wrong in main.cf so you’ll need to do some debugging. If your mail queue starts to fill up during this process, you can clear it with

sudo postsuper -d ALL

6. Once you have everything working, you can set Postfix to start on boot by adding a key to /System/Library/ LaunchDaemons/org.postfix.master.plist. If you have Property List Editor (or something similar), you can add the key RunAtLoad of type Boolean with a value that is checked.

Alternatively,

sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist

and add the following just before the tag </dict>

<key>RunAtLoad</key>
<true/>

You can control whether your job is to be kept continuously running by using KeepAlive .

Life in the Remote Lane: Let me tell you about my Generator.

Monday, April 20th, 2009

I love my Generator.

When I moved up here to the rural woods of New Hampshire, my biggest concern was electricity. Closer to Canada than Boston, it’s pretty rural, and the wind and ice and snow take the power lines down, more frequently than in a more urban area.

I planned my new house with a GenTran switch (It’s basically plug near the circuit breaker, that allows you use an alternate power source/generator), tried to calculate the house requirements. These switches are wired into the circuit breaker, and typically cover the essential power needs — well pump, boiler, refrigerator, and maybe a bedroom.

Prior Planning Prevents Poor Performance.

We had rented a similar house, and guestimated we were using about 1000 KWh a month. So i figured that was 33 KWh a day or 1.4KWh an hour. I recognized the math trap here, realizing that it’s not equally distributed over the day. So I used 33/8h or 4.1KWh/hour. Connected to 6 circuits — well pump, boiler, refrigerator, 2 bedrooms and my Office — I figured I was well within the 5 KW of my Honda EB5000 gas generator.
Read the complete article…

VoiceCentral Re-Submitted to the App Store

Thursday, April 16th, 2009

With no real guidance from Apple, Chris worked feverishly to try and intuit what the issue was in the first place.

While he was in the code changing the UI, he added SMS functionality and Call History screens.

As before, with VoiceCentral you’ll be able to:

  • Log into either GrandCentral or Google Voice.
  • View a list of messages and listen to only the ones you want.
  • Toggle between the earpiece for privacy and the
    speakerphone for convenience.
  • Easily pause, rewind, or fast forward to any point in a message as it plays.
  • Delete messages when using GrandCentral (not available for Google Voice).
  • Create a new contact using the name and phone number on the message.
  • Securely store your password on the iPhone’s keychain for auto-login.
  • Scroll through your inbound, outbound, and missed call history as well as SMS conversations.
  • Send SMS messages via your Google Voice account by entering the phone number manually or selecting one from your contacts.
  • Tell VoiceCentral which feature you use most and it will start on that screen every time.

We wait again on Apple….

Easter Lights

Tuesday, April 14th, 2009

I drove up this weekend to Jay Peak Resort to visit with friends and get in some early spring skiing. This required a trip over the White Mountains of New Hampshire, and crossing narrow and cell-coverage-free Franconia Notch.

Easter Sunrise Services at Jay happen at the top of the mountain, at 4000′. Which means boarding the tram with sleepy kids at 5:30am. A long day later, and off to home.

So when my son said: “I don’t get what Easter is all about,” I, of course, let my wife handle it.

Climbing back over the White Mountains, the gusty winds were taking most of my attention, and most everything my Jeep Grand Cherokee could give. It had been running roughly since we left Jay an hour earlier, and I figured it was the change in altitude that the fuel injection/computer was adjusting. I shifted focus from the road to the rpms to the gas-mileage computer to the road.

And I distinctly heard my wife say “… and then he rose from the dead…,” and my son saying “Like a Zombie?!?” That momentarily had me divert my attention.

When I looked back, I saw that the dreaded Check Engine light was on. And I remember thinking that light has got to be the stupidest thing still installed in a car. A remnant from the 80’s when sensors started to appear in cars and computers were still the size of cars. A dual state device that is telling you either everything I’m checking is A-OK or whatever the opposite of that is.
Read the complete article…

VoiceCentral Review on MobileCrunch

Friday, April 10th, 2009

Greg Kumparak, over at MobileCrunch, published a side by side comparison of our VoiceCentral app with another Google Voice app. We think Greg’s review was definitely fair, but it made us think that we should clarify a few things that went into our design decisions.

We thought the biggest gap with GrandCentral (and also GrandDialer) was that there was no easy way to retrieve voicemails while using an iPhone. The main Grandcentral web app used Flash, which is obviously a non-starter. And the m.grandcentral.com (mobile version) formatted the audio files correctly, but had malformed the html such that it didn’t work with mobile Safari. So with that in mind, the genesis of our app was to fill this main Gap. As Greg could tell, the majority of our initial development was on the Voicemail portion of the app. Having several avid GrandCentral users in our midst (myself included) this was a priority: Fill the main gap, then add features. Adding the ability to dial out was a bonus a la GrandDialer (which was at the time of our initial development still in existence). Then just as we were putting the finishing touches on all of that (literally our last beta run) Google finally releases the next evolution of GrandCentral. Two years after their acquisition they finally took it to the next level, so that sent us back to the drawing board a little…

We made an important decision to retain support for both services. Here’s the reason we thought that was crucial: You can’t seamlessly upgrade to Google Voice with your Google Apps account. So, for example, if I signed up for GrandCentral with my Google Apps provided email address then I couldn’t migrate to Google Voice with that same email address integrated properly. At least not without some annoying workarounds and certainly not as cleanly as a user who has a plain old Gmail address (aka Google Account). For that reason, myself and others I know are first waiting for Google to add these services to Google Apps and make good on this claim.

Also, given what I stated previously (i.e. voicemails being the main purpose and dialing out being a nice-to-have) we thought loading the voicemail screen on first launch was most convenient. However, we have made the startup screen user configurable, with voicemail still the default screen. Also, we do not load voicemails unless the Voicemail tab gets selected, and we do not load recent calls unless the Recents tab gets selected. That speeds up loading a lot — especially if the user chooses the dialer as the default screen.

We had to evaluate one other critical component that Greg touched on in his comments: will Google build their own version of the App? Very good question and we don’t pretend to know the answer. We’ve talked with Google but there’s no clear roadmap at this point. So here was our thought process: they still haven’t built a stand alone Gmail app for the iPhone! They are not necessarily looking to build apps for every service they provide. Plus they are slightly invested in working on the Android platform. That together with their stated interest in webapps led us to think this was a good move.

We let Greg know that SMS and History support was in final testing and would be available momentarily, and that we’d get him a new build shortly. In the meantime, we are playing the typical iPhone developer waiting game.

Finally, it looks like Sean put together a great app at the same time we were cooking up ours. That’s great! Competition inevitably means good things for the consumer! Keep up the good work Sean!

- Kevin