High Capacity Color Barcode (Microsoft Tag) - 2

  Teknik ve Uygulaması Bu api Microsoft tarafından Microsoft Tag Beta Public API ismi altında yayımlanmakta ve herkese açık bir web servis olarak sunulmaktadır. Beta versiyonuna başvurduğunuz size Public API’yi kullanmanız için bir anahtar verilmektedir. Bu anahtarla; https://ws.tag.microsoft.com/MIBPService.wsdl adresinden bu api’yi kullanabilmektesiniz. Hesabınıza 500 tane kategori açma ve 5000’e kadar tag oluşturma ve silme izni verilmektedir. Bu tag’in web servisini nasıl projeme tanıtabilirim?a-) Visual Studio projesi yaratın b-) Project explorer menüsünden service reference’a sağ tıklayıp add service reference seçeneğini seçin. c-) Adres olarak: https://ws.tag.microsoft.com/MIBPService.wsdlgirin d-) İsim uzaylarınızı kontrol edin ve aynı isim uzayında birleştirin. Nasıl Tag Yaratabilirim ? Bunun için KEY’inizi almış olmanız gerekmektedir.     private void CreateTag()    {            try        {             MIBPContractClient OMIBPClient = new MIBPContractClient();          UserCredential oCredential = new UserCredential();        oCredential.AccessToken = "Erişim anahtarınızı giriniz";       URITag uriTag = new URITag();       uriTag.MedFiUrl = http://www.birurlgir.com;       uriTag.UTCStartDate = new DateTime(yyyy, mm, dd);       uriTag.UTCEndDate = new DateTime(yyyy, mm, dd);       OMIBPClient.CreateTag(oCredential, "Kategori", uriTag);      }      catch      {             throw;      }    }  Nasıl Tag Editleyebilirim ?   private void UpdateTag()     {         try         {             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "Erişim anahtarınızı giriniz";                     vTag.Title = "Yeni tag ismi";               OMIBPClient.UpdateTag(oCredential, "Kategori ismi", "oluşturulan tagın ismi", vTag);         }         catch         {             throw;         }     }  Tagi nasıl aktif hale getirebilir veya durdurabilirim ? private void ActivateTag()     {         try         {             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "Erişim anahtarınızı giriniz";                     OMIBPClient.ActivateTag(oCredential, "Kategori ismi", "Tag ismi");         }         catch         {             throw;         }     }         private void PauseTag()     {         try         {             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "Erişim anahtarınızı giriniz";                     OMIBPClient.PauseTag(oCredential, "Kategori ismi", "Tag ismi");         }         catch         {             throw;         }     } Nasıl Kategori tanımalayabilirim ?     private void CreateCategory()     {         try         {             Category oCat = new Category();             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "Erişim anahtarınızı giriniz";             oCat.Name = "Kategori ismi";             oCat.UTCEndDate = new DateTime(yyyy, mm, dd);             oCat.UTCStartDate = new DateTime(yyyy, mm, dd);               OMIBPClient.CreateCategory(oCredential, oCat);         }         catch         {             throw;         }     }        Kategoriyi nasıl düzenleyebilirim ?     private void UpdateCategory()     {         try         {             Category oCat = new Category();             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "Erişim anahtarınızı giriniz";             oCat.Name = "Yeni kategor ismi";             oCat.UTCEndDate = new DateTime(yyyy, mm, dd);             oCat.UTCStartDate = new DateTime(yyyy, mm, dd);               OMIBPClient.UpdateCategory(oCredential, "kategori ismi", oCat);         }         catch         {             throw;         }     } Kategoriyi nasıl aktif hale getirir veya durdurabilirim ?     private void ActivateCategory()     {         try         {             Category oCat = new Category();             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "Erişim anahtarınızı giriniz";             OMIBPClient.ActivateCategory(oCredential, "kategori ismi");         }         catch         {             throw;         }     }           private void PauseCategory()     {         try         {             Category oCat = new Category();             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "Erişim anahtarınızı giriniz";             OMIBPClient.PauseCategory(oCredential, "kategori ismi");         }         catch         {             throw;         }     }       Nasıl Barkod yaratabilirim ? private void CreateBarcode()     {         try         {             MIBPContractClient OMIBPClient = new MIBPContractClient();             UserCredential oCredential = new UserCredential();               oCredential.AccessToken = "erişim anahtarınızı giriniz";             byte[] oBarcode = OMIBPClient.GetBarcode(oCredential, "kategori ismi", "Tag ismi",                                                      ImageTypes.tiff, Size,                                                      DecorationType.HCCBRP_DECORATION_NONE,                                                      Is Black or White);        }         catch         {             throw;         }     }  Microsoft Tag’in beta sürümünde şu anda bu özellikler kullanılabilmektedir. Sonuç Bu makalede özellikle yüksek kapasiteli renkli barkod uygulamasının Microsoft firmasının Microsoft Tag ticari ismi ile piyasaya sunduğu bir teknolojiyi inceledik. Uygulamanın hali hazırda piyasada kullanım alanlarını incelerken kullanılabilecek olası sahalarada örnek verdik.  Görmüş olduğunuz gibi kullanım alanlarının sınırının oldukça geniş olan bu teknoloji avantajlar getirdiği gibi dezavanatajları da yapısı ile birlikte getirmektedir. Biz yazılım mühendisleri veya yazılım uzmanları açısından en can sıkıcı nokta bu uygulamanın beta aşamasında dahi belli bir Tag ve kategori oluşturma sınırı ile sunulması oldu. Teknolojinin web servis kullanılarak dağıtılması HardCore yazılımcılar açısından bir dezavantaj. Uygulumalarında yüksek seviye kontrol edilebilirlik arayanlar 3. Parti yazılımları genellik bir library veya DLL alarak kullanmaya alışmıştı. En azından bir müddet sıkıntı yaratsada Bulut Teknolojilerinin biz yazılım geliştiricilere yansıması da bu olsa gerek. Yazan: Volkan Atasever  Kaynaklar: Microsoft Research                     Microsoft Tag Developer Portal                 

