Making the web work. Together.

User-friendly pop-up image gallery for NopCommerce

Posted by Ed on 17 November 2010 | 0 Comments

Tags: , , ,

The problem..

I have done several 'hacks' to nopCommerce to add galleries to pages. These normally involve a new page, a load of custom code and a very inflexible editing system for the CMS user.

0 comments | Read the full post

Adding a twitter feed to nop with twittertable

Posted by Ed on 8 October 2010 | 0 Comments

Tags: , , , ,

One great thing about writing software for the internet is the availability of really cool libraries and apps, often for free.

0 comments | Read the full post

Social media is a toddler, apparently...

Posted by Ed on 4 October 2010 | 0 Comments

Tags: , , , , ,

According to this [url=]great bbc article[/url], businesses are slow to react to, don't understand or underestimate the power of social networking and media.

According to the article, a leading retailer heard about technical issues from journalists who had seen details on twitter! Why should we be suprised. There have been several well publicised outbursts from top [over] rated sportsmen lately about being dropped from teams and other issues with team selections for rugby games being 'leaked' unintentionally by players. Corrie, amongst others, have banned Twitter from sets. Where will it end?

So what does this mean for businesses, especially small businesses looking to use social networking as a marketing tool?

Twitter, FaceBook, YouTUBE and blogs (shall we call them social media tools from now on?) might be 'toddlers' but they are immensely powerful and useful business marketing tools. Used correctly, in a meaningful and structured way, within a marketing strategy, they can be immensely powerful and beneficial to businesses. Used incorrectly or without consideration, they can be an embarrassing and costly waste of time.

So how can we avoid, as small to medium business, getting egg on our social media faces?

The key to using social media correctly is in understanding the media, how it reflects our business, how it communicates to our stakeholders and most specifically how marketing works as a method of communication.

It has been suggested that 'marketeers need to completely change their techniques to make social media work'. i disagree, although it is important to understand how these new areas of communication media are acting as a conduit from businesses to consumers. It is, in essence, no different than the transition in marketing and advertising from newspaper to radio, radio to television and so on. For example, radio became a great new land of prospects for proactive marketing people, but we still spend on newspaper ads. The same is true of FaceBook, Twitter or whichever social media tool takes your fancy. The big change, and advantage, is the removal of the anonymity of a straight ad or marketing channel. Now the customer can bite back. That's where the power lies.

Like all things in this [marketing] business, it's very much a numbers game and it's sometimes difficult to decide on the chicken or the egg? You might have a great writing style and fill your tweets with humorous, insightful comment every 10 minutes, but if you aren't being read, it's just wasting your time. As we said, it's about understanding the media and working out what will work for you.

For example, you might have a new site, so work on building a blog and news rich content to grow the brand and drive up traffic up, then invest time in Twitter to build a buzz and gain a meaningful dialogue with clients and followers,

So you can see that by knowing what your starting point is, understanding the tools that are available and when it is appropriate to introduce new methods of communication, you can get the most from your time and efforts.

More mature or established businesses can use Twitter and other social media tools as hooks on their already busy websites. Moving direct communication with clients from email or chat apps to Twitter will leverage the vogue appeal of Twitter and allow your sales team to keep in touch with clients old and new.

So in summary, don't ditch the ads, email campaigns or SEO. Just take some time to know and understand each new or emerging social media tool and see how it can work for you and your business. As with all marketing, a little imagination, objectivity and time will go a long way. See how other businesses and institutions are introducing these new communication streams to get an idea on what could work for you.

0 comments | Read the full post

ePDQ intergration for nopCommerce

Posted by Ed on 23 August 2010 | 0 Comments

Tags: , , , , ,

One of the applications we use a lot is NopCommerce.

The reasons why are pretty obvious if you've used it or seen what it can do.

On a recent e-commerce project based around nopCommerce (1.6 on .NET 3.5) I needed to use ePDQ for the payment gateway.

This is all cool stuff, because I've done a lot in nopCommerce and also have done a few ePDQ integrations on bespoke dev in the past.

Another great reason for using nopCommerce is the community support, which is pretty big, normally helpful and good at sharing code. In actual fact nop themselves seem to do a pretty regular job of integrating common payment gateways and other items into the base build from user contributed code, so I was pretty confident of seeing ePDQ in there, or at least a project on GitHub or similar for it.

I was amazed that no one had actually contributed one to the project, but there were a few 'call for quote' options where people had written one and were offering it commercially.

Payment gateways in general and nop in particular are pretty easy to work with, so I wasn't going to pay for an option. If you are limited by time, want something of commercial strength or aren't really a .NET developer, the  commercial offerings should be a good option, although I know noting about price, support or implementation, so check out the nopCommerce forum if you need details.

So, how do I go about adding ePDQ to nop?

[b]Understanding ePDQ[/b]

First things first, you need to understand the payment gateway, what it expects and what it returns.

I had a little refresher on ePDQ and it all came flooding back.

Payment gateways work in one of several ways. The differences are normally in how they authenticate and secure your data, with writebacks all generally taking a familiar approach.

With ePDQ, you need to generate a secure post, send it to the encryption service on the gateway, along with a few other variables, then send the returned data to the actual gateway where the user puts in their card details.

Once payment has been made, a return url is used to update the order locally (in nopCommerce) and the user gets a nice redirect back to your site.

[b]Understanding nopCommerce[/b]

NopCommerce is easy to use because it has a lot of in-built functionality, is well written with proper interfaces and inheritance (that most people seem to not bother with, but should) and [IMHO] has a nice usable project structure in the solution.

