Updates

Saturday, July 18th, 2009

Wow, you all must be so sick of hearing from me. I was really trying to wait another week, until the one year anniversary of my last post before writing this, but I just could not resist.

And thus(ly) I begin a chronological blog-journey of what’s happened in my ongoing quest for awesomeness:

  • Epic entrance into the world that is iPhone with the release of People 1.0, a white pages application. One of the first 500 applications available on day one of the app store
  • People won the Best iPhone App in the the WhitePages.com API contest, and I got a sweet MacBook Pro out of it.
  • Did pretty much nothing for the rest of the summer. Just hung out with friends and feared my most certain impeding doom to come in mid August
  • Started my freshman year at MIT. Confirmed my suspicions that I can never be a mechanical engineer, in a single week, before classes even started.
  • Started classes. Woot exciting GIRs: 18.02, 8.01, 3.091, and 21M.011
  • Learned what GIRs are (classes all MIT students are required to take) and what those strange numbers mean (Multivar Calc, Physics (Mechanics), Solid State Chem, and Into to Western Music, respectively)
  • Unibody MacBook Pros, grrrr…….
  • Discovered that MIT is not impossible and that people in this horrid society stress way too much
  • Ahhh problem sets! What ever shall I do‽‽‽ (those are interrobangs for those less cultured than I).
  • Learned to love the amazing efficiency achieved by referring to everything with numbers. I need only say, “I’m off to 18.02 in 10-250″, and everyone will know exactly what I mean and will wish me luck in getting a seat close to the front of the giant lecture hall such that I might get a good view of Prof. Auroux’s dreamy eyes.
  • Finals… </pass no record>
  • Came back for IAP and competed in the 6.270 competition (autonomous lego robots). I had tons of fun and pulled my first work all nighter. We got like 5th place or something. Check out our super cute robot: http://web.mit.edu/adaml/www/6.270/
  • Second semester: 18.03 (diff eq), 8.02 (e&m), 6.01 (awesome but extremely vague “Intro to Computer Science and Electrical Engineering”), STS.003 (rise oF MOdern SCIENCE!!). Hard, but pretty awesome
  • Declared Course 6-1. I’m a CS major. hurrays!
  • Approaching finals….. disliking all those people who stress out too much, getting stressed out and thusly hating myself.
  • Summer!!! (for 2 weeks). Relaxed, hung out, and started and finished People 2.0.
  • My life officially begins; I start twittering. Please follow me. It will make me feel super cool and important. http://www.twitter.com/adamleonard.

Then, I started my internship at Apple. It’s been incredibly awesome and fun. Sorry, I can’t say anything about it, but I’m working on some really cool stuff. It super sucksies that I have to wait like 3 more years before I can start working at Apple (or somewhere as awesome as Apple) full time.

But yes, what inspired me to write today was to announce that finally(!) People 2.0 is available on the app store. It’s got some cool new stuff and is compatible with iPhone OS 3.0, so try it out!

I apologize for ignoring my other apps (PhotoBook and Google Importer). I really do still love them dearly, but understand that I work on these apps in my spare time, for free, just for fun, when I have a cool idea or something. Since said time is quite valuable, I find myself not working on them for months, or even decades (well, not decades).

And to all youz developerz out therez. Photobook is open source, so if you want to add a feature or fix a bug, please do so!

A super special, completely rewritten and ambitious, vaporware edition of Google Importer is also fairly far along, but I really have no idea when I will conjure up enough interest and time to finish it… I greatly apologize to those who have been persistently asking for it. Again, if there are any developers out there who want to work on it, just shoot me an email.

And finally, I will leave you with a detailed outline of my ambitious goals for the rest of my life:

  • Purchase 17″ Unibody MacBook Pro with employee discount

PhotoBook Has Gone Open Source!

Sunday, July 27th, 2008

I have an exciting announcement today.

I am releasing the source code for PhotoBook.
As you may know, PhotoBook is a Facebook photo browser for Mac.

