What Microsoft’s new EES licensing model means for Primary Schools

Today is the first day of Microsoft’s EES licensing and this has massive implications if your school uses Microsoft Products.

I am not going to cover the student licensing model because I’m relatively confident this model wont fit for most Primary Schools.
The new licensing model we will look at covers Microsoft Windows and Microsoft Office licensing.  We are also ignoring Exchange and Sharepoint CALs(CAL Suite).

What does this all mean in real terms?

  1. You pay Microsoft per year for licensing
  2. Teachers can use Microsoft Office at home
  3. An average 2 form entry will be paying for 30 members of staff
  4. Updates to latest versions of products without any extra cost (Software Assurance).

When might EES not be appropriate?

  1. EES may also not be cost effective if you purchase OEM licenses or don’t use Microsoft Office.
  2. EES may not be useful if your school does not have a high quantity of devices (netbooks/laptops) running Microsoft Office.
  3. If your school intends to NOT purchase new hardware or new Microsoft products.
  4. If you don’t want to get into an annual rolling contract with Microsoft due to funding uncertainties or due to a requirement of a grant etc.

Time for some maths…

All of these figures are based on a 2 form entry school buying new Microsoft Office licenses every 5 years.
Standard licensing model:
Cost per office license per machine, £32
Average # of devices with office installed, 80
*Windows License — Excluded because is OEM (Roughly £50 per device)
Average cost every 5 years — £2560
Ergo cost per year on Non EES per device license model — £512

EES:
Average cost per EES Office license per member of staff — £20
Average # of staff members per 2 form entry: 30
Ergo cost per year for office on EES: £600
Ergo cost per year for Windows on EES: £600
Note that I haven’t covered any Server CALS.

To summarize

EES breaks even at roughly 100 devices in a 2 form entry school but the advantage is that staff can use Microsoft Office at home so don’t need their own copy.
It is unlikely EES will be cheaper than OEM as buying a device without windows lately is difficult however XP Pro upgrades are roughly £50 per device so if you buy 15 devices per year then EES Windows Licenses work out better value. A smart hardware manufacturer should see this opportunity and provide OS free hardware so that schools can leverage this new licensing model.

Hopefully someone from Microsoft can respond with some information about CAL licensing and any mistakes in this post. Word on the street is CAL pricing will be staying relatively similar for Server CALS, this pricing isn’t due to be released till May.

I quickly bashed up an EEE license cost calculator so you can see if it’s cost effective for your school to move or not

If you want to know more about EES please get in touch with Primary Technology who will be happy to help.

5 reasons you may regret using posterous

Actually this is more of a WordPress vs posterous..

1. Posterous is a closed source platform, if you don’t get closed vs open source yet then I recommend you do some reading because open source is the corner stone of 99% of the successful publishing platforms used long term on the internet.

2. You can’t export your posterous blog to an xml file, you can get your blog posts but you cant export comments etc. so if you move you will lose data.

3. Did you even know you can post to a wordpress blog via email? Just saying… Cos y’know most people don’t…

4. Applications have a natural growth pattern, posterous will eventually want to compete with the big boys and in turn will become a complex beast which is probably the reason you avoided other blog platforms..

5. You can’t assign plugins or widgets ie the fantastic CBBC news feed, Primary Games Arena or BrainPOP UK widgets.

Basically posterous is a short term solution that might get you started blogging but I warn you not to invest too much time into it because when you decide to move away you are going to lose data.

I believe in a) open source and b) teachers using long term solutions to problems as to reduce head ache in the future. So yep, I’m biased as I run a wordpress blog site but I also feel like no one has proper addressed this issue.  It is really easy to move from posterous to a wordpress blog provider such as PrimaryBlogger, just use the import tool.

What the last 4 days have tought me.

Disclaimer: These are my own words and do not reflect the view of my employer.

Some teachers are really supportive.  Huge thanks to @pimmsSmith, @LouMeethongsai, @janwebb21, @idletim, @deputymitchell, @enomilie, @purplelady1979, @anne_neal, @whorwe, @sraff79, @missbrownsword and @primaryt for your support and help.  The fact that you all got in touch asking for help and tested logins is great, we need testers just as much as we need developers or system admins so my hat goes off to you..

Some teachers are real not quite as nice (actually just one). Even though PrimaryBlogger is a free service I got an email saying “how disappointed they were with the support.”  To this teacher I remind you that PrimaryBlogger is unblocked in every UK LA, allows embed, open source, doesn’t enforce HTTPS only, spam free, ad free, not publicly funded and each blog post is reviewed by a CRB checked human from Primary Technology.  To combat this I think a community approach is needed, a wikipedia model of moderators should help.

PrimaryBlogger is as a service is spread across multiple servers and sites and isn’t run by monkeys or unskilled professionals, it takes a lot of expertise to deliver a scaled WordPress deployment.  Now you probably don’t care about how big it is but the fact is if we were selling PrimaryBlogger at £200 a school per year we would be making £400,000 a year, pretty good money right but that would mean the community wouldn’t grow and that would suck.  PrimaryBlogger will remain as a free blog service, last year we made £100 in total in sales of domains and additional storage purchases.   We thrive from the success of school blogs and we are rewarded by “inbound links” which in turn allows us to promote other Primary Technology products.  I have to justify the cost of PrimaryBlogger to our sales director and I do it based on the amount of respect it gets us inside of the teaching community, something not easily bought and something we don’t take for granted.

