Wednesday, April 02, 2008

OpenXML artık bir ISO standardı . 87 Üye Ülkenin katılımıyla gerçekleşen standartlaşma süreci bugün itibarıyla nihayete erdi ve Open XML açık dosya saklama standardı olarak ISO tarafından onaylandı. Open XML 87 Ülkenin %86'sı gibi büyük bir çoğunluğunun desteğini aldı.

ECMA'nın konuyla ilgili açıklamasına http://www.ecma-international.org/news/TC45_current_work/ISO_and_IEC_approve_Office_Open_XML.htm linkinden erişebilirsiniz.

 Microsoft'un basın duyurusuysa http://www.microsoft.com/presspass/press/2008/apr08/04-01OpenXMLVotePR.mspx linkinde yer almakta.

posted on 4/2/2008 11:16:40 AM (GTB Daylight Time, UTC+03:00)  #   
 Tuesday, April 01, 2008

     Today I got notice that I have once again been honored as Microsoft MVP for 2008 in Visual Developer - Device Application Development. Thanks again to Microsoft, Mobile Product Team, my MVP lead Mehmet Emre and all those who have supported my community work past year.

My MVP Profile

 

posted on 4/1/2008 4:38:44 PM (GTB Daylight Time, UTC+03:00)  #   
 Tuesday, March 04, 2008

While Microsoft's Flash competitor Silverlight is still not available for Windows Mobile (except Microsoft internal Betas), Nokia today announced plans to make Microsoft Silverlight available for S60 on Symbian OS smartphones as well as for Series 40 devices and Nokia Internet tablets. Adding support for Silverlight will extend opportunities for developers to create rich, interactive applications that run on multiple platforms in a consistent and reliable way.
Silverlight is a cross-browser, cross-platform plug-in for delivering next-generation media experiences and rich interactive applications.

Silverlight is already powering thousands of applications around the world and organizations including Entertainment Tonight, the NBA and NBC Universal to deliver superior Web-based experiences to their customers. The arrangement with Nokia will substantially extend the reach of Silverlight by making the platform available for hundreds of millions of devices, including S60 on Symbian smartphones from a range of manufacturers, as well as Nokia Series 40 devices and Nokia Internet tablets.

Microsoft will demonstrate Silverlight on S60 during the opening keyote at Microsoft's MIX08 conference on March 5 in Las Vegas. Silverlight is intended to be available to S60 developers later this year with initial service delivery anticipated shortly thereafter for all S60 licensees. This will allow S60 application developers to use an even wider range of development environments for S60 on Symbian OS than today. Today S60 developers can use: C++ (using native Symbian OS APIs and Open C providing subset of standard POSIX libraries), S60 Web Run-time (supporting standards-based web technologies such as Ajax, JavaScript, CSS and HTML), the Java language, Flash Lite from Adobe, and Python.

Microsoft Silverlight availability for Nokia Series 40 devices and Nokia Internet tablets will be confirmed later. When will Microsoft announce Silverlight's Windows Mobile availability?

posted on 3/4/2008 1:59:04 PM (GTB Standard Time, UTC+02:00)  #   
 Monday, January 28, 2008

Probably you have faced problems with VirtualPathProviders in precompiled sites. MS do not use CPP in precompiled sites. But Coskun Sunali did a great job and posted an amazing article on how to set up VirtualPathProviders to run when using Precompiled sites.

posted on 1/28/2008 10:12:18 AM (GTB Standard Time, UTC+02:00)  #   
 Wednesday, January 16, 2008

Microsoft will soon release version 2.5 of its .NET Micro Framework platform for low-end embedded processors. The new release adds support for networking via a native TCP/IP stack, and for Web Services on Devices (WSD), according to postings on the .NET Micro Framework Team's blog.

Microsoft first released .NET Micro Framework (.NET MF) in 2006, aiming it at wireless remote controls, watches, and other cost-sensitive devices with constrained processor and memory resources. The .NET MF grew out of Microsoft's Smart Personal Objects Technology (SPOT) initiative, with embryonic versions variously dubbed .NET Embedded and TinyCLR.

According to Microsoft, .NET MF supports low-end embedded processors and doesn't require an MMU (memory management unit). A typical runtime image is only about 300 KB in size, the company says.


.NET MF grew out of Microsoft's work with SPOT Watches

Microsoft released .NET MF version 2.0 in February 2007, and .NET MF 2.0, Service Pack 1 in September. However, these releases still did not include a native TCP/IP stack, which was listed as "coming soon." Therefore, networking a .NET MF device has required calling through to an underlying operating system with sockets support, according to the company.

Version 2.5 of .NET MF will now offer a stack that is available even when running directly on the hardware. Device makers need only provide a driver for the network interface. This will result in a wider selection of network-capable hardware development platforms for developers to choose from, Microsoft says.

The company adds that the new version of .NET MF will also include client and server support for Web Services on Devices, also known as Device Profile for Web Services (DPWS). Already part of Windows Vista and Windows CE 6.0 Release 2, this "enables a USB-like level of plug-and-play for networked devices," in the company's words. DPWS-enabled devices on a network can discover one another, then invoke the functionality each device provides.

Further specifics of .NET MF, version 2.5, were not provided, nor has a release date been announced. However, according to the .NET MF team, the new version should appear in "early 2008."

For further information, see the blog posting, here.

posted on 1/16/2008 12:28:10 AM (GTB Standard Time, UTC+02:00)  #   
 Sunday, January 13, 2008

  Facebook has become a huge phenomenon in social networking. The site exposes a developer API to support Web and desktop applications. In this article you will explore making use of this functionality from a smart device application. The source code to accompany this article demonstrates working with key aspects of the Facebook API and tightly integrating with Microsoft® Windows Mobile®–specific APIs.

posted on 1/13/2008 11:50:53 PM (GTB Standard Time, UTC+02:00)  #   
 Friday, January 11, 2008
posted on 1/11/2008 9:48:09 PM (GTB Standard Time, UTC+02:00)  #   
 Tuesday, January 08, 2008

I know everyone is looking for details on Windows Mobile 7, here are the first screen captures and a very nice article how the future is going to be like. It seems that this version will be a really big revalution.


here is the article.

 

Edit on 22.1.2008 : Turhal Temizer'in de Turkcelestirerek csharpnedir.com a ekledigi makaleye de buradan ulasabilirsiniz.

posted on 1/8/2008 6:29:57 PM (GTB Standard Time, UTC+02:00)  #   
 Monday, January 07, 2008

