Dot Net Core 1.0 RTM Plus Angular 2 RC3

We are not going to explain what Dot Net core is, or what Angular is. To be honest you are probably here because you know about both and are looking for guidance.

For the past few days our team has been trying to work out if Dot Net Core is worth using yet, and if Angular2 can offer a nicer user experience on a dynamic website.

The short answer is potentially.

I’ll split my article into two sections and keep it brief.

Visual Studio 2015

Visual Studio 2015 using TypeScript (fairly essential for Angular2 development) and Angular2 is essentially rubbish and broken. Firstly you have to find and follow a load of tutorials on how to set the thing up to work with TypeScript, options to tick, CMD line operations, third party installs, and all sorts.

The whole experience of setting up VS2015 and dot net core 1.0 RTM for use with Angular2 RC is aweful. This is not helped by a load of articles on the net that look great, but in practice point to older versions of Angular, TypeScript, or .Net Core itself.

So after a while you might have everything setup and get your first Angular 2.0 RC3 project working with a hello world type program. The problem comes when you try and do anything further, like hitting a web service for data and binding it. Again, the final result isn’t too dificult, but it’s made harder by Microsoft changing the case of the properties returned in JSON, and again most of the tutorials reference Angular2 pre release candiates and not post. So while the end code is similar, and while you can attempt to follow the examples, most of the code needs tweaks and changes. We found ourselves following the release notes for Angular to get the changes made in RC working.

VS2015 crashes like a dog constantly. Editing TypeScript Files, renaming them or moving them can often cause it to crash at an alarming rate. Bad Microsoft…..

Angular 2 RC3

I love the concept of angular and the databinding like capabilities. I love the fact that if the object changes the UI reflects instantly.

Coding in Angular will take time to learn, and it will take lots of time to master. The biggest problem right now are the old articles on the net relating to old versions of Angular 2 beta. These really need removing or updating. It makes the whole process a nightmare. Angulars own site isn’t bad for learning, but it only really covers the basics.

Net Core

I do see why Microsoft are going down the route of platform independance but I do feel that the pain from it for us early adoptors will be in vein. I can see Microsoft changing a whole lot and maybe with VS2016/17 we’ll see a better environment that feels like it fits net core. At the moment it feels unfinished state.

Most, like me will probably learn some of net core, and maybe try angular and probably go, what the hell was I thinking. The old .net framework was awesome, it worked, visual studio didn’t crash and you could write reliable code quickly and easily. But in the end Microsoft will probably slowly convince developers net core is the way forward.

As developers we need to keep our skills upto date, and I go with that 120%. However I think some companies asking for Angular on their job descriptions are obviously driven by developers want to learn and not the need to deliver a working solution to a problem. I can’t help but worry for all the teams out there working with Angular (probably version 1), that will not be able to progress easily to version 2 without a massive re write. Those using version 2 now will see similar pain as more release candidates come out. Personally, it’s too soon, buggy, un reliable, un sortable, mess.

The benefits of Cloud Hosting

On any given day in IT, the word “Cloud” probably gets uttered, but so many IT Managers jump into it without having a full understanding of how it can benefit your business and what the downsides maybe vs a traditional approach. At Dev Team Solutions Limited we are experts in all methods of hosting and can help you as a business decide the right way for the best value and return on investment.

What is Cloud Hosting

Think of Cloud Hosting as a massively configurable server.  Let’s say you host a website.  A website gets hosted on a server.  A server is just really an ultra-powerful computer which is generally ultra-reliable and built for a purpose.  You have been running your website for a few months and suddenly you get a form of recognition maybe in a newspaper or article.  This unexpectedly brings you 10 times the amount of web traffic.  You only paid for what you needed at the time, so your website crashes because it can’t cope with the load.  Not good, lost custom and lost reputation.  With a fixed server sat in a data centre, you are limited by the hardware it runs on.  With cloud hosting your server is a virtual piece of hardware which shares resources across many physical servers, often if different geographical locations.  So in the cloud environment you can just say, ok, today I have more traffic, lets increase the server memory and processor power (generally requires a reboot).  Ok sowe have to pay more now for our server as it’s more powerful, but we’ve not had to purchase any additional hardware or so anything other than change the servers details in our cloud hosting control panel.  If next week the servers not busy, you can re configure it again to be less powerful and save the business some money.  Sound good so far?

