Archive for November, 2008

The benefits of a CMS

Posted by toby mills on Nov 25 2008 | Web Development, Technical developement, Personal

I wrote this a while back as a guide for clients who where thinking of redeveloping their website and thought i would put up on the blog. Content Management Systems (CMS)  have come along way since this was written so I will update it but it still has some valid and valuable points…

BENEFITS OF A CMS

Benefits of a Content Management System
A Content Management System (CMS) provides a range of benefits over traditional static HTML pages. The main benefits of a Content Management System are:

Fast & Reliable Updates

The single largest benefit of using a content management system to administer a website is the ability for authorised personnel to edit the content which appears on the web pages without having to have any prior knowledge of web development. The success of many of today’s popular and successful websites owes a lot to the frequency with which content is updated. The use of a CMS system allows company personnel to update the sites content easily and frequently ensuring users return regularly.

The majority of CMS systems work very much like the popular MS Word office application making them very intuitive to users. These systems also provide a variety of additional functionality to ensure the integrity of the site, e.g. Work flow process, version control and Staging area’s. The document below outlines the main benefits of additional functionality.

Training

One of the main benefits of a web based Content Management System is the reduced training requirements for users to be able to access the system. No prior HTML experience is required to enter data or control it’s formatting. Control of formatting can vary depending on the content ensuring pages always conform to expectations while still providing users with the flexibility they would need and expect.

Web Access

A Content Management System would provide one central web area to edit content. The main benefit to this that a user can access, modify and publish content from anywhere in the world; as long as they had access to a web browser and the site. This reduces licensing costs and restrictions on user locations as the majority of computers now have both web access and a web browser. When this is used in conjunction with workflows and security policies it leads to a highly efficient and secure system which is still flexible enough to meet the requirements of an ever growing and changing intranet.

Workflow

Workflow ensures that no content can appear on a site without having been checked and signed off by a variety of users. This guarantees that no content can appear on a site ‘accidentally’ and that the content has been checked for spelling errors, accuracy and validity at each stage before being published. This also provides an audit trail which ensures users are accountable for changes and allows administrators to track user actions and the progress of work
A typical work-flow could be:

  • Edit
  • Review
  • Publish

Componentisation

Componentisation allows for content on a page to be broken down into independent objects and for content to be divorced from its presentation. It also allows for pages to be accessed and modified by multiple uses simultaneously as each one can work on different areas without affecting the other.

Work Distribution

As content on the intranet will be controlled by hundreds of users, a Content Management System would ensure that a variety of users could work simultaneously on different content on the same page or across multiple pages. At the same time it also prevents users from editing the same content at the same time.

Advance Editing

Content held within a Content Management System can be preset to be published at set times allowing content to be edited but not published until an approved time. This is particularly useful with industry news and events where early release of information can be detrimental to the company and its employees.

Versioning

Versioning ensures that every change to a page or component on the site is stored so that items can be easily and quickly rolled back to a previous state without having to re-edit them. It also provides administrators with information on the date and time of changes as well as the users involved.

Globalisation

An ever growing percentage of web users first’s Language is not English and represent a lucrative market if a website can accommodate their Cultural needs including Language and Interface variations. A CMS system provides an easy way to create pages which can service a number of languages and cultures without requiring new pages or sites to be created. Access to the CMS can be given to Language specialist to allow companies to outsource translation work without jeopardising the integrity of the site.

Blue Printing

Blue printing is the process by which child sites can be created using a parent site as a template. The child site is then able to inherit all the structure, content and functionality of the parent site which can be customised and built upon. This enables site administrators to quickly and easily roll out new websites or micro-sites with the minimum of effort.

Storage

A Content Management System provides a centralised storage location for all content on a site be it simple text, binary files or multimedia objects. The benefits of this are that assets can be accessed globally, tracked and backed-up. It also ensures that content is stored in a structured format which allows it to be easily located by users.

Backup

As content is stored in one central location, backing up and restoring data to all areas of a site can be easily managed from the central location by very few staff.