Via its Internet Sharing application, Windows Mobile allows sharing a phone's internet connection with a laptop via a USB cable or Bluetooth. WiFi is not supported, but that omission has now been corrected via WMWifiRouter, a free application by programmer Jorrit Jongma.

Being able to use WiFi instead of Bluetooth is desirable for those with 3.6 or 7.2 Mbps HSDPA connections, since these outpace the former's 2 Mbit data rate. But, as this FAQon the XDA-Developers Web forum explains, Internet Sharing was not designed to use WiFi and has been able to do so only if users installed a hacked version of the relevant DLL (dynamic link library).

Windows Mobile's Internet Sharing

Windows Mobile's Internet Sharing

   

WMWifiRouter application

The WMWifiRouter application, though only scantily documented on the above website, corrects this problem by allowing an ad hoc WiFi network to be set up between a laptop and the phone supplying the wide area connection. Available for free, it requires Windows Mobile 5 AKU 3 or Windows Mobile 6.

To download WMWifiRouter, visit here. For more information on Windows Mobile's Internet Sharing capability -- termed its "most underutilized/unknown feature" by Microsoft's Enterprise Mobile Solution Specialist Jason Langridge -- see Langridge's blog,here.

posted on 1/7/2008 9:51:20 PM (GTB Standard Time, UTC+02:00)  #   
 Friday, January 04, 2008

21.11.2005 tarihinde yazgelistir'e AJAX kullanarak Google Suggest Box tipi kontrollerin gelistirilmesi ile ilgili bir makale yazmistim. O zamanlar ancak ClientCallBack'ler ile islemlerimizi yapabiliyorduk. O gunlerden bu gune cok sey gelisti. Atlas'tan AJAX'a, yepyeni kontrollerimiz var artik.

Yine de, benim makaleme 
    http://www.yazgelistir.com/Makaleler/1000000796.ygpx  linkinden
yeni kontroller ve Ajax Tool Kit kullanilarak gelistirilen bir ornegine ve detayli makaleye de
    http://mattberseth.com/blog/2007/12/creating_a_google_suggest_styl.html
adresinden ulasabilirsiniz

posted on 1/4/2008 4:09:26 PM (GTB Standard Time, UTC+02:00)  #   
 Thursday, January 03, 2008

I developed projects with NHibernate in couple of years before and at that time I searched and read many articles on advantages or disadvantages of ORM or ADO.NET / Stored Procedures. There were so many technical discussions and comparisions between those technologies.

Later on when I started to study on LINQ I thought the performance and any comparisions between those three. But I hadn't got enough time to test. I have just found a guy, Maximilian Beller, has written two nice articles compare the performances and properties of those technologies.

Recommendation: NHibernate, Linq or ADO.NET?

Performance comparison between Linq, NHibernate and ADO.NET / Stored Procedures
posted on 1/3/2008 11:17:03 PM (GTB Standard Time, UTC+02:00)  #   
 Wednesday, January 02, 2008

VSTS has unit testing. Is NUnit obsolete? I saw that post in NUnit blog, really interesting. Read.!

posted on 1/2/2008 11:34:06 PM (GTB Standard Time, UTC+02:00)  #   

New vesion of NUnit has been relased. Get it now.!

posted on 1/2/2008 11:31:26 PM (GTB Standard Time, UTC+02:00)  #   
 Thursday, December 27, 2007

Tom Hollander started an interesteding thread on code generation. He points out challenge of customizing generated code, which comes up often because generated code is usually not exactly what you want. He also brings to light the trade-off between generator flexibility and complexity: the more flexible a code gen template is, the more complex and difficult to configure it becomes. Check out his post at:

http://blogs.msdn.com/tomholl/archive/2007/11/17/code-generators-can-t-live-with-them-can-t-live-without-them.aspx

The post includes some great comments too. Wojtek Kozaczynski posted some additional thoughts on the topic at:

http://blogs.msdn.com/wojtek/archive/2007/11/18/code-generators-when-can-you-live-with-them.aspx

 

posted on 12/27/2007 12:44:46 AM (GTB Standard Time, UTC+02:00)  #   
 Monday, December 24, 2007

Team Foundation Power Tools for VS2008 is out. New in this Release:

• Find in Source Control tool is an addition to the Team Explorer menu that provides the ability to locate files and folders in source control by the item’s status or with a wildcard expression.

• Open a selected folder in Windows Explorer straight from Team Explorer. This feature allows you to jump straight to the mapped folder location from within Source Control Explorer.

• Quick Label feature that allows labels to be easily applied to a given selection of files and folders in the Source Control Explorer.

• Build Notification tool that runs in the Windows task bar notification area monitoring the status of the build definitions you have specified. It can be configured to show notifications when builds are queued, started, or completed for multiple build definitions spanning multiple Team Foundation Servers.

• Additional TFPT.EXE commands for configuring Team Explorer connection settings (tweakui) and for destroying Work Items and Work Items Type Definitions (destroyWI, destroyWITD).

• Updates to the TFS Best Practices Analyzer for use with a Visual Studio Team System 2008 Team Foundation Server deployment.

• The Process Template Editor is updated for use with Visual Studio Team System 2008 Team Foundation Server. It also has several improvements, including: the ability to launch standalone w/o a Visual Studio installation, performance improvements, improved discoverability and bug fixes.

• Bug fixes and removal of Power Tools that are now included within Team Foundation Server:

• Annotate and Treedif are now included in Visual Studio Team System 2008 Team Explorer; however, Annotate remains is still available in the command-line tool (TFPT.EXE).

• TestToolsTask is included in Visual Studio Team System 2008 Team Foundation Server as part of Team Foundation Build.

 

from Brian Harry's blog

posted on 12/24/2007 11:04:27 PM (GTB Standard Time, UTC+02:00)  #   
 Thursday, December 20, 2007

Parallel Extensions to the .NET Framework is a managed programming model for data parallelism, task parallelism, and coordination on parallel hardware unified by a common work scheduler. Parallel Extensions makes it easier for developers to write programs that scale to take advantage of parallel hardware by providing improved performance as the numbers of cores and processors increase without having to deal with many of the complexities of today’s concurrent programming models.

Microsoft Parallel Extensions to .NET Framework 3.5 is almost ready and CTP can be downloaded here

posted on 12/20/2007 3:19:31 PM (GTB Standard Time, UTC+02:00)  #   
 Monday, December 17, 2007

There is a new site that focus on software factories, domain specific languages and Visual Studio Extensibility.

http://sf.devrevolution.com/

posted on 12/17/2007 6:25:45 PM (GTB Standard Time, UTC+02:00)  #   
 Friday, December 14, 2007

