Apple changes their iPhone user agreement to forbid use of private APIs

So.. it seems Apple changed this week their iPhone OS user agreement to include the following:

“3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.'”

This is most of all a stab in back of Adobe, who was planning to launch on the 12th April their new Flash CS5 that included a Flash-to-native compiler that now becomes… not so useful.

True evil stuff no?

Update: I was told that the particular bit I mentioned has been in for a while but has been extended to the following:

3.3.1–Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

They are restricting people to use a particular technology that is as valid as any other. And in that sense it is evil I think.

On the other hand, Apple had already made it clear they would not support Flash on the iPhone/iPad so I guess it is only natural that they oppose any attempt by Adobe to circumvent that.

Stack Overflow Dev Days in Amsterdam

Last weekend there was ‘Stack Overflow Dev Days’ in Amsterdam. Stack Overflow is a question and answer site for programmers, brought to life by Joel Spolsky, from the blog Joel on Software. It has less over a year now and it is already pretty popular among programmers. The Dev Days was a one-day conference, around different world cities, covering different topics that are hot and trendy among programmers these days (Javascript, iPhone development, etc) and also bringing the site community together and listen to a bit of propaganda by Spolsky.

Joel opened this edition of the Dev Days with a talk on Elegance and Beauty on software development. I felt this talk had an important message underneath: more functionality doesn’t mean increased complexity for the user if the right abstractions are used. As an example, consider the Amazon 1-click shopping. While some people advocate that “less is more” is about implementing less features it can also be regarded as implementing the right abstractions, in a way that the user doesn’t perceive the complexity under the hood.

Jörn Zaefferer then delivered what seemed to be a sales pitch on jQuery, rather than showing what gets him excited about it. Nevertheless, he showed what jQuery is all about and some of the new functionality in the library.

Eero Bragge talked about Qt and the feeling I got was the only reason this talk went in was because of the sponsorship. Enough said.

Joel then presented Fogbugz and what a nice product he has there. He gave a very nice overview of the product and got me excited to try it. There is a free subscription for students and startups so you might want to check if you apply.

Simon Willison then talked about Python and created a heatmap in a matter of minutes. Overall very nice his presentation and brought the feeling I have to explore Python again.

Nick Johnson presented the Google App Engine and created a small answer/question site in the cloud, also in minutes. Unfortunately what he presented was more or less what you get when following the tutorials on the subject, so for me there wasn’t really too much added value with this talk.

Christian Heilmann talked about the Yahoo! Developer tools, namely YQL. For me it was the best presentation of the day and he completely nailed it. I won’t get into details about YQL because I don’t want to dumb it down but everyone should take a few minutes and check what it is all about.

Chris Heilmann on the Yahoo! Developer tools (mp3)

Cycle Ride to Höchst

Today was a day of adventure. We set with our bikes at 10.30h on the train to Dieburg and then cycled almost to Höchst im Odenwald. We did around 45-50km, so I’m completely wracked, and then took the train back. A very nice cycle ride all together. Should do it more often. As I was pedaling up the hills I thought about the other great adventure I have going on (I’ve quit my job and I’m starting a small company) and how climbing the hills can be compared to that. After each hill there’s always a downhill but there’s also, most likely, another hill. So enjoy the path.



Phil's iPhone

iPhone App Listens to Music and tells you the name of Song

There is an application for the iPhone where you can humm along a song and it will identify it for you. You can then even buy it from iTunes or see related videos on YouTube. The application I’m talking about is Shazam. We were talking about it over lunch and we all agreed it was impressive technology. We were wondering not so much the part of fingerprinting the music, which is already impressive to get right, but how is it possible to search such a large database, supposedly containing every song in the world, in a timely manner? Someone then asked: “who are the people doing such great software?” I then decided it was time to do some digging and found this great video, a bit romanticized I grant you that, but pretty cool..

Some of the things that caught my eye.. they started back in 2000. Also I was reading about the technology and how it works. Fingerprinting the music is based on the spectrogram. The database is an hash table, where the key is the frequency. When it receives a fingerprint it doesn’t need to search all the songs. Still there is an immense amount of work involved in making the whole thing work. It’s fantastic what they have accomplished.

The People

Chris Barton, Philip Inghelbrecht, Dhiraj Mukherjee and Avery Wang.

Chris and Philip were still in Business School (at UC Berkeley in California) when they started Shazam. Dr. Avery Wang comes from Stanford University. Not sure about Dhiraj.

Shazam Founders on Twitter

The beauty of the Internet these days.. you can follow these guys on Twitter.

Chris Barton – @bartonsurfer

Philip Inghelbrecht – @Inghelbrecht

Dhiraj Mukherjee – @dhirajm