• Синхронизация между сървър и мобилни телефони

    През последните седмици се занимавам главно с дооправяне на бакенда на Kolab към z-Push.

    Тази технология дава възможност да си синхронизирате мобилния телефон – Symbian, Android, BlackBerry, Windows Mobile, iPhone с вашия сървър, така, че да можете винаги да имате актуални срещите в календара си, задачите си, както и електронната поща на мобилната джвъчка, която ползвате в момента.

    z-push

    Оказа се, че самият z-Push е доста далеч от utf-8 поддръжка, затова трябваше да я приложа в бакенд файла и се получи доста добре, сега поддържаме почти всички езици, a синхронизацията тече доста бързо. Последния тест беше с 10 000 събития, които успяха да стигнат от сървъра до телефона за около 4 минути, използвайки cache драйвер за MongoDB.

  • FTP must die, must die

    FTP
    (cc) някой права запазени от Anton Lindqvist

    Предната седмица имах много усилен диалог с една фирма, която се нуждаеше от моите услуги по модификация на известна CRM система с отворен код. Зарадвах се, че някоя въобще я ползва в България и се сългасих да поема проекта, въпреки натоварения ми график.

    Дойде време да се разберем за техническите неща и се започна драмата с FTP. Няколко пъти влизахме в итерация със сисадмина:

    Той: Искам статичен IP адрес за да ти дам достъп до FTP
    Аз: Нямам статичен, ето ми хоста, който е от no-IP и показва актуалния ми IP във всеки един момент
    Той: Не мога да отворя мрежата си за целия Интернет (?!?) искам статичен IP
    Aз – (пак от начало)

    В крайна сметка дойде мейл, че ми е разрешил достъп до последното IP, което връща моя хост с идеята да му кажа, като се смени, а той вече беше стар.

    Въпреки желанието ми, няма да го поема този проект.

    Мерки
    Според мен, тези мерки са поне от 10 години и вече е смешно да се използват. Може би, ако някой от четящите тук е сисадмин ще ме поправи, но за мен като разработчик това е стар начин за „сигурност“.

    Лично аз предпочитам да дам на някого публичния си SSH ключ и да работя по SSH, но може би и тотгава пак ще ми искaт IP адрес и ЕГН за да вляза някъде…

  • Презентацията ми от OpenFest

    Ако имате Firefox 4 или друг браузър, който поддържа HTML 5 на прилично ниво, можете да видите презентацията ми за Колаб – екосистема за управление на личната информация, която представих по време нa OpenFest, ето тук.

    Ако търсите информация за JS библиотеката, която представих по време на Mozilla сесията (popcorn.js), можете да видите демото от тук, пак със същите браузъри :)

  • OpenWebAnalytics – както трябва да бъде

    Тъй като съм почнал да пиша за статистика в Уеб, защото ми е писнало да използвам услуги на трети страни, които често правят „четки“ на големи клиенти, а за малките … или пък бавят данните, които показват с дни, като tyxo.bg или Google Analytics.

    Решението, дойде от самосебе си, докато се опитвах да реша случая, описан в предната ми публикация, тогава открих OWA, и даже го споделих в Twitter :)

    Какво му е положтелното на това чудо:

    1. Xоства се при вас, вие притежавате и управялвате данните. Ако се компания за разработка, можете да предлагате тази услуга на всичките си клиенти и да печелите пари.
    2. С отворен код е и се разработва сравнително бързо – добавят се нови възможности, които за Google, например и невъзможно да бъдат приложени в следващите N месеца, поради тежката процедура.
    3. Има доста възможности, най-много ми харесва ето тази:
      Clickmap
    4. Говорейки за конкретна статистика за моя проект, ето това е безценно
      ОВА- цлицкстреам
      Това показва, каво точно е интересно за потребителя и върху какво клика на сайта ви,

    PHP API
    Като програмист винаги ми се е искало да мога да си комуникирам с услугите, които използвам, за да мога да вземам и да подавам данни за различни пресечки на информацията. Е, това е възможно, даже повече от възможно – лесно :)

    Oще плюсове
    Чудесно е, че има и проследяване на действията, което за кликове на определени места или за кампании за афилией маркетинг са доста полезни.

    JS
    Разбира се, че има и част за JS, което е и основния механизъм за събиране на данните. Има и досбра документация, но не би трябвало да имате проблеми с намирането на подходящия начин за използване.

    Дай още, Бого
    Вижте още от тук, за това как точно може да работите с данните, каква интеграция има с WordPress и още полезни възможности в най-новата версия или посетете сайта на проекта от тук.

  • Малко мониторинг на всички регистрирани сайтове в BGSite 2010

    Ако ви е интересно моето проучване върху сайтовете, искащи да получат наградата на BGSite.

    Ето и малко статистика, получена чрез писани от мен скриптове на PHP.

    • Колко от сайтовете са валидни, базирано на W3 валидатора (Abort, означава, че сайтът е бил недостъпен за услугата)
    • Колко връзки имат тези сайтове в Google (site:url);
    • Колко други сайтове сочат към този сайт (link: url);
    • За колко време се зарежда сайта от моя дейта център (в Суперхостинг.бг) (в секунди)
    • Ново: На кое място са домейните в класацията за България на Alexa. (колкото по-малко е числото – толкова по-посещаван е домейнът)
    • Ново: За колко време се зарежда сайта от cloud хостинг сървър на Rackspace

    Тестовете можете да видите тук.

    Бъдещи тестове:

    • Време за зареждане от независим дейта център – където е малко вероятно някой от сайтовете да бъде хостван. (готов)
    • Ще пусна пак теста за валидация, защото доста от сайтовете не можаха да бъдат достъпени от W3 API.
    • Лиценз на информацията
    • – … и още няколко интересни.
    • Графична визуализация на тези данни

    Запишете си препратката и се върнете скоро, ако искате още данни. Ще се радвам на мнение и идеи.

  • Socially – социална активация на телефона

    Едва ли е странен факта, че искам да превърна Symbian базирания си телефон в част от инструментите чрез които работя и следя социалните мрежи.

    От както Силвия ми подари чисто нови дрехи за стария ми N95, се заех да му намеря и добра програма за социалните мрежи. – След няколко теста попаднах на Socially. Първото условия беше да е безплатна програма – нямам за даване в момента 10Е за подобен платен вариант и да може да се връзва с мрежите, който искам, а именно:
    Twitter

    Facebook

    LinkedIn

    За съжаление все още нямам програма за правене на снимки на екрана на моя телефон, за да ви ги покажа, но програмата може да работи и в невидим режим и да ви показва само какво ново се случва в мрежите, докато вие си пиете бира например. За връзка използва Wifi и разбира се, ако искате да плащате – Интернет от вашия мобилен оператор.

    Местоположение:
    Друга интересна възможност е да ви подскаже от къде ви се обажда някой, който не познавате, но и който ползва наземна линия. Ако някой ви се обади от Пловдив например, а не знаете кода, ще се покаже Пловдив, като град, както тук е показан друг в примера:

    Последната интересна част е връзката на телефонен номер/контакт със социален профил.
    Можете да направите така, че ако ви се обадя аз, да видите и последния туит, който съм написал или друга информация, която сте задали за мен. Хитро, а ?

    Освен всичк други, поддържа и гео-локация:

    В най-новата версия има и поддръжка на FourSquare.

  • Xauth – нов начин за представяне в Уеб

    Какво е XAuth?

    XAuth е отворена платформа за разширена идентификация на потребители през уеб.Сайтовете, които участват в процеса генерират уникални идентификатори за всеки от участниците си.  На пръв поглед това е споделена сесия между различни сайтове, ако например се идентифицирате пред bogomil.info, чрез Xauth, можете да бъдете идентифициран и на другия ми сайт talkweb.eu или в моята gmail поща, ако ви разреша.

    Как работи

    Основното изискване е браузъра ви да поддържа  HTML5, защото се работи с обекти, които се поддържат само от тази версия. Ако използвате последна версия на браузъра си, това няма да е проблем. Ето и основните участници в процса:

    – Extenders – са уеб услугите в които вече сте логнат и искат да участват в Xauth – примерно пощата ви в google или друга популярна услуга.

    – Retrievers – са уеб услуги, които искат да предоставят услуги на потребители, които вече са логнати през някой от Extenders.
    – XAuth.org е последната част от уравнението. Цялата комуникация на  XAuth става чрез iframe и .jsh. Всички данни обаче се запазват на ВАШИЯ си КОМПЮТЪР. Никъде не се пази нищо за вас, освен при вас.

    Стъпка 1: Да станем част от мрежата

    Единственото, което трябва да направите е да сложите в главата на файла си следния ред и вече е готово
    <script type="text/javascript" src="http://xauth.org/xauth.js"></script>

    Стъпка 2: Да станем Extender

    Първото което трябва да направим е да създадем token, което на български може да се нарече и знак или следа, защото то именно върши това. Ето функцията

    function doLogin(doneUrl) {
    XAuth.extend({
    token: "1", //Тук ние решаваме какво да е - трябва да е уникално за нашия си сайт
    expire: new Date().getTime() + 60*60*24*1000, // до кога е валиден
    extend: ["talkweb.eu"], //разреши на скрипта да работи само с един домейн
    callback: location.replace(doneUrl)
    });
    }

    Стъпка 3:Да станем Retriever

    Хайде сега да извлечем това, което създадохме в първа стъпка:

    function doRetrieve() {
    XAuth.retrieve({
    retrieve: ["talkweb.eu"],
    callback: onRetrieve
    });
    }

    function onRetrieve(data) {
    var numTokens = 0;
    var str = “;
    if (data && data.tokens) {
    for (var token in data.tokens) {
    if (numTokens > 0) str += ‘, ‘;
    str += token + ‘: ‘ + data.tokens[token].token;
    numTokens++;
    }
    }

    if (str == “) {
    str = ‘(none)’;
    }
    document.getElementById(‘login_status’).innerHTML = str;
    }

    Стъпа 4: Хайде да го видим в действие

    Ето и примера на английския ми блог, можете да видите целия сорс код на страницата.

    Тук има още малко залитания по темата.

  • Интеграция между vTiger и WordPress

    През последните дни се занимавах с интеграция между WordPress и не толкова попълярната в нашите ширини система за работа с клиенти – vTiger.

    В началото потърсих готово решение или акъл на готово, но не се получи и се хванах да го направя от съвсем в началото.

    Задачата беше проста, от сайта на клиента да има форма, специфична за дадения вид бизнес, която след като се попълни от клиента да бъде вкарана директно като „Lead“ в сметката на екипа по продажби и те да могат да започнат обработката на заявката.

    Така или иначе vTiger поддържа доста начини за интеграция (SOAP, WebForms, REST, ), но все още не на небходимото ниво и само за стандартната функционаност. Затова написах собствена услуга за този специфичен клиент и сега всичко работи.

    Полезно?

    vTiger е доста лека и много добра система за работа с клиенти и лично бих я препоръчал на всеки собственик на малък или среден бизнес – безплатна и е доста „лека“ в сравнение с другата подобна SugarCRM.

    Вместо клиентите да ви пращат заявки по пощата или чрез някаква друга система, може те директно да влязат във вашата система, чрез която да управлявате продажбите си и така да ги направите евентуални клиенти и на нови услуги, да им се обаждате, да имате под ръка цялата ин история с вас и всичко което можете да правите с една такава система.