A post on Microsoft's .NET Compact Framework (.NET CF) blog brings word of some interesting new tools for programmers. Included in a download called "Power Toys for .NET Compact Framework 3.5," they're intended to evaluate performance, obtain diagnostic information, and help with configuration, according to the company.

The six tools said to be included in the package are:

  • Remote Performance Monitor and GC Heap Viewer
  • NETCF CLR Profiler
  • App Configuration Tool (NetCFcfg.exe)
  • NETCF ServiceModel Metadata Tool
  • Remote Logging Configuration Tool
  • NETCF Network Log Viewer

According to information provided on the PowerToys download page, the Remote Performance Monitor and GC Heap Viewer provides real-time counter data (ranging from Garbage Collector activity to type loading info) on a running .NET CF application. The GC Heap Viewer feature allows you to capture the managed heap at any moment your app is running to view live references, and allows you to compare multiple snapshots to find memory leak issues.

The NETCF CLR Profiler is said to be an instrumenting allocation profiler for .NET CF applications. It provides detailed allocation visualizations, allocation callstacks visualizations and useful for diagnosing memory management issues.

The App Configuration Tool (NetCFcfg.exe) is described as an on-device tool for specifying what version of the .NET CF runtime an application will run against, displaying installed versions of .NET CF and displaying info about DLLs.

The NETCF ServiceModel Metadata Tool (netcfsvcutil.exe) allows creation of a Windows Communication Foundation (WCF) client proxy to help developers consume WCF services on device, according to Microsoft. Like svcutil.exe, which is the desktop version of the utility, netcfsvcutil.exe is a command-line tool that generates service model code from metadata documents, and generates metadata documents from service model code.

Finally, the Remote Logging Configuration Tool enables users to easily configure logging options on a .NET CF device, including loader, interop, network, error and finalizer logs. The NETCF Network Log Viewer is described as a utility for viewing .NET CF network log data.

To read or comment upon the .NET Compact Framework Team's post, go here. To go directly to the download of the Power Toys for .NET Compact Framework 3.5, go here.

posted on 12/14/2007 11:38:57 PM (GTB Standard Time, UTC+02:00)  #   
 Wednesday, December 12, 2007

The preview version of ASP.NET 3.5 Extensions is released. The Extensions are a new set of tools and controls that will be added onto existing release of ASP.NET with .NET 3.5. This will make possible for web developers to get the latest updates on ASP.NET without having to wait 1-2 years more for the next release of .NET Framework.
It also includes ADO.NET Entity Framework Beta 3, which you can also download as a separate file here (you do not need to download it if you have ASP.NET 3.5 Extensions Preview installed already).


What’s in the Extensions Release?

ASP.NET MVC
ASP.NET MVC provides model-view-controller (MVC) support to the existing ASP.NET 3.5 runtime, which enables developers to more easily take advantage of this design pattern. Benefits include the ability to achieve and maintain a clear separation of concerns, as well as facilitate test driven development (TDD).

The ASP.NET MVC Toolkit provides HTML rendering helpers and dynamic data support for MVC.

ASP.NET Dynamic Data
ASP.NET Dynamic Data helps developers build a fully customizable, data-driven app quickly. It provides a rich scaffolding framework that allows rapid data driven development without writing code, yet it is easily extendible using the traditional ASP.NET programming model.

ASP.NET AJAX
New additions to ASP.NET AJAX include support for managing browser history (Back button support).

ADO.NET Entity Framework
ADO.NET Entity Framework is a new modeling framework that enables developers to define a conceptual model of a database schema that closely aligns to a real world view of the information. Benefits include easier to understand and easier to maintain application code that is shielded from underlying database schema changes.

ADO.NET Data Services
ADO.NET Data Services provide new services that find, manipulate and deliver data over the web using simple URIs. Benefits include an easy and flexible way to access data over the web, while enabling the separation of presentation and data access code.

Silverlight Controls for ASP.NET
You can integrate the rich behavior of Microsoft Silverlight into your Web application by using two new ASP.NET server controls: a MediaPlayer server control that enables easy integration of media sources such as audio (WMA) and video (WMV) into your Web application, and a Silverlight server control that allows an ASP.NET page to reference both XAML objects and their event handlers.

posted on 12/12/2007 11:17:09 PM (GTB Standard Time, UTC+02:00)  #   
 Friday, November 30, 2007

Here is a very nice acticle from msdn on Service Factories.
The Web Service Software Factory: Modeling Edition (also known as the Service Factory) is an integrated collection of resources designed to help you quickly and consistently build Web services that adhere to well-known architecture and design patterns. These resources consist of patterns and architecture topics in the form of written guidance and models with code generation in the form of tools integrated with Visual Studio 2005.

check that link :  http://msdn2.microsoft.com/en-us/architecture/bb931187.aspx

 

posted on 11/30/2007 6:30:21 PM (GTB Standard Time, UTC+02:00)  #   
 Friday, November 16, 2007

Az once noel tatili icin Turkiye'deki planimi yaptim. Istanbul - Izmir - Antep - Istanbul turu icin en uygun ucak biletlerini arastirdim ve tek tek satinalmaya basladim. Bu zamana dek taktir ettigim THY'nin internet sitesini de bu sayede digerleriyle es zamanli olarak kiyaslama imkani buldum ki, dehsete dustum. asagidaki hatalarin tamami 4. adim olan "Rezervasyon" ekrani uzerindedir. Tek tek ele alaim:

1) Tab ile akis sirasi : Unvani sectim, adimi yazmak icin Tab'a bastigimda e-posta kutucuguna gecirdi, sonra bir tab daha Isim, bir tab daha e-posta(tekrar), sonra soyad, vs.. Kimsenin Tab Index'ten haberi yok mu? Bu sekilde once sol kolonu yukaridan asagi bitirebilir, sonra sag kolona gecebilirdim ki tasarimcilarin ve developerlarin da uygun gordugu akis bu sekilde olmus.

2) Yemek tercihi : Yemek cesitlerinin ismi bu sekilde mi olmali? Bunlar bir gourme kitabindan mi derlendi yoksa beslenme uzerine yazilan yazilardan mi? Lutfen biri bana Glutensiz Yemek, Musluman Yemegi, Laktoz icermeyen yemek (en azindan tahmin edebiliyorum ama daha aciklayici olamaz mi?) ne demek aciklayabilir mi? Hatta, "Urik Asit Miktari Dusuk Yemek" az cisli, icine az isenmis yemek mi?

