Google Drive arrives at the party
The cloud storage space is now feeling a little more cramped as the big boy of the web sidles in for a piece of the action. Announced yesterday, Google Drive aims to tempt over those enamoured of the likes of Dropbox by offering server space to store your files. Other than the fact it’s backed by the web giant the other benefits Google is touting are integration with their other services such as Gmail and Google Docs. One very interesting differentiator is the ability for 3rd parties to use an API to access Google Drive through Chrome browser apps. This allows these 3rd parties to effectively write a web based file system that ties into Google’s Chrome browser and ecosystem. Clearly Google has been learning lessons from Apple’s vertical integration methods.
By signing up you can get 5Gb for free and the paid upgrade offerings are priced very competitively in comparison to Dropbox among others.
Of course as with all things there are grumblings from the side lines the most major of which are concerns over privacy. After all, what is to stop the big G from having a quick peek at the files you are storing on their servers and add to the profiles they are cheerfully building up on you. All the better to show you more targeted ads. Others more amusingly point out that this all sounds rather like Gdrive, Google’s cloud based storage system which was, according to Steven Levy’s book ‘In the Plex’, shelved after lobbying by a certain Sundar Pichai. Strange indeed then that the very same Senior Vice President of Chrome & Apps is the one making this very announcement.
Javascript vs Ruby Hipsters
Over the weekend, there’s been trouble brewing in the web development world… A kerfuffle has broken out over the lack of semi-colons in the Twitter Bootstrap javascript libraries. Nerd slapfights like these would under normal circumstances not be notable but in this particular case programming luminaries such as Douglas Crockford and Brendan Eich have waded deep into the argument.
The authors of the widely used (indeed we have discussed it on this very blog) Twitter Bootstrap library have chosen to omit semi-colons in their javascript code. Javascript, being a C based language uses semi-colons as a statement terminator. However, the javascript parser is able to automatically insert semi-colons if they have been omitted and it detects a newline. Howerver, in his book Javascript: The Good Parts and in various talks he has given on the topic, Douglas Crockford makes it clear that the semi-colon is a necessary statement terminator. Newlines should not be used in its place due to the likelihood of bugs creeping in. Backing up this point of view is Brendan Eich, who we should point out, actually invented Javascript.
The issue has raised its head on a bug opened on the official Github Bootstrap repository wherein Bootstrap is described as not working with JSMin, minification software created by Douglas Crockford. Commentators say the issue could easily be resolved by adding the semi-colons. Crockford himself comments on the thread, his opening gambit being, “That is insanely stupid code. I am not going to dumb down JSMin for this case.” Lines are drawn, sides taken and insults thrown around.
So why are these developers choosing to use new-lines in place of semi colons? Some claim that semi-colon usage arguments are a form of Bikesheding; concerning yourself with trivial issues such as what colour to paint the Bike shed rather than focusing on more complex and relevant issues. Others argue, and indeed in the comments of the Github thread in question it is stated by the project’s owner, that if you are familiar with javascript you can omit semicolons and rely on the automatic semi-colon insertion. Doing so is in some way a showing of skill, mastery over the javascript interpreter. The omission of semi-colons is also an aesthetic choice. By not using them the code is more readable to Ruby developers. This drive to make the language more Ruby-like led to the creation of Coffeescript and it is understandable that developers might way to use standard javascript in a similar way.
However Ruby developers are also seen as San-Fran livin’, fixie riding, floppy haired hipsters with giant egos who are more concerned with image that substance. Developers who are concerned with making code “beautiful”, as if programming were a medieval art like glassblowing or being a blacksmith. People who wear T-shirts proclaiming them to be “Code Poets”; programming Lord Byron’s. It is unsurprising then to find that Bootstrap is the output of Ruby developers.
Having a C based language overridden by the aesthetics of Ruby can be jarring especially when it runs counter to how it is supposed to be used. Indeed as another commentator states in the thread, “Semi-colonless Javascript is an ego-stroking attempt at rejecting standards for the sake of rejecting standards, not for the greater benefit of the community.” That Crockford’s views are assailed by commentators who’s photos have them posing with teddy bears, oversized sunglasses and ironic haircuts doesn’t dissuade the view of hipster Ruby developers.
The bug has now been closed with no resolution and a lot of acrimony, the debate will, we are sure, continue.
PHP: The filth and the fury
The favourite whipping boy of programmers everywhere has once again taken its licks in a blistering blog article titled PHP: a fractal of bad design. While no stranger to lengthy lists of its shortcomings the latest attack is a cavalcade of issues that the language suffers from. Apart from the vigorous nodding in agreement, debate online has centred on the most pertinent of questions, “Why would a programmer use this abomination of a language?”
PHP is not universally held in such low regard. It is, for the web layperson looking to dip their toe into the world of development, an easy and forgiving environment which allows them to peruse a few tutorials and have a basic site up and running in almost no time at all. By just creating a text file adding a bit of code, changing the extension to .php and uploading to a web server you can instantly create a site. Skimming a few more articles will have you connecting to a database and proudly running a “real” website. Besides it’s used on some of the largest websites in the world such as Wikipedia and Facebook, they must know what they are doing so it can’t be all bad right?
Detractors would point out that enabling amateur web developers to throw together sites will almost no idea of what they are doing is a recipe for disaster. While the site they produce may indeed work, in the eyes of a developers it is only in the most tenuous sense possible and will most likely be riddled with security holes. When such code bases are inherited the amount of refactoring require means that almost none of the original code will be kept. As a developer you will have to view PHP code that will likely leave you bug eyed in disbelief. For the language itself the bizarre rules of equivalence, the inconsistencies in everything including the standard functions will likely drive you mad. The avoidance of any discussion of parameterized sql statements in the official documentation in favour of telling you to escape your strings is insane. The list goes on and on.
So why use PHP? Simply there is no viable alternative if you need to be able to host your site almost anywhere. Other languages require software stacks and web specific frameworks to run a site, ensuring you will need to have knowledge of more than just the language used. The site produced will probably have to run under Fast CGI on a server resulting in less than grand performance. PHP in contrast is ubiquitous and supported by pretty much all web hosts. It is unavoidable if you are to be a web developer and you will need to know the language even if it is not to be your primary skill. Even then your job most likely will be using PHP given that easily 80% of development jobs will use it.
To know PHP’s shortcomings is to be able to avoid them. You do not need to program in the Cargo Cult, copy and paste method used by beginners. There are a variety of frameworks now available that take care of the boilerplate and require you to structure code with a separation of concerns. While PHP is forgiving when used poorly there is no reason you cannot code in a correct manner following best practices. Doing so will help raise the awareness of these issues with potential developers and allow them to avoid the mess of spaghetti code that has come before. When used with a framework such as Codeigniter PHP becomes almost pleasant to use, but maybe that is the Stockholm syndrome speaking.
Client side frameworks, the new hotness
A recent article on javascript frameworks and the almost inevitable switching of focus to client based development from the server-side for web applications has left the blogosphere all in a tizzy. ‘Rails is just an API’ couldn’t have targeted a more grasping and rant happy clientele, given that the Rails framework is held in an almost messianic regard by certain sections of the web development community. The gist of the article is that with rich client side frameworks such as backbone , knockout and batman the server side elder statesmen like Rails, Django and ASP.NET MVC will be relegated to being JSON providers with a bit of authentication sprinkled on top.
One of the triggers for these observations is the release of the new version of Basecamp from 37signals. The original Basecamp being the application from which the Rails framework was first extracted. Instead of embracing the new client side ideology it appears that 37signals went out of their way to avoid a javascript front end and have been triumphantly tweeting about the lack of such. Compare and contrast with Twitter itself which heavily uses javascript to render the entire interface. We are now at a point where browsers can support extensive rich interfaces whereas before switching an image on mouse-over was a somewhat mind-blowing feat. The support will only improve, browsers will only get faster, so it appears that the snubbing of client-side javascript for the release of one of the premier web apps is not only short sighted but predicated on supporting the now almost long in the tooth Rails framework’s appearances to web developers. While no one can blame them for rah-rah-rah-ing their own framework it runs, some say, against the clear direction web development is heading.
For our own part we recently have been using Knockout.js to develop a rich and responsive search interface for one site in development. The framework has been a joy to work with and it’s clear that this will be a useful tool to use in future and it’s capabilities will even be in mind when we build other sites that could benefit from rich interaction. One caveat is that, for now, such frameworks are useful mainly for web application development and not simple websites. Given that much of the interface will be created by templates on the user end it currently impacts SEO, and so is best left to un-crawlable pages behind log-ins. That might not be the case for long as the Google bot has been executing javascript for some time and may soon be able to emulate a full browser, letting the use cases expand for these frameworks.
What do you think of these javascript frameworks? Are they the future? Let us know.
Bruce Sterling on ‘The Stacks’
Another South by Southwest (SXSW) interactive has just finished wrapping up. As tradition would have it Bruce Sterling, Sci-Fi writer, Visionary in residence and Transglobal Futurist gave his annual closing keynote address, this year labelled as “The Ultimate Bruce Sterling Talk”. His thoughts on the current and future state of technology and it’s intersections with people and politics are always something I look forward to hearing.
This year was just as special with Sterling opening his address by lamenting that the state of the world was even worse than last year which he described as a horrible, shameful thing to watch. He talked of the current burden of debt placed upon students who had no possibilities of employment at present calling it a “smart tax on the population”. Moving on from a discussion of Mexico which despite being plagued by Narco-cultura was becoming a new hot bed of artistic talent through to his thoughts on fabricators. His attitude being that now was the time to get on board with 3d printing and fabrication likening it to investing in your first 300 baud modem back in the 80’s way before the internet explosion.
After a conversation about geek art and aesthetics destined to become dominant in mainstream culture Sterling got to the main point of his speech with a discussion that affects everyone on the internet, companies he describes as “The Stacks”. The Stacks are companies that are setting out to build vertically integrated media empires. Google, Facebook, Apple, Microsoft and Amazon. These companies he says, want to lock you into their stack and they see their future as taking over and replacing the internet. While they are not inherently hostile to the internet they are in favour of their own situation preferring for you to use their eco-systems, a-la Facebook and Apple’s Facetime, making the rest of the internet irrelevant.
These Stacks, he says, offer no prosperity, security or wellbeing to participants, other than shareholders. The internet had users; Stack users are livestock. The Stacks want to reduce you to “dog status” which they see as the easiest way of handling you. People like the Stacks because the internet scares them and the walled garden is a more comfortable experience. While he believes the “lords of the stack are not bad guys” we shouldn’t be so dependent on these Stacks which he thinks are leading to the life blood being drained out of other forms of expression such as music, literature and film. Each stack thinks it’s the future and they think the other four are doomed and irrelevant. Sterling predicts that all five will be rendered irrelevant and be destroyed but he doesn’t think that when the end comes for them it will be pretty.
Sterling’s keynote as usual gives plenty of food for thought. Will his predictions turn out to be true? Will the internet prevail? Let us know what you think.
The Twitter Bootstrap Backlash
In recent days there have been grumblings of disquiet over a few vocal bloggers decrying an apparent rampant overuse of Twitter Bootstrap – a toolkit of simple but elegant HTML and CSS conventions used for building web apps. While this nerd backlash may seem to some to be a storm in a teacup, it’s raised a few heckles with developers who find the convenience of the library to be a good thing.
The issue appears to be the “samey-ness” of websites using the framework. Sites such as the Built With Bootstrap Tumblr feed showcase the variety of websites built with the toolkit. When flicking through the galleries a certain style does leap out and, admittedly, some even use the library “as is”. The result though is not entirely unpleasant, and as one wily commentator pointed out it is better than the ‘Geocities look’ that developers would routinely come up with on their own.
Still, there are others fighting in its corner. Dave Winer has run to its defence and compares Bootstrap to the legendary Apple Macintosh, arguing that the standardisation and ease of use it offers allows people to focus on what’s important with a web application. The negativity he believes comes from people worrying that such frameworks commoditise user experience, will block development of alternatives or even somehow remove creativity from web design. Winer believes that the benefits of adapting to resources like Bootstrap allow developers to build ever better software on these foundations rather than wasting time on the basics over and over again.
I heartily concur with his opinion. From my own perspective I have found working with Bootstrap to be a great experience allowing me to concentrate on the nuts ands bolts, nitty gritty of development without having to worry about how form controls look by default. Bootstrap offers a standardised and useful set of defaults that allow the developer to focus on content and usability rather than wrestling with getting the same appearance with a dozen different browsers. All that and it doesn’t look half bad either.
One of the cornerstones of development is to not repeat yourself. Using third party frameworks or developing your own saves wasted time and allows us to focus on the needs of the customer. Bootstrap is the beginning. The rapid take up and support it has generated shows there is a need for such frameworks. Eventually there will be replacements and soon thereafter Bloggers complaining that everything looks the same. Again.
Disruptive Design and thoughts on the Responsive Summit
Last week a few of the web industry’s movers and shakers got together at a quickly arranged meet-up under the rather grandiose title of the Responsive Summit. They talked about how, in the post-PC world, web agencies can deliver websites for the reality of a multitude of web enabled devices. Aside from minor moaning on Twitter about the perceived elitism of the internet Illuminanti deciding upon the direction we all need to take, the response to the Summit has been positive. And the information I have taken from it is proving very interesting.
The hard truth that agencies like ours are facing is that mobile is not only on the rise, but will become the primary internet platform. This was recognised years ago and people boarded the responsive bandwagon thanks to such now legendary articles as Ethan Marcotte’s Responsive Web Design. In tandem with this a small number of people started doing all web design in the browser. The latest movement to pick up steam is Mobile First, whereby sites are designed for phones first and desktops second.
The Responsive Summit was an attempt to view all these developments in light of business realities and offer ideas of how agencies should move forward. So far, one of the major issues discussed is the applicability of the old print design method that has been passed down to the web. In this set-up Photoshop ‘proofs’ are produced for sign-off by clients before being constructed into a website, pixel for pixel. The argument is that this is ridiculous in light of the fact that these sites will now be viewed on screens of massively varying dimensions and resolutions.
Is the answer to produce proofs for a variety of screen widths? This would prove to be exhaustive and expensive work. The suggestion then is to follow what at first glance appears to be a process more in line with that old favourite of developers: agile. This brings the new philosophies together within an iterative development framework with designers working closely with developers to produce working responsive mock-ups for delivery to the client. Using a mobile first mindset and developing primarily in the browser the hope is that we can deliver sites that meet the clients requirements that are workable across the vast swathe of devices on the market.
This would be a large change to the established waterfall development pattern that agencies and clients are used to. Can agencies change their methods so completely? And will the client buy into this?
More information is still coming out of the Responsive Summit and there is a lot to digest, but this is the start of the conversation we all need to have. The future is both exciting and daunting for web developers…
Quick and Easy Conversion Rate Optimisation
You don’t always need to get your web development company involved to make a difference to the conversion rates of your website. Here’s a small list of things you can do right now to improve your business.
Advertise your best stuff “above the fold”
Make sure you are displaying your very best products on the front page and category listing pages. First impressions count and as they say “Above the fold if you want it sold”. Eye level is buy level!
State any order limitations early in the process
If you don’t ship overseas make sure the customer knows. Extra shipping to the Outer Hebrides? Let the customer know.
Inform the users about delivery times
Make sure you are giving potential customers a clear estimate of how long the expected delivery times will be. No one likes to wait.
Free shipping = lots of sales
Time after time surveys have shown that the number one barrier to sales is the cost of shipping. Give your customers free shipping and remove that barrier.
Use good quality product images
Customers want to see what they are buying. Provide clear good quality images of your products. Small pixelated images will prevent that sale.
Scarcity
A simple trick is to pick out items and make them “Limited Editions”. The less of something there is the more valuable it becomes to people.
Offer a price guarantee
Customers on the web like to shop around for the best deal. Keep them on your site by offering a price match guarantee.
While these ideas will get you started, remember that the best way to improve the performance of your site is to design and build for Conversions from the start. Call eSterling today for details on how to improve the effectiveness of your business.
The Gamification of Commerce
Currently one of the hottest buzz words in the web development space, Gamification, is beginning to supplant old favourites like social media in mindshare. Gamification, as its name implies, typically involves bringing the mechanics and innovations of game design into web design. The purpose of this is to improve the users’ experience and increase their engagement – to make a website have the enveloping effect of the latest gaming hit. Gamifying a website doesn’t necessarily mean to create a game but to apply the ideas games have of dynamics, mechanics and design in an appropriate way.
Seeds were planted for Gamification to become one of the next big things when social media websites like Facebook partnered with companies such as Zynga – famous for Farmville – who sought ways to increase the engagement of users with the use of points, levels, badges and more to capture interest. The benefit for Facebook was users kept coming back to the site for more, each looking for gratification by increasing their scores and piles of virtual goods. Other companies have boarded the bandwagon early and introduced their own game elements. Foursquare, for instance, challenges people to earn badges and status amongst their peers by ‘checking in’ at locations and events.
While a relatively new term the concepts behind Gamification have been around for a long time in the e-commerce space. Auctions websites such as eBay use a form of Gamification wherein goods are placed for sale and customers ‘compete’ to win the offer. Amazon has extended this thinking to ‘Black Friday’ deals whereby the first set number of customers will win the offer and gives hints and clues as to what the potential deal may be so you can be first in line.
The success of social gaming lies not with avatars or virtual goods and farms, but with the communication between users. This is where a positive feedback loop can be introduced. By personalising the site to the needs of the customer you can create relevance and interest. By giving your customers choices you can improve the chances of them taking positive action – adding items to their basket or purchasing those items – which leads to further collection of data to better improve the personalisation. By providing a great feedback loop you can improve the chances of successful interaction between the customer and website.
Of course it is clear that there has to be a reason for your customers to be playing, beyond just handing out an achievement badge or adding points for the sake of it. These are elements that cannot just be introduced because it is the hot new thing. It may well be that your customer base is not appropriate and more sober approaches should be taken.
In this case a more appropriate response may be the introduction of personalised elements to the site. The idea that the homepage and layout of the site should be the same for every visitor is archaic. If you think of Amazon you will note that when you return and are identified by the site you are directed to items that may be of interest to you rather than the standard ‘our selected items’ that are presented to each visitor.
In addition further recommendations and related products can be tailored to the behaviour of the customer. Why be showing samples of everything you stock when the customer only sticks to one particular category of item? The potential for improvement in conversion and user engagement by targeting customer behaviour is huge. In an increasingly crowded marketplace of e-commerce stores, the ideas Gamification brings to the table can help distinguish you from the competition and make your website hugely enjoyable for your customers.
What is F-Commerce?
We’re all familiar with the term ‘e-commerce’ when it comes to selling products online. Now f-commerce (the ‘f’ stands for Facebook) is becoming more and more popular with brands and consumers alike.
If you’re an online retailer, it is essential that you understand the impact that social media is having on e-commerce. Unique selling opportunities now exist on Facebook and other social media platforms. These networking sites allow you to engage with your customer base – and in the ideal scenario have them promote your products to their network of friends.
At the simplest level, this can be done by the addition of Facebook’s ‘Like’ button to your website, which acts as a simple content sharing device. When someone clicks on the ‘Like’ button on your site, this information is posted to that person’s Facebook wall and this will be viewable by their friends. As the average Facebook user has over 100 friends, this simple action could have a snowball effect as more and more users ‘Like’ your brand.
This communication is not just one-way. A page on your website can pull information from Facebook to show the names and profile pictures of people who have ‘Liked’ your product. This way you can find out more about the customers that are interested in you.
The opportunity now exists to take further steps forward to integrate e-commerce with your Facebook page. This means not just engaging your customer through your social presence, but also inviting them to buy products (in part or in whole) over the Facebook platform.
To achieve this, the look of your Facebook page can be tailored to look less like the profile page familiar to most users and more like a standard web page. This also allows you to integrate e-commerce elements, either by pulling product information onto your page using an API, displaying your shop through an ‘Iframe’ or even creating an App to perform the whole process through Facebook.
A number of online retailers have already rushed to take advantage of this new opportunity. Brands like Max Factor, Heinz, Thorntons and JD Sports have all made the transition from promoting their brand to selling goods through their Facebook pages.
The time internet users spent on Facebook in 2010 surpassed the time people used both Google and Yahoo. It is therefore essential to use social media platforms to find a bigger audience for your goods. Large brands such as Coca-Cola get more than 10% of their traffic from their Facebook page and this figure is only growing.
The Facebook platform is currently completely free and businesses can take advantage of this to set up a page with no hosting charges, fees or percentages paid. Call eSterling today to find out the ideal social media and e-commerce strategies we can offer you so that you can make the most out of f-commerce.