Creating your own engine for Lightroom galleries

I have been pondering creating my own plugin for generating web galleries of my photos for some time but this weekend I took the time! I have been looking around at different solutions and both Highslide Gallery from The Turning Gate and Elegance from Photographer’s Toolbox are both clean and uses CSS and JavaScript. But they both had a number of issues I didn’t like. The main problem with elegance is that someone with a large display cannot really enjoy the photos since they do not scale, and someone on a small screen can’t see the whole photo. TTG Highslide lacked a few other features,no way to change the controls to small white icons instead of text, no way to place the controls above the enlarged image, no numbers in the heading, unable to remove the thumbstrip when viewing the enlarged images and not possible to constrain the size of the popup so it does not resize depending on image.

But HighSlide which TTG HighSlide is based on is extremly re-configurable and you can fix all of those issues. Specifically easy to do since it also has a very nice visual editor!

Though to use my own modified version required me to write my own web engine. It was very easy to get started with the aid of the Lightroom SDK. With the tutorials in the manual one can create a new web engine in minutes. On the other hand it was not that easy to integrate with Highslide. But after a couple of hours I now have a working version which I’m satisfied with at the moment. I used the Highslide editor to create a how I wanted the enlarged photos and navigation to look like. I downloaded the zip file from the editor, copied it into my new lrwebengine folder. Created a new index.html file and copied all from the highslide-custom-example.html into it. All new styles etc I put into a new gallery.css file. Once I had got a look I liked the next step was to take it appart and but into header.html, footer.html and grid.html. 

Then it was bout time to start tweaking the manifest and the galleryInfo files to do what I wanted. One of the things I have not liked with the default galleries is the odd folders they put photos in. But in Lightroom Blog I found out how to control where the web engine store photos.

I ran into some more small problems, related to Lua since I had never written any programs in Lua before. Programming in LUA was useful! Also looking into the LightroomForums.Net was helpful for more Lightroom and plugin related problems.

I have not added support for LiveUpdate yet since that required some more JavaScripting.

Things to improve:

  • change the size of the enlarged photo
  • change the colour of the background for the enlarged photo
  • change font and size for Title, Description, Image number and Caption
  • change number of coloumns
  • change page background colour and thumbnails layout
  • add support for live update
  • add support for facebook comments?

If you want to create your own Highslide gallery or based on some other library you can download my files here. I have not included the Highslide files since they are not totally free and you need to agree to the license before using them.

Experiences from another 24 hour camp…

I’m on the train home to Gothenburg after a couple of superfun days in Stockholm!

On Wednesday evening we(me, Staffan, Daniel and Anders) took the boat to Yasuragi Hasseludden together with about 120 other internet geeks for the second 24 hour Business Camp. We all had a great evening with delightful food and marvelous bathing in the hot springs at Yasuragi! Thursday started with presentations from the sponsors and it was really interesting to see that the sponsors put in much more support or funding this time than last. The whole 24 hour concepts seems to have matured and caught a much bigger interest this time. Though the whole comradeship and openness which I like a lot was still very present!

At lunch on Thursday it all started with 24 hours of frenetic coding and building. The rooms was filled again with almost tangible energy which is a great drug to help that sleep stay away. Compared to last time and to my experience from 24HourSormland we did a lot of things right this time! I’ll try to recollect the most important ones here.

Agile development – we decided to have 30 minutes development itterations. Problems became visible quickly, everyone in the team was aware of how things developed etc. At times, specifically late in the morning the iterations became a bit longer, about an hour each and things started to slow down. It’s hard to tell when to stop for a short sleep break. We gave up at 6 in the morning and slept for 3 hours for a final burst until 12.

Many developers – On the last 24hbc I was alone and on 24HourSormland we were four people but I was the only developer. This time we were three developers and it was so obvious how much quicker things got implemented! Also problems was solved much quicker since if we found out that someone had been stuck on one problem during an iteration all three of us could try to solve it! And we could provide each other with new perspectives on the problem as well.

Clear concept and finished idea – when going to Yasuragi we had most of the interaction with HiThere ready. The application flow had been decided in advance, everyone in the team knew roughly how it was supposed to be used and what things needed to be developed. This really helped us to divide things into tasks, Anders worked with the graphics, Staffan worked the backend, Daniel with the iPhone app and I worked with the social network integration.

Prepare as much as possible – we were very well prepared. The hosting on GleSYS servers were setup days in advance. We had registered the domain, pointed it at our server, installed all software on the server and had prepared a deployment script. By execute that script we had a new version up and running live on the site within minutes! We had made sure we know how to get push notifications working on the iPhone, we had checked all certificates were proper and working, all development tools working. We had even prepared to develop the whole site and application without any network connectivity, e.g. setup a code sharing repository on a USB stick which we could hand around to synchronize the code in the team.

Some lessons learnt:
It helps a lot to have used the APIs or libraries before. This time a lot of time was spent on the Facebook integration and there are still more to fix here. One reason why it took time to solve things was that we used the Facebooker plugin to Rails. It works great to use plugins in Rails when everything works but if they are not well documented which is the case with Facebooker and things starts to behave strangely it is much harder to find what is causing the problem. We have a couple of other projects which are about to use Facebook in a similar way so even if things didn’t work out a lot was learnt about the Facebook API.

Another thing which we didn’t focus on was a sales pitch. It was more ad hoc style since we all focused on the problems ahead. The model used at 24HourSormland is probably better, where presentations are done a couple of days after the actual camp. Or one should bring on a person in the team focusing on marketing, sales and presentation during the 24 hours!

