Sep 03

The more I think about the possibilities of iOS apps on the new Apple TV, the less likely I think it will be. The two main stumbling blocks are:

  1. The difficulty of translating a touch interface to a TV screen.
  2. The new Apple TV has no storage; it’s a streaming only device.

But all may not be lost. I think the new AirPlay could open some interesting opportunities. A game that you play on your iPhone is very personal because of the small screen. But if the content of the iPhone screen was streamed to your TV then your friends can follow the game too.

Expand this to games that can utilize multiple devices, like Scrabble, and you can imagine some really interesting game play.

Granted all these devices will quickly add up in cost way beyond a Wii. But for an iHousehold most of these devices are probably already owned, including a few retired iDevices.

Another interesting aspect of this setup is that you don’t have to carry a stack of DVDs over to your friend’s house, you probably already have your iPhone with you and it is ready to play.

What do you think? What kind of entertainment apps would you like to play this way on your TV?

written by Nick \\ tags:

Sep 01

The fantastic rumors finally faced reality today when Apple presented their new fall lineup of devices. Here are my thoughts as an iOS developer on today’s announcements.

Live Streaming

It was great to be able to watch a live stream of the event instead of having to refresh half a dozen browser windows from various live bloggers. Rumors claimed that this might be a load test of Apple’s new data center. In reality the stream was served by Akamai (Apple’s longtime CDN partner) as evident by the edgesuite.net URL.

New iPod Nano

A new touch screen that looks very much like iOS. Except according to an Apple spokesman backstage, it isn’t iOS. That’s too bad. This would be a fun little device to write apps for. We’ll keep our collective fingers crossed that Apple will allow iOS-like apps to run on this device in the future. In the meantime I’m sure the jailbreak community will take a closer look at what’s really under the hood and find a way to run code on it.

New iPod Touch

Nothing unexpected here. Slight disappointment that the main camera is rather poor. If you’re relying on the camera for things like bar code scanning, this could spell trouble. I wonder if this “downgrade” is due to cost, a physical space constraint or a reflection of Apple’s intended audience for this device?

iTunes Ping

Apple is not content on just having an iTunes presence on Facebook, they want to be the social network. With 160 million credit card carrying iTunes users, they definitely have a running start. I really liked how they emphasized the privacy controls in Ping; a nice jab at Facebook.

As a developer I want an API to integrate with Ping. I think one of the critical success factors of Facebook is that they have established themselves as the social platform. A more integrated social platform within the iTunes/iOS ecosystem could be very interesting. Which of course begs the question of how does Game Center fit into this? Since both Game Center and Ping use iTunes accounts as the user identifier, it seems possible to merge or integrate the two in some way in the future.

New Apple TV

Smaller and cheaper, but nothing revolutionary. I love how Steve Jobs sells the idea of removing something (storage in this case) as a great benefit.

John Gruber claims that the new Apple TV does run iOS. It may be splitting hairs, but in my mind iOS implies UIKit, which is heavily oriented towards a touch interface, which I did not see much of in the demo. We’ll keep hoping that there will eventually be 3rd party apps and an App Store for the Apple TV.

For my media center, I will probably stick with my Mac Mini with Plex for now.

iOS Updates

iOS 4.1 is being released next week. Since we’ve had beta versions for a while, that’s no surprise. iOS 4.2 is coming in November which will be the first 4.x update for the iPad. While November technically qualifies as “fall”, it would have been nice to get all the 4.x goodness a bit sooner.

Overall 3 major OS releases within the span of 6 months is just a relentless pace. I wonder when the iOS development team at Apple last had a vacation? The competition is not sitting idle either, it’s definitely a great game to watch unfold. A huge benefit that Apple and iOS enjoys is the ease with which customers can upgrade to the latest iOS version. This greatly simplifies the life for us developers in that we can to a large degree assume the the latest version as a deployment target.

AirPlay

I think the most interesting announcement was AirPlay. This is an improved version of AirTunes. Now you can share audio, video, and photos with meta data between iOS devices (running iOS 4.2) and compatible accessories. A cool demonstration of this was at the very end when Steve Jobs was watching a movie on an iPad and then shared the video stream with an Apple TV. It’s not a stretch to imagine that the screen of any iOS app could be shared this way. I wonder if this is what the rumors about iOS apps on the Apple TV (nee iTV) were really based on.

written by Nick \\ tags:

Jul 07

I’ve updated the App Store Rejection Reasons page with a few new items related to the iPad UI.

