| OUR PHILOSOPHY
On Technology
With technology, creative solutions presented to clients to solve their problems are usually Rube Goldberg machines in hiding. It's nice for the companies who get paid for inventing them and are able to drag projects on for years on end, but what about their clients? Keeping this in mind, here in IContrive's software department, we have chosen to avoid being creative, and leave that up to the advertising and marketing departments. We are like the borg. Technological complexity for the sake of complexity is frowned upon--the best solution is usually the most predictable. If clients can't understand how their solution works, how can they make business decisions?
On Innovation
That isn't to say that people should not be creative or innovative. Innovation done right has its place, but the computer should continue to do exactly what you tell it to do. If a computer suddenly gets "innovative" and starts taking shortcuts, you're left with a product like Microsoft Word: it capitalizes words for you and corrects spelling, forgetting the fact that most companies have their own acronymn-based language in the first place. Innovation shouldn't be annoying--it should be seamless. Any time your creative innovation starts prancing around causing more work for everyone, you need to be let go.
On Good Software Design
In light of this, a good software design is one that is clearcut and cuts down on the amount of time people have to sit in front of their computers. Computers were meant to free people from having to do things--it's a crime if your design does the opposite. Simplify, don't complexify---that's our goal.
On Website Traffic
This also isn't saying that you should make a site that people immediately want to leave. In fact, the simpler a site is, the more traffic it seems to get. Google's homepage is a single box with a single button -- now that's good design, and good design is good for business.
On Content Management
Internet development companies usually offer content management solutions that are database-centric. They do this for a variety of reasons, most of which are self-serving:
The costs associated with world-class databases can become astronomic, creating a need for additional hardware and software that equal or exceed the price of development. In the same light, if you choose to go cheap, you are left with a database which is unsupported and lacks the required features. If you initially sign off on the cheaper database, problems in the future can be blamed on your company's choice of a database when you were merely trying to save money.
In addition, database-centric content management is usually tied directly to misunderstandings which take place during the business analysis stage that you sign off on before the development even begins. These misunderstandings "become" your fault because smart developers force you to sign off on them, even though the data model wasn't understood by either party in the first place, making a change to the model your problem instead of theirs. Changes to a database which was initially based on this misunderstanding creates very high maintenance fees. Instead of having to change a single file, you are forced to have a development company modify tables, relationships, stored procedures, business objects, as well as the user-interface itself. Because of this exceptionally long list of modifications, costs associated with correcting the data model sometimes exceed the initial development costs. Historically, this is the norm more so than an exception, and you are left with a "world-class" solution that you cannot afford to modify, and because you cannot modify it, you are unable to use it.
Furthermore, database-centric solutions usually require the development of custom content management editing interfaces where they would not normally be needed. Because of this, not only are you paying for the database development, you also must pay for 'applications' that provide you with access to your own data, manuals for how to use these custom interfaces, and training for your own employees.
If this was not enough, database-centric models are extremely difficult to rollback when a mistake is discovered in live content. There is no reset switch or versioning on most architected databases. Complex scripts and long hours are usually needed to restore data which could create unpredictable consequences, if it is successful at all.
SOLUTIONS PROVIDED BY XML
As an answer to these problems, IContrive has chosen a content-management model which chooses XML, Ajax, web services, and well known content-editing applications for its solutions. This keeps down costs, creating a forgivable and flexible environment to correct inevitable misunderstandings and enhance existing features for your clients and customers.
First, the costs initially associated with setting up a database on its own server are wiped out if you opt to use XML. Usually, no additional hardware is required--the XML can sit alongside the rest of your site, version-controlled, editable, and accessible through well known applications such as Excel. No hefty database bills or hosting fees.
Second, XML creates a very forgivable environment that can easily correct inevitable misunderstandings which take place during the business analysis process. Companies can relax knowing that when a change is required, modifications to multiple levels on the data supply chain are not usually necessary. In many instances, only one or two files have to be touched. No editing of table structures, stored procedures or business objects is required.
Third, since most office applications allow for XML exporting, the development of content management interfaces are not usually required to be custom built on a per-project basis. Data entry can be done using well-known office applications, drastically speeding up development and cutting costs.
Lastly, rolling back changes in an XML-centric solution is a lot more simplistic since XML files can be placed under a version-control system. Decisions such as "Make our product listings look like it did yesterday" would take a click of a button instead of a call to a development team.
XML is thus cheaper, easier to understand and modify, version-controllable, and is a format exportable from multiple Office applications. As a result, XML-centric solutions serve business website owners more so than they do internet development companies in need of money, which is the solution that you should be looking for when choosing who to hire for your website development needs. |