Publishing

Content Management Systems provide the ability to publish content to a variety of targets. Not only does this mean that content can be published to a server for testing and approval but it also means that different content can be published to a variety of websites while still being maintained in a central location and without duplication. Another ability of Content Management Systems is to enable the same content to be published to a variety of clients for example: Web, PDA’s and Cell phones, without requiring content to be inputted multiple times.

Security

Content Management Systems allow access to different areas to be restricted to the users who are in charge of a particular area of a site. For example, content editors can freely edit content but only authorised personnel would actually be able to publish content once it had passed through the work-flow system. Equally on authorised users would be able to change the presentation and layout of content. Different types of content can also be assigned to different users allowing designers to change graphics without them being able to change textual content.

Search & Locate

As a Content Management System ensures content is stored in a central structured format it provides users with the ability to easily locate resources which would otherwise be dispersed across a variety of locations and computers.

2 comments for now

Getting Wired about being Wireless in Dubai

Posted by toby mills on Nov 24 2008 | Rant, Personal

Getting Wired about being Wireless in Dubai

In a modern city you would expect internet connectivity to be fairly easy, prolific and rapid. It seems however that in Dubai if you expect it to be easy or fast it will be anything but!

I’ve been travelling around different cafe’s attempting to browse the internet, a few coffee shops have their own connection which once you purchase an item you are given their WPA or WEP key which works reasonably well. However, the majority of Malls and coffee shops use Etislat’s wireless connection which is very much like BT’s OpenZone in that you have to pre-pay to gain access. And this is where the fun begins.

Although the Etislat’s gateway portal has a facility to take credit card payments, trying to create a new user account has resulted in a system error (which they know about according to shop staff). This error has perpetuated for over a week. The portal also gives a contact support number however this number on works from Etislat mobile and landline phones, I’m on du (another Dubai mobile provider).  My UK phone works with Etislat however it does not recognise the local number either.
So I discover, after being bounced around from shop to shop, you can purchase pre-paid ‘i-zone’ card which you can then use to access the internet. However, trying to find a store that sells these is another matter. I am currently sat in the Emirates Mall, one of Dubai’s plushest which boasts Etislat i-zone wireless throughout, but you can’t buy any i-zone cards here! I’ve been told that you can purchase ‘pay as you go’ mobile phone credit for Etislat phones and use that however you need an Etislat mobile phone to use it!!!!

Finally I manage to purchase an i-zone card and attempted to use it. One would assume you just scratch of the panel to reveal a code and enter that into the gateway webpage, right? Oh no, not in Dubai, here you enter the code and your mobile number, you are then sent an SMS text with another code which you in-turn enter into another webpage to gain access. I try this but enter my du mobile number and guess what, I get no text. So I try the same number with UAE country code, still no text. So I try my UK mobile (which is actually connecting through du) and within 5 seconds I get a text! Turns out the service won’t work with du, talk about anti-competitive.

So, I’m on the internet and surfing happily away for 2 hours when suddenly my wireless connection drops and I’m assigned a new IP address (don’t know why) meaning my previous wireless session is dropped and I have to re-login to the gateway webpage. However this time it tells me the account is already in use and I can’t connect. I try going to the log-out page in the vain hope that I can force it to log my machine out but no. So I try phoning the support number on the i-zone card again that only works from an Etislat phone! Thankfully the store I purchased the card from is only round the corner so I pop-in and explain the issue, the lady is very understanding but cannot help. However, she kindly suggests I use the shops landline to phone Etislat and speak to them.  After endless phone options and speaking to two operators I discover that as I did not log out (not that I could off or wanted too) it will take ½ hour for the system to disconnect me due to inactivity at which point I can re-connect. The operator, obviously, has no way of doing this himself, that would be easy and there is no page I can force it from! So I wander round to another cafe which takes about 25mns and connect again, however this time the Etislat wireless refuses to give me an IP address. There is another ‘open’ wireless connection called Tsunami which I try (ensuring my firewall is set to max) and it works and takes me to Etislat’s gateway portal where I can login. This all works fine but I’m extremely concerned that Etislat’s wireless does not work and that this Tsunami connection is a trap for tourists. If it wasn’t for the simple fact that Dubai is one of the safest places I’ve ever been (I’ll happily leave my laptop for 5mns in a public place!!!) and that I am security conscious and aware then I would not dream of using this Tsunami connection.

