Developing Clouds

You may have already read of Bristol University’s Quantum processor and it’s newly opened schedule of computing time. In September, the UK university began accepting requests for time on its cloud-based quantum computer dubbed QCloud. QCloud is to be the first cloud-based quantum computer offering processor time to users outside acedemia (presumably). Cloud computing takes on a whole new identity when quantum computers are introduced. Does it both change and leave the same our current understanding of cloud computing?

On September 27th, Bristol University began accepting email requests for time on its quantum processor. News spread quickly around the Internet. The university’s site hasn’t mentioned the total number of requests recieved and granted and are still accepting requests.

“From the 27th of September 2013 you will also be able to access to the world’s first open-access quantum processor. In order to gain access to the real process you must register. To register, please provide your name, address and contact phone number – e-mail the Quantum in the Cloud project”

Modern quantum computing is thought to be an important tool for big data. Google and NASA announced thier quantum partnership to use a jointly-purchased D-Wave quantum computer for big data research. Skilled quantum computer programmers may well be few as are the number of quantum computers. How many do you know personally? I work with zero myself.

If research points to an excellent use case for quantum computing, skilled quantum computer programmers will be in demand. While it may be tough and very expensive to aquire a quantum computer for development purposes, you can gain valuable knowledge in this fledgling field.

Bristol University – You can use the quantum computing simulator without requesting access.

Quantum Computer Simulators – There are a number of simulators available online. A quick search will reveal pages of available simulators.

Barrier to entry is quite a bit higher than that of say… HTML or CSS but even that could change over time. I dream of working on a quantum computer but its very doubtful my employer will ever need such a monster. What will you learn today?

CSS & HTML are my two favorite web languages. Separating structure from design is one of my favorite features of the pair. During the early 2000s I was learning bits of html. Learning table markup was one of the most boring aspects of my studies. I soon learned about the magical separation of page structure and design with CSS. Code reuse was one of the early selling points for using CSS to style html. In the coming years I found I hardly reused any of the CSS I wrote. Last year was the first time I made considerable edits to a CSS document created in 2009. That document from 2009 would have been easier to work with had I been able to quickly share the code with my project teammate. Traditional version control wasn’t an option and online tools collaboration tools for web developers were few. If I were sharing a CSS project today, I would consider something like CSS Deck.

CSS Deck is part online collaboration tool, part portfolio site, and part education tool. The hosted service offers an onscreen editor complete with real time output preview. CSS Deck supports html, css, and javascript. Developers can use the service to share code snippets and interesting side projects. I created a simple business card project. Projects on CSS Deck can do more than look nice on screen. They can be embedded in other web pages or shared with a direct link. Projects can even be forked by other users who want to build upon the codebase.

CSS Deck offers a unique screen cast option, called Codecasts, that allows you to record your actions then play them back in a video-type format. The site’s creators are using the feature to create a series of tutorials right inside the CSS Deck platform.

Despite the name, CSS Deck supports libraries like jquery, Mootools, and Bootstrap. The platform also supports a variety of pre-processors like haml, jade, compass, coffeescript, and more. CSS Deck is still quite new – almost a year old going by the domain registration date of January 2012. I was impressed with the project. I hope to see even more features rolled out in its second year as well as improvements to documentation.

The version control and collaboration tool for writers, Draft, is growing up. The platform recently added cloud sync for Google Docs, Evernote, Box, and Dropbox. Addressing the issue of distributed note-taking and a need to keep everything together, Draft clears your writing space so you can focus on your work. Adding cloud sync offers the flexibility to continue using your favorite cloud storage service while choosing your composition tool.

Documents begin as an import from your choice services. Once your documents are imported they will be synced between Draft and your cloud service. You have access to recent edits from any device. Versioning is still available to help save your sanity when you notice a line is out of place in your latest draft.

Draft documents do more than live in your cloud storage service, they can be published on major social platforms. Your Draft masterpieces can be pushed to LinkedIn, WordPress, Blogger, Twitter, Mailchimp, and Tumblr. If the expansion to multiple cloud platforms and social media isn’t enough to catch your attention, consider the new analytics tool available for Draft documents. Analytics gives you insight into popular posts and traffic sources for each of your published works (on supported platforms).

These improvements represent a very thoughtful iteration on a personal project built to give writers a better way of getting words into pixels on screen without getting in the way. Well done to the one guy who created Draft!

I guess we’ve made the switch. All computer applications are now called “apps”, according to Microsoft (it seems). You too can develop apps for Microsoft Office without leaving your browser. You’ll be working with Office 360 using a development tool called Napa.

Access to Napa requires a Microsoft account with Sharepoint access. Documentation gets a little muddled with the start of your Napa installation. There’s a clear promise of developing Office 360 in the browser then a prompt to download Napa.

The download section offers a bit of advice that makes perfect sense. You don’t need to download anything but you do need to set up a SharePoint developer site. Your SitePoint developer site is available free for 30 days or as part of an enterprise or small business subscription plan (no credit card required). MSDN subscribers also get a free year of Office 360.

