10 books every web developer should read to increase their software IQ

When wannabe developers ask what books they should read, I usually respond “First off, just read.” A large part of the software development process is reading other people’s’ code. That said, the best thing you can do to improve as a developer is to read anything that will sharpen your speed and comprehension skills.  The more effective you become at reading, the more efficient you will become in your day-to-day work building software.  The following however, are books that if you have not yet read them, will have the most significant impact on your software IQ.

Moonwalking with Einstein by Joshua Foer and Mike Chamberlain – Google is great, but for all the convenience it offers, it really has deteriorated true learning. Why memorize what you can look up, right? And, if you don’t have a solid understanding of how to improve your memory, you really have no other option. Most developers are not taught memorization techniques and never even make an attempt to get better. As a result, mobile devices have become a crutch, and it shows. Today’s developers struggle to produce more than a few lines of code without referencing Google and then StackOverflow. Looking up language nuances or a specification when you are coding is a time sink. Guessing the signature of a function a few times and then looking it up is an even bigger time sink. But there is another way. This book teaches specific tactics to get the most out of focus, chunking, and repetition so that when you have to recall shortcut keystrokes, status codes, or the arguments to a function, you can do so easily. The author reveals tips about how humans with the best trained memories compete in memorization competitions and how he learned techniques over a very short period of time.

You Don’t Know JS by Kyle Simpson – This is a series of books that collectively should be treated as the bible for JavaScript. Every JS developer should read it and maintain a copy in the closest night stand drawer. The author has even provided the full copy of each book online if you would like to read it for free on GitHub. It’s a tough read, and slow going for most. The volumes are each little booklets that usually require a couple of passes to absorb it all, but each of the 7 volumes will deepen your knowledge of some of the trickier parts of JavaScript.

Clean Code by Robert C. Martin – The author of this book is referred to with reverence in the software community as “Uncle Bob” and is well known for his numerous conference talks about writing well organized and maintainable code. After reading this book developers will likely spend more time thinking about why we write code in a particular way and what that our styles and habits say about the seriousness of our approach to the craft. Uncle Bob’s principles will allow you to identify code smells (the difference between good code and bad), and better yet, a process you can use to clean up and refactor your code to make it more readable and maintainable.

Software Craftsmanship: The New Imperative by Pete McBreen – The principles in this book align well with Clean Code. It differs in that it talks more about the art, than the science of software. Reading it will help developers figure out how to deliver value to customers via software. It addresses collaboration with stakeholders, project management, and more of the soft skills that are needed to really be a master at the craft. There is even a chapter on managing software craftsmen that will help developers better understand the relationship between those that code and those that lead.

7 Languages in 7 Weeks: A Pragmatic Guide to Learning Programming Languages by Bruce Tate – The ability to learn fast and pick up new languages gives developers a real edge in today’s market. This book will help developers become decent at reading the code of these new languages, and understand the role they play, even if you’re not planning to become a polyglot (one who has mastered many languages). The point to learning a bit of 7 languages in 7 weeks is to gain a generalist’s knowledge. This allows a developer to better compare and contrast languages, and should strengthen the mastery of those used more regularly. If you’re curious about the 7 languages that are covered in the book, it examines Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Using this 7 week approach you will learn, or be reminded of, programing paradigms that have evolved over time. Many have strengths that make the languages best suited to solve particular types of challenges. Others demonstrate the fad-like nature of how engineers work for a few decades, and then collectively decide the old way is boring, and the new way is “the only way” to code well. JavaScript programming, for example, can be done in a functional, object oriented, or procedural style. This book will inspire you to take a look at languages that are more focused on one or two of those methods and take a deeper dive into how each language implements common design patterns.

7 Databases in 7 Weeks: A Guide to Modern Databases and the NoSQL Movement by Eric Redmond and Jim Wilson – By gaining exposure to 7 different databases, developers can broaden their ability to pick the right database solution for each new problem they encounter, versus feeling stuck with using the one or two solutions that are most familiar to them. This book will give developers the confidence to conquer building applications using any database. Even those databases that first appear to be unique will suddenly seem very similar to those used quite commonly by today’s developer community.

