Archive for April, 2005

Cool Tool Friday: Flash-based Email with Goowy

If you haven’t done so already, you might want to check out the Goowy
Mail beta
for a very
different web-based email experience. Goowy Mail is almost completely Flash-based,
and offers a pretty comprehensive set of features like skins, POP integration,
spell checking, junk filters, contacts, and more. Free accounts get you 100MB
of storage, but Goowy Mail Plus and Platinum are coming soon, and will offer
more space as well as additional features.

It’s a pretty impressive app, and definitely worth looking in to. If you want
to send some test emails to get a feel for it, my Goowy email address is cantrell@goowy.com.

Home From TODCON

I arrived back in San Francisco this afternoon from TODCON in
Las Vegas. It was really an excellent conference. I want to personally
thank
Ray West of Community
MX
for organizing the event (and for the blackjack tips).

This was my second TODCON, and what I really like about this conference is the
feeling of community among the group. It’s a relatively small
conference, but pretty much everyone knows each other, or will get to know each
other by the end. In most cases, attendees are friends as well as colleagues. That
doesn’t mean TODCON is a social event, though. Although there are obviously plenty
of opportunities for socializing, during the day, sessions are focused and informative,
and small enough to be very interactive.

I don’t want to start listing names of people I met and new friends I made for
fear of leaving someone out, but you guys know
who you are. I enjoyed the sessions and the time with the Macromedia community,
and I hope to see you all again next year, if not sooner.

MXNA 2.0 Reports

In case you haven’t noticed, the beta version of MXNA
2.0
is
being rolled out incrementally. Today’s increment: MXNA
2.0 reports
.

Mike Chambers and I have been working on and off on the new MXNA 2.0 reports,
along with a general reporting framework, for a couple of weeks now, and I think
they turned out really well. We used Flex and the Flex charting components for
the graphs themselves, and AJAX (JavaScript) to load and render post data without
refreshing the page. The charts are
populated with data through the MXNA
2.0 web services
, and can express that data
in a variety of ways as the user interacts with them. And when the user clicks
on certain parts of the chart, the relevant posts are rendered below using AJAX,
almost instantaneously. The whole experience allows for a great deal of interactivity
without a single page refresh, and with almost no waiting.

We feel that combining Flash and AJAX in this instance allows us to get the best
of both worlds, and really gives the user a unique and immediate user experience.
Flash/Flex were perfect for the charts, and really allowed us to focus on the data
and the presentation rather than the mechanics of the charts themselves. Using
AJAX to render the post data allowed us to reuse the exact same rendering code
that the rest of the application uses when displaying posts, and because it is
HTML, it allows for things like shift-clicking on links, and native browser scroll
bars.

We have several more reports in the pipeline, but we probably won’t be launching
any more this week since I’m in Las Vegas as TODCON.
If you have any ideas for specific reports that you would like to see, let
us know
. We want to make sure we
are presenting the community with the most useful information we can.

Don’t Forget to Scope CFHTTP

I ran into a nasty MXNA 2.0 bug last week. As many of you noticed, we had a case
where one person’s posts were attributed to someone else. I was stumped for about
an hour as I went through lots of lines of code, and long spells of staring into
space and contemplating. Then it hit me that since this has only happened one time
in all the thousands of posts MXNA 2.0 has aggregated, it must be a concurrency
issue.

And it was. MXNA 2.0 uses cached instances of parser components, and in one of
those components was a CFHTTP tag that wasn’t scoped, or "VARed". Just
the right sequence of events caused the variable cfhttp.fileContent to be overwritten
with a string from someone else’s feed. It’s a one in a million shot, but it happened
once, and it would have happened again given enough time.

If you’re using CFHTTP in a component, and you’re using CF 7.0, your code should
look like this:

<cfset var foo = 0/>
<cfhttp result="foo".../>

If you’re using CF 6.x, it should look like this:

<cfset var cfhttp.fileContent = 0/>
<cfhttp .../>

Note: I owe Sean Corfield a big thanks for helping me track this down.