The promise of a browser-based editor for Office 365 app is an alluring offer but actually starting development has a few too many steps. Developers want easy access to new tools. We understand many have abused the MSDN subscription services in the past but we don’t all want to be punished for the misdeeds of others. Shorten the time from Microsoft account login to browser-based app building and you’ve really got something.

Management of distributed teams, even teams within the same office can be a major challenge if you’re relying on email as your task list. Tagging and check marks only work for so long before your team begins to miss tasks and communications.

Cloud-based project management services are abundant. Choosing one that both works and looks good with a small learning curve is no easy task. At times it feels as though you can choose one option, not both. Enter Asana.

Asana is an intuitive project management service that looks good. It uses an inbox method to keep projects and tasks organized. Projects can be private, public, or shared with specific Asana project users.

Each component looks and responds like a desktop window. Tasks and projects slide can be visible from the main screen or slide out of the way.

ShiftEdit is a could-based IDE with Google Chrome integration. It promises access to multiple cloud accounts and FTP. It currently supports Dropbox, Amazon S3, Google Drive, SFTP, FTP, and WebDAV.

This cloud-based IDE works in the browser through the Google Chrome browser. You must install the ShiftEdit Chrome app before you can begin. Once you have the app installed you’re prompted to create an account. The sign up process is pretty straightforward.

The onscreen editor was really nice, it was responsive. Switching between file types was easy. I have experienced a sluggish response from some other cloud IDEs. ShiftEdit’s hybrid approach seems to work quite well. They’ve included a collection of familiar desktop code editor functions such as code beautification, syntax highlighting, line number view, and live preview to name a few.

New accounts have a limit of 1 site project. I tested my first site project with Dropbox and Google Drive. I tried and failed to connect to Google Drive and Dropbox to save any new project files. This was disappointing since I was able to authorize ShiftEdit with these services. Connection tests to each of these services proved they were functioning yet I was unable to add new files or open existing from inside ShiftEdit. These issues could be due to the constant bandwidth throttling I experience with my current ISP.

ShiftEdit is certainly a service to watch. They’re offering trials right now and already have a premium account for those interested in serious editing from the browser. I recommend giving the service a try with a reliable Internet connection.

The title of this blog is Developing Clouds. Occasionally, even developers need to use an office suite. Enter CloudOn, the Microsoft Office suite in the cloud. Created especially for mobile workers, CloudOn offers connection to multiple cloud storage services and to a tablet version of Microsoft Office.

I first used CloudOn several months ago when an editorial team requested contributor articles submitted as a Microsoft Word file. This posed a problem for me since I was using Evernote to compose and save all my work prior to adding directly to the publication’s content management system. I wasn’t working from a traditional laptop or desktop computer capable of running OpenOffice.org.

CloudOn was immediately appealing upon first launch. I expected a stripped down version of the office suite but instead experienced the full version on a fairly small screen. CloudOn is by far the most tightly focused cloud desktop service I have tried of late. Document creation options are limited to Microsoft Word, Excel, and PowerPoint. Google Drive might have been an option if not for its lack of document editing support at the time.

On-screen set up instructions are easy to follow and well organized. Document creation and syncing with cloud storage providers was also easily accomplished. Editing options for Microsoft Word documents began to give me trouble when my ISP proved to be really terrible. I was noticing a significant slow down before using CloudOn but never would have expected it to impact an iPad app in such a way.

CloudOn requires at least 1Mbps connection to function properly. Speeds less than this resulting in extreme lag when typing from both the soft keyboard and a Bluetooth external keyboard. The only remedy to the lag in response was to use a faster connection. I tested the app from a 1 Gbps connection and experienced no delays from keyboard to screen. Sync to cloud storage is seamless. I connected Dropbox, Google Drive, and Microsoft Skydrive without issue. Interestingly, cloud storage connection wasn’t an issue with a slower connection speed.

Despite the bandwidth problem, CloudOn proved to be a valuable tool when sending completed work to the editorially team in the format requested. I later switched Internet providers and purchased a laptop. CloudOn is a nice to have app for times when bandwidth is speedy and you don’t have ready access to Microsoft Office.

I’m still trying to find a use case where I could make use of a cloud desktop. Today, I’m taking a look at Desktop Anywhere. A little reading on the Desktop Anywhere site reveals at least some technical aptitude and an Amazon Web Services account will be required. This doesn’t exactly meet my preference for a simple set up for such services.

The Quick Setup Guide includes connection information for Amazon EC2 and recommendations for staying below usage limits for Amazon’s Free Tier. The consideration for user’s billing preferences is a welcome notion. The free tier of Amazon’s EC2 (Elastic Cloud Compute) platform requires a credit card. Keep this in mind before you dive too deep into set up of your Desktop Anywhere.

Use cases suggested by Desktop Anywhere include surfing privacy at work, bridging the gap between your laptop and phone, as well as running a virtual version of Ubuntu. Software installation from the Ubuntu Software Center is a new feature to help you better customize your virtual desktop with Desktop Anywhere.

Desktop Anywhere is definitely a DIY cloud desktop option. Registration and setup requires a bit of work. Watch the video first if you prefer. Expect to spend at least 15 minutes setting up your instance of Desktop Anywhere.