Cloud hosting providers

There are 3 main providers, although many more exist.  Amazon was one of the first, Microsoft with its Azure platform, and Rackspace.There are many differences between each cloud provider, we have used them all and can assist you with your businesses setup.  Each provider has a different control panel, with a different way of setting up security and the servers themselves.  Microsoft has been the cheaper of the three, but there are price battles between them all so this fluctuates.They all offer additional options for the servers such as hosting SQL Server which is supplied at an additional cost.

Advantages

  • Fire up a new server when ever you want
  • Choice of operating system
  • Re configurable, sometimes on the fly to increase or decrease memory, disk space and performance
  • Performance – Our dedicated servers often perform 10x better than a similar specified cloud server when it comes to disk transfer rates with products such as SQL Server.
  • Pretty nifty load balancing and firewall like security features
  • Almost unlimited disk space and memory as long as you can afford it.
  • Backup Services are generally very good
  • No hardware to purchase and worry about replacing
  • Geolocated data – You can choose to host the data across multiple countries to spread the risk of data loss

Disadvantages

  • Cost – Traditional Hosting and even your own rack in a data centre can be cheaper per month, although you need to factor in replacing hardware etc if you are planning on owning your own servers
  • Unexpected reboots and maintenance windows – We find this so annoying that both Amazon and Microsoft have maintenance jobs which require reboots of your servers and sometimes some downtime which often isn’t timed well for UK traffic. Hardware faults can still occur.  One example of which was a failure on Amazon where we got notified that the server was sitting on corrupt hardware and it was being shut down permanently by Amazon.  We had a mild panic and had to work out a way of moving all the data to a new instance before the deadline which was only a short time away.
  • Experience – Even if you had someone experienced in servers, you will require someone that knows the control panels for each of the platforms – We can assist with this
  • Most sites don’t require the level of flexibility even enterprise level sites
  • Unexpected bills – sometimes much higher than you had thought. One example, one of our clients was being billed by Amazon for over £900 a month for one basic server with SQL Server and minimal traffic.
  • Performance – Our dedicated servers often perform 10x better than a similar specified cloud server when it comes to disk transfer rates with products such as SQL Server.

Hybrid

We can assist you with your own servers, dedicated, or cloud based and can recommend the best for your business for your budget.  We also offer our own hosting which takes in the advantages of cloud hosting, but with less of the disadvantages.  Our servers are dedicated work horses, ultra modern and powerful.  We can configure a virtual server for you with all the benefits of cloud hosting, but we take care of the hardware and the setup.Whatever your hosting requirements, talk to us today and use our experience to make the right decision whichever platform or host you choose.

Top 3 Reasons IT Projects Fail

The biggest problem today with IT projects is being able to bring them in on time and on budget.  This is something we do every day at Dev Team Solutions, and we want to share in our experience of over 15 years of success in the industry.

In our view, there are 3 main reasons why software projects fail to deliver to deadline or budget.

  1. Over Engineering
  2. Over Resourced
  3. Poor Resource Management

Lets tackle these three aspects and see if we can help you with your IT projects.

Over Engineering

No matter what IT project you would have worked on, it’s likely you’ll be thinking to yourself “why is this taking so long?”

The simple answer is that the project will be involving too many decision makers and we all know the saying “too many cooks”.  Believe it or not, 9 times out of 10, you will have managers and team members over thinking the solution.  Every meeting you have will involve a change to the requirements and the scope for the project will get bigger.  In fact this can occur on any project not just within the IT industry.  Scope Creep as the techy people call it is one of the key reasons why the project fails to deliver on time.  Too many requirements and un achievable deadlines to meet those deadlines is a killer for any project.  We’ve all been there, in a meeting that is supposed to be discussing requirement a, and all of a sudden all hell breaks loose and you end up spending a whole day discussing a,b,c, d and z.

