Tuesday, March 31, 2015

EPi Initialization Modules: A Practical Guide

If you've been working with EPi 7 or 7.5 (or even 8 for you early adopters), you've most likely created an initialization module.  For a thorough introduction, this link is a good resource. While they are really extensible, I've run into a few hiccups during development and would like to share some (hopefully) time saving tips.

Debugging

Debugging has proven to be quite a headache for me whenever I create an initialization module since I don't do it very often and always forget how I was able to do it the last time. Since you need to be attached to the debugger while the site is initializing, many common forms of debugging don't work very well (if you are using traditional IIS and not IIS Express). I've seen a couple blog posts on this topic, but none have worked for me (because it's for an older version of EPi or because it recycles the whole app pool).  

Here is the easiest way I've found to quickly and easily debug my initialization modules:

1. In your Initialization module, add this line where you would like the debugger to break

System.Diagnostics.Debugger.Break();

2. Using Visual Studio's Debug > Attach to Process menu, attach to all of the w3wp processes.  This makes sure that you are still attached to the process running the initialization even when you restart the site in the next step.



3. In IIS, restart the website you'd like to initialize

You should see your break point hit and be able to debug your initialization module now.  If you know a better way to accomplish this, please let me know in the comments! This has been the simplest solution I've found.

InitComplete

In EPi's documentation, they mention that the InitComplete event's "typical use case (also featured in EPiServer Community) is to attach event handlers to an instance property that may be overridden by third-party code."

Another use case for InitComplete is if you need to access the Start page of your site or any other site specific properties.  These are only available after the site has been initialized.

One "gotcha" to keep in mind, is that you must have the wild card site binding in order for the initialization module to properly find your Start Page.  Otherwise, ContentReference.StartPage returns an empty content reference.



Do you know of any other tips when developing initialization modules? Let me know in the comments!

Monday, March 30, 2015

How agile is reviving the marketing industry

"Best practice" has been a mantra that many in the marketing industry have depended on over the last few years. On first glance it makes sense: sticking to what has - in the past - been proven to yield the most effective results seems like a guaranteed strategy for future success. 


But “past” is the key word. Progress requires that we make new discoveries - and if we always do what we have done in the past, the future will look very similar. 

For outstanding success going forward, we need to find new ways of doing things; we need to forge solutions, not follow them. 

This is not going to be achieved by following best practice.



Monday, March 16, 2015

Wintercamp II – Day 1, arriving

The second Wintercamp took place at Koppars on the 11-14 march 2015.

Feedback from last years’ Wintercamp was that we should decide and prepare some themes and projects prior to going up to Koppars.

So, when we, the 20 people from the Chicago, Stockholm, and London offices drove up to Koppars, there were six themes pre-baked and everyone felt roughly prepared for what was going to take place.



The idea behind Wintercamp is to unite people from all the offices and create, code, build, write, hang out, cook, and spend some time together outside of client projects. 

There are no rules except :

  • 1. We do Wintercamp stuff from 09.00-17.00 - even though it was really hard to get people away from the keyboards before 20.00 sometimes :-)
  • 2. We do a short demo of the progress each day at 17.00.


We arrived at Koppars just outside Järvsö. The place is at the shore of river Ljusnan and consists of one main building and a few smaller. Once settled in we started off with lunch, a brief intro to all the themes.

Koppars is located just next to the Ljusnan river and it's a beautiful place in the wintertime. 

Lunchtime day one.

Theme briefing

This is the pre-defined themes we wanted to dive deeper into at the wintercamp:

New Nansen.com


Initial wireframe for the news Nansen.com

This is the big one! It’s the most demanding theme since it will be the replacement of the current Nansen site that has existed for three years.

The goal was to leave Koppars with very, very well worked version 0.96 of the site. Everything had to be created from scratch.

GUI for Blueprint prototype tool


Proof of concept for the prototyping GUI is built in Umbraco.

Last year we refined and continued to build upon our prototype framework Blueprint. It is now in such a mature state that we have decided to try to build a graphical interface for it so that we UX:ers and designers can create prototypes without having to touch HTML and CSS. 

NAPC 2015 conference app


Photo-feed in the NAPC conferance app.

This is a theme initiated by the Chicago office. The idea is to dive into Xamarin, a framework where you build native apps for iOS, Android, Mac, and Windows, and build an app for our yearly internal Nansen NAPC conference. This year the conferance will be held in Chicago and will include staff from all our offices; Stockholm, London, New York and Chicago. The app will house travel information, speaker/session schedules, photo-stream so that the attendees can get the most out of the conferance.

Create templates for our new PRINCE2 project management process




The project management team has been working with our new project process Nansen NEXT. We are integrating the PRINCE2 project methodology with the agile development process. The work involves creating project management templates, and defining which work is done when.

"Concept" section for our client preview area




We have a Preview.nansen.com domain where our clients can login and access the visual design and prototypes that we build for them. But one thing that has been missing is a section where we can summarize concept and strategy for the clients projects. Goal is to get this in place.

Automatic style guides




We all love style guides! In a few projects we have drafted a style guide tool that automatically generates them for us from our LESS, SASS, or CSS files. At this Wintercamp it was time to refactor it, structure it a bit more seriously and integrate it more deeply with our Preview-area and the Blueprint framework.  

Friday, March 13, 2015

Digital consumers don't experience what we expect

A new eConsultancy Digital marketing report about what consumers find really important online vs. what we as an agency finds important contained some groundbreaking facts.

Our view of the consumers’ digital experience doesn't always correlate with their own.



Especially the -70% factor regarding how consumers request "information about your account" support and the -65% difference regarding the importance of "account details" is remarkable. Integrity aside, a digital solution never seems to become too relevant for users. Worth keeping in mind.

Also, the 106% difference between "social touch points", the 72% on a tablet and the 128% smartphone are interesting numbers.

The report featured 1500 respondents and was published in February2015.

Vi är överallt, iallafall i Järvsö, Vemdalen och Austin Texas

Det händer otroligt mycket hos oss just nu. Inte bara när det gäller kunder och projekt.
Här på Nansen så försöker vi, förutom att koka riktigt bra webb, även att ha kul tillsammans och även vidareutveckla oss. Så vad händer just nu då undrar ni?

Vi skyfflat iväg 22 personer, från våra kontor i London, Chicago och Stockholm, till vår årliga wintercamp uppe på gården Koppars i Järvsö. Där är tanken att vi ska skapa en massa nyttiga och coola verktyg, proccesser och material som vi använder i vår dagliga verksamhet.
Grejer som tex vårt prototypverktyg Blueprint och vår plattform Encore filas det på. Saker som våra kunder får nytta av i våra projekt sen. Men även interna grejer tas fram.
Följ hasthtaggen #napc på twitter och facebook för massa fina bilder och intressanta posts från wintercampen!

Vi har även ett gäng sköningar som är uppe och åker skidor och bräda i Vemdalen denna helg. 10 vintersportare intryckta i en trevlig stuga. De kanske inte producerar en massa coola verktyg, men de bygger väl nån slags broar tillsammans...who knows?

Markus Bereflod och Joe Grause från vårt chicagokontor är just nu iväg på SXSW Interactive i Austing, Texas.

Vi andra som inte åker nerför pisten i Vemdalen, är på wintercamp i Järvsö eller konferensar i Austin Texas håller ställningarna här hemma. Jag köpte iaf glass till oss som var kvar här på kontoret och faktiskt såg till att det kokades lite webb åt alla våra kunder.

/Rudde