Biblicious was originally an iPhone only app because the iPad did not exist.  When the iPad was coming out, I used a similar algorithm to my Elastic Window product in order to naturally scale up the drawing so that the game looked just as good on the iPad as it did on the iPhone. The iPad was released, and then the iPad2 was released, and Biblicious still only worked in portrait mode.  After a few requests and knowing that Apple prefers iPad apps to work in any orientation, I started the work of manually repositioning controls on the game screen.  After a couple of days of work, mostly in the iOS Simulator, the game was ready. I could control when changing orientation was allowed or not. For example, not allowing the orientation to be changed while any Core Animation was going on. Everything looked great! I thought it was so neat that I would actually sit there and play with the orientation just so I could watch the controls move around. Life was good, and I was happy that I finally got this code done. I released that update & everything was good. But after a few days I saw a “nasty” review on the AppStore: “With the latest update the answers are all on top of each other and cannot be read unless you start trying to tilt the iPad in such a way they clear up. It doesn’t always help. Please try to correct.” Not very helpful, I know.

I repeatedly tried to make Biblicious do this, asked Pariahware followers on Facebook & Twitter, and received no responses.  I asked a few friends and nobody said they had every seen this overlapping button issue.  As every developer knows, we have no way of contacting our customers when they comment and we have no way to rebut. After a few days this person also sent me a support email from within Biblicious. I told them that I could not make it happen and asked them to send me detailed steps. — No response.

I figured that I should go ahead and try it again. Due to my scaling code, I thought I would try to make the overlapping button issue happen on the iPhone where no scaling happens. If it didn’t happen on the iPhone, then I knew I would need to concentrate on the scaling code. So, I hooked up my iPhone and ran the app from Xcode. I start a new game and began to play with the device’s orientation. Lo and behold I saw a button partially land on top of 2 other buttons as the buttons were being animated onto the screen. I was perplexed and tried it again, this time on the iPad. How could this happen? I check the device orientation for UIDeviceOrientationPortrait  and UIDeviceOrientationPortraitUpsideDown and perform portrait drawing code otherwise perform landscape drawing code.

Upon further searching, I noticed that sometimes I was checking for [[UIDevice currentDevice] orientation] and in other places, I was checking for [[UIApplication sharedApplication] statusBarOrientation]. The latter was actually “forced” upon me with the iOS 5 SDK install due to compiler warnings.  The former, obtains the device’s orientation which can return a number of results corresponding to the 3D plane, including face down.  The latter essentially returns landscape or horizontal.  So, what was happening in my code was, I was asking the device for it’s orientation in 3D space which was most likely returning UIDeviceOrientationFaceUp. Since my code didn’t know how to react, it just kept drawing in it’s last known state and place the button in the incorrect spot. I was able to get this to happen by changing the device’s orientation and then holding it at an approximate angle of 45 degrees. By changing all of my orientation checking code to [[UIApplication sharedApplication] statusBarOrientation] the problem was solved.

My conclusion: [[UIDevice currentDevice] orientation] it NOT necessarily the same as [[UIApplication sharedApplication] statusBarOrientation]

I hope this helps other people out and saves them some time when coding for their iOS devices.

Yes, if you can afford it. It is twice as fast as an iPhone 4.

I was curious about my upgrade option from my iPhone 4 to the iPhone 4S. Usually AT&T will graciously allow you to extend your contract another 2 years after you’re 18 months into your contract. The problem with this is AT&T’s math, which seems to be completely random. But first, I think AT&T should simply allow someone to extend their contract another 2 years at anytime if you want a new phone. It seems silly to require 18 months to have gone by.

Now, AT&T’s random upgrade math:
I bought my iPhone 4 in July of 2010. I can’t get the “good” iPhone 4S price until March of 2012. OK, 18 months.
My wife bought her iPhone 4 in September of 2010. AT&T says that she is eligible NOW to get an iPhone 4S. Huh?

And this is not the first time I heard of this. I was talking to my friend on Twitter today, who said this about upgrading from an iPhone 4 to an iPhone 4S:
I waited in line for 11 hours on release day; don’t qualify for subsidized pricing. My wife went next day, 1hr wait, she qualifies.

Here is a video that shows you how to use Pariahware’s Doc Merge to merge multiple Microsoft Word documents into one:

Doc Merge is available for Windows & OS X up to 10.6 on Pariahware’s web site: Doc Merge on Pariahware

Doc Merge for OS X 10.6 Snow Leopard and 10.7 Lion is available on the Mac App Store

 

 

 

 

 

Joanne from September 2011

Joanne from September 2011, dressed and smiling in her wheelchair.