As a manager and project lead of a number of years the easiest way to resolve this is to set clear and firm objectives to your meetings and to never deviate.  If valid points are raised, note them down for further discussion.  Within a project it’s important to break down smaller more achievable items of work.  It’s easy to get swamped when trying to tackle a 6 month project in one piece.  You don’t have to go the whole hog and go fully agile, but break the whole project down into each of its key deliverables.  Then break them down into the things you need to complete the task.  Allocate each task based on your teams competences.  One idea that always makes me laugh is when a company tries to give new “exciting” features to the employee which jumps the highest.  No No No.  you are trying to get a project finished, on time and to budget.  Tasks should not be allocated based on someone wanting to learn a new skill.  Allocate tasks to the most competent person at delivering that task.  If you have spare resource, by all means let someone shadow for experience.

During design phase, so many people will have ideas, and it’s important to listen, but don’t let that detract from the key goal of meeting that deadline.  As a team you will think about all the possible scenarios that could or might go wrong, or what the user may or may not do.  Try not to get bogged down with this.  You will never think of all the ways a customer will interact with your site or product.  Don’t over think, and don’t make it too complicated.  If you think it’s too complicated, so will the end customer and MD.

Over Resourced

We help so many companies especially in IT to understand that you don’t always deliver a project quicker by throwing more staff or money at the problem.  Quite often more people means bigger budgets, slower delivery and often cause IT projects to fail.  It’s not about quantity, it’s about the quality of your staffing and your resources that matters.  2 highly motivated individuals can often do the work of 10 underskilled poorly motivated individuals.  Quality of skills is important, however the more people you have on your team the more communication difficulties you will have.  Even with the best of intentions, having a large team can mean you as a manager have to make more people understand your end goal.  Even when they do understand the project and the deadline, getting the whole team to work together like clockwork can be a nightmare.  Too many people on your project and you’ll have more problems at the end of a project when trying to bring each of the elements together.

If one person on a task works at 100%, a second person will probably add only 30% at most to the task delivery due to the overhead in communication.   You are better allocating that second employee to a different project/task.  If you’ve done your project management correctly you’ll have a finite set of tasks that can run in parallel.  That could be the best deciding factor on the number of people you use on a project.

In software, more people also often means greater discipline in ensuring all the code is written well and is understandable by the rest of the team.  Most companies enforce this via coding standards.  This slows down development and often no matter how hard you try, these standards will be deviated from, usually for good reason.  This then means you need handovers of each of the modules in case of illness or someone shadowing the development.  In the real world coding standards are a big time overhead and if you have a good time often achieve nothing. Spend more time on the important parts of team management.  Ensure your team have everything they need to delivery their tasks without fail.  Make them aware that they will have to work late if the project is late.  Doing so in the beginning will allow them to plan the task so ensure it doesn’t overrun, or they will have to do extra late nights.  No one wants that, so all effort is delivered up front.

Poor Resource Management

It’s a simple idea, and as a manager how do you know if you are managing your team effectively?  The quick answer is you never do, but if you follow these guidelines you’ll probably be on the right track.

  • Talk to each member of the team daily, but briefly
  • Know your team members skills and weaknesses – don’t be afraid to ask them if they are comfortable with the task they have been given
  • Always have an up to date plan of the project
  • Breakdown your project plan into manageable 1-2 week deliverables
  • Ensure meetings are quick and to the point – don’t get bogged down with questions or off topic discussions

 

 

Amazon Prime Music

To be honest this has come out of the blue for me. Maybe other people knew Amazon Music was on the cards but not me.

I have to say it's surpassed my expectations and surprised me. So much so I thought I'd write a blog post.

For those that don't know, Amazon Prime is a service that Amazon has offered for many years now in the UK. Initially it began with offering free next day delivery on all of it's goods, but now Amazon Prime also include Books via it's library, Movie Streaming and now Music Streaming. In the UK the current price of this is £79. I have to say when they increased the cost from £50 a few years back I was tempted to cancel, but now I think it's amazing value for money. I suspect with Music they have to increase the cost maybe next year?

Just like with Amazon Prime Movies, the music service is available to Prime subscribers. You can play and stream across all of your devices via a dedicated app.