3) Isim - Soyisim / Ad - Soyad eslestirmesi dogru degil midir? Gorunum ve anlasilirlik acisindan Isim - Soyad ikilisinin kullanilmasi ne kadar dogrudur?

4) Unvan : Bay / Bayan seceneginin her iki yolcu icin durdugu yere dikkat edelim. Neden ayni yerde ve ayni siralamada olamiyorlar? (isimden hemen once)



5)
Telefon numaralari : Cep telefonu icin bir ornek verilmis. Ama diger telefonlar icin ne bir ornek var, ne de o alanlar numeric olarak isaretlenmis. Arkadaslar, js ile textbox'lari yalnizca numeric yapmak bir kac dakikanizi alacak, kucuk bir istir. Boylece kullaniciniz benim gibi + yazdiginda, hata mesajini gorunce "haa? ne oldu yahu?" durumuna dusmez.

Ne test muhendisiyim, ne de bu ekranda ozellikle hata bulmak icin didik didik arastirma yaptim. Yukaridaki yorumlarim ilk goze carpan, daha da dogrusu rahatsiz eden hatalar. En iyi havayolu sirketleri arasinda bulunan, ki bununla gercekten gurur duyuyorum, THY'nin sayfasinda bu gibi hatalarin olmasini yakistiramadim.

posted on 11/16/2007 12:27:00 PM (GTB Standard Time, UTC+02:00)  #   
 Friday, November 09, 2007

I have just discovered a cool and handy service for blogs. You can post your msn status via this service as a nice image. Like that:

this status, update time, nick and messages are correct and live..!

Nice, isn't it?

posted on 11/9/2007 3:54:16 PM (GTB Standard Time, UTC+02:00)  #   
 Saturday, November 03, 2007

Want to shape the future of the Windows Mobile developer experience?

Proceed to https://connect.microsoft.com/site/sitehome.aspx?SiteID=502 to submit your developer feature requests and vote on others to drive feature importance.

posted on 11/3/2007 1:53:35 AM (GTB Standard Time, UTC+02:00)  #   
 Thursday, November 01, 2007

Microsoft announced Visual Studio 2008 and .NET Framework 3.5 will be released at the end of this month. From the beta releases (we have beta 2 now) and .NET 3.0 we saw so many improvements on framework and languages.  From now on, we become capable to use Domain Specific Languages (DSLs) like LINQ and we can focus on the domain of the problem space. And we can do Domain Driven Design (DDD) in language level.

DDD is still one of the hardest design issues in many languages and development disciplines, but LINQ is a really nice approach to that problem. So languages are evolving into higher level.

But what is next step for languages? In .NET environment or any other frameworks it is still very difficult to parallelize applications. Few programmers, seniors can write multi-threaded code and very few of them really enough capable to debug. In somehow, the operation theory is totally different than human brain.     

As commonly known our hardware, computers are ready for those programs for couple of years. Dual core, multi-core processors stand in our laptops, PCs for years. As Aaron Coday from Intel mentioned in Istanbul Bilisim Kongresi 2007, “Software should fallow and support hardware”. Thoughts from the development zone are almost the same. Bill Gates announced in MVP Global Summit 2007, “…..take multiple processors and use them in parallel has been a programming challenge going back many, many decades, so now it's important that we actually solve that problem, and make it possible for developers of all types to take advantage of these multi-core devices….

So, in my opinion; first step of language evaluation will be in multi-core application development and may be the second one multi-computer (computing-grid) . The name of the first step and opportunities on it are ready : Parallel LINQ or PLINQ.

posted on 11/1/2007 4:07:31 PM (GTB Standard Time, UTC+02:00)  #   
 Wednesday, October 31, 2007

Nowadays the Facebook phenomenon is rising up via the entire globe. According to the statistics it is the fastest growing social network. But ofcourse Facebook is not the only one, there were many and now there are much more Social Networks in all countries, all languages.

Whatever the aims of these communites are, the question is, how do they affect your life? I know so many friends who communicate with his/her friends or congratulate birthdays etc... via those tools but don’t want to give a phone call or visit them. You may think that “Communication is communication; the way of it does not matter.” The interesting thing that, if I don’t have someones e-mail or he is not a contact in one of my social networks, msn, g-talk, etc... I don’t recall him as often as the others. So do those networks or tools improve my social life or kill it?

In other way, most of us sit infront of the pcs whole day hence we always have access to those networks or tools. But do we really do something productive or accomplish something on those sites or just wasting the time and loosing consantration?

So, to query all those issues and give up this stupidity you may check this out.

Edit on 9 Nov. 2007 : Ten days later from this post, I saw a news in www.ntvmsnbc.com, the most serious Turkish news portal. They announced that, 860.000 Turkish user have been registered in facebook and we are the 5th most crowded nation in facebook :)

posted on 10/31/2007 12:54:20 PM (GTB Standard Time, UTC+02:00)  #   
 Wednesday, October 24, 2007

One of my closest friends send me two youtube links about awesome videos that describes Service Oriented Architecture in an easy way. Videos can be used to present to non-technicals or juniors to help them understanding what SOA is.

SOA is a Musical Note



SOA is like a wardrobe
posted on 10/24/2007 9:36:19 PM (GTB Daylight Time, UTC+03:00)  #   
 Thursday, September 20, 2007

Mistakes are not always a bad thing. Making mistakes is a natural way to learn. However, the cost of such 'learning' in the development cycle can be pretty high. This is especially true for mobile applications, where a programmer battles against so many issues that desktop developers can't even remember any more.

There are a number of things that are most harmful for mobile developers to do. I present several of the most common troubles worth reviewing in this article. I start with strategic issues.

Different Platforms are Different

The very first and probably most important fact mobile developers must remember is that Windows CE operating system is by far not like its big brother the desktop operating system. They have common features and share common philosophy, but there is a big difference in development approaches used for each. This is due to different form factors, resources that are available, supported APIs and so forth. Regardless of whether you use C++, Visual Basic, Java or C#, you will be lucky if the same code will run on both the desktop and on a PDA in the same way. Thus if you're considering the porting of your existing desktop application to WinCE or considering the development of new applications, remember that the mobile operating system is not the same as a desktop operating system.

Operating Systems, Devices and Frameworks

In addition to knowing that mobile operating systems are different from desktop operating systems, you should also note that there are different mobile operating systems as well as different devices and frameworks. You need to properly plan for the device types and operating system you would like to target.

