\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
+Michael Rubinsky

<a href="http://theupstairsroom.com">http://theupstairsroom.com</a>

++Ansel 2.0 Stuff

++++DONE:

\begin{itemize}
\item Deal with Ansel\_Storage being able to specify different scopes and how that affects injector usage.


\item Use a decorator pattern for the different gallery display modes (Date/Normal/?).


\item rewrite tagger to use content\_tagger


\item PHP5 native


\item Clean up the very long parameter lists on most of the list methods - take parameter arrays instead of a dozen different paramters.


\end{itemize}
++++TODO:

\begin{itemize}
\item Ansel\_Gallery::addImage() should take an Ansel\_Image object, not the raw image data to create the object.


\item use pretty autocompleter for tags / update the image view and review placement of tag widget.


\item Rewrite google maps integration to use horde\_map javascript


\item Add a way to easily perform image actions such as downloading from the gallery view...something along the lines of either a small contextual menu or simply a link on the image tile, also a textual link to display the full image view would be very helpful for galleries using a lightbox - so the user could see the exif data/comments/image actions etc...


\item Implement a more MVC-ish way of handling the different gallery/image views. Instead of checking for api usage in all the views, use a dedicated view. This will make it easier for others to implement their own specialized view?


\end{itemize}
++++Random notes<br />
Review all ansel js, output all strings in js and consolidate all the gallery\_view js into a single *.js file.

--

Make it easier to add new ModeHelper objects.  There should be an init function somewhere that returns the available modes that are installed.  Normal and Date should be 'built in' and always available - maybe parse the contents of a special custom Mode folder?

A gallery style is defined internally by the Ansel\_Style object. It is a combination of the following user-set properties: The Thumbnail style (Polaroid, drop shadows etc...), the background color, and the view style (Traditional, Lightbox). It also holds the Ansel\_Widgets that should be displayed, though those are not yet user settable via the UI.

The gallery's "display mode" is used internally to determine which Ansel\_GalleryMode class to use to represent the Gallery. Ansel\_GalleryMode objects are responsible for obtaining all information needed to represent the gallery. e.g., the Ansel\_GalleryMode\_Date object organizes the gallery's images into subgalleries grouped by dates. Another way to look at it is to say that these mode objects determine what the gallery contains and how to organize it while the Ansel\_View\_GalleryRenderer objects determine how the galleries are to be displayed on the screen.

Still to figure out: how to allow for (and what to call) special modes (such as a possible "remote gallery") that cannot be arbitrarily switched between modes (like the current Normal and Date modes can be).

--

Allow user-specific, global, settings for what Ansel\_Widgets are visible, allowing them to remove a widget that is defined in the style to un-clutter the view.

Modularize the photo (and maybe gallery) actions so we can easily plug in new actions, such as "Send this photo to Flickr" etc...

Maybe a "import/export" ability - to transfer images to other services like Flickr, Facebook, and import them from services that the user has perms to.

Layout ideas:<br />
<a href="http://ajaxian.com/archives/cross-browser-inline-block">http://ajaxian.com/archives/cross-browser-inline-block</a>

lazy load image thumbnails for some styles: Needs to be implemented on top of prototype...<br />
<a href="http://www.appelsiini.net/2007/9/lazy-load-images-jquery-plugin">http://www.appelsiini.net/2007/9/lazy-load-images-jquery-plugin</a>

Flash based image uploader (already implemented, with a widget implemented from scratch to look like the jquery widget):<br />
<a href="http://www.uploadify.com/">http://www.uploadify.com/</a>

<a href="http://24ways.org/2009/going-nuts-with-css-transitions">http://24ways.org/2009/going-nuts-with-css-transitions</a><br />
<a href="http://ajaxian.com/archives/transm-programmable-image-transitions?utm\_source=feedburner\&amp;utm\_medium=feed\&amp;utm\_campaign=Feed:+ajaxian+%28Ajaxian+Blog%29">http://ajaxian.com/archives/transm-programmable-image-transitions?utm\textbackslash\{\}\_source=feedburner\textbackslash\{\}\&utm\textbackslash\{\}\_medium=feed\textbackslash\{\}\&utm\textbackslash\{\}\_campaign=Feed:+ajaxian+\%28Ajaxian+Blog\%29</a>

