Best Books of 2010

It is that time of the year again, just like in previous years. This is the list of the books I enjoyed most in 2010! You know that I like reading at least 6 books per year, and learning a new programming language every year. Last year’s programming language was LISP, and the books, well, here they go.

eBooks

By all means, it is clear that 2010 was the year of the eBook. Maybe it’s because of the iPad, but I’ve been consuming more and more eBooks, even if I still enjoy buying some classics in paper form. Kindle, iPad, iBooks, Nook, GoodReader, PDF, ePub, all of those names have shaped my way of reading last year.

But one of the most visible changes of switching to eBooks was the speed of reading; consuming eBooks is fast, much faster than reading normal books. I can’t say that I prefer one or the other; it’s simply different. But reading eBooks is faster than reading paper books. Probably there’s a warmth factor in paper books, which makes me enjoy them longer, I don’t know, but the fact is, in 2010 my book reading consumption has gone up in an alarming rate. Continue reading

Best Books of 2009

047014873X.jpg Every year I’m doing the same post (well, in 2006 I completely forgot to do it) that starts more or less with the same phrase: “every year I like to read at least 6 new tech books, and to learn a new programming language.”

Last year’s language was Go, and the books, well, here we go:

Software Engineering: Barry W. Boehm’s Lifetime Contributions to Software Development, Management, and Research

Barry Boehm is a name that might not strike a chord immediately, but if you work in the software field, it should. He has been working non-stop for the past 50 years (that’s right, 50), discussing all kind of subjects related to the practice of software engineering. This book is a compilation of his most well-known papers, with subjects ranging from project management to components, from iterative techniques to developer productivity. The guy has written about all of it, and when you realize how right he was, you wish you had read those papers earlier in your career. Continue reading

HTTP Headers, Web Apps and Mobile Safari

I found today that Mobile Safari, the browser bundled with the iPhone, has a very strange and annoying behaviour when it comes to web apps. In fact, when you “install” web applications with the <meta name="apple-mobile-web-app-capable" content="yes" /> tag in the “Home Screen”, the USER_AGENT header sent to the server is different to the one sent when you access the same app manually using Safari..

Here’s a test that proves this assertion: Continue reading

iPhone Apps without Objective-C

Yes, it’s possible. Even if Objective-C is one of my preferred programming languages, in any case I think it’s worth mentioning that, 2 years after the official iPhone SDK has been announced, the iPhone development landscape has really grown up, and many, many different options are available today. This article provides a very high-level enumeration of some options I’ve found on the web, but I’m sure there are even more alternatives around.

0321566157

Here it goes: Continue reading

Roundup of iPhone App Sketchbooks

Nailing down the idea, the navigation and the UI of your next killer iPhone application is as important (if not more) as writing good code. This is why this post will showcase some recent iPhone designer products, all providing a paper-based, iPhone-shaped and iPhone-sized support for sketching out iPhone apps with your client (or just for your own creative pleasure).

Here we go:

App Sketchbook by Square Position, LLC (USA), @appsketchbook on Twitter, sold via PayPal for USD 12.99, in both a perforated and non-perforated version.

sketchbook1

Continue reading

JAOO iPhone Dev Days 2009 Zürich

Last week’s JAOO iPhone Dev Day was a big success. Featuring Raven Zachary, Alex Cone, Jonas Schnelli, Patrick Bönzli and Patrick Linskey and yours truly, the event gathered many attendees interested in the capabilities of the iPhone for their businesses.

This is a small review of the event, organized by the incredible teams of Trifork and Keynode with links to the material I’ve provided in my own presentations.

Reception booth for the iPhone Dev Day

Continue reading

About the JAOO Conferences

This week I had the opportunity to attend the JAOO Developer Conference 2009 in Århus (Denmark), invited by Trifork, the company behind this and other fine events, like QCon and RubyFoo. Despite being relatively unknown in the Swiss landscape, JAOO is an event unlike any other, and here’s why you should attend next time.

jaoo

Continue reading

iPhone and Mac OS X Developer Conference Roundup

