Coding in the Cloud – Part 3

As part of the series of blog posts on developing using cloud based tools, I will today review Kodingen.

Kodingen

Kodingen was created to give developers a free environment to create and host web applications during development, and to prevent time being wasted setting up development environments.  This ethos is reflected in the large developer community that the company is fostering, with over 25,000 people signed up for a Kodingen account.  The site is still in beta, but is approaching a full release.

The Kodingen Editor

Even before you create an account on Kodingen, you’re able to create files and test code in the site’s Community section.  You can code using PHP, Ruby, Python, ColdFusion, classic ASP and Miva Script on the site.  There is no support for .NET, and the Kodingen team have stated they don’t intend to implement this in the future.  There is no concept of projects or solutions. Instead, you organise your code and resources using folders under your Kodingen sub-domain, with a number of default folders being created for you (httpdocs, private, and sub-domains).

Once you create an account on Kodingen, you are able to make use of all the availableKodingen-Menu features.  And it quickly becomes clear that Kodingen is more than just your typical online coding editor.  The main features currently available include:

  • Your own sub-domain on the Kodingen site where all your files and websites are located.
  • Add additional sub-domains as required.
  • Make use of four different online code editors within the site (Ace, Bespin, CodeMirror and YMacs).
  • 1-click installation – you can install and configure a number of open source applications and platforms, including WordPress, Joomla and Drupal.
  • Able to use a personal FTP drive on your personal sub-domain to upload files.
  • Manage external FTP drives from your Kodingen account.
  • Create multiple MySQL database instances.
  • Upload existing web sites and files, and backup and download your work on the site.

All of the above are freely available, and the Kodingen team has promised that these features will be permanently available.  As the site is currently in Beta, a number of additional features are still not available.  These include:

  • Support of common web frameworks such as Ruby on Rails and Django.
  • Add your own domains and manage them from Kodingen.
  • Create and manage teams with other users to build web applications together.
  • Support for SqLite and Postgres databases.
  • Create and control SVN repositories (including Git and Mercurial).
  • The ability to buy additional disk space, bandwidth, domains and sub-domains, databases and FTP drives as require, using various monthly plans.
  • Add external code editors.

When the site does reach a full version 1.0 release, some of the above features will obviously be used to generate income to support the rest of the site.  The ethos of the site is to generate revenue from companies whilst keeping basic features free for developers.

What is it like to use?

The site is built on open source technologies, and has its own custom backend (KFM) that allows Kodingen to server over 10000 web sites from a single server.  Kodingen’s frontend is built on using the HTML5 canvas element, and is heavily optimized, resulting in an extremely fast, intuitive site to use.

To help you get started, there are a number of useful video tutorials.  When creating or modifying a code file, you have a choice of the four common open source web editors (Ace, Bespin, CodeMirror and YMacs).  The editors are fast and responsive, and you can view the resulting web page in either the Kodingen application, or in a separate browser window.  There is currently no integration with a version control system, but this has been promised for future releases.  There is also no code completion, so the code editors are more bare bones efforts compared to the usual desktop IDEs.  But as a developer, I’m very impressed.

Kodingen User Profile

There is a strong ‘social coding’ theme in Kodingen (use of personal profiles, ability to message one another, groups so that developers working on similar projects can interact with each other) which will only increase with the release of the team collaboration feature.

For the enterprise, there are a couple of major omissions.  It is not possible to use Kodingen with any version of Internet Explorer due to that browser’s lack of adherence to web standards, and lack of support for HTML5.  Also the current lack of support for Java and .NET, two major languages used in the Enterprise, will prevent many large companies from adopting Kodingen.  But this isn’t a major surprise – Kodingen has definitely been built by developers for other developers.

Posted in Cloud Computing, Development, Trends | Tagged , , , , | Leave a comment

Coding in the Cloud – Part 2

As part of the continuing series of posts on developing applications using cloud based IDEs, I will look at the CodeRun IDE in this post.

CodeRun

When you first open the CodeRun IDE in a browser, you’re struck by how similar it is to Microsoft’s Visual Studio.  The layout and menus of the CodeRun IDE will be familiar to any .NET developer.

The CodeRun IDE