I’ve Been Experimenting with AJAX

I did a new installation of MXNA
2.0
last night. In addition to adding "Most Popular"
views (check out the new menu at the top on the right), I’ve also been experimenting
with AJAX. Each post has an "Email to a Friend" option under it. Click it and give
it a try. It exposes an email form and sends your email without ever refreshing
the page. I think it makes for an improved user experience, and works great with
ColdFusion and, after some tweaks, the MXNA 2.0 framework. Expect to see more AJAX
features rolled into MXNA 2.0 in the future.

MXNA 2.0 Requests on Hold

If you’ve sent us any email regarding the MXNA
2.0 beta
, or if you’ve submitted
your site recently, you have probably noticed that we haven’t gotten a chance to
respond. Don’t worry — we will get to every email and every submission very soon.
As you might imagine, we have been very busy for the last couple of days, but things
should be back to business as usual by the end of the week.

Anyone out there going to be in Vegas for TODCON next week? If so, drop me a line.
I arrive Sunday night.

MXNA 2.0: Added Language Navigation and More RSS Support

Macromedia developer Deng Jie recently made
a post
asking us to add language navigation to MXNA 2.0. In other words, he wanted
a list of languages along the right-hand side (just like categories and Smart Categories)
that you could easily click on to browse the most recent posts in that particular
language. Seemed like a good idea to us, so we added it. Check
it out
.

I also added some additional RSS support in yesterday’s build. Now, whenever you
are looking at a set of data that is available as RSS (which is pretty much everything),
you’ll see a little "rss" link next to the page title. MXNA 2.0 also supports auto-discovery,
so if you’re using Firefox, you’ll notice the little RSS icon in the status bar.

IE Only Allows Two Simultaneous Connections

I didn’t know this, but according
to IEBlog
, Internet Explorer only allows two
simultaneous connections to any single domain. I knew there was a limit, but I
thought it was higher. Anyway, IEBlog tells why, and what you can do as a developer
to get around it.

MXNA 2.0 and Character Encoding

Supporting so many different languages with MXNA 2.0 has forced me to learn a
great deal about character encoding, which I’m very thankful for. I have been
writing US/English-centric applications for too long, and I’m very happy to now
be supporting the international community. We are now aggregating 55 non-English
feeds in 16 different languages, and I have about a dozen more in the queue
waiting to be approved. I’d say we’re adding non-English feeds at a rate of about
25 per week, at this point.

This level of support has not been easy. Unfortunately, parsing, storing, and
displaying information in any language takes a fair amount of work, even with languages
like ColdFusion and Java. I have fixed several encoding related bugs over the last
few days, so if you have seen character encoding problems, please go back and try
again. Specifically, I have fixed the following:

  • When servers do not report a specific character encoding, or report the wrong
    encoding, MXNA can still parse the feed.
  • The character encoding for the generated
    RSS feeds and OPML files should now be correct (utf-8) and all characters
    should be rendered properly.
  • The character encoding for MXNA
    Mobile
    is now correct, and
    all characters should be rendered properly.

Everything in MXNA 2.0 should be encoded as UTF-8, and all languages and characters
should be supported with no exceptions. If you see any encoding issues, please let
me know so that we can continue to provide the international community with the
best support possible.

Oh, and if you happen to see some non-English posts that you don’t think are appropriate
for MXNA, please let me know. We’re counting on the community to help police
and approve content.

MXNA 2.0 Pings

For those of you who ping MXNA to let us know you have made a new post, you can
now update your ping URL to point to MXNA
2.0
. Your old ping ID will work, so all
you need to do is change the host and domain from "www.markme.com" to "weblogs.macromedia.com".
(If you have any problems, let me know).
If you don’t know your ping ID, but would like to start pinging MXNA, you can send
email to mxna@macromedia.com to find out
your ping ID. If you want to ping MXNA, but you can’t set up your blogging software
to ping automatically, you can use the MXNA
2.0 ping form
to
do a manual ping. If you have no idea what a ping is, check out the MXNA
2.0 FAQ
.