Desktop Anywhere, despite it’s setup complexity, is an interesting virtual desktop option. I hope to see simplified setup and deployment options in the future. Overall I’m intrigued with the approach and look forward to future versions. Have you tried Desktop Anywhere? What did you think of it? Let me know in the comments below.

The Microsoft Team Foundation Service is approaching its second anniversary. Launched as an invite-only program in 2011, the service has been available for production use since 2012. The service combines team collaboration tools with version control, test execution, and cloud-based load testing in one dashboard available from nearly any device.

Free for up to 5 users, Microsoft Team Foundation service offers a suite of collaboration and testing tools at a reasonable price for smaller teams. Targeting smaller teams and budgets could prove to be a good move for Microsoft considering the number of hosted tools available separately to accomplish the same tasks. If you’ve been reading Developing Clouds lately you’ll notice a trend – I’m discovering Microsoft development tools anew these days.

Creating a new project from your team dashboard is easy. You can choose the process methodology and version control (Git or Team Foundation Version Control). Repository access is available through an array of Visual Studio desktop product or Eclipse. Git support in Visual Studio Express offers a low barrier to entry even for newbie Git users. Microsoft’s documentation for this product contains plenty of information that both helps new users and assists more experienced users.

Code is available for viewing and feedback but cannot be edited from the browser. I expected a browser-based editor like Bitbucket’s.

Making changes from the browser isn’t possible but can compare versions with the code compare tool.

Task assignment and tracking is also available.

View commit history complete with comments.

Live chat with full history is available too.

The Visual Studio Team Foundation service offers an impressive collection of tools for distributed teams. I was disappointed by the lack of a browser-based code editor and support for Code Envy (my favorite cloud-based IDE). After experiencing the oddity that is Windows 8 gestures I was pleasantly surprised by the simplicity and usefulness of the Team Foundation Service’s user interface.

I would consider the service for version control and team collaboration in the future. I really liked the all-in-one approach to team projects. I might have liked the service a tad more if I had access to a Windows Azure trial account without a credit card. Offering a timed or storage-limit based trial to Visual Studio Team Foundation service would have made the new service a complete cloud develop+deploy platform. Give it a try if you haven’t already.

Making a leap to the cloud can be a small hop if you start with a simple personal project. I’ve been curious about Red Hat’s OpenShift for a while so I decided to find out if I could set up a WordPress site on the service. I attempted the task without reading through lengthy documentation and relying on the short step by step wizard given after sign up. I decided to go ahead with the test despite my lack of experience with Git repositories. Why let a little learning get in the way? I soon found myself deep in documentation and forum posts after a misstep with a WordPress plugin. I aim to save you a lot of time with this post.

OpenShift offers a free tier for its Platform as a Service. We’ll be working with OpenShift Online today.
The free plan allows three resource-constrained containers, called Gears. Each Gear offers a set amount of RAM and disk space. Software stacks called Cartridges can be added to each Gear. The free plan allows three small Gears. Small Gears offer 512MB of memory and 1GB of space each.

WordPress Updates on OpenShift

Before we dive into the set up process, you should be aware WordPress code is not maintained by OpenShift. Unlike traditional hosting, updates and Security are your responsibility. There’s also an issue cloning a WordPress repository on OpenShift. Cloning excludes the wp-content directory where themes and plugins are stored. Working from a local repository then pushing to OpenShift can wipe out all data in the remote repository. You must sync repositories to avoid erasing your site. If all of this sounds unappealing, you may want to stop here and have a look at WPEngine for your site. I set up a test site months ago and haven’t had to do anything to update or secure it.

Setting Up Your First OpenShift Application

We will be adding PHP, MySQL, and PHP MyAdmin for our WordPress application today. Creating a WordPress site is incredibly easy since there’s already a quick start version available. Choose WordPress from the Instant App category.

The configuration step is pretty straightforward. You’ll notice the WordPress app is not scaled by default. You can enable scaling in this step if you like. If you enable scaling in this step you will not be able to add PHP MyAdmin later. PHP MyAdmin is a shared resource that cannot be scaled with your application.

Once you’ve updated your application settings you’ll be presented with Git login instructions. Save these then test them. I used CodeEnvy. Cloning is the only option available for OpenShift repositories on CodeEnvy so I cloned my new WordPress application. If you can connect to your repository you’re good to move on to the next step, adding PHP MyAdmin to your new App.

Adding Cartridges

I recommend adding PHP MyAdmin just in case you need a graphical user interface to review or update your WordPress database. Since beginning this journey to OpenShift I have learned I like having a GUI for my databases.

Most cartridges have dependencies. PHP MyAdmin requires PHP and MySQL, both were installed with the WordPress Instant App. From your application dashboard you’ll see a handy Add Cartridge button.

The resulting page will display all available cartridges for your App. Choose PHP MyAdmin from the list. Be sure to save the login information given once the installation is complete.

You’re not quite ready to add content to your WordPress site. We’ll explore this in Part 2 of this series on OpenShift.