All code is being released under the MIT license (guess why :) ). Unlike the GPL, this license allows for a lot of flexibility with what can be done with the code.

Visit the Google Code project page for more details and to download the source.

I have two main goals in doing this:

  • First, PhotoBook is freeware and I don’t have a particularly strong reason as to why I should hold onto the source. By releasing it into the wild, I hope other Cocoa developers will find some use for it in their own projects. The license allows pieces of code to be used in other applications (free or for profit) with few restrictions. It is a small thank you for all the other open source code I use and love.
  • Second, I hope this will help foster faster development. There has not been a new release in nearly seven months due to school and other projects. I know the time I will be able to spend working on PhotoBook will decrease even more next year. So, by making it a community based project, others will be able to help fix bugs, add new features, etc. I have already been in contact with one developer working on an amazing, revolutionary feature that you have never seen before in a photo application.

If you are interested in joining the project, checkout the code. Post patches on the Google Code page, or send me an email (adam [at] [this domain].com), and I’ll add you as a developer so you can make commits.

I should note that I did not originally plan to release the source to PhotoBook, so it is not as commented and such as I would like, and some features are implemented in special (read:lazy) ways. I will work on this soon.

The code currently in the repository is basically the 1.1 source with a few bug fixes.

If the project takes hold, it should be really exciting. I welcome any feedback.

Also, look for some more open source announcements in the near future.

Hurrays For Winter Break!

Friday, January 4th, 2008

So, I released PhotoBook 1.1 today. 

That’s right, I finally got some time away from school, college apps, and friends (ha) to code! This release has a few major new features, a bunch of little changes of additions, and a whole lot of bug fixes. Most notably, you can now open almost any Facebook photo or album URL in PhotoBook, and I redesigned the photo viewing window to add easier to use slideshow controls. 

The vast majority of changes in this release were based on suggestions from users like you. So, keep sending me your ideas to support  at caffeinatedcocoa dot com. 

I know a lot of people have been asking about Google Importer for Leopard. I have started working on it, but unfortunately it requires a complete rewrite and Apple didn’t add in a nice API to make it easy. You should be learning more about the project soon. 

By the way, I got an iPod Touch and it is incredible. I can’t wait until February when Apple opens it up to developers. I’m hoping that means all developers, including starving (pre-)college students.  If so, I think PhotoBook Mobile or whatever would be really cool. Let me know what you think.

Caffeinated Cocoa + Leopard

Saturday, October 27th, 2007

Leopard is out!
I never got the beta, so I am pretty excited to finally have it. As Walt Mossberg put it, Leopard is a evolutionary, not a revolutionary new OS. I would consider only 10.0 and 10.4 to fall under the latter. In my opinion, though, Leopard is the best evolutionary release ever, and exactly what Apple needs. Tiger added a lot of huge features, but lacked polish and consistency. Leopard pretty much leaves no part of the OS untouched. It seems like most every detail has been rethought. John Gruber gives a good example of this. That means a lot of small features will likely be hard to find, but will make the overall experience of using a Mac considerably better. 
But enough of that, there are plenty of Leopard reviews out there. On to my software.

PhotoBook

Good news! It looks like PhotoBook 1.0.2 runs great on Leopard. I am pretty surprised that in my early testing, I did not find any new problems. I probably just need to tweak some of the colors to better match the new window style, and drop in a 512×512 icon for funness in CoverFlow. Thanks Apple for such a clean upgrade.

There are so many new features I can add to PhotoBook that are made possible in Leopard, so I intend to start requiring 10.5 pretty soon. Think better slideshows, smart folders, animations, iChat Theater sharing, etc. Therefore, I will probably put out just one more major release for Tiger before starting to add some of these new features. 

Google Importer 

Bad news (Sorta)! Google Importer 1.0.1 does not work on Leopard. The way things were set up in Tiger required that it use a pretty ugly hack, so it is no surprise it is broken in Leopard.