written by Nick \\ tags:

Jun 29

Today Apple announced their new iOS 4 Readiness Checklist. As a trailing sentence, almost as an afterthought, was this: “In addition, the App Store will no longer support applications that target iOS 2.x.”

That last sentence can be interpreted in several ways:

  • You will no longer be able to upload apps to the App Store that target iOS 2.x.
  • The App Store will really not support 2.x apps anymore and all such apps will therefore be removed.

The interpretation could have a significant impact on existing apps for several of our clients, so I called Apple for a clarification.

The official word is that going forward you will not be able to upload new or update existing apps that target iOS 2.x. All existing apps in the App Store will remain for sale even if they target iOS 2.x.

That of course is the sensible path. Although a general cleanup of the App Store to get rid of old apps that have not been updated since the 2.x days, might not be a bad idea…

written by Nick

Jun 15

It’s clear that Apple is feeling the heat from the competition in the mobile space. Matt Drance eloquently analyzed Steve Jobs keynote presentation on the first day. The avalanche of information just accelerated during the rest of the week. The expression “drinking from a fire hose” came up frequently in conversations during the week.

In a previous life I was an enterprise Java architect and dutifully made the annual pilgrimage to the JavaOne conference. In the beginning of Java, the language and the API:s were small enough that you could grasp everything. But at one point everything exploded and there was no way to keep up with all the new API:s and all the new things Java was attempting to do. I feel that we’re approaching that point with iOS (formerly known as the iPhone OS).

The complexity of the platform has also increased. Take multitasking for example. Managing database connections and open sockets when your app is transitioned between the active/inactive/running/background running/suspended states, is not trivial. Neither is scheduling a background task to complete when your app is about to stop running, while also dealing with the fact that the background task can also be interrupted. And this is just one set of new API:s.

Recently I’ve been doing some code reviews for clients. One of the first things I do is to run the static analyzer. When that comes back with 170 warnings, I get disappointed. Why would you as a developer ever release code that has over a hundred memory warnings? Especially when the static analyzer is one of the easiest Xcode tools to run: just select Build and Analyze instead of Build from the Build menu. Apple is releasing a slew of new tools and instruments to help you analyze and tune your iOS apps. These tools are very powerful, and they definitely have a learning curve.

Don’t get me wrong; I’m not complaining. On the contrary I think this is all great for us professional iPhone developers. Keeping your skills up to date with the latest tools and technologies is the best way to stay ahead of the pack. For consumers it’s even better. Without investing any time or effort we get to enjoy the fruits of the accelerated innovation coming out of Apple and the competition.

written by Nick \\ tags:

Jun 07

Sorry about the lack of posts here lately. I’ve been working overtime to clear the decks with existing projects so that I can enjoy WWDC.

If you’re at WWDC don’t hesitate to say hi if you see me. I’m also open to party invitations and more serious meetings to explore business opportunities. ๐Ÿ™‚

written by Nick

Apr 14

Unfortunately my schedule will not allow me to attend the Voices That Matter – iPhone Developer’s Conference in Seattle, April 24-25. Therefore I will give my ticket away to a reader of this blog.

Just write a comment to this blog post stating why you want to go to the conference, and I will pick one entry as the lucky winner. My selection criteria will be as secret as Apple’s App Store approval process, and my decision is likewise dictatorial. ๐Ÿ™‚ But since the conference is coming up soon, speed is of the essence.

Be sure to provide contact information in your comment so that I and the conference organizers can contact you. Your contact information will not be published.

Update: The lucky winner of the free ticket is John Depue. Congratulations! And feel free to write a guest post for the blog on what you learned at the conference…

written by Nick \\ tags:

Apr 01

For the past couple of weeks we’ve been fortunate to have access to two iPads. Per the rules, they’ve been tightly locked away in a secure, windowless room that we affectionately have come to know as the dungeon.

One day — this was before Apple had posted more detailed tech specs on their web site — one of the iPads fell on the floor. Gasp! A quick examination showed no cracks in the screen. Relief! But something was definitely amiss. The screen no longer rotated to match the orientation of the device. Our first thought was that the accelerometer had broken, and we irrationally started thinking about how to explain this incident to Apple. “You know those two super top-secret devices that you were gracious enough to loan to us… Well something happened to one of them…” [duck, cover, insert earplugs]

