• Is Apple evil?

    Awhile back, I wrote that developers that wanted to write iPhone apps should just deal with Apple and the AppStore approval process as the upside of getting an app in the AppStore could be huge. Well, I've read lots of stories about the AppStore approval process and my views have changed a bit. Apple rejecting Google's Google Voice app and pulling other Google Voice apps really would have ticked me off as it could easily have happened to me. When I created GrandDialer last summer (GrandCentral turned into Google Voice and GrandDialer was basically the first Google Voice app), my only problem getting it in the AppStore was that I had to change the color of the dialpad so it didn't look like the iPhone's dialpad. Then the stories about dictionary apps having to get a 17+ rating because you can find bad words in it is just baffling.

    I'm not sure I'd want to create an app for the iPhone now without some financial backing as the risk is too great for me to go at it alone. I could spend a lot of time on an app and only have it rejected by Apple with little to no explanation why. Maybe Apple could review the ideas first (yes, I realize that is a huge undertaking), but it could help out developers that want to invest time. Even if developers had to pay some amount for this, it would definitely be worth it.

    Am I going to develop for another platform? For better or worse, I really don't write code anymore. The iPhone platform is great for developing, but the closed nature of the AppStore makes it a crapshoot to develop applications that will see the light of day. Is the Pre or Android any better? I have no idea. The huge success of the iPhone has caused a huge following and lots of applications; if the other platforms were this successful, would they see problems with their stores? Maybe. There must be a better way to not tick off developers as people acknowledge that the availability of apps makes or breaks a smartphone.

  • The honeymoon is over

    Yesterday I wrote about using Passenger (mod_rails) for deploying Ruby on Rails applications. Well, this morning, I ran into my first problems with it. I had reports that WebDAV wasn't working. After trying a bunch of ideas that I read about, I finally decided to try changing the load order of the Apache modules. I set Passenger to load first and then WebDAV load later. That amazingly fixed the issue; if it hadn't, I would probably have had to scrap Passenger which would have been a huge disappointment.

  • Get with the (electronic) times

    Today I went to submit for reimbursement from my flexible spending plan. Since I scan in all my receipts, assembling the information was quite easy. Our plan allows us to use a "wizard" to prepare the reimbursement. It generated a PDF cover sheet with all the information filled out. I added all my receipts (stored in Paperless), filled it out using PDFPen, added my signature and had one massive PDF. The form said to mail it via USPS or fax it. Since I pay $0.10 per page to send a fax via j2, I printed out the 13 pages, shoved them in my fax machine and sent it (the fax number was toll-free, but I have unlimited calling, so it didn't matter). Now if I had been able to upload the PDF to their web site, I would have saved the paper.

  • Dealing with Ruby on Rails Applications

    When I first launched my first web site in Ruby on Rails (RoR) to get my store for ReceiptWallet (based on Potion Store) going, I learned a little bit about performance. A basic RoR application is launched each time a user hits a web site; this, of course, is only for development and isn't practical for a production site. I opted to use lighttpd and FastCGI which worked well. However, modifying an part of the application required killing processes and restarting lighttd.

    As a learned more about RoR and had to deploy more applications, I started using mongrel as we had a bug with lighttd that caused our application to not handle uploads. So I've been using mongrel for a bunch of RoR applications on 4 separate servers. Things work OK, but each time an application is updated, I have to either restart all of mongrel or kill individual processes and restart them (if I restart mongrel, non-updated apps get restarted and could disrupt people).

    Last night as I was trying to catch up on some of my research (quiet time is only at night and allows me to leisurely do research), I came across Passenger which makes deploying RoR simple. All I have to do is setup the virtual host and point it to the RoR's public directory and presto; this is in comparison to setting up mongrel with proxies from Apache. In addition, in order to restart an application after I update it, I just do 'touch tmp/restart.txt'. Wow, that's easy!

    Is Passenger the holy grail for managing my RoR applications? It's too early to know, but I'm optimistic.