For example, if you have developed an applications for devices using Windows Mobile, then your application might not run good on PDAs with CE.NET inside. This lack of support could cut your target devices in half. Similarly, if your product uses specific features of a specific device, then there may be devices that can't support your application as well. For this reason, you should ask yourself if targeting specific device features is a right decision. Of course, if you are device vendor, such problems are out of scope! For application developer, however, generic code you produce as better for the whole project, i.e. you application will be able to run almost everywhere.

Another issue from the same family is the use of various frameworks, libraries and technologies. For example, the Pocket PC SDK contains MFC library but the Smartphone SDK does not. As such, if you want to target both Pocket PC Devices and Smartphone devices, then you need to think twice. Another example can be seen with ADO CE. In addition to many differences with desktop version, Microsoft has decided to discontinue its support in Windows Mobile 5.x. So be double careful there!

Application Structure

That is enough regarding issues with strategy, now consider the structure of a mobile application. There are at least two polar approaches: to make an application solid -- do you always have the one and only executable or do you divide your application into a main executable and number of DLLs?

Both structures have well-known pros and cons. I've seen many projects (very complicated and fat enough to be honest), which used COM objects and huge number of DLLs. I have to state here that such approach doesn't work well on Windows Mobile platform. One executable and few DLLs are ideal though. This is obviously true for desktop systems as well, but there you are in much more comfortable situation with resources. In case of Windows CE application performance will be reduced dramatically.

Another issue with DLLs on Windows CE is that if you store resources, (e.g. to support multiple languages in your application), it may cause significant problems because the application may switch resource handles at runtime. The resulting behavior may be quite unpredictable. Eugene Tilman and I have spent a number of sleepless nights trying to detect why a big application sporadically crashes on a device but works like a charm in desktop emulation. There are different methods for avoiding the need for many DLLs. For example, when implementing internationalization, you might 'translate' resources within the executable rather than keep them in a separate DLL. There are a number of references on the web describing similar techniques.

Application Configuration

How you configured your application is also important for avoiding mistakes. Again, there are many different ways to configure a mobile application, so we will not dig into specific mistakes. Rather, there are two possible configurations issues you should consider: Registry use and code reusability.

There are big desktop systems which use the Registry in much the same way as a database in that it is used to store hundreds (if not thousands) of parameters. For Windows Mobile application such tricks just won't work due for a very simple reason: mobile devices suffer from hard resets from time to time. If a hard reset occurs, you have a good chance that all data in the registry will be reset as well and thus lost. Regardless, maintenance of such configuration storage can be a real nightmare, although it can be done by purchasing additional tools such as Pocket Controller .

If your application needs a lot of parameters then consider suitable method to store them -- a method such as XML, binary files or something else.

One of the best things in development is code reusability. That's why we all create libraries, frameworks and so forth. This helps us to develop faster, better, ... (you can continue as much as you want to).

You have to be careful using such libraries. For example, the MFC framework can cause you problems when used incorrectly on mobile devices. No doubts, it helps a lot where you can utilize it; however, there many classes that are implemented for mobile usage with much less efficiency than in desktop version. This includes classes like CSocket and the WinInet stuff. Additionally, some functionality available through the API are unavailable for mobile usage. But this is not the worst trouble. Such problematic parts of the library are obviously subject to improve. Programmers simply do not use ineffective classes. Hence, Microsoft has decided to discontinue some of them in newest MFC version for Windows CE. For example, the WinInet classes are being discontinued. If you've the bad luck to have used them in your projects, then you will have to rewrite them. In rarer cases, some GUI classes may be dropped, but I believe it should be treated as an accident rather than common case.

I/O, Memory, Stack & Co.

Finally, there are programming issues that can be the cause of mistakes in mobile applications.

I/O operations are the very first point to talk about from a performance and device resources point of view. For desktop systems the normal receipt is simple: read by blocks rather than by bytes. For mobile applications it is not as straightforward. If data is stored on a flash card (SD, CF etc.), then access time may be painfully long. Suppose that data is kept in a flat files with no matter binary or text (like XML). It is a good thing if you can read it all in one shot to memory and then process as needed. In the case of huge amounts of data, however, this is simply impossible. In those cases, you have to allocate chunks here and there. It is a really bad thing that memory allocation strategies may vary from one version of an OS to next one. You can easily test on a Pocket PC 2002, 2003 and Windows Mobile 2003 SE. On Pocket PC 2002 you benefit from big allocations, but on later versions smaller chunks are allocated faster. With Windows CE 5.0 the situation changed once again, because there is no RAM anymore. Storage Cards are still there, but as you see, it might be a particular magic to choose the best method to reach the best I/O performance.

Not all PDAs are loaded with resources or have lots of resources available. This fact hits you first of all with the stack size that is available for applications. Many mobile applications uses Dialog-based architecture because it is simple. It is well-known that big allocations on the stack, e.g. BYTE arr[65536], are inapplicable because you have by default only a 64KB for stack. Less intuitive effects can occurs when you have a number of dialogs created on the stack and open simultaneously. It appears that critical number is balancing on the boundary of 3 to 4 dialogs only. If your program tries to pop up more, a Stack Overflow exception will be the best thing you can get. Usually it just crashes at some arbitrary place.

The last but not the least thing regarding programming mistakes is in exception handling. Earlier versions of Windows CE did not support exception handling extensively. Now the situation is quite different. Normal C/C++ handling is allowed, TRY and CATCH macros may be forgotten. Exception handling is extremely important for mobile applications, because an environment is less friendly than the desktop. Applying exception handling in the correct way will make your product much more robust, but don't be too excited with it, otherwise you can loose the performance.

In Conclusion...

You've now seen many of the biggest mistakes! I hope reviewing them will help you to avoid them and thus lead to better decisions in your own mobile applications. With mobile technology growing so rapidly, doing mobile development is getting better with every new operating system release. So who knows, maybe soon mobile programming will become as regular as desktop development.

Source : http://www.developer.com

posted on 9/20/2007 9:34:37 PM (GTB Daylight Time, UTC+03:00)  #   
 Tuesday, September 18, 2007

Selam Blog,

Ne uzun zaman oldu senle ilgilenmeyeli, ilginenemeyeli... O kadar cok sey var ki aslinda sana anlatacak, seninle paylasacak. Hepsini yavas yavas anlatacagim. Bu arada, artik daha fazla ilgilenecegim senle, soz...

