Sparrow for iOS

Sparrow for iOS

Sparrow – Gmail-friendly Email for iOS

I’ve been waiting for Sparrow for iOS ever since they teased it back in January. Sparrow for Mac OS has been a joy to use, from its beautiful and simple interface to its deeply integrated Gmail/Google Apps Mail feature set (we’ll just call it Gmail from here on out). The iOS version has honored its big brother in both of those areas. Both versions exemplify the quality experience one would expect within the Apple Universe.

This isn’t a full review; it’s more of a highlight reel of the features that are most important to me for mobile email from a Gmail poweruser’s perspective.

Sparrow is what mail should be like on the iPhone

  • Unique signatures for each account
  • True label support for Gmail
  • You don’t have to choose between “Delete” or “Archive”
  • “Unread” and “Starred” quick views
  • 1 single swipe allows access to single-click “Star,” “Label,” “Archive” and “Delete”
  • Very clean approach to email threads

Push Support: The Killer App?

Sparrow has explained why push isn’t available, for now, in the mobile version. This will understandably turn off a lot of people. My guess is that most of these people won’t be Gmail power users or have multiple accounts. For me, it’s a minor annoyance with an easy workaround.

I put Sparrow and Mail in a folder on my iOS dock. Apple Mail handles notifications, but I manage email in Sparrow (the Mail badge eventually catches up). I’m willing to deal with this more than deal with Mail’s greater shortcomings.

Apple Mail just doesn’t “Get” Gmail

For Gmail accounts, Apple Mail only allows a toggle switch between Archive or Delete. You can’t do both. In the past, I would only be able to partially manage my emails, opting for Delete on the iPhone, then Archiving on Sparrow for Mac or within Gmail itself. That means I would have to look at every email twice, unless it was deleted.

I chose the “Delete” function on the iPhone because using Apple Mail’s “Archive” feature would strip off labels applied by my carefully crafted filters within Gmail (77 of them for my personal account alone). Many of my incoming emails receive multiple labels for quick reference later. Sparrow allows quick access to those labels and allows you to add or remove multiple labels.

Multiple signatures: Apple… are you listening?

When iOS 5 added “Shortcuts,” I thought that they finally provided a workaround for their lack of multiple signature in Apple Mail. Nope. All you get is a string of characters, no paragraph returns. So, if it doesn’t look right to have all of your contact information on one line at the end of your email, you’re out of luck.

Sparrow, on the other hand, provides unique email signatures for each account. In my case, with personal, business and club staff email accounts, it’s nice to automatically include the appropriate contact information for each occasion.

A request for Sparrow

Please take advantage of the TextExpander API. Apple will never do this, which drives me nuts when I have to type on my iPhone. I have so many quick replies and shortcuts based on TextExpander. As fast as I am on my iPhone virtual keyboard, TextExpander can add a paragraph in a couple of keystrokes.

And finally…

Sparrow has asked its customers to rally behind them and ask Apple to permit push for Sparrow using the VoIP API (not likely) or by adding another, similar API. That’s a reasonable request, but I’d recommend providing some details to improve the turnout of support. In the past, sending an email to Steve could net a genuine response. Is Tim Cook going to be our next point of contact (tim@apple.com)? Would it make sense to submit a request using Apple’s iPhone Feedback form? My ears are open.

Add push and TextExpander support, then I can banish the Apple Mail icon to the same last page folder that hold Stocks, YouTube and Weather. (Don’t even get me started on Newsstand)

Using iOS Devices with Wired-Only Hotel Internet

I got a call from my brother saying he had searched everywhere and was unable to find instructions on how to use his iPad in his Hotel room when he goes overseas. The WiFi was too expensive, but there is a wired connection in the room that is free. It caught me off guard since all the tech people I hang out with would have know the answer instantly. For those that don’t…Take a small wireless router with you. The Apple Airport Express is small, but you can also get standard consumer brands cheaper. Simply treat the hotel Ethernet jack as the internet and plug it into the WAN/Internet port of the router. Now you have your own private wireless.

