PavingWays

We build JavaScript applications

New Year, New Blog

Happy 2014 and welcome to our new blog!

It has been very quiet around here for a while – over two years have passed since our last blog entry. Now we’re redefining, tightening and updating PavingWays and we made some changes to our blog too.

New Blog

We transferred the old pavingways.com from a self-hosted and heavily modified WordPress installation to a Jekyll/Octopress blog on GitHub Pages. The page is additionally delivered through CloudFlare as we had CF set up before and it had proven to be reliable and fast.

The whole migration process went relatively smoothly however I had to make some adjustments here and there.

Migrate old WordPress Posts to Markdown

Before we settled with Octopress I tried Ghost and Jekyll directly, so it was clear I would need to have our old posts as Markdown files or HTML if everything else would fail.

So I wrote a PHP script that exported all of our old WordPress posts to Markdown files using an old PHP class called Markdownify. Trouble was that this class needed way too many adjustments and I never was satisfied with the results, so I discarded wanting to have ALL posts in Markdown and decided to go with the Jekyll importer which produces HTML files. The process looked simple and roughly goes like this:

  • export a WXR file from your WordPress “Tools” section
  • follow a few simple steps on the Jekyll importer page
  • have your old blog posts in _posts (as .html files)

Guess what … this did not work and first I got this:

$ jekyll import wordpress --source pavingways.wordpress.2014-01-05.xml

Could not require 'htmlentities', so the :clean_entities option is now disabled.
error: LoadError: cannot load such file -- mysql2. Use --trace to view backtrace

This is caused by some missing gems and you should “gem install” htmlentities, sequel, mysql and mysql2 just to be sure.

Some more playing around with this revealed that apparently the command line suggested on the Jekyll importer page is/was simply wrong see my bug report: The importer consists of several sub-importers for various systems and for wordpress there are two – one for self-hosted blogs and one for blogs on wordpress.com.

I had no local DB of my old blog at hand – unfortunately the wordpress importer requires one in contrast to above command line example. That was initially not clear to me and I already had my WXR file …
And so I went with the wordpressdotcom importer, also because I found a blog post on the matter and tried another command line (also contained in the Jekyll importer docs) which works:

$ruby -rubygems -e 'require "jekyll-import"; JekyllImport::Importers::WordpressDotCom.run({ "source" => "pavingways.wordpress.2014-01-05.xml" })'

Basically I could also have done this and had saved some time, oh well:

$ jekyll import wordpressdotcom --source pavingways.wordpress.2014-01-05.xml

Now I had all my files in _posts as I wanted. My remaining issues with the wordpressdotcom importer were as follows:

  • filenames did not match my old URL scheme /{post_name}_{ID}.html .
  • files do not contain a date field in their head section
  • files do not contain a comments field in their head section
  • HTML in WordPress is apparently outputted using PHP’s nl2br() function, so the HTML files did not contain the necessary <br>s

In my first stab at Ruby source code ever since I read this Rails book in 2005 I changed the jekyll-import Gem (the file is called wordpressdotcom.rb) so it did all of the above and finally I was happy with my old post files.

Some changes to the default Octopress theme and (S)CSS I had a working site and especially all of our old blog posts on GitHub.

Hosted Comments and Migration

The same WXR file I used for importing our old post can be used to import all comments to Disqus. Details see this blog post again. The import worked alright, however I did not see any comments in the Disqus box below our posts.

Apparently Disqus and CloudFlare don’t just work together as planned and so I followed this post and It worked – unfortunately only partly…

As it turns out I had to do a domain migration in Disqus (Discussions –> Tools) in order to see all my old comments. Strangely this required me to migrate from my (unchanged) domain pavingways.com to pavingways.github.io so they now appear in Disqus like this:

http://pavingways.github.io/new-year-new-blog.html

I had no time digging deeper but apparetly disqus realizes that my page is hosted on GitHub. Finally all comments show up and we have a working blog again.

Octopress’ rake commands make it now simple and easy to write/debug posts and deploy them to GitHub.

Happy New Year!

PhoneGap Meetup #2 Retrospektive

