Tuesday, June 09, 2009
Monday, June 08, 2009
Coldtags suite ver. 3.70
A new version of Coldtags suite is ready. 370+ custom tags for JSP (and/or Coldfusion) developers.
Sunday, June 07, 2009
Business wave
Interesting review - how to Google Wave will change the business
Labels:
links
Saturday, June 06, 2009
Updates in mashups
Some updates / bug fixes in our mashups:
Mobile maps - prepare mobile maps (maps for mobile phones)
QR maps - prepare QR code for maps
Twitter info - see related information with Google Social API
Geo search - geographical search (Google + Twitter)
Mobile maps - prepare mobile maps (maps for mobile phones)
QR maps - prepare QR code for maps
Twitter info - see related information with Google Social API
Geo search - geographical search (Google + Twitter)
Labels:
mashup
Friday, June 05, 2009
For podcasters
MediaPlayer from Yahoo. The Yahoo! Media Player enhances your web site or blog by creating an embedded player for each audio link. All the links can be played with one click, turning the page into a playlist. This is done by adding just one JavaScript file to your page!
Labels:
links
Thursday, June 04, 2009
Local trends
Updates for our search mashups. Mashup Local twitters lets you see (search) local twitters and tweets in your area (just click on the map). A new version shows you also a cloud for the current topics. It is very easy to see and estimate what the local peoples are writing about.

Also you can see a list of the most active writers (again - local writers). And this list connected to the Twitter info service, so using Google Social API you can find more information about the selected blog as well as build the cloud for its own topics.

