Apr 16 10

Google Cloud Print To Allow Printing From Wireless Devices

by Jon Holato

According to Google, Google Cloud Print is a service that enables any application (web, desktop, or mobile) on any device – Windows Mobile, Blackberry, iPhone, iPad, Palm WebOS, Android, etc. – to print to any printer using the one component all major devices and operating systems have in common — access to the cloud. Google Cloud Print will submit and manage print jobs in the cloud rather than on a user’s local machine.

Let’s take an example to help illustrate this. Once Google Cloud Print is deployed and Google has built support for it into their Google Docs suite, I could open up a Word document my fiancee sent to my Gmail account in Google Docs on my iPhone and say Print. Then, with Google Cloud Print the print job will get sent from my iPhone (which is really in the cloud on Google Docs) to my home printer or whichever one I have setup to print the document, and once it’s finished printing I’ll get a status back on my iPhone saying whether the printing was successful or not.

Pretty awesome and this definitely addresses all the iPad printing critics.

Apr 15 10

Next Generation Devs Prefer Linux, PHP Over Windows, JAVA

by Jon Holato

Speaking at the 2010 Palmetto Open Source Conference, Forrester analyst Jeffrey Hammond proclaimed that the upcoming generation of developers are more familiar with Ruby and PHP than Java or .Net, and that they prefer to develop and deploy enterprise and Web applications on Linux rather than Windows or Unix.

Hammond’s research has led to conclusions that as the new developers come in and replace the old, dynamic languages such as Ruby and PHP will also replace Java and .Net. I completely disagree with this. To their credit, they contend that it would be a slow process to replace Java and other legacy languages and that they do have a decent shelf life, but I don’t think they’re seeing the big picture. Some of these legacy languages like Java have continued to be enhanced to stay relevant and are now incorporated into new computing methods which are only now in their infancy such as cloud computing. With Java now providing a lot of the muscle in many cloud computing solutions it’s certainly going to be around for a while in this respect.

Another reason I disagree with this is from a business perspective. A developer is generally told what language they need to develop in based on business need (existing or new requirements). It’s not the developer who tells the business what the requirements are. :)

Feb 28 10

Apex Data Loader for Mac OS X

by Jon Holato

The Apex Data Loader for Salesforce.com is a tool with an easy to use GUI to interact with your database – insert, update, delete, export, etc. Unfortunately the Data Loader magic is only natively supported on the Windows platform. However Mac OS X users are no longer excluded from the party, as the Data Loader has been ported to OS X under the name LexiLoader.

I’ve installed LexiLoader and given it a test drive in my developer sandbox and I’m happy to report that it works just like the native Windows version. Below I’ve included some screen shots of LexiLoader.

Dec 22 09

MacBook Pro = Dead

by Jon Holato

My four month old MacBook Pro is officially dead. She took a turn for the worse last week and I had been hoping for the best, but alas now all hope is lost and she is sitting at the Apple Store awaiting a hard drive transplant to bring her back to life.

Things started looking bad last week when it tried to perform Spotlight Indexing and it said “78 Hours Remaining…” Then they got worse after a reboot when the computer wouldn’t reboot. The worst part about it is I didn’t have anything backed up! The best part about that is that Carin got me an external hard drive for Christmas! Oh the irony!

So I booted off the Snow Leopard CD and plugged in the external hard drive. The Disk Utility failed so I couldn’t repair the hard drive, but through the Terminal I was able to save many of the files by copying them to the external drive — most importantly our pictures (however the iTunes folder is adios).

Last night I went to the Apple Store and after explaining the situation to them they took a quick look at it and confirmed my synopsis but unfortunately didn’t have the part I need on-site. So they ordered a new one which will take a few days to come in then they’ll swap it out and let me know when it’s ready — all free of charge.

Apart from having to get my iTunes music back via my iPhone or other Macs which is my fault for not having my data backed up this is more of an annoyance than anything else of just not having my MacBook Pro. Apple has been great thus far and we’ll see how they are throughout the rest of the process. Note to all: backup all of your data no matter how new your computer is!

Aug 30 09

SQLite Database Caching On iPhone Simulator

by Jon Holato

As I was doing some development on my iPhone app yesterday night and this morning I ran into an issue that I figured I would blog about and hopefully it may be of use to some stray Googler in the future.

In a nutshell, the issue is that the iPhone Simulator caches the SQLite database in a local Mac OS X directory to improve performance, so I was getting runtime errors about tables not existing from the Xcode Console, which of course was driving me absolutely mad since the SQL file itself in the project bundle showed the database table being there!

