Categories

Twitter

Support

Adium Boxee BBEdit Coda Alfred HandBrake ScreenFlow Caffeine Moom Evernote Pixelmator SecureFiles TextWrangler Transmit Shimo RapidWeaver VLC Dropbox Steam Spotify Acorn VMware Fusion Unison

Sunday
May052013

Static Web Content on Heroku

In my previous article "WordPress on Heroku", I explained the benefits of the Heroku platform and detailed how to setup a WordPress website for free. Since posting I have had a couple of questions asking if it's possible to host other static content on Heroku, for example a brochure site using HTML, CSS and JaveScript. The answer is yes and it's actually very easy to do!

I have seen a number of articles on the web that have detailed a fairly complicated process using Ruby, however there is a much simpler way using the unofficial support for PHP.

Simply create an "index.php" page with the following code:

<?php include_once("home.html"); ?>

Then, simply make your static web content (html, css, js and image files) link from "home.html" (you can also use php). For example, the image below shows my working directory, where you can see the "index.php" and "home.html" pages.

Once complete, you must creating a new Heroku app and upload the content. This can be done following the steps below:

1. Setup a free Heroku account.

2. Download and install the Heroku toolbelt for OS X.

3. Open Terminal (Applications > Terminal).

4. Login to Heroku and accept the certificate (if prompted):

heroku login

5. Navigate to the directory that contains your static web content.

6. Run the following Git commands to create a repository and commit the initial push:

git init
git add .
git commit -m "Initial Push"

7. Create a Heroku app (which will auto-generate a URL) and push the code:

heroku create
git push heroku master

8. Run the app:

heroku run

That's it! Your default browser should now open and load the page "home.html". Enjoy!

Saturday
May042013

Apple WWDC 2013

We now know that Apple's World Wide Developer Conference (WWDC) will take place in San Francisco on the 10th June. WWDC is the only pre-scheduled event on Apple's calendar and therefore generates a lot of excitement each year.

The last nine months have been interesting for Apple; they have received some negative press regarding "a lack of innovation", iOS is under increasing pressure from Google Android and their share price is down from $700 (Sept 2012) to $400 (May 2013). As a result the world is eagerly anticipating how Tim Cook and the restructured Apple team will respond.

My predictions for WWDC 2013 can be found below:

iOS 7.0 - Developer Preview