En son 7 Haziran'da asagidaki Bilisim Kongresi Notlarini paylasmistim, hatta onu bile editleyip tamamlamaya zamanim olmamis anlasilan. Bu uc ay icinde en buyuk degisiklik, isimde, hatta yasam alaninda oldu. Uzun suredir planladigim bir hedefi gerceklestirdim; artik Hollanda'da calisiyorum. Lalelerin arasinda, yagmurun altinda, kanallarin uzerinde bisiklete biniyor, ormanin icinde gizlenmis bisiklet yollarinda kayboluyorum :)  Peki nasil oldu bu?

Ziyaret edenler bilir, bir sene Netron’da developer, iki sene de BilgeAdam Kurumsal Yazilim Projeler ekibinde Birim Mudur Yardimcisi olarak calistim, bircok projelerde gorev aldim. Ama is hayati sadece Istanbul degil. Nasil ki daha once Izmir’i reddedip Istanbul’a geldiysem, simdi de Istanbul’u birakip Hollanda’ya geldim. Biraz daha proje, biraz daha tecrube icin. Su anda burada Universal Music Group, IT Global Applications takiminda PreClearence / Restrictions uygulamasi uzerinde calisiyorum.

Hollanda degisik bir yer, yemeginden otobuse binis sekline, bisiklet kullanim alanlarindan, kanallara kadar o kadar cok farkli sey var ki burada. Dil onemli sorunlar arasinda. Ingilizce ile anlasamadigim hic kimse olmamasina karsin, daha cok arkadas edinebilmek, esprileri anlamak, konusmalara katilabilmek icin Dutch ogrenmek gerekiyor. Ogreniyor muyum? Umudum var :P

Baska neler oldu? Elbette bircok sey daha var, Marmaris tatil anilari, Izmir ziyareti, BilgeAdam vedasi…

Eh, ben hep teknik seyler yaziyordum(!) dimi? SOAnin dibine vurmanin ne oldugunu burada cok iyi anladim. Stand-Alone uygulama yerine servis gelistirmenin buyuleyici guzelligini hergun baska bir acidan goruyorum. Gerci bugun LosAngeles’tan desteklenen servislerden biri sorun cikardi ve saat farki nedeniyle onlarin uyanmasini bekliyoruz ama, olsun yahu, arada olur boyle seyler. Detaylari daha sonra paylasacagim.

Su an yapicak cok is var. Hem is yerinde hem de ev vs. de henuz tam yerlesmis degilim. Ama biliyorsun ben rahat adamim :) zamanla hepsi yerli yerine oturacak, eminim.

Bu arada, senle sadece icerik olarak degil teknik olarak ta ilgilenmeye baslayacagim, mesela bi yolunu bulup su botlarin track-back lerini silecegim, bu arada, farkettin mi bilmem ama, seni analytics ile takip etmeye de basladim. Eeh, ziyaretcilerimi taniyayim ki icerigi de ona gore yazayim, degil mi?

Son not : keyboard artik Ingilizce, harfler icin kusura bakma.

posted on 9/18/2007 4:45:02 PM (GTB Daylight Time, UTC+03:00)  #   
 Monday, August 13, 2007

Bugunlerde biraz "coding for fun" arastirmalari yapiyorum. Windows Mobile 5.0 icin gercekten hosuma giden bir Channel 9 videosunu sizlerle paylasmak istiyorum. http://channel9.msdn.com/ShowPost.aspx?PostID=209787

posted on 8/13/2007 10:07:34 PM (GTB Daylight Time, UTC+03:00)  #   
 Monday, June 11, 2007

LINQ implementation on a completely different domain other than DB, XML or Web which is LINQ To Google desktop. Check here.!

posted on 6/11/2007 9:27:00 PM (GTB Daylight Time, UTC+03:00)  #   

I had a class with Toshiba GSM Turkey. I told about the new functions and spesifications available with Windows Mobile 5.0. The participants were experts in GSM marketting world and they really had shining ideas. According to their opinions, Direct Push Technology is a "killer application" for Windows Mobile now. It is a big advancement in mobile messaging environment. So to keep the overview in an easy accessable blog :) here are the notes :

The Messaging and Security Feature Pack for Windows Mobile 5.0 works well with Microsoft Exchange Server 2003 SP2 to deliver a direct, scalable and cost-effective mobile messaging solution.

This solution enables business users to easily stay connected to their Microsoft Office Outlook Mobile information while on the go and helps businesses to better protect device data.

  • Keep your Calendar, Contacts, Tasks, and Inbox up-to-date using Direct Push Technology. Plus, you can now browse your corporate address book over-the-air with Exchange 2003 SP2.
  • Better protect device data and manage devices using the Feature Pack and Exchange 2003 SP2. With this combination, IT administrators can remotely manage and enforce select corporate IT policies over-the-air via the Exchange 2003 SP2 console. Businesses can mandate policies like requiring PIN passwords for every device.
  • Deploy scalable, cost-effective mobile messaging solutions and reduce the need to pay for an additional third party server product and client access license fees by using existing Exchange 2003 SP2 investments.
posted on 6/11/2007 2:04:47 AM (GTB Daylight Time, UTC+03:00)  #   
 Thursday, June 07, 2007

1 gün öncesi, 6 Haziran Çarşamba

     Çarşamba akşamı biraz üşütmüş olmalıyım ki, gece yatağa kendimi zor attım. Şaşılacak şey, 6 Haziran gecesi, istanbula o kadar çok yağmur yağmış, ben o yorgunluğumla hiç birşey duymamışım. Eh, yarının heycanı var nede olsa, ilk kez "Kurumsal Yazılım Kongresi" yapılıyor, ilk kez "Türkiye'de Kurumsal Yazılım" kongre havasında herkes ile paylaşılıyor, onun heyecanı, rüyaları var uykumda.

