Nav & Search

Creating a HTML 5 Web App for iPad – Part 2

Projects - March 16th, 2011

This is the second part of a two-part article mini-series (first part here) showing some basic techniques for creating a HTML 5 web app compatible or optimized for the iPad depending on how the techniques are used. It’s not the most exhaustive guide out there, but it’s basically what I now use to progressively enhance mobile versions of the websites I create. See it as a starting point for your own experimantation!


Width and Height of Dynamically Loaded Images in Webkit

Projects - September 24th, 2010

Another day, another problem and (luckily) a new solution when developing the next version of Lumebox. It seems as if Webkit browsers sets the image height and width before the image file has been loaded which means that when using, for example, jQuery the .loaded()-event is fired when the height is still 0. Stackoverflow was kind enough to pin down the problem in these two Q&As, but the given solutions didn’t really fix the problem.


Googles Ajax APIs and jQuery Plugins

Projects - September 22nd, 2010

I’m working on a new version of the Lumebox that utilizes Googles AJAX Feed API instead of relying on a local proxy to fetch RSS-data. Only problem was that the Google AJAX APIs uses dynamic loading in the same way as jQuery does but there’s no obvious way to sync them, which means that you can’t use external jQuery plugins out of the box. The best (and only working) solution I found online used three separate functions and a manual timeout to let the DOM’s keep up with another, this doesn’t cut it for me so set out to find a better solution.


New Website Design – Again

Projects - July 12th, 2010

About a year ago I launched my first version my blog as a SEO-optimized HTML 5 website, today I take it one step further with even more mimimalistic and semantic code, CSS 3 and better use of microformats. Since I’m already using WordPress behind the scenes the change is quite easy, it’s basically just a new theme and an upgrade to WordPress 3.0.


Scoring and Rating Systems

Engineering Ideas - July 6th, 2010

I’m working on a project that uses reviews and ratings and it got me thinking about scoring systems. The most widely adopted system is the five star ratings but I’m not really sure that it’s the best system out there, it’s confusing like many other systems. But is there a system that can give consistent ratings from a diverse group of users while keeping the rating threshold down?


Creating a Web App – From Idea to Deployment of 2.0

Projects - January 25th, 2010

There’s currently a lot of discussion and opinions around the internet on the future of newspapers, magazines and printed media in general. I believe that the future is online, personalized news straight from the source combined with social media. I have been thinking about ways of creating a website that provides a clear, realtime overview over the current news but also lets user delve into subjects and see realtime reactions. The entire process of creating this website will be published here.


Lumebox Released

Projects - January 8th, 2010

Today I released the Lumebox to the jQuery plugin repository, it’s a Lightbox clone with a few added features. One of the main features is that it can parse RSS feeds just as easily as displaying images. The plugin searches the post or page for all links leading to images and opens them in a popup instead of following them.

The RSS parser that’s built into the plugin is compatible with RSS and ATOM feeds and can be used on its own. It takes two parameters, the URL to parse and a function to execute when it has fetched and parsed the feed. Since it uses Ajax the URL must be local or go through a local proxy.

More information can be found on my Lumebox project page and it can be downloaded from the jQuery plugin repository.

Parsing dates from RSS-feeds to Groovy Date-objects in Grails

Projects - September 3rd, 2009

During my work with i recently got into a snag when I tried to parse the publication dates from the RSS-posts and save them as Groovy-dates. After many checks and double-checks of the format for the parsing, I could’t understand why the Date.parse() function crashed and complained that there was something wrong with the format. I got closer to the solution when I tried parsing a date consisting of only numbers, since it worked I knew that the code parsing the string was correct.


New Website – Semantic HTML 5, SEO and Transcendent CSS

Projects - July 30th, 2009

Over the last week I’ve been rebuilding my website from the ground up, at first it started as a small project to transform the core parts to object-oriented php as a learning excercise. However, I soon realized that once I was at it I might as well take the opportunity and rewrite the output the embrace some new technologies and better practices to generate cleaner and more modern HTML that hopefully is easier to style and even better for Search Engine Optimization.

The goal with the HTML output was to reduce the code to content-ratio (which was already quite good), reduce the amount of code and content before the main content of the page and provide more semantic tags by using HTML 5 (<article> for blog posts etc.) instead of using divs’s with different classes. In the classic practice of using both belt and suspenders I’ve also incorporated microformats into the output. Microformats clutter the code with more classes that it might otherwise be possible to skip but I think that it’ll be good for better search engine indexing and that the pro’s outweigh the con’s. Specifically, Google has said thay they embrace microformats and they provide more hooks to which CSS can be added until all browsers support CSS3.