Some usability/UI related stuff from Flickr site redesign.<br />
<a href="http://www.photoble.com/photography-tips-tricks/flickr-photo-page/">http://www.photoble.com/photography-tips-tricks/flickr-photo-page/</a>

\section{Objective C/Cocoa stuff (For iPhoto/Aperture -> Ansel exporters, and iPhone/iPod Touch development):}
<a href="http://www.slideshare.net/fraserspeirs/integrating-with-the-photography-ecosystem-on-mac-os-x#notesList">http://www.slideshare.net/fraserspeirs/integrating-with-the-photography-ecosystem-on-mac-os-x\#notesList</a><br />
<a href="http://caffeinatedcocoa.com/blog/?p=7">http://caffeinatedcocoa.com/blog/?p=7</a><br />
<a href="http://blakeseely.com/blog/archives/2006/03/31/nsimage-deceivingly-simple-or-just-deceiving/">http://blakeseely.com/blog/archives/2006/03/31/nsimage-deceivingly-simple-or-just-deceiving/</a>

If I ever get *really* motivated to dust off my C++ skills (and I use that term very loosely), add support for XMP metadata fields:<br />
<a href="http://www.adobe.com/devnet/xmp/">http://www.adobe.com/devnet/xmp/</a>

Some XML-RPC implementations for dealing with the lack of the WS* helper classes on the iPhone/iPod Touch:<br />
<a href="http://code.google.com/p/wsdl2objc/">http://code.google.com/p/wsdl2objc/</a><br />
<a href="http://www.kilbot.com.au/2009/06/14/xml-rpc-on-the-iphone/">http://www.kilbot.com.au/2009/06/14/xml-rpc-on-the-iphone/</a>

...at least until we have a RESTful interface to our api

Unit Testing with Objective C:<br />
<a href="http://cocoawithlove.com/2009/12/sample-mac-application-with-complete.html">http://cocoawithlove.com/2009/12/sample-mac-application-with-complete.html</a><br />
<a href="http://chanson.livejournal.com/119097.html">http://chanson.livejournal.com/119097.html</a>

++Horde\_Image

\section{GPS / Geocoding Stuff}
Some code for using gps tracks in PHP - would like to provide apis for apps with geodata top filter based on date and location.

<a href="http://sgowtham.net/blog/2009/02/12/php-storing-gps-track-points-in-mysql/">http://sgowtham.net/blog/2009/02/12/php-storing-gps-track-points-in-mysql/</a>

Basic info on creating GIS capable tables, queries.<br />
<a href="http://emad.fano.us/blog/?p=211">http://emad.fano.us/blog/?p=211</a>

Choosing the best images to display based on location?<br />
<a href="http://www.jongales.com/blog/2009/04/14/nearest-records-by-latitude-longitude-in-sql/">http://www.jongales.com/blog/2009/04/14/nearest-records-by-latitude-longitude-in-sql/</a><br />
<a href="http://lists.mysql.com/mysql/204782">http://lists.mysql.com/mysql/204782</a><br />
<a href="http://dev.mysql.com/tech-resources/articles/4.1/gis-with-mysql.html">http://dev.mysql.com/tech-resources/articles/4.1/gis-with-mysql.html</a><br />
<a href="http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL">http://www.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL</a><br />
<a href="http://mysqlgis.com/">http://mysqlgis.com/</a>

Alternative to google for webservices - plus a downloadable location database:<br />
<a href="http://www.geonames.org/">http://www.geonames.org/</a><br />
<a href="http://www.gisgraphy.com/">http://www.gisgraphy.com/</a>

Open source map server<br />
<a href="http://mapserver.org/">http://mapserver.org/</a>

Open source javascript abstraction for in-line dynamic maps<br />
<a href="http://openlayers.org/">http://openlayers.org/</a>

\section{Kronolith Stuff/Ideas:}
<a href="http://demo.helioscalendar.com/events/">http://demo.helioscalendar.com/events/</a> (Some map integration ideas)

\end{document}
