Volitans Software

A Better App Store

The iPhone App Store insanity continues to amaze me. First, there are the inane rejections over stupid little things- like the fact that is possible to download the Kama Sutra in a book reader app. Then Apple fixes that by requiring 17+ rating for any app that can access the internet. Yet Safari has no such warning.

This “let’s protect the children” junk annoys me to know end. It doesn’t actually protect the children- because they will always find a way around it anyway. But it does frustrate normal users and developers. Apple needs to stop being so overbearing in the App Store approval process, as well as the functioning of the iPhone rating system itself.

But this gets back to a bigger problem- reviewing and approving apps in the first place. Craig Hockenberry points out many of the problems with the App Store. Now, there is no doubt the iPhone environment is great, as he shows as well, but I believe the problems outweigh the good. Problems such as too slow approvals affecting bug fixes, no paid upgrades, unclear rules for submissions, and product evaluations inaccurate.

Craig also offers solutions to such problems, including a $999 premium service to help speed approvals along (which Manton Reese rightly derides). However, this is all completely ignoring the root of the problem- only allow Apple approved apps on the iPhone. All of these other solutions are like trying to put a new coat of paint on house whose foundation is sinking.

Apple needs to rethink the entire iPhone application ecosystem. By requiring approvals for all apps on the iPhone, Apple is waiting time and money on those approvals. They need to hire hundreds of approval employees. They waste the time and money of the developers as well, as instead of selling when they are ready, they have to wait an unknown time until its ready, and they don’t even know if it will be. This is not to mention all the problems with iTunes Connect and ensuring certificates are working correctly.

All of the complaints by developers would go away instantly if Apple stopped requiring approval before apps were allowed on the iPhone. Developers could just offer an .ipa package that iTunes could install. Apple of course could still only offer apps on their App Store that they approved of. They could also pull any apps that were malicious, such as viruses or trojans. It would also pretty much kill the jailbreak community, except for the purposes of unlocking.

This environment works great on the Mac, and there is no good reason it couldn’t work great on the iPhone. Hopefully Apple and Steve will wake up and realize this has all been a huge waste of time.

Until then, the iPhone App Store will be a source of complaints, and will not live up to its potential.

Another Example of Bad Customer Service

Volitans Software holds Customer Service in high regard. We take care of our customers whenever they have a complaint. If they need a discount or a refund, we process that quickly. I make sure of that because without customers there would be no Volitans Software. I’m also a customer as well, so I know the other side too.

So when I come across something like this it gets my blood boiling. The jist of it is that flypenfly was sold defective RAM from OWC that did not work properly in his MacBook Pro. It only worked in 9600 mode, but not 9400 mode. He contacted Customer Service, they identified the issue, and sent him new RAM.

But then they charged him $30 for the new RAM, because it was an “upgrade”- except it wasn’t, because the old RAM was defective. They will not budge, and that is outrageous. I was planning on upgrading my MacBook’s HD from OWC, but there is no way that is going to happen now. I will just buy it from NewEgg now.

Its sad, since OWC had some nice products. But Customer Service shows me what type of company a business is, and OWC doesn’t seem like a good one.

Rest assured that Volitans Software will always communicate you in a profession manner, will listen to all complaints, suggestions, and other comments, and will never charge anything the customer does not want.

Update: This is a little late, but if you followed the forum thread, OWC finally fixed the issue to their customer’s satisfaction. I’m happy to say that everything worked out like it should. They also emailed me and said “but issue just should never have happened. And as you can tell from actions both past and present, we take our reputation and our commitment to the customer pretty seriously from the very top.”

Given that they resolved everything perfectly, I actually ordered a new HD and a RAM upgrade for my MacBook last month. As usual, everything came quick and correct. I have always been happy with OWC, and I would highly recommend ordering from them.

SMART Utility 2.0.2 is out!

Its mostly just bug fixes and small additions. Get it here.

Here are the release notes:

– Added French localization for help
– Now main window refreshes when a test is complete
– Now shows serial number when attempting to register again
– Now updates registration menu depending on whether application is registered or not
– Fixed bug where unregistering would cause application to consider the demo period expired
– Fixed some memory leaks
– Fixed some incorrect texts in help
– Optimized debug log for faster output
– Optimized launching code
– Serial number is now in a separate file to allow deleting of preferences without losing registration information

A Current of Cocoa Code: Command Line Universal Compilation

On a mailing list I belong to (X-Unix) the question came up of how to make a universal binary of a command line program. For the simple programs its pretty easy. Run the “configure” utility. That will output the “Makefile”. Find the “CFLAGS”, “CPPFLAGS”, and “CXXFLAGS” entries in the “Makefile”. Make them look like this:

CFLAGS = -g -O2 -mmacosx-version-min=10.4 -arch i386 -arch ppc
CPPFLAGS = -mmacosx-version-min=10.4 -arch i386 -arch ppc
CXXFLAGS = -g -O2 -Wall -W -mmacosx-version-min=10.4 -arch i386 -arch ppc

The 10.4 code also allows compilation on 10.5 but execution on 10.4. It is not needed (but I do it anyway).

However, that doesn’t work for the more complex apps which use certain gcc switches. So you have to do two builds- have one i386 and the other ppc. Then you have to combine them together.

You have to use “lipo” for that. So if I had two builds test.ppc and test.i386 and I wanted to make a universal build, I would put this on the command line:
lipo test.ppc test.i386 -output test.uni

That’s it! It took me a bit of experimentation to figure that out, so I hope others can get some use out of it.

SMART Utility 2.0.1 is out

Its mostly just bug fixes and small additions. I must thank Ronald Leroux for all his hard work keeping up with the French localizations. Get it here.

Here are the release notes:

– Added anonymous system information capturing with Sparkle (with preference to disable)

– Added support for French localized self test status (in the Test display window)

– Added support for French localized Growl messages

– Fixed bug where running tests would sometimes cause a crash

– Fixed bug where label in attributes window would not show correct temperature label

– Fixed two small memory leaks with tests

– Optimized scanning algorithm to improve scanning speeds

– Renamed test time ran column to “Power On Hours When Ran” to be more clear about the number means

– Re-organized the preferences window to remove duplicate text as well as shrink the window itself

– The smartctl binary is now a single file- allowing easier replacement

Tweetie for Mac- Excitement followed by disappointment

Yesterday Tweetie for Mac was released. I have heard that Tweetie for the iPhone was awesome (haven’t tried it yet because there is no free version), I was excited about a new app from a developer who already had an awesome app. I downloaded it and was very disappointed at the interface.

For starters, there is no Growl support. I rely on this to see new tweets, so I don’t have to catch up later. I hear this is in the works, however it is still disappointed without it included in this version.

My biggest grip with the UI however, is the separate tweet window. This complete ruins the Twittering experience for me. Whereas Twitteriffic (and most other Twitter clients) have the field at the bottom, Tweetie opens up a new window for each tweet. I have to change focus from one area to a completely random area each time- instead of one single location. I emailed the developer Loren Brichter about my issues, and he replied the following email. He gave me permission to repost it, and while my response to him was not the following, it was very similar:

My sincerest apologies for your disappointment at that comment.  There
were a *ton* of reasons why I went went the new-window compose route.
A few (if you’ll hear me out):

– You can compose a few at a time if you want to take time to compose
your thoughts

Which is nice, but nothing I’ll ever use. I see a Twitter, and reply. I’ll have a thought, post it on Twitter, and be done. I don’t need to draft 140 characters.

– The vast majority of the time for the vast majority of users is
spent *reading* tweets, not writing them. an appropriate amount of
screen real estate was given to composing on the main window given
this common-use-breakdown.

There is not much real estate being taken up by a text field at the bottom of the main window. And while most people do read more than write, that still doesn’t mean its a good UI choice to remove the easy-to-use- bottom field.

– I wanted the app to *feel* less like a toy, and more like a
communications tool.  I wanted it to *feel* more like Mail than iChat.
I wanted (though my choices in UI) to subtly encourage users to THINK
before they posted (and I believe people have a tendency to put more
thought into an email than they do IMs).  The weight of an independent
compose window provides this importance.  It’s the same reason why I
chose not to have ENTER post a tweet, Command-ENTER is the shortcut to
post, and I think that extra modifier does its small part to make
users think before they tweet.

This is where Loren and I have our biggest disagreement, and since its a philosophical difference about Twitter, its huge. I feel Twitter is MORE like an IM than mail. Its 140 characters, about the same as an IM anyway. I don’t see the need to FORCE users to think before they tweet, so posting with COMMAND-ENTER (instead of the logical and better ENTER) is very frustrating. I don’t think it would help anyway, and it takes away from standard Mac UI and posting conventions that ENTER sends something.

– It’s a fantastic *general* solution, for example it works great with
the global keyboard shortcut (in the prefs) where you can bring up a
compose window from anywhere in the system.  It also works perfectly
for the url bookmarklet.  No special casing needed.

This is in fact awesome, and I really would like this feature in more Twitter apps

– If you think about when you write a tweet, your fingers *have* to be
on the keyboard anyway, so it’s a negligible amount of work to hit
Command-N.

Not until I’m actually ready to write a tweet though. I’m already scrolling with the mouse, in the general area of the tweet window. For Twitteriffic, I either click in the field or click on the reply button next to a tweet, then start typing. For Tweetie, I have to hit a command for a new tweet, or click a tweet then hit the command, then find where the reply window went, and start typing. Its a small and subtle difference, but it changes the Twitter experience drastically.

I completely understand that it may not be for you, but it’s really
important to me that you understand that the decision wasn’t
arbitrary.  If it makes you feel any better, I had weeks of sleepless
nights thinking about this.  The only reason I thought *not* to do it
was because people were just used to some other way – and that wasn’t
a good enough reason to switch to an (in my mind) inferior UI.

