Tips for Designing Databases

If you’re a developer for a small to mid-sized web application, one of the very first questions you’ll be faced with is, “How should the database be structured?”

If you’re new to the world of relational databases, understanding structures can be very complicated. The first thing you need to do is understand that in general, more tables are better than less. If you’re doing a member directory, for example, you may find yourself putting name, addresses, phone numbers, etc. into one table. Resist the urge! It’s very easy to pull information from multiple tables into a single SQL query, and you’ll be thankful later when you have the flexibility to add information you didn’t think you needed.

On the subject of flexibility, try to anticipate the future needs of your application. You may want to sit down with the people that will use your application, and ask them to tell you everything they might need to do with the information. Have them walk you through their work (or volunteer) day, so you can see where inefficiencies can be improved by your application. Ask them what the company/organization’s future goals are. Take lots of notes – the more, the better.

Oh, and one more thing. Don’t ever, ever duplicate data. You’ll get headaches down the road. Trust me. Crying smiley

RSS in Portals

Here’s a little trivia for you:

Q. What well-known technology company invented RSS?
A. Netscape.

If you got that answer correct, kudos to you. RSS, or Rich Site Summary, was created by Netscape as the foundation of their then-new portal, My Netscape, back in 1999.

The idea was ingenious – by allowing web sites to make one of those nifty boxes that are the foundation of portal pages, Netscape created a win-win situation for everybody. Web sites got to display content on a high-profile service. Users got to pick from the largest selection of content available at any portal. And Netscape got to sell banner ads alongside content they were getting for free.

Unfortunately, it seems that everything didn’t go as well as Netscape planned. Around the time the company was acquired by AOL, My Netscape began to fail. Today, it’s just another generic portal, and with AOL firing many Netscape staffers, nobody has any idea how long netscape.com will continue to exist.

RSS is like the golden goose, in my opinion. The first portal to open their content up to the masses will grab significant market share from the other portals, meaning more ad exposures. Many university portals have done this already, but I’m still waiting for a commercial portal to realize the advantages of doing this.

Best Firmware for Linksys Routers

Linksys Wireless RouterIf you’re like me, you think the Linksys Wireless AP Router with 4-Port Switch is a pretty nifty tool, and at less than $100, it’s a steal.

The problem is that the router can be flaky at times. I’ve had to reset it twice since I bought it, which is too much for a firmware device in my opinion. Even though there have been many problems reported with the latest 1.44 firmware, I still use it due to the nifty “backup/restore” feature. It makes it easy to save the settings so when the router does flake out, it’s a simple matter to reset, then reload.

Of course, if you need UPnP functionality, you might want to use an earlier firmware version, since that’s where the bulk of the complaints seem to lie.

All said, though, I’m a fairly satisfied customer. The equipment works well enough to let me blog this from my sofa.

(Photo courtesy Linksys.)

The Future of Applications

Today, most people are used to two forms of software programs – programs that run on the computer in front of you, and client-server programs, that also run on the computer in front of you, but talk to another program (usually) running on another computer.

Recent advances in many varied technologies, including XML, greater availability of Internet bandwidth, and the ever-increasing supply of quality open-source software from places like SourceForge and the Mozilla Foundation are slowly causing a profound change in the assumptions of software design.

The software of tomorrow will most likely be based on the combined effort of code running on many different machines. This is not like the grid computing architecture I blogged about on July 13th. The difference is that rather than many computers doing the same calculation on a large collection of data, each computer in distributed software applications provides a specific function that integrates into the larger application.

Continue reading

Internet Explorer is Doomed

Thanks to a blog link (I’m really sorry, but I don’t remember which one), I stumbled on Firebird, the newest web browser from the good folks at the Mozilla Foundation.

For those who don’t know, Mozilla is the open-source spinoff of Netscape, the company that built the web browser that reshaped the World Wide Web. From a 1994 press release:

Mosaic Communications’ network navigator achieves its dramatic performance improvements through new capabilities such as:

  • Continuous document streaming, enabling users to interact with documents while they are still being downloaded rather than waiting for the entire document to load.
  • Multiple, simultaneous network accesses, allowing several documents or images to be downloaded simultaneously.
  • Native support for the JPEG image format.

If you’re scratching your head, just take my word for it – this is stuff you take for granted today.

After Netscape’s market share began to decline due to the aggressive (and illegal) promotion of Internet Explorer, Netscape released its browser as open-source software. Initially, the code was slow, unreliable, and not very innovative, minimizing its ability to compete with Internet Explorer.

Firebird is different. It’s fast, easy to install, and feature-packed. The keyboard shortcuts allow me to navigate most web pages without even touching my mouse. This is really cool.

There’s also a little search box that lets you search Google or any other service with a compatible Sherlock plugin. (Yes, that’s Apple Sherlock.) The address box is flexible, too. By setting up special keywords in bookmarks, you can do the “smart keywords” that most browsers have in a non-proprietary way. And if you type text into the address bar, it does a Google I’m Feeling Lucky search. For example, typing “Waileia” as of the date this entry was written will take you straight to my site, http://blog.sorrab.com/.

I have faith in Firebird. So much, that I’m blogging this entry in it. I think before too long, IE is going to go the same route as Briefcase. Never heard of it? My point exactly.