This theme is beggining to feel old, but I think there are some thoughts I could share about it.

At first, Apple won’t let flash go inside its iPhone OS environment. Their reasons are on an open letter written by Steve Jobs. The other day, Adobe responded Apple using Apple’s way of target marketing: humiliating and mocking their adversaries.

We all know what’s in it. Apple is not required to let flash in, and they want people to work with their environment, learn to work with their tools. Damn, maybe they can even use Objective C to write real Mac applications. So, it becomes clear that Apple is not wrong here, they are only protecting themselves from the outside world (and trying to make some money, does anyone have a problem with that?).

But I have a real problem with an item on Apple’s “Thoughts on Flash”.

“First, there’s “Open”.”

Are you serious, Apple? You’re questioning Adobe for not being “Open”? So, what is your concept about Openness? It’s incredible that they can blame Adobe for not being “Open” AND say “You know, I know we’re not open. But we strongly believe that all standards pertaining to the web should be open.”. There is no need to study Apple’s way of doing business to know they don’t believe in what they are saying: They tell it to you themselves!

Apple, you have a great number of reasons to keep Adobe out. You do want to have a share on the sold apps, you don’t want people to be publishing games without your aknowledge, both because of the share and because of the apps’ quality. I can understand that much… I believe freedom of choice gives the best user experience, and would bring the best of luck to your iPhone OS platform.  You don’t, and it’s OK!

You don’t need to be making lame excuses to do something that is perfectly within your rights. Just do it and deal with the outcomes, but don’t use fallacies to make people infer you’re something that you’re not: An open, standards-supporting company.

It’s available here. This one was given by Alan Cannistraro and I still think they’re not sticking to the title of the class.

They’re not talking just about iPhone Application Programming, but about main programming paradigms, using iPhone to show examples. And because their focus is on iPhone programming, they doesn’t spend much time talking about the paradigms.

Noticed this leads us to a contradiction? This can’t be good, because they don’t go deep on iPhone Programming, nor in ‘Main Programming Paradigms’. Anyway, there are some good parts on the lecture.

It can be summarized as follows:

  • 10 minutes of review/administrative talk
  • 5 more minutes (trying to) explain the delegation pattern
  • 10 minutes explaining MVC
  • The interesting part: nib files
  • A look on iPhone MVC and Interface Builder
  • Assignment 2

If you need a look on the delegation pattern, I suggest that you visit this link. The lecture won’t give you any insights on why to use it instead of subclassing. It’s really a matter of flexibility (with delegation, you can ‘change’ the behavior of an object dinamically, without using flags and ifs).

For MVC, try this. Don’t be fooled: It is common to have the view to know details about the model (although it is theoretically possible to isolate them from each other).

For nib files or Interface Builder, this is a good introductory lecture. Give the assignment a shot: It looks great. You will learn how to change the state of the model object through a user message (touch) AND update the screen. This is fairly all you’ll have to know to create any simple application. The next lecture, ‘Views and Drawings, animations’ should give you a glampse of how advanced drawing works.

Can’t wait to get on that!

I’ve been watching Stanford’s class on iPhone Application Programming. This is the third of a series of posts regarding these lectures, which began here.

I just watched this third lecture(iTunes link), given by Evan Doll. The lecture is great if you don’t have out-of-school experience with memory management (and Obj-C). This is actually my case, and fortunately I was looking forward to have an opportunity to begin working with it. From this perspective, it was good to see that Obj-C, iPhone version, doesn’t have garbage collection.

I guess most of the memory management will be taken care by the pool’s autorelease. If that is the case, and manual handling is only needed with more particular situations, I believe the the language can be productive (and help people write better apps). I guess one will only be sure about the frequency of use of each technique by actually using the language. Can any experienced Obj-C developer talk about this? Go for it in the comments section, and thank you for sharing.

Well, although this was a fine talk for me, the lecture seems too focused on ‘things that you will do offen’ and less on the internals of the language and platform. There were a number of questions that stood unanswered. Examples:

  • Does something happen under the hood if I call ‘dealloc’ directly?
  • What is the meaning of assigning something to ‘self’?

I’m sure there were others: If someone remembers any, just post on the comments. I’m gonna try to look for the answers and post here another day.

I’m not saying that don’t going deep is a bad thing — not at all, it allows people to focus — but I think many people will want to go a little deeper.

Note: Lecture four is already on Stanford Channel on iTunes U. Download it here(iTunes link).

While reading this post from, I started thinking about the following issue: What iPhones have that other phones don’t?

Although I really advise you to go through the whole post, I’m gonna summarize it: He went on an event that was full of iPhone development rockstars, and they didn’t have a clue about (or at least, didn’t have plans to develop to) other mobile platforms. Yes, I’m talking about Ovi store, BlackBerry App store, and the like.

The reason they hadn’t heard about them is fairly one (as Ewan pointed out): Monetisation.

Well, back to our point: What the hell iPhones have that other phones don’t, to have that much monetisation potential?

Is it just the Apple repeating the concept of selling a complete solution (this is called Vertical Integration), like they did with iPod and iTunes? I don’t really think so. Clearly it’s nothing technical too: Ok, iPhone is sexy and cool, but wasn’t Motorola V3 sexy before it?

The reason why iPhone sells more apps than any other platform does or will (at least percentually) is because it is not ONLY a phone. I’m gonna remind you of what happend on the last few years:

  • Apple releases iPod touch, which is essencially an iPod, but the sexiest iPod they ever had, with plenty of other stuff in it;
  • Some time after, Apple releases iPhone, which is really an iPod Touch, but sexier: Now it was also a mobile phone!!

So, I think the release of iPod Touch before iPhone was really, really important, because it made people see it as more than a telephone. It was a smartphone.

Now, when you buy a smartphone (look, I’m not talking about someone that is just trying to buy an expensive phone), you don’t want it just to make calls. You want music, maps, games, you want the world on the phone. You can have this with nearly any (expensive) smartphone today, but iPhone users are just more aware of that. That’s why they’re such a HUGE market for app developers.

I’ll talk later why I think that Ovi, BlackBerry store and the like will be also a great success in the future.

iTunes U is a service provided by Apple for managing and distributing educational audio and video content. It is available through iTunes, as you probably figured out. It is a great place to learn new things, as long as they’re available. It’s also a great way to promote schools and courses throughout the world.

Turns out that Stanford University has a channel on it, and the latest course available is ‘iPhone Application Programming’. Now it is getting interesting…

The first two classes are already available, the first one was just OK, as Evan Doll (the Lecturer) talked much about stuff that don’t really matters for us, non-stanford-beings. Anyway, looks like it will be a great, hands-on, course. Ideally for those who are looking for the first successful apps at Apple Store.

Brazilian Universities could really this kind of marketing… But I don’t know of any that is using iTunes U. Do you?