The Problem
I use K-9 Mail for email on my Motorola Milestone running Android 2.1. I sometimes receive Calendar invitations by email and K-9 shows this as an attached .ics file. If you try to open this, there is no base application to handle the file type, so nothing happens.
The Solution
Download and install the ICS Bot app from the Android Market. Now when you open an email with an attached .ics file, simply click on the Open button on the file and it will bring up a new Calendar entry with the information pre-populated. Simply save the new Calendar entry and voila! It's in your Calendar.
Peter Tyrrell's musings on Information Technology - what's changed, what's stayed the same. Advice, anecdotes, lessons learned. Articles will range from serious to humorous - but I won't tell you which are which!
Search This Blog
Friday, June 11, 2010
Friday, May 28, 2010
WorkLight: Develop Once, Deploy Everywhere
I know the guys that have developed this technology. For large corporations that want to leverage their applications into multiple channels and form factors - WorkLight makes a lot of sense...
The following information is a summary from their web site.
Development
The WorkLight Solution provides companies with a robust, cost-effective mechanism that delivers ease of development and secure deployment of custom-built applications across a variety of mobile devices, desktop and web interfaces.Using the WorkLight Ajax SDK, developers can quickly develop a custom-built application by employing commonly found web development skills such as JavaScript, CSS and HTML. Once deployed onto the platform, the code will be automatically packaged to generate additional instances, each optimized per the supported environments and designed to deliver optimal user experience.
For example, from a single application design, the system will easily generate a Vista gadget, a Yahoo widget, a Facebook application, an iGoogle gadget, an iPhone and an Android application. While these interfaces are quite different in their technical characteristics, the platform generates the appropriate native code for each environment.
Some client environments have unique capabilities, such as the mini "docked mode" of the Vista Sidebar or the ability to capture photos via an iPhone camera. Leveraging WorkLight's multi-channel approach, applications can be securely extended to utilize such capabilities without compromising their cross-environments portability. For example, the application can display only the current account balance when docked, or leverage the iPhone's camera to scan a bar code.
Today's proliferation of devices, operating systems and development tools would challenge any organization attempting to roll-out a single application across multiple channels. Using the WorkLight Solution, developers can create native applications without any familiarity of the technical aspects of the different environments.
The WorkLight Solution is future-proof. As new channels become popular, WorkLight will automatically provide support for these new services allowing organizations to further extend their reach of customers, partners and employees. Application developers will not have to retro-fit their applications to add support for the new interfaces.
Security
Online and mobile consumer channels are not designed for sensitive and personal information. Typically, these services do not incorporate security mechanisms of any kind, and are not suitable for sensitive data delivery. Syndicating sensitive and proprietary business and enterprise application data in these channels poses many unique security challenges.
The WorkLight Solution addresses these challenges, meets the strictest requirements, and is field-proven at global companies. This includes user authentication and access authorization, secure application provisioning, protection from client vulnerabilities, phishing prevention and protection from many new threats inherent in consumer interfaces. WorkLight-powered applications adhere to existing security policies and regulation and are designed to leverage existing security infrastructure whenever possible.
WorkLight addresses the following critical security aspects:
Authentication – Every connection to the platform via any online channel is encrypted and authenticated. This is typically achieved by integrating with existing enterprise authentication facilities for which WorkLight provides a library of connectors. Single Sign-On (SSO) is facilitated across all channels for transparent user experience. Multiple authentication schemes are supported for widgets, including in-widget, pop-up and redirection to login page. The platform also supports strong multi-factor authentication, and multiple authentication schemes for the same application, e.g. depending on the transaction type.
Secure Provisioning – When using consumer channels, users expect to install and use applications in a familiar way, e.g. adding an iGoogle gadget or bookmarking a Facebook application. The platform includes a secure provisioning server that seamlessly integrates with existing aggregation sites, and facilitates the familiar "add to" experience is a secure manner. For increased security, the platform generates a unique application instance per user, and verifies the association on every access to prevent unsanctioned duplication and distribution.
Attack Mitigation – With the advent of new online channels like widgets and social networks, new attacks become possible and familiar attacks require special consideration. The WorkLight Application Platform addresses all these attacks so that consumer online channels become as secure as well-protected traditional web applications. This includes thwarting impersonation, framing, XSRF, JavaScript Hijacking, SQL Injection and XSS.
Client Protection – Applications syndicated by the platform are consumed via a variety of client runtime environments, such as a browser-based personalized homepage, desktop widgets and the iPhone OS. Those runtime environments expose the application to an additional set of vulnerabilities, such as easy access to JavaScript source code and services shared between multiple widgets on the same page. The platform addresses these vulnerabilities by providing an SDK that ensures isolation of the application code from the host environment and facilitates secure connection with a set of server-side runtime services.
Anti-Phishing – New types of consumer online channels potentially open the door to new phishing schemes, such as widget impersonation. The platform addresses this by extending the SSL trust model to encompass off-portal artefacts. Users are directed to look for the same authentication procedure and visual trust components they are familiar with today.
Access Control – WorkLight's patented technology enables controlled access to data via multiple channels without duplicating existing access control logic or requiring credential caching. WorkLight accomplishes this by integrating identity and role information from user directories and back-end systems. The platform associates this information with retrieved data items and with known user records to efficiently determine whether a user is allowed to access a data item.
Integration
The WorkLight Solution is designed to easily fit in any enterprise environment and channel its inherent services and processes to end users regardless of its level of complexity.The system includes rich capabilities that support an efficient integration with a wide variety of backend systems and security infrastructure components, enabling the productive access and interaction with enterprise applications, middleware products, databases and directories.
Our solution provides XML-based configuration tools and a developer UI that facilitate sophisticated mashups incorporating multiple information sources using server-side JavaScript and automatic Ajax client-side code generation.
WorkLight integration is based on pluggable adapters, configured via XML.
Adapters can be both synchronous and asynchronous, and can support both retrieval of data and transaction issuance. Further customization of adapters is possible using server-side JavaScript. If needed, the platform can be extended with additional adapters using an adapter development SDK. Some of the standard adapters that are provided with the system include Web Services, XML/HTTP, SQL, LDAP, SAP, MS SharePoint, JMS, RSS and IBM MQ.
Scalability
Enabling transactional capabilities to end-users by allowing access to backend systems via multiple channels can deliver real business value to existing customers as well as attract those interested in such innovative offerings. But companies planning on doing so must be prepared to support high volumes of transactions at extremely high frequency. This situation typically occurs due to the "always-on" nature of mobile, desktop and web applications which enables users to constantly access current and relevant information.The large number of requests generated by Ajax clients and RSS polling coupled with increased user-base and the variety of access channels can result in higher processing loads and resource consumption of backend systems, a situation that can lead to overall performance degradation.
The WorkLight Solution addresses these issues, scaling to support millions of users and multiple applications while maintaining predetermined performance and load levels. This is achieved by decoupling back-end information retrieval from actual client serving and utilizing a flexible cache scheme.
Configurable policies define maximum load permitted on back-end systems, possibly varying by day and time, concurrency limits, expiration of cached items, and granularity of data retrieval.
Thursday, May 27, 2010
The Future is Almost Here - Flexible Screens
OK, so I'm just talking about flexible screens... But the word JUST is probably not applicable to the breakthrough from Sony.
You can read the full article from WIRED: Gadget Lab but if you don't have the time, just check out this short video clip.
The production method is closer to printing than classic electronics manufacturing, so the price will probably come down quickly. Just imagine picking this up when you leave home with all your reading pre-loaded. Roll it up & stick in a pocket, unroll it on the train, bus, wherever and start reading or even watching a video!
You can read the full article from WIRED: Gadget Lab but if you don't have the time, just check out this short video clip.
The production method is closer to printing than classic electronics manufacturing, so the price will probably come down quickly. Just imagine picking this up when you leave home with all your reading pre-loaded. Roll it up & stick in a pocket, unroll it on the train, bus, wherever and start reading or even watching a video!
Tuesday, May 11, 2010
Android 2.1 Upgrade Breaks Multimedia station
The Problem
Last week I accepted the upgrade to Android 2.1 on my Motorola Milestone (Droid in the USA). Some time later, when I put it in the Multimedia station dock, I noticed that the Multimedia station app would not start.
After some reading, the solution is simple, yet in many places it's not quite correctly described.
The Fix
On your Milestone/Droid open Settings > Applications > Manage Applications, then tap the menu spot and select Filter. When the Filter sub-menu pops up, select All. You will now see more applications listed.
Scroll down to the Multimedia station and tap on it. Now this is where most of the "help" is incorrect. They tell you to "clear the cache", but on my Milestone (and others by my readings) the Clear Cache button is greyed out.
What you need to do is to tap on the Clear Data button. You will get a "panic" pop-up screen asking you if you are sure. Well of course you are - after all, you want it to work again! Don't worry, it doesn't delete the app.
That's it. Dock you Milestone/Droid and it should fire up OK.
Last week I accepted the upgrade to Android 2.1 on my Motorola Milestone (Droid in the USA). Some time later, when I put it in the Multimedia station dock, I noticed that the Multimedia station app would not start.
After some reading, the solution is simple, yet in many places it's not quite correctly described.
The Fix
On your Milestone/Droid open Settings > Applications > Manage Applications, then tap the menu spot and select Filter. When the Filter sub-menu pops up, select All. You will now see more applications listed.
Scroll down to the Multimedia station and tap on it. Now this is where most of the "help" is incorrect. They tell you to "clear the cache", but on my Milestone (and others by my readings) the Clear Cache button is greyed out.
What you need to do is to tap on the Clear Data button. You will get a "panic" pop-up screen asking you if you are sure. Well of course you are - after all, you want it to work again! Don't worry, it doesn't delete the app.
That's it. Dock you Milestone/Droid and it should fire up OK.
Monday, May 3, 2010
Lucid Lynx - First Impressions
Ubuntu 10.04 LTS (Lucid Lynx)
For those reading about Ubuntu and wondering what the LTS suffix means - it simply stands for Long Term Support. Normally the desktop release is supported for 18 months, but with LTS, Canonical provides three years support on the desktop, and five years on the server.
It boots quite quickly. On my laptop (Toshiba L355D - AMD Turion(tm) X2 Dual-Core Mobile RM-72, 4GB memory) after GRUB it loads in 10 seconds. It's even faster closing down.
I found a problem with my windows losing the top bar - so no minimise/maximise and close buttons. I have fixed this by adding "metacity --replace" as a startup application - System > Preferences > Startup Applications
For some reason, the Ubuntu team decided to move the minimise, maximise and close buttons to the left hand side of the top window bar. You can move it back to the right hand side by doing the following:
There's a few new apps added in, but I haven't played with them yet. OpenOffice 3.2 is there and works well. A few of the standard games have either gone - or had their name changed...
Once I get a bit more time with the new bits, I'll add some more comments.
For those reading about Ubuntu and wondering what the LTS suffix means - it simply stands for Long Term Support. Normally the desktop release is supported for 18 months, but with LTS, Canonical provides three years support on the desktop, and five years on the server.
It boots quite quickly. On my laptop (Toshiba L355D - AMD Turion(tm) X2 Dual-Core Mobile RM-72, 4GB memory) after GRUB it loads in 10 seconds. It's even faster closing down.
I found a problem with my windows losing the top bar - so no minimise/maximise and close buttons. I have fixed this by adding "metacity --replace" as a startup application - System > Preferences > Startup Applications
For some reason, the Ubuntu team decided to move the minimise, maximise and close buttons to the left hand side of the top window bar. You can move it back to the right hand side by doing the following:
- Open the Configuration Editor (Applications > System Tools > Configuration Editor
- Click on "apps", then "metacity", then "general"
- Locate the item "button_layout" click on the data field to the right, delete the contents and replace it with "menu:minimize,maximize,space,close"
There's a few new apps added in, but I haven't played with them yet. OpenOffice 3.2 is there and works well. A few of the standard games have either gone - or had their name changed...
Once I get a bit more time with the new bits, I'll add some more comments.
Tuesday, February 16, 2010
Ubuntu DVD - remove region on copy
My goal:
copy a DVD and remove the region code
copy a DVD and remove the region code
I have a DVD with a region code that won't play in my DVD player. I tried a few solutions, but they did a full copy, including the region code!
Then I tried k9copy. This can be loaded from the Ubuntu Software Center. It installs the k9copy application and the k9copy assistant application.
The k9copy Assistant
Screen 1 - selecting the source
Notice there's a Settings button in the bottom left hand corner. I'm not going to show you all the settings - but you have plenty to play with!
Screen 2 - selecting the activity
In my case, I selected the Rip and encode DVD. This allows you to copy a DVD to a blank DVD with a lot of control. If you take the default settings, it works very well.
Screen 3 - select the destination
k9copy assistant will choose a default folder and filename. I left this unchanged, but it's up to you.
Screen 4 - select the elements you want to copy
Now we're getting somewhere. You select/deselect by clicking the grey square next to each title. If you want the whole DVD, click each one. By clicking on a line, you can preview it in the small window - this makes it very easy to copy only what you want.
Screen 5 - confirmation
Your selected elements are shown, together with the language option you have chosen (in Settings).
Screen 6 - copy options at element level
You now have the ability to fine tune exactly how you want to copy each element. The only default option I chose was 2 pass option, which is slower but performs an improved, constant quality encoding.
From here on, k9copy provides the status of the operation and prompts you when it's time to load the blank DVD.
In Summary
I found the k9copy assistant is very easy to use. There are a myriad of options that provide control over just about anything you would wish to change. However for straight copying, just leave the defaults. Once you get used to it, try using the straight k9copy application.
Friday, February 5, 2010
androidVNC + DynDNS + X11vnc = accessing my laptop from my phone!
The goal: "to be able use my phone/PDA to access my Ubuntu laptop at home as if I was sitting at it."
Have you ever been somewhere and thought "I've got that on my PC at home. I wish there was someway I could get to it." Well now you can. The diagram below provides a graphical view of how the solution fits together. I will cover the technical aspects in words and links.
The ingredients are:
- Motorola Milestone (or any phone/PDA running Android)
- androidVNC, a free application available in the Android Market
- Ubuntu on your PC or laptop (most Linux distros supported)
- X11vnc, free server software (author would like donations) for your home machine
- DynDNA, a service that gives you a free URL to point to your home network
- Port forwarding on your router
And this diagram provides a high-level view of the solution...
Overcoming Challenges
I tried several free apps from the Android Market and, whilst they all work, I found that I preferred androidVNC because it had a better selection of settings to alter its performance.
On the Ubuntu side, I tried several of the VNC solutions like Vino, vnc4server, etc. The problems I found with these solutions is that, although they displayed the initial screen on my laptop OK, they never refreshed it. I eventually settled on X11vnc (created by Karl Runge) after wading through a lot of dismay from people, like myself, who are running Ubuntu 9.10 (Karmic Koala).
On the Ubuntu side, I tried several of the VNC solutions like Vino, vnc4server, etc. The problems I found with these solutions is that, although they displayed the initial screen on my laptop OK, they never refreshed it. I eventually settled on X11vnc (created by Karl Runge) after wading through a lot of dismay from people, like myself, who are running Ubuntu 9.10 (Karmic Koala).
How do I make my machine available from outside my home?
I'm using the Broadband cable service from Optus (Optusnet). It is connected to a D-Link DIR655 Router in my home. The router provides both wired and unwired connectivity.
Step 1: Port forwarding
Port forwarding allows you to direct certain network traffic from/to a machine on your home network. I'm not going to go into each detail here; suffice to say you need to forward ports 5500, 5800 & 5900 to your machine. The Port Forward web site provides excellent advice for most routers. You will also need to configure your router to set a fixed (internal) IP address for your machine.
Step 2: Finding your network from the Internet
Telco providers assign a single IP address to each of their customers. Unless you have a business pack, the IP address is not fixed and it can change at any time; you will not know when or how often. The solution? DynDNS! DynDNS provides free and paid DNS services. The free service is more than enough for our needs. Simply register at http://www.dyndns.org/ and select your URL from a large list. The URL will point to the IP address of your home network. But hang on! That can be changed at any time by your telco.
Correctomundo! So that's why you install the free software from DynDNS that you can configure to run on your machine. It checks to see whether the IP address of your network has been changed by your Telco. If it has been changed, it tells DynDNS, who immediately point your URL to the new IP address - wonderful! DynDNS provide 2 software clients, I used the "ddclient" option. They provide online examples on the configuration file. Start off using the basic example to get going.
Correctomundo! So that's why you install the free software from DynDNS that you can configure to run on your machine. It checks to see whether the IP address of your network has been changed by your Telco. If it has been changed, it tells DynDNS, who immediately point your URL to the new IP address - wonderful! DynDNS provide 2 software clients, I used the "ddclient" option. They provide online examples on the configuration file. Start off using the basic example to get going.
Let's see where we are so far. You have a your own URL that will always point to your home network. VNC traffic (that uses ports 5500, 5800 & 5900) will hit your router and be directed to your machine. Now we need some software...
Step 3: X11vnc Server
NOTE THAT THIS SOLUTION IS FOR THE GNOME DISPLAY MANAGER (GDM). YOU WILL NEED TO MODIFY IT FOR KDE
NOTE THAT THIS SOLUTION IS FOR THE GNOME DISPLAY MANAGER (GDM). YOU WILL NEED TO MODIFY IT FOR KDE
For Ubuntu 9.10, you need to install version X11vnc-0.99. Kamal Mostafa has done an excellent job of packaging this up for Ubuntu 9.10 here.
Code:
sudo aptitude install x11vnc
Code:
sudo nano /etc/xinetd.d/x11vnc
Code:
service x11vnc
{
port = 5900
type = UNLISTED
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/x11vnc
server_args = -inetd -o /var/log/x11vnc.log -display :0 -auth /var/lib/gdm/:0.Xauth -many -bg
disable = no
}4. Restart xinetd
Code:
sudo /etc/init.d/xinetd restart
To download this app, simply open the Android Market app on your Android phone/PDA and install it.
The cake is now baked - time to eat it.
Fire up androidVNC and connect. Here are some screen shots showing you some typical settings.
Subscribe to:
Posts (Atom)