JavaScript the Good Parts by Douglas Crockford – JavaScript is moving really fast these days. So fast, that some people skip learning the basics and focus on mastering frameworks and libraries before they have a deep understanding of “vanilla” or pure JavaScript. In this book you will go back to basics and learn many of JavaScript’s nuances and what pitfalls to avoid. Since there are so many libraries and frameworks, software developers need to be able to evaluate libraries and frameworks quickly. This book serves as a guide for best practices. Even if you decide not to follow them, understanding Douglas’ decision making process and rational will help you get better at evaluating other people’s code. It will help you refine your ability to not just say what you don’t like, but articulate why. Understanding why some areas of JavaScript should be avoided will also help you craft better software, and think more about design patterns that will stand the test of time.

Think and Grow Rich by Napoleon Hill – Success in software development parallels success in life. The principles that you can learn and see practical application of in this book will make you more productive and mentally successful. Personal and professional achievement requires a productive thought process and success oriented mentality. This book was published almost a century ago, but its stories are just as applicable to the life of a success-minded individual today.

How to Win Friends and Influence People by Dale Carnegie – From an outsider’s perspective writing code is thought to be one of the most important skills of a software engineer. However, being able to listen and communicate effectively is far more important. Simply having a great idea or design for how to build something is wonderful, but being able to effectively communicate that idea, get buy-in and the “green light” to build is another. This book will provide anyone – even developers – with the tools to negotiate and be empathetic to stakeholders. Use this book to get better at setting and managing expectations. After reading and practicing the techniques you will be well-equipped to understand others and motivate them to embrace your solutions, so you can spend more time building things you love.

HTML & CSS: Design and Build Web Sites by Jon Duckett – This is the book you will set on your office coffee table, and every time you pick it up you will learn something new. It is not a book you will read cover to cover, but it is one that you will return to frequently and digest it in small chunks. It is beautifully illustrated and the examples of code make HTML come alive. As much as we like to think we know the fundamentals, this book is packed with implementations of HTML and CSS specifications that developers can come back to over-and-over and still learn each time. Use it like a dictionary to look something up (when Google is not handy), or when you just want to refine your knowledge of designing websites.  On your coffee table it will make you look like the hipster coder we all aspire to be.

Why I quit WhatsApp and Facebook

WhatsApp, Messenger, Facebook and Twitter are indeed a great communication tool with a lot of interesting features. But all these features turned into a problem for me.

In November 2017, I decided to quit social media. I found myself spending a ridiculous amount of time on social media more than 50 minutes per day.

The very nature of these Apps is the instant conversation. Every conversation call for immediate attention. This mean interruption.

When one sends a direct message via an instant messaging app, the expected behavior is that the recipient responds to it right away. Most of the time I want to concentrate on some task that needs to be completed, work related or not. Every instant messaging app uses notification pop-ups and sounds in order to achieve its goal of being instant.

These notifications cause an urge to check the messages. You see a notification, open the app, check the messages, respond to them, well some, smiley at others, watch a video and go back to work. And the next minute a notification pops up again. Repeat that all day long. Goodbye to productivity because i am in an “Interruption loop”

I do not have to stop what am doing to answer your WhatsApp or Messenger even if i do not go and read or respond to the incoming messages i know they are still there waiting.

As soon as the notification arrives i know there is an action required from me.

“It’s like the whatsapp or the messenger dey call me fr my brain dey shout someone dey try reach u oo
that time i no fit concentrate ‘cus ebi like whatsapp put me fr comma”

These things are not the application’s fault. People who make bad use of these tech resources. Small talk overload, useless media flood, flamed discussions about soccer and politics and Religious messages. some are repeatedly posted by different peoples. Leaving WhatsApp, Messenger and Facebook has been one of the most beneficial things I’ve done. It made me realize I can and need to manage my time more efficiently.

What did I miss?

While this decision of mine helped me focus all my effort towards solving problems at work and concentrating on my projects, it did take a hit in terms of being connected with close family and friends. I was unable to communicate with my friends and family. I desperately needed a way to stay in touch with them yet prevent all the noise that stemmed from these apps. I forced few of my family and friends to join Telegram — an app that is not very popular with my friends.

How else did I spend my time?

Twitter was my main way to keep in touch with all the latest news stories in technology and interact with other tech peoples.

It’s almost five month since I uninstalled WhatsApp and Facebook and deleted my account from my phone and the results have been impressively good. Not only my concentration power has recovered a lot but also now I can dedicate more time to get up to date with my reading queue, finish some Udemy courses, Edx.org Courses and even work on projects and go out with my friends and family

Now I’m back to e-mail and phone based communication. It’s way better suited for the asynchronous communication I need to maintain focus. You have something to ask me or show me? Send me an e-mail. You need instant, online confirmation from me? Call me by phone or get a telegram just because of me.

I use Slack, Twitter for professional and educational communication.
Article By: iamflake.pro

The growth of the Progressive Web App

Developer advocate at Google, Pete LePage, gave a talk at the Velocity conference in NYC last year, and he said that today, the mobile web should be three things:  reliable, fast and engaging.

This remains true today, since users expect their web browser to work fast every time. It is why almost half of web app users today will actually abandon an app if it takes more than a second or two to load, according to recent reports.

One way developers can deliver better user experiences is to create a progressive web app (PWA).

Google first proposed the idea of PWAs back in 2015 as a way to solve problems like slow performance and unresponsive user experiences. While there are a few best practices to consider when developing a PWA, developers should consider a few qualifications in order to call their website a progressive web app.

For instance, a PWA needs to be fast, it needs to be progressive, and it needs to engage the user.

Also, a PWA lets a developer take a web experience that is generally in a web browser, and transfer it onto a mobile device as a standalone experience. It will have an icon that looks just like an app, and in many cases, PWAs can run offline, according to Michael Facemire, vice president and principal analyst at Forrester. He said app discoverability today is poor, and with a PWA, users can come to a website and simply download a web experience onto their device. It requires no app store, no installation, and it loads fast and delivers a good experience, according to LePage.

Sencha’s engineering director, Mark Brocato, said that PWAs is one of the next emerging technologies, and a lot of companies are considering these experiences. According to Brocato, the two big app stores (Google Play and the App Store) control what goes onto a user’s device, but he doesn’t think this will last forever.

“People enjoy these lower friction environments from both a developer and user perspective,” said Brocato. “It’s easier than getting approval from an app store, and developers are embracing PWAs.” He also said that PWAs need to be easy for the user, non-intrusive, and it has to give them that same great experience.

“[PWAs] could change or augment the app store way of doing things,” he added.

And it’s possible PWAs will take over mobile applications and web experiences, especially since customers don’t care so much about applications anymore, said Facemire.

“They want you to deliver a great experience on their devices, so they don’t care if it’s an app, they don’t care how you develop it, they just want that great experience,” said Facemire.

MediaTek MT6739 Launches in India, along with the Helio P23

The MediaTek MT6739 has made its debut at the India Mobile Congress 2017, New Delhi in India for entry-level and mid-level 4G handsets. Its notable new features include dual camera photography support, and a WorldMode LTE.Cat 4 modem. This System on Chip (SoC) is specifically built for the growing Indian 4G market. Along with this, the Taiwanese company has pledged to bring its flagship Helio P23 to the growing Indian flagship market.

Currently MediaTek devices are in a few devices in India, most notably some Xiaomi phones. The Xiaomi Redmi series is known for having two versions, a Snapdragon version and a MediaTek version. The MediaTek versions are usually slightly cheaper, but Snapdragon devices tend to have a large amount of custom ROMs on our forums as they are typically a much more open platform to develop for.

MediaTek MT6739

First, let’s deal with the specs.

  • CPU: 4x ARM Cortex-A53 up to 1.5GHz
  • Memory: LPDDR3 (Up to 3GB, 667MHz)
  • Storage: eMMC 5.1
  • Camera: 13MP, dual camera supported
  • Video Decoding: 1080p @ 30FPS, H.264/HEVC
  • Video Encoding: 1080p @ 30FPS, H.264
  • Graphics: IMG PowerVR GE8100 up to 570MHz
  • Display: 1440 x 720
  • Modem: 4G LTE Cat. 4 DL / Cat. 5 UL (FDD/TDD), CDMA2000, L+G, L+W/L+L DSDS, eMBMS, HPUE, 600MHz band supported
  • Connectivity: Wi-Fi 802.11a/b/g/n, Bluetooth 4.2, FM, GPS+Glonass / GPS+Beidou

The MT6739 is a 64-Bit ARM Cortex-A53 operating up to 1.5GHz. As can be seen from the specs above, the SoC is obviously for use in low-end, entry-level devices. The aim for MediaTek is to create powerful processors at affordable prices for sale in Indian devices. As we can see, it is clearly an entry-level processor with some pretty weak specifications, but that’s exactly the aim given it’s meant to be affordable.

MediaTek Helio P23

This is an older, mid-level processor that has not come to India in Indian mid-level phones quite yet.

  • CPU: 8x ARM Cortex-A53 up to 2.3GHz.
  • Memory: LPDDR3 (Single Channel) or LPDDR4x (LPDDR3: 933MHz; LPDDR4X: 1500MHz, LPDDR3 up to 4GB; LPDDR4X: 6GB)
  • Storage: eMMC 5.1
  • Camera: Up to 24MP, dual camera support.
  • Video Decoding: 1080p @ 30FPS, H.264
  • Video Encoding: 1080p @ 30FPS, H.264
  • Graphics: ARM Mali-G71 MP2 up to 770MHz
  • Display: 2160 x 1080
  • Modem: LTE Cat. 7/13 modem with support for 300Mbps down and 150Mbps up
  • Connectivity: multi-GNSS options (GPS/GLONASS or GPS/BeiDou), Bluetooth, FM radio and 802.11n Wi-Fi

With 64-Bit support, 8 ARM-53 Cores clocked at 2.3GHz, this is a more mid-range chip from MediaTek with some additional strengths over the MT6739.

It’s great to see an investment from MediaTek into the Indian phone market, decreasing costs and increasing competition within the market. As Xiaomi and competitors continue to grow in India, it may be that soon we will see devices come with either of these SoCs. Xiaomi’s MediaTek devices usually use the Helio X series, MediaTek’s flagship chips. Giving more options to manufacturers can only be a good thing.

As you might have noticed, Twitter is currently testing a new format that doubles the 140 character limit to 280, so you can more freely fit your thoughts into a single tweet. The feature is presently available to select users only, but there is a little trick you can pull off to get the extra space right now.

Bear in mind there are more than one ways to do this – we think this is among the more straightforward and hassle-free approaches; especially for Chrome users. So here is how you do it:

  • Load up Tweetdeck at tweetdeck.twitter.com.
  • Head to View, hover over the Developer menu, and select Developer Tools.
  • Find Sources and click on the arrow below to access Snippets.


  • Once you open Snippets, click the ‘New Snippet’ button and copy/paste thefollowing code in the empty window on the right.


  • Click the Play button below to run the snippet.
  • Boom, now you can tweet with 280 characters.


  • Please note that this trick works only in Tweetdeck, which means you will have to use the Tweetdeck client for all of your 280-character tweets.
This blockchain-powered phone and PC could be out next year

Sirin Labs today announced it’s developing a smartphone and PC designed to function on the blockchain. The devices will ship with built-in resource-sharing capabilities and run on their own cryptocurrency token.

The Finney smartphone and PC are being billed as niche` products, and with a price tag of $999 for the phone and $799 for the PC. After all, not everyone needs a secure e-wallet device that allows them to spend tokens on shared resources — but it would be really cool if we all had one.

Moshe Hogeg, CEO and Founder of Sirin Labs, is a big-picture kind of person. The companies last device, the Solarin, was a $16,000smartphone billed as the world’s most secure cell phone. It seems like the idea was to provide a solution for celebrities and secret agents who are willing to spend anything to keep their data safe.

This time he’s building for the cryptocurrency market and, like many other startup CEOs, he’s betting on the blockchain.

While there’s no word yet on some specifics such as release date, Sirin Lab’s website does list the following technical specs for the Finney phone:

  • 5.2-inch QHD Display
  • 256GB of internal memory storage
  • 8GB RAM
  • Wi-Fi 802.11ac
  • BT 5.0
  • 16MP Main camera
  • 12MP Wide-Angle selfie camera


And for the Finney PC:

  • 24-inch (diagonal) 2K Display
  • Biometric security sensors
  • 8GB Memory
  • 256GB storage
  • Wi-Fi 802.11ac

The technology behind the phone and PC will be released as open source. Hogeg told TNW that Sirin Labs will release the hardware designs as well, in hopes that other manufacturers will make unique offerings of their own. He envisions a plethora of devices being designed and created in places like Taiwan and Hong Kong, all operating on the same token: Sirin Lab’s own SRN.

Sirin Labs will be launching its SRN token sale sometime in October, with early adopter bonuses and bounties. They’ll be accepting fiat money and popular cryptocurrency like Bitcoin and ETH.

How to enable split paragraphs in LibreOffice Writer

If you work with longer documents in LibreOffice, like books, you’ve probably encountered the issue where a page will break before a paragraph, leaving a large space at the bottom of a page. This not only looks unprofessional, but it wastes valuable space. How do you fix that? It’s actually really simple. Let me show you how.

Let’s say you use the Text Body style for the body of your document. Open up the document and place your cursor on a section of text that uses this main style. Right-click the text and select Edit Style (Figure A).

Figure A

Figure A

In the Paragraph Style window, click Text Flow tab and look for the Options section. Here you want to make sure to uncheck the Do not split paragraph and Keep with next paragraph checkboxes (Figure B).

Figure B

Figure B

Once you’ve done that, you need to enable both Orphan control and Widow control and set them either at 1 or 2 lines (depending on how many lines you’re willing to leave widowed on the previous page). Once you’ve done that, click OK and you will not longer have to deal with the blank space at the bottom of the page.

Should you use a different style (or multiple styles) for the body of your document, you’ll want to do this same thing for each of those styles.

That’s all there is to it. You’ve now saved yourself from a document formatting nightmare.

Why AI is the Future of Marketing

Artificial Intelligence (AI) is not an alien term; it’s been around for years! There have also been many predictions of AI’s capabilities and future scope, but only recently has it seen a massive boom. The year 2016 is said to have been the biggest for AI. At the center of this claim is Google’s program which defeated 18-time World Champion Lee Sedol in a five-game match of the strategy board game Go. This breakthrough allowed AI to make its foray to the forefront of technology and innovation.

AI has innumerable applications across most industry verticals. In this article, we are going to talk about its applications in marketing, and why we can confidently say that AI is the future of, and for, marketing. But first, let’s look at what AI entails.

What is AI?

Artificial Intelligence is technology that is meant to imitate human psychology and intelligence.

Although it has a very wide definition, it basically refers to software that performs tasks which require human intelligence and intuition. Until now, this technology has performed functions such as speech recognition, image recognition, behavior pattern mapping, and machine learning to name a few.

Some AI marketing applications have gone so far as to provide instant automated answers to customer queries. It is also being used to generate new leads, retain existing customers with interesting content, and increasing customer engagement.

AI has displayed some impressive development in marketing over the years. Let’s check out the various uses of AI in marketing so far.

Applications of AI in Marketing

AI has grown in scope in terms of its use in marketing. With the advent of digital marketing and the internet revolution, mass media advertising took a backseat and things like consumer behavior, preferences, search history tracking, SEO, content marketing, speech recognition, came to the front of the line. Let’s look at some of the marketing applications of AI.

Content Generation and Curation

This pertains to content that is direct, non-opinionated and has clear facts and data. An AI writing program can draft content on an upcoming event, financial report, or some market trend. It cannot, however, write a post or opinion article about the current political scenario or how to handle heartbreak. Some examples of content generating AI programs are Wordsmith, Contentop, Articolo, and WordAi.

Content curation means showing customers relevant content to engage them better. For example, displaying blogs related to recently-read articles, suggestions based on recently-purchased items, and the movie recommendations by Netflix.

Voice and Text Recognition

AI lets users talk into the device and get the relevant information. Voice recognition technology is an AI innovation that is widely-used and very popular; more programs and software are being developed to increase its functionality.

Text recognition means typing text into a text box and getting results or being able to communicate with other people, popularly known as a chatbot.

Some famous examples of speech and text recognition are Amazon Echo, Facebook Messenger, and Google Hangouts Messenger.

Personalized Marketing

Brands are moving over curated suggestions to connect with their customers on a deeper level. Simply showing ads based on predictive analysis isn’t enough anymore. Understanding where a user is coming from emotionally, based on their conversation with the brand, helps formulate a better response. It also helps for future recommendations and suggestions to be more personalized and targeted.

Understanding User Behavior

Users leave traces of their internet usage in the form of cookies and cyber footprints. AI helps websites track user preferences and even search history to understand their behavior. This enables websites to understand what a particular user likes, wants, and will look for — in order to provide more targeted suggestions.

Optimizing Sales

An understanding of user behavior is important to optimize sales and make the entire process efficient. Sales executives perform tasks right from research to targeting potential customers, understanding user behavior and then pitching the right way to obtain conversions. All this can be made easier using AI, where algorithms filter leads to saving time and efforts that are best utilized elsewhere.

According to Dharmesh Shah, co-founder of HubSpot, AI-based sales and marketing automation is set to accelerate in the future. This will optimize activities such as predictive lead acquisition, understanding customer behavior, and personalized recommendations.

Some other applications of AI in marketing are:

What Can We Expect in the Future?

The future of marketing vis-à-vis Artificial Intelligence is set to become more innovative and automated. International software development organizationPega highlighted some ways in which AI will bolster marketing in the future.

Artificial Intelligence will help companies, and moreover, CMOs build a corporate culture with utmost customer focus, and help optimize marketing goals such as personalization, understanding customer behavior to customize the engagement and pitching process, making more accurate predictive analyses, and saving time on finding and converting leads.

In a nutshell, it will help companies save costs, optimize budgets, make tasks more streamlined for employees, reduce time by automating sales processes, and personalize the customer experience across the entire buying cycle.

Pega also stated some more future applications of AI:

  1. The Virtual Assistant (Siri, Alexa, Watson, for example) will become more intelligent and enhance the function of chatbots.
  2. Customized user recommendations will become possible in real time with a Customer Decision hub and enrich user experiences.
  3. Paid digital marketing campaigns can be better managed and automatedto save time and expenses while increasing ROI using AI.
  4. Natural Language Processing (NLP) will become more ‘intuitive’ in gauging a customer’s mood and intent depending on their written conversation with the company.
  5. AI can even go as far as offering suggestions to sales reps in brick-and-mortar establishments on how to cater to a customer for the best results.

HubSpot’s co-founders Brian Halligan and Dharmesh Shah laid out some more predictions for AI as a part of the future of marketing at the recently conducted Inbound 2016 event.

  1. They say that 2017 will see a lot of advancement in the use of bots. Halligan says that people will gradually move to communicating with bot software instead of navigating via websites and apps. However, he says, bots won’t replace websites but power them.
  2. Along the same lines, Shah says that the conversations between customers and organizations via chat and text messaging will soon be replaced by verbal conversations between user and machine. He says that voice input, owing to its numerous benefits, will soon be in greater demand than text input.
  3. Algorithms will be developed on a regular basis, and many organizations can use the existing ones to build on.
  4. Google’s Link Graph, Amazon’s Product Graph and Facebook’s Social Graph will be taken over by the Engagement Graph. This will mean quality content to gain more engagement.

Halligan and Shah say that the most important factor at the center of it all will be content and data.

In Conclusion

There is a new brand of consumers out there today –fast-paced and knowledge-based. They expect to get value out of a commodity before buying it. They need to know that the brand cares about them and their needs.

Consumers expect the brand to know what they want before they decide to take the plunge. They need suggestions, tips, answers, and assistance now.

And that isn’t going to change; it’s only going to increase. Artificial Intelligence is the only way for companies to keep up with the ever growing customer demand and expectations.

It’s safe to say that AI is the future of marketing. There’s no limit to how far it will bring human experiences closer to technology and its many advances.

Originally published at onlinesales.ai on August 31, 2017.

Present-day websites require responsive images

In his essay, Responsive Web Design, Ethan Marcotte considers the idea of “responsive architecture,” and how that discipline can ask “physical spaces to respond to the presence of people passing through them.” This practice allows for structures that “bend, flex, and expand as crowds approach them,” rather than leaving “immutable, unchanging spaces” that are rigid and, essentially one-size-fits-all. Marcotte’s essay provides a starting point for considering how we can best implement images for today’s modern websites.

Images that are not scaled or sized for the device or browser or purpose at hand slow down websites and lose visitors’ attention. What follows are three tenets for developers and designers to consider regarding responsive images.

Fight Fire With Fire (or Variability With Variability)

One size fits nobody. There is no longer one standard monitor dimension. We now must offer the same content on tablets, watches, TVs, e-readers and smartphones without our site load times skipping a beat.

To ensure a smooth transition between each screen size, designers must fight variability with variability. That is, they must take something static, and make it adaptable, changeable. Compounding this issue is the myriad of high-density pixel (“retina”) displays. These two, newly variable contexts — flexible layout sizes and a diversity of screen densities — both have the same solution. We need to provide images with variable resolution.

One Version Is Never Enough
The draw of responsive design leaves us with a few questions about how we implement images. It also leaves us with, seemingly, a choice to make. Should we use high-resolution images in order to take advantage of high-resolution hardware, or should we use small images, which will load fast in low-resolution environments?

The answer is that we really do not have a choice. With today’s dynamic web design environment, we must be able to say “yes” to both questions and provide versions of images that fit every scenario in between.

By offering a number of different versions (in size and resolution) of the same image, we can send high-resolution versions to website visitors who require them, and we can also serve lower-resolution versions for sites that do not. To understand how many different versions we need, we can take the following steps:

  1. Establish the limits of our range of sizes and resolutions and fill in the various sizes and resolutions in between
  2. Mark those multiple, alternate versions up using new responsive image markup so that the browser can load the version which best fits the user’s screen resolution and viewport size.

Variable Encoding Is King
In this instance, “variable encoding” refers to two ideas. First, that we must deliver an image in different formats, depending on the user’s browser. Second, that there will always be tradeoffs between quality and compression, and we must toe that line carefully but as best we can.

To answer the question of formats, we can do our best to let the browser decide for us. Older philosophies for encoding images felt that there were really only four image formats that offer any sort of universal acceptability: GIF, JPEG, PNG or SVG. However, today’s responsive, variable-format images allow us new techniques so that we can use other, newer, better formats in browsers that support them – while still falling back to old formats, when necessary, in browsers that don’t.

The second question is one of quality. A high–“quality” file will be nearly indistinguishable from the original; however, it will also be large, file-size-wise. A low-“quality” file may contain distracting artifacts, but it will weigh much less than a high-quality file would. To strike a balance between the two, we can do things like send lower-quality/higher-compression images to hi-DPI (dots per inch) screens, where compression artifacts — the little blurry pixels and smudges you see on low-quality images — are less visible. That’s just one example of how we can address the need for variable quality. Before the age of responsive web design, we could only encode an image with one quality setting and send it to every device and browser type. Today, we must focus on offering the same image in a variety of qualities.

Responsive Images: The Unsung Hero

Just a one-second delay in website load time can lead to a seven percent reduction in site conversions or eat into a company’s bottom line. Images make up about 56 percent of most websites, and optimizing them goes a long way toward ensuring organizations can blend effective experiences with fast load times.

Responsive images are boring, but they enable us to design the immersive and engaging experiences today’s consumers require, without sacrificing quality or page load speed. Gone are the days when saving one version of an image and using it across all versions of a website is an acceptable practice. Modern web development requires responsive images.

Creating a responsive web environment is tricky, and it requires a delicate balance. But building this dynamic environment is necessary in a world of varying screen sizes and device functions. To create the experiences consumers demand and, in the process, secure a more sustainable bottom line, organizations must turn to responsive images and the benefits they offer or ignore them at their own peril.

Spotify finally lands in the iMessage App Store

It’s about time. Spotify has quietly launched an app for iMessage, allowing you to easily share tracks with friends, without having to leave the chat, or deal with copying-and-pasting links.

To enable it, open iMessage, head to the app store, and then press ‘Manage.’ Finally, tap the switch next to the Spotify icon to enable it. Spotify will then show up in your installed apps.

Note: if you’ve configured iMessage to automatically add apps to the drawer, you can skip this.

Functionality wise, it’s pretty limited, as you’d expect from an iMessage App. It won’t share what you’re listening to, or let you easily access your most recent tracks. Rather, it lets you share 30-second snippets of individual songs from Spotify’s massive collection of music.

If your friend wants to listen to the rest of the track, they can click a link that lets them open the song within the main Spotify app. If they aren’t a subscriber, they’re prompted to download it, which seems like a pretty genius growth hacking strategy if you ask me.