Still one session to attend about closures in Objective-C, and I’ll call it a week. A little bit of shopping this afternoon in order to spend my last dollars and I’ll be ready for take-off tomorrow afternoon. So it’s time for a little summary of this week.

Overall, it was my first WWDC and I’m very glad I did it, but I probably won’t do it again. San Francisco is definitely a very nice city, and seeing Steve in live, even from very far away in the audience was an interesting experience. I also learnt a few very interesting things and psychologically a conference like this always has the same side-effect on me: first I’m depressed and humbled by all the ambient intelligence, but then it motivates me a lot to move forward, learn and do something about it. So it has definitely been a very positive experience.

If you follow my Twitter feed, you’ve probably noticed that I’ve been playing a lot with Apple Push Notification service lately (APNs for friends). Indeed, ConferenceGuide still requires a data connection, which can be problematic on a lot of events because they’re usually abroad (and roaming fees are waaaaaay too expensive), and even when you do have a data connection, it’s usually pretty slow… at best. That’s probably why one of the most requested features for ConferenceGuide is Offline Mode.

But getting all the data directly from the server does have at least one advantage: you’re always up-to-date. And experience has shown that sh** happens: sometimes sessions are cancelled at the last minute, or a global sound mixer reboots out of nowhere, thus shifting all sessions by 15 minutes. Those of you who were at Devoxx last November know what I’m talking about. So I needed a way to combine the best of both worlds: being able to browse schedule and speaker information without a data connection, and still get updates whenever something changes and I can find a wifi hotspot or something.

The first part of the solution is the local database. The second part involves sending push notifications. The problem with the latter is that the API provided by Apple is pretty low-level and the documentation is rather scarce. And it’s understandable because they expose a service that should be usable by any server technology, whether it is Java, .Net, PHP, Rails, etc. Fortunately, Java has a huge community and a great Open Source spirit, so it wasn’t long before a few projects were created to build an abstraction layer on top of APNs API. The simplest and most documented one I found is java-apns by Mahmood Ali. But ConferenceGuide server is not plain Java. It’s Grails 1.1 (I haven’t taken the risk to migrate to 1.2 yet). So I wanted to ease the integration of java-apns into any Grails application. And voilà! Grails APNs Plugin.

In my pursuit of the ideal collaboration platform, I’ve tested a few knowledge management systems lately: Knowledge Plaza, Seemy, a combination of del.icio.us and Twitter. And those tests were very interesting because they allowed me to spot the main common problem they all share.

How many times have I heard that the Google Wave presentation is too long, leading people to simply not watch it at all? How many times have my friends complained to me about the length of my own blog posts? The granularity of information on the web is simply too big. The web is all about resources, and there are billions and billions of these resources out there, and what makes it even harder to process and integrate them is that each resource mixes a lot of different information items.

And for me, THIS is the nightmare for my technology watch, and for knowledge management as a whole. You can comment on or share whole web pages through links, whole Youtube videos through embed codes, whole discussions through podcasts. But what if you want to extract what is to you the essential part of a blog post, the funniest moment in a video? Well, let’s say I don’t know any solution for that.

For my everyday technology watch, what I would really need is a knowledge management platform that allows me to select small chunks of information in text, video, audio or images, and then tag those chunks, comment on them, and store them somewhere in the cloud for sharing them with my friends or colleagues, or simply keep them for myself for later reference. All of that while keeping a link to the full original resource of course. That would be awesome!

Now of course because I love to solve problems, my next move is to think about a solution. I don’t know any existing system that does that, so if you do, please tell me about it. Now if it doesn’t exist, we have to invent it. And the way I see it, there are two main aspects to this system.

The first issue is how do we capture excerpts out of web resources. If we want to make it as simple as possible, we need to integrate deeply with a web browser in order to create a natural user experience based on drag-and-drop selection, keyboard shortcuts and so on. This is why I’ve tweeted about me looking for a Firefox extension developer to help me out: I’ve never developed any Firefox extension myself, and I could learn but (a) it would take much time and (b) I’m not fond of Javascript. So once again, if someone out there is a Firefox extension developer and would like to collaborate on this experiment, you are welcome. Let’s try first with text, we’ll see later for other kinds of multimedia content.