Google Importer used an Input Manager to “plug in” to Spotlight, get the search terms, and add the Google results to the list. Apple has decided to stop supporting Input Managers in Leopard, so Google Importer never runs for a search.Input managers were a really easy, powerful tool for developers to extend applications without special plugin support. Applications that add features to iChat and Safari, for example, used input managers. The problem is that someone can just as easily build one to take control of an application, without the user ever knowing what is going on. This poses a big potential security threat, so it is no surprise Apple decided to get rid of them all together. (UPDATE: Oops, I guess they are still loaded in Leopard, but with a bunch of added restrictions. Also, there is a release not saying they are not supported, and might not be loaded in the future)

I am confident that there will be another, better way to get Google Importer to work in Leopard. I am so busy with school and college apps that it is unlikely you will see an update soon, but I will try to get to it eventually. 

So, congrats to all the Apple developers who worked on Leopard. While it does still have some problems, I really encourage everyone to consider upgrading. 

YABFR

Saturday, September 22nd, 2007

PhotoBook 1.0.2 is out!

Hurray! I hope you are excited as me!

Sorry for Yet Another Bug Fix Release, but I needed to get some things fixed, and there are a few new minor features in there.

One bug in particular bugged the hell out of me. The “back” button on your browser has been remotely disabled to ensure you will listen to this pointless story.
A very small number of users were either getting an Unknown error when logging in, or were getting stuck on loading screens. This small subset users just happened to include people reviewing apps for facebook, which is why PhotoBook is not currently in the Application Directory

It was truly a bug like Steven Frank writes about.
I, of course, could not reproduce it myself, but a patient user with the problem offered to help track it down (thanks!)

Basically, I make a request to facebook using their REST API (with their awesome pseudo-SQL language FQL) and it sends back the response in XML. I then parse this XML with NSXMLDocument.

The “unknown error” indicates the NSXMLDocument is nil, and somehow no error from the download, facebook, or the NSXMLDocument was returned.

So, going down the list, I first assumed the FQL query was bad (maybe some object used in the query was returning nil and facebook freaked out and returned no data). Nope, the query looks fine.

Next, I thought the problem might be on facebook’s side, and it was returning no data. Nope, it returns something that looks like XML.
So, I guess the XML might be invalid. I get a sample response from the user (as a NSString) and feed it into a NSXMLDocument. It is parsed fine.
Maybe there is something wrong with my download code? I stick the data hidden on a server, and try to download it with the same code. Works fine, and is parsed correctly.
Finally, through some trickery, I get facebook’s servers to return the same data. This data looks like the same, but is actually a few bytes longer. I feed it into NSXMLDocument, and yay! It returns nil, and it does not even set the NSError object I pass to it (even stranger).

So, finally, I set the option NSXMLDocumentTidyXML and everything works fine.

I still have no idea why (a)facebook is returning a few extra bytes or (b)NSXMLDocument returns nil without setting the error object I pass to it with anything. But whatever. I guess the lesson is never trust any data you do not have complete control over. Programming 101, but whatever.

I have had plenty of other problems with trusting data too much (FQL randomly not returning everything I ask from it, queries that are too long for GET and return 414-Request URI too long). It is still loads of fun.

I promise some interesting cocoa posts soon, and lots of cool features for PhotoBook 1.1.

PhotoBook

Monday, September 10th, 2007

So, two weeks ago, I released a beta of PhotoBook, a really easy to use, mac-like application for viewing facebook photos.

Since that time, I have released 1.0 and 1.0.1 (that was fast).
PhotoBook was featured on Apple Downloads and is somehow the #8 top download right now.
There is also a little post about it on TUAW
Cool! Thanks to everyone who has helped spread PhotoBook and has given me feedback.

I am in school now, so that means I will be a bit (i.e., a lot) slower in releasing updates and responding to emails. Sorry about this.

I have lots of plans for features to add, but if you have any ideas, please email me (support [at] caffeinatedcocoa [dot] com) or leave a comment here.