Volitans Software

Long Time, No See

Its been awhile since I’ve updated this blog. The day job took some of my time, and I’ve also started a masters program. However, that doesn’t mean I’ve been ignoring my company.

SMART Utility 2.1.1 is due out soon, with some much needed bug fixes. I’ve finished up an iPhone contract, and I’m currently working on an iPhone app. I’m not really sure if I’ll finish it, since Apple is being pretty stubborn with the App Store. So we’ll see what happens there.

SMART Utility 2.1 is out!

The biggest new feature is that while the application is open, it can scan drives in the background. So users can leave it running and it will alert if a drive is failing. This is really useful with Growl installed.

Get it here:

Full release notes:

– Added preference to update drives in the background
– Added preference to only flag failing test if it is new
– Added better error handling for problems reading SMART data
– Added estimated time remaining for a test
– Fixed a bug with display of reallocated bad sectors on main window
– Now updates progress bar of SMART data update sheet

SMART Utility: 10.6 Compatibility

Since Apple is shipping 10.6 this Friday, I thought I should comment on SMART Utility and 10.6. Unfortunately, I just obtained access to ADC this week, and I have not downloaded the GM seed yet. So I do not know if SMART Utility is compatibility with 10.6. However, I do not believe there will be an issue, as SMART Utility does not use many of the API’s that could potentially cause an issue. There was no changes needed when upgrading from 10.4 to 10.5, so I am guessing the same will occur with this upgrade.

But, as soon as I get my hands on it and test it, I’ll update the blog with the results.

Update: I have installed Snow Leopard, and SMART Utility 2.0.2 is fully compatible with 10.6. I will have a new blog post with a Snow Leopard review in a week or so.

Unbelievable: Apple’s FCC Repsonse

While I personally disagree with the FCC’s involvement with the recent iPhone/Google Voice controversy, Apple’s response completely boggles the mind.

First, Apple starts off with some complete BS about the store, the number of apps, and how it functions. While the app store is much better than any prior cell phone app development and distribution, it still sucks in comparison to the Mac- especially because it doesn’t have to (more on that later).

Next, they describe three core reasons why apps are reviewed: “protect consumer privacy, safeguard children from inappropriate content, and avoid applications that degrade the core experience of the iPhone.” None of these points to good reasons why apps HAVE to be reviewed. The first will be quickly found out by the community. I’m not a child (and many iPhone users aren’t either), so I don’t need to be dictated too, so reason number 2 is bunk. And finally, the third reason assumes I can’t choose which apps DON’T hurt how my iPhone works. Actually, having MLB At Bat or AOL Radio in the background DOESN’T hurt the core experience. In fact, preventing those apps from running in the background HURTS the core experience- because I have to stop them to check email, text, or do anything else. So get off your high horse Apple.

Then they outright lie about the approval process: “When there is an issue, we try to provide the developer with helpful feedback so they can modify the application in order for us to approve it.” HAHAHA. Most of the time they just say “The app doesn’t comply with out guidelines. Its denied. Suck it, dev.” Many developers only WISH they provided helpful feedback. And finally (just in that paragraph): “95% of applications are approved within 14 days of their submission.” THAT ABSOLUTELY SUCKS! That should be 95% is approved in within ONE DAY. 14 days in an insanely long time- especially for bug fixes.

Now we start in on the answers to the questions. Q1 answer: “Contrary to published reports, Apple has not rejected the Google Voice application, and continues to study it.” THAT MEANS ITS REJECTED. If its not approved, its rejected. Period. End of story. Stop lying. Besides, it DOESN’T alter the user experience- IT CAN’T YOU MADE SURE THAT NO APP CAN AFFECT ANYTHING. Do you not use your own product Apple? Does the Phone “app” get replaced? NO. It disables visual voicemail? HOW? Only if you CALL A COMPLETELY DIFFERENT NUMBER! Jesus, its like working with 80 year olds using an iPhone. Apple must thing we are 8 year olds with an IQ of 2. Let us decide Apple.

Okay, after a bunch of non-answers to questions, we learn that there are only 40 app review. WTF? For “65,000+ apps”? That’s insane! No wonder it takes 2 freaking weeks to approve an app. Double that app, or triple it.

Oh, and this is a complete lie: “In many cases we are able to provide specific guidance about how the developer can fix the application. We also let them know they can contact the app review team or technical support, or they can write to us for further guidance.” RARELY do they provide specific guidance, usually its “Your app sucks. Try again,” to paraphrase the email received. And NEVER can the contact the app review team or write to them for further guidance. How many blog posts do developers describe it as a black hole to find out what is going on with there app. Apple is out and out LYING to the FCC.

But what is most frustrating is that none of this is necessary. There doesn’t have to be the App Store (AN App Store is okay, but not THE App Store). There doesn’t have to be a review process. There doesn’t have to be a review team. There doesn’t have to be so much bad PR for Apple.

So many problems can be solved in one fell swoop- Allow any app on the iPhone. It will not hurt anybody. It will not hurt the “children.” It will not hurt the network. It will not hurt the iPhone. But it will make the iPhone the platform nobody hates, and nobody wants to leave.

Stop being dumb and stupid, Apple. Open up the iPhone, and watch your dominance grow.

ModBusApps announces ModBusProbe 1.0.0

Calgary, Canada – Matthew Butch of Volitans Software and Rudy Boonstra of R Engineering Inc. are pleased to announce ModbusProbe, an application for Mac OS X to poll ModBus(R) enabled control system devices. ModbusProbe is an application for the Apple OS X operating system to poll ModBus enabled control system devices. The application can poll either serially via a USB adapter or via TCP, and includes the ability to poll all four types of registers and display the results in decimal, hexadecimal, binary, or integer format. The data can then be printed out for recordkeeping. In addition to reading registers, two register types can be written to. The raw data stream to and from a device can also be viewed.

In addition to this application, the cocoa framework will be offered under the GNU License as a free download to allow other Cocoa programmers the basic tools to develop ModBus applications for Mac OS X. The framework may be downloaded from the ModBusApps website.

Features:
* TCP and serial communication protocols supported
* Reading of Coils, Discrete Inputs, Holding Registers, and Input Registers supported, writing of Discrete Inputs and Input Registers
* Uses a connection list with name, type, and device ID (IP address or serial port) for maintaining connections, and list is saved with every quit
* Can poll data with a time interval set in the preferences
* Displays data in integer, hexadecimal, decimal, with binary coming soon
* Displays number of polls and successful responses
* Displays register prefix (10000x etc)
* Displays raw data stream between application and device, including color highlights per connection
* Prints out register data of open connections
* Checks for updates via Sparke Framework
* Basic application help book
* Application icon designed by Jordan Langille of OneToad

Pricing and Availability:
ModBus Probe is available as a free download in demo mode (30 day or 5 launch trial, whichever comes later). A ModBus Probe license can be purchased for $100 (USD), directly from the application or via the ModBusApps website.

ModBusApps is a partnership between Volitans Software and R Engineering. It was founded in March 2008 for the purpose of creating and released ModBus Probe and ModBusKit.

AP- Completely Misguided

The news organizations continue to miss the point. The AP thinks that they will get revenue even by people linking to their stories. However, they completely miss the point of the web- to communicate between people. Charging for even link will only mean that less people will link to the story(whether because they refuse to give into such extortion, or because they simply can’t afford it), and hence that the AP will become increasingly irrelevant. They are shooting themselves in the foot.

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.