I certainly understand his reasons. But my retort is that the separate window is NOT mutually exclusive to the in-app field. They BOTH can be used, and I think the app would be much better for it.

Its a shame this one issue has to ruin what otherwise is a great app. It has a lot of features I would use- like viewing direct replies, and global app tweeting ability. In fact, I would certainly pay for the ad-free version if he added the in-app field. Unfortunately, it looks like he will not change his mind.

Which leads me to think maybe I should develop my own Twitter app…

Kerio and iPhone OS 3.0: Follow Up

The last time I talked about Kerio and iPhone OS 3.0, my mail on my iPhone wasn’t working. To recap, Apple blamed Kerio, and Kerio wasn’t very helpful.

Well, I updated to 3.0 Beta 3, and that fixed the problem I was having. Now I can successfully read emails again on my iPhone. I realized how much it sucked to not have it. I’m not sure why Apple blamed Kerio, and yet an Apple update fixed the problem. Regardless, I’m just glad its working now.

As a side note, Kerio is now on Twitter. Which is a good thing for customer service. Its a great way to get feedback from your customers and address issues head on- even if they never contact the company they are talking about it. Even Comcast has had a lot of success at this. Its a good trend to see companies make an effort to listen to their customers.

The Day the Voice went Silent

As those who follow me on Twitter know, I’m a huge Philadelphia sports fan. So you can imagine my shock and sadness at the news that the Voice of the Phillies, Harry Kalas, had died. I have so many memories of watching and listening to Phillies games, in high school, in College, on long drives while at my last job, and the entire wonderful season last year- all with Harry the K’s excellent calls with that legendary voice. He was always there- a calming voice no matter the score. I’m really going to miss that.

I also never realized he did Inside the NFL- I had no idea how I never made the connection, but I guess I always thought of Harry as a baseball guy. But he was multitalented. In fact, he was more than just a great broadcaster, but he was an all around great guy. He never missed an opportunity to talk to a fan, to sign an autograph, or say any of his signature sayings (“OUTTA HEEERRRRREEE…”). Its a shame I’ll never get to meet him.

For awhile Philly fans had two of the best broadcasters in sports (the other being Merrill Reese of course), and now we have lost one of them. I don’t know how long we’ll have Merrill (hopefully for many years to come) but I’ll cherish every call he makes, as I cherished every one Harry made. I know what call will forever live in my memory, the last pitch of the 2008 World Series:

“One strike away, nothing and two the count to Hinske. Fans on their feet, rally towels are being waved. Brad Lidge stretches… the oh two pitch.. SWING AND A MISS! STRUCK HIM OOUUUTTT! THE PHILADELPHIA PHILLIES ARE 2008 WORLD CHAMPIONS OF BASEBAAAAAAALLLLLLLL… And let this city celebrate!”

I’m so happy he had a chance to make that call (as opposed to the 1980 championship when MLB’s silly rules prohibited from calling the game), and he made a classic Harry call. And its fitting that he died in the press box at the ballpark, doing a job he loved, surrounded by people he loved, in the city where his love of baseball began. What a way to go.

Rest in Peace Harry. We will miss you, dearly.

Harry Kalas
1936-2009

iPhone OS 3.0 and Kerio: Word of Warning

Sigh. I don’t understand why companies must do things to harm their customers. I experience it all the time. And it is for stupid reasons too. I’m amazed any of them stay in business.

My day time job uses Kerio MailServer 6 as our email system. It ties nicely into ActiveDirectory and has a decent WebMail client. It also offers Exchange support- including ActiveSync. And they even support the iPhone.

Well, partially support. Whatever they do to use ActiveSync is broken. They had to “enable” iPhone support in their most recent release once iPhone OS 2.0 came out. Now, I don’t know why they need to have custom support for the iPhone- ActiveSync is ActivceSync- but they do.

They apparently also need to enable support for 3.0, because once I upgraded I could see previews of mail, but I could not read them- it told me I the message was never downloaded, even though it was.

So I contact their customer support- what a waste. “Its still in beta, we won’t support it.” Well, what about the fact that I can’t roll back to 2.0. “Some people have, try it.” Which ignores Apple’s warning about rolling back to 2.0. Well, how about a warning. “We don’t need to put a warning about beta software.” GAAAAAH.

What poor customer service- and what a poorly designed product. I’m not sure what they have to enable, but the fact that they have to enable something makes me wary. What if they don’t have the support enabled in time for 3.0’s release? What if a company had all iPhones, and need 3.0 for a feature?

In any case, I now have non-functioning mail access on my phone. And one the reasons I was testing it out was for landscape mode in Mail.

Sad, really.

WordPress for iPhone

I posting this from the WordPress iPhone app. I spent hours trying to get it to work. Well they released an update which fixed one problem. It still wasn’t workng bu I found the cause: a .htaccess redirecting all XML files to my feed. It was meant to redirect feeds from my old blog, but it was interfering with the apps ability to access my blog. In any case it works now.