I will be completely honest. Joanne is my wife. That said, this is completely factual.  If you have been following along in my life, Joanne’s health has not been great for years. However, this year has been devastating. You can read more by clicking on her image, but I will provide you with a quick summary… In February she had a number of strokes, but was recovering well; the cause was unknown. In April, she had “too numerous to count” strokes and we discovered that she has a rare autoimmune disease. The doctors told me that she would never recover. In May we were expecting to go to a funeral. However, Joanne did not die, but she was unconscious for months. She has slowly been getting better. First I could get her to chew some ice. One day she had her eyes open. A few weeks later she began to talk. She is still paralyzed, but there has been a slight movement in one elbow the other day. It takes her brain a while to process what she has heard. Thankfully she has been able to come off quite a bit of pain medicine, but she is still on a bunch. Right now she is living in a nursing home & I go and spend a few hours with her every day. She wants to come home, and I’m trying to get that accomplished. However, she is going to need a van that has rear wheelchair access since her knees will not bend. Frankly, we don’t have the money to buy a van. So this is my plea, please help Joanne get her van; help my wife to come home. On her web page, Van For Joanne, you can find her story and pictures of her progress in the nursing home. I did not take any pictures of her when she was unconscious or suffering. We have been extremely blessed by those generous enough to send a few bucks. My company, Pariahware, is covering all of the PayPal fees & Pledgie fees. To convert a van to have wheelchair access starts around $14,000, that does not include the van. The van will be used. I encourage you to read her story and see if you are led to donate. Whether it is $5 or $100, it all helps. Thank you.

Click here to lend your support to: Van For Joanne and make a donation at www.pledgie.com !

Elastic Window v2.0 includes new features and controls.

RALEIGH, NC, USA (July 15, 2011) — Pariahware, Inc, consulting firm and
shareware developer, announced today it is shipping Elastic Window v2.0,
a popular GUI resizing tool for Real Studio developers which allows
controls and fonts to be resized proportionally with the window at
runtime.

“With version 2.0, we are happy to announce lower pricing, new features
including the Elastic Canvas Control, as well as Label support” stated
Christian Miller, president of Pariahware, Inc. “With these improvements,
as well as the other exciting new features, Elastic Window is more useful
than ever before.”

New in v2.0:
- Added support for Label control
- Added a new Elastic Canvas control
- The ability to Ignore controls
- Find out which controls are being ignored
- Speed improvements

Using Elastic Window, developers can design windows with a particular
look in mind and ensure that look will be maintained no matter what
size the user makes the window.

There are a number of reasons why Elastic Window should be used:
- Making your application more user-friendly for the visually
impaired or for those whose eyesight is weakening with age.
- Full-screen kiosk applications.
- The window must maintain the same aspect ratio no matter the size.
- Avoid having to manually adjust controls.

Pricing and Availability

Pariahware’s Elastic Window uses a royalty-free, per-seat, licensing
mechanism for the base product. This means that each developer using
the Elastic Window in the Real Sudio IDE needs to have a license. There
is no fee for applications developed with Elastic Window. The list
price for Elastic Window is $100.00. A source code option is also
available for $150.00.

A free demo version of Elastic Window v2.0 is available at

http://pariahware.com/elastic-window/

About Pariahware, Inc.

Pariahware, Inc. provides consulting services for those wishing to have
cross-platform software developed for iOS, OS X, Windows and Linux.
Pariahware, Inc. was founded in 2001 and is based in Raleigh, NC. For
more information visit
pariahware.com.

I rarely use the word “never” as in “I will never do …” because I think God’s sense of humor compels us to do what it is we like to say we will never do.  That said, it will be a cold day in hell before I ever sign up for SiriusXM service again.

And now for the story…  We bought our car in 2009 and it came with a free year of SiriusXM satellite radio service. My wife liked the service much more than I did. She liked that she could choose to listen to the different decades of music. My music listening has subsided a great deal and I really only listen to podcasts and audio books these days. February 2010 rolled around and our Sirius service was cut off. That was fine with me, but my wife was enjoying listening to it on her way to & from work. I called and negotiated a plan for what I can only assume was $150. This plan, without a way to opt out, would automatically renew the following year.

Shortly after I renewed, my wife fell ill again, and guess what? The satellite radio, if turned on, was only ever turned on accidentally. Fast forward now to February 2011. SiriusXM sent me letters via the postal service, as well as e-mail stating things such as “your subscription is about to run out”, “renew now”, etc. I figured that when I didn’t renew, they would simply cancel my service, but they did not.  Instead, they renewed my subscription, which I did not want, and billed me. During this time I had more important things to deal with, such as my wife had a heart attack & multiple strokes and was hospitalized through the entire month of March, and part of April. And now I was taking care of her full-time at home as well as working when I could.

I found a moment to cancel my account. I knew there was going to be trouble when I could find no way of cancelling online, they made me call them. Of course, their “customer service department” is some Asian call center on the other side of the globe with the agents using phoney English names along with bad accents.  I told them that I wanted to cancel my account, and they countered with a $25 for 5 months “special” since I was such a “good customer”.  I didn’t want to deal with the hassle of calling them again in 5 months, and I didn’t want their service. I repeated, “No, I just want to cancel.” They said OK, pro-rated my bill and stated that I owed them $25 for the past two months of their service, of which I didn’t use. I told the SiriusXM agent that I hadn’t used the service in at least six months, didn’t authorize them to auto-renew my account, and that I wanted to speak to her manager.  A “manager” came on the line after about a 5 minute hold time. I again stated that I didn’t feel like I should have to pay $25 for a service I didn’t use. He said that they had no way of telling if I had used the service or not.  I then told him that I had been offered their $25 for 5 months deal, and now they want to charge me $25 for 2 months! To which he replied, “you’re not eligible for that deal.”  I then tried to obtain some sympathy and compassion from them and told him that my wife had suffered a stroke & a heart attack, and had been in the hospital February & March. He had the nerve to say, “I am sorry about your wife, but this is a business.” At that point in time I could no longer argue with these people, I had to go take care of my wife. I did yell “I can’t argue with you anymore. I’m not paying it. I have to go take care of my wife.” I was actually very explicit about what I had to do to help her.