Now today I am in Mall of Emirates, my credit has run out and I can’t buy more here, there are no free connections and  the credit card facility is still not working. So the only thing left to do is to write this rant in MS Word and then post it up when I eventually get a connection.

I’ve also noticed that this mall has 2 open wireless connections, one called ‘ETISLAT’ and one called ‘etislat’. The one if full caps, which is normal the SSID I connect to refuses to give an IP address while the lowercase one works fine, if only I had credit. This is not only insane but amazingly lack security and poor usability. But then this is Dubai, what am I to expect….

——————-

UPDATE:

Turns out there is a Virgin store in the Emirates Mall which has an Etislat stall in it and they sell the i-zone cards. There was an Etislat stall outside the Virgin store and not only did they not sell the cards they did not know there was a stall in Virgin or that they sold the cards. Interestingly when i tried to buy the card the sales person asked if i was really really sure and did i know the issues in connecting :)

1 comment for now

Programmers, Typing and shortcuts…

Posted by toby mills on Nov 20 2008 | Web Development, Technical developement, Personal

I recently read an interesting blog post by Jeff Atwood where he discusses the importance of developers being profficient and quick typists. This is something that i have long felt strongly about however I tend to take it one step further. I believe developers should not only be able to type quickly but they should also know a huge array of keyboard shortcuts. I dont just mean the simple Ctrl+C (copy) & Ctrl+V (paste) but also Alt+Tab, Ctrl+Tab, Windows+E, Windows+R, Windows+D, Ctrl+Enter (for IE & FF) etc…. I have even gone as far asking developers in interviews what keyboard shortcuts they use the most!

To some this may seem crazy but as Jeff discusses we spend the vast majority of our time in front of keyboards and should be able to produce work quickly. This doesn’t mean firing out drival like a team of monkeys, i mean the speed of input should constrict a developer as little as possible. One of the most frustrating things for me when working with /watching other developers at a computer is when they constantly use the mouse to copy and paste, change windows, search etc. It’s soooo slow. One of my favorite shortcuts is Ctrl+Enter in IE & FF which automatically enters “www.” and “.com” around a phrase in the address bar.

I have to admit that i have yet to master all of Visual Studio’s shortcuts, especially the dual key ones like Ctrl + E, C (comment out code) however i think my speed round most menu’s makes up for this and i do try to learn new ones with every bit of work i do.

One exception though is how important it is when showing someone else how to do something on a computer, be them a novice or an expert, is to slow yourself down and ensure they are following your every move. I know that some people have been mesmerised / confused at watching me use a computer as they don’t know what i did to accomplish something. I skip between windows, menus, scroll down pages etc without thinking or stopping. This can mean that the person that i am demonstrating something to or working with either can’t keep up or is utterly confused by what i have done which is often counter-productive. This is often componded by people being ashamed to admit they did not follow or understand something and going often and wasting hours of their own time and others.

Some of my most used shortcuts are (starting from most obvious):

  •  Ctrl+
    • C = Copy,
    • V = Paste,
    • X = Cut
    • W = Close window
    • Enter = In Internet Explorer and Firefox this surronds the text in the navigation bar with “www.” and “.com”
  • Shift +
    • Enter = In Internet Explorer and Firefox this surronds the text in the navigation bar with “www.” and “.net”
  • Windows +
    • E = Explorer,
    • R = Run,
    • D = Show Desktop
    • S = Select (OneNote)
    • Tab = In applications which support tabs this goes between the tabs
    • 1 to 9 = In applications which support tabs this goes to a tab of that number
    • (nothing) = Opens start menu and then use Arrow keys to naviage
    • (nothing) and then Tab = Opens Quick start menu
  • Alt +
    • Tab = Changes window,
    • R = Run,
    • D = Show Desktop
    • S = Select (OneNote)

