Dear reader, here is the weekly selection of stories which caught our attention. Enjoy!
Amazee Labs Events
The registration for the annual StartupCamp in Basel opened on Friday - high time to grab your seat and a new dose of entrepreneurial energy!
Wired.co.uk: Fitness trackers are long on hype, short on credibility
Gadgets like the Nike Fuel Band are awesome - or are they? Daniela Hernandez points out that there are still some question marks over the trend's long-term sustainability.
Business Insider: Why Programmers Work At Night
One of the stereotypes attached to developers it that they work at night. Swizec Teller tries clarify this perception.
Food For Thought
x-surface.tumblr.com: Don’t believe everything you read.
Interesting insight in the ways some tech blogs operate with alleged inside information of new products. Introducing the "new Xbox".
Digett: The Benefits of Drupal Contributions
A swift reminder why contributing to the Drupal community yields benefits for the contributor too.
LikeMag, our youngest client release, has hit the web and is ready to receive YOUR contribution. It is a platform for sharing the best and funniest social media content that you can find out there. Just post your gems on the LikeMag page and add to the commons of endless amusement, infinite scrolling functionality included.
Here is this week's selection of the stories that caught our attention. Including items from the world of technology, key rules for successful business, the launch of Facebook's Graph Search, the importance of CRM and some birthday wishes.
Happy birthday Drupal! twitter.com/Dries/status/2…
— Dries Buytaert (@Dries) January 15, 2013
Our favorite Content Management Framework turned twelve this week! Let's hope it won't turn in to a moody teenager soon.
Techcrunch: How Facebook's Graph Search just Replaced a Major Chunk of Google
How could we not mention this! Yes, Facebook Graph Search was launched this week. Is this the beginning of a new way of searching?
crmtrends.com: CRM Best Practices
Sometimes one might underestimate the power of a Customer Relationship Management tool. Here is an overview of best practices, which can improve the performance and marketing strategies of your company.
Food For Thought
co.exist: 10 resolutions for Social Entrepreneurs in 2013
We surely know most of these tips, but it never hurts to revise them.
Design vs Technology
The New York Times: Disruptions: Design Rivals Technology in Importance
Nick Bilton claims that we have reached a point where technology has provided engineers the skills to make anything possible. Take the Nike FuelBand, it's all about product design and emotive experience.
We've been big cheerleaders for Omega as a responsive base-theme for Drupal for a while now… since around the time of DrupalCon London. And although the community has HUGELY embraced Omega… making it the second-most-installed Drupal theme after Zen, there has always been a bit of controversy surrounding Omega 3 in terms of how it approached responsive web design.
Some of those critiques included:
- Omega 3 was more "adaptive" than truly responsive (due to the definition of set breakpoints based on device widths).
- Configuring Zones and Regions was confusing and laborious.
- Omega 3 did not take a mobile-first approach.
The good news is that Omega 4 has addressed these issues of its predecessor head-on. In fact, Omega 4 looks quite a bit different than Omega 3.
If you're more of a skimmer, here's a quick overview (in list-form) of how Omega 4's changed:
- Zones & regions: GONE
- SASS out of the box
- A new (pluggable!) layout & grid system
- Optional polyfills for CSS3 & HTML5 support in older browsers
Zones & Regions
For starters, zones and regions have been totally abandoned. There have been many folks who have tried to explain how to wrap your head around how to configure these things. Remember this screen?
Well, no more. Omega 4 has gone back to the tried and true page.tpl.php file which is a) standardized for Drupal and b) better for markup control. Themer purists will undoubtedly appreciate this reversion.
Edit: For those that want the old UI we are working on it to make that an option and will allow you the same power that to control things as was in 3.x but now we're not forcing it on everyone. This is largely what's holding back the RC release but we're working quick to fix that! (See excerpt from Cellar Door's comment below.)
Omega 4 ships with SASS out of the box. This addition will be hugely important for keeping Omega a cutting-edge contender as a popular Drupal base-theme.
And for those looking to improve their SASS skills, the media queries, variables, and mixins that ship with Omega 4 are a great learning tool for novice or intermediate SASS-ers:
Just look at all that SASSY goodness!
In the Omega 4 theme settings, you can now choose to enable layouts. Layouts are a new feature that provide functionality much like what the Delta and the Context modules achieved together. Essentially, you can have completely unique layouts for different sections or pages of your site.
There is currently only one available layout, Epiqo, to use as a starting point, but it's chock-full of more SASS techniques.
If you'd like to employ this built-in feature in an upcoming Omega 4 project, simply copy the Epiqo layout into your sub-theme, and rename it and its contents much in the same way you would when manually creating a sub-theme. From there, you should add only layout-specific code, and nothing relating to styles (colors, typography, etc...).
For anyone responsible for browser testing or device testing, polyfills are becoming essential scripts to include on your site. Polyfills provide themers the ability to quickly enable CSS3 and HTML5 technologies in legacy browsers, saving hours of testing and work-arounds.
In Omega 4, there are already 5 optional scripts available to enable across your site:
Following up our latest blog post on web design trends, this Essence of a web week post will look deeper into 2013's web design trends; some events in Zurich (and overall Switzerland) not to be missed; an easy to follow guide on Google Analytics and the latest on Drupal and technology.
First thing about the Drupal community we would like to share with you in 2013 is to remind you about the next DrupalCon. This will be taking place in Portland from May 20 until 24. Registrations has just opened, so don't forget to book your ticket!
The annual Consumer Electronics Show (CES) often brings up new gadgets which excites many members of our team. This year though one "hot" technology of years gone by is missing and declared dead by The Verge's writer Vlad Savov.
Here are five web design trends which could shape 2013:
Prediction #1: Responsive Web Design
This probably isn't the most adventurous of predictions - since you certainly are aware of this trend already. Most of the sites we crafted in 2012 were responsive from the very beginning and 2013 will probably see responsive design establish itself as a must-have rather than a nice-to-have feature. Here is a selection of responsive sites we made:
Prediction #2: Full Screen Backgrounds
One upcoming design trend, without a doubt, are full screen background images on websites. Like responsive web design it started to surface more frequently last year and will not disappear anytime soon.
Prediction #3: Centered Logos
A few years ago I always had the feeling that a logo should be in the top left or top right corner of a website. But since then many things have changed. Nowadays I am a huge fan of centered logos and predict more centered logos in 2013. LikeMag, one of our latest projects, features a centered logo.
Prediction #4: The Sidebar
After a few year in the wilderness the sidebar will have its comeback. Way back in the times when people used frames for their sites, sidebars were really popular and 2013 will see their renaissance - but this time with cool CSS3 transitions and mind-blowing effects.
Prediction #5: Retina Display Support
With Apple's line-up of high-resolution (hi-res) displays, we will hopefully see more support for Retina displays this year. We already released some projects with hi-res support:
In the last edition of the year we will take a look at: two design and user experience stories, some impressive numbers, multilingual Drupal site and Instagram.
The Essence of a web week series will take a Christmas break and return in the New Year.
Design and User Experience
In this documentary industry experts give their say on how they believe interaction design and user experience will become a central part in the Internet of Things.
Communities Dominate Brands: Latest Mobile Numbers for End of Year 2012 - This is getting humongous..
If you need some facts and figures to argue why Responsive Web Design isn't just a nice to have feature - this might be something for you!
LevelTen: Lessons Learned from 3 Drupal Multilingual Projects
The majority of websites we release are multilingual. If you are not familiar with the subject this blog post gives you a first hand experience of getting to grips with it.
Tweets that cut through the noise.
File sharing: you don't mind when it's some musician's song or a designer's game. When it's your shitty Instagram photos it all changes, eh?
— kentonallen (@kentonallen) December 19, 2012
The change of Instagram's terms of service created a stir this week. Kenton Allen tried to give the subject a different perspective.
Our 2012 Amazee Labs Christmas Cards are in the mail, perhaps even a few delivered by now. Inspired, in part, by a card designed to let the sender compose a greeting for any occasion (left), our version allows us to say, "Happy Holidays," in a number of ways (right). The beauty in the concept is that with just one design we are able to personalize every card in two ways. First, each recipient is greeted with a message tailor-made to suit our relationship and second, each card is hand-crafted by an Amazee Labs team member.
We came up with four greetings:
- Wir wünschen Ihnen und Ihren Kollegen ein frohes Fest und erfolgreiches Geschäftsjahr 2013.
- Wir bedanken uns für die erfolgreiche Zusammenarbeit in diesem Jahr und hoffen, dass wir im kommenden Jahr gemeinsam an diesen Erfolg anknüpfen können.
- Wir bedanken uns für die gute Zusammenarbeit und wünschen dir, deinen Mitarbeitern und deiner Familie frohe Weihnachten und ein erfolgreiches neues Jahr.
- Wir wünschen dir ein frohes Weihnachtsfest und einen erfolgreichen Start ins neue Jahr.
Perhaps the toughest part of the execution was arranging the words such that each greeting read correctly when highlighted, especially considering many words were shared.
Printing, tracing, and scanning the penmanship added to the personalized feel.
Two photos from a Gstaad-bound train ride proved perfect for the desired look and feel.
The words and imagery came together with some creative license to complete the printed card.
Fresh off the press, the Amazee Labs team passed the pen to finish off over 100 cards.
That's about 25 cards per greeting.
And we couldn't be happier with the finished product.
Happy Holidays from Amazee Labs!
The Drupal Commerce module is a great solution for anyone who wants to have a shop implemented with Drupal. It doesn't matter if you configure the shop from scratch or if you use an installation profile, you can have a shop in a very short time. Most of the time is just configuration, almost no coding required.
By default, you can create your products, set the prices for them, categorize them, create rules for tax handling, use different payment gateways (also with the help of some contributed modules) and many many other things. Unfortunately there is one thing you cannot do just with configuration: a donation system. The main problem in the donation system is that the amount of each donation can be different. If your donation system has only fixed amounts, then there is no problem, all you have to do is to create one product for each donation amount. But when the amount is variable, then implementing this using only configuration may not be so trivial (if not possible at all).
I will explain next how we deal with this case, when we have to build such platforms.
If we go a bit deeper and check how the Drupal commerce system is built and how the price of the order is calculated, we can see that each line item from the order has a unit price field, that usually is populated with the price of the product to which it is associated. So the user clicks on the button to add the product to the cart, and this triggers the creation of a line item in the order that will have the unit price of that product. But in our case, the price of the product is variable, because it is about a custom amount that the user wants to donate, so we cannot really use that price to populate the line item. We will have to handle this by ourselves, to implement some logic that will populate the unit price of the line item with the amount of the donation. The solution involves site configuration, as well as some coding.
The main idea is to have a new field on the line items (a price field) that will be populated with the value the user wants to donate, and then using a rule that will be triggered on the event “Calculating the sell price of a product” to put the value from our custom field into the price field of the line item. The reason why we do not just put the value directly in the line item price field, when we create the line item, is that the price of the line item can actually be updated later. For example commerce_cart_order_refresh() would update the price of the line items. In this case, our code that populates the unit price will not be executed, and we will not be able to maintain the correct price of the line item. That's why we use that rule that fires on the “Calculating the sell price of a product” and we store the amount that is being donated in a separate field that will not be altered by any other code.
And this is how it works:
add a price field on the line item type (admin/commerce/config/line-items/product/fields), with the name: field_variable_price
create a product with the SKU “donation” that has the price set to 0
add a rule that updates the price of the line item
For the coding part, an example can be found in a sandbox project. An important remark for the coding part is that we actually have to create the order and add the donation product to the order by ourselves, because we have to populate the field_variable_price with the amount that the user want to donate.
The code also has a page: /donate and a configuration form /admin/commerce/config/donation_amounts where some predefined amounts can be configured. For more details about the coding part, you can just check out the sandbox project.
While finalizing this blog post I discovered that, since starting to implement this feature on a recent project, a new module called Commerce Donate surfaced on Drupal.org which might be interesting for you too.