This is not an accident.  The CodeRun IDE was designed to deliver a familiar development experience in the cloud, using the web browser.  This is to allow developers to focus on programming, rather than administrating complex configurations for development and deployment.

CodeRun-ProjectTypesThe CodeRun IDE supports ASP.NET web projects (Web Form,  MVC and Silverlight using C#), JavaScript development and PHP, but the majority of the features are designed to support .NET development (the CodeRun IDE is built using ASP.NET).

CodeRun allows you to upload existing projects, or create a new project using the predefined project templates.  The projects can be edited, and then compiled and ran in the browser.  Each project runs in a separate sandbox, but for a cost, you can deploy your project to a cloud hosting solution supplied by CodeRun.   The CodeRun IDE supports applications using both SQL Server 2005 and Amazon SimpleDB.

Other features include:

  • Syntax colouring and code completion.
  • Code compilation for .NET applications, with standard console output and error message support.
  • Debugging that allows for the use of breakpoints, to watch items and inspect the call stack.
  • Share code with others via a unique link.
  • All code is private by default and can only be accessed by the logged in user, though you may publish the code if you wish to make it public, and you can also mark the project as open source.

Costs

The CodeRun IDE is a free service.  The optional cloud based hosting provided by CodeRun starts at $10 per month, rising to a maximum of $169 per month

What is like to use?

CodeRun-CodeCompletionThe CodeRun IDE is intuitive to use, and you soon learn to treat it as a cut-down version of Microsoft’s Visual Studio.  When coding, its performance is reasonable, though you occasionally notice a time lag in the AJAX enabled code completion feature.   Another nag is the lack of a toolbar for dragging and dropping web controls onto a web form.  Whilst it is derided by some developers, it is a major productivity feature in Visual Studio for the majority of its users.

A major disadvantage to the CodeRun IDE is that it does not support the use of third party code libraries.  This applies both to projects created in the IDE itself, and to projects initially created in Visual Studio and later uploaded to CodeRun.  The only way to include additional code libraries to the default selection provided by CodeRun is to add the source code to the CodeRun project.  This obviously prevents the use of closed source code libraries.

A further hindrance to adoption by an enterprise is the lack of integration with other cloud based services.  I would have expected to see some integration with online bug tracking and source control systems, such as Microsoft’s Team Foundation Server (TFS) or Github/BitBucket.

The main selling point of CodeRun IDE is the ability to run and deploy .Net code from your browser.  But several other cloud providers allow you to deploy to cloud based hosting from desktop IDEs like Visual Studio.  Indeed, CodeRun also provide a Visual Studio extension to allow developers to deploy their own cloud hosting.  It would also be nice to see additional support for databases.  CodeRun should provide the ability for developers to create and use new hosted SQL Server instances from within the IDE – this is currently not possible.

CodeRun’s lack of integration for third party services, and the fact that third party code libraries cannot be used, means that the IDE is not a realistic development platform for the Enterprise. It is a useful tool for developers trying out code snippets, or experimenting with new technologies.  I can certainly see myself using CodeRun again, but Microsoft’s Visual Studio has nothing to fear.

Posted in Cloud Computing, Development, Trends | Tagged , , , , | Leave a comment

Coding in the Cloud – Part 1

This is the first instalment in a series of posts looking at the use of online development environments (IDEs), their context within the emerging cloud-based development market, and will look at how they could change current software practices.

Definitions

Over the past years, a number of companies have developed online alternatives to traditional desktop applications, allowing us to create documents and spreadsheets in the web browser.  An online code editor is where a browser hosts a text editor, allowing a developer to create and edit source code for an application, without installing any client side software.  The more advanced online tools aim to replicate the functionality of desktop integrated development environment (IDE) which compile and deploy the source code as an executable application.

Cloud-based development refers to the use of applications by software developers that are hosted by a provider using cloud-based storage, and that is accessed by customers over a network, typically using a web browser over the Internet. Cloud-based development encompasses more than simply online code editors, as other parts of the developer tool chain are also starting to be hosted in the cloud.  These include source code hosting, build servers, task lists, bug tracking, and project planning, as well as continuous integration capability (i.e. automatically rebuilding the solution and running unit tests whenever code is checked in).

The term Development as a Service (DaaS) is used to differentiate this sector from the rest of the Software as a Service (SaaS) market.

Why It Matters

Worldwide there are 15 million professional developers (Evans Data, 2009), with over 1.3 million in the USA alone (Bureau of Labor Statistics, 2010), and a further 330000 in the UK (Office for National Statistics, 2010).  The application development software market is worth over $7 Billion annually (Gartner, 2009).  The majority of software developers use either Microsoft’s Visual Studio IDE, or a variant of the open source Eclipse IDE (Forrester, 2008), both of which are desktop applications.

What Cloud-Based Development Tools Offer

For a software business, the major advantage of cloud based development tools are the additional capabilities for real time collaboration when developing.  This is useful for development teams that are geographically separated, particularly outsourcing work.

They also offer reduced licensing costs and a reduction in hardware requirements; businesses no longer need to buy high specification servers and PCs as development platforms. By effectively outsourcing their development hardware to a DaaS provider, a business allows a software developer to focus on development, and not have to administrator their development hardware, with an increase in developer productivity.  This will also reduce the time taken for a developer to join a project – they will no longer have to waste time building a project specific development environment.

Cloud9 Online IDE

For developers, cloud based development tools offer the opportunity to work on a project regardless of what location they’re at, or what platform they’re using – PC, Apple laptop or a smart phone.   The development environment remains consistent across all the devices used, and avoids users having to re-install specific plug-ins or customizing interfaces.

Summary

With our basic terms defined, and the advantages of cloud base development tools laid out, I plan in future posts to review and compare the main online IDEs that are currently available.  We will not consider the many code editors that are available, but will only consider those online tools that aim to replace the existing desktop IDEs. The first online IDE we will look at is the CodeRun application.

Posted in Cloud Computing, Development, Trends | Leave a comment

SharePoint 2010 Service Pack 1 Released

This week has seen the release of Service Pack 1 for SharePoint 2010 as well as Office 2010 and other related products (e.g. Project Server, FAST etc.). Keeping track of all the individual  downloads and instruction on the order can be tricky. Luckily Microsoft has a one stop shop for download links and instructions that can be found at the Update Center for Microsoft Office, Office Servers, and Related Product page.

Update Center for Microsoft Office, Office Servers, and Related Product

The Update Center is always the place to check on the latest patches for SharePoint for all version (2010, 2007, 2003).

For those who have had experience with updating MOSS 2007, the update process for SharePoint 2010 is pretty similar with applying the patches for the foundation edition first then applying the patches for the full edition.

One point to note that is stated on the Microsoft SharePoint Team Blog that;

It is strongly recommended to install the June 2011 Cumulative Update immediately after the installation of Service Pack 1.

Some of the highlights included in this Service pack are:

  • Support for SQL Server Code Name “Denali”
  • Shallow copy functionality
  • Site-level recycle bin
  • Improvements to storage management (StorMan.aspx)
  • Cascading filters for Performance Point services
  • Additional browser support

Support for SQL Server Code Name “Denali”

It is now supported that SharePoint can be installed using the next version of SQL Server code named “Denali”. We will be doing more blog post in the next couple of months around the new features of “Denali”.

Shallow Copy

As you may know, it is possible to  offload the storage of say document out of the database and utilise blob storage. Shallow copy allows administrator to migrate SharePoint content between content databases without moving the documents stored in the blob storage. It is worth noting that you must be using the Remote Blob Store provider, which is part of SQL Server R2 SP1 Feature Pack rather than the local FILESTREAM provider.

Site Level Recycle bin

Just like the recycle bin for list and documents, administrators can now restore deleted site collection and sites.

StoreMan.aspx

In previous versions of SharePoint there was an application page called Storage Space Allocation (StoreMan.aspx). This could used to determine which documents or document libraries were taking up the most space with SharePoint. This was removed from SharePoint 2010 as it could cause blocking issues with in SQL Server.

They have fixed the problem and it returned with an improved page which enables users to understand how they are using their size quotas.

Cascading filters for Performance Point services

New cascading filter support enables you to pass the value of one filter to another.

Additional browser support

As well as now providing support for IE9 in IE8 Standard Mode, SharePoint also now provides support for Google Chrome.

Posted in SharePoint | Tagged , , , , | Leave a comment