This is far from a complete list and I’ll add to this as time goes on.

Btw: My current typing speed is around 60wpm so still some improvement to go…

2 comments for now

Excellent new Website Administration Tool and Custom Membership Provider

Posted by toby mills on Nov 19 2008 | Web Development, C#.Net, ASP.Net, Technology, Technical developement

As I’ve previously written i’ve been spending some time recently catching up on with the .Net community and exploring some of the new tools that are out their to assist and speed up development of ASP.Net projects. One of the tools I have come across and been playing with is a new ASP.Net web site administration starter kit created by hunzonian which uses the ASP.NET Membership Provider. The starter kit is basically a template to produce an admin front end website for the ASP.NET Membership Provider. It looks good and works well however i have found the following issues:

  • Although i have yet to fully develop using MVC, it would be nice to see this implemented using the framework. The main reason for is would be the clear delimitation between functionality and presentation.
  • One of my main gripes with the ASP.NET Membership Provider is the way it stores profile data as one long CSV string in a single field. This means to run any queries against it you have to extract the data from the field and manipulate it to seperate the values and then run your query against it. I much prefer having each profile setting in a seperate database field and there are providers out there that will do this.
  • Currently to add new profile fields to the schema you have to edit the web.config and then add the fields manually to the forms. Not a lot of work but would be nice if the admin site had a way to do this.
  • The site currently uses CAPTCHA for logging in and another number of area’s. While this is a useful tool I would life some way to easily turn it on and off.

Overall this is a very good starter kit and certainly looks better than anything i could have put together on my own. It’s also worthwhile bearing in mind that the full source code is there so you can easily amend functionality.

Enjoy and let me know what you think…

no comments for now

EF’in Hell! LINQ isn’t dead, just paralysed….

Posted by toby mills on Nov 19 2008 | Web Development, C#.Net, ASP.Net, Technology, Technical developement

Well it seems there has been some confusion in the community about the future of LINQ to SQL and Microsoft has tried to clarify their position and reassure developers & companies alike in a recent posting. The first item to be clarified is that LINQ (Language Integrated Query) will continue but LINQ to SQL development may stall.

So what’s the difference? LINQ is a language which allows developers to easily construct statements (like SQL) to be exectuted against a data source. Its a great language which allows developers to quickly and easily construct powerful queries without tons of code. To use LINQ against a data source an interface has to be provided, e.g. to execute LINQ against a dataset, XML data or SQL. This is where the problems arise, MS have produced an interface for LINQ to connect to SQL (LINQ to SQL :-)). MS are also working on another data interface called EF in which it seems they are putting all their Eggs. As i said before i can understand their want to concentrate development but many people are asking why can the two technologies not co-exist? Especially those that have tried both and found difficulties, e.g. Chad.

So, what is the situation? Well MS is saying that LINQ is definatley not going away which is great. However they are probably going to stop developing LINQ to SQL at some point in the future however they will continue to do some development based on “Customer Feedback”, whatever that means and whoever that is. MS say they are just trying to be open about future paths they are going to take which is appreciated. However most people, including myself, who use LINQ would like to see support for LINQ to SQL continuing. So we’ll just have to watch this space to see what happens…

no comments for now

MS PDC 2008 - A room with a view

Posted by toby mills on Nov 17 2008 | Web Development, C#.Net, ASP.Net, Technical developement

At the end of October, Microsoft held it’s Professional Developers Conference (PDC) which hosted presentations on current and future technologies being developed by Microsoft. These ranged from the unveiling of Microsoft’s cloud computing initiative, demo’s of the new Windows 7 and naturally talks on developing for all of Microsoft’s technologies. Its a great event and one i would love to attend however it’s held in the USA and time & cost has always prevented me from attending. However this year all of the presentations have been made available online for all to watch and you can even download them!