Here’s a quick review of the most important iPhone and Mac OS X developer conferences I’ve found on the web (in no particular order). Definitely, there’s no shortage of conferences when you need information about the latest Cocoa, Mac OS X and iPhone technologies; check this out!

  • Apple’s Worldwide Developer Conference or WWDC, held every year in San Francisco, CA (USA), usually around June, and featuring presentations from Apple employees; if you’ve never been to one, believe me, you should;
  • Voices That Matter iPhone Developer Conference to be held in Boston, MA (USA) next October 17th and 18th, with (among others) Erica Sadun, Aaron Hillegass, Stephen Kochan and Marcus Zarra;
  • NSConference, to be held from January 31st to February 3rd next year near Reading (UK), and from February 21st to February 24th in the Georgia Tech Institute, GA (USA), featuring (among others) Matt Gemmell, Marcus Zarra and Aaron Hillegass;
  • The 360|iDev conference that just finished in Denver, CO (USA), which featured (among many others) Bill Dudney, Brent Simmons, and Marcus Zarra (definitely, Marcus Zarra is everywhere!);
  • The iPhone Developer Summit in Santa Clara, CA (USA) next November 3rd;
  • The iGames Summit, a conference targeted to iPhone game developers, held last March in San Francisco, CA (USA), featuring (among many others) Neil Young (from ngmoco), Andrew Lacy (from Tapulous) and Mike Mettler (from AdMob);
  • The Macoun Entwicklerkonferenz which happened last September 26th in Frankfurt (Germany);
  • The iPhone developer conference in Köln (Germany), in December 1st and 2nd;
  • And finally, the JAOO iPhone Dev Day in Zürich (Switzerland) next October 8th, featuring Raven Zachary, Alex Cone and… many others ;)

Also noteworthy, but not so much about software development I think, is the Mobile Enterprise Conference in Amsterdam (Netherlands) on November 3rd, which has a couple of tracks about the iPhone in enterprise.

Feel free to add links to other similar events elsewhere in the world!

Update, 2009-10-02: Here’s the link to Jonathan ‘Wolf’ Rentzsch’s C4 Independent Developers Conference.

Update, 2009-10-03: The Øredev 2009 Developer Conference in Malmö (Sweden) next November has iPhone / Mobile tracks too. And so will the Scandinavian Developer Conference 2010 in Göteborg (also in Sweden).

Using Multiple Twitter Clients from your iPhone Application

I love playing with iPhone URL schemes. And if you ask me, just like for Mail.app and Safari, I think there should be a “default” Twitter client URL scheme in the iPhone, with an interface in the Settings application allowing you to set the application that you prefer to tweet. Alas, this is not the case, and each application must manually allow users to select their preferred client, from a list of known ones.

Having documented iPhone URL schemes for TwitterFon, Twitterrific, Tweetie and Twittelator, I’ve created a project, available in Github, called TwitThis, which helps users choose their preferred Twitter client, and makes it easy to remember the user choice, and to launch the associated application with a single command:

TwitThis

This application has the following features:

  • The class TwitterClientManager loads a list list of supported Twitter clients is loaded from a plist file, which can be extended to support more clients in the future;
  • Each Twitter client is represented by an instance of the TwitterClient class;
  • The user can choose his preferred Twitter client at any time, and launch the application by a simple touch; the TwitterClientManager class stores the selected value in the user settings.

If you have to support several different Twitter clients, feel free to use these classes in your own project! The project, as usual, is available in Github with a liberal BSD license. Enjoy! I’d love to hear your comments below.

Slides, slides, slides

I’ve been doing presentations for a while now, so I decided to open a SlideShare account to publish all the slides I’ve created over the past 5 years. SlideShare has a great Flash-based viewer that you can embed in web pages, so I’ll be using it a lot now. Check out my presentations, feel free to download them and also to use them if you find the contents useful for you (they are distributed with Creative Commons licenses).

Having said that, I’m also announcing that the slides (and sample application) of yesterday’s JAOO geek night presentation in Zürich are also available in the Projects section of this blog, and here goes the SlideShare player with those slides: