While I’ve previously gone over development environments using Vagrant and Puppet, recent advancements in LXC container management (see: Docker) and applications that have popped up using this technology have made deploying to staging or production environments easier– and cheaper.
In February of 2012, Nike released the Nike+ FuelBand– a sleek, discreet wristband that tracks your everyday activities and awards you “NikeFuel points”, a proprietary metric designed to consolidate different types of activities into a universal standard. With competitors such as FitBit already gone through several iterations of high-tech wearable pedometers, Nike needed to develop a device that worked well, and looked good.
The original FuelBand received mixed reviews, with many users complaining about reliability over time. Despite the hardware issues, Nike’s FuelBand was a solid entry into the “Quantified Self” movement that seems to be increasing in popularity.
Fast forward a year and a half, and the second generation Nike+ FuelBand SE device is nearly available for public consumption. But, with only small improvements in tracking and an update to the Bluetooth 4.0 standard, Nike has missed a valuable opportunity to differentiate themselves in the expanding field of wearable electronics, and instead spent over a year creating a minor iteration of its existing device.
Today, Apple unveiled the newest version of iOS 7. While the fact that the design was changed radically is not surprising, the actual changes themselves are…confusing.
With Windows (Phone), Xbox, Google, and various other companies taking a “flatter” approach to UI design, it only makes sense that Apple would want to follow the trend of simplicity– especially now that Scott Forstall, the guy known for the skeuomorphic design elements present in previous versions of iOS. After all, that is what Apple strives for (especially in their hardware).
iOS 7 directly reflects the transition from Forstall to Ive’s rule over iOS, but are the changes truly an improvement?
Previously, we went over how the new WebP image format compared to the traditional JPG. One neat thing about WebP is that, unlike JPG or PNG, WebP has the ability to use either lossy or lossless compression, with or without transparency. While JPG is traditionally used to display photos, which have a high level of detail and are generally more complex and can suffer from a little bit of detail loss as a tradeoff for compression, WebP can also be used like a PNG, which is often used for web graphics with transparency or subtle patterns.
There are several kinds of file formats for images on the web. Primarily, web developers use JPG and PNG image files, depending on the content of the image itself. However, Google has made a push recently to use a new format– called WebP– that is supposedly more efficient than JPG, yet still has the ability to have transparency. In other words, WebP is the best of both JPG and PNG file formats– but does it really reduce image file sizes?
Every blogger’s dream is to be featured on the front page of Digg, Reddit, Hacker News, or another mainstream publication. The sheer volume of incoming traffic and residual visits following the spike can be impressive.
But unlike many of the large blogs on the internet designed to withstand large amounts of traffic, your personal or small business site may not be ready for the sheer volume of traffic the publicity entails.
Even if you’re waiting for that day to come, you can improve the performance of your website for your everyday visitors.
If you’re like me, you have readers from tens, if not over a hundred different countries and regions around the globe. Your regular visitors from the physically remote regions of the planet deserve a reasonable page load time.
“Extreme Website Performance” is an online course that consists of written lessons. On average, a lesson is around 1000 words in length and contains photographs, examples, and diagrams.
Find out more about the course and see the course outline and contents, as well as sign up for the mailing list to find out when the course is available to read:
Since I originally moved my blog to the Jekyll platform, I’ve been looking for several ways to push the performance of my website further.
Over the last couple of months, I’ve been exploring several content distribution networks for my new web course Extreme Website Performance, such as CloudFlare and Amazon’s CloudFront, as well as forgoing a CDN altogether and focusing on reducing the number of network requests used (and therefore taking the bottleneck away from the distribution servers).
In fact, it’s quite easy to do so using multiple background images in CSS. The following solution requires no images, though it does require a browser to support multiple background images and radial CSS gradients.
I’ve had an iPhone for about a year and a half now, after previously owning a Windows Phone and Palm Pre. Each time I switch platforms, there’s something I miss from my previous experiences, and something I long for in a platform I haven’t tried yet. For me, Google Now for Android was this feature that I so desperately wanted to try.
A couple of weeks ago, Google released an update for the Google Search app on the iPhone, with Google Now as the headline feature. A while back, it was rumored that Google would be releasing this update with Now baked in, though this rumor was shot down by Apple, and Google later admitted that Eric Schmidt’s comments were not necessarily accurate (or, rather, not interpreted correctly).
Recently, Google Now was also featured at Google’s I/O conference. In addition to new cards, such as location aware reminders and public transit information, Google revealed several new services designed with a similar goal to Now– to make your life easier, and to delve deeper into your personal information.
As long as I can remember, I have used some form of MAMP/WAMP stack for development. I’d download the entire stack pre-packaged with some sort of control console, and develop web applications straight out of my Dropbox folder (with Git as version control), changing the web root of the *AMP configuration depending on which project I am working on.