Skype for iPhone Enables 3G Calls (& a fee)

The free Skype for iPhone (app store) was updated this week to version 2.0.0. Listed as new features are improved start-up time, faster access to the dial pad, enhanced call quality indicator and near CD quality for Skype-to-Skype calls. Oh yeah, and Skype over 3G. This feature has been on everyone’s wish-list since AT&T announced last October that it had “taken the steps necessary so that Apple can enable VoIP applications on iPhone to run on AT&T’s wireless network”. I thought it would be great, but it seems there is a new catch…. starting later this year, it will cost you a “small monthly fee”.

Skype is the popular VoIP software that has always allowed free video, IM, and Skype-to-Skype calls. Calling a standard landline, or mobile numbers, required you to purchase Skype Credits. It appears that is changing. Posts at 9to5 MacMacRumors and Mashable related to this update state that Skype-to-Skype calls over 3G are free through August 2010, but the Skype page in iTunes says “Skype-to-Skype calls on 3G are free until the end of 2010, after which there will be a small monthly fee (operator charges for data will still apply)”. I am not sure which is accurate, but a fee is coming.

I am not going to try and suggest that they can’t, or shouldn’t, charge for using their service, since of course they can. In fact, it would be easy to justify charging for Skype. It is very popular in the tech industry, and podcast world, and it is a great product. My question is, why only for 3G calls?. Is it simply a business decision on their end, or are the wireless providers involved?

Why should it matter to Skype where my bandwidth is coming from? It should not. If I am on DSL or Cable I can make Skype-to-Skype voice and video calls for free, but on the unlimited 3G data plan – I am forced into buying – I have to pay more? If Skype charged a monthly fee for their service, regardless of the connection method, that would actually make more sense. Charging only for 3G access seems like an AT&T charge. I might as well just use my cell minutes. OK, long distance may still come out cheaper on Skype, but the bigger issue is that this will change the image of Skype. Gone is the simple statement “Skype-to-Skype calls are free”. Adding the small italic text “*except over 3G where a small monthly fee is required” kind of kills the flow.

Before someone mentions that Skype is a business, and is free to charge for new features, I know that. Businesses are supposed to try and make profit, and I don’t mean to suggest otherwise. I don’t see opening a bandwidth option as a new feature. I see it as lifting a carrier mandated restriction, or removing a crippling feature. The other argument I have seen in various forums is that Skype needs to charge to finance their app development. A monthly charge was simply a bad business decision. There were options available to Skype to monetize app development that are more customer friendly than a recurring charge. What they have really done is create incentive to wait and use Skype on a different connection. That is not smart.

How could Skype better monetize the iPhone market? Simple. They could have implemented in-app purchases of Skype Credit. They could have even charged a small fee for the app itself. For me, I will simply wait until I am in front of my computer before I use Skype. The app is off my iPhone.

Rafter – iPhone Game Mini-Review

Rafter is a physics based puzzle game from Punflay. I came across this game after the developer commented on another review I posted. They – very kindly – offered me redeem codes so that I could try, and I assume review, their game. I went to the AppStore to look at Rafter and, I must admit, my first impression was that this was not a game I would have purchased on my own. I was tempted to take the code, but I wanted the freedom to do an unbiased review. This does not mean I won’t ever take free stuff (Apple? iPad?). But iPhone apps are usually very inexpensive, so I prefer to buy anything I think I might review. Rafter sells for just $.99, and I bought it.

RafterHelpLets start with the look of the game. I mentioned above that I didn’t think I would have purchased this game if I had not been asked to, but why? It is designed to look like Leonardo Da Vinci sketches. The result, at first glance, is a lack of color, and punch, in the AppStore screen shots. Don’t we all pre-judge applications based on those screen shots? I am happy to report that those sample images don’t do the game justice.

When you first launch Rafter it presents you with a screen asking if you want to enable OpenFeint. I had no plan on sharing my score, so I declined and started looking around.

The in-game info screen states:

