Flex 1.0 has been released! There’s no sense in me discussing it extensively here — everything you will want to know is outlined on the Flex product page on Macromedia’s website. I’ll just say that I’ve been playing with Flex a lot for the last few days, and it’s really amazing technology. I’m in Newton right now, immersing myself in Flex, which I’m loving!
What are Macromedia developers out there using for ER diagraming? For small projects (meaning a few tables), I just use text files and write the SQL by hand. For larger projects, I have actually used UML tools with some success, and more generic tools like OmniGraffle. Last night, I decided I wanted something more sophisticated, however, that could generate SQL for me, so I downloaded a tool called XERD for OS X. So far, I’m pretty impressed with it, though I haven’t generated any SQL with it yet, which I believe will be the true test. I like the fact that it’s simple and streamlined, serving just this one specific purpose, and that it supports multiple databases (MySQL, Oracle, PostgreSQL, Sybase, and OpenBase).
What other tools are people using, for Windows, OS X, Linux and Solaris?
Who out there is using Eclipse for ColdFusion coding? Which plugins (if any) are you using, and how do you like them? The two I know of are cfeclipse by (I think) Oliver Tupman and Rob Rohan, and cfplugin by Matt Liotta. I haven’t used Eclipse yet, but I think it’s time I give it (and these CF plugins) a try. I’ll report my findings here.
I’m pretty good at figuring out user interfaces and getting the hang of most things pretty quickly without reading documentation or making irreversible mistakes, but that doesn’t mean I’m not critical of them. In fact, I’m extremely sensitive to user interfaces, as I suspect most people who read this blog are. What are some of the worst user interfaces you have ever come across? Here are just a few:
- I used to use a Motorola i1000 phone with Nextel which had, by far, the worst user interface I’ve ever experienced in a phone. To do any type of configuration, you had to enter some kind of code to get to the right screen rather than navigating through a menu system. Storing phone numbers in the address book was only a little easier than programming in C. Everyone in my office had to use the default configuration because nobody could figure out how to change anything. My i1000 is now a toy for my 2-year-old, and I’m using AT&T.
- Did anyone ever buy a domain name from Network Solutions about seven years ago? Remember the process? They used to email you forms that you had to email back in a specific formate with answers filled in, which I’m guessing were parsed by some Perl scripts on the other end. Fortunately, NSI has since ported their laborious and inefficient processes to laborious and inefficient web applications and internal procedures.
- ATM machines are generally very simple to use, but I hate the ones that have columns of buttons beside the screen which correspond to different dynamic options that never seem to exactly line up with the buttons. When you are dealing with your bank account, button ambiguity is not a good thing.
- Whenever I go to Giant, I almost always use their self-checkout system because I think it has one of the best user interfaces ever placed before the general public. Whoever wrote that software did an amazing job at taking a very involved process (not necessarily complex, but undeniably involved), and making it just about as foolproof as I think it could be. (The only thing I would change is that your receipt should come out from underneath where you sign the credit card pad rather than in the middle of the lane.) Home Depot’s system, on the other hand, sends me running for any line manned by a human, regardless of how long. I’ve only tried to use their automated lanes twice, but both times, I had problems because the computer didn’t believe I had put the item I just scanned in the bag when I actually had. Both times, the Home Depot referee watching over the “automated” systems had to intervene and override something to keep the transaction alive. I don’t generally mind arguing a little bit with a computer, but it’s embarrassing when there’s a line of people behind you, and the computer is basically accusing you of trying to pull the wool over its eyes. I find the employees at Home Depot much easier to argue with.
- And then there’s my microwave. For some reason, the most prominent button on the keypad is the “Time” button, which one might mistakenly assume prepares the machine to accept a cook duration, when in fact in it is used for resetting the microwave’s clock. I guess their usability tests indicated that customers are more concerned with resetting the time on their microwaves than with heating up a cup of coffee or a piece of pizza. When I first moved into this house, I used to reset the time on my microwave about 10 times a day.
- The absolute worst user interface I’ve ever used in my life has to be the controls on my washer and drier. I still have no idea how either actually works. I just turn, push, and pull the dials until the machines seem to be doing the appropriate things, then come back later and see if I might need to turn, push or pull the dials some more. Sometimes the machines buzz and take breaks, but that doesn’t seem to be an indication that they are actually finished doing anything. My drier has settings for “more dry” and “less dry,” but more or less dry than what? Just dry my clothes! And what’s with the little stars, and colored zones and seemingly arbitrary numbers placed around the dial like star maps? Maybe more modern washing machines are easier to use, but I think I would have more luck figuring out how to use a particle accelerator than doing a load a laundry.
What’s your least favorite user interface? Any good stories to go along with them?
I discovered during some DRK research that the
isUserInRole functions will only work if the
CFLOGIN tag was encountered previously within the scope of the same request. In other words, if your
CFLOGIN tag is not in your Application.cfm file, and you try to call
isUserInRole during the scope of a request where no CFLOGIN tag was encountered, you get an empty string and false respectively. I never noticed this before because I always have my
CFLOGIN tag in my Application.cfm file, where it was clearly intended to go. Fortunately, a quick
<cflogin/> tag before you call
isUserInRole fixes the issue by making the necessary variable scope available.
For those of you who don’t keep up with ColdFusion security bulletins, one was issue recently that you might want to look into, especially if you expose web services.
MPSB04-04 Security Patch available for ColdFusion MX and JRun 4.0 Web Services DoS
ColdFusion MX and JRun 4.0 Web Services may be vulnerable to a Denial-of-Service attack from maliciously constructed SOAP requests. ColdFusion Version 5 and earlier versions and JRun 3.1 and earlier versions do not support Web Services and are not vulnerable.
If you’re behind in your security patches, while you’re at it, you might want to install this one, as well:
MPSB04-02 Security Patch available for ColdFusion MX 6.1 form fields Denial of service
ColdFusion MX 6.1 is vulnerable to a denial of service attack if a malicious user creates a ficticious request containing a large number of form fields.
Find all the most recent Macromedia security bulletins at the Macromedia Security Zone. And if either of this bulletins were news to you, I recommend that you sign up for the Macromedia Security Notification Service.
All you Dreamweaver MX 2004 users out there are definitely going to want to go check out the newly released updater. Now that the Dreamweaver updater is out there, the entire Studio MX 2004 suite has been optimized since its original release.
Macromedia has also released updates to our MX 2004 End-user License Agreement (EULA) to address product version and Flash component issues. Let me know what you think of the changes.
For all my Ohioan readers, you might want to check out the upcoming Macromedia regional event. The Southeast Ohio Macromedia User Group (SEOMUG) is hosting a one-day technical conference on March 25th from 8:00AM to 4:00PM featuring 3 Macromedia speakers:
- Ben Forta (ColdFusion)
- Michael Hamilton (RoboHelp and RoboDemo)
- John Cummings (ColdFusion components)
More information and registration is at http://www.seomug.org/.
If you don’t live in Ohio, what better reason pack up and take a trip to a state I’m sure you’ve always wanted to visit, but just needed a good enough excuse!
I’m not sure when I’ll get a chance to post this since I’m writing it on the plane on the way back from Flashforward 2004 in San Francisco, but I’ll try to get it live as soon after I land as possible. As always, I thoroughly enjoyed the conference, and in particular, hanging out with the Flash community. Here are some arbitrary thoughts and observations from last week:
- JSLF is much cooler than I thought. Thanks to Guy Watson, I got a good solid introduction.
- Eric Natzke’s work is unreal. I already knew that, but I was reminded once again. Very inspirational. No wonder they save his session for last.
- Macromedia has a new MXML authoring tool to look forward to codenamed “Brady”. Sounds like an essential companion to Flex.
- Just in case you haven’t heard yet, we have a Flash update to look forward to. Look for component enhancements and more documentation.
- Central is being actively developed, and developed for. Look for Flash Player 7 support as well as support for the AIM and ICQ networks (as soon as this spring). Very cool stuff!
- Kevin Lynch showed Flash running on Linux. Surprisingly responsive, too. I would really like to see this gain momentum. All I would need to switch permanently is iTunes.
- Phillip Kerman’s and Drew Falkman’s cattle auction application can apparently handle millions of dollars in transactions in just a couple of hours. I guess cows are expensive. Very cool use of Flash Communication Server. The application won best Flash application in the film festival, as well.
- Lucian Beebe is one dedicated product manager. I was very impressed by how well he integrated himself at the conference, and how much feedback he tirelessly solicited. I was also very impressed with the hot pepper he ate at Eric’s restaurant on Thursday night. Last time I saw him, he had not yet fully recovered.
- How many Flash developers does it take to get a Playstation 2 to work on a giant projector and two plasma screens simultaneously? I think it was about four. Chafic of rewindlife.com has pictures, but thankfully, they aren’t posted yet.
- Apparently, Macromedia employees actually can win prizes on the last day of Flashforward. We were starting to wonder when Vera Fleischer won a stack of O’Reilly books. I was glad to see the prize go to someone who lives in San Francisco rather than someone who would have to buy an extra seat on their plane to get them home.
- I think I’ve gotten better Chinese food in San Francisco than anywhere I’ve ever been, including Japan. We found the Girl Scout Cookies in San Francisco to be very good, too, but not much different than the ones I get at home.
- Danny Dura sure loves Mongolian Beef. I think that’s why he has decided to move to San Francisco. He does not, however, like playing me in Tiger Woods 2004.
- WARNING: walking up steep hills in San Francisco can cause painful muscle cramps which friends sometimes think are funny (sorry, Mike).
- It was great meeting and hanging out with people I previously knew only through email, lists, or just pure reputation. Hope to see you all (and many more!) in New York this summer!
So far, Flashforward 2004 has been a blast. I’ve been spending a lot of time with Danny Dura (newest member of the Central team), and we have really been delving into the potential of some of Macromedia newest inventions like Flex, Central, Breeze Live and others which I can mention after today’s keynote, but not before. I’m still completely amazed by the amount of innovation that goes on at Macromedia.
I attended a great session last evening called “Town Meeting with the Macromedia Flash Team”. Lucian Beebe, Gary Grossman, Nigel Pegg, Paul Betlem, Gilles Drieu, and Rebecca Sun simply sat up on stage as microphones were passed around the audience, and answered as many questions as they could in an hour. The team was very straightforward and the session went extremely well, with lots of great questions and feedback. The one thing the Flash team kept emphasizing was that they needed to hear from the community what you feel their top priorities should be for future versions of Flash or dot releases of the current version. For those of you who didn’t attend and could not contribute in person, any comments posted here will be sent right to the Flash team.