This of course has meant that i’ve been able to ‘attend’ all the presentations that i would have otherwise missed and viewed some presentations that i probably would not have gone to see even if i had been there all from the comfort of my home. Some of the presentations i have watched have been superb and ‘must’ see’s for developers so  i thought i would round up my favorite ones and list them here. You can view all the talks at Channel9.msdn.com

ASP.NET MVC: A New Framework for Building Web Applications

This is a great talk by Phil Haack on the new MVC framework. He is also joined by Jeff Atwood from Coding Horror & Stack Overflow where he talks about his experiences in using MVC to create Stack Overflow. This is a must see for ASP.Net web developers.

Coding4Fun: Windows Presentation Foundation Animation, YouTube, iTunes, Twitter, and Nintendo’s Wiimote

Not all development has to be for work! This is a great talk given by several developers who have produced some simple applications using .Net to interact with a variety of web applications and more. Its worth the time to watch if only to see the Wii Remote integration with MS Maps.M

Microsoft Advertising Platform: A Day in the Life of a Click

This is a great talk not just for developers but for anyone who is interested in knowing how online advertising works. The talk goes through the differences between Pay-Per-Click, Banner Advertising and much more. It then delves behind the scenes to see how Microsofts AdCenter works in recording clicks, delivering adverts and billings. Although its Microsoft AdCenter focused the content of the inital quarter of the talk can easily be applied to many other online advertising areas including Google.

There are many more talks then i have outlined here and i for one will be viewing quite a few more and posting updates here.

no comments for now

EF’in Hell! LINQ is Dead

Posted by toby mills on Nov 11 2008 | Rant, Web Development, ASP.Net, Technology, Technical developement

Recently I have taken some time out of work to sell and move out of my house and prepare to move to Dubai. I also wanted to use this time to read up on the latest .Net techniques, frameworks as well as explore a few other development platforms. I’ve thoroughly enjoyed this time and it has made me realise how important it is for developers, no matter in what position, to keep abreast of the latest developments within their communities.

Anyway, over the last month or so I have been playing with a number of new .Net packages (MVC, ASP.NET WSAT, Linq to SQL to name a few), using VS 2008, reading up on the advances in the .Net 3.5 framework and getting back in touch with the community. I’ve really enjoyed getting back into the thick of it and have been pleasantly surprised at how far .Net & ASP.Net have come in assisting developers to rapidly role out and maintain applications. I was even starting to feel quite smug with myself at learning new techniques and ‘tooling up’ for work. So imagine my surprise and frustration when it’s announced that Linq to SQL is being dropped by Microsoft in favour of ADO.Net EF!

Now I can appreciate that Microsoft wants to concentrate their development on ADO.Net EF rather than have two separate similar frameworks for data access and manipulation however Linq to SQL was/is a great fast & simple way to access data sources without all the hassle of data sets and Stored Procedures. Having only played with both for a short period of time and not having used either on professional projects I’m not able to fully argue the pros & cons of either framework however what I can say is that by dropping Linq to SQL, Microsoft is in danger of losing the trust of the community and preventing development at the cutting edge.

Think of all the projects which have used SQL to Linq which are now redundant, all the time people have spent creating documentation and assisting other developers in learning the new techniques which has now been a waste of their time. Why should they continue to support emerging technologies for them only to be pulled, who’s employers are going to continue to let their developers experiments with the latest Microsoft techniques if they fear they will not be supported going further? A great example is the new stackoverflow.com website which has been developed using some the latest cutting edge .Net techniques including MVC & Linq to SQL. To ensure easy maintenance going forward they will now have to consider re-writing their DAL using alternative technologies otherwise future developers working on the site will have no idea how it works.

The one saving grace may be that Linq to SQL was released to the community so perhaps some people will take up the baton and drive it forward. While Microsoft is making some great moves to work with the community by releasing code on CodePlex as well as the being more open about development but all this risk’s being in vain if the community turns its back.

Suppose I better get on with learning ADO.Net EF and pray it doesn’t get pulled too.

1 comment for now