Macadamian Blog

How do you ensure an application is compatible with future web browsers?

For this one, we'll defer to 3 expert panelists from Macadamian: Aaron Olson, Gord P, and Jason Mawdsley.

Aaron: The best thing to do here is to be compatible with current browsers using as few browser-specific hacks as possible (ideally none).

Gord: Choose an explicit set of browser+minimum-version before any other compatibility scope is defined.
Be prepared to accept "reduced functionality" for IE6 users. If you don't do this, you will compromise the structure and maintainability of your templates

Also, isolate hacks in separate browser-specific CSS / JavaScript files.

Do not agree to full W3C compliance, but strive for it.

Jason: Sort of yes to what Gord said. IE6 is still a significant share of web hits. I am not sure what the percentage is now.

IE6 support WILL be painful, and will cause a lot of work and testing.

Design to W3C standards, and have QC validate all UI changes with Firefox plugins and fail any non-compliant changes.

Aaron: One final note about W3C compliance - be sure not to use any deprecated features of HTML. Certain tags and attributes have been replaced with better, modern equivalents, usually involving CSS.

There is what looks like a decent list here.

During development, use the strictly-compliant DTD - this can save you from having to go back and fix non-compliant sections later.

Gord's right - strive for compliance but don't insist on it.

view more | be the first to comment

Can you suggest a content management solution for my .NET app?

We're often asked for our recommendation on a good content management system that integrates with .NET. There are a lot of choices out there - one 3rd party content management system we've used is N2CMS (http://n2cms.com/). In particular we liked that:

  • it works natively with ASP .NET for quick integration with existing .NET pages
  • it uses ASP .NET user controls, allowing upgrade of existing controls on existing .NET pages
  • templates are based on the ASP .NET concept of master pages, allowing ASP .NET developers can ramp up quickly on the requirements of using the 3rd party.
  • free LGPL license

One possible disadvantage is capacity - I don't know if the solution could handle a very large amount of content (e.g. thousands of pages). It depends on the size of your web project.

If you've had experience with a good content management solution, by all means please add on to this thread.

view more | be the first to comment

Kanban: collaboration nirvana?

I've been educating myself more and more lately on this Kanban buzz. For the neophytes, this is more or less the Toyota model applied to software development. One thing that struck me is how it enforces collaboration.

The cool thing is that I can relate to some of the inherent benefits when thinking of a project that I worked on a few years ago.

One thing Kanban ask you is to be lean. To be lean implies to have control over your queues. At Toyota it meant that the door maker guy would only start making new doors when the door installer guy would have only X left in his pile.

How does that translate to software you ask? Well it is simple. The number of stories accepted on the board are limited, the WIP (work in progress) is kept to a low number, similarly all the queues of your SDLC are kept to a small number too. There goes for the queues optimization theory, you can read more here.

view more | be the first to comment

The Gears of Healthcare

The healthcare industry works a lot like the agile software development cycle. Each morning doctors and residents meet to discuss what happened yesterday and agree on a strategy for each case for the day. The next day the cycle repeats with possibly different staff and different patients. As a result, healthcare is very process driven. It needs the structure to be able to maintain synchronization between all the people all playing their different and independent roles.

Software written for the healthcare domain has to respect these processes. If it doesn’t, it will be difficult to use and get rejected. One mistake often made, however, is the assumption that the processes are linear in nature, much like the waterfall software development cycle. For example, the patient visits admissions, then goes off to receive treatment and then gets discharged, without ever having to move back to an earlier stage.

view more | be the first to comment

Patients Have Veto Power

Creating software for the healthcare domain is a balancing act. Often clients will request that applications employ strict rules for form validation thinking that this will help to improve past problems with data quality. However, in a clinical application, constraints on the data will likely end up causing more problems than they prevent. The basis for these problems is twofold. First, it is usually a technician or a physician (not the patient himself) entering the data and second, the patient is a human being with the last say in all matters. He has the privilege to raise a red card at any moment in time and interrupt an examination or procedure.

view more | be the first to comment
macadamian
Contact Us: 1-877-779-6336 or Email Us