And the second issue is how do we store and present all this information in a highly usable and intuitive way, without being too disruptive, without inventing too many new concepts. This part I can handle. I already have a few ideas.

I think before the Internet, there were technology watch departments in companies, whose job consisted in cutting out paper pieces in newspaper, pasting them and composing press reviews with comments and writing reports about what competitors were doing. Nowadays, it’s as if we just gathered full articles or newspaper pages, videotapes, full interview transcripts and just put small post-it notes on them. It’s just too rough, not pre-chewed enough, not efficient enough. And as always, there’s gotta be a better way.

I was at Digital Marketing First today. I was invited by Alexandre Colleau from Belgium-iPhone to participate in a panel discussion about iPhone application development. But the presentation was only at 2PM so I decided to walk around the booths before. And I was very disappointed. After hearing someone from eMakina claiming that you can take your blood pressure just by touching the screen of your iPhone, and seen many email marketing vendors claim that email marketing is the future… well, I was disappointed. And then there was the panel.

The discussion itself was pretty interesting in itself. 9 iPhone developers, from hobbyists to professional, from App Store applications to pure B2B stuff, from highly-successful to eternally rejected VOIP apps… very interesting. But what was really astounding for me was after the presentation: people from the audience litterally jumped on us, asking for business cards, asking questions, talking to us about their projects. Luckily for me, I had prepared a bunch of cards, because I secretly hoped that this participation would lead me to a few project opportunities. But I sincerely didn’t expect the demand for iPhone developers to be so high.

So yes guys: I do iPhone development too! In fact I love it, even better than anything else. It’s fun, innovative, and solves real problems. And even better than that, since I do java development too, I can help you design your whole infrastructure. Ain’t that awesome? And even more: if you need a desktop client that is cross-platform and allows you to reproduce some of the functionalities of your iPhone application, I can do that too.

Anyways. I had the opportunity to talk with very interesting people about very interesting projects and it should lead to a few very interesting freelance missions. What a productive day! And a big thank you to Alexandre Colleau!

First off, by january 2010, I’ll be a freelance software architect and developer. After 4 years at Axen, gathering experience, building up my network, figuring out who I am and what I want, this is just the best way to go for me right now. The best way for me to solve real problems in this world. I won’t let anyone down, I’ll do things properly and it won’t happen overnight, but I’m moving on.

Which leads me to my second point: I’m actively looking for new challenges, new projects, new problems to solve. Productivity, user experience, mobility, modularity those are the problematics I’d love to help companies with. All things Java, Grails, Flex, iPhone SDK, OSGi, this is my toolbox. High level of intervention, coaching and technical leading, architecture, start-up CTO, those are the roles I’d be happier with. So if you have something along these lines, or simply questions you would like to discuss with a software passionate, my resume is here in English and French, and you can contact me here.

And since one of my motivations for going freelance include being able to meet more people and share more, I’m already going to participate in a few upcoming events:

Wednesday, October 21st, I’ll be at Betagroup to hear about Belgian startups

I love technology watch. I could do that all day. Browsing my RSS feeds, discovering new technologies, reading strong opinions, commenting here and there. And I love answering questions too. Do you know a way to download any Flash video? Which solution would you choose for our messaging problem: Oracle queues or a custom messaging system? What are the pros and cons of Flex, Silverlight, JavaFX and AJAX? What do you think about Unit Testing? I would love to answer technological questions all day.

But I’m a geek. I don’t do that all day. My day job is to develop software. And even though I plan to change that very soon, more often than not, I’m not really convinced what I’m doing is needed. And a lot of customers I work for wouldn’t think that reading blogs, writing articles and chatting with fellow geeks is valuable work… that is until they come to me with a “what’s the better way to …?” question.

What if I could do that all day, or at least earn some of my living doing that? And I know a few guys who would really love to do that too. That’s why I’ve just launched a new public experiment called eXperts UnLimited (XUL). If you want to know more, or if you have questions or suggestions, feel free to leave a comment there.