Shortly thereafter one of us noticed this small button on the right side of the iPad. “I wonder what this does?” Of course it turned out to be the screen rotation lock button, and once flipped back, the “broken accelerometer” started working again. ๐Ÿ™‚

So after surviving this near-death experience, we decided to go for broke. What else could we do with these devices? Video out is an interesting feature if you’re using the iPad to make a presentation. But we’re not PowerPoint guys, we’re developers. And as a developer you know you can’t have enough screen real estate when you’re working. The latest iMacs have this cool DisplayPort input feature whereby you can use the iMac screen as a monitor. Hook two 27″ iMacs together this way, place them side by side and you have a pretty decent development environment. (Granted, downgrading a full iMac computer to be used as a monitor might be seen as a waste of money. But it’s all about esthetics. Having two identical looking monitors side by side on your desk is just more zen.)

Would the iPad have a similar feature? Apple is known for building in secret features and capabilities into their products. And since we didn’t have any tech specs or even a manual to explain trivial things like the screen rotation lock button, there was only one way to find out. After hooking the two devices together, it took some trial and error to get the right startup sequence (turn on the master first, then the slave display). But it worked!

You’ve probably seen Microsoft’s concept pictures and videos of their Courier tablet, which has a two-screen clamshell design. Of course Apple had to one-up them with a dual display setup for the iPad.

If you had a difficult time transitioning your apps from the good old 320 x 480 “fixed” display size to the larger iPad screen, then just try to wrap your head around a dual 768 x 1024 display. No more 4:1 pixel ratio. And if that’s not enough, imagine one of the displays in portrait mode and the other in landscape mode. How does your app cope with that? As you probably know by now, the iPhone OS does not give you much support in handling different interface orientations or different screen sizes. Each app has to deal with that in its own way. But there seems to be a new framework that may offer some help today. In the Private Frameworks directory, checkout the new ITSaprIlfoOLsdAy.framework.

Update: Sometimes reality is stranger than fiction. It has just come to my attention that there is an app for the iPad that extends your OS X desktop onto the iPad, effectively making it a second screen. The app is called iDisplay. But before you rush to install it you might want to checkout this review.

written by Nick \\ tags: ,

Mar 12

As consultants and developers for hire we often don’t get to put our name in a product we work on. Sometimes we are not even allowed to reference the client or even mention that we were even part of the development effort. That’s part of the job description, and I’m ok with that.

What’s not ok is when people try to take credit for work they didn’t do.

Recently I’ve been contacted by several companies trying to sell their iPhone development services to me. I’m not interested in outsourcing the core of my business to another company, but I sometimes play along just to hear their pitch. One of the first things I ask for is references. What apps, available on the App Store, have you developed?

Here’s how the conversation went with the Business Development Manager at a company called Backfire Solutions:

– In the document with references that Alexa Shame sent me, you list an app called Curious George. Can you tell me what your company’s role was on this project?
– Full lifecycle development.
– Very interesting. What would you say if I told you that a colleague of mine developed this app?
– That is very strange because we developed that app.
– I’m looking at the source code for the app on my computer screen right now and I see my colleague’s name in the headers, but not yours.
– Uhmm. Please hold a minute, let me talk to my project manager. [Typing furiously, presumably in an IM window.] Actually, we just did some image work for that app.
– So not really any full lifecycle development?
– No. And actually we’re not really allowed to reference this client. Please do not talk to them about this. Is it ok if we sign an NDA now?
– Let me get this straight: You claim to have developed apps that you didn’t, you provide client references that are not really references, and you share client confidential information when soliciting new business. Did I miss anything?
– Uhmm.
– Good bye.

As a developer I get really upset when people claim that they have written code that they clearly had nothing to do with. But I’m not a spiteful person so I was going to let this go. That was until Backfire Solutions called us a second time! This time it was a colleague of mine that took the call, and they launched into a similar sales pitch. This is how you end up on the iPhone Developer Wall of Shame.

The next story comes courtesy of Rutabaga Makeincident at As*h**e Designs. He claims his 11 programmers are “are sort of expert in IPhone”. When asked for references he sent over a list of iPhone apps that included Twitterific.

– Twitterific? Really?!
– No reply.

Repeated attempts to clarify their role in the development of Twitterific were met with silence. I assume that they realized that their bluff had been called and they were busy working their next lead โ€” one that hopefully would not question their references.

How do these companies think they can get away with such blatant lies? My guess is that they don’t realize how small and tight the iPhone development community in the U.S. is. I’m probably not more than two or three degrees of separation away from any professional iPhone developer based in this country. So if I don’t directly know the developer of an app, chances are that I know somebody who does. Within a great community like this, it’s very easy to verify who actually developed an app.

