Dave Bartlett.Net

ASP.NET Web Applications. Interactive ASP.NET web content - Forums, Blogs, E-Commerce and E-Newsletters. Search engine optimisation. ASP NET Developer, based in Auckland, New Zealand. My clients are mainly in New Zealand and Australia, but I welcome new business from anywhere in the world. ASP NET Developer.

Professional Web Applications


ASP.NET & SQL Server contractor for hire
and EPiServer Developer

15th May 2009
EPiServer

I've recently completed EPiServer developer training, so I'm pleased to be able to offer EpiServer development services. EPiServer is a web Content Management System in a league of its own. The product is very mature, having been around since 1997, and is based on ASP.NET 2.0 technology. The beauty of this CMS is that it gives all the power of an ASP.NET application to the content managed site. The result is that the client gets a content managed site with very easy to use features like right-click to edit page content, and they get the option to add community oriented features such as blogs and discusion forums, whilst leaving open endless possibilities for customisations using ASP.NET.

23rd March 2009
Sharepoint Musings

It occurred to me recently that Microsoft's Sharepoint is not something anyone in the Microsoft space can afford to overlook any longer. The core of Sharepoint, WSS 3.0, is free assuming your organisation has a Windows 2003 or 2007 Server. And for that price tag you get an entry level Enterprise Content Management (ECM) system that can scale up with your organisation. You can add MOSS (Microsoft Office Sharepoint Services) to integrate MS Office applications with Sharepoint for a price, but this is not essential.

Sharepoint is incredibly understated when you think about it. In fact I suspect there's a great many organisations with Windows 2003/2007 that don't even realise that it is free, and that they could be using it today. Sure, it is a 'commoditisation' of content management, but thats what Microsoft are good at. It doesn't claim to cater to all the fringe cases, it just does the basics really well, in a way that anyone can understand. It also happens to be scalable and extensible is a way that puts it clearly in the ECM space.

Where I find Sharepoint most interesting is as a platform to develop enterprise applications from. As Sharepoint uptake and awareness spreads, there will be huge opportunities for sharepoint software development, when people look to integrate their existing line of business applications with Sharepoint. It is also an alternate platform to deliver software products into the enterprise, including Software as a Service. Sharepoint development is done in ASP.NET and uses the Web Parts programming model, so ASP.NET developers are basically already Sharepoint developers. Food for thought.

19th September 2008
How To Succeed on ASP.NET Projects

I've seen inside a number of ASP.NET projects over the years. While some have been very successful, some have been outright disasters. Sometimes I've come in to help sort out a mess, or because the previous developer has left in a hurry. I've thought a lot about why ASP.NET projects go wrong, and here are some of the top reasons.

#1. Don't hire a student or inexperienced developer

Students are often keen, willing, cheap, and seem to be technically capable. But lack of experience really shows in software development projects. Important architectural design decisions needs to be made early on in any software project. When the wrong decisions are made, the project is lauched into a direction that can be extremely costly to change later on. Students and inexperienced developers need to operate under the guidance of a software architect. You wouldn't go to a builder without a set of plans and ask them to build you a house would you?

#2. Respect OO Priciples

When you are developing in ASP.NET you are developing an object oriented software application - not a website, but a software application. Developers need to understand object oriented software in order to write good, maintainable ASP.NET applications. ASP.NET is not an extension of ASP, its a whole new way to build web applications. ASP Classic skills are not transferable to ASP.NET any more than PHP skills are.

#3. Use a Tiered Architecture

It is often tempting to write your whole ASP.NET web application in the aspx page's code behind. Don't! Especially with data-driven applications. No data-driven ASP.NET application worth developing can be without a business logic layer (BLL), and a data access layer (DAL), in addition to the user interface (UI) layer code. I guarantee your project will be more open to future changes, and code will be of a higher quality if you use a layered architecture. Resist the temptation to use the ASP.NET datasource controls and databind declaratively.

#4. Use Master Pages

ASP.NET has had Master Pages since 2005. Master Pages make it easier to keep a consistant look and feel across all the pages in a web application. When you want to change the layout, there's only one place to change it and all pages are changed. Its basic stuff, but its no joke when you have to retrospectively attempt to add Master Pages to a web application where every single page has subtle differences in the layout. Do it right from the start and use Master Pages and you will save a lot of time.

#5. Avoid DataGrids or GridViews

These controls are great for quick mock up applications when you just need something going quickly. For any real-world scenario they should be avoided. Experienced developers tend not to use them because they are aware of the pitfalls (lack of flexibility, slow, extremely large page sizes due to ViewState), while the inexperinced seem to pick them every time, for every problem. Experienced developers use DataLists and Repeater controls. These are far superior in terms of the control you get over layout, and performance. For example you can display hierachical data in a tree-like manner using nested Repeaters - try doing that with a GridView.

#6. Use User Controls