Gün 1, 7 Haziran Perşembe
    Neyse ki sabah saatimin tiz sesi ile derin uykumdan uyanabildim. Hızlıca giyindim, gec kalma ihtimalinin verdiği tedirginlik ile, evden olabildiğince erken çıktım ve yağmura hazırlıksız yakalandım. Apartmandan dışarı çıkar çıkmaz yüzüme gelen birkaç damla ile, eve dönüp mont almam gerektiğine karar vermem arasında çok zaman geçmedi. Bu kararı hızlı verebildiğim için, biraz daha zamandan tasarruf ettim :) Neyse, o berbat trafikte, kulağımda iPod, arada sırada yağmurdan ıslanarak, zor da olsa, Bahçeşehir Üniversitesinin herzaman imrendiğim Beşiktaş kampüsüne saat tam 10'da gidebildim. Yetişmiştim. (!) yuppi..

    O da ne, cadde tarafındaki kapıdan giriş yapmak isterken (bilenler bilir, cadde kapısı tarafında turnikeler vardır) iki güvenlik görevlisi tarafından durduruldum. Çok normal bir şekilde Kongre için geldiğimi söyledim. Fakat, kongre girişlerinin sahil tarafındaki kapıdan yapıldığını, binanın çevresinden (o sırada sağnak yağan yağmurun altında yürüyerek) dolaşıp sahil tarafından giriş yapmam gerektiğini öğrendim. Yine bilenler bilir, hem sahil tarafındaki kapı, hem de  cadde tarafındaki kapı aynı avluya açılır. Aynı yere gideceğimi, yağmur altında yürümek istemediğimi, hatta bunun çok anlamsız olduğunu söylediğim halde, güvenlik (!) görevlilerimizi ikna edemedim. Küfürlerimi benden başka kimsenin duymayacağı şekilde sıralayarak, zaten yağmur damlaları yüzünden bişi göremediğim gözlüğümü de burnumun aşağılarına çekip, sahil tarafındaki kapıya doğru yürüdüm. O iki güvenlik görevlisine özel : EVET, SAYENİZDE DAHA DA ISLANDIM. Sahil tarafındaki kapıya ulaştığımda, kişilerin hatalarını tüm organizasyona mal etmemek gerektiğini, sadece o iki güvenlik görevlisinin kişisel salaklıkları nedeniyle böyle bir durumla karşılaştığımı vs. telkinleri eşliğinde kapıdan girdim. 

    Sonunda, Registration Desk. Başında kimsenin olmadığı bir yetkiliye yaklaştım ve;
       Kıvanc: - Merhaba
       Kız:      - Merhaba, Adınız?
       Kıvanc: - Kıvanç Özüölmez.   (yanlış yazdığına eminim)
       Kız:      - Hımmm.. paranızı ödemişmiydiniz, 
       Kıvanc: - Evet..? . ? . ? Şirketimin ödemiş olması lazım.
       Kız:      - Şirket, Hım, Şirket hangisi?
       Kıvanc: - Bilge Adam (Bunu da yanlış yazdığına eminim)
       Kız:      - Hımm, yok, kayıtlı görünmüyorsunuz.
       Kıvanc: - Ama nasıl olur, imkanı yok.
       Kız:      - Birde şu arkadaşla görüşün.

     Hemen yandaki arkadaşla görüşülür ve dialog şöyle ilerler;
       Kıvanc:      - Merhaba
       Yeni Kız:     - Merhaba, Adınız?
       Kıvanc:      - Kıvanç Özüölmez.
       Printer:      - bıızzztt, tırrrt,, zıırrrrt..
       Yeni Kız:     - Buyrun Kıvanç Bey, Kartınız..

      Elbette arkamı dönüp, ilk konuştuğum kıza sert bir bakış atmayı ve "nınnınınınınını" şeklinde mırıldanmayı ihmal etmedim.

    Bir iki standa bakıp, geç kalmama korkusu ile, hızlı adımlarla ana salona ilerledim, gözüme çarpan ilk koltuk aynı zamanda pazarlama müdürümüz Ceyda Unsal'ın da yanı olunca, hemen oturdum. Saat tam 10:05 ti ve uzun bekleyiş o anda başladı. Tamam, anlayışla karşılıyorum, yağmur yağdı, beklenmedik bir trafik vardı, vs. vs. ama 10:00'daki program 10:40'a dek bekletilmez, değil mi? Birde bu arkadaşlardan bazıları bizlere "Proje yönetiminde zamanlama" vb. konularda seminerler verecekler, değil mi. Neyse, Sonunda başladı.

    Sponsorlara, organizatorlere, emeği geçenlere teşekkurler iletildi. Alkışlar sunuldu. Inproda'nın kurucusu Gunnur Aktoros Hnmın yaptığı girişi Dr. Aydın Köksal'ın hararetli, heyecan verici konuşması tamamladı. Turhan Menteş'in de sonrasında kürsüye çıktığı ve pekiştirdiği açılış konuşmasının ana fikri elbetteki "Türkiye'de yazılım sektörünü kalkındırmak, Türk Kurumsal Yazılımını her alanda ilerletmek, başta Türkiye'de olmak üzere, yazılım ihracaatı ile tüm dünyada Türk Yazılımı kullandırmak"tı. Fakat ana fikrin çevresinde kurulan tüm cümleler, tüm temenni ve beklentiler sunum için ayrılmış laptobun projectorden yansıyan, Windows XP logosu altında yapıldı. Halbuki hemen 10 metre ileride, PARDUS standı, hemen hemen herkesin aklında, Tubitak vardı. Fakat göstermelik bile olsa, o sunum bilgisayarına PARDUS kurmak kimsenin aklının ucundan bile geçmemişti. Ne ironi.

   Aralar, öğle yemeği, uyuklamamak için alınan kafeinler, standlarda dolaşmalar, eskilerden yenilerden arkadaşlarla selamlaşmalar...

   Öğle arası sonrasında, CMMI ve XP Uyumu konulu konuşması ile Orhan Kalaycı'yı dinledim. Daha önce okuyup kendi çabamla öğrenmeye çalıştığım bilgilerin pekişmesine büyük katkıda bulundu. Önceleri, "XP yahu, süper birşey" dediğim halde, bugun açıkça farkettim ki, müşterilere, özellikle de Turkiye'de XP kullanarak maliyet hesaplamak, satış yapmak, satıştan sonra, benim zamanım doldu, yapabildiklerim bunlardır demek pek mümkün değil. Özellikle son zamanlarda hem pre-sales desteği verdiğim hem projei yönettiğim, hem de müşteri ilişkileriyle birebir ilgilendiğim için müşteri beklentilerini herşeyin başında, tüm detaylarıyla bilmek, fiyatı, süreyi, zamanı belirlemek Türkiye şartlarına çok daha fazla uyan bir süreç yönetimi diye düşünüyorum. (Yaşasın MSF (bu kadar da reklam olsun canım))

Gün 2, 8 Haziran Cuma
   O gün bir olsun da...

Gün 3, 9 Haziran Cumartesi
   O gün bir olsun da... 

posted on 6/7/2007 12:07:09 AM (GTB Daylight Time, UTC+03:00)  #   
 Monday, May 28, 2007

Birçok tuzluğu doldurmak için altındaki kapağı açıp tuzu koyarız. Fakat bu arada, tuzluğun üst (dolduruş anındaki duruşa göre alt) deliklerinden tuz akaaaar gider. Acaba bu tasarım hatası değil midir? Yoksa öngörülen ve sık sık tuzluklara tuz doldurulmadığı için gözardı edilen bir ayrıntı mıdır?

