Archive for June, 2009

Asp.Net and Aweber

June 30th, 2009 by Mark Wiseman

ALFitness recently wanted to change their users email marketing tool and decided to use aweber. This looked like it would be a simple process ended up being a nightmare.

When a user joined ALFitness we would subscribe them to an email list in aweber by sending an email. This was not a problem. The problems started when we wanted to parse information from that email so it could be used in the marketing campaign.

i.e. Saving current exercise frequency and activities they enjoyed.

We would receive an email from MAILER-DAEMON@mail1.aweber.com saying:
Hi. This is the qmail-send program at mail1.aweber.com. I’m afraid I wasn’t able to deliver your message to the following addresses. This is a permanent error; I’ve given up. Sorry it didn’t work out.

It would then attach a copy of our email with the body formatted strangley:
Exercise Regularity: 1-3 times per week=0D=0AActivities Enjoyed: Home gym=0D=0A

The problem is instead of Carriage Return Line Feeds it was recieving =0D=0A. After a lot time on the phone with aweber and a lot of searching i found out that we were sending our emails with: Content-Transfer-Encoding: quoted-printable. Apparantly there are some systems that cannot recognize this and we would need to change this to 7bit. It isn’t obvious how to do this but this is how we achieved it:

Dim message As MailMessage = New MailMessage
message.From = New MailAddress(from)
message.To.Add(pTo)
message.Subject = subject

message.BodyEncoding = Encoding.GetEncoding("iso-8859-1")

Dim plainView As AlternateView = AlternateView.CreateAlternateViewFromString(body, Encoding.GetEncoding("iso-8859-1"), "text/plain")
plainView.TransferEncoding = Net.Mime.TransferEncoding.SevenBit	'VERY IMPORTANT
message.AlternateViews.Add(plainView)

Dim smtpClient As SmtpClient = New SmtpClient
smtpClient.Send(message)

ICSP website re-development

June 2nd, 2009 by Liani Liebenberg

We are on the brink of embarking on an exciting new project: the re-development of the current ICSP website (www.icsp.com.au). International Customer Service Professionals (ICSP) is a professional body promoting Customer Service Excellence with Tricia Olsen leading the team as CEO and Founder. Revium has teamed up with ICSP to promote ICSP as a leader in the industry and showcase the services currently offered by incorporating new functionality into the website which will improve ICSP overall web presence and ultimately encourage more signups to ICSP membership.

The project has been divided into 2 phases and we are still in negotiation to determine exactly which elements fall within the scope of phase 1. Currently Revium has committed to delivering the following core improvements:

  • Re-design of website layout & navigation 
  • Replication of the current ‘Members’ section functionality
  • Incorporation of an new Internal Site search feature
  • Standardisation of existing forms & new and improved sign-up/feedback forms with auto-responders
  • A new ‘Share’ option (e.g. post content to Twitter, FaceBook etc)
  • WordPress Content Management System(CMS) allowing ICSP to move content from the old site to the new site
  • Basic SEO and Google Analytics (Web Stats)
  • Allow “comments” to be left by the general public on certain articles (Moderation would be performed by ICSP)
  • Updating the email marketing system (eBulletins)
  • Our design team has started with the design of the website and we hope to deliver the initial mockups of the site to the client within this week. Timelines have not been set in stone yet but watch this space for go-live details and a new and improved web solution for ICSP…

    Power of the ASP.NET MVC + jquery

    June 1st, 2009 by Evgeny Petrov

    What a hectic a couple of last months have been for the SE New Products project team (Liani has blogged about this project earlier)! Quite a few work weekends and lots of things learned. That was our first serious test of new and becoming famous MS ASP.NET MVC framework and it passed it very well. In conjunction with some very extensive use of jquery and it’s various plug-ins it helped us to deliver a fast, crispy looking web site with some very intense business logic.

    A particularly interesting from technical point of view there were the following findings:

    • ASP.NET MVC + jquery may be considered a significant shift from classic ASP.NET development paradigm. It requires new skill and fresh look at the way we develop .net based web sites.
    • By heavy use of jquery we achieved a substantial shift of business logic from server side to client side, from c# to jscript. It doesn’t look as an achievement at first sight, but in reality it is - client browser became “live” instead of being static as it usually happens and this by our view dramatically improves user experience.
    • we use a special technique to compress and gzip jscript files before delivering to browser. According to our tests it gave size benefits up to 5 times and browser visually loads files faster. We have added a special flavour to this technique by dynamically changing urls to compressed files if there have been code changes made, thus ensuring that the only version of js browser can get is the latest.
    • jquery + ajax + json were used to deliver rich server side form validation rules to the client browser. For user it seamlessly looks as a client validation, but in reality it’s not - the approach works very well in all cases we needed to use it in.
    • A custom RequireSSL action attribute has been developed to enforce SSL for certain pages according to the environment the web site is hosted on.
    • log4net logging framework has been used for logging instead of “MS Enterprise Libraries Logging” and we don’t regret. We’ve had quite a few issues with Enterprise Libraries on previous projects and log4net didn’t let us down.

    Take a look at the showcase web site at Simply Energy. I hope you’ll enjoy it.