|By Paul Elisii||
|April 3, 2000 12:00 AM EDT||
I am completely hooked on my new wireless Palm! The Palm Pilot VII has changed the way I access information I can find it anywhere and any time I need it. With the newest Palm I can check account balances in real time on DLJDirect, buy a book from Amazon.com and using the popular Starbucks Finder application find the nearest Starbucks. With so many useful wireless applications available, you might be wondering why you can't create your own with ColdFusion. Well, you can! And after reading this article, you'll be well on the way to writing your own wireless applications for the Palm Pilot VII.
Wireless Applications Background
I'm not the only one who's in love with the idea of wireless access to the Web. In a recent study it was reported that the market for wireless handheld devices could reach 500 million by 2003, which will create a huge demand for Web applications that are "unplugged" and optimized for wireless devices.
For developing wireless applications, two similar but competing protocols for wireless Web access have emerged. The first is the Palm Wireless Web Clipping Protocol a proprietary but popular solution developed by 3COM. The second is the Wireless Application Protocol. WAP is a more open protocol developed by companies like Unwired Planet, Motorola, Nokia and Ericsson to provide wireless Web access to cellular phones. For this article I'll focus on writing wireless Web applications in ColdFusion for the Palm Pilot Web clipping protocol, and in a future article I'll discuss how to write ColdFusion applications for WAP. Even though these two protocols are different in their implementations, developing applications for each is quite similar.
The palm.net Service
The Palm Pilot VII is a wireless device that contains its own built-in antennae for wireless access to the Web. Once you bring your Palm home, it's easy to sign on and start surfing wirelessly on the Web simply flip up your Palm's antennae and access the Activate Application to sign on. All it takes is a credit card and about 15 minutes to get started.
3COM charges an online access fee to access the palm.net service. This is a monthly service fee similar to what you'd pay an ISP for Internet access. The palm.net service is a bit pricey compared to your basic ISP costs, and also comes with limits on the number of bytes that can be accessed on a monthly basis. 3COM has basic, extended and volume plans that range from $10 per month to $40 per month, with each providing a greater number of KB per month. I purchased the volume plan and, in the first several weeks with fairly active use, I haven't used up even half of my quota.
3COM provides a Web site, www.palm.net, with a lot of great information about the service and a wide array of Web clipping applications that you can download. Available applications include Financial, News, Reference, Travel, Entertainment, Communication, Shopping and Enterprise applications. It also includes a Web browsing function that allows you to access any URL, many stock quote and online trading systems, an application to check airline flight times, and various shopping apps, including Amazon.
Web Clipping Architecture
At the heart of the palm.net service is 3COM's Web clipping proxy server. This server is responsible for converting the standard Internet protocols and content from normal HTML Web pages into a form that's optimized for low-bandwidth wireless transmission and for display on a small device. Figure 1 shows how the proxy server takes the HTTP, SSL and TCP standard protocols and compresses them for wireless access via the Palm Pilot VII.
ColdFusion applications work in this environment just like any other Web page. URL requests are made from the Palm. They go through the wireless network and the proxy to the ultimate destination of the Web server. It doesn't matter that the requested page is an HTML, a CFM or an ASP. As long as the actual content returned from the server is in HTML format that can be processed, compressed and sent through the wireless network, it should work just fine.
Does this mean you can just take your existing ColdFusion apps and make them accessible to the wireless network and they'll work? Well, not quite. As I'll explain in the following section, there are many considerations you have to keep in mind when developing unplugged (wireless) ColdFusion Applications.
The following steps demonstrate the flow of a Web clipping application when launched:
- 1. If the linked page or graphic is installed on the Palm VII organizer, the page or graphic is displayed without downloading anything remotely.
2. In other cases the Palm VII organizer compresses the query into a small file in Palm query format and sends this packet over the air to a local base station.
3. The local base station relays the compressed packet to the Web clipping proxy servers on the palm.net service.
4. The Web clipping proxy server translates the query packet into a standard HTTP packet and then sends the decompressed query to the appropriate Internet address. All communication between the Web clipping proxy server and the Internet server is via the standard Internet protocols of TCP, HTTP and SSL.
5. The HTTP server returns an HTML clipping to the Web clipping proxy server.
6. The Web clipping proxy server compresses the HTML clipping into a Palm proxy format file and sends it back to the local base station.
7. The local base station relays the clipping to the Palm VII organizer, where the Web clipping application renders the page for viewing. Communication between the Palm VII organizer and the Web clipping proxy server is via the User Datagram Protocol (UDP).
The basic mechanics of authoring Web clipping applications are similar to the mechanics of authoring Web pages in general. However, because of the constraints of authoring for a handheld organizer connected to the Internet via a relatively expensive radio link, you'll need to rethink your philosophy of design and implementation. The world looks much different when you're holding a small, low-power computer like the Palm VII organizer with its tiny screen, battery-powered operation and relatively slow and expensive wireless connection to the Internet.
Palm applications are called PQAs (Palm query applications). A Web clipping application is a PQA that is developed to take advantage of the wireless capability of the Palm VII.
The basic steps involved in writing a PQA application include the following:
When developing Web clipping applications, follow the same rules as above. What makes a PQA a Web clipping application is that it has links to pages that are not stored on the Palm but are accessed remotely over the Web. These remote links are coded just like any other Web application link.
Writing a Simple Web Clipping App
The following example shows how you can create the most basic Web clipping application for the Palm Pilot. It's very simple. You can start out with the code in a single HTML file that does nothing more than display "Hello World." The entire HTML source code that's used to build the application is in Listing 1.
The first step in turning the HTML file into a Web clipping app is to create a PQA file through 3COM's Query Application Builder, which can be found at www.palm.com/devzone. (Note that the domain for this is palm.com, not palm.net.)
The Query Application Builder is a simple application that converts your HTML and image files into a single PQA file. Just select the File and Open Index menu to select your HTML file.
Once an HTML file is selected, it's displayed in the Query Application Builder file window. If the HTML file referenced any local images, they'd be displayed here, as well as included in the PQA file (see Figure 2).
Once the HTML file has been selected, choose "Build PQA" from the File menu. Then the Build PQA Dialog Box specifies the name of the PQA that is being created (see Figure 3).
Note: The icons for this application default to the diamonds with the remote signal displayed on the right in Figure 3. For this application the defaults are being used. In the next example, using ColdFusion, an Allaire image is used for the application icon.
Now that you've created the "Hello World" Web clipping application, you can install it to your Palm VII handheld using the Palm desktop software. This is the same process you'd go through to install any PQA application onto your Palm. Just add applications to the desktop software running on your workstation and then load the application to your Palm by synchronizing Palm's HotSync utility.
Once you add and synchronize the new PQA, you'll see the new application appear on your Palm. Now we have a new application icon on our Palm called "Hello World" (see Figure 4).Clicking on the new "Hello World" application icon will launch our simple application. Figure 5 shows our simple application running on the Palm. Remember that so far we've only accessed local data. Next we'll get into accessing data over the Web.
Writing a ColdFusion Web Clipping App
In order to write a ColdFusion application for the Palm, we have to involve more than just local pages. As in the previous example, we must add Web clipping pages remotely over the Web.
The two main components in a Web clipping application are as follows:
- Web clipping application (also known as the PQA): This is an application you build using HTML, which is installed by the end user onto a handheld organizer. A Web clipping application is like a mini-Web site that's stored locally, so access to it is instant and free. The index page of the Web clipping application usually contains either a form or a list of links, which are the gateways to the live data provided by your server.
The part of the application that gets compiled into the PQA must be generic and should include only what's not likely to change. If anything changes in the code that's compiled into the PQA, the application has to be redistributed and reloaded onto the Palm Pilots of all your users.
- Results pages (clippings): Pages are returned by your back-end server after receiving a request from your Web clipping application. It's the key part of the overall application, and where all the real work gets done. These pages can be written in HTML, ColdFusion, ASP or whatever. The pages can pull in remote database information and behave similarly to browser-based ColdFusion pages. Images can either be referenced remotely or locally if they were pulled into the PQA. Referring to local images is very useful in saving precious bandwidth, but it leaves less room later to change those images without redistributing the PQA.
The Web clipping pages developed as part of the application can also be accessed through a browser in addition to being accessible through the Palm. Does this mean you can develop an application and deploy it to both the browser and Palm? Not really. Since the Palm only supports a subset of things that can be done on a browser, the UI needs to be specific to the Palm.
One strategy in deploying applications to both the Palm and browser is to separate the user interface from the business and database logic as much as possible so that business logic pages can be included in both the Palm and browser versions of the application. In many ways you can just treat the Palm as a very, very limited browser. The limited nature of this handheld device is equally true with the WAP applications. Web Clipping HTML Specifics
Web clipping applications are designed to be small and to give users the information they need with minimum effort and maximum speed. Likewise, results coming from your server to a handheld device are designed to be small and to the point. Remember, this is not Web browsing, but Web clipping. Web clipping applications should be written to provide users only with the information they need, without any extraneous items. Try limiting the size of your result pages to about 400 bytes.
There are two meta tags you'll want to consider incorporating into your Web clipping applications:
<meta name="PalmComputingPlatform" content="true">
<meta name="LocalIcon" content="images/palm_image.gif">
Two other meta tags are also useful.
<meta name="HistoryListText" content="true">
<meta name="PalmLauncherRevision" content="1.0">
Web clipping applications also support secure HTTPS connections to make credit card purchases and stock transactions possible. The Palm indicates a link is an over-the-air secure link by automatically displaying the top icon at right on all anchor tags, except where a user-defined image is used. All other over-the-air links have the bottom icon at right next to the link. To ensure consistency with other Palm applications, user-defined images should include either the secure icon or the nonsecure icon.
In Web clipping applications there are three types of links that you'll be using. The first is a link from one local page to another on the Palm a remote link to a remote link. The syntax for this link is the following:
The second type of link is from a local page to a remote page. The syntax for this link is the following:
The third type of link is from a remote page to a local page stored on the Palm. The syntax for this link is the following:
Since the Palm screen is much smaller than a browser page, graphics should be used with care. GIF and JPEG images are both supported by the Web clipping system. However, the usable screen size is only 153 pixels wide by 144 pixels high and only gray-scale images are supported.
The idea in developing Web clipping applications is to keep the images small and to reference them locally wherever possible.
The LocalIcon meta tag is used to store graphics locally, using the following syntax:
<meta name="LocalIcon" content="images/palm_image.gif">
It can be referred to remotely in a clipping page using the following syntax:
<td><IMG height=30 src="coldfusion.pqa/palm_image.gif" width=30></td>
Sample ColdFusion Application
The following application shows how a ColdFusion application interacts with a PQA. The application is a simple ColdFusion application that contains a form that accepts a keyword and then passes it to a result page that queries a database of contacts and returns the results.
Figure 6 shows the ColdFusion sample application that was created using the Query Application Builder and loaded onto the Palm. It is called ColdFusion.
Listing 2 shows the code associated with the HTML file used to build the PQA. This form loads a local image to be displayed on the page and contains a link to my ColdFusion page (the Web clipping).
This sample page makes use of a table that contains some text and a local image reference. In addition, it contains the link that references the remote clipping page developed in ColdFusion. The page on the Palm looks like Figure 7.
Listing 3 shows the source code of the simple ColdFusion page that is loaded via the Web onto the Palm.
This page makes use of an input form with a submit button that sends the form variable to the ColdFusion result page to query and display the results. The resulting page is shown in Figure 8.
Listing 4 shows the ColdFusion code that accepts the form variable from the input page and performs the query to return the results back.
This page makes use of a ColdFusion query tag that selects the list of matching contacts and an output tag that displays the results to the Palm screen. You can see what the page looks like on the Palm in Figure 9.
Developing wireless Web applications gives you the ability to roll out applications to handheld devices. This process allows access to those applications for users at any time and in any place. The Palm platform provides a very nice vehicle for deploying wireless applications in ColdFusion. Acknowledgements
Portions of this article were taken from texts and articles on developing Web clipping applications from the Palm development zone
Too often with compelling new technologies market participants become overly enamored with that attractiveness of the technology and neglect underlying business drivers. This tendency, what some call the “newest shiny object syndrome” is understandable given that virtually all of us are heavily engaged in technology. But it is also mistaken. Without concrete business cases driving its deployment, IoT, like many other technologies before it, will fade into obscurity.
Nov. 26, 2015 03:00 AM EST Reads: 297
With all the incredible momentum behind the Internet of Things (IoT) industry, it is easy to forget that not a single CEO wakes up and wonders if “my IoT is broken.” What they wonder is if they are making the right decisions to do all they can to increase revenue, decrease costs, and improve customer experience – effectively the same challenges they have always had in growing their business. The exciting thing about the IoT industry is now these decisions can be better, faster, and smarter. Now all corporate assets – people, objects, and spaces – can share information about themselves and thei...
Nov. 26, 2015 02:00 AM EST Reads: 180
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound effect on the world, and what should we expect to see over the next couple of years.
Nov. 26, 2015 01:30 AM EST Reads: 428
Growth hacking is common for startups to make unheard-of progress in building their business. Career Hacks can help Geek Girls and those who support them (yes, that's you too, Dad!) to excel in this typically male-dominated world. Get ready to learn the facts: Is there a bias against women in the tech / developer communities? Why are women 50% of the workforce, but hold only 24% of the STEM or IT positions? Some beginnings of what to do about it! In her Day 2 Keynote at 17th Cloud Expo, Sandy Carter, IBM General Manager Cloud Ecosystem and Developers, and a Social Business Evangelist, wil...
Nov. 26, 2015 12:00 AM EST Reads: 521
PubNub has announced the release of BLOCKS, a set of customizable microservices that give developers a simple way to add code and deploy features for realtime apps.PubNub BLOCKS executes business logic directly on the data streaming through PubNub’s network without splitting it off to an intermediary server controlled by the customer. This revolutionary approach streamlines app development, reduces endpoint-to-endpoint latency, and allows apps to better leverage the enormous scalability of PubNub’s Data Stream Network.
Nov. 26, 2015 12:00 AM EST Reads: 278
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true change and transformation possible.
Nov. 26, 2015 12:00 AM EST Reads: 482
Microservices are a very exciting architectural approach that many organizations are looking to as a way to accelerate innovation. Microservices promise to allow teams to move away from monolithic "ball of mud" systems, but the reality is that, in the vast majority of organizations, different projects and technologies will continue to be developed at different speeds. How to handle the dependencies between these disparate systems with different iteration cycles? Consider the "canoncial problem" in this scenario: microservice A (releases daily) depends on a couple of additions to backend B (re...
Nov. 25, 2015 10:00 PM EST Reads: 391
I recently attended and was a speaker at the 4th International Internet of @ThingsExpo at the Santa Clara Convention Center. I also had the opportunity to attend this event last year and I wrote a blog from that show talking about how the “Enterprise Impact of IoT” was a key theme of last year’s show. I was curious to see if the same theme would still resonate 365 days later and what, if any, changes I would see in the content presented.
Nov. 25, 2015 09:00 PM EST Reads: 365
Apps and devices shouldn't stop working when there's limited or no network connectivity. Learn how to bring data stored in a cloud database to the edge of the network (and back again) whenever an Internet connection is available. In his session at 17th Cloud Expo, Ben Perlmutter, a Sales Engineer with IBM Cloudant, demonstrated techniques for replicating cloud databases with devices in order to build offline-first mobile or Internet of Things (IoT) apps that can provide a better, faster user experience, both offline and online. The focus of this talk was on IBM Cloudant, Apache CouchDB, and ...
Nov. 25, 2015 08:30 PM EST Reads: 366
Container technology is shaping the future of DevOps and it’s also changing the way organizations think about application development. With the rise of mobile applications in the enterprise, businesses are abandoning year-long development cycles and embracing technologies that enable rapid development and continuous deployment of apps. In his session at DevOps Summit, Kurt Collins, Developer Evangelist at Built.io, examined how Docker has evolved into a highly effective tool for application delivery by allowing increasingly popular Mobile Backend-as-a-Service (mBaaS) platforms to quickly crea...
Nov. 25, 2015 05:00 PM EST Reads: 302
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York and Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 17th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound cha...
Nov. 25, 2015 02:45 PM EST Reads: 494
Internet of @ThingsExpo, taking place June 7-9, 2016 at Javits Center, New York City and Nov 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 18th International @CloudExpo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo New York Call for Papers is now open.
Nov. 25, 2015 02:30 PM EST Reads: 507
The cloud. Like a comic book superhero, there seems to be no problem it can’t fix or cost it can’t slash. Yet making the transition is not always easy and production environments are still largely on premise. Taking some practical and sensible steps to reduce risk can also help provide a basis for a successful cloud transition. A plethora of surveys from the likes of IDG and Gartner show that more than 70 percent of enterprises have deployed at least one or more cloud application or workload. Yet a closer inspection at the data reveals less than half of these cloud projects involve production...
Nov. 25, 2015 02:15 PM EST Reads: 424
Cloud computing delivers on-demand resources that provide businesses with flexibility and cost-savings. The challenge in moving workloads to the cloud has been the cost and complexity of ensuring the initial and ongoing security and regulatory (PCI, HIPAA, FFIEC) compliance across private and public clouds. Manual security compliance is slow, prone to human error, and represents over 50% of the cost of managing cloud applications. Determining how to automate cloud security compliance is critical to maintaining positive ROI. Raxak Protect is an automated security compliance SaaS platform and ma...
Nov. 25, 2015 02:00 PM EST Reads: 355
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
Nov. 25, 2015 01:30 PM EST Reads: 467
Today air travel is a minefield of delays, hassles and customer disappointment. Airlines struggle to revitalize the experience. GE and M2Mi will demonstrate practical examples of how IoT solutions are helping airlines bring back personalization, reduce trip time and improve reliability. In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect with GE, and Dr. Sarah Cooper, M2Mi’s VP Business Development and Engineering, explored the IoT cloud-based platform technologies driving this change including privacy controls, data transparency and integration of real time context with p...
Nov. 25, 2015 12:00 PM EST Reads: 365
There are over 120 breakout sessions in all, with Keynotes, General Sessions, and Power Panels adding to three days of incredibly rich presentations and content. Join @ThingsExpo conference chair Roger Strukhoff (@IoT2040), June 7-9, 2016 in New York City, for three days of intense 'Internet of Things' discussion and focus, including Big Data's indespensable role in IoT, Smart Grids and Industrial Internet of Things, Wearables and Consumer IoT, as well as (new) IoT's use in Vertical Markets.
Nov. 25, 2015 12:00 PM EST Reads: 520
The Internet of Things (IoT) is growing rapidly by extending current technologies, products and networks. By 2020, Cisco estimates there will be 50 billion connected devices. Gartner has forecast revenues of over $300 billion, just to IoT suppliers. Now is the time to figure out how you’ll make money – not just create innovative products. With hundreds of new products and companies jumping into the IoT fray every month, there’s no shortage of innovation. Despite this, McKinsey/VisionMobile data shows "less than 10 percent of IoT developers are making enough to support a reasonably sized team....
Nov. 25, 2015 10:00 AM EST Reads: 430
We all know that data growth is exploding and storage budgets are shrinking. Instead of showing you charts on about how much data there is, in his General Session at 17th Cloud Expo, Scott Cleland, Senior Director of Product Marketing at HGST, showed how to capture all of your data in one place. After you have your data under control, you can then analyze it in one place, saving time and resources.
Nov. 25, 2015 09:45 AM EST Reads: 116
Just over a week ago I received a long and loud sustained applause for a presentation I delivered at this year’s Cloud Expo in Santa Clara. I was extremely pleased with the turnout and had some very good conversations with many of the attendees. Over the next few days I had many more meaningful conversations and was not only happy with the results but also learned a few new things. Here is everything I learned in those three days distilled into three short points.
Nov. 25, 2015 09:00 AM EST Reads: 269