Vergangenen Mittwoch hatten wir nun unser zweites PhoneGap und HTML5 Meetup. Auf der Agenda standen zwei Präsentationen: PhoneGap 1.0 und Remote Debugging, außerdem hat sich @wpbasti spontan zu einem Intro zu Tooling im allgemeinen und Jasy im speziellen entschlossen.

Nachdem ich mein Intro zu PhoneGap 1.0 mit Ausblick auf 2.0 und eine kurze XCode Demo mit dem Jo App-Framework beendet hatte, hat uns Martin Weinre und Remote Debugging gezeigt. Er hat uns außerdem die Idee zu seiner anstehenden Bachelor-Arbeit präsentiert. Dabei geht es um die Entwicklung eines PhoneGap-Polyfills um die Entwicklung von Apps im Browser zu erleichtern. Die Idee kam gut an und mögliche Parallelen zum Ripple Emulator wurden kurz besprochen. Martin hat außerdem vor, ein Meetup für Mobile-Entwickler in Mannheim zu starten.

Unser kleiner Bereich im Sternstunde war mit den 9 Teilnehmern, davon einige neue, ganz gut ausgelastet und es gab leckere arabische Tapas. Leider war es etwas lauter als erhofft, da parallel das Spiel Deutschland : Brasilien lief. Wir haben uns dennoch gut unterhalten und ich denke, es war für jeden etwas interessantes dabei.

Unser Teilnehmer Walter hat uns noch darauf hingewiesen, dass er mit @ppk im September einen Mobilism-Workshop in Frankfurt organisiert. Der geplante Termin ist der 28. und 29. September 2011. Mehr Infos dazu gibt’s auf der Mobilism Website.

Das nächste Meetup folgt in ein paar Wochen und wird natürlich auch auf unserer Meetup.com Seite bekannt gegeben - ich freue mich schon drauf!

PhoneGap/HTML5 Meetup #2

Unser 2. Phonegap/HTML5 Meetup findet am 10. August im Café Sternstunde, Färberstraße 65 in Frankfurt/Main statt.
Themen: PhoneGap 1.0 und Remote Debugging.

Wir haben ein Séparée mit genug Platz und großem Fernseher für die Präsentationen. WLAN sollte es auch geben.

Außerdem kann man auch was trinken und essen (Arabische Tapas z.B.) - gute Mischung aus Präsentationen und dem Casual-Teil ist also möglich!

Anmeldung bitte über Meetup oder Xing oder Facebook!
Bis nächste Woche!

Apple startet B2B App Store in den USA

Mit seinem Volume Purchase Program bietet Apple Geschäftskunden die Möglichkeit an, Volumenlizenzen für Apps zu erwerben. Unternehmen können nun über ein zentrales Konto einzelne Apps in großer Stückzahl über eine einzelne Rechnung kaufen. Anschließend erhält der Käufer Gutscheine, die er  an seine Mitarbeiter verteilen kann, so dass diese die App wie gewohnt über den App Store herunterladen können.

Maßgeschneiderte B2B Apps


Ausserdem können Entwickler über das Volume Purchase Program maßgeschneiderte B2B Apps anbieten und verteilen. Unternehmen können die speziell für sie entwickelten Apps über den App Store an Mitarbeiter oder Partner verteilen, ohne dass diese Apps öffentlich angeboten werden. Der Mindestpreis für diese Apps beträgt $9.99.

Allerdings steht das Volume Purchase Program bisher ausschließlich US Kunden zur Verfügung.

Auf unserem englischsprachigen Blog finden Sie einen etwas umfangreicheren Artikel zu diesem Thema. Hier geht’s zum Artikel.

Apple Launches Volume Purchasing for Business Customers

Apple has announced that it allows businesses to purchase apps in volume. With the Volume Purchase Program the buyer can choose an app, determine the needed quantity and complete the purchase with the corporate credit card. The buyer then receives redemption codes which he can send out.

The Volume Purchase Program is only available in the US. Every paid app in the App Store is available for businesses to buy in volume. Free apps are excluded.