After I calmed down, I wrote their customer service via the supplied web form and more or less told them the above.   The following day I posted a message to their twitter account, with no response. I figured that they wouldn’t like the PR. Oh well, bad PR is still PR, right?  The same day I received a response from the customer service form:

Dear Mr. Miller,

Thank you for contacting SiriusXM regarding your billing concern. We are here to assist.

We are sorry to learn about the conditions of your wife. We have reviewed your account and our records indicate that your 1-year Mostly music service for the receiver with ESN xxx renewed on 2/18/11. We have sent invoice bills on 2/18/11 and on 3/18/11 to inform you about the status of your account and your outstanding balance. However, we didn’t receive any response until 4/15/11 when you deactivated the service. You were offered a 5-month promotion to keep your service active but according to the notes, you declined the offer. Your account has a past due balance of $25.96 for the service from 2/18/11 to 4/15/11.

If your subscription is cancelled, you will still be responsible for payment of all outstanding balances accrued through the cancellation date, including any fees described herein.

Please note that as per Terms and Conditions, your subscription will continue for the length of the initial term you select on your plan (“Subscription Term”) and at the end of your prepaid subscription term, it will automatically renew for another prepaid period of the same length unless you choose to cancel prior to that renewal, or your service is cancelled, terminated, or discontinued by you or by us, or you select a different plan. Your account will automatically be charged (or you will be billed, as applicable) at the rates in effect at the time of renewal. Please visit http://www.siriusxm.com/pdf/siriusxm_customeragreement_eng.pdf

We are committed to providing you with the best in listener care. If you have any questions, feel free to reply to this email.
And you can always manage your account online 24/7 by clicking

http://www.siriusxm.com/

Thank you,

Ervin
SiriusXM Email Listener Care Team
1-866-635-2349

Well Ervin, thanks for the compassion there buddy. Hey, on 3/18/11, I was in the hospital with my wife because she was recovering from multiple strokes & a heart attack. Do you really think checking my mail and contacting SiriusXM was a top priority for me? If so, you’re an idiot. Since I waited 5 days to decide to actually pay you, why don’t you make it even worse and charge me a $5 late fee TODAY April 19th, the day I decided to be done with you forever. And now, Ervin, my wife has had another series of strokes and is back in the hospital. I’d love another short one sentence of compassion rather than being a human being and offering to wave the $30.96 fee for a service that hadn’t been used most of the year.

So, let’s sum things up:

  • SiriusXM plans auto-renew without an option to opt out of auto-renew.
  • SiriusXM’s best “listener care” is to not give a damn about one’s circumstances. After all, they’re a business.
  • If you don’t want SiriusXM’s $25 for 5 months deal, they will charge you $25 for 2 months instead, and then 5 days later charge you another $5 late fee.

SiriusXM is a bankrupt & heartless company who’s service is past their time. Stream radio through your mobile phone instead. Think about it, any company that won’t wave $25 to avoid bad PR doesn’t deserve your money.

 

UPDATE APRIL 20th, 2011:

After this blog post went live, I replied to Erwin’s heartless note:

Hey, on 3/18/11, I was in the hospital with my wife because she was recovering from multiple strokes & a heart attack. Do you really think checking my mail and contacting SiriusXM was a top priority for me? If so, you’re an idiot.

At 9:31pm, April 19th, I received the following reply:

Dear Mr. Miller,

Thank you for contacting SiriusXM. Please keep in mind that your concern is a priority and we value you as a customer. All of our customers are appreciated and each subscriber plays an active role in the growth of SiriusXM. This issue will be forwarded to the relevant department and your concerns will be investigated. This will, hopefully, further enhance the service which we provide.

We hope you are enjoying SiriusXM’s 100% commercial-free music and entertainment programming. We are committed to providing you with the best in listener care. If you have any questions, feel free to reply to this email.
And you can always manage your account online 24/7 by clicking

http://www.siriusxm.com/

Thank you,

Radian
SiriusXM Email Listener Care Team
1-866-635-2349

I also believe that they attempted to call me this afternoon, but I don’t talk to people on the phone while in my wife’s hospital room.  We’ll see what happens from here, but since they already have my money, I doubt anything satisfactory to me will occur.

On April 1st 2011, Pariahware turned ten years old! A big thank you to all of our customers over the years. We started out with selling MacOS 9 products, expanded into products for Windows, and then MacOS X products.  Last year our first iOS apps were launched.  Biblicious has been a wonderful seller, and I love to hear the feedback. We have lots of plans for it and just need to find the time to get them done.