After double and triple checking my models and controllers, and verifying that everything was hooked properly in my NIB files, I set out to do some Googling to see if I could determine what could possibly be wrong. As mentioned above, I knew the table in question was in the database, because if you opened the .sql file you could see it plain as day. But at the end of the day it seems that deleting your old database file from Xcode and adding the new one simply may not be enough, as in my case I had to actually go to the directory on my Mac where the iPhone Simulator stores all the files it uses to build the apps and delete the directory of the app I am building. Then, upon re-building, it pulled a fresh copy of my files (with my new database) and voila!

So, where is this mystical iPhone Simulator directory? It’s a bit of a hike but to get there just follow this path:

/Macintosh HD/Users/<username>/Library/Application Support/iPhone Simulator/User/Applications/

Once you’re in there you’ll see a bunch of directories with some cryptic directory names. Just browse around each one until you find the application in question and then delete the one you need to.

That should do it. Once done go back to Xcode and Build/Run and your updated SQLite database should be brought into your project. Hope this information helps someone. Any questions feel free to ask in the comments.

Aug 30 09

Update On The Blog

by Jon Holato

Just wanted to a drop a quick line to give my readers an update on what’s been going on. Contrary to what some may believe, this blog is not dead and continues to live on. :) The lack of posts lately is attributed to continued massive workload at my day job and working on an iPhone app in my free time, as well planning my wedding in Italy next year.

That’s all she wrote for now, I gotta get back to Xcode and Interface Builder, more posts to come soon (hopefully).

May 3 09

Linux Market Share Reaches 1%

by Jon Holato

According to an April 2009 report by Net Applications, the Linux operating system is now being used on just over 1% of computers worldwide (Linux collectively not just a single distribution). The exact percentage of computers running Linux last month was 1.02%, which translates to roughly 16 million Internet users across the globe, give or take a few. The growth of Linux has been very rapid of late, as last month’s rate of expansion was 0.12%, compared with the average monthly rate of 0.02%.

The trend is clear. Linux is surging in popularity more than at any point in its history. I believe this increase in adoption has increased for a few reasons. For one, the progress made by developers of the various Linux distributions. Distros like Fedora and more recently Ubuntu have seen astronomical advances in terms of making Linux more user-friendly so that someone without any unix-related experience can easily use the operating system. Secondly, cost. Most Linux distributions have been and will continue to be free (or will offer some sort of free version). In a severe economic recession like that one we’re facing now, many companies, educational and government institutions, and individuals are more likely to try Linux as an alternative to the higher priced Windows and Mac OS X operating systems. Certainly for businesses looking to cut costs this is a very appealing option.

So, I tip my cap to you Linux. I have loved you since you helped me blaze through my Intro to C++ class back in 2002. And I wish you nothing but continued success! :)

linux market share

Apr 15 09

SlingPlayer for iPhone Rejected by Apple at AT&T’s Request?

by Jon Holato

In January of this year Sling Media announced that they were developing a version of SlingPlayer for the iPhone. This generated a lot of buzz as the SlingBox is an extremely capable product with a devout following.  For those unfamiliar with Slingboxes, they allow you to stream video from your TV at home to remote devices such as computers and mobile devices (you can even perform actions like controlling your TiVo remotely, etc).

SlingPlayer mobile for iPhone

Sling Media has already developed SlingPlayer for platforms like Windows Mobile and Blackberry, and there has been a lot of anticipation around an iPhone offering. That said, there was also some that were worried about developing SlingPlayer for the iPhone, given Apple’s notoriously strict App Store acceptance policies, often without rhyme or reason.

A few days ago Sling Media submitted their SlingPlayer for iPhone application to Apple for review and acceptance in the App Store. This again stirred up the debate about whether or not the device would be approved by Apple, and alas the hour of reckoning has come and SlingPlayer for iPhone has been rejected (for now). According to Sling Media PR, the program was developed to specifically adhere to every Apple guideline for applications, user interfaces, etc. This leads to the obligatory WTF?

According to sources at BGR, SlingPlayer for iPhone was rejected entry into the App Store due to an executive decision made by Apple. Word circulating the Internets is that AT&T petitioned Apple to reject the app due to worries about bandwidth consumption . If true — and BGR is notorious for having accurate inside information — I have bugs to pick with both AT&T and Apple regarding this action taken by AT&T.

For one, there are already a number of other AT&T Windows Mobile and Blackberry devices on which users are able to use the SlingPlayer application. So their argument about bandwidth is pitiful, they’re already letting users of other devices use it. Granted, the number of iPhones in comparison to those other devices is astronomical, but there’s got to be some law or regulation against restricting the bandwidth of the same program on different platforms when both utilize the same network — at a minimum it’s horribly unethical.