Businesses need first to create a volume purchasing account. Once enrolled, they can purchase apps on the program’s website - they aren’t using the App Store in iTunes.

Custom B2B Apps


The Volume Purchase Program also provides businesses the opportunity to purchase custom B2B apps built by third-party developers. These apps have been developed in collaboration with third-party developers to address a unique business need. Therefore they are not available to the general public for purchase. The minimum price for a custom B2B app is $9.99.

What we think


It is interesting to see that Apple is now courting enterprises with this B2B App Store. Apple has recognized that employees are using iPhones and iPads also at work. It is much more easier now for businesses to distribute custom apps within their company or to specific partners. Companies are more flexible now to create and distribute apps for enterprise customers that have custom data and process needs.
More info: apple.com Volume Purchase Program - Guide (PDF) Volume Purchase Program - FAQ

QR-Codes As Marketing Tool

I came across an interesting report from 3GVision, the creator of the i-nigma barcode scanner. The numbers show a worldwide growth in mobile barcode usage. The US is leading the growth, but the popularity of barcodes is also increasing in Europe with Germany, the UK and Italy leading this trend. So maybe this is finally catching up outside of Japan?
Top 10 users of mobile barcodes during May 2011:

(1)   1. United States
(2)   2. Germany
(4)   3. United Kingdom
(3)   4. Italy
(5)   5. Canada
(6)   6. Netherlands
(7)   7. France
(8)   8. Hong Kong
(9)   9. Spain
(13) 10. Australia

Position in () was in April/2011

Top 5 growing countries for May 2011:

1. Australia (74.1% Growth over April/2011)
2. Hong Kong (43.3%)
3. United States (39.0%)
4. France (32.2%)
5. United Kingdom (31.5%)

Global growth in mobile barcode usage Q4/09–Q1/11:


* see below for notes on reporting methodology

QR-Codes and Marketing


As mentioned in the report the mobile barcode usage is increasing in Germany. On mobilemarketingwelt.com I found some interesting mobile marketing campaigns using QR codes (“Quick Response Codes”). Here are some examples how companies already using QR-Codes in their advertisment.
1. Bausch + Lomb - QR-Code, SMS, Mobile Couponing

The pharmaceutical company Bausch+Lomb uses QR-Codes and SMS shortcode in his print ads. By scanning the QR code the user will be forwarded to a mobile landing page where he receives more information about Biotrue, a care product for contact lenses. He also gets a coupon there for a free product sample.
In case the user has no QR-Code reader on his mobile phone he can request a link to the mobile portal via SMS shortcode.

2. Globetrotter – QR-Codes

The equipment manufacturer Globetrotter used QR-Codes in his latest print campaign. By scanning the QR code on the advertisement the user will get to a mobile landing page where he receives more information about the reforestation project “Globetrotter VisionsWald”.

3. Universal Music – image recognition

In his latest poster advertising campaign for the new Lady Gaga Album Universal Music uses the U snap App from Wall AG, a value-added app for smartphones, on the German market. The user has to download the free U snap App for iPhone or Android smartphones from the App Store. When starting the app the user can take a picture of the print ad and gets samples from the new Lady Gaga album, can view music videos or win concert tickets, fan packages and CDs.
About 15,000 City Light Posters with the slogan “Fly to Lady Gaga with U snap” accompany the release of the new album “Born This Way”.

Our Opinion:


Many brands and retailers already started using QR-Codes in their marketing campaigns. For example McDonalds, Vichy, Aldi Süd, Tesco etc. The biggest advantage of QR-Codes is that customers get further information about a product fast and easy. They just need a mobile phone with a camera, web access and a QR-Code reader software (e.g. Kaywa Reader, QuickMark Barcode Reader, i-nigma Reader).