The iPhone version is pretty good with no crashes so far, although there have been some stumbles on streaming certain tracks. Niggles I'm sure they will resolve.

The best part of Amazon Prime music is the ability to download the music to your library and listen offline.

Not to mention the playlists. There are loads of playlists ranging from Pop and Rock to more specificity 80s, 90s etc. Lots to choose from and each of the play lists on Amazon Prime Music generally lasts for hours, which is great for background music while I'm working away on my projects in the office.

If you purchase just a few items from Amazon a year and either listen to music or watch movies (or both), then I can certainly recommending giving it a go. There is a 30 day free trial of Amazon Prime available so why not give it a go before any potential price rise.

windows 10

Windows 10 – Developers and Partners Forgotten

Windows 10 will be released to the general public on the 29th July. Available free to many upgrading from older version of Windows for a limited time.

However Microsoft has forgotten all about it’s core business. The many Partners and Developers out there that focus their core business around Microsoft technologies. We’ve heard nothing.

Generally Microsoft releases new versions of Windows to all partners and MSDN users up to a month before general release to allow us all time on the “official” build. With Windows 10, Microsoft seem to have worked released the “insider” beta editions and nothing else. I know you could install this and then upgrade through windows update, but this is really sloppy of Microsoft. We can only believe that this has happened due to poor planning and bad management, or they just thought the insider program was enough. We get the impression that Windows 10 isn’t finished and has only been marked as RTM (release to manufacturer) as Microsoft would look bad in the media for being late when so many companies were looking forward to putting Windows 8 behind them.

Windows 10 will be released and no doubt there will be a series of patches and fixes right from the start. Microsoft have openly said there are missing features and Windows 10 will be upgraded and patched. What I don’t understand is that on the surface Windows 10 isn’t that different from 8.1, or even 7, or XP. As far as the average user is concerned, a few tweaks and changes to the UI doesn’t warrant years of development.

This begs the question, is Microsoft capable any more? Can Windows 10 save the desktop market and given them the boost they need in the mobile market they are lacking behind in?

I can only say that if it wasn’t for the brilliant Visual Studio for web development, I’d probably now ditch Windows in favour of the more stable, more usable Mac OS. Never thought in a million years that Microsoft would screw up so much over the years, but they really need Windows 10 to be a triumph, and I’m just not sure. Only time will tell.

Business Websites Simplified

Have you ever wanted to create a business website? Don't want to pay out large sums of money?

Our simple non technical guide is the one stop help and assistance you need to create a beautiful looking and professional site in minutes.

Think of a Name

The chances are you know what your business is all about.  Are you selling something, or do you offer a service or trade? Either way your business will need a name and your websites name should reflect your business.  Today's challenge is coming up with a fun and unique name that will be both catchy and say what you do.  The best place to start is to write down a bullet list of keywords that reflect your business. These don't have to be just practical words, but begin with the first things that come into your head. You'll need to register a domain name and it's generally a good idea that the domain reflects your business and most of the time it should be the same name as your business.  Take the keywords you thought about earlier and combine some to see if you can make up and name.  Chances are the first few names you come up with will be taken, so check to see if your website name (domain name) is available. If this is your first website, stick with the .co.uk and .com domain names.  i.e www.mysite.com or www.mysite.co.uk.  You can check if your name is available by visiting a site such as https://www.whois.net/. If possible try to think out of the box to get both the .co.uk and .com

Selecting a Hosting Provider