I know I’m not alone in getting these solicitations. Please share your stories in the comments.

Update 11/22/2010: Mr. Rutabaga Makeincident has contacted me with a “Concern” about what I wrote about him and his company in this blog post. This of course made me concerned too, and I offered to immediately correct anything that was factually incorrect in what I have written. After further conversation it turns out that there wasn’t really anything wrong with what I wrote, he just wanted his name removed from this web page.

Mr. Rutabaga furthermore said that his prior fraudulent claims about his company’s credentials was a mistake, and he profusely apologized. I think we can all agree that lying to potential customers is a big mistake, and I offered to publish his apology. From there the conversation degenerated into threats, culminating with “YOU HAVE TO PAY US FOR THIS 1000 USD FOR SPOIL REPUTATION”. It wasn’t sent with letters cut out from a newspaper, but I guess this is as close as you can get to a ransom note via email.

To be clear: I have no experience with, or knowledge of the quality of the work performed by the companies mentioned here, and I make no such claims. (In fact there are comments below from apparent clients who have had success in working with with them.) I have merely reported the sales tactics these companies use with potential new clients, based on actual conversations that these companies initiated with me and my company.

Update 11/23/2010: I have been advised that giving in to extortionists demands is actually a good thing. My point with this post was to expose shady business practices in our industry, not necessarily hanging out the bad guys to rot. Therefore the names above have been altered to protect the not so innocent.

written by Nick

Feb 26

Even though we just received a foot of fresh powder snow, conference season is already here. Are there any conferences you should/must attend as an iPhone developer? The answer will of course depend on your personal situation. I don’t like to travel much, but I really enjoy meeting fellow developers and to put faces to blog signatures and Twitter handles. So here are some upcoming conferences where you might meet me.

Mobile World Congress

This conference took place in Barcelona February 15-18. We had one of our developers speaking there, and at least one of our clients was there too. This is mainly a business conference and the focus is not on the iPhone. Apple is not one of the exhibitors. Microsoft was there in big force showing off an early build of Windows Phone 7 Series (nice name!). Global telecom companies announced a planned Super App Store where the unstated goal is to take away some of the power from Apple. (Good luck with that.)

NSConference

Traditionally a Mac developer’s conference with some of the world’s best Mac developers as speakers. This year they added a day devoted to iPhone programming. The 2010 conference has already taken place and Jeff LaMarche has a nice write-up.

CTIA Wireless – March 23-25, 2010 – Las Vegas, NV

This is the U.S. counterpart to Mobile World Congress. It takes place in Las Vegas every year. Like MWC it’s primarily a business conference, but with more focus on the U.S. market.

Don’t expect to learn any new Cocoa Touch skills here. But if you need a tax deductible reason to go to Vegas, this might fit the bill. Or if you just want to speak your mind to the AT&T executives Ralph de la Vega and Randall Stephenson, they’ll be there.

360|iDev – April 11-14, 2010 – San Jose, CA

I was a speaker at 360|iDev in Denver last summer and I really enjoyed the conference. It’s a small and intimate conference where you really get a chance to interact with both speakers and attendees. Both attendees and speakers were top-notch, and I learned a lot as well as made valuable connections.

The early bird pricing is already sold out. But the regular cost for three jam-packed days of sessions is still very reasonable.

Unfortunately I will probably not be able to attend this conference. I’ve got a few iPad projects that need to be wrapped up right around that time.

Voices That Matter – iPhone Developer’s Conference – April 24-25 – Seattle, WA

I have not been to this conference before, but the speaker lineup looks really good. The first day has a whole track devoted to UI design. This is something that I’ve been deeply involved in recently when porting iPhone apps to the iPad. (“Porting” is probably the wrong word here. “Redesigning the user experience from scratch” is more accurate.) On the second day there are several sessions that I plan to attend: Cocoa Design Patterns, Memory Management, Performance Tuning and Effective Networking. You can’t learn enough about these topics, and the opportunity to learn from some of the best in the business can’t be passed up.

Early bird pricing is available through March 12. And if you use the discount code “PHBLOGS” you’ll save an additional $100.

Full disclosure: I’ve been offered a complimentary ticket to the conference. If my schedule does not allow me to go, I will give the ticket away to a lucky reader here on the blog.

written by Nick \\ tags: