Wednesday, August 27, 2008

End Of An Era

...And it's a long one, in Internet Years. I was the lead architect on AtlantaMLS.com, which is the original public listings web site for Georgia MLS. It was late 1994 when we started it and, as far as we could tell, it was the first MLS ANYWHERE to put their active listings online. This was years before the first web-based MLS; years before anyone used the word "portal". I mean, we had to write emulation software that pretended to be human - random pauses and all - in order to be able to download the data from the old dial-up character-based MLS system! And since 1994, I've been involved, in one way or another, with creating, hosting, maintaining AtlantaMLS.com - since 2000 under our own company, ListingWare. And we'd been doing it for FREE, in order to get exposure through their membership!

Now, due to a variety of reasons, Georgia MLS has decided to take everything in-house. They had created GeorgiaMLS.com a couple of years ago as a separate site and it had been run in parallel to AtlantaMLS.com. Yesterday, GAMLS delivered the news that they are combining the two sites. So, ListingWare is done with that service - and without so much as a "Thank You", I might add.

Well, as much as it bothers me to lose it, this just seems to dovetail perfectly with our new era at ListingWare! It's the era where we differentiate ourselves from "free" - how we're better than any free service you can get through an MLS or "free" broker-provided solution. It's the era where we show the value of ListingWare over other Real Estate web site and/or IDX providers.

You can get a preview of things at my example web site here - keep a close eye out and be ready to take advantage!

Monday, June 30, 2008

Farewell, OptEmail.Net

Well, it's time to say a slow goodbye to OptEmail.Net. We started the project a couple of years ago to try and build an email marketing system that could work with ListingWare, as well as provide services to other industries besides Real Estate. We have a separate company for projects like this that aren't directly Real Estate- or ListingWare-related.

However, it has become evident that the amount of time needed to make OptEmail.Net REALLY work could be spent better on improving ListingWare itself and outsourcing the email marketing piece to a company that specializes in it.

In that light, we're announcing that our email marketing platform will be iContact. I've researched email marketing systems for a few years now and this has by far the best power, flexibility, and ease-of-use of anything I've seen - Real Estate-specific or not! So, keep your eyes open for more information in the VERY near future!

If you were one of those that had been trying OptEmail.Net, then we will provide more information on migration to iContact also. Thanks for giving OptEmail.Net a try!

Thursday, May 22, 2008

ListingWare Session Management

I've pretty much completed a pretty major undertaking with regard to Session Management in LW. A "Session" is the technical term for an end user's visit to your ListingWare service. Now, this post is going to get WAY geeky - read on, if you dare!

Here's the details:

WAY BACK with LW, I had made the decision that I didn't want to require that users enable cookies in order to use the system. Many sites do require it - some as big as Amazon.com and the like. I wanted the lowest common denominator to be if a user just decided to turn off ALL cookies or may have the oldest version of a browser, regardless of Internet Explorer, Firefox, Opera, Safari...whatever.

The version of ColdFusion that we started with was CF5, which was still a C+ DLL on IIS4, I think. The best that it could do then was the CFID/CFToken pairing, which by default was set to a persistent cookie, meaning it did hang around after a user's session, and was forced into the browser's cache. Not so good. I had long ago used a CF technique of making the cookie non-persistent, just for the scope of the session, but it still wasn't ideal. Part of the technique for this method was doing a test of the browser to see if it would accept cookies. If it did, one was passed for CFID/CFToken; if not, I had to code so that it was programmatically appended to every URL or Form so the session could persist.

Because it's been YEARS since I revamped for the CFID/CFToken method, everything we have access to is more modern: CF8 is now Java-based and able to take advantage of some underlying Java systems and techiques; IIS6 has memory partitioning and isolation; browsers are more secure by default - both a good and bad thing. So, it would seem, the problem we've been having with Session Management was bound to happen at some point.

With CF8, the optimal method of Session Management is to use the J2EE (Java) system. Instead of CFID/CFToken, the variable JSessionID is now introduced when needed. I've recoded the URLs and Forms to automagically include the JSessionID variable. J2EE variables are properly done for the user's session only, rather than being persistent like the old CF5 variable was. For the method I've used, a browser that accepts cookies will see:

http://www.bobhendren.com/search/index.cfm?City=Atlanta&MinPrice=100000

A browser that doesn't accept cookies will have the following format:

http://www.bobhendren.com/search/index.cfm;jsessionid=X9X9X9?City=Atlanta&MinPrice=100000 (the JSessionID is actually a much longer pseudo-random alphanumeric string)

Notice that now it has inserted a semi-colon and the JSessionID variable BEFORE the question mark. This will make sure that the session is handled first and separate from the query variables after the question mark.

I've done some pretty extensive testing so far, but I'm sure there are places that still aren't fixed, so if you find one, email us at support@listingware.com. If a page seems to be loosing its session, I may have missed the link for that page or a form variable somewhere.

I've tested in both IE, Opera and FF so far with cookies on and off. Seems to be working well!

What's Happening At ListingWare

I normally wouldn't get into this sort of thing, but I feel the need to bring our customers up to speed on what's been happening at ListingWare lately.

Some of you have been saying that you've had problems with our Support lately - you're right. We HAVE had some difficulties with keeping up. The ListingWare service has stayed up and running, but we haven't answered email and phone calls as timely as I like. I don't like to make excuses, but I will tell you that a couple of HIGHLY unusual things have occurred recently:

In February, Craig Parana, who has been our lead Customer Service and Support person for years, was diagnosed with a malignant brain tumor (you may have seen something in our Account Manager about this). He's had a rough go over the last few months, but it looks like the doctors have removed all of the tumor after a couple of operations. Now, with radiation and chemotherapy, he really hasn't been able to work at all, so that's a big hit. We continue to keep him in our thoughts.

Also, Max Hendren, COO/CFO - and my lovely wife! - had some issues starting in March. We were scared that she might have something malignant also, but it turns out that it wasn't, thank goodness. Still distracting, though. She just had her operation at the beginning of last week and is home and recovering now.

There have been a few other odds and ends - moving ListingWare to a new data center; other folks transitioning away, training new ones; short-term absences from work for a couple of people. You know how it goes...

But hey! We're still here! And we're STILL determined to keep ListingWare as a vital part of our customers' online businesses! We apologize and appreciate your continued patronage.

Wednesday, March 26, 2008

Inbox Zero

I think Merlin Mann has gotten it right - there IS a plan to get my email under control! He refers to it as Inbox Zero, and I think there are PLENTY of folks out there right now that can use it. He freely admits that much of his system comes from David Allen and his book "Getting Things DONE" - which all ties back to something I was a proponent of in the late 90's, BEFORE Allen's book! My term was "Get Stuff Done!", although I used another 'S' word when I was REALLY fired up!

So, if you've sent me an email recently, you might have hit my DMZ...but don't worry! I WILL get to it, because of all the massive gains in productivity I'll be experiencing! :)

Post-Move Review

As you may (or may not?) know, this past weekend we moved our primary application servers from one data center to another. We started about Midnight EDT on Friday and had MOST everything back up by 6:00 AM EDT on Saturday. We did have a few linger issues on some pictures for a few MLSs until just after Noon EDT on Saturday, but it was all cleared up after that - at least as far as the IDX plugins for web sites and stand-alone web sites themselves.

It took a little longer for a few things like email and DNS to propogate all of the changes, since we did have to change IP addresses for all of the servers, but that just the nature of that type of change - it takes time for all of that to disseminate throughout the rest of the Internet.

So far, the servers seem to like it in their new home: plenty of bandwidth and nice, cool, dry air to breathe! The ONLY odd thing I discovered so far is that the IP addresses we were given may have been used formerly by someone who delved into the world of SPAMMING, because I found that at least a couple of large ISPs and "blacklists" had the IP address of our primary mail server listed from late February/early March - BEFORE we moved over there! So, I've put things in place to help get around this.

Thank you all very much for bearing with us during the move!

Thursday, March 13, 2008

The Internet Is Simple

Sometimes, the Internet can be SO simple.

So terribly, horribly, MADDENINGLY simple.

So simple as the little link that appears at the bottom of our customers' web sites or IDX search pages. The one that links back to the ListingWare home page.

This little link is much bigger than it seems. And it's not just that it's there, but HOW it's there.

For years, that simple little link has toiled away in anonimity, at least as far as search engines would know. Because for years, I've had it down there so that humans could read it, and using JavaScript techniques, control the link opening in a new window and sizing the window properly.

But because I used the JavaScript technique rather than a simple HREF link, search engine robots couldn't figure out what it was and IGNORED IT! So the THOUSANDS of web sites and IDX searches that we've been hosting all this time haven't benefitted us at all, at least as far as being found in search engines!

So, I've fixed that, and learned a valuable lesson, the benefit of which I can hopefully pass on to you, our customers, also.

So simple...(grumble...)

Friday, February 29, 2008

It's About TIME...

Well, I finally did it. And I can't believe I haven't done it earlier!

I'm talking about optimizing graphics. By this, I mean both the listing photos as well as the logos and pictures that appear on your web site or search.

Earlier this week, I launched some tweaks to the listing detail photos, such as a new slide show and a way of compressing and caching these photos for a nicer presentation - and honestly, to save some bandwidth on our end! There were a couple of hiccups (nobody liked the very first new slideshow, for one), but we got them worked out! Thanks for your patience on that.

As a result of all of that graphic tweaking, I started fiddling with something that I'd wanted to concentrate on for a long time - the personal photos and logos that you can upload to personalize your service. I honestly didn't realize how much this was overdue!

I'd always left it up to you to optimize and resize your own graphics, the result of which were that some folks would end up loading a 1 MEGABYTE photo on their ListingWare and then wonder why it loaded slow! Or wonder why a picture with natural format of 600 pixels high by 400 pixels wide "looked funny" when constrained to only 88 pixels high by our program. I'm not scolding anyone on that - I'm sorry that I didn't assist earlier with something that most people have no time or inclination to deal with!

I've gone through and changed everyone's graphics to a more optimal size and format and made it so that future uploads do so also. I've even given the ability to delete the old graphics, if desired. I'm going to add a few more graphics manipulation tools as we move closer to launching some much-needed upgrades to our own web site templates, too.

SORRY FOR NOT PAYING ATTENTION TO THIS IMPORTANT PIECE SOONER! All better now, though!

Monday, February 11, 2008

DynaMap, Version 2.0

Wow - I've been a Bad Blogger! I hadn't realized that there were NO posts since before Christmas...that's not the way to do it. Well, there have been LOTS of things going on since before the holidays, but it's all just flown by. Anyhow, "Now, to the News"...

I've been working feverishly lately on improvements to DynaMap, which has been around for a while. The first and most obvious change is that it's now using Microsoft Virtual Earth rather than Google Maps. Some of you have actually thought DynaMap = Google Maps. We had intentionally NOT been specific to Google Maps because it did have some shortcomings, even when we originally launched DynaMap. MS has done a great deal to catch up to - and even pass - Google in certain aspects of their mapping system, so we're switching over to it (for now). Because DynaMap is our product name and just means that it uses some sort of dynamically-generated map with listing overlays, we aren't committed to one system or another.

The map-based searching of DynaMap has been updated to hopefully be a little more intuitive in its search style. The standard search results can now also be plotted in DynaMap format, providing another way to look at selected results.

Finally, when viewing an individual listing on a large-format map, you can even search for local businesses! You'll see up to 20 results of any sort of 'what' query that you run - 'schools', 'banks', even 'pizza'. So, your users can now find the stuff that's around where they are looking.