Some really useful tools:
Skype – Skype was really useful during the event. We created a chat for the four of us and used it to sync each iteration. Once every hour or so we took a short break in conjunction with the sync to get short breaks too but Skype helped us stay focused on the tasks while quickly making everyone aware how things developed. Some problems were also discussed via Skype as well.

DropBox – DropBox was great for sharing files among us such as graphics or shorter texts. It cannot handle revisions as a code repository can but it is still very useful because it is fast and files stays organized. It is also great how well it integrates into the ordinary file system.

So that’s a long summary of a great event! If you like HiThere, please head over to the 24 hour business camp website and vote for us! You can read a bit more about HiThere on the 24hbc blog but it’s in Swedish. There are also lots of photos uploaded and tagged on Flickr!

Tags: ,

Reklamfritt – både vanlig reklam och reklambreven!

Äntligen går det lätt att regga sig för att slippa adresserad reklam! Plus man slipper den vanliga reklamen med!

Dock dom har lite kvar o fixa på sajten, jag klarade inte registrera mig via Flock utan var tvungen att köra Internet Explorer. Men det är nog bara lite barnsjukdomar så här i starten! Så hjälp dem gärna att sprida ordet och få chans och få ett år reklamfritt spotify med!!


And we are alive again!

Have spent the last days with moving all my webpages, blog etc to a new host. It takes some time to transfer 5Gb with only 700 kbit uplink! But now it should live in a much more responsive environment with 5mbit access! Please let me know how it works for you. Does the site feel faster? Slower? Or??

How to use the Holux M-241 with Lightroom

I brought my Holux M-241 on our last hike in the Swedish mountains and wanted to use the tracks to geotag all photos. So when I got home I used the Holux Utility software to download all tracks. Worked fine and I uploaded all to WikiLoc but when then to geocode all the images in Ligthroom I tried to use Jeffrey Friedls GeoEncoding plugin but realised it couldn’t handle the kml files. After some fiddling around I found out that the timestamps where missing in the kml files.

After some googling I found out what options to use on GPSBabel to get it working. It was mentioned here.

gpsbabel -p “” -w -i gnav_trl -f “OLDFILE.trl” -o gpx -F “NEWFILE.gpx”

So using those options with all the different trl-files I got from the unit I managed to create one gpx file that Jeffrey’s excellent plugin could manage. Then I used Jeffrey’s other plugin to upload all the photos to Flickr where they can be viewed on a map!

Next time I’ll try to use the built in functionality of GPSBabel to download data directly from the Holux M-241. In the same thread it was mentioned one should do:
Windows (if on COM10): gpsbabel -t -r -w -i m241 -f COM10 -o gpx -F data.gpx
though have not tried it yet.

Tags: , , ,

Virtual Private Server alternativ

Är inte nöjd med den bandbredd jag får ut från min ADSL och pågrund av att jag bor över 3500 m från stationen är det inte mycket som går att göra, speciellt vad gäller bandbredden upp. Detta får ju som konsekvens att de som kollar på bilder på min sajt får en ganska seg upplevelse. Så har börjat titta runt på lite olika alternativ att istället hyra en del i en server istället, så kallad VPS(Virtual Private Server)

Hittade lite olika svenska alternativ med bara IPeer tilllåter en att testa på. Har ansökt men inte kommit igång o test än.

Hittade även Gandi och Slicehost. Gandi verkar ha en väldigt flexibel lösning och till hyffsat bra pris och det går att testa på en månad gratis vilket Slicehost inte erbjuder. Så har precis skickat över en stor det av min web till Gandi och det verkar fungera utmäkrt. Och de har MYCKET högre bandbredd än mitt ADSL kan ge. Så tex denna sida bör ladda mycket snabbare här.

Har fört över alla filer från hemma servern så nu skall det mesta ligga här http://92.243.25.1/privat/

Måste dock se till och peka om DNSen och även få upp WordPress och bloggarna med, men skall ta och test köra Gandi ett tag nu.

Tags: , ,

Flock or WordPress bug

I’m having some problems with this blog and posting from Flock. All lt; and gt; are removed from blog posts using Flocks built in blog post function.

a href=”http://getsatisfaction.com/flock/topics/all_and_are_removed_when_publishing_a_blog_post_with_flock?utm_content=topic_linkamp;utm_medium=emailamp;utm_source=reply_notification”Reported it/a using GetSatisfaction and there might be a solution to it, according to this a href=”https://bugzilla.flock.com/show_bug.cgi?id=16002#c16″bug report/a.
!– technorati tags begin –p style=”font-size:10px;text-align:right;”Tags: a href=”http://technorati.com/tag/flock” rel=”tag”flock/a, a href=”http://technorati.com/tag/bug” rel=”tag”bug/a, a href=”http://technorati.com/tag/wordpress” rel=”tag”wordpress/a/p!– technorati tags end —

How to create a real working symbolic link in Windows

I’m very used to unix systems and there it is very common to use symbolic links. Say you mount another machine at /machine2 but want to access some files from it in your home directory on that machine but have them in the home directory on this machine. Just use ln, ln -s /machine2/home/user/file /home/user/file and there is no difference in using file on any machine. This has not been possible in Windows until Vista was released!

Another way to explain it is it is possible to map a remote folder not just into a drive(e.g. Z:) but also onto a folder!

The solution is the new mklink command, this article explains well how to use it!

Tags: ,