Benzer bir tasarım hatasıyla, yazılım projelerinde de ayda bir yapılan batch işlemde küçük veriler kaçsa, yine dökülen tuz gibi, kimsenin umrunda olmaz mı?

posted on 5/28/2007 12:15:56 AM (GTB Daylight Time, UTC+03:00)  #   
 Friday, May 25, 2007

One of my best friends needed some help about componentware for his research. Here is the text that I wrote for him. Hope to be helpfull.

Do you know, what do the Volkswagen Golf, New Beetle and Audi TT have in common? They all share the same chassis. From the outside, they appear to be very different vehicles but the platforms are the same. Mass production demands standardized parts across the entire automobile industry. By standardizing production of components, they have been able to lower production costs and time. And often eliminate testing for many items that have already proved to be used in widespread. So, what may we learn from automobile industry?

In early ages of software develepment; firms wrote their own “Libraries” which were ready codes written in any languages. Later on, as object oriented languages became more popular, prewritten modules expanded to class-libraries. Class Libraries were generally written in C++. Modern component software is often language-independent. It is possible to build program in whatever language you have elected to use. COM, .NET DDL’s, Java and ActiveX technologies achive the purpose of components. Componentware is the name for these ready to use software modules. Componentware stands by being attractive to the widest number of developers. This requirement also ensures that prefabricated routines have the longest life span.

Here is some reasons why you should use components:

  • Production is simplified
  • Programs take less time to develop
  • Less to test
  • Their reliability is proven
  • They have higher quality than you may afford
  • They can be reused on a range of products
  • Costs can be spread across development
  • Development overheads are proportioately reduced

Componentware enables latecomers to assemble major sections of rival program with lightning speed. This gives the developers time to concentrate on the business logic of the project and make sure it works more reliable, has sweeter interfaces, etc. as the components in automobile industry.

posted on 5/25/2007 11:30:14 PM (GTB Daylight Time, UTC+03:00)  #   
 Wednesday, May 02, 2007

Birkac saatimi harcayıp kendi kendime "neden yapamıyorum ya, boyle sacma bişi mi olur?" diye söylenirken SQL Server Books Online ' ı daha dikkatli okudum, ve araya sıkıştırılmış bir cümleyle kendime geldim. Gerçekten isnull T-SQL de yalnizca "null mı değil mi" kontrolünü mü yapar?

Returns the same type as check_expression.

Books Online, Isnull için bunu söyluyor. Yani, isnull kontrol ettiginiz parametreleri, aynı zamanda ilk kontrol ettiginizin tipine ceviriyor.
Örneğin

declare @param1 nvarchar(50), @param2 nvarchar(50),@param3 nvarchar(25)
set @param1 =' 25 karakterden  uzun   bir metin'
set @param2 = @param1

print isnull(@param3,@param1)

-- 25 karakterden  uzun   b    (Print'in output'u)

param3'ün tipi nvarchar(25) oldugu için textin kalanı kesilip atılıyor.    :) ilginc dimi?

Peki, birde bulmak için bu kadar uğrastıgım querynin nasıl birsey olduguna, ve dondurmediği sonuca bakalım.

select * from sysobjects
where @param1 = isnull(@param3,@param2)

Parametre tanımlamalarında gördüğünüz üzere, @param3 null oldugu için, isnull'ın @param2'yi döndürmesini, @param2 ve @param1 de birbirine eşit olduğu için tablodaki tüm kayıtları görebilmeyi umuyordum. Fakat, malesef, elimizde kocaman bir boş küme :)

Aklımızda, bloğumuzda bir yerlerde kalsın. Unuttukça açıp bakarız.
İyi & Dikkatli çalışmalar.

posted on 5/2/2007 5:36:19 PM (GTB Daylight Time, UTC+03:00)  #   
 Tuesday, May 01, 2007

SilverLight’ın Beta sürümü Microsoft.NET destekli olarak ilgi ve alakanıza sunuldu. http://silverlight.net/ adresinden örneklere ve videolara erişebilirsiniz.

Geliştirme ve dökümanlarla ilgili download’lara http://www.microsoft.com/silverlight/tools.aspx adresinden ulaşabilirsiniz.

posted on 5/1/2007 10:42:46 PM (GTB Daylight Time, UTC+03:00)  #   
 Friday, April 27, 2007

Windows & .NET Magazin,  Nisan 2007 sayısında yayınlanan IPTV makalemi, soft copy olarak aşağıda bulabilirsiniz;

Televizyon kumandanızı tuşlamaya başladınız, kaç farklı kanal izleyebilirsiniz? Analog yayınlar ile 20 civarı, Kablo TV üzerinden 40-50, en fazla birkaç uyduyu dinleyen digital receiverlarınız üzerinden maximum 1000. Peki  ya sonrası? Canınız yerel haber dinlemek istiyor, ama saat haber saati değil. Dün gece izleyeceğiniz diziyi dışarıda olduğunuz için izleyemediniz, ya da bir iş yemeğiniz var ama tuttuğunuz takımın en önemli maçını da canlı yayında izlemek istiyorsunuz.

Yıllar önce Bill Gates’in “Önümüzdeki Yol  - The Road Ahead ” i okuduğumda,  yukarıdaki tanıma çok benzer bir anlatımla karşılaşmıştım. O zamanki vizyonumla, bana göre kitaptaki diğer tüm fikirler arasında en son gerçekleşecekler listesinin en iddalısıydı bu. İstediğin TV içeriğini istediğin an izleyebilmek. Hatta daha da ilerisi, her an her yerde izleyebilmek ve TV içeriğini herkese yayınlanan içerik ve yayın akışı’ndan çıkararak kişisel yayınlara çevirebilmek. Bu fikir, şu anda karşımızda, kullanıma hazır, devrim yaratacak kadar güçlü bir teknoloji olarak duruyor: IPTV

TV kanallarının ve video içeriklerinin internet üzerinden yayınlanması ve geniş bant erişim teknolojileri ile televizyonlarımıza, bilgisayar ve cep telefonlarımıza ulaşması IPTV’nin en yüzeysel açıklamaları arasındadır. Aslında bu açıklama ile, görüntü ve ses kalitesi, dil seçimi ve benzeri bir çok uygulamayı bizlere sunan ve uzun süredir neredeyse hepimizin kullandığı digital yayınlar (DVB – Digital Video Broadcasting) ile pek farkı görünmemektedir. Peki niçin yayınları internet üzerinden izleyelim ki?