WordPress is open source and free and there are a number of hosts you can move your blog to.  I suggest everyone periodically backs their blog up anyway.  It’s really easy to do.  Tools -> Export..

If you really want to help PrimaryBlogger, buy a domain for your blogs through us, it’s only £50 per year and it will be an improvement to your blog.  I would like to employ someone full time to work on it and to build a community so if we can sell 400(one fifth of the # of blogs on PrimaryBlogger) domains that is one persons full time wage covered.  It would be way better though if we can encourage a community to become vocal and over the next few months that will be my goal.

I also want to comment quickly about how all of our findings/problems were put into the public domain.  How many other companies do you know that show you their inner workings and explain why a problem came about, how it was resolved and who resolved it?

So to reflect on what I have learned:

  1. Always trim old/stale blogs from the database
  2. Tell teachers that they are out of order if they are out of order
  3. Don’t do any development work on a live server the day before we’re due to have all of our staff on holiday
  4. Give PrimaryBlogger’s (and our other services) a community site they can go to to share experiences and knowledge
  5. We as a community need to discuss the benefits of having a blog site that has blogs with “search engines disabled”

PrimaryBlogger is all about giving school pupils and teachers a voice, we want you to be heard.

PrimaryBlogger – why it was down..

So I’m writing this post on PrimaryPad because PrimaryBlogger is currently down.. It’s been a nightmare, it really has.. Thankfully it’s currently 1/2 term in schools so activity is down 20% or so across the site.

We have 3 layers of backup for school blogs, our database is large and the file system is very large. None of this is surprising for a site like PrimaryBlogger but what is surprising is that 2 levels of our backups failed..

The problem stemmed from me playing with a plugin that is built to replicate one site to another, I noticed that it was playing up so I disabled it and didn’t proceed any further. The next day I was informed some people were getting a white screen when trying to access their blog..

I looked through the plugins source code (some bits I had written) and realized there was potential it could of been dropping the wrong tables from the database, no biggy.. I will just restore the database.. I had done a full backup of the file system and database just before I started playing with the plugin.. Now bare in mind I’m backing up 660GB here which takes a little while so I set it going and went off to play some Bad company 2..

I came back an hour later and it had finished backing up so proceeding playing with the plugin.. Things broke so I figured I will just restore from backup only to realize that the backup I had taken was completely useless.. It was 10MB! “What the deuce” I pondered.. mysqldump didn’t output any errors during backup so what is going on?! I checked the replication and I couldn’t use that as a backup source as the replication servers had replicated the error.. So I was left with only one option..

We take daily brick level backups off site, these brick level backups take a .sql backup of our current mysql state but because it was off site it took a long time to transfer, during that time I quickly brought up a local VM to the .sql file and went ahead at trying to restore primaryblogger’s database locally just to make sure the servers were up to the job.

The first thing I noticed is that WordPress really doesn’t like the base domain being changed after install, so I had to backtrack and begin installation w/ the correct base set.

The next thing I noticed is that my mysql reads were giving an error: ERROR 1153 (08S01) at line 218227: Got a packet bigger than ‘max_allowed_packet’ bytes. I fixed this by increasing the max_allowed_packet in my.cnf

I also have a problem when I do “use blog;” (blog is the name of my database) I get a delay and “Reading table information….” notification which takes a few minutes to get past..

When restoring to a fresh database I noticed that mysqldump is not dumping table data and is just dumping the table structure. I’m not sure why but I need to investigate this further too at some point.. Note: I was using “-d database” name like a tool.. In the future I know not to make this mistake.. It is easy to make though…

Another problem I had was that my admin password keeps resetting itself. There is no logic to this, I used a mysql update statement to update the password then check it using a select statement yet after I try to login it changes back to an unknown md5 hash. I think it’s due to the SALT values in wp-config but I may be wrong.

While I was watching the database file dump back into the database I noticed just how much crap wordpress puts into each blog.. I mean most of each blogs contents is wordpress guffing the space.. I recon that 40% of my entire blog database contents is wordpress putting links back to itself and documentation into each blog site. Not cool…

Usually I test plugins off site and this was no exception but this specific plugin needed to iterate over an array of 1000’s of blogs and I didn’t have that many records locally. The specific bug with the plugin was quickly isolated but the fall out was 12 hours of unavailility of Primary School blogs across the whole of the UK.

The only way I could of really avoided this is if it I had local snap shots in the form of a VM but even then recording from a snap shot would of given me all sorts of database and file system inconsistancies and headache.

Anyway a few things caused the problem, it was literally down to one row (out of millions) in our database and that’s why it took so long to diagnose and resolve.. I also had to completely restore the entire themes folder as for some reason this was empty..

So my apologies, I had extremely bad luck but worked my butt off over the weekend and early today to restore stability. This error could of happened to anyone and it’s very lucky we have a load of backups in place to restore all of the sites. At no point were any sites data or content at risk, credit is due to our remote backup service that saved the day.