Rafter is inspired from the work of Leonardo Da Vinci. This game not only utilizes the skills of the player it also takes on his creative problem solving ability.

That seems about right. The game consists of 51 levels that must be finished in order, each getting progressively harder. Each level presents you with a red target that is obstructed by platforms, gears, swinging hammers and more. Your job is to hit the red target, and you are given two tools to accomplish this feat. Circles and rectangles. To draw one of those objects, you first select the object type and then drag your finger inside a pre-defined area at the top of the screen. This took some getting used to since my finger blocks the drawing area, making it difficult to draw small objects. Within the first few minutes I was reminded of Touch Physics by Games4Touch. Rafter, however, is more complex with some excellent levels. I was at level 34 by the end of the first day, and I quickly finished the game on day 2. That’s not a ton of gameplay, but it was addicting while it lasted.

During the game I was confused by some of the physics. I would create rectangles that, when dropped, would bounce – forever. I could see this happening with a circle, but with rectangles it was just weird. Also, some game levels have fans that can blow your objects across the screen. Cool effect, but getting them to work was not always easy. Circles appear to not be effected at all, and rectangles seemed like they had to be exactly perpendicular to the air flow to catch the air. Now, I am not a physics person, but I would think the airflow would have effected some of the rectangles I dropped that passed by the fan at 45 degrees.

RafterLevel24For scoring, each level has a timer and your score is based on the speed at which you solve the level. When I was finished with the game I went looking for my score but I could not find it anywhere. Remember, I had declined the OpenFeint option at the beginning because I had no plan to share my score. It appears that it is required, even to see your own score. That’s odd, very odd. I must be missing something. I did really want to know how I did, so I decided to enable OpenFeint. Having declined it at the start, when I clicked the Scores link I was again presented with the option to enable it, which I did. My score was not very good – hey, I said I was not a physics genius. I scored 2446 which appears to have placed me 157th on the list.

The game is well designed and, at the price, is a great buy. If you like puzzle games, and specifically physics type games, you should try Rafter. It passed the biggest test. I did not want to stop playing, and I was left wanting more when I was done.

Cut Spam with SpamAssassin Rules

I don’t admit it often, but I read email headers. It’s my form of entertainment. I get, like everyone, a good amount of spam. The other day I decided to try and take an active role in blocking it. While I had always used the SpamAssassin options available through my control panel, I had never really gone deep into SpamAssassin Rules.

SpamAssassin is an open source project to assist with the filtering of spam. It runs on the server-side, and is available through many hosting plans. The popular CPanel interface has an icon dedicated to it. The examples in this post are based on the CPanel configuration, which will be enough for most users. If you are interested in more advanced configuration options, I provide a link below.

The idea is simple, while the actual function is complex. SpamAssassin examines all incoming emails and assigns scores based on a combination of header and text analysis, Bayesian filtering, DNS blocklists, and collaborative filtering databases. Each test adds to the score and the result is then used to decide if the email is spam, or not. The higher the number the more likely it is that the message is spam.

The most common settings are:

Enable/Disable: Enables or disables the filtering
Required Score: The score at which an email is considered spam
Auto Delete Enable/Disable: Enables auto-deletion of emails
Auto Delete Score: The score at which the emails will be deleted automatically
Blacklist: A list of email addresses or patterns that should always be blocked
Whitelist: A list of email addresses or patterns that should always be allowed
Rule/Test Scores: The ability to override the default scoring system

Many of these are self-explanatory, and the scoring system is interesting.

Note that, in the list above, there are three scores – Required Score, Auto Delete Score, and Rule/Test Score. The third one is the one I have come to see as very powerful, and we’ll get to that in a moment, but first lets examine the others. Both the Required Score and the Auto Delete Score default to 5. (Remember that a higher number means it is more likely to be spam). What many people don’t realize is that these two scores do not need to be the same. Before you start changing these, you need to understand that if you are too aggressive you may end up with false positives, which would mark valid emails as spam. Worse yet, you could auto delete an important email. Your clients will frown on this, so be careful. If you adjust it in small amounts, and then watch your spam folder, you can tune it over time.

