This exercise is NOT to promote my system It is to give you a glimpse into what I have had to go through to make my development come to life.
I was fortunate to begin my development of these systems way back in 1999. At that stage it was a site for a local agent. I was one of 3 partners and the one with no experience, one was a designer and one was a developer and there was me, pretty much a nothing marketing type person, although I had been in related industries for 7 years. At the time of becoming a partner we had 2 clients. During the development process, I thought about having a system that we could develop for all agents.
I knew nothing about the industry (many still think I don’t) but I did listen and understand what my client wanted. Pretty soon we had a little system up and running and we eventually had around 10 agents.
We then set about improving the system and within 4 years had around 30 agents, generating around 100K a year.
Things generally soured between the partners and we all wanted different things. I ended up leaving the partnership and starting out on my own taking all of the real estate software and agents with me.
So in 2004 I pretty much had to start over, hire a new company to do the work. This is where my troubles started. My previous company (who I thought were great with development) pretty much just slapped things together and added and added and added. I soon realised how important it was to get things right, however I was still small and could not afford the expense of starting over again.
I spent two years just getting the system reliable and cleaning up the mess I was left with. In early 2006 I decided that I had to start over and I set about working out how I could build a system that was stable, fast and above all adaptable.
We started first coding in April 2006, this was about the time web 2/AJAX/RSS came to the fore and open standards development was all the rage, which has been a blessing for all of the industry.
So now as I come to the end of development (slowly) it has been a massive learning curve and I now understand 100% what my systems are built on, the importance of good development standards and an grasp of the industry.
The whole exercise will have cost me a hell of allot of money. For 12 months I have not taken on any new agent clients but have branched out into blog development for other industries.
In the next few months I will be launching the new system and here are some lessons learnt.
1. Never ever trust the developer to just go away and build something important without understanding what it is built using and why it should be buiult vin such a way.
2. Always make sure you get documentation and understand what this documentation must contain. This is because developers are in demand and will be for a long time to come- so they will leave – do not be left with something no -one else will care to continue with.
3. Interface Designers come last. They come in after you have built a text based system that works and flows correctly. Most of you will have had your website designed first. This is the wrong way around. A site or system MUST be text/layout based first with pretty time coming in last. This will not satisfy most. But you choose your designer because they are good. If you have done your homework you do not need to get them to prove themselves.
4. Develop EVERYTHING in a standards based environment. Most large companies will not do this and most web development companies don;t like it because it gives you freedom to leave. By choose a development platform that is popular and open allows you the freedom to know there are many developers out there who can take over…..
5. Own your SOURCE designs and photography. Most web design firms will tell you that you own 6your site. However, they by default own the source materials that make up all of your graphical elements. If you want some changes done by someone else other than your original designer you will need the source files (nearly always a photoshop ‘PSD’ file with layers). Get them to agree to this in writing from the beginning and provide this to you on DVD/CD at completion of project. As for photography, I have had many an argument with photographers. For many years the negatives were the ownership of photographers and still today by law they own the original files. This is just stupid, make sure you tell them who is boss and that you own the original files and get them to supply you with the same.
6. Cousin Johnny
We all know your nephew, cousin brother in law is a wizard on computers! Sadly I must inform you that someone who knows a little about technology is generally not a wizard. Even university graduates are sometimes poor developers, why? Because their teachers do not know the first thing about development and they usually teach them with software that does all of the code building for them. Fundamentally a good developer is someone who builds things from scratch using raw code. Make sure you ask to see what they have developed.
7. Web Design & Development Firms
Web developers come in all shapes and sizes (talent and no talent) . Today web development is becoming very specialised. Residential agents are usually very good at selling residential properties, we all specialise in certain fields. There are hundreds of developers out there who have developed real estate websites. Pick one of them to do your website. If you choose a developer who has never done a real estate site properly more than likely you will have to hold their hand through the whole process. Do your home work!
Here is some of the software I have used for my new system, that you should (do not have to) develop in because many non Microsoft developers ( not that MS software is bad, it is just I don’t like being tied to one company) uses this software. I am using some text from Wikipedia to explain these tools. You do not have to use these tools, but I would suggest you do as they are supported by the World Web Consortium in most cases and will make your sites and systems work perfectly with every major browser and system and any good web developer would struggle to suggest against this.
PHP (PHP: Hypertext Preprocessor) is a reflective programming language originally designed for producing dynamic Web pages and remote application software. PHP is used mainly in server-side scripting, but can be used from a command line interface or in standalone graphical applications. more
MySQL is a multithreaded, multi-user SQL database management system (DBMS)which has, according to MySQL AB, more than 10 million installations.
MySQL is owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, which holds the copyright to most of the codebase. This is similar to the JBoss model and how the Free Software Foundation handles copyright in its projects, and dissimilar to how the Apache project does it, where the software is developed by a public community, and the copyright to the codebase is owned by its individual authors. more
In computing, Cascading Style Sheets (CSS) is a stylesheet language used to describe the presentation of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can be applied to any kind of XML document, including SVG and XUL. The CSS specifications are maintained by the World Wide Web Consortium (W3C). more
The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language that supports a wide variety of applications. XML languages or ‘dialects’ are easy to design and to process. XML is also designed to be reasonably human-legible, and to this end, terseness was not considered essential in its structure. XML is a simplified subset of Standard Generalized Markup Language (SGML). Its primary purpose is to facilitate the sharing of data across different information systems, particularly systems connected via the Internet. Formally defined languages based on XML (such as RSS, MathML, GraphML, XHTML, Scalable Vector Graphics, MusicXML and thousands of other examples) allow diverse software to reliably understand information formatted and passed in these languages. more
Extensible HyperText Markup Language, or XHTML, is a markup language that has the same depth of expression as HTML, but a stricter syntax. Whereas HTML is an application of SGML, a very flexible markup language, XHTML is an application of XML, a more restrictive subset of SGML. Because they need to be well-formed (syntactically correct), XHTML documents allow for automated processing to be performed using a standard XML library—unlike HTML, which requires a relatively complex, lenient, and generally custom parser (though an SGML parser library could possibly be used). XHTML can be thought of as the intersection of HTML and XML in many respects, since it is a reformulation of HTML in XML. XHTML 1.0 became a World Wide Web Consortium (W3C) more