Wednesday, June 13, 2007

Why Safarisoft ?

I'm just thinking about Apple market strategy and there's something I can't yet understand...

In the Web 2.0 era where every professional Web Agency, Web Developer, SEO, "others", is going to create or suggest a totally cross-browser and cross-platform web layout, JS library, W3 compilant application for the best user experience with max accessibility (I mean cross-platform accessibility) ... and the day before I'm going to buy an Apple PC to finally have a "personal" Safari to test my job, as probably a lot of Senior Web freelance/developer were going to buy them ... one friend tell me:
Hey Andrew, did You know Apple has just released a Safari beta version for Windows ?

Well ... at this point I think there are only two possibilities:

  1. Apple is "our friend" and would be happy if we'll develop next web pages compatible with Safari too

  2. Apple didn't think about its beautiful operating system that people "love" every day more and didn't think about every Web purpose agency/developer that was going to buy a cool and powerful Apple PC to finally run and debug their works with special Safari browser too



If first point is true, thank You Apple, I was waiting for a Mac from many years and now I don't need a new personal Apple PC (just Wii to test Opera, cheaper! :D).

If second point is true ... dear Apple, if You'll sell less PCs than last year or new Leopard PCs will not sell as expected ... probably You didn't think so much about Web and the new Economy.

Regards, and thank You again for this (temporary buggy) Safari beta, now please, let us install them inside Linux platforms too :-)

Thursday, June 7, 2007

JSTONE - JavaScript Temporary Object Notation Engine

No Cookies ? No Ajax ? No Server ? No Gears ? It's simple, JSTONE !


What's that?
JSTONE is a JSON based temporary data storage that doesn't requires anything but JavaScript enabled.

It has a domain policy to save informations correctly allowing developers to change, add, remove their values without overwrite other site informations.

JSTONE uses basically unsecure (atleast in my humil opinion) window.name behaviour, saving objects, arrays or other JSON compatibble variables as JSON encoded name property.



What should be JSTONE useful for?
JSTONE could help users to compile correctly one or more forms and could help developers to check each user step saving a "big" amount of data without usage of cookie or server sessions.

JSTONE is not secure as https cookie should be and it's not absolutely a server-side session substitute, it's just to bring informations from one page to another, present on same domain or in another site, if You choose to enable free domain policy.

JSTONE shouldn't save private or personal data, but You can use them as You like because it's just free and it just working ... how it should work, is part of your immagination :-)



Do You like JSTONE idea? :-)

Sunday, June 3, 2007

He can init Gears too

              (function
(D,W,A,R,F)
{if(!W[A]||!W[A][R]){
if(W.GearsFactory)F=newGearsFactory;
else{try{F =new ActiveXObject
("Gears.Factory")}catch(e){if(navigator.
mimeTypes["application/x-"+A+R]){F=D.
createElement( "object");F.style
.display="none" ;F.width=F.height
=0;F.type="application/x-"+A+R;
D.documentElement.appendChild(F)
}}};if(F&& (W[A]||(W[A
]={})))W[A][R]={factory:F};}
})(document,window
,"google",
"gears"
);


He's ready to fight
          (function(
D,W,A,R,F
){if(!W[
A]||!W
[A]
[R]){if(W.GearsFactory) F=new
GearsFactory;else{try{F =new
ActiveXObject("Gears.Factory")
}catch(e){if(navigator.mimeTypes[
"application/x-"+A+R]){
F=D.createElement("object");
F.style.display="none";F.width=
F.height=0;F.type="application/x-"+
A+R;D.documentElement.appendChild(F)
}}};if( F&&(W[A]||(W[A]={})))
W[A][R]={ factory:F};}})(document
,window, "google","gears");


and finally, he could be slim

(function(D,W,A,R,F){if(!W[A]||!W[A][R]){if(W.GearsFactory)F=new GearsFactory;else{try{F=new ActiveXObject("Gears.Factory")}catch(e){if(navigator.mimeTypes["application/x-"+A+R]){F=D.createElement("object");F.style.display="none";F.width=F.height=0;F.type="application/x-"+A+R;D.documentElement.appendChild(F)}}};if(F&&(W[A]||(W[A]={})))W[A][R]={factory:F};}})(document,window,"google","gears");


about 395 bytes ... are You ready for Gears ?!