What makes nopCommerce scary as hell at first, is that it is quite huge. If you take a little time to understand how it all knits, it's pretty easy to just figure out the smaller pieces of code that do what you need to do.

So, nopCommerce payment types all have some big similarities that allow us to copy and complete the small difference that make up the payment methods.

All the payment methods live in their own project with a payment processor or two, have a configuration user control in the admin section of the store and a template in the templates section.

These are supplemented by response scripts that take the returned data from the gateway, update the order and do whatever you need to with the response.

[b]Making a new payment type, eg: ePDQ[/b]

This is simply a matter or adding each required project, user control and writeback file based on the closest existing payment type.

For ePDQ, I have based my version on the SagePay processor.
The new payment type needs to inherit from IPaymentMethod and include all the required methods.

The ProcessPayment() and PostProcessPayment() methods do all the work. (I assume these are called from the checkout process once the payment method is selected. See, interfaces at work!).

My implementation creates a RemotePost object, adds some post fields, calls a local method that build the encrypted post fields via a WebClient() using a mix of data from the Order class and settings in the Settings management store (which are reflected in the payment configuration file in the Administration section of the store), then fires it all off to the gateway.

I've added most of the meaningful variables to the ePDQ configuration user control, and also added a TestMode setting, which takes the writeback values from the gateway and writes them to a log file.

One of the slighly annoying aspects of ePDQ is its lack of a test gateway or simulator, such as PagePay offers. Thinking around this for testing takes a bit of consideration, but if we take the rough process as follows:

Build an order string
Send to ePDQ  
Get encrypted data back from ePDQ
Send the form post to the gateway with encrypted data enclosed
Get a writeback from ePDQ with status
Display a happy message to the user

We can see 3 or 4 meaningful places where data would be useful for debugging, so if necessary we could add logs for each step of the process. One of the big problems with debugging payment gateways is always the inability to return to a Localhost page. Having meaningful debug data will help.

[b]So, where's the solution?[/b]

Good question. I'm writing it now, so it's not ready to be used in my projects or anyone else's just yet.

I'll probably offer it as a sample download and do a more in depth how-to at the same time.


0 comments | Read the full post

Surf the [Google] Wave...

Posted by Ed on 18 November 2009 | 0 Comments

I'm a bit of a cynic. No, I really am.

I also like really cool and useful new things, including gadgets and trinkets but especially software. And if it's in the clouds, even better...

I hate it when people come up with really obvious ideas, like Google have with Wave, because I get all bitter and twisted about why I didn't think of that.

Ok, I shouldn't beat myself up about it. After all, Google have an [almost] endless pot of resources, including the all important time and money. But this is just a simple mash up of a few aged concepts, a snappy title and a little sprinkle of the, ah yes, the endless Google marketing resource. See the cynic kicked n there.

I'm not sure this would get anywhere close to the heights it will achieve without the Google brand, but it's still a great idea and will be a really useful tool for networking.

So what exactly is Google Wave and why is it going to be good?

Well, Google Wave is a piece of software that runs in a browser, that allows more than one person to  collaborate on a document that can include pictures, text, movies and, well, almost anything electronic.

Imagine MSN, Facebook, Twitter, Skype IM, well, it's like all those, except different.

It's different because it's been crafted and shaped to focus on, errmmm, well, focus. All communication and social networking style apps, like those mentioned above, have some kind of access permission. So does Google Wave. With Twitter you follow, MSN etc, you invite contacts and waffle about things, with Facebook, you just pop in and out and see other people's washing.

My take on social networking is that Twitter is someones opinion, rant or observation that others can read if they want to. That's cool. MSN et al are quite intimate, one to one, friends in the living room, chatting. Again, a great app and indeed the grandfather of IM/Social Networking. Facebook is great at helpin you organise your life a little better. It's quite irreverant, has fun things to do while you are there, so you hang  around some more, bui essentially, a waste of time. Albeit a cool one.

So is Google Wave just another Social Networking app? Well, yes and no. It may well mature and grow into something as vast as Facebook and is probably as snappy as Twitter, although it is wrapped in that clean but  rather sterile Google style GUI. What Google Wave has is that focus. There I go again. What I mean by that is, it is structured so precisely and finely tuned with exactly the right amount of meaningful functionality that it is almost perfect for any Social Networking task. It is also really well suited to collaborative brainstorming and teamwork. That is where I will be using it most.

Yes, you can distribute invites to your 21st birthday party, with maps and everything, but for me, it's going to save many trees because I won't need to 'brainstorm' with post it notes on a wall any more.

I've only had a very brief look at Google Wave, which is in Beta at the moment anyway, and I have no idea which direction Google will want it to go.

The 'product positioning' part of my brain, just next to the bit that likes motorbikes and Halo on the '360, says it will gather as much meaningful information as it can before launch, decide which demographic it is most popular with and steer gently in that direction without really lowering its appeal to other users and groups. This cynic feels his 'product positioning' centre may be moving slowly towards the bit at the back, next to canal boats and gardener's question time.

Read about Google Wave at: [url][/url]

Thanks for reading.


0 comments | Read the full post

ePDQ intergration for nopCommerce part 2

Posted by Ed on 10 July 2009 | 0 Comments

Tags: , , ,

Why this second blog?

Since adding my speculative blog post about there not being an ePDQ payment module available for nopCommerce, and me having to write one, I've had a few requests from people for the code.

0 comments | Read the full post

1 2