• Compiling Sass with Gulp in Visual Studio

    Luke Canvin

    We love visual studio at OCC. It’s an incredible IDE for software and web development and Microsoft put amazing effort into keeping up with the direction developers find themselves moving. In this case we’re talking front end web development and specifically: Gulp.js – a JavaScript-powered automated build system that uses Node to perform the tasks you find yourself doing over and over Sass – a language extending CSS (that is compiled to produce CSS) to give developers more power when[...]

  • ASP.NET Web API on Linux and Apache with Mono

    Mike Hewlett

    We had a requirement at OCC to build a RESTful web service that would be able to run on both Windows and Linux servers. Someone suggested we give Mono a look to see if we would be able to use the ASP.NET Web API framework served up by the Apache Web Server on Linux. That sounded great; we have a lot of experience with the .NET Framework and a lot of experience with Linux but so far have not brought[...]

  • Tom’s thoughts on AngularJS, TypeScript, SignalR, D3.js and Git

    Tom Litt

    OCC DevCamp has been a great opportunity to put the day-job to one side and try out some new technologies. Here are some thoughts on how I got on with them. AngularJS AngularJS is Google’s offering in the JavaScript application building framework arena. Having previously used Knockout I wanted to use a different framework for comparison. I’ve felt that Knockout isn’t especially well suited to large applications, and it seems to struggle in terms of performance when handling a large[...]

  • Chris’ thoughts on HTML5 Canvas, SignalR and Git

    Chris Griggs

    HTML5 Canvas HTML5 canvas is a powerful little container for graphics which I only used the smallest set of features of. Other features to explore would be changing of line colours/styles, and of drawing shapes. There are also other algorithms for drawing lines (Bezier/Quadratic) that might lead to smoother lines. Problems arose due to different implementations between web-browsers; chrome seemed to fare the worst here, especially when reporting the position of events. Some of the other features of HTML5/CSS3 I[...]

  • Andrew’s thoughts on Git, Xamarin and SignalR

    Andrew Wroe

    My focus for DevCamp was building an Android app that would interact with the presentation web app in realtime. For that we made use of a toolkit called Xamarin, as well as the ASP.NET SignalR library, and Git for source control. Xamarin Xamarin is a toolkit that allows you to use C# to write code for native Android and iOS apps. I had a good experience with this overall. I hit a small bug where changing the namespace caused a[...]

  • Mel’s thoughts on SignalR, AngularJS and TypeScript

    Mel Mason

    I spent most of the DevCamp week working on the client applications: the presentation itself (minus the annotations and the graphs), the secondary screen and the audience view. So the new technologies I spent most of my time on were AngularJS and TypeScript, with a little time spent on SignalR. SignalR I didn’t spend much time delving into SignalR, mostly because I didn’t need to. The code to set up a connection between clients and server is very concise and[...]

  • Implementing an HTML5 Canvas screen overlay

    Chris Griggs

    Part of our Dev Camp project this year involves being able to annotate a presentation slide using a mouse, finger or stylus. We instantly looked to the HTML5 Canvas element to provide a bitmap drawing surface. Sizing and scaling the Canvas When first trying to create a canvas that overlaid the screen I discovered that they had two height/width properties. canvas.style.height/width – CSS attributes canvas.height/width – DOM properties The CSS attributes can take percentage values (100% in our case), the[...]

  • Dealing with personal opinion in web design

    Luke Canvin

    Design can be a very subjective matter. All of us have our personal likes and dislikes when it comes to the appearance of the products, tools and websites we use, but it’s important for both the designer and client to set those aside when you’re working on a web design project. Websites are designed for their audience, for the users that the owner is hoping will visit and complete some transaction or task. As part of the user-centred design process,[...]

  • Set up WordPress in the Cloud on Windows Azure

    Luke Canvin

    “The Cloud” is a term that we use to describe a way of hosting and running websites and applications where we ship off our files and databases to whomever we choose and have all the worries of managing the details of hardware, operating systems, networks and datacentres managed for us by them. This way, the specialists at the cloud provider can focus on providing a high quality, scalable platform, and the customer can focus on developing and deploying their website[...]

  • Stop serving insecure files over a secure connection

    Luke Canvin

    I’m sure you’ve come across IE7’s warning “This page contains both secure and nonsecure items. Do you want to display the nonsecure items?” Or IE’s more recent warning “Do you want to view only the page content that was delivered securely?” Other browsers have similar messages, which will rightly unnerve cautious internet users. These warnings are the result of the page being secured, delivered over HTTPS, but some of the page’s resources being delivered using HTTP. It’s a simple thing[...]

  • Follow our developers at Dev Camp

    Laura Walton

    Day 1 was spent settling in and setting up in the beautiful cotswolds. After supper and before turning in, they get stuck into business splitting up the application tasks thus: Server-side – RavenDB and ASP.Net MVC – Mariusz and Neil Client-side – Backbone.js and HTML5 – Tomasz (and Andrew, when he arrives) UX – CSS framework(s) and JavaScript – Luke They will do a fair bit of pair programming before moving on to parallel development after getting the basics done.[...]

  • Tips for streaming video with Amazon CloudFront + Flowplayer

    Reynold Greenlaw

    Flowplayer is a Flash-based video-player that supports streaming video using the Adobe’s Real-Time Messaging Protociol (RTMP). Amazon CloudFront is a content-delivery network (CDN) tied in with Amazon’s Simple Storage Service (Amazon S3), and can stream via RTMP. Great! This is a simple-to-set-up, cost-effective, and reliable video-on-demand system. Where you can get a little bit tangled up is the way the video resource is identified to the player. Following the recipe for Flowplayer with the RTMP plug-in, you need two values, the[...]

  • Choosing agile development

    Reynold Greenlaw

    The oldest software process is “code and fix”. This actually works on small one-man projects, but as a system grows, bugs become harder to fix. A typical sign of such a system is a long test phase after the system is “feature complete”. Such a long test phase plays havoc with schedules as testing and debugging is near impossible to schedule. The classic response comes from engineering, whose methods try to plan the software process in detail for a long[...]

  • Online video content using Amazon S3 for TaxTV

    Reynold Greenlaw

    The conventional approach to making videos or other data available online is to buy a server and host it at an ISP. This requires up-front capital costs for the server, and development of systems to keep track of backups, redundant copies, and scaling up as your needs increase. An alternative approach is to use storage web services, such as Amazon’s Simple Storage Service, or Amazon S3 for short. Your files are stored on the same highly scalable, reliable, fast, inexpensive[...]