Also you can see a list of the most active writers (again - local writers). And this list connected to the Twitter info service, so using Google Social API you can find more information about the selected blog as well as build the cloud for its own topics.
Wednesday, June 03, 2009
Tuesday, June 02, 2009
Geo Location in browser
HTML 5 will support geo locations. It is not implemented yet in the full form, but something you can get already right now. Here is a useful table for the current state of geo location support:
There is also one practical trick we've used in some applications (e.g. Geo search) If you are loading Google Ajax API (just a load - do not need to use it :), Google automatically populates a google.loader.ClientLocation object. And you can get from it the geo locations for the user:
<script type="text/javascript" src="http://www.google.com/jsapi?key=your_key"></script>
and some like that in your JavaScript code:
if(google.loader.ClientLocation)
{
lat = google.loader.ClientLocation.latitude;
lng = google.loader.ClientLocation.longitude;
city = google.loader.ClientLocation.address.city;
region = google.loader.ClientLocation.address.region;
country = google.loader.ClientLocation.address.country;
code = google.loader.ClientLocation.address.country_code;
}
| Web Browser | Geolocation API support |
| Mozilla Firefox | supported in Firefox 3.5 and later versions. |
| Chrome | Supports thru Google Gears Geolocation API |
| Opera | Supported in nightly builds - download from this page |
| Safari | Support is coming soon in the IPhone’s Safari browser. |
| Internet Explorer | An experimental support available from IE8. |
There is also one practical trick we've used in some applications (e.g. Geo search) If you are loading Google Ajax API (just a load - do not need to use it :), Google automatically populates a google.loader.ClientLocation object. And you can get from it the geo locations for the user:
<script type="text/javascript" src="http://www.google.com/jsapi?key=your_key"></script>
and some like that in your JavaScript code:
if(google.loader.ClientLocation)
{
lat = google.loader.ClientLocation.latitude;
lng = google.loader.ClientLocation.longitude;
city = google.loader.ClientLocation.address.city;
region = google.loader.ClientLocation.address.region;
country = google.loader.ClientLocation.address.country;
code = google.loader.ClientLocation.address.country_code;
}
Monday, June 01, 2009
Tweet this for Java
Tweet this links for JSP (and/or Coldfusion) developers - Tweet link taglib
Sunday, May 31, 2009
Call me
WTAI interface describes a format for the special links you can use on your mobile sites. E.g. a hyperlink that activates a call or adds a new entry to phone book. E.g.:
<a href="wtai://wp/mc;phone_number_is_here">Call now</a>
And here is a special taglib from Coldtags suite that simplifies the process.
<a href="wtai://wp/mc;phone_number_is_here">Call now</a>
And here is a special taglib from Coldtags suite that simplifies the process.
Saturday, May 30, 2009
Local twitter
A new version for Local twitter - geo interface for Twitter search. Lets you see local tweets right from the Google Map.
Friday, May 29, 2009
What is this Twitter about
A new version for Twitter info mashup. Lets you combine Google Social API and Twitter API. Just type a name for any twitter account (e.g. your follower or twitter you are following to) and get a list of URL’s associated with this account. You could be surprised sometimes.
Also you can use this mashup as a link:
http://tinfo.linkstore.ru?u=twitter_account_name
A new version lets you see also a tags cloud from the latest tweets. The usage is obvious - quickly check out what this author writes about before following him.
Also you can use this mashup as a link:
http://tinfo.linkstore.ru?u=twitter_account_name
A new version lets you see also a tags cloud from the latest tweets. The usage is obvious - quickly check out what this author writes about before following him.
Thursday, May 28, 2009
Twitter location
Twitter location mashup Twitloc has been updated. Lets you post geocoded data to Twitter right from Google Map.
Labels:
mashup
Wednesday, May 27, 2009
JSF died. Again?
As far I understand these charts JSF is still a dead wood. Interesting, how many confirmations do they (Sun or Oracle already?) need in order to admit that
Labels:
JSP
Google + Twitter
Google + Twitter search mashup has been updated. By the way, now you can preview Twitter images (twitpic, yfrog) right in the search results.
Tuesday, May 26, 2009
Moscow Twitter
It says all actually - Moscow in Twitter
Monday, May 25, 2009
Geo search
Geo search mashup has been updated. Lets you discover what Google knows about the selected location (reverse geocoding) as well as the local twitters (if any)
Sunday, May 24, 2009
Tomcat clustering
A practical guide for clustering in Tomcat
Labels:
links
Friday, May 22, 2009
Big map
Bigmap mashup has been updated. Let us try a new Google Maps Ad Unit. Looks like it works :-). The ad is really changing as soon as you change the map. The real geo-context ad.
Thursday, May 21, 2009
Social search
A new version for Twitter info mashup is ready. Lets you combine Google Social API and Twitter API. Just type a name for any twitter account (e.g. your follower or twitter you are following to) and get a list of URL’s associated with this account. You could be surprised sometimes.
Also you can use this mashup as a link:
http://tinfo.linkstore.ru?u=twitter_account_name
E.g. http://tinfo.linkstore.ru?u=t411
Additionally you can use a Social search bookmarklet. Get all the related URL's just in one click.
Also you can use this mashup as a link:
http://tinfo.linkstore.ru?u=twitter_account_name
E.g. http://tinfo.linkstore.ru?u=t411
Additionally you can use a Social search bookmarklet. Get all the related URL's just in one click.
Wednesday, May 20, 2009
Mobile sites
A new component in our JSOS - Mobile redirect filter. Lets you detect requests from mobile users and redirect (forward) them to the special site (special part of your site).
Right from JSP (and/or Coldfusion pages) you can use Mobile taglib
Right from JSP (and/or Coldfusion pages) you can use Mobile taglib
Labels:
JSOS
Tuesday, May 19, 2009
Who is your follower
More twitter mashups: Twitter info. Lets you combine Google Social API and Twitter API. Just type a name for any twitter account (e.g. your follower or twitter you are following to) and get a list of URL’s associated with this account. You could be surprised sometimes.
Also you can use this mashup as a link:
http://tinfo.linkstore.ru?u=twitter_account_name
Also you can use this mashup as a link:
http://tinfo.linkstore.ru?u=twitter_account_name
Monday, May 18, 2009
Carnival of the mobilist
The latest Carnival of the mobilist mentioned our innovative SMS with attachment application.
Labels:
mashup,
telecom 2.0
Saturday, May 16, 2009
End of sockets
An interesting article about network programming - how the concept of sockets becomes obsolete
Labels:
links
Thursday, May 14, 2009
Buy vs. Sell
Yet anoter Twitter mashup: Buy vs. Sell. In the generic form you can use Tweet vs. Tweet mashup
Labels:
mashup
Wednesday, May 13, 2009
SMS attachments
Our old idea – SMS with attachment. Share local media files from your phone by SMS. The main idea here is deploy the standard SMS client from your phone – so there is no need to open some accounts, connect to the some service, use premium numbers etc. for both parties. Sender will send an ordinary SMS right to the target phone. And recipient will get an ordinary SMS too. Just with the enclosed file.
All you need is just an internet connection on your phone (what is pretty standard nowadays). You can checkout mobile application SMS with attachments here:
http://sms.linkstore.ru
Or use QR code above for copying that link right to your phone.
Labels:
mashup
Eurovision twitter
Twitter mashup - Eurovision. Check out the latest Eurovision related tweets and pictures in the real time.
Labels:
mashup
Monday, May 11, 2009
Client side info
Obtain and proceed client side information in your server side code with this taglib. You can get the following parameters:
time - describes a local time
timeZone - describes a local timezone offset
java - describes an availability for Java
javaScript - describes an availability for JavaScript
browser - describes a name for client's browser
version - describes a version for client's browser
width - describes a width for client's screen
height - describes a height for client's screen
depth - describes a color (pixel) depth for client's screen
flash - flash enabled/disabled (1/0)
time - describes a local time
timeZone - describes a local timezone offset
java - describes an availability for Java
javaScript - describes an availability for JavaScript
browser - describes a name for client's browser
version - describes a version for client's browser
width - describes a width for client's screen
height - describes a height for client's screen
depth - describes a color (pixel) depth for client's screen
flash - flash enabled/disabled (1/0)
Saturday, May 09, 2009
Time Zone
The following component from Coldtags suite lets you obtain the user's time zone based on the geographic location - Time Zone taglib. The source date here are latitude and longitude.
And of course, you can combine this taglib with Google geocode (or Yahoo geocode) component. Both of them let you obtain geo location by the given address.
And of course, you can combine this taglib with Google geocode (or Yahoo geocode) component. Both of them let you obtain geo location by the given address.
Friday, May 08, 2009
Search trends
Search mashup Got (Google Blogs + Twitter search) lets you compare search trends too (via Google Trends gadget)
Labels:
mashup
Thursday, May 07, 2009
Number of processors
Small Java code - how to get number of processors:
int noOfProcessors = 0;
try
{
Runtime rt = Runtime.getRuntime();
Class rtClass = rt.getClass();
java.lang.reflect.Method availProcessorsMethod = rtClass.getMethod("availableProcessors", null);
noOfProcessors = ((Integer)availProcessorsMethod.invoke(rt, null)).intValue();
}
catch (Exception ex)
{
// probably old JDK
}
int noOfProcessors = 0;
try
{
Runtime rt = Runtime.getRuntime();
Class rtClass = rt.getClass();
java.lang.reflect.Method availProcessorsMethod = rtClass.getMethod("availableProcessors", null);
noOfProcessors = ((Integer)availProcessorsMethod.invoke(rt, null)).intValue();
}
catch (Exception ex)
{
// probably old JDK
}
Labels:
Coldtags
Wednesday, May 06, 2009
QR code on practice
The practical usage for QR code servlet (see here) - a small service lets you present QR code for any link. The usage is:
http://linkstore.ru/servlet/qr?your_site
for example:
http://linkstore.ru/servlet/qr?http://servletsuite.com
P.S. and here you can find QR code maker for the content (used the same set of components)
Saturday, May 02, 2009
Custom list box
Add images to your list box
Labels:
JSP
Thursday, April 30, 2009
HTTP GZIP - 2
Compressed data is a simple and very effective way to improve web site usability. See some statistics here for example.
Compress filter from JSOS solves this task for Java web applications. The latest version supports also both client-side and server-side cache. So you can for example compress some big file only once and serve all the sub-sequential requests right from the cache.
Compress filter from JSOS solves this task for Java web applications. The latest version supports also both client-side and server-side cache. So you can for example compress some big file only once and serve all the sub-sequential requests right from the cache.
Wednesday, April 29, 2009
Google and Twitter
Meta search Got: Google Blogs + Twitter has been updated. See the latest from the Net in the same time on the same screen.
Labels:
mashup
Tuesday, April 28, 2009
GPS location
Some of the popular Twitter applications (Twittelator, TwitPic) let you automatically publish geo location with the status changes. This location information looks like a short link (e.g. via bit.ly service) pointing to the appropriate google map.
And here is a Java (and/or Coldfusion) component lets you deal with such location info - GPS location. Custom JSP taglib lets you decrypt location link and extract coordinates (latitude, longitude) from it, or vice versa – create such a link for the given coordinates.
And here is a real example: Twitter mashup lets you publish some location right from the Google Maps - Twitter location. Just click on the map.
P.S. see also components for URL shortening services.
And here is a Java (and/or Coldfusion) component lets you deal with such location info - GPS location. Custom JSP taglib lets you decrypt location link and extract coordinates (latitude, longitude) from it, or vice versa – create such a link for the given coordinates.
And here is a real example: Twitter mashup lets you publish some location right from the Google Maps - Twitter location. Just click on the map.
P.S. see also components for URL shortening services.
Monday, April 27, 2009
Tweet vs. Tweet
A new Twitter mashup - Tweet versus Tweet. Search Twitter for two topics in the same time: good vs. bad, $IBM vs. $ORCL, like vs. dislike, hot or not etc.
Labels:
mashup
Sunday, April 26, 2009
Short URL's
is.gd URL's shortening service is supported by Coldtags suite. See is.gd taglib.
Now you can use a full line of the most popular URL's shortening services right in your JSP (and/or Coldfusion) pages: TinyURL taglib, Bit.ly taglib as well as the "un-tiny" service: UnTiny taglib
Now you can use a full line of the most popular URL's shortening services right in your JSP (and/or Coldfusion) pages: TinyURL taglib, Bit.ly taglib as well as the "un-tiny" service: UnTiny taglib
Saturday, April 25, 2009
Page speed
At the very bottom of many web pages, you'll see a like that states: "This page was generated in X.XX seconds." This is measured by a little snippet of timing code. Here is an example of that code for JSP (and/or Coldfusion). In other words is is a practical "how to" measure the page generation time.
1. Add Exec time filter to your web application (download and save .jar file in your /WEB-INF/lib directory, add filter’s description to web.xml file
2. Describe a mapping for this filter (see examples here). Actually this mapping describes the files (pages) covered by the measurement.
3. On your JSP page deploy Exec Time taglib:
<%@ taglib uri="taglib.tld" prefix="calc" %>
Page generated in <calc:ExecTime /> ms
1. Add Exec time filter to your web application (download and save .jar file in your /WEB-INF/lib directory, add filter’s description to web.xml file
2. Describe a mapping for this filter (see examples here). Actually this mapping describes the files (pages) covered by the measurement.
3. On your JSP page deploy Exec Time taglib:
<%@ taglib uri="taglib.tld" prefix="calc" %>
Page generated in <calc:ExecTime /> ms
Friday, April 24, 2009
HTTP GZIP
HTTP gzip compression on your site - a series of tests using curl to see exactly how much time is saved on the client side.
P.S. For Java web applications you can use Gzip filter from JSOS
P.S. For Java web applications you can use Gzip filter from JSOS
Labels:
JSOS
Thursday, April 23, 2009
LDAP in JSP
Our LDAP component has been updated. Now you can request directory attributes too.
Sunday, April 19, 2009
Chat on the map
Comet based chat (by Jabbify) on the map. Bigmap mashup supports real time chat
Labels:
mashup
Friday, April 17, 2009
Coldtags suite ver. 3.65
A new version of Coldtags suite is ready. A largest set of custom JSP taglibs over the Net offers 365+ web components for JSP (and/or Coldfusion) developers.
From the latest additions check out for example UnTiny taglib - lets you easily obtain the original URL from the services like TinyURL.com
From the latest additions check out for example UnTiny taglib - lets you easily obtain the original URL from the services like TinyURL.com
Wednesday, April 15, 2009
Mobile phone as a telecom platform
Using AT command you can easily turn your mobile phone into SMS gateway for example. We wrote about this already.
But the interesting thing that you can extend this approach to the voice calls also. Here is an experiment:
Hardware:
Mobile phone Sony Ericsson K320i
USB Data cable
Software: any application capable read/write serial port.
The following command AT*ECAM=1 switch on call monitoring. So for any incoming call you will get ECAV messages describes a type for the call (e.g. voice call) as well as a phone number for the second party. So actually you can develop some telecom services using your mobile phone as a telecom platform
But the interesting thing that you can extend this approach to the voice calls also. Here is an experiment:
Hardware:
Mobile phone Sony Ericsson K320i
USB Data cable
Software: any application capable read/write serial port.
The following command AT*ECAM=1 switch on call monitoring. So for any incoming call you will get ECAV messages describes a type for the call (e.g. voice call) as well as a phone number for the second party. So actually you can develop some telecom services using your mobile phone as a telecom platform
Labels:
mashup,
telecom 2.0
Tuesday, April 14, 2009
Serving remote content locally
A proxy for the remote content – Dump servlet. Let us see the typical case – you are linking to the image on the other site. Yes - it is so called hotlinking. You are eating the traffic from that site.
Dump servlet in this case lets you request the remote content only once – during the first call. After that it will be cached and served right from your host.
Another possible use case for this servlet is a cache for the remote CGI scripts. Actually servlet supports both – client side and server side caches.
Dump servlet in this case lets you request the remote content only once – during the first call. After that it will be cached and served right from your host.
Another possible use case for this servlet is a cache for the remote CGI scripts. Actually servlet supports both – client side and server side caches.
Address book 2.0
Share your address info via QR-code. A widget for Opera lets you create QR code with your address data so it is just a matter of one click for the partner to get your full and correct address data right for the own phone. See and download here MECARD widget.
Labels:
mashup
Friday, April 10, 2009
IP geo location
Yet another database with IP's geo locations. It is free, updated monthly, supports XML API.
It would be interesting to switch GeoTrace mashup to this new DB.
P.S. for JSP you can use the following taglib also: Geo IP
It would be interesting to switch GeoTrace mashup to this new DB.
P.S. for JSP you can use the following taglib also: Geo IP
Labels:
mashup
Thursday, April 09, 2009
Twitter calculator
A yet another interesting usage for Twitter 411 mashup: Google calculator, available via Twitter. Just send to t411 a direct message in the following format:
gc your_request
For example:
gc 100 rubles in dollars
gc your_request
For example:
gc 100 rubles in dollars
Labels:
mashup
Wednesday, April 08, 2009
Short URL
You are welcome to checkout a new component in Coldtags suite: Digg URL. Lets you create a short URL via new Digg service:
<%@ taglib uri="taglib.tld" prefix="d" %>
<d:DiggUrl>http://www.servletsuite.com</d:DiggUrl>
and you will get this: http://digg.com/d1Q9SG
Actually Coldtags suite includes also the following "short urls" components:
Tiny URL
Bit.ly
Annotated links
<%@ taglib uri="taglib.tld" prefix="d" %>
<d:DiggUrl>http://www.servletsuite.com</d:DiggUrl>
and you will get this: http://digg.com/d1Q9SG
Actually Coldtags suite includes also the following "short urls" components:
Tiny URL
Bit.ly
Annotated links
Tuesday, April 07, 2009
How to post to Twitter
How to write status in Twitter from JSP (and/or Coldfusion). We are using HTTP taglib from Coldtags suite:
<%@ taglib uri="taglib32.tld" prefix="t" %>
<t:GetPost url="http://twitter.com/statuses/update.xml" method="post">
<t:setAuthorization user="your_twitter_name"
password="your_twitter_password"/>
<t:setParam name="status">test from JSP</t:setParam>
</t:GetPost>
P.S. also you can use a specialized Twitter taglib.
<%@ taglib uri="taglib32.tld" prefix="t" %>
<t:GetPost url="http://twitter.com/statuses/update.xml" method="post">
<t:setAuthorization user="your_twitter_name"
password="your_twitter_password"/>
<t:setParam name="status">test from JSP</t:setParam>
</t:GetPost>
P.S. also you can use a specialized Twitter taglib.
Monday, April 06, 2009
Image Scale
One of the popular components in JSOS - Image Scale servlet obtains an extended functionality. This servlet lets you scale the images on the fly. And you can do that for the local images (images within your web applications) as well as for the remote images:
/servlet/ImageScale?/mybigpic.gif
or
/servlet/ImageScale?/http://some_host/mybigpic.gif
Servlet supports both server side and client side cache. You can save the scaled images on your server so next time they will be served to the users right from the cache as well as provide Expires header for client side cache.
The typical use cases are:
- image thumbnails for your galleries,
- scaling images for the mobile web sites
/servlet/ImageScale?/mybigpic.gif
or
/servlet/ImageScale?/http://some_host/mybigpic.gif
Servlet supports both server side and client side cache. You can save the scaled images on your server so next time they will be served to the users right from the cache as well as provide Expires header for client side cache.
The typical use cases are:
- image thumbnails for your galleries,
- scaling images for the mobile web sites
Labels:
JSOS
Friday, April 03, 2009
Google is buying Twitter
TechCrunch is telling about this. Then main reason by their opinion is search. More precisely - real time search.
And how it could looks like you can see in Got mashup - Google Blogs + Twitter search
And how it could looks like you can see in Got mashup - Google Blogs + Twitter search
Labels:
mashup
Twitter for teacher
A really interesting collection of Twitter applications for teacher in Top 100 Twitter tools article.
And of course, our mashup Protected notes (password protected text notes) mentioned there makes it even more interesting :)
And of course, our mashup Protected notes (password protected text notes) mentioned there makes it even more interesting :)
Labels:
mashup
Wednesday, April 01, 2009
Prize for the readers
Clean this protection with the coin and get your own personal code:
Ready? Your code is: 01042009
type your code in the comments to this message. The winners will be announced shortly.
type your code in the comments to this message. The winners will be announced shortly.
Google Blogs + Twitter
Search mashup Got (Google blogs + Twitter search) lets you obtain the search string right from HTTP request: http://got.linkstore.ru?q=search+what
E.g. the latest from the Net about USD and Euro: http://got.linkstore.ru?q=usd+euro
E.g. the latest from the Net about USD and Euro: http://got.linkstore.ru?q=usd+euro
Labels:
mashup
Monday, March 30, 2009
Bug in Twitter API
Twitter API is broken. Request direct messages since some ID does not work - it returns all messages! So, for example, our bot t411 is starting to resend old replies again ...
Labels:
mashup
Thursday, March 26, 2009
Cache in Java
Interesting articles about cache in Java applications. Author targets the following Open Source frameworks: OSCache,Ehcache,JCS and Cache4J.
From our side we would like to point also your attention to the following cache related components: Cache taglib and Cache filter. They are very easy to use add-ons for your web applications.
From our side we would like to point also your attention to the following cache related components: Cache taglib and Cache filter. They are very easy to use add-ons for your web applications.
Wednesday, March 25, 2009
PDF in Java
A good practical article - how to create PDF in Java. Based on the Open Source library iText. Interesting, the latest version of iText supports barcodes.
P.S. And for the web applications you can check out the following component from Coldtags suite: Acroform. It is also iText - based component, lets you proceed so called Acroform (actually - templates in pdf) right in JSP.
P.S. And for the web applications you can check out the following component from Coldtags suite: Acroform. It is also iText - based component, lets you proceed so called Acroform (actually - templates in pdf) right in JSP.
Labels:
mashup
Tuesday, March 24, 2009
JSOS 6.25
Coldbeans Software announced the next milestone in JSOS (servlets office suite) development. JSOS reaches the version 6.25. This largest collection of Java servlets and filters provides 130+ "out of the box" components ready for building web-pages.
Check out more here: http://www.servletsuite.com
Check out more here: http://www.servletsuite.com
Labels:
JSOS
Saturday, March 21, 2009
Java Cards
A good review of the Java Cards modern state
Labels:
links
Friday, March 20, 2009
Visual traceroute
GeoTrace mashup has been updated. This web tool lets you visualize the results for traceroute. Do traceroute from your own computer, copy results into mashup window and click Show button. You will see the intermediate nodes right on Google Maps.
Technically is is a practical example for our GeoIP component as well as for Ajax taglibs from Coldtags suite
Technically is is a practical example for our GeoIP component as well as for Ajax taglibs from Coldtags suite
Wednesday, March 18, 2009
Money on the map
Googlebar control lets you show your Adsense in the local search on the Google Maps.
You can see it on the practice in Big map mashup.
You can see it on the practice in Big map mashup.
Sunday, March 15, 2009
Mobile video
Bug-fix release of Mobile video mashup
Labels:
mashup
Friday, March 13, 2009
Access restriction filter
Yet another solution for access restriction: This host filter. Lets you restrict access to some resources (as per filter's mapping in web.xml file) to the particular host (hosts) only. Hosts should be described by their IP's (comma separated list). By default the localhost (127.0.0.1) only is allowed.
P.S. and for access restriction via setting mandatory referer you can see Force referer filter.
P.S. and for access restriction via setting mandatory referer you can see Force referer filter.
Labels:
JSOS
Thursday, March 12, 2009
Queue in the cloud
Interesting service - online Message Queue. OnlineMQ provides simple queuing messaging services such as IBM Websphere MQ and Microsoft MQ, but data are online. They promise to keep the service free.
Labels:
links
Wednesday, March 11, 2009
Java memory leaks
A very useful material about fixing Java memory leaks
Labels:
links
Tuesday, March 10, 2009
Struts 2
The following files must be in Struts 2 Hello World application. Sometimes I really think that something is very very deep wrong with so called Java "frameworks" ...
Labels:
life
Monday, March 09, 2009
Schedulers in web applications
What if your web application requires some periodical process? It is good when your hosting provides some kind of cron tab scheduler, lets you invoke your own application, but it is not so widely used option. One trick we've used for example in Twitter 411 mashup (periodical polling with Twitter API) simply "borrows" requests from site visitors. You can add to your site a hidden (invisible) iframe where src attribute points to the "scheduler". And your "scheduler" will perform the requests to your periodical tasks (implemented as JSP pages or servlets). This trick described here. But it is applied level timer support.
Another option (system level) is Lifecycle modules. Lifecycle listener modules provide a means of running short or long duration Java-based tasks within the application server environment, such as instantiation of singletons or RMI servers. These modules are automatically initiated at server startup and are notified at various phases of the server life cycle.
The lifecycle module classes are called synchronously from the main server thread and Lifecycle modules can create threads if appropriate.
And the third option is writing custom MBeans. See for example Timer MBean
Another option (system level) is Lifecycle modules. Lifecycle listener modules provide a means of running short or long duration Java-based tasks within the application server environment, such as instantiation of singletons or RMI servers. These modules are automatically initiated at server startup and are notified at various phases of the server life cycle.
The lifecycle module classes are called synchronously from the main server thread and Lifecycle modules can create threads if appropriate.
And the third option is writing custom MBeans. See for example Timer MBean
Labels:
mashup
Sunday, March 08, 2009
Mobile video
Bug fixes release for Mobile video mashup.
Labels:
mashup
Thursday, March 05, 2009
Bookmarklets
Our bookmarklets mentioned in this blog collected on the separate web page: Abava bookmarklets
Labels:
mashup
Wednesday, March 04, 2009
Twitter: map on demands
One new service for Twitter - map on demands. Based on our Twitter 411 mashup (see more articles about Twitter 411 here).
It is a bot lets you obtain a map for some address. How does it work:
1. Follow to t411
2. Send to t411 a direct message in the following format:
map some_address
For example:
map Palo Alto
you will get the response in Twitter (as a direct message too) with the map for the given address. The map will be delivered in the form of the static picture - so you can see it on any mobile phone for example. We are using here the same idea as in our Mobile Maps mashup - Google static maps.
Your comments and suggestions are welcome.
And here you can read the technical details - how to create the similar new bot for Twitter by your own.
It is a bot lets you obtain a map for some address. How does it work:
1. Follow to t411
2. Send to t411 a direct message in the following format:
map some_address
For example:
map Palo Alto
you will get the response in Twitter (as a direct message too) with the map for the given address. The map will be delivered in the form of the static picture - so you can see it on any mobile phone for example. We are using here the same idea as in our Mobile Maps mashup - Google static maps.
Your comments and suggestions are welcome.
And here you can read the technical details - how to create the similar new bot for Twitter by your own.
Labels:
mashup
Tuesday, March 03, 2009
Smart Card web server programming
This post summarizes a presentation of Web Gate project (Dmitry Namiot, Simagine 2009 Innovation Award).
Web gate for SCWS
Introduction
Web gate project presents a bridge for the mobile Internet and Smart Cards Web Server (SCWS). This bridge provides a "standard" (practically defined and implemented) way for the mobile internet developers (web developers) to deploy smart cards based features in the own projects. All in all, Web gate is a development tool targets web developers and provides for them a smooth access to smart cards features.
Project description
The main idea behind this project is how to mix SCWS and mobile Internet. No doubt, that the mobile internet word is much bigger, than the potential SCWS-alone based projects. So the aim of this project is to bring SCWS-based capabilities to the mobile internet developers. Let them deploy smart cards based projects via the familiar (well known) for them web tools.
As per above-declared goals we have to implement at least the following things:
- propose a set of the components (widgets), provided access to the smart cards features
- propose a smooth integration for the selected components into modern web development tools
As a result web developers will get a tool (it is a key point – we are providing project for SCWS, but our target is actually web development crowd), let them access to smart cards features without knowing any technical details about smart card programming. And even more – this access will be tied to the web development exclusively, so there is no need in the new development skills for the web developers at all.
From our understanding the ability to win developers is a key issue for any new computer platform, including smart cards. Such a win can provide a stream of the new applications from the development community and so make the platform successful. And on this way the web development is becoming the mainstream. At the first hand it is so due to its simplicity and the huge army of the developers. So we are expecting here, that adding for web developers some forms of the convenient access to the smart cards data will be more than simply requested feature. This feature will smoothly enhance the existing development tools without adding a new complexity for the developers. It is the main idea behind our Web gate project.
Main features
Web gate offers a set of web controls (widgets) for the mobile web pages. We’ve decided to provide these controls in the form of custom tag. It is a standard approach for the extending markup languages (e.g. HTML), supported nowadays in all the development frameworks (e.g. JSP, ASP, ASP.NET etc.) These tags, being rendered by the application server (servlets container like Tomcat) provides at the end some piece of HTML code. So the initial page could be loaded as usually into browser on the mobile phone.
HTML code, generated by the components contains links to the SCWS. So the user could activate these links and get access to the appropriate servlets on SCWS. And these servlets (also part of Web gate package) provide access to the smart card features (to the features available via smart cards). So for the user this smart card access is just a click away from the original (loaded) page.
There are two types of code chunks created by the Web gate components. The first type is just a "direct" access to card’s features. For example: make a call, send SMS etc. HTML code chunk created by the component is just a "normal" hyperlink pointing to some SCWS servlet, where the relevant attributes (e.g. phone number to call) could be provided as servlet’s parameters
The second type of the components lets developers personalize forms with the data stored on (provided by) the smart card. It is HTML form that should be submitted to some CGI server (as per mobile web page business processes) where some fields could be filled by the data from the smart card. E.g. read some data file from the smart card and use its data within the form or request a cell id and use it as a value for some hidden form’s field etc. So this chunk of HTML code is a form again but instead of the real CGI it could be passed to the SCWS servlet. This servlet will request data from the smart card and return back the initialized form pointed to the real CGI script again. The drawback here is an extra click (submit the form to the localhost). But the positive elements are prevailing in our opinion: high level of customization (substitute data from the smart card), improved usability (no manual typing), safety (do not memorize keys and id’s – they will be extracted from the smart card), high level of the personalization (telecom operators will be able to provide cards with own data for use them in mobile web). And all of this just for the price of one extra click.
High level architecture
Here is what we did (proposed) from the practical point of view. As per life cycle of the typical web application:
1. Web developers prepare a mobile site (page)
2. Web page may include components (controls) pointed to the smart cards. The word "pointed" here describes either the ability request some functionality from the card (via the card) or the ability to get some data, saved on the card and reuse them (data) across the page (within the web application)
3. Page is requested by the web-browser (as usually) from the mobile terminal. As it is stated above the loaded page may include SCWS related stuff. Due to nature of HTML we have the well defined abilities to present the potential actions. It either a hyperlink or a form. So in our case we could present either some hyperlink, pointed to SCWS resource or some form, where the action attribute pointed to SCWS resource (servlet).
4. User may activate SCWS related things (controls) right from the browser. As per the above-mentioned nature of the components it either simply click on the hyperlink or submitting the form.
5. The hyperlinks will be used for the direct actions: place a new call, send a new SMS.
6. The forms will be used for the access to the data, saved on the smart cards. The typical use case is the following. The original mobile web page contains HTML form, where some of the fields should be filled by the data saved on the smart card.
Smart card is a trusted source. So the operator raised the card could save, for example, some own data on the card. It could be for example client’s id (ids), some preferences, marketing related data (sex, age group etc.) And later, when the card owner surfs the Net with the own mobile, the above-mentioned data could be used within the web applications.
What does it mean "used" here? All the existing web applications at the end of the day do absolutely the same things regardless of their business area – perform HTTP requests. E.g. customer fills out some form and submits it to the server. And here the smart cards data goes to the scene. We can add the data from the card to the form. So, technically the target web application will get via HTTP request some parameters, filled (initialized) from the smart card.
How can we do that? We can do it through the followings steps:
- replace action attribute of the original form with our SCWS servlet
- submit the original form to our SWSC application first
- fill the parameters and return back a new page (with the original form again!) where action attribute will be pointed to the its original destination. And some the fields within the returned form could be filled (initialized) by card’s data
So it is an extra click from the user’s point of view (submit form to SCWS servlet first), but for such minimal usability discrimination we can get a huge advantages. This process let us automatically pickup within our form any data right from the smart card. You can see this process as an analogue of form auto-filling, where data comes right from smart card. So it is a practical way for the personalization in the mobile internet.
And by the way, by the same principles we can save some data right on the card for the future usage.
Also we can mark here, that the described approach is similar by the some manner to the well known approach in the web development called ‘url rewriting’. As you can see above, we also "rewrite urls", but do actually a much more than simply session id adding.
Usage scenario
Now let us see how to incorporate our "smart controls" into mobile web pages. In order to make the easy transition to new components for the web developers we are providing the components as custom tags. Tags are familiar for the web development crowd. And all the modern IDE support custom tags.
So in this project we propose components as custom JSP taglibs. They will work "as is" in JSP and/or Coldfusion projects. The similar approach could be moved practically "as is" to ASP.NET world for example.
As we stated above there are two types of components (controls) pointed (referred) to the SCWS:
1. Hyperlinks, actually requested some actions from Smart Cards. The typical use cases are: place a call, send a new SMS.
2. Forms. Actually will be used for the requesting the stored data right from the cards.
For the actions the JSP inclusion looks so (sc here is a prefix, assigned for the taglib):
<!-- make a call -->
<sc:MakeCall phone="1800976"/>
<!-- send a SMS -->
<sc:SendSMS phone="1800976">how are you</sc:SendSMS>
web developers places a links (of course, the attributes could be generated dynamically) and the actual action (place a call, send a SMS) is just an ordinary link activation.
Let us see how the new (smart) forms looks like.
the original form on the web page looks so:
<form action="your_real_action" method="post">
<input type="hidden" name="id"/>
Name: <input type="text">
<input type="submit" value="Submit" />
</form>
our goal is to obtain a value for ID field (hidden field in the form) from user’s smart card. So we offer to the user submit the form to SCWS, our servlet will calculate ID (e.g. read its value from some file, preloaded by the telecom operator) and returns back the same form with the initialized fields. This “smart” form could be presented so:
<!-- submit form to SCWS servlet at the first hand -->
<sc:Form scws="your_scws_servlet" action="your_real_action" method="post">
<input type="hidden" name="id"/>
Name: <input type="text">
<input type="submit" value="Submit"/>
</sc:Form>
this example illustrates the idea with the forms (see above about the components). Code generated by this tag is just a form too, but its action will be described by the attribute scws. So the form could be submitted to our servlet. Servlet will calculate "smart" data and return back the original (here is the trick!) form with the pre-filled data:
<form action="your_real_action" method="post">
<input type="hidden" name="value_from_smart_card"/>
Name: <input type="text">
<input type="submit" value="Submit"/>
</form>
The technical implementation
For the actions (MakeCall, SendSMS) taglib simply generates a link to the appropriate SCWS servlet (the real link to http://127.0.0.1:3516/...)
For the forms taglib creates a form again, changes the action attribute (now it must be our SCWS servlet) and passes the whole original form (tag’s body) as a parameter. Servlet can read this parameter (the original form), replace (substitute) some data within it and return it back.
Conclusion
No doubt, that mobile web area is huge. Smart Card Web Server as per spec is somewhat isolated from the web. The proposed tools fill the gap, combining the best things from the both words: wide adoption of mobile web will meet the high level of personalization. And two tings are especially important here: the personalization comes from the trusted source (smart card) and uses the instruments the web developers are familiar with already.
And what is especially important, that the proposed add-on follows actually to the development model web programmers are already familiar with.
Web gate project suggests the practical approach for the mobile web developers – how to incorporate smart cards features into web projects. The biggest advantage of the suggested method is its smooth (natural) incorporation into the current web development practice. The gate does not introduce a new paradigm for the web developers and leverages their existing skills.
Another big advantage is the openness of the project (the ability to extend it). It is very easy to suggest (add) new components, where new stuff could be added any time without changing the already implemented things.
Web gate for SCWS
Introduction
Web gate project presents a bridge for the mobile Internet and Smart Cards Web Server (SCWS). This bridge provides a "standard" (practically defined and implemented) way for the mobile internet developers (web developers) to deploy smart cards based features in the own projects. All in all, Web gate is a development tool targets web developers and provides for them a smooth access to smart cards features.
Project description
The main idea behind this project is how to mix SCWS and mobile Internet. No doubt, that the mobile internet word is much bigger, than the potential SCWS-alone based projects. So the aim of this project is to bring SCWS-based capabilities to the mobile internet developers. Let them deploy smart cards based projects via the familiar (well known) for them web tools.
As per above-declared goals we have to implement at least the following things:
- propose a set of the components (widgets), provided access to the smart cards features
- propose a smooth integration for the selected components into modern web development tools
As a result web developers will get a tool (it is a key point – we are providing project for SCWS, but our target is actually web development crowd), let them access to smart cards features without knowing any technical details about smart card programming. And even more – this access will be tied to the web development exclusively, so there is no need in the new development skills for the web developers at all.
From our understanding the ability to win developers is a key issue for any new computer platform, including smart cards. Such a win can provide a stream of the new applications from the development community and so make the platform successful. And on this way the web development is becoming the mainstream. At the first hand it is so due to its simplicity and the huge army of the developers. So we are expecting here, that adding for web developers some forms of the convenient access to the smart cards data will be more than simply requested feature. This feature will smoothly enhance the existing development tools without adding a new complexity for the developers. It is the main idea behind our Web gate project.
Main features
Web gate offers a set of web controls (widgets) for the mobile web pages. We’ve decided to provide these controls in the form of custom tag. It is a standard approach for the extending markup languages (e.g. HTML), supported nowadays in all the development frameworks (e.g. JSP, ASP, ASP.NET etc.) These tags, being rendered by the application server (servlets container like Tomcat) provides at the end some piece of HTML code. So the initial page could be loaded as usually into browser on the mobile phone.
HTML code, generated by the components contains links to the SCWS. So the user could activate these links and get access to the appropriate servlets on SCWS. And these servlets (also part of Web gate package) provide access to the smart card features (to the features available via smart cards). So for the user this smart card access is just a click away from the original (loaded) page.
There are two types of code chunks created by the Web gate components. The first type is just a "direct" access to card’s features. For example: make a call, send SMS etc. HTML code chunk created by the component is just a "normal" hyperlink pointing to some SCWS servlet, where the relevant attributes (e.g. phone number to call) could be provided as servlet’s parameters
The second type of the components lets developers personalize forms with the data stored on (provided by) the smart card. It is HTML form that should be submitted to some CGI server (as per mobile web page business processes) where some fields could be filled by the data from the smart card. E.g. read some data file from the smart card and use its data within the form or request a cell id and use it as a value for some hidden form’s field etc. So this chunk of HTML code is a form again but instead of the real CGI it could be passed to the SCWS servlet. This servlet will request data from the smart card and return back the initialized form pointed to the real CGI script again. The drawback here is an extra click (submit the form to the localhost). But the positive elements are prevailing in our opinion: high level of customization (substitute data from the smart card), improved usability (no manual typing), safety (do not memorize keys and id’s – they will be extracted from the smart card), high level of the personalization (telecom operators will be able to provide cards with own data for use them in mobile web). And all of this just for the price of one extra click.
High level architecture
Here is what we did (proposed) from the practical point of view. As per life cycle of the typical web application:
1. Web developers prepare a mobile site (page)
2. Web page may include components (controls) pointed to the smart cards. The word "pointed" here describes either the ability request some functionality from the card (via the card) or the ability to get some data, saved on the card and reuse them (data) across the page (within the web application)
3. Page is requested by the web-browser (as usually) from the mobile terminal. As it is stated above the loaded page may include SCWS related stuff. Due to nature of HTML we have the well defined abilities to present the potential actions. It either a hyperlink or a form. So in our case we could present either some hyperlink, pointed to SCWS resource or some form, where the action attribute pointed to SCWS resource (servlet).
4. User may activate SCWS related things (controls) right from the browser. As per the above-mentioned nature of the components it either simply click on the hyperlink or submitting the form.
5. The hyperlinks will be used for the direct actions: place a new call, send a new SMS.
6. The forms will be used for the access to the data, saved on the smart cards. The typical use case is the following. The original mobile web page contains HTML form, where some of the fields should be filled by the data saved on the smart card.
Smart card is a trusted source. So the operator raised the card could save, for example, some own data on the card. It could be for example client’s id (ids), some preferences, marketing related data (sex, age group etc.) And later, when the card owner surfs the Net with the own mobile, the above-mentioned data could be used within the web applications.
What does it mean "used" here? All the existing web applications at the end of the day do absolutely the same things regardless of their business area – perform HTTP requests. E.g. customer fills out some form and submits it to the server. And here the smart cards data goes to the scene. We can add the data from the card to the form. So, technically the target web application will get via HTTP request some parameters, filled (initialized) from the smart card.
How can we do that? We can do it through the followings steps:
- replace action attribute of the original form with our SCWS servlet
- submit the original form to our SWSC application first
- fill the parameters and return back a new page (with the original form again!) where action attribute will be pointed to the its original destination. And some the fields within the returned form could be filled (initialized) by card’s data
So it is an extra click from the user’s point of view (submit form to SCWS servlet first), but for such minimal usability discrimination we can get a huge advantages. This process let us automatically pickup within our form any data right from the smart card. You can see this process as an analogue of form auto-filling, where data comes right from smart card. So it is a practical way for the personalization in the mobile internet.
And by the way, by the same principles we can save some data right on the card for the future usage.
Also we can mark here, that the described approach is similar by the some manner to the well known approach in the web development called ‘url rewriting’. As you can see above, we also "rewrite urls", but do actually a much more than simply session id adding.
Usage scenario
Now let us see how to incorporate our "smart controls" into mobile web pages. In order to make the easy transition to new components for the web developers we are providing the components as custom tags. Tags are familiar for the web development crowd. And all the modern IDE support custom tags.
So in this project we propose components as custom JSP taglibs. They will work "as is" in JSP and/or Coldfusion projects. The similar approach could be moved practically "as is" to ASP.NET world for example.
As we stated above there are two types of components (controls) pointed (referred) to the SCWS:
1. Hyperlinks, actually requested some actions from Smart Cards. The typical use cases are: place a call, send a new SMS.
2. Forms. Actually will be used for the requesting the stored data right from the cards.
For the actions the JSP inclusion looks so (sc here is a prefix, assigned for the taglib):
<!-- make a call -->
<sc:MakeCall phone="1800976"/>
<!-- send a SMS -->
<sc:SendSMS phone="1800976">how are you</sc:SendSMS>
web developers places a links (of course, the attributes could be generated dynamically) and the actual action (place a call, send a SMS) is just an ordinary link activation.
Let us see how the new (smart) forms looks like.
the original form on the web page looks so:
<form action="your_real_action" method="post">
<input type="hidden" name="id"/>
Name: <input type="text">
<input type="submit" value="Submit" />
</form>
our goal is to obtain a value for ID field (hidden field in the form) from user’s smart card. So we offer to the user submit the form to SCWS, our servlet will calculate ID (e.g. read its value from some file, preloaded by the telecom operator) and returns back the same form with the initialized fields. This “smart” form could be presented so:
<!-- submit form to SCWS servlet at the first hand -->
<sc:Form scws="your_scws_servlet" action="your_real_action" method="post">
<input type="hidden" name="id"/>
Name: <input type="text">
<input type="submit" value="Submit"/>
</sc:Form>
this example illustrates the idea with the forms (see above about the components). Code generated by this tag is just a form too, but its action will be described by the attribute scws. So the form could be submitted to our servlet. Servlet will calculate "smart" data and return back the original (here is the trick!) form with the pre-filled data:
<form action="your_real_action" method="post">
<input type="hidden" name="value_from_smart_card"/>
Name: <input type="text">
<input type="submit" value="Submit"/>
</form>
The technical implementation
For the actions (MakeCall, SendSMS) taglib simply generates a link to the appropriate SCWS servlet (the real link to http://127.0.0.1:3516/...)
For the forms taglib creates a form again, changes the action attribute (now it must be our SCWS servlet) and passes the whole original form (tag’s body) as a parameter. Servlet can read this parameter (the original form), replace (substitute) some data within it and return it back.
Conclusion
No doubt, that mobile web area is huge. Smart Card Web Server as per spec is somewhat isolated from the web. The proposed tools fill the gap, combining the best things from the both words: wide adoption of mobile web will meet the high level of personalization. And two tings are especially important here: the personalization comes from the trusted source (smart card) and uses the instruments the web developers are familiar with already.
And what is especially important, that the proposed add-on follows actually to the development model web programmers are already familiar with.
Web gate project suggests the practical approach for the mobile web developers – how to incorporate smart cards features into web projects. The biggest advantage of the suggested method is its smooth (natural) incorporation into the current web development practice. The gate does not introduce a new paradigm for the web developers and leverages their existing skills.
Another big advantage is the openness of the project (the ability to extend it). It is very easy to suggest (add) new components, where new stuff could be added any time without changing the already implemented things.
Labels:
mashup
Monday, March 02, 2009
Mobile video
Mobile video site - Jokes: http://tinyurl.com/dxz5yt. Created with Mobile video mashup
You can copy the above mentioned link right to your phone with the help of QR-code.
Labels:
mashup
Sunday, March 01, 2009
Twitter SMS
Free SMS provider for Twitter: Twe2. So you can still get direct messages as well as replies via SMS. And by the way it means that with the help of Twitter 411 service you can create a free information service for the mobile (it is a key!) users. So Twitter will play a role of a mobile development platform.
You can find a more about Twitter 411 - bot creator in this blog.
You can find a more about Twitter 411 - bot creator in this blog.
Labels:
mashup,
telecom 2.0
Thursday, February 26, 2009
HTTP proxy
HTTP proxy servlet has been updated. Now it should correctly proceed HTTP status codes. Your feedback is welcome as usually.
Labels:
JSOS
Tuesday, February 24, 2009
Mobile bookmarks
One of the problems for the mobile web development is a bookmarking. The bookmarking on the mobile browser could be not very user-friendly, and also you can't always see the URL of the site while you are browsing on mobile. One of the possible solutions here belongs to micro-formats deployment. You can present a hCard card / VCF card and load site's URL right into mobile address book. See examples here. And here hCard taglib from Coldtags suite could help - you can easily build hCard with this component. It is a hCard creator for JSP.
Labels:
mashup,
telecom 2.0
Monday, February 23, 2009
Coldtags suite ver. 3.60
A new version of Coldtags suite is ready. A largest set of custom JSP taglibs over the Net offers 360+ Java web components.
P.S. Interesting, we see a lot of Coldfusion developers used our components during the last several months. It looks like Coldfusion is back.
P.S. Interesting, we see a lot of Coldfusion developers used our components during the last several months. It looks like Coldfusion is back.
Sunday, February 22, 2009
Smart Cards Web Server
Innovation Award of Simagine 2009 contest goes to Russia.
This project suggests a new approach for smart cards development. It uses Smart Cards Web Server as a bridge for the mobile web development. Exposing all the card features as servlets we can allow mobile web developers deploy smart cards features in the web projects without any knowledge to Smart Cards API. For example, for JSP developers smart card features are available just as ordinary custom taglib. Feel free to contact us if you need more details.
This project suggests a new approach for smart cards development. It uses Smart Cards Web Server as a bridge for the mobile web development. Exposing all the card features as servlets we can allow mobile web developers deploy smart cards features in the web projects without any knowledge to Smart Cards API. For example, for JSP developers smart card features are available just as ordinary custom taglib. Feel free to contact us if you need more details.
Labels:
mashup,
telecom 2.0
Saturday, February 14, 2009
Annotated links
Mashups news: Annotated links has been updated. And a new version of API provides custom JSP taglib lets you pack links right from your JSP (and/or Coldfusion) applications. See details here.
The following component from our Coldtags suite does the job: Annotated links taglib.
The following component from our Coldtags suite does the job: Annotated links taglib.
Thursday, February 12, 2009
Mobile video sites creator
Our mashup Mobile video sites generator has been updated as well as the components used for access to YouTube API
Wednesday, February 11, 2009
Tuesday, February 10, 2009
JSOS ver. 6.20
Coldbeans Software announced the next milestone in JSOS (servlets office suite) development. JSOS reaches the version 6.20. This largest collection of Java servlets and filters provides 125+ "out of the box" components ready for building web-pages.
One of the biggest parts is the rich set of filters. Package includes such components as XML and WML transcoding, access restriction, traffic restriction, caching, profiling etc.
All components are configurable, so you may incorporate them into your own design frameset. Components from JSOS do support WAP/WML, so the same set of components can be used for wireless users too. At this moment JSOS provides a largest set of servlets and filters over the Net.
Check out more here: http://www.servletsuite.com
One of the biggest parts is the rich set of filters. Package includes such components as XML and WML transcoding, access restriction, traffic restriction, caching, profiling etc.
All components are configurable, so you may incorporate them into your own design frameset. Components from JSOS do support WAP/WML, so the same set of components can be used for wireless users too. At this moment JSOS provides a largest set of servlets and filters over the Net.
Check out more here: http://www.servletsuite.com
Labels:
JSOS
Monday, February 02, 2009
Secure file exchange
Mashup Protected notes lets you prepare password protected note so the authorized people only can access to. And now you can attach files to your text notes. The main idea is the same - publish private information on the public sources. E.g. put limited access data in your public Twitter line etc.
Labels:
mashup
Sunday, February 01, 2009
Captcha servlet
The simplest solution for captcha deployment in Java web applications: Captcha servlet
Labels:
JSOS
Monday, January 26, 2009
Mobile sites creator
We wrote recently about QR codes for YouTube. It is a bookmarklet, lets you copy YouTube mobile page right to your phone. Now let us see a more generic solution - how to automatically create a mobile video site. Our new mashup YouTube mobile video lets you collect a bundle of interesting video pages and automatically create a mobile (XHTML, WAP 2.0) site for them. Could be a good source of the mobile traffic for the telecom operators as well a usefull add-on for the mobile sites developers (designers). For example, just create without any programming a link for the video data your visitors could be interested in and use this link on the own mobile portal (site).
The usage is very easy. On the mashup's page (no need for the registration) just set a link for YouTube page. Than edit the title for this page and add it to the site. Mashup automatically detects a relevant mobile data and returns you a link to the mobile site. You can share this link with email, Twitter, Facebook or even copy it right to your own mobile via QR-code. And it is exactly the same link you can reuse across your own mobile sites.
Technically it is an YouTube API and several of custom tags from Coldtags suite. For example - YouTube mashup taglib.
The usage is very easy. On the mashup's page (no need for the registration) just set a link for YouTube page. Than edit the title for this page and add it to the site. Mashup automatically detects a relevant mobile data and returns you a link to the mobile site. You can share this link with email, Twitter, Facebook or even copy it right to your own mobile via QR-code. And it is exactly the same link you can reuse across your own mobile sites.
Technically it is an YouTube API and several of custom tags from Coldtags suite. For example - YouTube mashup taglib.
Friday, January 23, 2009
More Twitter 411
Our Twitter 411 mashup in Twitdom directory
Labels:
mashup
Wednesday, January 21, 2009
YouTube QR code
An useful QR code bookmarklet. Lets you obtain QR code for the mobile version of opened YouTube video (it will create a QR code image with the URL of the mobile YouTube page for the video you are viewing).
If you are using Internet Explorer, just right click on the link, and select Add to Favorites and save it to the Links folder. If you are using Firefox, right click the link and select Bookmark This Link and save it to the Bookmark Toolbar Folder.
How does it work? Open any YouTube page. E.g. Magic tricks. With the opened page select YouTube QR code bookmarklet. And you will get a QR code for the mobile version. So as soon as you scan it the mobile URL will be right on your mobile. It could be a good traffic generation tools for the mobile operators - now it is very easy to transfer YouTube video to mobile.
More bookmarklets see here.
How does it work? Open any YouTube page. E.g. Magic tricks. With the opened page select YouTube QR code bookmarklet. And you will get a QR code for the mobile version. So as soon as you scan it the mobile URL will be right on your mobile. It could be a good traffic generation tools for the mobile operators - now it is very easy to transfer YouTube video to mobile.
More bookmarklets see here.
Labels:
mashup
Tuesday, January 20, 2009
Decorator
Decorator filter lets you update pages on the fly. Filter lets you add dynamically (on the fly) some content to the serviced requests. More precisely filter adds content from the given file before, after or inside of the given HTML tag (e.g. before the body tag, or after the head tag etc.). For example lets us add a new style for the each div tag. We can create a file /styles/add_on.txt with the following content: style="color:red". Now with the Decorator filter we can do the following:
<filter>
<filter-name>DecoratorFilter</filter-name>
<filter-class>com.cj.decorator.DecoratorFilter</filter-class>
<init-param>
<param-name>data</param-name>
<param-value>/styles/add_on.txt</param-value>
</init-param>
<init-param>
<param-name>tag</param-name>
<param-value>div</param-value>
</init-param>
<init-param>
<param-name>place</param-name>
<param-value>inside</param-value>
</init-param>
</filter>
and as soon as we map this filter to our JSP files, filter will update div blocks on the fly.
P.S. check out other filters in our JSOS package. There are a lot of updates.
<filter>
<filter-name>DecoratorFilter</filter-name>
<filter-class>com.cj.decorator.DecoratorFilter</filter-class>
<init-param>
<param-name>data</param-name>
<param-value>/styles/add_on.txt</param-value>
</init-param>
<init-param>
<param-name>tag</param-name>
<param-value>div</param-value>
</init-param>
<init-param>
<param-name>place</param-name>
<param-value>inside</param-value>
</init-param>
</filter>
and as soon as we map this filter to our JSP files, filter will update div blocks on the fly.
P.S. check out other filters in our JSOS package. There are a lot of updates.
Labels:
JSOS
Monday, January 19, 2009
Twitter talk bot
One interesting feature in Twitter 411 service. This mashup lets users create own programmable Twitter bots. They are so calling messaging bots - so they will respond to direct messages.Service lets you register (reserve) some keywords (words, direct messages started with) and define your own reactions (including your own CGI scripts) for the reserved words in the incoming messages. Here you can see more about building your own information systems on the top of Twitter and how you can easily create your own Twitter bot.
But if you will simply send any DM to Twitter user t411 and the first word in your DM is not reserved for the service you will get answer from the default service - talk robot. Of course, it is not a famous Eliza from J.Veizenbaum, but anyway it can support the conversation, so you can talk. Try to send DM to t411 (you must follow to it first, of course) and talk with the robot.
But if you will simply send any DM to Twitter user t411 and the first word in your DM is not reserved for the service you will get answer from the default service - talk robot. Of course, it is not a famous Eliza from J.Veizenbaum, but anyway it can support the conversation, so you can talk. Try to send DM to t411 (you must follow to it first, of course) and talk with the robot.
Labels:
mashup
Sunday, January 18, 2009
Protected messages
Yet another messaging solution: Protected messages. Lets you create password protected text notes. The idea is transparent - use public sources for the private note distribution. E.g. publish private notes (the authorized people only will be able to read) in your public Twitter line. Or leave private replies in the blogs etc.
See also Annotated links and Secure messages mashups
See also Annotated links and Secure messages mashups
Labels:
mashup
Thursday, January 15, 2009
Mobilize it with QR-codes
Mashup QR-code maker is an easiest way (well – yet another attempt to present an easiest way) for the mobilizing of user-defined content. Here are two tasks at least. At the first hand we need to create a mobile view for user-defined data. And what is important of course we need to do that very simply. After that we have to present by some way this view for our mobile users. Actually, QR-code generator mashup solves these tasks exactly.
As soon as the web user types (or copy-pastes) some content the relevant mobile web page will be created automatically. And a link (URL) for this fresh web page will be presented as a QR-code. So as soon as mobile user scans this code than he/she will get user-defined info (an appropriate web page) automatically.
All in all it is a simplest way for the content mobilization. There is no need in programming/developing skill at all. And QR-codes solve the distribution problem.
The latest version of QR-code mashup lets you add some local document to the content (e.g. photo, video, data files etc.). So you can share for example some local saved video data for the mobile users.
As soon as the web user types (or copy-pastes) some content the relevant mobile web page will be created automatically. And a link (URL) for this fresh web page will be presented as a QR-code. So as soon as mobile user scans this code than he/she will get user-defined info (an appropriate web page) automatically.
All in all it is a simplest way for the content mobilization. There is no need in programming/developing skill at all. And QR-codes solve the distribution problem.
The latest version of QR-code mashup lets you add some local document to the content (e.g. photo, video, data files etc.). So you can share for example some local saved video data for the mobile users.
Labels:
mashup
Wednesday, January 14, 2009
Secure messages
Mashup Secure messages supports password protected notes. Here is an idea: you can publish secure notes in the public stream (e.g. in your Twitter status) and only authorized people will be able to read it. And the message is self-destructable (one time readable only).
Technically it is Password protected taglib from Coldtags suite.
Technically it is Password protected taglib from Coldtags suite.
Labels:
mashup
Tuesday, January 13, 2009
QR-code in newspapers
Cash - one of the leading financial newspaper in Switzerland uses QR-Codes (in the paper version!). The readers can access stock quotes and financial information by scanning such a code right from the his/her mobile.The source: QR code maker - an easiest way to mobilize your content with QR codes. And the latest version of this QR code generator lets you deal with the local files too. You can easily share your local files for the mobile users.
Labels:
mashup
Monday, January 12, 2009
QR code generator
Short note: our QR-code maker has been updated.
Labels:
mashup
Sunday, January 11, 2009
Authorization filter
A fastest way for setting an authorized access to your files - Authorization filter. Just one declaration in your web.xml file, describes user name/password pair:
<filter>
<filter-name>AuthFilter</filter-name>
<filter-class>com.cj.auth.AuthFilter</filter-class>
<init-param>
<param-name>name</param-name>
<param-value>guest</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>12345</param-value>
</init-param>
</filter>
and now just map this filter to some directory (file) you are going to protect:
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>/closed/*.jsp</url-pattern>
</filter-mapping>
<filter>
<filter-name>AuthFilter</filter-name>
<filter-class>com.cj.auth.AuthFilter</filter-class>
<init-param>
<param-name>name</param-name>
<param-value>guest</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>12345</param-value>
</init-param>
</filter>
and now just map this filter to some directory (file) you are going to protect:
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>/closed/*.jsp</url-pattern>
</filter-mapping>
Labels:
JSOS
Thursday, January 08, 2009
Password protected
A new component in our Coldtags suite - Password protected pages. Lets you create password protected pages on the fly. Custom JSP taglib lets you define authorized access only right in your JSP (and/or Coldfusion by the way) page. E.g. place the following code on the top of your page:
<%@ taglib uri="taglib.tld" prefix="p" %>
<p:PasswordProtect realm="Protected" name="guest" password="12345"/>
...
// rest of your JSP (HTML) code
taglib lets you define user name/password pair for this page. And login dialog will be popped up by this taglib also.
<%@ taglib uri="taglib.tld" prefix="p" %>
<p:PasswordProtect realm="Protected" name="guest" password="12345"/>
...
// rest of your JSP (HTML) code
taglib lets you define user name/password pair for this page. And login dialog will be popped up by this taglib also.
Labels:
Coldtags
Saturday, December 27, 2008
Twitter location
Extending our Twitter related tootls series (see for example Twitter 411) - a new mashup is ready: Twitter location. If you are authorized on Twitter.com than you can set your location right from the Google Maps. Just click on the map and update your status in Twitter. Technically it is a Google Maps API (reverse geocoding) - similarly to the Geo Search
Labels:
mashup
Thursday, December 25, 2008
Annotated links - REST API
The mashup Annotated links supports REST API too. So you can pack together some URL and comment right from your own application. Actually even JavaScript is enough here - the service can return JSON. Details for REST API are here.
Labels:
mashup
Monday, December 22, 2008
Annotated links bookmarklet
An useful add-on to our Annotated links mashup - Annotation bookmarklet. Lets you add an annotation for the current url (it will create an annotation with the URL of the page you are viewing).
Add annotation
If you are using Internet Explorer, just right click on the link, and select Add to Favorites and save it to the Links folder. If you are using Firefox, right click the link and select Bookmark This Link and save it to the Bookmark Toolbar Folder.
More bookmarklets see here.
Add annotation
If you are using Internet Explorer, just right click on the link, and select Add to Favorites and save it to the Links folder. If you are using Firefox, right click the link and select Bookmark This Link and save it to the Bookmark Toolbar Folder.
More bookmarklets see here.
Labels:
mashup
Saturday, December 20, 2008
Annotated links - 3
A small mashup lets you create annotated links. Provide an URL (list of URL's), add a text note and get one tiny URL for the whole pack. So you can publish annotated links on your site for example. Annotated link could be shared via email, twitter or facebook.
as a part of the upcoming API you can use mashup in the following form too:
http://alink.linkstore.ru?url=your_link_here
E.g. for this blog:
http://alink.linkstore.ru?url=http://servletsuite.blogspot.com
So the well known site's feature 'share url' could be implemented with the above mentioned type of link. Now the users will be able to share the link itself and own comments too.
See it here - Annotated links.
as a part of the upcoming API you can use mashup in the following form too:
http://alink.linkstore.ru?url=your_link_here
E.g. for this blog:
http://alink.linkstore.ru?url=http://servletsuite.blogspot.com
So the well known site's feature 'share url' could be implemented with the above mentioned type of link. Now the users will be able to share the link itself and own comments too.
See it here - Annotated links.
Labels:
mashup
Subscribe to:
Posts (Atom)