ASP.NET provides a powerful way to make user interface components re-usable within a project. E.g. you may need a drop down list to select a customer in your application. There's certain logic and code associated with the process of populating that drop down with data from the database, validating it, displaying it, and so on. Now consider that your application may require the user to select a customer in 6 different places. User Controls allow you to encapsulate that code and re-use it. A common mistake is to end up with 6 copies of the same code which end up being 6 different versions of the same thing. Thats a big problem because when we want to change the way a customer is selected, we need to change code in 6 places.

#7. Use Membership

ASP.NET Membership allows you to build in role based security with practically no code. Don't re-invent the wheel, let Microsoft write your application's security layer. If you need to link actual users into data in your database, consider using the Profile to store linkage data.

14th June 2008
On Linq

One of the most interesting peices of technology to come out of Microsoft recently is Linq. Linq is a language for querying just about anything (XML data, SQL Databases, Lists of objects). Regardless of the type of data you are querying, Linq works the same way, meaning developers only need to learn one API to query many data sources.

For developers of data-centric software, Linq is of huge importance as it offers an entirely new way to interface application software with a database. For n-tier architectures built using rapid application development (RAD) techniques, you cannot afford to overlook Linq - it essenitally offers the option to elimate writing a data access layer (DAL), saving huge amounts of development effort. Linq can return strongly typed data objects from database queries. From there you can build your business objects, or bind the data directly to user interface controls.

4th February 2008
Visual Studio 2008

I've taken the plunge & upgraded to Visual Studio 2008. The experience was painless & upgrading 2005 projects has proven to be very easy. I look forward to taking advantage of new .NET 3.5 features like LINQ to reduce coding effort.

1st December 2007
New Client PDSL Ltd.

I would like to welcome PDSL Ltd. as a new client. PDSL has many excellent solutions for the Human Resources market & together we will be developing software tools to streamline the delivery of these services over the web.

5th October 2007
WDANZ Auckland Conference

16-18th October 2007, Waipuna, Mt Wellington

A web development community event not to be missed is the WDANZ Auckland Conference. This is 3 action-packed days with great speakers, networking opportunities, training seminars and much more.

Anyone can register on the WDANZ website above. Why not take to opportunity to join WDANZ while you're there and receive a free ticket?


18th September 2007
This site is ranked #1 by Google

for "ASP.NET Developer" in New Zealand. This is a great result and has only come about in the last few days, probably since this site has now come out of the Google sandbox. Ranking #1 for "ASP.NET Developer" was my goal in setting up this site earlier this year. I've got to think of a new goal now! I've achieved this through some basic techniques that any website owner can employ, getting good, relevant links into the site, and Search Engine Optimisation (SEO) on this page, which involves having a suitable page title, meta description, <h1> heading, opening paragraph, and original body text.

  • Fact: 92% of websites fails these SEO basics
  • 62% double traffic in 6 months upon implementing SEO basics
  • 47% triple traffic in 6 months upon implementing SEO basics
Source: WDANZ
Big thanks to Michael Brandon at SearchMasters for opening my eyes to SEO.


24th August 2007
Don't Make Me Think!

Don't Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition If you're looking at ways to improve the way people experience your website, I recommend this book highly. It's a quick and easy read, and I guarantee it will change the way you think about the way people use the web.

"Get rid of half the words on each page, then get rid of half of what's left."
Krug's Third Law of Usability


14th May 2007
The Content Management Blues

I've been getting a vibe from website owners that their Content Management Systems (CMS) are frequently failing to deliver on the promise of having a great website for users & owners alike. I have come to agree wholeheartedly. There's many reasons why large complex software projects fail, and I intend to write an article on the pro's & cons of CMS very soon.

My belief is that CMS systems are either low-cost + low-flexibility or high-cost + high-flexibility. Neither of these cases is desireable. In many scenarios, I believe website owners would be better off with a well architected web-application, tailored to their exact needs.


8th May 2007
BuyBigPrints - E-Newsletter

I've just added an E-Newsletter application to the BuyBigPrints.com site. This application allows targetted Newsletters - eg. Photographers get a Newsletter with information & special offers likely to be of interest to them.


27th April 2007
Radical Surgery

This website has had a facelift! I've changed the default colour scheme from a black-based theme to a white-based theme. Thanks to ASP.NET Themes, this is very easy to do.


2nd March 2007
Calling Web Designers

I am looking to align myself with web designers & graphical designers to provide services that complement traditional web design. For example, I can take care of database interaction for an otherwise static html site, or I can set up a Content Management System (CMS) behind a web site. Basically I can take care of the back end work and help free up web designers to focus on what they do best.


23rd February 2007
WDANZ

As of February 2007 I have become a Profesional Member of the Web Developers Association of New Zealand (WDANZ). Find out more about WDANZ.


12th February 2007
Welcome

This website is brand new as of early 2007. This site has been developed by me, in ASP.NET to showcase my skills. Have a look around & feel free to contact me.