There are various opportunities of using QR-Codes. Companies can use them as a direct response marketing tool for print campaigns (call-to-action) or even to sell virtual goods like games, music or ringtones. I think the usage of QR Codes will be increasing in the future and we will see a wide range of usage of QR-Codes in marketing.
Sources: i-nigma mobilemarketingwelt.com U snap Wall AG
* Notes on reporting methodology:
  • These reports are based on the total number of QRcode, Datamatrix and UPC/EAN scans recorded by the i-nigma system during the relevant periods. Because of i‑nigma’s prominence in many markets worldwide, 3GVision believes that these numbers are likely to be indicative of global mobile barcode activity.
  • The reports do not include activity in Japan, which is known to be well ahead in popularity and usage of mobile barcodes.
  • For better representation of global open market trends, the reports specifically exclude the activity of i‑nigma-based solutions that are used by our vertical customers.
  • Top 5 growing countries are from the top 20 countries in mobile barcodes usage during May/2011.

 

QR-Codes als Marketinginstrument

Eine Studie von 3GVision zeigt, dass die Nutzung von mobilen Barcodes weltweit ansteigt. Neben den USA führen auch europäische Länder wie Deutschland, Italien und England den Trend an.

Mittlerweile haben viele Firmen damit begonnen, QR-Codes (“Quick Response Codes”) in ihre Marketingkampagnen zu integrieren. Meist werden diese auf Produktverpackungen, in Magazinen oder auf Plakaten eingesetzt. Nachdem der QR-Code eingescannt wurde, erhält der Konsument weiterführende Produktinformationen, Coupons oder auch virtuelle Güter wie Musik, Videos und Spiele.

In Japan, dem Mutterland der QR-Codes, ist man schon einen Schritt weiter und verbindet QR-Codes mit Augmented Reality Applikationen:

N Building from Alexander Reeder on Vimeo.

Auf unserem englischsprachigen Blog finden Sie einen etwas umfangreicheren Artikel zu diesem Thema sowie Beispiele für gelungene Printkampagnen und einigen Statistiken. Hier geht’s zum Artikel.

UPDATE: PhoneGap/HTML5 Meetup #1 / Kick-Off

UPDATE:

Wir treffen uns am Do, den 26. Mai um 19:00 Uhr in der

Affentor-Schänke
Neuer Wall 9
60594 Frankfurt www.affentor-schaenke.de

—————–

Dies ist eine kurze Erinnerung an das erste Treffen der PhoneGap und HTML5 Meetup Gruppe diesen Donnerstag in Frankfurt am Main.

Wir wollen die Meetup-Gruppe, die früher mal nur die HTML5 Meetup-Gruppe war, neu starten und einen großen Fokus auf PhoneGap und mobile Entwicklung legen. Wir werden bei der Organisation von Nitobi unterstützt und bekommen auf die Art hoffentlich auch ein paar top-aktuelle Insights in das PhoneGap Projekt.

Kommen kann jeder, der an den Themen interessiert ist - Präsentationen und Demos jeglicher Art sind auch immer gern gesehen. Zu Bedenken ist, dass wir das Ganze in Form eines formlosen Stammtisches durchführen und es keinen Beamer gibt ;), dafür gibt’s Bier bzw. Ebbelwoi - angepeilt wird diesmal eine Ebbelwoi-Wirtschaft (genaue Location folgt morgen).

Falls Du noch teilnehmen willst, dann Trage Dich bitte auf einer der folgenden Seiten ein:
Meetup.com
Xing.com
Facebook

 

UPDATE: PhoneGap/HTML5 Meetup #1 / Kick-Off

UPDATE:

We will meet on Thursday (05/26) at 7 pm at

Affentor-Schänke
Neuer Wall 9
60594 Frankfurt www.affentor-schaenke.de

—————–

Just a quick reminder: we are holding our first PhoneGap & HTML5 Meetup this Thursday in Frankfurt/Main.

Last year we already held a couple of HTML5 Meetups. This year we want to focus more on the mobile part: mobile development and PhoneGap. Nitobi, the guys from PhoneGap, will support our Meetup group and hopefully we get some cutting-edge insights from the PhoneGap project.

Anyone is invited to join our informal group. We are holding our next Meetup in a Ebbelwoi restaurant in a relaxed atmosphere. Demos or small presentations are welcome. The final location will be announced soon.

If you wanna join us on Thursday (May 26th), please sign up here:
Meetup.com
Xing
Facebook