I have my Required Score set at 2.7. That means any email that scores 2.7 or higher will be marked as spam. SpamAssassin then adds ***SPAM*** to the start of the subject line, and adds a flag in the email header as well. Your email client can then use the header information to filter the spam into a SPAM /Junk Mail folder. I suggest you watch those, read their headers, and learn what score those emails are getting. Are there any false positives? If so, adjust the settings as needed.

I have the Auto Delete Score set at 4. That means any email scoring 4 or higher is removed. I never see it. The result is that any email scoring 2.6 or less makes it to my inbox, 2.7 – 3.9 is flagged as SPAM, and 4.0 and higher are deleted.

These settings were actually working for a long time. Recently however, I have noticed some changes. I have seen an increase in emails that are clearly spam but not scoring high enough to be auto-deleted. These spammers, while I hate them, are getting smarter. They figured out how to beat the default, well published rules. No problem, we can change the default scoring to match their messages. First, we need to know what rules to change, and that’s where reading the headers comes in. Below is a sample email header from a recent spam email:

X-Spam-Status: Yes, score=2.9

X-Spam-Score: 29

X-Spam-Bar: ++

X-Spam-Report: Content analysis details:   (2.9 points, 2.7 required) pts rule name              description —- ———————- ————————————————– -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record 0.2 HTML_IMAGE_RATIO_04    BODY: HTML has a low ratio of text to image area 0.0 HTML_MESSAGE           BODY: HTML included in message 1.7 MIME_HTML_ONLY         BODY: Message only has text/html MIME parts 1.1 HTML_MIME_NO_HTML_TAG  HTML-only message, but there is no HTML tag

X-Spam-Flag: YES

In the list of rules you will notice that each rule is preceded with the score given this email. For example:

1.1 HTML_MIME_NO_HTML_TAG  HTML-only message, but there is no HTML tag

In this case, the test name is HTML_MIME_NO_HTML_TAG and it has a default score of 1.1. Why would an HTML message not have an HTML tag? Most clients, such as Apple Mail or Outlook, would create properly written emails – we hope. So SpamAssassin gave this email 1.1 points for the error. What you need to do is identify a pattern in the spam messages you are getting.

In my case I found the rule RDNS_NONE was very common. This test checks the reverse DNS for the last untrusted relay. The default score for this rule is .1 and I was seeing this in well over 50% of my spam. I decided to change it to 2. After a week or so, I noticed that the new score was causing more spam to be caught. I was getting no false positives, and some obvious spam messages were now being flagged properly. For most,the resulting score was around 2.9. That meant the message would have had only a .9 before my change. A lot of messages were now landing in the 3.5-3.8 area. In an attempt to push those to the auto delete range, I bumped the RDNS_NONE score to 2.5 and the amount of Inbox spam fell greatly. Some was auto-deleted, and some was simply moved to the Spam / Junk Mail folder. While I still check the Spam folder for false positives, the main goal was achieved –  it was not in my Inbox.

The process for entering a test with a custom score is not obvious, so the next screen shot displays the test entered before it is applied:

It is important to note that the RDNS_NONE test is not without risk. As stated on the official site:

Note that this may be done by interpreting information in the relevant Received header – if reverse DNS checks are not performed by the first trusted relay, or if they are not recorded in the Received header, this test will be triggered (regardless of the actual rDNS status).

That means that false positives are possible, but that is why my Auto Delete Score is higher than the Required Score. While a legitimate message may get 2.5 points for this test, I am gambling it won’t get enough total points to be auto-deleted.

RDNS_NONE is just one example of possible tests, but why stop there? By customizing a well thought out list of test scores you can greatly cut down on the amount of spam in your inbox. You can find a list of  the available tests for your version of SpamAssassin, and their default scores, here.

For those that want more control, you would require access to a few configuration files. Depending on the file, changes can be site-wide or user-specific. See the documentation for more information.