New responsive website for PerfectTablePlan

Currently about 40% of people who land on the home page and click a link, click one of those event specific links (the others mainly go to the download or purchase page).

A responsive design means that you have to put things in more of a linear sequence (unlike the old 3 column approach). It seems to make sense to tell them what the software does and then establish some credibility before I send them off to a more specific page. But it is something I could A/B test (there is a growing list!).

Looks great Andy, hope it performs as well as it looks!

I do worry about hand crafted HTML though. I wonder whether putting the constraint of using Bootstrap (I don’t mean everything, I mean at least things like their grid framework) might help future maintenance.

Anyone else have experience of imposing this on 99designs competitions?

The 99designs competitions produced PSD (photoshop) files. I then paid someone else to code these into CSS/HTML. The final website is generated using using the Hammer4Mac, which means I can change the header, footer etc in 1 place and it regenerates all the pages automatically. I don’t think you can get much more future-proof than CSS+HTML at the moment.

Moving all the content from the old proprietary binary format into text has been a huge improvement.

Ok, thanks for clarifying.

I disagree about future proofing, or I didn’t use the correct term. I’m worried about the future maintenance burden, as we should always be. At the site scale, HTML and CSS and JS are not trivial to write, and so ways of reducing the burden by using technologies that others will have experience of, plus actually hastens the initial development process are surely advantageous.

Until that technology is no longer supported. Currently javascript frameworks seem to have a shelf life roughly the same as a pint of milk.

2 Likes

There seems to be a slight issue with the Laptop Graphic on top of the page. I.E. one pixel split level protruding. Otherwise looks really nice!

Also the slide show on the Laptop image is a bit too fast and hectic. Show each image for about x3 longer and it will be fine!

I noticed that. I’m not sure why it happens. Perhaps some sort of gif artefact. Hopefully will go away if I switch to PNG+javascript.

That seems to be the consensus. But it also needs to be fast enough that people notice it before they scroll down.

I don’t really think that is the case for the main ones (Bootstrap, JQuery et al). I wasn’t suggesting anything exotic. The main trouble you may have is keeping up with the versioning, but the concepts are still the same from release to release.

Just the purchase page to do now. I’ve been trying to re-implement the javascript from the current page which:
-Works out which country they are in and set the default currency (call
to maxmind geolocation service)
-Sets the prices depending on the currency selected
-Updates the total depending on the options selected
-Send the appropriate arguments to the checkout page when they click the button
But the code is a bit old and crufty. Can anyone recommend someone to reimplement it in jquery?

I have now coded up the purchase page in js+jquery (with significant help from Oliver Grahl and stackoverflow!).
http://www.oryxdigital.com/ptptest/html/purchase.html

Comments:

  • It should show the appropriate currency for you based on your location
    (GBP for UK, EUR for rest of Europe, USD for everywhere else).
  • I know the modal window that appears when you click a question mark or
    ’compare editions’ isn’t brilliant (no close control at the top) but I
    can fix that later.
  • If javascript is disabled it should hide the form and show some
    highlighted text telling you to email me (I might add a non-Javascript
    version at some point).
  • You should be able to click anywhere on a radio button/checkbox row to
    toggle the control.
  • If you click ‘secure checkout’ it should take you to the Avangate
    payment page for the appropriate product.
  • The responsive version doesn’t quite fill the page (e.g. on iPhone). Not sure why.

Please let me know if you spot any issues on your device/os/browser.

I use uBlock Origin as an ad blocking plugin with Firefox. A few things don’t work with the ad blocker activated:

  • I see USD prices, where Maxmind.com and ipinfo.io correctly detect my country as DE.
  • “click anywhere on a radio button/checkbox row to toggle the control” also only works with the ad blocker off.
  • “If you click ‘secure checkout’ it should take you to the Avangate payment page for the appropriate product.” - I just land at the top of the page, no chance to pay :wink:

The matching rule in uBlock is “maxmind.com*/geoip2.js” leading to blocking this “http://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js”

This leads to your whole client side JS code not working, because the “geoip” function does not exist in the first place.
To avoid I’d at least put a check for the geoip function in your JS code - that way geo locating still would not work but the rest of your script will.
Or even better I’d suggest to move the GeoIP query server side by using a script (ASP, PHP whatever you have access to) on your or a different server as “proxy” - and get the data for the JS from there. That way no ad blocker now or in the future would know you’re using geo location.

As far as I know uBlock is the third most used “anti-tracking” tool on FF and Chrome next to Ad Block Plus and Ghostery, so the little extra work might pay off quickly :smile:

1 Like

Thanks for that. I spent hours trying to get the script working on one of my computers before I realized that it was uBlock blocking the geolocation. It is frustrating that Javascript breaks so easily and quietly.

I definiately need to handle uBlock and similar. I am currently trying to work out a solution that checks whether geoip2() exists and, if it doesn’t, doesn’t do geolocation (just defaults to USD). I guess I could also move the check server-side, but trying to get asynch callback functions to work between PHP and Javascript sounds ugly.

1 Like

It’s an improvement for sure, my initial thoughts:

As mentioned above the main banner laptop has graphical glitches, if it were me I would use a real laptop .png here, I think this would complement the purple table-banner.

I use big widescreen monitors and the content section looks too narrow to me, it looks like an old-school/new-school hybrid. Perhaps you could try reducing the margins a little.

Consider moving the ‘Find out how…’ panel to just below the benefits section – I don’t feel the testimonials are as important.

Consider using a carousel testimonial widget which can be swiped and includes more testimonials.

The screenshots in your ‘Tour’ are not the best quality and I don’t like the fact that you have to scroll down to view the page. Again, if it were me, I would use a single widget that displays a high quality image and info with the ability to swipe next\previous.

Finally, Just to say, I’ve been following your blog for a number of years Andy and you’ve given me many, many nuggets of gold. Thanks!

@Andy .

I am currently trying to work out a solution that checks whether geoip2() exists and, if it doesn’t, doesn’t do geolocation (just defaults to USD)

Looks like the easiest solution, I guess…

but trying to get asynch callback functions to work between PHP and Javascript sounds ugly.

…or if you have the chance to host the order page on a PHP (or other supported stack) enabled server just inject the geo info directly

I plan to switch from an animated gif to a PNG slideshow. But it doesn’t need to be perfect to be launch - just better than the current website!

Very few people click through to the testimonials page in the current website.

I plan to do lots of A/B testing once I am sure the new website is functioning ok.

I’m not a big fan of carousels, personally. But again it is something I might test.

That is good to hear. I’ve been neglecting blogging, but I hope to find time to return to it.

I have modified it to check if geoip2() is defined. if not it just defaults to USD. Its not a perfect solution, but I think it is good enough for now.

Yes, just to confirm, now it works as you said: USD is shown with uBlock activated, clicking the product row actually changes the product and hitting the checkout button takes me to the payment page.
And I find it very relieving to see comments like these “// http://stackoverflow.com/questions/…” in other people’s code too :smiley:

1 Like

Its amazing what you can achieve with someone to point you in the right direction and stackoverflow.com !

1 Like

Looks like good work, Andy!

1 Like