Windows Phone 8: Photo Upload App

screen03Last week I have published my first Windows Phone App called ‘Photo Upload’.

With Photo Upload you can upload photos from ‘Camera Roll’ to any configured WebDav Folder (such as Owncloud, etc). The trial version is fully functional, but you can only upload 3 photos at once. Remarks, this App supports HTTP and HTTPS protocol. HTTPS are working only with a valid certificate (self signed are NOT working). Videos are not supported. See more on Windows Store. Continue reading

Windows Embedded 8 Standard

Microsoft has announced the release of Windows Embedded 8.

Facts about Windows Embedded 8 Standard:

  • Windows Embedded 8 Standard Release Preview is already available for public
  • Microsoft will provide Windows Embedded 8 Standard in three different versions: 32-Bit, 64-Bit and 64-Bit with Developer-Tools
  • Windows 8 will support x86 as well as ARM (ARM support is a part of Windows Embedded Enterprise) => Cauton: ARM platforms need own ARM drivers and ARM compiled applications. Not all ARM are supported. First Release is shipped without ARM-Support.
  • Modern Style (Metro) can be disabled
  • Windows Embedded 8 Standard is split into 150 components (based on Windows 8 Professional)
  • The installation process and configuration is similar like Windows 7 (Setup-DVD, ICE, DISM, Modules can be installed later all the time offline and online, etc)
  • File based write filter and Enhanced write filter will be combined into one write filter
  • Footprint size is similar to Windows 7
  • Minimum RAM requirements on target: 512 MB
  • Activation process and licensing: Same like Windows 7 (stamp CAL and forget)

Appointments

  • Windows Embedded 8 Enterprise: 2012.12
  • Windows Embedded 8 Standard: 2013 first quarter (three quarters after official Windows 8 desktop launch)
  • Windows Embedded 8 Compact (no appointment available, probably third quarter of 2013)

Naming conventions for stored procedures

You should always use consistend naming conventions (no sp_ prefix). Beside of the documented recommendation of Microsoft for possible sp_ naming conflicts for future system procedures there is an other important reason:

If you execute a sp_ prefix stored procedure the SQL Server searches the stored procedure in the sys-namespace of the master database by each exec-call. This may causes some performance issues.

A possible way to use consistend naming conventions could be usp_ or other specific prefixes (for example three characters: get, set, chk).

Non clustered index on NON-SEQUENTIAL unique identifier vs. SEQUENTIAL unique identifier

If you have a non clustered index on unique identifier you might have identified a serious performance problem.

The SQL server creates for each non clustered index a separate table. By inserting a unique identifier with “NEWUID() stored procedure” each new data row has to be inserted somewhere within the table which needs a lot of performance and creates fragmentation of the table. In this case you need a function to be sure the insertion process will be made at the end of the table.

Continue reading

Preparing file system for first use

For your target you’ll need a bootable NTFS file system. You reach this requirement with the following commands:

After this preparation you can copy the files onto the disk.

Full Duplex WCF connection

Implementing a Web Service with Windows Communication Foundation is really easy. You need only a few clicks for having fun and enjoying a cup of coffee after successfuel implementation.

But what is, when you have the requirement for implementing a stable and fully duplex communication including the server may send indepently messages to any specific connected client at any time? The client and server should also detect broken connections and reconnect automatically. Thats a little more complex and you can not implement by one click. Too bad for enjoying your coffee in a few minutes.

For illustration purposes I have created a sample project. The client may request at any time a “Hello World” from server. Every 30 seconds, the server sends a “Hello World” to every connected client. In this sample application you see the mechanism how you can implement a callback contract and a duplex communication. Continue reading