This is where it can get tricky, but try not to be put off by some of the sales speak on some of the providers websites.  We can offer very competitive web hosting here at DevTeamSolutions Limited and can help guide you through the process, however please do search on Google for hosting providers in the UK and spend some time comparing and seeing what seems comfortable in terms of pricing and ease of use.  We can recommend a number of other hosts if you choose not to go with us, please do ask.  The host you choose with depend on the scale of site you are looking to create and the amount of content and expected visitor numbers.  We would recommend choosing a hosting package that includes a content management system such as WordPress, or similar, with at least 100mb disk space (you don't need that much for a simple business site).

Choosing a Content Management System

In our opinion one of the best content management systems on the market is WordPress. The best part is that it's free. It's open source and updated all the time and allows you to select from a wide range of additional features via plugins and themes.  Some of the plugins and themes are chargeable and often the best themes are not free.  However we can help set-up a WordPress site for you will all the features you will ever need including full search engine optimisation, analytic to see how well your site is doing, and even eCommerce.  We have used many content management systems in the past and have found WordPress to be the best and easiest by far. However which ever one you choose, please ask for a full demo before parting with any cash, and ensure it's not only simple to use, but easy to add new pages and content.  We are also able to recommend other CMS systems, and can even write a bespoke one to meet your exact requirements. We are more than happy to help, contact us today.

Storyboard your website

You may want to do this before you purchase any package to ensure you are not over purchasing.

You will need an A4 piece of paper for each page of your site.  The paper represents a page on the site.  Each page should have a title and you should try to draw roughly what you want on the page.  Don't write any paragraphs or draw the pictures, put in place holders for these.  Ensure each page is specific to the content it will contain and don't try to include too much on one page.

Once you have all the pages you need, think about how those pages will connect with other pages on the site. Take another page of A4, and draw the heirarchy of your site, the first page being your home page, and then 2nd level pages that will likely be navigated to via your sites menu.  Then you may have a 3rd layer of pages under that.  Try not to make your page layout too complicated.

Sourcing Images

You can't just search Google for an image and just use one you find. Often photos are protected by copyright and you could get into trouble by using unautorised material.  There are 2 good options to getting good quality photos for your site.  The easiest and trouble free option is to take the photos yourself if you have a good enough camera.  Chances are though that you are not a photographer.  The next best option is to visit a stock photo site like iStock and pay for some high quality images.  They are not too expensive, but budget at least two hundred pounds for sourcing the right images.  Believe me, it will be well worth it.  The advantage of iStock is that you can get animations as well as photos and videos to use on your site.

5 reasons to upgrade to sql server 2014

We all like to play with the latest technology. Often as developers we find a lot of upgrades being sold to us with a  heap of features we just won’t use.  Sometimes it’s nice to be able to have a plain English list of the more useful items in the upgrade.  I’ve formulated a small list below to highlight some of these features.  Not intended to be a “How to”, but more of a “Heads Up” on the most useful features of SQL Server.

  • From 2012 upwards there is a hidden option to compress the database when creating backups.
    • Saves a shed load of disk space
    • Faster to transfer the backups locally or to another server on standby
    • Backups don’t generally take any longer
  • New Design for Cardinality Estimation (never heard of it)
    • The cardinality estimation logic, called the cardinality estimator, is re-designed in SQL Server 2014 to improve the quality of query plans, and therefore to improve query performance. The new cardinality estimator incorporates assumptions and algorithms that work well on modern OLTP and data warehousing workloads. It is based on in-depth cardinality estimation research on modern workloads, and our learnings over the past 15 years of improving the SQL Server cardinality estimator.
    • In our experience this makes queries 10-15% faster.
  • Delayed Durability
    • Sounds rubbish doesn’t it?  Well it’s not.  The best example I have on this is statitics logging on a website. Most of the time while the data is useful it’s not essential.  You don’t want to slow down the users load of the page just to wait while indexes are updated in your stats table.  By using Delayed Durability you can return back to the user instantly while in the background SQL will spend the time committing the operation.  It does this at the expense of reliability, but TBH you’ll only really loose anything if you restart the server, which you’d hope not to be doing that often.
  • High Availability Groups
    • This is a brilliant addition to SQL 2012 and improved for SQL 2014
    • With Microsoft stating that Mirroring may not be an option in the next version, it’s well worth taking a look
  • In-Memory OLTP
    • One of the most exciting new feature in SQL Server 2014 is In-Memory OLTP, which allows you to move individual tables to special in-memory structures. The performance boost can be as huge as 30x. There are a number of limitations and special requirements for these tables, so they won’t work under every circumstance. But when they do, your OLTP performance will go through the roof. This is better than other in-memory solutions that require the entire database to be placed in memory. You can get more performance by converting existing stored procedures into in-memory procedures, too. You’ll need to test to make sure your tables are compatible, but if they are, you’ll love this feature.