Apple will unveil the next version of their mobile operating system (iOS 7.0) and make it available for developers to start testing. In October Jony Ive was made head of hardware and software, therefore I believe iOS 7.0 will include an updated user interface, probably following a flatter, simpler design philosophy (moving away from skeuomorphism). This would align with the work we have seen from Ive in the past and also give iOS an important breath of fresh air (it's now the most mature mobile operating system on the market).

Regarding new features, I believe Apple will look to find a way to enable real-time updates directly from the springboard (home screen). In my opinion this is a long overdue feature, as the current static iOS home screen is significantly less useful than Android or Windows Phone.

If I was going to guess, I think Apple could include a system similar to widgets found on OS X, where an app could surface key information to the operating system itself.

Another area that has been rumoured is improved security, potentially offering biometric (fingerprint) scanning. This could be an important step for the phone, as improved security could lead to the digital wallet going mainstream, which would allow you to store all of your highly sensitive data (bank details, etc) in one place. Although a feature of this type would clearly need to be built into the operating system, it would also require new hardware, so maybe this feature will not be announced until the new iPhone (presumably the iPhone 5S), which I don't expect to happen at WWDC.

Regarding other features, I'm at a loss. I really hope Apple are able to stun the world with a new "game changing" feature, but as the smartphone becomes more mature, revolutionary leaps become increasingly difficult.

OS X 10.9 - Developer Preview

The current rumours suggest that the OS X development team have been transitioned to work on iOS 7.0. This news is not a complete surprise as iOS is definitely the flagship operating system and Apple has done this previously in 2007 prior to the launch of the iPhone.

This information, alongside the fact that OS X is a very mature operating system with only 5% market share, makes me feel that this update will be evolutionary, not revolutionary. I expect Apple to continue the trend towards bridging the gap between iOS and OS X, with new features being ported across from the mobile platform.

One rumour that does sound interesting is related to new enhancements for professional users, specifically an update to the Finder (tabs and tags), as well as better multi-monitor support. Considering in recent years Apple has focused almost exclusively on consumer features, any focus back on the professional market would be very welcome.

Overall I am already preparing myself for another uninspiring year for OS X. As a diehard Mac fan this is definitely disappointing, but with the market currently focused on mobile devices I can understand the decision.

Updated MacBook Range

Arguably the most exciting news (for me) rumoured for WWDC is an update to the MacBook range. This will likely include the MacBook Pro Retina and MacBook Air. This rumour is made more likely by the fact that Intel recently announced that Haswell (their next generation processor architecture) will launch on the 3rd June (just before WWDC).

Haswell is the perfect architecture for the MacBook range, focusing on improved graphics (useful for high resolution displays) and better power consumption (improving battery life). I don't expect any significant design changes to the MacBook range and unfortunately I don't believe the MacBook Air will receive a Retina Display (maybe next year). In my opinion this update will be all about Haswell.

In my dreams I hope Apple will offer the following specification update for the 13" MacBook Pro Retina:

  • Intel "Haswell" Quad Core Processor
  • Intel Iris Graphics 5100 (GT3) 
  • 16GB DDR3
  • 256 SSD
  • Wireless 802.11ac

Based on the current information provided by Intel I think this specification is achievable, which in my opinion would make the 13" MacBook Pro Retina the perfect combination of performance and portability (and my next notebook).

Other Announcements

I would love to say that we will see Apple announce the mythical Apple HDTV or an iWatch, but I simply don't see this happening. I also don't believe we will see any new iOS hardware at WWDC as these are normally reserved for dedicated events. However, if Apple can surprise me by delivering an exciting OS X update and a new Haswell based 13" MacBook Pro Retina, I'll be happy!

Friday
May032013

WordPress on Heroku

Heroku is a cloud application platform (AKA Platform as a Service) owned by Salesforce.com.

Its unique architecture enables users to forget about the infrastructure and instead focus on creating great applications. This makes it an amazing platform for rapid development, while ensuring world class reliability and scalability (millions of users).

Heroku officially supports Ruby, Java, Node.js, Scala, Clojure and Python, but also unofficially supports PHP. It's the PHP capabilities that are most interesting to me and what makes the platform ideal for anyone looking to quickly setup an ultra fast, highly scalable WordPress website. Best of all, Heroku has an aggressive pricing structure, meaning a standard website (for example a blog like LifeinTECH) can be created for free, without you ever having to enter any billing details!

If you need proof, the image below is my Heroku dashboard, showing a WordPress blog running with a $0.00 per month charge. I actually have multiple applications running on Heroku (all for free) and I have never once entered (or been prompted for) any billing information.

I think you'll have to agree that this is an amazing deal, especially when you compare it to a traditional web hosting service, which will be technically inferior, require frustrating server setup and charge a monthly fee.

To understand how Salesforce.com are able to make this possible, I recommend you check out the Heorku "How it Works" and "Pricing" pages.

Now that I've explained why you should be using Heroku, let's jump to the setup process. The following guide is specifically for OS X (Heroku also supports Windows and Linux), but does not require any previous knowledge of the platform itself. We will however be using Git (distributed version control) to push content to Heroku. Although you don't need to understand Git (this guide will provide the required commands), check out my previous article "Git - Version Control" and the great tutorial at "try.github.io".

1. Setup a free Heroku account.

2. Download and install the Heroku toolbelt for OS X.

3. Open Terminal (Applications > Terminal).

4. Login to Heroku and accept the certificate (if prompted):

heroku login

5. Create a new directory (used to store the local code):

mkdir Heroku-WP

5. Navigate to the new directory and clone the "heroku-wordpress-svbtle" repository from GitHub (developed by webjames):

cd Heroku-WP
git clone git://github.com/webjames/heroku-wordpress-svbtle.git

6. Navigate to the new directory "heroku-wordpress-svbtle" and create a Heroku app (which will auto-generate a URL):

cd heroku-wordpress-svbtle
heroku create

7. Create a database for your Heroku app:

heroku addons:add heroku-postgresql:dev

8. Promote the database, replacing the colour (mine was AQUA) with the details shown when you created the database during the previous step:

heroku pg:promote HEROKU_POSTGRESQL_AQUA

9. Create a new git branch (production) and copy the wp-config.php file:

git checkout -b production
cp wp-config-sample.php wp-config.php

10. Clear ".gitignore" and commit "wp-config.php":

>.gitignore
git add .
git commit -m "Initial Install"

11. Push to Heroku:

git push heroku production:master

12. Run the app:

heroku run

That's it! Your default browser should now open and you will be presented with the standard WordPress setup. Remember to bookmark the URL (although you can also access it via the Heroku dashboard).

Finally, I have put together a screencast showing the the process end-to-end (2mins 50secs), as well as uploaded a copy of my terminal output.

You can now start creating pages and blogging using the normal WordPress features. Due to the Heroku architecture, any new WordPress themes or plug-ins will need to be added locally and re-pushed to the cloud. It's also important to note that since Heroku doesn’t allow block storage you will need to use a third party service to support media uploads. I recommend Amazon S3 which is free (5GB) and easily enabled using the pre-installed WordPress "WP Read-Only" plug-in. Enjoy!

Sunday
Apr212013

Ubuntu Touch on the Galaxy Nexus

In January Canonical revealed Ubuntu Touch, a Linux based operating system designed for mobile devices. I have been eager to test the preview build on my Samsung Galaxy Nexus, but had to wait for the right time as the operating system replaces Google Android and therefore makes the phone unsuitable for daily use (this preview should be considered pre-alpha).

Before proceeding with the installation it's important to make a note of your phone's specification. This will allow you to easily reinstall Google Android once you have finished testing Ubuntu Touch. The UK Samsung Galaxy Nexus specification can be found below:

  • Name: Samsung Galaxy Nexus
  • Codename: maguro
  • Cellular Technology: GSM/HSPA+ (takju)

The factory Android images for all Nexus devices can be found on the Google Developer website.

I followed the official guide provided by Canonical to complete the installation of Ubuntu Touch and am pleased to report that the process was relatively quick and simple. Unsurprisingly the guide only provides instructions for installation from Ubuntu desktop (not Windows or OS X), therefore I recommend you install Ubuntu desktop as a virtual machine, instead of attempting to use unofficial guides (I used VMware Fusion for the Mac).

Once you have Ubuntu desktop up and running it's simply a case of following the steps defined in the official guide. At a high level this involves rooting your Galaxy Nexus (check out my simple seven step guide) and five terminal commands (easy!). To help, I have uploaded a copy of my installation log.

The installation took approximately 30mins, but required very little manual intervention. The majority of the time was spent downloading the required Ubuntu Touch image (done automatically). Once complete your device will automatically reboot..

I have created a full image gallery of Ubuntu Touch, but also embedded a few images below.

The Home Screen

The Launcher

Notifications

Overall Ubuntu Touch looks like an interesting operating system that clearly aims to bridge the gap between the desktop and mobile (you can immediately see the similarities with Ubuntu desktop). Unfortunately the operating system still feels very early, with a lot of missing functionality, poor performance and at times, some very strange behaviour. On my Galaxy Nexus the following features were operational, but were not something I would want to use on a daily basis:

  1. Shell and core applications
  2. Connection to the GSM network
  3. Phone calls and SMS
  4. Networking via Wi-Fi
  5. Functional camera (front and back)
  6. Device accessible through the Android Developer Bridge tool (adb)

With that said, the preview build has never been advertised as the finished product and was designed to provide the opportunity for technology enthusiasts and developers to get an early glimpse at Canonical's vision. This goal is definitely achieved and it's clear that they have some great ideas!

Unfortunately my main concern is not the technology (which I'm confident will be good), but timing. Ubuntu Touch is not expected to be officially released until 2014. At this time will likely be on the verge of iOS 8.0 and Android 6.0, therefore Ubuntu Touch is going to have to be very good on day one, or run the risk of being shadowed by far more mature operating systems. It's for this reason that I believe Ubuntu Touch will remain a niche product for technology enthusiasts, instead of becoming a direct competitor to Apple and Google.

Tuesday
Apr162013

Windows 8 Blue - Rumours

As previously reported, Windows 8 Blue (AKA Windows 8.1) has been leaked to the Internet. Since that time enthusiasts and developers have been ripping apart the build for clues as to what the final version of Windows 8 Blue might include. We now have some answers, but in typical Microsoft style there is both good news and bad news.

As always Paul Thurrott (SuperSite for Windows) and Rafael Rivera (Within Windows) have been leading the charge, sharing a number of interesting findings, including the screenshot below that confirms the Windows 8.1 name (it's unclear what this means for Windows RT - Windows RT 8.1?)

I have already mentioned the following leaked features in a previous article, with the only update being that Internet Explorer 11 looks like it will get official support for WebGL and SPDY.

  • New Customisable Tiles
  • Simplified Start Screen Personalisation
  • New Snap View
  • More PC Settings
  • Updated Settings, Device and Share Options
  • Internet Explorer 11 (including WebGL and SPDY support)
  • New Modern UI Apps

In recent days a couple of more significant features have been identified.

Firstly, Windows 8 Blue will include improved search functionality (yay!). This is great news as the current search remains a major frustration point with Windows 8. Basically, instead of having to manually select "Apps, Settings or Files", Windows 8 Blue will automatically find the best matching results, regardless of the data type (see the before and after images below).

This change makes the search functionally similar to Spotlight on the Mac and what was previously implemented in Windows 7. Microsoft still plan to keep the ability to search individual apps (News, Sport, etc), therefore this change will hopefully deliver the best of both worlds.

The second major change is less positive (depending on your stance), but also more likely to be removed by the time Windows 8 Blue launches. Controversially Windows 8 Blue includes a setting to "boot directly to desktop", therefore allowing users to bypass the new Start Screen and taking the focus away from Metro style apps. It's easy to see how this feature could be compelling for desktop users, but I worry that if Microsoft do enable this feature it will be seen as an admission of failure for Metro and result in a loss of developer confidence.

As a result I personally hope Microsoft stand firm and do not allow users to bypass the Start Screen. The transition away from the traditional Windows Start Menu was always going to be difficult (it's been with us since 1995), but I believe that to turn back now would be a disaster.

Stay tuned for more Windows 8 Blue news, but in the meantime I recommend you head over to the SuperSite for Windows and Within Windows for additional information and analysis.