Secondly, Apple. When did you start letting telco’s dictate what software can and can’t be allowed on the iPhone. Apart from allowing VOIP apps to run on cell networks (which is a legitimate excuse) and other apps that may interfere with AT&T’s revenue model, there is no excuse for this. AT&T says it’s gonna use too much bandwidth? Puh-lease! There are a number of streaming video apps already on the iPhone that AT&T didn’t bark about: Joost and UStream to name a few. Also, what is the point of offering users unlimited data plans if you’re going to restrict how much data they can use – and not just restrict it by capping it, but even going so far as to not allowing software that may use a lot of bandwidth. It’s total crap and my affection for AT&T continues to dwindle, they probably have a competing product in the works and the bandwidth complaints are just a cover. And Apple, shame on you as well for allowing a telecommunications provider to control innovation on the iPhone. Continued behavior like this will allow platforms like the Palm Pre and Android to catch up to you.

</rant>, users…thoughts on this?

Apr 13 09

First Impressions on Objective-C and Developing with the iPhone SDK

by Jon Holato

One of my New Year’s resolutions for 2009 was to get off my arse and write an iPhone app and get it published in the App Store. Not much progress was made in the way of attaining this goal during January and early February of this year, as the 60-70 hour work weeks have steadily continued from last year into this year. However, in mid-February I finally got the motivation to get started on this endeavor. I ordered an Objective-C book and an iPhone SDK Programming book from Amazon and eagerly awaited their arrival.

A few weeks later they arrived in the mail and I began to dive into iPhone programming. I recall big Steve saying back in the day that for anyone wanting to program on the Mac (and thereby iPhone since it runs Mac OS X) they ought to learn Objective-C, as that is the main language that Mac applications are written in. So I started off with the Objective-C book, reading the first hundred pages or so.

Most of the high-level concepts of the language are very similar to what I already know. My first real programming class (html doesn’t count) was back in the fall semester of 2002 at community college in California, an Introduction to C++ class. At the time I loved that class, I was using Red Hat 7 and writing everything in EMACS and compiling via the command line with gcc. It was great and I had serious aspirations about being a computer science major. Alas, the advanced mathematics requirements and me didn’t mesh well so that was the end of my computer science experience in college. After college I was heavily involved with a friend’s nightlife web site called Partybody and over the course of 6 months to a year taught myself PHP. Over the past few years since then I have become fairly knowledgeable in PHP and have started branching out into other languages like Python and Ruby. The reason I mention all this is because in my experiences with Objective-C so far, the fundamentals seem to be pretty similar (variables, loops, function, etc.), albeit the syntax is a bit different, which is where the real learning curve comes into play.

Despite using a completely new language, I’m utterly thrilled at the amount of progress I’ve been able to make so far in the little time I’ve had to devote to iPhone programming. Apple’s IDE Xcode is shaping up to be the best programming tool I’ve ever used — which says a lot because I absolutely love Coda. Fact is the CodeSense built into Xcode is phenomenal!

Additionally, I must say thank you to Stephan Kochan, author of Objective-C 2.0, and Dave Mark & Jeff LaMarche, authors of Beginning iPhone Development, their two books are very easy to follow and unlike most programming books I read, they’re actually teaching me something!

As I said before I read about 100 pages in the Objective-C book before switching over to the Beginning iPhone Development book, of which I am currently on Chapter 8. But already I have been using Xcode and Interface Builder extensively, and Apple’s iPhone Simulator software is truly remarkable.

After only a few hours of programming I’m starting to churn out real-world type applications that I feel I can later reuse the code base into developing my own apps to submit to the app store. I haven’t had this much fun developing in ages!

iphone app tab bar with slot machine

Now if only I just had some more free time to code….I can’t wait to see the results. :)

Apr 9 09

Apple Opens Push Notifications to iPhone Developers for Testing

by Jon Holato

Today Apple starting sending out emails to many of its iPhone developers inviting them to start live testing the upcoming push notification service that will be part of iPhone software 3.0. Until today the push notification service, which Apple has been working on for over a year, was limited to a small subset of developers.

As a reminder, Apple’s push notification service comes in lieu of true background running applications, which the company says chew up far too much battery life to be resourceful. They claim that companies such as RIM and Microsoft that feature true background applications are sacrificing as much as 80% of idle battery time, whereas the push notification service will only consume 23% idle battery time.

Under the push notification service umbrella, third party applications on the iPhone will be able to listen for data on a network channel capable of sending and receiving messages even after the applications have been closed. This allows resources to be freed up while still having the ability to receive incoming data transmissions. For example, if I signed onto AIM but closed the application, AIM would cease running in active memory on the iPhone, but I would still be notified of any instant messages I received via the push notification service.

In the email sent out to developers, Apple instructed users to log in to the iPhone Dev Center and download the push notification programming guide and getting started video.

apple push notification service