October 2007 API contest - Win an iPhone!
onethumb
Administrators Posts: 1,269 Major grins
With the release of the 1.2.1 version of the API (dgrin docs & discussion thread), we have a contest to see who can build the coolest stuff.
Details:
If you're looking for hints on what might win you judge's points, I'd think about what's hot online right now. iPhone stuff? Facebook stuff? Use your imagination, but something that's useful and cutting-edge is likely to be your best bet. And, of course, this is SmugMug, so we care about design. And by 'design' we mean the master's definition:
Design is not just what it looks like or feels like. Design is how it works. - Steve Jobs
Finally, don't forget that API developers get lifetime free Pro accounts, so there's no cost to play.
Best of luck to all the contestants!
Details:
- Your app must use the v1.2.1 API for all of its calls, unless there's a bug in the API that requires you to use 1.2.0 for something. We expect to rapidly flag this version as released, with your help, so we anticipate fixing any bugs well before the contest ends.
- The one exception is if you use feeds only, that's perfectly acceptable. But should you make any API calls, they must be to the 1.2.1 endpoints.
- You must post a link and description of your app on this thread no later than 11:59pm Pacific Time on October 31st, 2007. If you don't make it in time (I realize this is short), no worries - I'm sure we'll have another contest soon afterwards that you can submit for. Do let us know, though, that you're close so we know we should do another contest (or extend the deadline, if necessary?).
- You may submit more than one entry.
- Yes, frameworks/wrappers/kits/etc count. In fact, since they enable others to more easily build stuff, they count a lot.
- The app must either be brand-new (we haven't seen it before) or be a major update/revision to an existing app. No point releases.
- Judging is still up in the air, but I think I'd like to offer at least two prizes for this round: community favorite and SmugMug favorite. If we think of more, or we get too many cool submissions, we'll just have to award more prizes.
- Should you win, you'll receive an iPhone or something of similar value should you live in a non-iPhone territory (or just don't want one).
If you're looking for hints on what might win you judge's points, I'd think about what's hot online right now. iPhone stuff? Facebook stuff? Use your imagination, but something that's useful and cutting-edge is likely to be your best bet. And, of course, this is SmugMug, so we care about design. And by 'design' we mean the master's definition:
Design is not just what it looks like or feels like. Design is how it works. - Steve Jobs
Finally, don't forget that API developers get lifetime free Pro accounts, so there's no cost to play.
Best of luck to all the contestants!
0
Comments
We provide the filename, filesize, updated time, date taken time, and MD5 of each photo at SmugMug via the API, so this shouldn't really be that difficult. Seems pretty useful, too.
Upload to a SmugMug gallery while you're on the road travelling, and it automatically syncs it back down to your PC at home. Copy something to your PC's photos directory and it automatically copies it up to SmugMug. Sounds pretty great.
Anyone wanna take a stab?
I have two apps I'm working on, but neither use 1.2.1 features (but I will port them over to 1.2.1 tonight)
Also, I could be convinced to write that syncing app.
I was thinking of writing one of those for Lightroom, but Adobe seem to be pretty bad at releasing an API
No, your app does not have to use any of the new methods for 1.2.1, just the 1.2.1 endpoints. Good question.
I was about to ask if we could request a new API entry to enable an app we've wanted to build for a while. But then I looked at what was in 1.2.1 and saw you had just added *exactly* what I was going to ask for!!!
Now if only I had the time to WRITE the app I want to do. :cry
http://wall-art.smugmug.com/
What is Modified time as far as you guys are concerned?
On a similar note, so that means that none of our app can use the feeds? It looks to be easier for my app to just use the feeds.
I'd love to get involved in some way, but looking at the list of apps it seems that anything interesting has already been done.
Sorry, I'll amend the rules. Feed-only use is certainly allowed, and actually for read-only apps, is probably easier and thus preferred.
Thanks!
I think the best ideas probably include linking two or more services or pieces of software. If you have a favorite online service (MySpace, Facebook, Wordpress, LiveJournal, etc) that doesn't yet interface with SmugMug, that'd be a good place to start. Likewise, if there's some desktop app you love that doesn't interact with us, that'd be a great place to start, too.
I know there are lots of people who keep a Flickr account and a SmugMug account. I've long thought it be cool to have a unified uploader that can upload to either or both simultaneously, so that's a possible idea.
"Mashups" where you take two (or more) great products and fuse them tend to be real winners.
I know ActiveState now has ActivePerl distributable for the Max OS X, but I've never tried to use it on a Mac yet. I'm hoping to build a cross platform compatible program in Perl, but I'm probably going to have to start it out on Windows first as I don't have a Mac (yet) to develop with.
Building something like a framework that lots of other projects can use may get you big points, too.
Both a Java and PHP implementation have been announced in the last few days, but that leaves lots of other languages: Perl, Ruby, Python, .NET... The list goes on.
I've seen plenty of requests for screensavers before, and Mac OS X Dashboard widgets....
I'll keep posting as I think of other ideas.
Don,
There is already a ruby framework
dev
SmugMug API Developer
My Photos
http://wall-art.smugmug.com/
Oooh, I bet a Flex framework would be well loved...
The work I'm doing on zmugfs uses a python API implementation in python. It uses the JSON version of the API and while I've kept it simple and only implemented what I needed for zmugfs, it wouldn't be too hard to make it a standalone API framework.
You can see zmugjson.py here:
http://sm-photo-tool.svn.sourceforge.net/viewvc/sm-photo-tool/trunk/sm-photo-tool/playpen/zmugjson.py?view=markup
I modeled the interaction similar to the xmlrpclib module in python. There's a Smugmug class that is a wrapper for convenience, but if you us e the ZmugJSON class directly you can call ANY smugmug api very easily. For instance, if the api is smugmug.login.withPassword you simple do this:
Unfortunately, I'm not sure I can get it in a ready enough state for the contest (unless that's not a requirement)
/jesus rodriguez
phpSmug 1.1.1, which now supports rev 1.2.1 of the API, is now available.
At the moment, it only officially implements those methods detailed at http://dgrin.com/showthread.php?t=71887.
The code is in place for ALL of the functions listed on the wiki, however some of the methods haven't been implemented in the API itself, so I've not tested these, so can't be sure they'll return the correct data. At the moment, these methods are commented out and will return "Not implemented in API yet".
I'll update phpSmug 1.1.x as these methods become available.
Personal Blog | Tech Blog | phpSmug
http://www.johnsadventures.com/software/backgroundswitcher
Well, I've asked the author, and he thinks he can get it into the next rev, although I'm not sure if it'll be in time for the contest. But if it is, I think it should definitely be a contender for the winner.
Right now I have it rotating through my images on Phanfare, and it is *soooo* great. However I just tried the thumbnail mosaic view, and while very cool, it may be a little too busy. Still, an amazingly cool app, and I can't wait to hook it into my SmugMug galleries as well.
Next rev after that, he's going to support random images from multiple sources (Phanfare, Flickr, SmugMug, local folders, etc.) Sweet!
Currently, i'm keeping my self busy with developing an extra layer on top of Kallasoft's Smugmug Java API.
Kallasoft's Java API is very function oriented. Each class represents a Smugmug API method/function.
The layer i'm building on top of his API is more object oriented. E.g. Albums, Sessions, Images. Code example:
I'm planning to add some 'intelligent' caching and change-management to minimize network-traffic.
I hope to be able to integrate it with Kalla's work .
When I hear the earth will melt into the sun,
in two billion years,
all I can think is:
"Will that be on a Monday?"
==========================
http://www.streetsofboston.com
http://blog.antonspaans.com
This is awesome, I'm really looking forward to seeing your API Anton. I have a feeling any apps I plan on writing I'll likely use *your* API to do so.
Just a heads up on the Changelog for Beta 2:
http://kallasoft.com/smugmug-java-api/changelog/
A lot of optimization and full documentation in addition to the beginning of 1.2.1 support.
The API should be the same though, I doubt you'll have any compilation errors from it, but if you do they should be really easy to fix, and if not, I'd be happy to look into it.
kallasoft | The "Break It Down" Blog
I have finally found the time to release the initial version of SmugLuv. In summary, it is a javascript REST/JSON api client that is used to create a pannable view of your smugmug galleries. You copy/paste some javascript includes, a little javascript method, and a html div, and you have a pannable gallery for your site. And, because it is all client side, there are no server dependencies, so it should be easy to include in existing sites.
There is more information here: http://www.gravitycube.net/SmugLuv/
And, this is the first release of the code and documentation page, so please feel free to let me know what needs improvement.
Jesse Foster | jf26028
Jesse, that is crazy-cool!
I love the little status bar and everything. Nice work man.
kallasoft | The "Break It Down" Blog
Neat. What happens if you have vertical photos in your gallery? I guess I could install it and see, but I'm lazy. :-}
Vertical images can get a bit ugly. When you specify the thumb height and width, it then forces all the thumbs in the gallery to that size, so it distorts the vertical images. If you look close enough, you can see a few vertical images in some of my galleries.
Jesse Foster | jf26028
Pretty sweet, but a pitty the loads only happen when I realese the mouse button. I kind of expected it to act like google maps in that regard.
Very nice!
Ah, great suggestion. I guess I am too close because I never considered that. I will take a look and see what it would take to make that happen. Thanks for the feedback.
Jesse Foster | jf26028
SmugSaver, a screensaver that uses SmugMug as a source for it's images. More info at http://www.garethlewin.com/smugsaver or the thread in this forum
Well, I'll toss my hat into the ring.
Aside from being such a simple minded application, it's intended as a proof of concept for my still in development Objective C Object Oriented Framework for accessing SmugMug. Currently called "cabSMAO" for "cabbey's SmugMug Access Objects" it's a work in progress that is currently complete enough to allow a few simple applications such as this one to be fairly trivially generated. To demonstrate the simplicity it achieves, here's a snapshot of what a previous generation of this tool looked like in it's main implementation.
As I said, cabSMAO isn't finished, quite far from it actually. If it was farther along I'd have made it my submission. Maybe next time... for now It's just behind the scenes infrastructure.
The intention with cabSMAO is that a lot of simple utilities like this can be whipped together in very little time with a fully functional framework. I've seen a number of requests over time from various pros or other users with large volumes of images for a way to go off and do various things to all their images, or a smart subset of them. Some examples of the things I've seen requested that I think this framework could make simple:
I recently made the move from xmlrpc to json at the suggestion of devbobo... quite possibly the best change I've made to cabSMAO, it took out a lot of the grunt work of processing and forming the requests and dealing with the responses. I threw out over 60% of the code I had written, and replaced it with a very small amount of code that's nice and neat and centralized. The change in mindset to how I was talking to the API server also facilitated a shift for the better in how my code was structured. All in all, it's one of the better forms of crack I've had pushed my way. big to devbobo!
http://wall-art.smugmug.com/
I called this API the SmugFig API. You can find the link about it here:
http://blog.antonspaans.com/smugfig-api/
The API is not yet ready to be released... and won't be before the end of this month. I'm in the middle of a move, my free time is limited
But I'll post updates about it as soon as they become available.
-- Anton Spaans
When I hear the earth will melt into the sun,
in two billion years,
all I can think is:
"Will that be on a Monday?"
==========================
http://www.streetsofboston.com
http://blog.antonspaans.com
Anton, look hot. I'm exicted to see what you did, but from the few examples you posted I think it's going to give a much smoother development experience.
Do you have any Javadoc you could throw up so we could click through and see what's going on in there?
kallasoft | The "Break It Down" Blog
I can send you the sources that i have so far, so that you can take a quick look at it.
I have to do that tonight... i don't have my sources available here at work.
Send me a private msg with your e-mail address. I'll zip up the sources and send it to you.
When I hear the earth will melt into the sun,
in two billion years,
all I can think is:
"Will that be on a Monday?"
==========================
http://www.streetsofboston.com
http://blog.antonspaans.com