September 2004 Archive
Ten CSS tricks you may not know
I’ve really been getting into my CSS recently! It’s amazing the power it gives you. Unfortunately some browsers still have some quirks.
However, I’ve just found this great page of 10 CSS tricks. Some of them show how to get around the issue of the differences in browsers.
http://www.webcredible.co.uk/user-friendly-resources/css/css-tricks.shtml
Posted by Niklas Richardson on 06 Sep 2004
isUUID
In ColdFusion there doesn’t appear to be an isUUID function. I did a bit of hunting and found some nice code from Jason Ellison on cfLib which does this checking using regular expressions. See the code below.
[code lang=“cf”]
/**
- Returns TRUE if the string is a valid CF UUID.
* - @param str String to be checked. (Required)
- @return Returns a boolean.
author Jason Ellison (jgedevhotmail.com)- @version 1, November 24, 2003
*/
function IsCFUUID(str) {
return REFindNoCase(“^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{16}$”, str);
}
[/code]
It caught my eye that ColdFusion and Microsoft UUIDS are different.
What are UUIDs?
For those who are new to UUIDs – UUID stands for a Universal Unique IDentifier. These are 128 bit numbers
assigned which is guaranteed to be unique. The
mechanism used to guarantee that UUIDs are Unique is through combinations of
hardware addresses, time stamps and random seeds.
There is a reference in the UUID to the hardware address of the first network card on the host which generated the UUID – this reference is intended to ensure the UUID will be unique in space as the MAC address of every network card is assigned by a single global authority and is guaranteed to be unique. (Alternate addresses might be a problem here, but the author has not tested creating a UUID on a machine with an alternate address set).
How do Microsoft Generated and ColdFusion generated UUIDs differ?
I asked Robin and Nik here at Prismix and they said that Microsoft UUIDs are in fact GUIDS. GUIDs are different than ColdFusion UUIDs in that there is a different placement of a single hyphen at text position number 23. Nathan Dintenfass (an old friend who used to work for Creative Internet Solutions back in Minneapolis years ago) came up with createGUID ages ago to transform it.
[code lang=“cf”]
/**
- Returns a UUID in the Microsoft form.
* - @return Returns a string.
author Nathan Dintenfass (nathanchangemedia.com)- @version 1, July 17, 2001
*/
function CreateGUID() {
return insert(“-”, CreateUUID(), 23);
}
[/code]
I asked someone at MACR if this will be in the new version of CF, but I didn’t get a clear response.
Posted by Neil Middleton on 06 Sep 2004
Flex-based MySQL admin tool
Christophe Coenraets has posted the source for his Flex-based MySQL admin tool here.
This is very cool and it comes with a nice MXML code viewer written in Flex.
Posted by Neil Middleton on 08 Sep 2004
New MMUG Site - Ariaware
I was pleased to see that Aral has upgraded the MMUG website. It uses a PHP community portal package called vBulletin Version 3.0.3. It seems to be full of cool features for building and maintaining the community.
Don’t miss a preview of Ariaware next Thursday at the MMUG in central London.
"Aral will also be giving you a first look at a revolutionary new product by Ariaware that can reduce the size of your Flash web site or application."
Posted by Neil Middleton on 08 Sep 2004
Test Driven Development with CFCUnit
CFC Unit is where we are spending most of our server-side time lately. It is the best Unit Testing framework available for ColdFusion hands down. We like it much better than the CFUnit package that was released in one of the DRKs a year or so ago. Thanks to Paul Kenney for his work on setting this up. It runs on MACH II – the latest incarnation of FuseBox – which to you Java folks is a CF equivalent to STRUTS.
Based upon the JUNIT framework, CFC UNIT allows you to set up regression tests and unit testing frameworks which are the foundations of test-driven development and refactoring. We are still waiting for some structured unit testing for our Flex applications. It seems that something will be coming out in the near future.
Our only complaint with CFC UNIT is using CFCUnit and CFDUMP to debug within our unit tests. We use the following code inside of our unit tests, but due to the ABORT it breaks the test and thus prevents the teardown from being called. Oh well – maybe LogForCF is our solution? Anyone game for writing it? See the below code for a sample ColdFusion unit test with CFC Unit and how we try and debug with it.
[code lang=“cf”]
contactDelegate = CreateObject(“component”, “net.intranet.business.contactDelegate”);
contactVO = contactDelegate.deleteItem(contact = this.struct_contactVO);
assertTrue(IsDefined(“contactVO”));
assertTrue(IsDefined(“contactVO.contactId”));
assertTrue(IsDefined(“contactVO.homeAddress”));
assertTrue(IsDefined(“contactVO.homeAddress.addressId”));
[/code]
Posted by Neil Middleton on 09 Sep 2004
Using Flex in a Portal Environment
Thanks again to Macromedia’s Christophe for writing a fascinating article on using Flex in a Portal Environment.
His example shows Flex being used in a large real-time financial portal. This is definitely the way of things to come.
"The portal page represented above features five Flex-based portlets (notice that, as described in the integration scenarios below, Flex-based portlets can also coexist with HTML-based portlets):
Mutual Fund Selector Portlet: Provides an example of rich user interactions. This portlet allows the user to specify selection criteria using sliders and other controls. The mutual funds that don’t match these criteria are automatically faded out. Details about a mutual fund appear as the user mousse over the symbol.
Real Time Market Data Portlet: Provides an example of a portlet that has a connection to a real time market data feed. The lines of the chart automatically adjust to reflect new data received from the data feed.
Portfolio Portlet: Another example of a portlet featuring some rich user interface components: the DataGrid (fully sortable and editable if required), the Accordion, etc. When maximized this portlet allows you to get stock quotes and to drag-and-drop stocks in your watch list.
Video Portlet: The MediaPlayback component allows you to stream video in a completely integrated manner within you portal. No third party player required.
Chat Portlet: Another example of data pushed from the server to the client."
The first step of the RIA technological wave will be the transforming of Web Applications in the rich client metaphors that Flex affords. The second will be in the aggregation of these applications into high order portals of multiple applications (portlets) working together.
I have always thought that Microsoft Money represented this new wave of data dashboards years ago.
In essence, this is what we are attempting with our current project and I hope that future versions of Flex make this portlet style application framework a breeze.
I’m also very interested in what the Longhorn equivalent of this will be.
Posted by Neil Middleton on 14 Sep 2004
Flex Customer Relationship Management Demo
I just saw a demo of a very interesting CRM written in Flex for managing customers. It’s only a screen cam demo but it still is very interesting..
"Optimal Payments, Inc. is a global provider of payment processing
services, and used Flex to develop a single interface that combines
their existing Customer Relationship Management system (CRM) and an
internally developed change management system. The application
eliminates installation and maintenance headaches associated with their
previous thick client solution and boosts productivity by streamlining
internal processes and reducing data duplication. The application took
30% less code than JSP to build."
It seems to be integrated into their company extranet. For the most part it looks like a standard website so it took a while for me to see the points of Flex integration. Then the demo moved into the customer support management system This was clearly a Flex application. Logging in we see an outlook type interface with a standard datagrid listing customer interactions. Support tickets can be created and managed. There seemed to be some nice call history and attachment support.
Very similar to the work we are doing for a Print design company here in London and another example of the direction of business applications.
The advantages of this business intranet flex application are clear. If feels like a focused customized outlook for managing customer support. I would be surprised if most web applications wouldn’t see immediate ROI by upgrading to a Rich Client platform. How do you guarantee the investment?
Posted by Neil Middleton on 20 Sep 2004
Oh No, Not Again!
An alert to anyone not already aware – the new continuation of the Hitchhikers Guide to the Galaxy Radio series starts today at 17:30 GMT on Radio 4 (internet streams available as the programme starts)
And in conjunction with this, the BBC have reworked the classic Infocom Hitchhiker Adventure Game into a 20th Anniversary Edition using flash!
Posted by Niklas Richardson on 21 Sep 2004
Web Applications are Changing Part 1: Debunking for myths about Web Applications
Web applications are changing. The page-based and browser-based applications of the web’s infancy are transforming into the responsive and sophisticated Internet desktop applications of today. It is difficult for many of us to get an angle on these changes. Old frames of reference and previous assumptions blur our understanding.
This is a time of investigation. A time where we sift through the information available and see how we can upgrade our investments.. But before we explore the future, let’s dislodge some old assumptions. Let’s debunk the myths about web applications.
Myth No. 1: The Web is unreliable, slow and cannot scale, making it impossible to use for business-critical applications.
With the growth of rich client technologies like Macromedia Flex, it is possible to improve the response of web applications, turning them into Internet Productivity Applications – applications that feel like desktop applications but with the broad reach of the web.
Myth No. 2: Application functionality loss is a given when "Webified."
The first generation of web applications could not compete with the rich client applications of the client server era. This is mainly because the tools had yet to evolve. This is not the case anymore; with platforms like Macromedia Flash, Flex, Lazlo and other rich client frameworks, the limitations of early web applications are no longer a hindrance.
Myth No. 3: I have to develop two versions of my application: a desktop version for doing the heavy-duty “real” work, and a web version that does simple reporting.
This depends upon the specific needs of the presentation layer. By using a structured n-Tiered architecture, different presentation layers can be deployed depending on the needs of the enterprise. The same database and business logic may be presented by a web browser, mobile phone, or desktop application. This is the promise of Internet 2.0 technologies – ubiquity across devices.
Also, the web is not just about web pages anymore. HTTP is a protocol that delivers more than web pages. Today, browsers can deploy whole desktop environments, digital dashboards, and data navigation software for doing sophisticated productive work. That’s a lot more than reporting.
Myth No. 4: The web is a proven infrastructure for business applications. I want to use the web for all my applications.
Internet Productivity Applications, like those we are developing for the Media Sector in the UK , go beyond the capabilities of web applications. They are, to use old Microsoft terminology, ‘Data-Centric’. The data is there and you move around it – like you do in Microsoft Outlook . The business data is central, and the application provides different views of the data and supplies tools to manipulate it. In most cases, data-centric applications are easier to use and don’t “get in the way” of the work that needs to be done.
Forrester Research found that investing in the user experience can deliver as much as a 250 percent return on investment (ROI) in online commerce applications. Research also suggests that it can significantly lower the cost of deploying enterprise applications.
Ignoring these new developments and relying solely on traditional web applications, may leave you behind.
Myth No. 5: The No. 1 challenge when using the web for business applications is its lack of a rich user interface.
That may have been true with page-based web applications, but it is not true now. In fact, the web is merging with what used to be strictly desktop applications and turning into a new platform. A more important challenge when using IT for business applications is choosing the best presentation platform to use. Once you decide on a presentation platform, the next challenge is designing it so that it is usable and doesn’t get in the way of the important work.
The Internet is only starting to fulfill its promise. Traditional web applications can only go so far. Internet Desktop Applications is the upgrade for traditional Web Apps. The upgrade will be performed by the most qualified – the thousands of talented Web Application developers who built the first big wave of online Business Applications.
Posted by Neil Middleton on 29 Sep 2004
| www.flickr.com |
Archives
Posted by Neil Middleton on 01 Jan 1910
From our portfolio
| www.flickr.com |