High Capacity Color Barcode (Microsoft Tag) - 1

Bu makalemde Yüksek Kapasiteli Renkli Barkod (High Capacity Barcode Teknolojisi) bahsederken aynı zamanda kullanım alanına gerçek yaşamdan örnek verip günlük hayatımızda veya  toplumun belli bir kesmi tarafından ne kadar yoğun olarak kullanılabileceğini inceleyeceğiz. Önce geçmiş Barkod teknolojisi ve yeni bir teknoloji olan Hisgh Capacity Color Barcode teknolojisini inceleyeceğiz. 1940'ların sonunda bir lisansüstü öğrencisi olan ABD'li Bernard Silver, öğrenim gördüğü Drexel Teknoloji Enstitüsü'ne gelen bir market zinciri sahibinin kasada tüm ürün bilgilerini otomatik kaydedecek bir sistem geliştirilmesini istediğini, ama enstitünün konuyla ilgilenmediğini gördü. Bu fikir Silver'in ilgisini çekti ve doktora öğrencisi olan arkadaşı ABD'li Norman Woodland'a bundan söz etti. Konu üzerinde birlikte çalışmaya başladılar. İlk barkod uygulamasını yaza Bernard ve arkadaşı bu sayede bu teknolojilerle tanışmamızı sağladı. Fakat 1940’larda keşfedilen bu teknoloji zamanla geliştirildi fakat günümüz dünyasında her alanda kullanılabilecek ve daha fazla veri saklayabilecek 2 boyutlu analog medyalara ihtiyaç duyuldu.  Yeni teknolojinin ismi ise High Capacity Color Barcode olarak duymaya başladık.   High Capacity Color Barcode(Yüksek Kapasiteli Renkli Barkod) Teknolojisi High Capacity Color Barcode teknolojisi, Microsoft Research tarafından geliştirilmiş olup dijital verileri analog medyalar üstünde saklamamıza olanak sağlamaktadır. Bu teknolojisi sayesinde görüntü alabilen herhangi bir cihaz sayesinde bu görüntüyü dijital ortama aktarıp veriyi çekebilmemize olanak sağlamaktadır.Microsoft’a göre klasik barkod uygulamalarının yerini almaktansa daha büyük verileri saklamak amaıcyla kullanılacak bir teknoloji. Bu uygulamayı kullanmak için ise günümüzde en uygun cihaz PDA diye tabir ettiğimiz Windows Mobile kullanan smartphone veya profosyonel avuçiçi bilgisayarlardır. Her hücre birden fazla renk ile ifade edildiği için daha fazla sayıda bilgi saklamaya elverişli hale gelmiştir. Daha fazla bilgi saklarken yapısı gereği çok küçük bir alanı kaplayabilmektedir.   Solda; 8 renk barkod 84 RAW byte saklayabilmektedir. Sağda; 4 renk barkod 58 RAW byte saklayabilmektedir. En solda siyah beyaz matris 1byte yani 8 bit saklayabilmektedir ve 8 sembol kullanıyor. 4 renk barkod 1 byte saklayabiliyor ve 4 sembol kullanıyor. En sağdaki ise 8 renkli barkod 1byte saklıyor ve 2.66 sembol kullanmakta.   Oluşturulan Tag’ler herhangi bir mürekkep püskürtmeli veya lazer yazıcıyla basılabilmekte olup 600dpi çözünürlüklü herhangi kartvizit tarayıcısıyla okunabilmektedir. Bu teknolojinin temeli ise renkli üçgenlerden oluşuyor diyebilmekteyiz. Yukarıdaki görüntü herhangi bir 320x240 çözünürlüklü bir webcam ile okunabilmektedir. HCCB ile kimlik numarası, e-mail adresi ve internet site adresini saklayabilmektedir.   Microsoft Tag’ları herhangi bir platform veya işletim isteminde çalışmaktadır. Buradaki asıl amaç Mobil cihazlardaki kullanım alanın arttırılması ve mobilize yaşama geçişte önemli bir adım olarak görülmektedir.Yukarıda resimde 70 piksellik bir görüntüde dahi barkod okunabilmektedir.    UYGULAMA ALANLARI Ülkemizde bu uygulamanın öncülerinden biride Hürriyet Gazetesidir. Haberlerinin yanında vermiş olduğu yüksek kapasiteli tag’lerle insanlara aynı anda haberin video’sunuda izleme olanağı sunmaktadır. Kullanım alanları ise çok geniş olduğu için bunlara değinip incelemek istemekteyim. Yukarıdada bahsettiğim gibi Tag’leri kullanabilmek için herhangi bir kamerası olan ve yeterli güçte realtime görüntü yakalayabilen her cihaz bu tagleri hareketli ortamda dahi yakalayabilmektedir. Bu makalenin ikinci serisinde teknik alan ve kullanımlar irdelenecektir. Yazan: Volkan Atasever Kaynaklar: Microsoft Research                     Microsoft Tag Developer Portal                     WikiPedia