Pages

Sunday, December 30, 2012

Detect CPU architecture at runtime for Windows 8 Store Apps

  If you are developing an application for the Windows 8 Store it is very important that you test it on an ARM device (Surface RT, Asus VivoTab RT, Dell XPS 10,etc.) before sending it into certification. You will probably have some bad surprises and not everything that was fast&fluid on your development machine will continue to be so on an ARM device (the list scroll performance reminds me of the first version of Windows Phone). So you will have to simplify the layouts, animations and in some cases even rewrite part of your code. Parallel Programming is your friend if you can use it (for Kids' Orchestra I had the big problem that generating 100ms of sound output took more then 100ms so after 2 days of trying to optimize the C# source code I realized that I only had to use the Parallel.For and everything started working). 
   Due to performance differences you might need to split the user experience/code on different architectures (like disabling some animations on ARM). If this is the case it becomes very important to know the processor architecture on which your application runs. One solution would be to create 3 different packages of your applications and use the conditional compilation to differentiate between what happens on each architecture. If you still want to use only one package (Any CPU) it is enough to have a method that returns the processor architecture.
    The bad news is that WinRT framework doesn't have any method/property that returns the processor architecture  (at least I don't know it). The good news is that you can still use GetNativeSystemInfo as it is an api supported for Windows Store apps (it is even supported for Windows Phone 8 apps):


  For Windows Store apps you can use two approaches to call this api:
1. Use P/Invoke -this is the one I opted for;
2. Create a Windows Runtime Component in C++ that you can then call from managed code - this is the approach you will have to use if you need to call this function on Windows Phone 8.

   What I did is to create a public class, which I called CPU, and has one public static property NativeInfo that returns an SystemInfo object:

 public class SystemInfo  
{
public ProcessorArchitecture ProcessorArchitecture;
public ushort ProcessorArchitectureId;
public ProcessorType ProcessorType;
public uint ProcessorTypeId;
public uint NumberOfProcessors;
public ushort ProcessorLevel;
public ushort ProcessorRevision;
public uint AllocationGranularity;
};

and a public method IsProcessorFeaturePresent (invoking also a supported Api for Windows Store applications) which returns if a certain ProcessorFeature feature is supported or not.

I have also created a small sample that will give you a list with your processor details. Here is the result I got on  my Surface:


Hope you will find the class useful. Don't hesitate to contact me if you need further details.

SOURCE CODE:

NAMASTE!

Wednesday, December 26, 2012

C# XAudio2 Sound Playback for Windows Phone

     Let's begin with a small introduction to XAudio2:
     XAudio2 is a low-level audio API. It provides a signal processing and mixing foundation for games that is similar to its predecessors, DirectSound and XAudio. XAudio2 is the replacement for both DirectSound and XAudio.
     XAudio2 abstracts audio generation by separating sound data from "voice", allowing each voice to be filtered by programmable digital signal processing and effects processing functions. Voices can be "submixed" together into a single stream. There is always only one Mastering Voice that outputs the result using WASAPI.

     XAudio2 is primarily intended for developing high performance audio engines for games. For game developers who want to add sound effects and background music to their modern games, XAudio2 offers an audio graph and mixing engine with low-latency and support for dynamic buffers, synchronous sample-accurate playback, and implicit source rate conversion. Compared to WASAPI, XAudio2 requires only a minimum amount of code even for complex audio solutions. Compared to the Media Foundation engine, XAudio2 is a low-level, low-latency C++ API that is designed for use in games.
     XAudio2 cannot be used for background music - for this task you will have to use the IMFMediaEngine. XAudio2 cannot be used for capturing audio - for this task you will have to use WASAPI. Do not use XAudio2 for media playback. For that task you can use MediaElement
    XAudio2 is part of the DirectX api that is included in the new Windows Phone 8 SDK. The Api is shared between Windows 8 and Windows Phone 8 which means that you will be able to fully reuse your source code on both platforms. 

If you want to use XAudio2 for your C#/VB/HTML code you have two options:
1. Use SharpDX . SharpDX is a wrapper of the DirectX Api under .Net platform. Theoretically you can use it to call XAudio2 api directly from your managed code. Practically what happens is that the .Net CLR/GC on ARM seem to block native threads so your audio will shutter/glitch in certain conditions. I had the same problem when I was developing our Windows 8 game Kids' Orchestra and the audio had glitches even on a core i7 processor.
2. The other option, which from my experience works better, is to develop an Windows Phone Runtime Component that will manage the XAudio2 part and expose the needed methods/events to the managed code.

      To better understand how it is done I took the Windows 8 sample XAudio2 audio file playback sample C++ from MSDN and ported to Windows Phone 8 by splitting it in two projects: The C#/Xaml part for the UI and the "audio" project which is a Windows Phone Runtime component developed in C++.
     The porting was pretty easy. I only had to re-code the player class to make it "visible" to the managed code project and added an event that will tell you when a certain Source Voice has finished playing its buffer/sound (we have 7 sounds and each sound has a Source Voice associated to it). If you need further details on how to write a Windows Phone Runtime component in C++ have a look at this  MSDN Post

    This sample only plays Wav files that are resources in the C++ project. You could also dynamically generate sounds in managed code and pass the Wave/buffer data as a byte[] to the runtime component. Inside the native code you will then generate an XAUDIO2_BUFFER and submit it to a Source Voice for playing.

     I have attached the SOURCE CODE for the Windows Phone project. If you have problems with it don't hesitate to contact me.

NAMASTE!

Friday, December 21, 2012

Unable to use Windows Phone 8 Emulator without SLAT support

After installing the Windows Phone 8 SDK I got an error stating that hardware virtualization was not supported on my machine therefore I could not use the emulator.

Apparently there are two requirements for your machine to meet to support the Windows Phone 8 emulator:

  • Support for hardware virtualization in the form of either Intel-Virtualization Technology (Intel-VT) or AMD-V (also called SVM)
  • Support for Second Level Address Translation (SLAT) – see How to Check if your CPU supports SLAT – on Intel CPUs this is also called Extended Pages Tables.

This is caused by the fact that the Windows Phone 8 Emulator is using the client version of Hyper-V (which ships with Windows 8 client OS) which requires SLAT. The Hyper-V server does not.

Because I don’t have a Windows Phone 8 device on hand – I’m pretty much stuck building Windows Phone 7.1 apps.

Technorati Tags: ,,,

Thursday, December 20, 2012

First sessions announced for TechDays 2013 Belgium - early bird discount available

TechDays 2013 will take place on 5,6 and 7 March at Kinepolis Antwerp – the agenda is slowly filling up. For SharePoint developers there is an interesting pre-conference deep dive track with sessions by Dan Holme, Serge Luca and Lieven Iliano.

SharePoint sessions:

During the main conference no SharePoint sessions seem to be scheduled which is quite strange because the goal of the new SharePoint app model was to open up SharePoint to the average .NET developer.

Tags van Technorati: ,,

Wednesday, December 19, 2012

Μεταφορα αρχειων με BlueTooth ..Επιτελους !!!

 



Ολοι οι χρηστες WP με την ανακοινωση των WP8 σκεφτηκαμε οτι τα τηλεφωνα που ειχαμε θα ειναι σε λιγο χωρις νεες εφαρμογες και αναβαθμισεις .
Η Νοκια απο την αρχη δηλωσε οτι θα συνεχιζει να υπστηριζει με εφαρμογες για πολυ καιρο ακομη .. Ηδη εχει βγαλει αρκετες εφαρμογες για το λειτουργικο αλλα αυτην την φορα δινει στους χρηστες των WP 7.8 δυο εφαρμογες που ηταν για πολυ καιρο ζητουμενες απο πολλους χρηστες

Οι εφαρμογες αυτες ειναι το Bluetooth Share Ringtone Maker ...



Οπως φαινεται απο τα ονοματα τους το πρωτο κανει μεταφορα αρχειων μεσω bluetooth κατι που παρα πολλοι χρηστες το ηθελαν απο την αρχη των WP και το δευτερο ειναι η εφαρμογη που φτιαχνει ringtones απο οποιοδηποτε τραγουδι εχουμε στην συλλογη μας ...
Και τα δυο τα δοκιμασα και δουλευουν αψογα (Το ringtone στο HTC Titan με ρομ Dynamic 2.0)

Για οσους εχουν τηλεφωνα Νοκια Lumia η εγκαταστησει καποια Custom Rom με Νοκια στοιχεια μπορουν να κατεβασουν απο το marketplace τις 2 εφαρμογες ..

Bluetooth Share 
Ringtone Maker 

Fun with Social, Windows 8 and Javascript

Tuesday, December 4, 2012

Exploring search driven applications with SharePoint Server 2013

Activating Windows 8 Enterprise and changing the key

If you install Windows 8 Enterprise Edition from MSDN you probably notice that you don’t need to enter a key. But after installation you are required to activate the software and this doesn’t work without entering a key. If you want to enter the key you have to go to command prompt  (remember to run with elevated administrator privileges) and type the following slmgr.vbs -ipk "YOUR_PRODUCT_KEY".

Tags van Technorati: ,,

Sunday, December 2, 2012

Eφαρμογη για Backup Επαφων SMS και εφαρμογων (Custom Roms)


Ενα απο τα σοβαρα θεματα που υπηρχουν οταν κανουμε φλασσαρισμα νεας ΡΟΜ σε WP τηλεφωνα ειναι οτι μεχρι τωρα δεν υπηρχε καμμια εφαρμογη η ευκολος τροπος να κρατησουμε backup απο τις επαφες τα μημυματα τα ημερολογια και αλλες ρυθμισεις (wi-fi κωδικους κλπ). Επισης δεν μπορουσαμε να καρατησουμε ρυθμισεις και δεδομενα εφαρμογων ουτως ωστε ευκολα να περοστουν στην νεα ΡΟΜ μετα το φλασσαρισμα.

Ολα αυτα μεχρι τωρα διοτι η εφαρμογη που εδωσε στο XDA πριν λιγο καιρο ο γνωστος απο τις ΡΟΜ του ultrasot λυνει ολ αυτα τα προβληματα ...


Η εφαρμογη για να τρεξει θελει να εχουμε εγκατεστημενα τα παρακατω :

  • Windows Mobile Device Center
  • Windows Phone 7 SDK (or mini SDK)
  • Πληρη συνδεση με το τηλ μεσω Zune 
  • Kαι μια Custom Rom η τελεφωνο με Full unlock.

Υποστηριζει δε τα εξης :
  • Eπαφες, SMS, Ημερολογια
  • My Documents (εκτος Zune collection)
  • Χαρτες Bing 
  • Λεξικα πληκτρολογιου 
  • Κωδικους WiFi access points 
  • Alarms
Επισης υποστηριζει και αρκετες εφαρμογες για τις οποιες κραταει δεδομενα και ρυθμισεις !!!

Το τελευταιο φλασσαρισμα που εκανα στον Τιτανα μου ηταν η ευκαιρια να την δοκιμασω και τα αποτελεσματα ηταν παραπανω απο εντυπωσιακα.

Πριν το φλασσαρισμα εκανα backup σε ολα τα παραπανω και σε οσες εφαρμογες ηθελα να κρατησω δεδομενα (twitter facebook navigation apps κλπ). Η διαδικασια αν προσθεσουμε και καποιες εφαμρογες κρατει αρκετη ωρα ( στην δικη μου περιπτωση περιπου 1.30 ωρα) και δημιουργει ενα αρχειο με ολα τα δεδομενα.

Μετα το φλασσαρισμα ΠΡΕΠΕΙ να κανουμε τα ακολουθα βηματα για να δουλεψει το restore.

1. Εγκατασταση των λογαρισμων windows live και οποιου αλλου λογ/σμου εχουμε επαφες στο τηλεφωνο μας (google facebook κλπ).
2. Εγκατασταση ολων των εφαρμογων που θελουμε να επαναφερουμε...

Μετα απο αυτο τρεχουμε την εφαρμογή και κανουμε επαναφορα. Μολις τελειωσει η διαδικασια κανουμε μια επανεκινηση στο τηλεφωνο και ειναι ολα εκει.. Οπως ηταν πριν το φλασσαρισμα της νεας ΡΟΜ...

Ειναι μια εφαρμογη που ολοι οσοι περνανε νεες ΡΟΜ στα τηλεφωνα τους ΠΡΕΠΕΙ να εχουν και να χρησιμοποιουν ..

Συνιστάτε ανεπιφυλακτα

Σημειωση: Το λινκ στην αρχικη σελιδα στο XDA δεν δουλευει .. Κατεβαστην απο εδω 

Friday, November 30, 2012

Νεες Rom 7.8 (8858) για HTC και αλλα τηλεφωνα !!

Στο XDA developers ο Ultrasoft γνωστος απο την τεραστια δουλεια που εχει κανει για την WP κοινοτητα, δημοσιευσε τις νεες ΡΟΜ με την τελευταια εκδοση των WP την 7.8 (8858).

Εχθες εβαλα την νεα ΡΟΜ στον Τιτανα μου (με την ιδια διαδικασια που εχω γραψει σε αλλα αρθρα) και οι πρωτες εντυπωσεις ειναι πολυ καλες ..
Εχουν διορθωθει ολα τα προβληματα της προηγουμενης (beta) εκδοσης και το τηλ δουλευει αψογα..



Η ΡΟΜ ερχεται με ενσωματωμενες 24 γλωσσες (και Ελληνικα) διορθωνει πολλα απο τα προβληματα της προηγουμενης εκδοσης και ενσωματωνει εκτος απο τα αλλα και τα παρακατω :

  • Windows Phone 7.8 (8858)
  • Full unlock v4 - now with root access notifications.
  • Full Nokia application support without device name spoofing.
  • Customizable search key.
  • Ringtones from your personal music collection.
  • Clock tile.
  • High quality WP7.8-compatible tiles.
  • Orientation lock.
  • File manager.
  • Quick Menu 2.0.
  • USB2Video driver.
  • XAP deployer built in.
  • Full support of native applications.
  • Windows Mobile Device Center Launcher.
  • SIM Toolkit available.
  • CAB updatability - except OEM (HTC, Nokia, Samsung) updates.

Θα εχω πληρη εικονα μετα απο μια εβδομαδα χρησης και θα επανελθω ..

Σημειωση: Με την εφαρμογη WPBackup v1.0 του ιδιου του Ultrasoft μποορειτε να κρατησετε σε ενα αρχειο τα sms τις επαφες τα WiFi και αρκετες εφαρμογες που εχετε στο τηλεφωνο σας και να τα επανφερεται μολις τελειωσετε το φλασαρισμα 

Thursday, November 29, 2012

Bluetooth Service's UUIDs

If you are developing on Windows Phone 8 and trying to communicate with a Bluetooth device using a StreamSocket these UUID's might come in handy:


ServiceDiscoveryServerServiceClassID= '{00001000-0000-1000-8000-00805F9B34FB}';
BrowseGroupDescriptorServiceClassID = '{00001001-0000-1000-8000-00805F9B34FB}';
PublicBrowseGroupServiceClass = '{00001002-0000-1000-8000-00805F9B34FB}';
SerialPortServiceClass = '{00001101-0000-1000-8000-00805F9B34FB}';
LANAccessUsingPPPServiceClass = '{00001102-0000-1000-8000-00805F9B34FB}';
DialupNetworkingServiceClas = '{00001103-0000-1000-8000-00805F9B34FB}';
IrMCSyncServiceClass = '{00001104-0000-1000-8000-00805F9B34FB}';
OBEXObjectPushServiceClass= '{00001105-0000-1000-8000-00805F9B34FB}';
OBEXFileTransferServiceClass = '{00001106-0000-1000-8000-00805F9B34FB}';
IrMCSyncCommandServiceClass= '{00001107-0000-1000-8000-00805F9B34FB}';
HeadsetServiceClass = '{00001108-0000-1000-8000-00805F9B34FB}';
CordlessTelephonyServiceClass = '{00001109-0000-1000-8000-00805F9B34FB}';
AudioSourceServiceClass = '{0000110A-0000-1000-8000-00805F9B34FB}';
AudioSinkServiceClass= '{0000110B-0000-1000-8000-00805F9B34FB}';
AVRemoteControlTargetServiceClass = '{0000110C-0000-1000-8000-00805F9B34FB}';
AdvancedAudioDistributionServiceClass = '{0000110D-0000-1000-8000-00805F9B34FB}';
AVRemoteControlServiceClass= '{0000110E-0000-1000-8000-00805F9B34FB}';
VideoConferencingServiceClass = '{0000110F-0000-1000-8000-00805F9B34FB}';
IntercomServiceClass = '{00001110-0000-1000-8000-00805F9B34FB}';
FaxServiceClass = '{00001111-0000-1000-8000-00805F9B34FB}';
HeadsetAudioGatewayServiceClass= '{00001112-0000-1000-8000-00805F9B34FB}';  
WAPServiceClass = '{00001113-0000-1000-8000-00805F9B34FB}';
WAPClientServiceClass = '{00001114-0000-1000-8000-00805F9B34FB}';
PANUServiceClass = '{00001115-0000-1000-8000-00805F9B34FB}';
NAPServiceClass = '{00001116-0000-1000-8000-00805F9B34FB}';
GNServiceClass = '{00001117-0000-1000-8000-00805F9B34FB}';
DirectPrintingServiceClass = '{00001118-0000-1000-8000-00805F9B34FB}';
ReferencePrintingServiceClass = '{00001119-0000-1000-8000-00805F9B34FB}';
ImagingServiceClass= '{0000111A-0000-1000-8000-00805F9B34FB}';
ImagingResponderServiceClass = '{0000111B-0000-1000-8000-00805F9B34FB}';
ImagingAutomaticArchiveServiceClass = '{0000111C-0000-1000-8000-00805F9B34FB}';
ImagingReferenceObjectsServiceClass = '{0000111D-0000-1000-8000-00805F9B34FB}';
HandsfreeServiceClass = '{0000111E-0000-1000-8000-00805F9B34FB}';
HandsfreeAudioGatewayServiceClass = '{0000111F-0000-1000-8000-00805F9B34FB}';
DirectPrintingReferenceObjectsServiceClass = '{00001120-0000-1000-8000-00805F9B34FB}';
ReflectedUIServiceClass = '{00001121-0000-1000-8000-00805F9B34FB}';
BasicPringingServiceClass = '{00001122-0000-1000-8000-00805F9B34FB}';
PrintingStatusServiceClass= '{00001123-0000-1000-8000-00805F9B34FB}';
HumanInterfaceDeviceServiceClass = '{00001124-0000-1000-8000-00805F9B34FB}';
HardcopyCableReplacementServiceClass = '{00001125-0000-1000-8000-00805F9B34FB}';
HCRPrintServiceClas = '{00001126-0000-1000-8000-00805F9B34FB}';
HCRScanServiceClass= '{00001127-0000-1000-8000-00805F9B34FB}';
CommonISDNAccessServiceClass = '{00001128-0000-1000-8000-00805F9B34FB}';
VideoConferencingGWServiceClass = '{00001129-0000-1000-8000-00805F9B34FB}';
UDIMTServiceClass = '{0000112A-0000-1000-8000-00805F9B34FB}';
UDITAServiceClass = '{0000112B-0000-1000-8000-00805F9B34FB}';
AudioVideoServiceClass = '{0000112C-0000-1000-8000-00805F9B34FB}';
SIMAccessServiceClass = '{0000112D-0000-1000-8000-00805F9B34FB}';
PnPInformationServiceClass= '{00001200-0000-1000-8000-00805F9B34FB}';
GenericNetworkingServiceClass = '{00001201-0000-1000-8000-00805F9B34FB}';
GenericFileTransferServiceClass = '{00001202-0000-1000-8000-00805F9B34FB}';
GenericAudioServiceClass= '{00001203-0000-1000-8000-00805F9B34FB}';
GenericTelephonyServiceClass = '{00001204-0000-1000-8000-00805F9B34FB}';



Sunday, November 25, 2012

BIWUG session 13 december 2012– Fun with SharePoint 2013 Social, the REST API and Windows 8

Unfortunately the next BIWUG event is already fully booked but if you add yourself to the waitlist we might try to get you in when cancellations come in. Topics on the agenda are:

  • Office 2013 and SharePoint 2013 integration: There is a close integration between Office and SharePoint. In this session you will discover the integration between Office Applications (Word, Excel, PowerPoint, Access, and Outlook) and SharePoint. We will also talk about real collaboration with SharePoint. (Speaker: Patrick Sledz)
  • Fun with SharePoint Social, REST API and Windows 8: This is adaptation of a session delivered at SharePoint Conference 2012 in Las Vegas  - Windows 8 Metro Style Apps offer a rich user experience that is perfect for exposing data from SharePoint 2013. In this talk, we'll make use of the new SharePoint 2013 REST API to retrieve data from SharePoint and visualize it in a custom Windows Store app. We will built a Windows 8 App which integrates with the new social and search features in SharePoint Server 2013. Finally we will take a look at what is needed to deploy an app to the Windows store. (Speaker: Joris Poelmans)

Register for SharePoint Day Belgium – Bringing Las Vegas to Brussels

This event aims to help you get up to speed with the new and improved features in SharePoint 2013, explain what they mean to your organization and how you can benefit from these enhanced features. Register now on http://eu.avepoint.com/sharepoint-day-brussels/

I will be presenting a session on the new search features in SharePoint Server 2013. Other speakers include Jeremy Thake (AvePoint) , Mike Bueltmann (Knowledgelake, Adam Castle (K2) and Abi Onifade (AvePoint).

Tuesday, October 30, 2012

Windows Phone 8.0 SDK Download


Today, Microsoft has been launched the Windows Phone 8 Software Development Kit (SDK), which allows developers to developed applications for Windows Phone 8, over the Win RT OS.



Here is dowanloads available.

1) Microsoft online installer for Windows Phopne 8

2) Microsoft offline installer for Windows Phopne 8 (ISO Format)

Cheer development with new Windows Phone 8 SDK :)

Thank you!

Tuesday, October 23, 2012

Why you should take a look at SQL Server 2012

For a full overview check out the SQL Server 2012 What’s new whitepaper

Monday, October 8, 2012

Farseer Physics for Windows Store Apps using Monogame

  Last week I did a session on porting XNA Windows Phone 7.x games to Windows Store apps using MonoGame. I have to thank Dean Ellis from the MonoGame project team for all the help. 
 While XNA is not a framework directly supported by Microsoft for Windows Store apps the current version of MonoGame is compatible with Windows 8 and, the most important thing, the applications pass the WACK. There are already several games available in the Windows Store developed using MonoGame (Armed, Skiddy, Rune Legend and I guess there are more). 
   For the session I ended up using the Simple Animation sample but seeing how easy is to share the code between the platforms (Windows, Windows Phone,PC, MAC, iOS, Android, Playstation, Linux) I started looking for a physics engine. The most used Open Source physics engine seems to be Farseer Physics but it was too late to do the porting for my session. On Sunday I tried the porting and everything went pretty smooth. The only thing I've changed was the serialization/de-serialization of the "World" state. I compiled the engine and also the sample. For the Sample project the Content Project was compiled using Visual Studio 2010 (for the moment Visual Studio 2012 doesn't recognize this type of project) and added the xnb's to a Content folder inside the Visual Studio 2012 solution. 
 You can see the result in this YouTube video:


I've used SnagIt to capture the movie and it influenced the frame rate (when running without capturing the framerate is always at 60 fps). The test device was the Samsung Slate which has a powerful cpu. I would love to know if a WinRT device will be able to run at the . If any of my readers has access to a WinRT device please deploy the sample to the device and let me know if the framerate is as expected. For the sample you will have to use an external keyboard and mouse as the touch screen is not working in this version. I will try to fix it for the next release (the problem seems to be inside the MonoGame framework as I only receive the move event and not the pressed and released from the touch screen).
   
Use this link to download the full project (engine and sample): 

NAMASTE





Monday, October 1, 2012

Nominated as SharePoint MVP for 2012

I just got the news that I have been renewed as SharePoint Server MVP. I became a SharePoint MVP in 2005 – so this is my 8th year in a row as SharePoint MVP – back in 2005 there were only a handful of SharePoint MVPs and I’m forever grateful to Patrick Tisseghem for introducing me into the wonderful world of SharePoint – without him there wouldn’t be such a vibrant SharePoint community here in Belgium.

There’s a lot of buzz out there with the re-launch of the Belux Information Worker User group – BIWUG – don’t forget to register on www.biwug.be to stay up to date with the latest SharePoint information – there are a lot of interesting sessions planned in the coming months.

Monday, September 24, 2012

Windows 8 App-a-thon at Microsoft Belgium on September 28th

There will be 2 coding sessions, 1 for Day Birds from 10am – 4pm and one for Night Owls from 6pm – 12am. You can join us for one or both sessions. Build an app, have fun and go home with a fantastic prize!

Don’t forget to register.

Friday, September 21, 2012

Νεα ΡΟΜ για HTC Titan με WP 7.8 !!!



Εδω και μερες οι πληροφοριες ελεγαν οτι οι rom coockers ειχαν ηδη στα χερια τους τα αρχεια απο τα επερχομενα Windows Phone 7.8 .. 
Μια ΡΟΜ ειχε ηδη βγει αλλα σε πολυ πρωιμα σταδια για να ειναι λειτουργικη 

Ο χρηστης Azzelio στο Xda-Developers ανεβασε πριν λιγο ενα βιντεο που δειχνει μια πληρως λειτουργικη ΡΟΜ με Windows Phone 7.8 για το HTC Titan ... 



Δεν εχει ανεβασει ακομη τα αρχεια της ΡΟΜ αλλα το βιντεο που ακολουθει ειναι ενδεικτικο.
Οπως αναφερει στο θεμα του η ΡΟΜ περιεχει τα παρακατω 

 Background Colors 
- Google Search
- Update to 8779
- Nokia / Lumia App (Counters..)
- WhatsApp 2.0.0 
- DigitalPower_V0.5
- RegistryEditor
- FileBrowser
- DFT_BTFileTransfer
- USB 2 Video out



Πηγη

Thursday, September 20, 2012

The web template feature in SharePoint 2010

In SharePoint 2007 you had two options when you needed to create a new template for a SharePoint site:

In SharePoint 2010, there is a new replacement and improved framework for handling site templates. When you save a site as template it will create a normal SharePoint Solution Package (a wsp file – if this is new for you take a look at WSP – SharePoint Solution Files). The new webtemplate feature allows you to build a “site definition” which is scoped to a site collection – this way you can built templates of a site and still deploy them to the SharePoint solution gallery in sandbox mode.

Every webtemplate is based on an existing site definition – listed below is a code sample using the minimal set of attributes that you have to use when creating a new webtemplate.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<WebTemplate
BaseTemplateID="1"
BaseTemplateName="STS"
BaseConfigurationID="1"
Name="JOPX"
Title="JOPX WebTemplate"
>
</WebTemplate>
</Elements>


The WebTemplate has to reference the Template (BaseTemplateName) and the configuration of the site definition (BaseConfigurationId) the template is based on.



The example on MSDN How to: Create a webtemplate starts from importing an existing saved webtemplate but in some cases it is easier to start from an empty SharePoint project and manually adding a elements.xml incorporating the webtemplate feature as well as the ONET.XML from the site definition from which you want to start.



References:



Wednesday, September 19, 2012

Νεα ΡΟΜ στον Τιτανα με ασπρομαυρο θεμα


Επειδη σημερα ηταν μερα που δοθηκε το iOS 6 ειπα και εγω απο αντιδραση να βαλω νεα ΡΟΜ στον Τιτανα μου ...
Δειτε τις πρωτες φωτο













*****************************************************************************************************





Tuesday, September 18, 2012

ΟΔΗΓΟΣ : Φλασαρισμα HTC τηλ με την μεθοδο USB Y & GoldCard (1st & 2nd Gen)


Σημερα θα δουμε το 2ο μερος απο την την διαδικασια του debranding-Downgrating για τα τηλ WP της HTC. Aφου εχουμε ετοιμασει το καλωδιο και την καρτα (δες αυτον τον οδηγο) τωρα θα δουμε τα αρχεια που χρειαζομαστε τις συνδεσεις και την διαδικασια. 

ΑΡΧΕΙΑ (ROMs)

Παμε λοιπον πρωτα να δουμε τι αρχεια (Roms) πρεπει να κατεβασουμε για το τηλεφωνο που εχουμε. Kατεβαζουμε μια  nodo rom για την συσκευή μας και κανουμε extract το αρχειο Ruu_signed.nbh με το Winrar. 


Αυτο το αρχειο πρεπει να γινει Rename αναλογα με την συσκευη οπως πιο κατω   

1ης γενιας HTC 

1.-Sparimg.nbh for Spark (Trophy)
Rom-download: http://forum.xda-developers.com/show....php?t=1427904
2.-SCHUIMG.nbh for Schubert (HD 7)
Rom-download: http://forum.xda-developers.com/show....php?t=1427890
3.-MOZAIMG.nbh for Mozart
Rom-download: http://forum.xda-developers.com/show....php?t=1427893
4.- MONDIMG.nbh for Mondrian (HTC 7 Surround)
Rom-download: http://forum.xda-developers.com/show....php?t=1427902


2ης γενιας HTC 

5. -ETERIMG.nbh για το Titan 
Rom-download http://www.filefactory.com/f/db553db625fe2273/
Kατεβαζουμε το αρχειο "IMG_Eternity_HTC_Europe_1.09.401.02_Radio_16.23.02.09_A_16.24.00.23_Signed_ETERNITY_RELEASE.nbh"
6. -OMEGIMG.nbh για το Radar
Rom-download http://www.filefactory.com/f/6445c856576328d8/

Οταν εχουμε κατεβασει την ρομ που ειναι για την συσκευη μας την μεταφερουμε στην goldcard που φτιαξαμε πριν (ΠΡΟΣΟΧΗ !! να εχουμε αλλαξει το ονομα της ρομ με βαση την συσκευη μας).



Συνδεσεις - Debranding/Downgrading 


1. Συνδέουμε το τηλέφωνο με το USB καλωδιο στην μια θηλυκη ακρη του καλωδιου μας και στην αλλη τον αναγνωστη sd καρτων (η το usb στικακι) Τελος στην αρσενικη ακρη συνδεουμε τον φορτιστη του τηλεφωνου.
2. Ανοιγουμε το τηλεφωνο μας κρατωντας τα κουμπια vol (-) και Κουμπι φωτογραφικης ταυτοχρονα για να μπει η συσκευη σε usb host mode.
3. Βαζουμε τον φορτιστη στην πριζα και αν ολα ειναι καλα αυτοματα θα αρχισει η διαδικασια φλασαρισματος της ΡΟΜ...

Ισως να χρειαστει να βαλετε πρωτα τον φορτιστη και μετα να ανοιξετε το τηλ για να γινει σωστα η διαδικασια

Προσοχη !!! Να μην κοπει το ρευμα οταν φλασαρουμε ...
Η διαδικασια αυτη θα κρατησει αρκετη ωρα και εχει διαστηματα που δειχνει να εχει κολησει ...
Μην το πειραξετε και περιμενετε να τελειωσει... Οταν τελειωσει κλειστε το τηλ ..(βγαζοντας την μπαταρια) 

Εγκατάσταση SSPL...


Τωρα παλι σε σχεση με το τηλεφωνο που εχουμε κατεβαζουμε τα αρχεια για HSPL

A. Για την 1η γενια τηλ δειτε εδω τον αναλυτικο οδηγο ΕΔΩ

B. Και για την 2η γενια (Titan Radar) η διαδικασια ειναι διαφορετικη ...


Κατ αρχην κατεβαζουμε τα αρχεια HSPL απο ΕΔΩ

Συνδεστε τον αναγνωστη καρτων στον υπολογιστη σας και σβηστε το αρχειο της ΡΟΜ που υπαρχει εκει ...
Αν εχετε Titan αντιγραψτε απο το αρχειο 
\DFT__HSPL_WP7SG1_GoldCrad\DFT_HSPL_WP7SG1\1_SPL205\TITAN\ETERIMG.nbh 
αν εχετε Radar το αρχειο \DFT__HSPL_WP7SG1_GoldCrad\DFT_HSPL_WP7SG1\1_SPL205\OMEGA\OMEGIMG.nbh
στην καρτα. Συνδεστε και παλι τον αναγνωστη στο usb Y καλωδιο και με τον ιδιο τροπο οπως καναμε και πριν με την ΡΟΜ βαζουμε το τηλ σε USB host mode και θα αρχιζει να περναει το SPL στο τηλ. 

Αυτο γινεται πολυ γρηγορα (5 λεπτα) και οταν τελειωσει βγαζουμε παλι την μπαταρια γι ανα κλεισει το τηλ και ειμαστε ετοιμοι να περασουμε HSPL και την Custom ROM. 


Εγκατάσταση HSPL...

1. Εξαγάγουμε όλα τα αρχεία από το rar αρχείο του RSPL/HSPL που κατεβάσαμε και τρέχουμε (σαν administrator) το αρχείο DFT_HSPL_WP7SG1_INSTALL.exe.

2. Κλείνουμε με power off το τηλέφωνο και κρατώντας πατημένο τα Volume-Up and Down (μέχρι να εμφανιστεί η οθόνη OSLP ). Στο κάτω μέρος της οθόνης έχει την λέξη Serial.

3. Συνδέουμε το τηλέφωνο στον υπολογιστή και περιμένουμε να εγκατασταθούν οι drivers (αν το έχετε ξανακάνει δεν θα περιμένετε καθόλου).

4. Όταν τελειώσει η εγκατάσταση των drivers από τα Windows και είναι όλα εντάξει η λέξη serial θα γίνει USB. 
Στην εφαρμογή που τρέχει πατάμε το next και θα αναγνωριστεί το τηλέφωνο μας. Αν όχι τότε ελέγξτε το καλώδιο (πρέπει να είναι το original), την θύρα USB και τέλος τους Drivers που πρέπει να έχουν εγκατασταθεί σωστά.

5. Μετά την αναγνώριση του τηλεφώνου, διαλέξτε από την λίστα της εφαρμογής, την έκδοση OSLP με βάση αυτό που γράφει στο τηλέφωνο. Οι οδηγίες της εφαρμογής είναι ξεκάθαρες. 

6. Πατήστε επόμενο και όταν τελειώσει η εγκατάσταση, η συσκευή θα κάνει επανεκκίνηση σε RSPL. 
Aν στην οθόνη του τηλεφώνου δείτε «CotullaRSPL» τότε έχει εγκατασταθεί σωστά το RSPL και είμαστε έτοιμοι για το φλασάρισμα της RΟΜ. Αν όχι τότε κάπου κάνατε λάθος και πρέπει να επαναλάβετε τα βήματα από την αρχή.

7. Αφήστε το τηλέφωνο όπως είναι και πάμε για την RΟΜ.

Εγκατάσταση RΟΜ..

1. Αφού έχουμε ήδη κατεβάσει την RΟΜ εξάγουμε όλα τα αρχεία της σε ένα κατάλογο

2. Από τον κατάλογο τρέξτε το αρχείο ROMUpdateUtility.exe (σαν administrator), ακολουθείστε τις οδηγίες στην οθόνη και θα αρχίσει η διαδικασία φλασαρίσματος. Χρειάζεται περίπου 8-10 λεπτά και μόλις τελειώσει θα κάνει επανεκκίνηση και θα έχετε την νέα RΟΜ στο τηλέφωνο σας.

Η διαδικασία είναι πολύ εύκολη και απλή. Στο μόνο σημείο που μπορεί να κολλήσετε είναι στη σύνδεση με το usb και τους drivers. Προτείνεται να κάνετε τη διαδικασία σε φορητό υπολογιστή (για το φόβο διακοπής ρεύματος) που τρέχει Windows 7, καθώς αναφέρονται πολλά προβλήματα με την σύνδεση και drivers σε Windows XP.

Για τα Ελληνικά στην πρώτη σύνδεση μετά το φλασάρισμα θα σας ζητήσει τη γλώσσα και επιλέξτε Ελληνικά. Αν βάλουμε παντού Ελληνικά στις ρυθμίσεις τότε το πλήκτρο της αναζήτησης θα μας πηγαίνει στο site του Bing (www.bing.com) και όχι στην εφαρμογή Bing. Για να το αλλάξετε αφού τελειώσετε την εγκατάσταση πηγαίνετε στις Ρυθμίσεις/Περιοχή + Γλώσσα και στο τέλος της λίστας αλλάξτε σε Αγγλικά Ηνωμένου Βασιλείου την ρύθμιση Γλώσσα Αναζήτησης/Προγράμματος Αναζήτησης.

Καλό φλασάρισμα ...




Monday, September 17, 2012

ΟΔΗΓΟΣ : Εγκατάστασης RSLP/Custom Roms σε HTC (1ης γενιας)


ΠΡΟΣΟΧΗ !!! Η διαδικασία αυτή είναι ΜΟΝΟ για τα τηλέφωνα της HTC που έχουν λειτουργικό Windows Phone 7.
Αυτά είναι: 1. Trophy 2. HD7 3. Mozart 4. Surround 5. HTc 7 pro

Σε αυτό τον οδηγό θα περιγράψουμε τα βήματα που χρειάζονται για να εγκαταστήσετε στο τηλέφωνο σας πρώτα το RSPL και μετά Custom ROM. Να ξεκαθαρίσουμε εδώ ότι η μόνη διαφορά μεταξύ RSPL και HSPL είναι η εξής: Tο HSPL είναι μόνιμη λύση και το κάνουμε μονό μια φορά, και μετά από αυτό μπορούμε αμέσως να κάνουμε το φλασάρισμα custom ROM ενώ το RSPL είναι λύση της «μιας χρήσης» και χάνετε μετά από το φλασάρισμα και την επανεκκίνηση του τηλεφώνου, συνεπώς θα πρέπει να γίνεται κάθε φορά που θέλουμε να βάλουμε κάποια RΟΜ.


Σε πρώτη φάση θα περιγράψουμε την διαδικασία του RSPL (που δεν διαφέρει ιδιαιτέρα από το HSPL) μιας και είναι αρχή και όλοι κάνουμε δοκιμές, και επίσης δεν αφήνει κανένα «ίχνος» παραβίασης σε θέματα εγγύησης.

Τα αρχεία που πρέπει να κατεβάσουμε είναι:
α) Τα αρχεία RSPL/HSPL
Από αυτό το link στο XDA
Το αρχειο που θα κατεβασετε ειναι το DFT_XSPL_WP7FG3.rar

β) Τα αρχεία της RΟΜ
Από το XDA κατεβάστε τη RΟΜ για τη συσκευή σας όπως δίνονται links πιο κάτω. Σε όλες τις περιπτώσεις κατεβάζουμε την RΟΜ που έχει στο όνομα της τη λέξη ELL. Για κάθε ΡΟΜ έχει 3 links, προτιμήστε το 3ο που είναι στο filefactory

1. Trophy 
http://forum.xda-developers.com/showthread.php?t=1523976 
2. HD7 http://forum.xda-developer...php?p=16383783
3. Mozart http://forum.xda-developer....php?t=1205360
4. Surround http://forum.xda-developer...php?p=16379674
5. HTc 7 Ρro http://forum.xda-developer....php?t=1205111


Εγκατάσταση RSPL...

1. Εξαγάγουμε όλα τα αρχεία από το rar αρχείο του RSPL/HSPL που κατεβάσαμε το DFT_XSPL_WP7FG1.rar και τρέχουμε
(σαν administrator) το αρχείο DFT_RSPL_WP7FG1_LAUNCH.exe.


2. Κλείνουμε με power off το τηλέφωνο και κρατώντας πατημένο το Volume-Down (μέχρι να εμφανιστεί η οθόνη OSLP με τα 3 χρώματα) το ανοίγουμε και πάλι. Στο κάτω μέρος της οθόνης έχει την λέξη Serial.

H εικόνα είναι από HD7 με HSPL. H Δική σας θα έχει διαφορετικά στοιχεία.

3. Συνδέουμε το τηλέφωνο στον υπολογιστή και περιμένουμε να εγκατασταθούν οι drivers (αν το έχετε ξανακάνει δεν θα περιμένετε καθόλου).

4. Όταν τελειώσει η εγκατάσταση των drivers από τα Windows και είναι όλα εντάξει η λέξη serial θα γίνει USB.
Στην εφαρμογή που τρέχει πατάμε το next και θα αναγνωριστεί το τηλέφωνο μας. Αν όχι τότε ελέγξτε το καλώδιο (πρέπει να είναι το original), την θύρα USB και τέλος τους Drivers που πρέπει να έχουν εγκατασταθεί σωστά.

5. Μετά την αναγνώριση του τηλεφώνου, διαλέξτε από την λίστα της εφαρμογής, την έκδοση OSLP με βάση αυτό που γράφει στο τηλέφωνο. Οι οδηγίες της εφαρμογής είναι ξεκάθαρες. Αν έχετε mango διαλέξτε το 10.

6. Πατήστε επόμενο και όταν τελειώσει η εγκατάσταση, η συσκευή θα κάνει επανεκκίνηση σε RSPL.
Aν στην οθόνη του τηλεφώνου δείτε «CotullaRSPL» τότε έχει εγκατασταθεί σωστά το RSPL και είμαστε έτοιμοι για το φλασάρισμα της RΟΜ. Αν όχι τότε κάπου κάνατε λάθος και πρέπει να επαναλάβετε τα βήματα από την αρχή.

7. Αφήστε το τηλέφωνο όπως είναι και πάμε για την RΟΜ.

Εγκατάσταση RΟΜ..

1. Αφού έχουμε ήδη κατεβάσει την RΟΜ εξάγουμε όλα τα αρχεία της σε ένα κατάλογο

2. Από τον κατάλογο τρέξτε το αρχείο ROMUpdateUtility.exe (σαν administrator), ακολουθείστε τις οδηγίες στην οθόνη και θα αρχίσει η διαδικασία φλασαρίσματος. Χρειάζεται περίπου 8-10 λεπτά και μόλις τελειώσει θα κάνει επανεκκίνηση και θα έχετε την νέα RΟΜ στο τηλέφωνο σας.

Η διαδικασία είναι πολύ εύκολη και απλή. Στο μόνο σημείο που μπορεί να κολλήσετε είναι στη σύνδεση με το usb και τους drivers. Προτείνεται να κάνετε τη διαδικασία σε φορητό υπολογιστή (για το φόβο διακοπής ρεύματος) που τρέχει Windows 7, καθώς αναφέρονται πολλά προβλήματα με την σύνδεση και drivers σε Windows XP.

Για τα Ελληνικά στην πρώτη σύνδεση μετά το φλασάρισμα θα σας ζητήσει τη γλώσσα και επιλέξτε Ελληνικά. Αν βάλουμε παντού Ελληνικά στις ρυθμίσεις τότε το πλήκτρο της αναζήτησης θα μας πηγαίνει στο site του Bing (www.bing.com) και όχι στην εφαρμογή Bing. Για να το αλλάξετε αφού τελειώσετε την εγκατάσταση πηγαίνετε στις Ρυθμίσεις/Περιοχή + Γλώσσα και στο τέλος της λίστας αλλάξτε σε Αγγλικά Ηνωμένου Βασιλείου την ρύθμιση Γλώσσα Αναζήτησης/Προγράμματος Αναζήτησης.

Καλό φλασάρισμα ...


Nα θυμισω οτι ο πιο πανω οδηγος δημοσιεύτηκε για πρωτη φορα απο μενα στο myphone στις 7 Αυγ 2011 (ΕΔΩ) 

Οδηγος: Δημιουργια USB Y cable και Gold Card για τηλεφωνα HTC


Καλημερα σημερα θα ασχοληθω με ενα θεμα που απασχολει πολλους κατοχους HTC smartphones.
Αν εχουμε κανει ολα τα update στο τηλ μεχρι και την tango (8773) τοτε δεν μπορουμε να βαλουμε custom roms. O μονος τροπος για να φλασαρουμε ειναι με την μεθοδο Gold Card & USB Y cable ...
ΜΗΝ ΠΡΟΣΠΑΘΗΣΕΤΕ ΝΑ ΒΑΛΈΤΕ HSPL ΜΕ ROM ΠΟΥ ΕΧΕΙ BOOTLOADER 4.XXX ΚΑΙ ΠΑΝΩ

Οι πιο κατω πληροφοριες ειναι κατα κυριως απο αυτο το θεμα sto XDΑ  και εχουν συμπληρωθει απο φωτο και πληροφοριες που κατα καιρους εχω μαζεψει απο το διαδυκτιο.
Η διαδικασια ειναι ευκολη αν ακολουθησουμε τις οδηγιες κατα γραμμα αλλα πρεπει να ξερουμε τι κανουμε.
Με λιγα λογια ειναι για προσωρημενους χρηστες ..




GOLD CARD & USB
Eιναι πολυ ευκολο να φτιαξουμε ενα usb Y καλωδιο απο μονοι μας και θα σας δωσω εδω οδηγιες  Το καλωδιο ειναι στην μια ακρη του αρσενικο και οι δυο αλλες ακρες ειναι θηλυκες. Στην ακρη που ειναι αρσενικο βαζουμε τον φορτιστη του τηλεφωνου και στις αλλες στην μια θα συνδεσουμε το usb stick (η μια memory card) και στην αλλη με το usb καλωδιο το τηλεφωνο







ΠΩΣ ΦΤΑΧΝΟΥΜΕ ΤΟ ΚΑΛΩΔΙΟ
Παιρνουμε 2 καλωδια προεκτασης usb (αρσενικο-θηλυκο) και τα κοβουμε. Κραταμε τις 2 θηλυκες ακρες και μια αρσενικη. Καθε καλωδιο usb εχει 4 καλωδια με χρωματα ΑΣΠΡΟ-ΠΡΑΣΙΝΟ (για data) ΚΟΚΚΙΝΟ-ΜΑΥΡΟ (για ρευμα). Απο το αρσενικο θα χρειαστουμε μονο τα ΚΟΚΚΙΝΟ κ  ΜΑΥΡΟ (το πρασινο ασπρο δεν θα τα χρησιμοποιησουμε καθολου).
Με τον τροπο που φαινετε στην φωτο διπλα ενωνουμε τα 3 ΜΑΥΡΑ και τα 3 ΚΟΚΚΙΝΑ καλωδια μεταξυ τους και το ιδιο για τα 2 ΑΣΠΡΑ και τα 2 ΠΡΑΣΙΝΑ. Τα κολαμε με μονωτικη ταινια και το USB Y καλωδιο ειναι ετοιμο.





ΠΩΣ ΦΤΙΑΧΝΟΥΜΕ ΤΗΝ GOLDCARD
Χρειαζομαστε μια sd η microSD καρτα μνημης μεγεθους 1GB τουλαχιστον και ενα cardReader για να την διαβασουμε. Αν δεν εχετε καρτα δοκιμαστε με καποιο usb stick. Δεν δουλευουν ολα αλλα ισως ειστε τυχεροι...
1. Φορμαρουμε την καρτα (η το στικακι) σε FAT32 και Allocation unit size να ειναι  "4096"
2. Τρεχουμε το αρχειο Goldcardtool.exe (με δεξι πληκτρο επιλεγουμε "Run as Administrator") 
3. Επιλεγουμε την καρτα μας απο την λιστα (htc mmc) και μετα παταμε το κουμπι "Load Goldcard.img και επιλεγουμε αυτο το αρχειο  goldcard.img .
(Επειδη το λινκ ειναι νεκρο φτιαχνουμε το αρχειο απο αυτο το σαιτ )
Μολις φορτωθει και αυτο παταμε το κουμπι "Patch MMC" και περιμενουμε μεχρι να τελειωσει και να βγει το μηνυμα που θα λεει αν πηγαν ολα καλα

Αυτο ηταν ..Τωρα εχουμε ενα USB Y και μια Gold Card  και ειμαστε ετοιμοι να κανουμε debrand η downgrade οποιοδηποτε τηλεφωνο της HTC ...

Ακολουθει ο οδηγος για το φλασαρισμα HSPL και Custom ROMs ...



Saturday, September 15, 2012

Exploring an App for SharePoint 2013 Visual Studio 2012 project – SharePoint hosted apps

After having installed Visual Studio 2012 together with the Microsoft Office Dev Tools which are distributed with the Web Platform Installer 4.0 (Just search for Office within Web PI) you can start building your first SharePoint 2013 apps. There is only one project type for building SharePoint 2013 apps.

After having selected the SharePoint 2013 app template, you will need to decide what type of app you want to build.

Let’s start with exploring what is included in the Visual Studio 2012 project after you have selected SharePoint hosted app.

Visual Studio 2012 SharePoint 2013 App structure:

  • Features folder – which contains a .feature configuration file, which is used to deploy features to the server that's running SharePoint. This file is typically edited using the VS Feature Designer
  • Package folder - which contains a Package.package file, which is used to deploy the solution to the server that's running SharePoint.
  • Content folder
            • App.css : CSS file to style your SharePoint 2013 app. For guidelines about the different styles take a look at Apps for SharePoint UX design guidelines
            • Elements.xml: provisions the CSS file into the App web
  • Images folder
          • AppIcon.png : serves the icon for the app in the home page
          • Elements.xml: provisions the icon into the App web
  • Pages folder
          • default.aspx : Main/starter page of the app which is shown in full screen mode. Every app needs a least one page likes this. Appmanifest.xml points to this app starter page
          • Elements.xml: provisions the default.aspx file into the App web
  • Scripts folder
          • App.js – Script file for adding your own Javascript logic
          • JQuery-1.6.2.js – If you are not familiar with JQuery yet – you should definitely pick up some learning material on this topic – it is quite essential for building SharePoint 2013 apps. In essence JQuery is a Javascript library which allows you to easily select and manipulate items in the DOM. See JQuery.com for more information
          • JQuery-1.6.2.min.js – Minified version of the JQuery library
          • JQuery-1.6.2.vsdoc.js – Used to provide intellisense capabilities – see How do I get intellisense for JQuery? for more info
  • Root of the project
          • Appmanifest.xml - defines the various elements of the SharePoint 2013 app itself. The appmanifest.xml tells SharePoint what it must know about the app and defines the app's most important properties such as ProductID, Version, Title, Tile and StartPage Urls
            , different AppEvent Urls: Installed, Uninstalling, Upgraded and the App Permission requests.
          • For more information, see Explore the app manifest and the package of an app for SharePoint
          • Packages.config - When creating a SharePoint 2013 app  project in Visual Studio 2012, NuGet packages are used for the JQuery libraries. This means that instead of using whatever version is installed on your machine (via the SDK), Visual Studio will pull the latest version from NuGet. You can see this by looking into the packages.config file in your project.

If you take a look at default.aspx you will notice the following javascript snippet added in to the page – this is quite important – and provides the binding with the business logic which is added into app.js

   1: <script type="text/javascript">



   2:     $(document).ready(function () {



   3:         SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () { sharePointReady(); });



   4:     });



   5: </script>




The snippet above uses the jQuery document ready event handler – “ $(document).ready(function())” to call SP.SOD.ExecuteFunc(). This is an example of a common pattern in Javascript called anonymous function calls. SP.SOD.ExecuteFunc(key,functionname,fn) ensures that the specified file - sp.js - that contains the specified function – SP.ClientContext - is loaded and then runs the specified callback.



So when both the DOM and SP.js are loaded and the ClientContext object is initialized the code will call the sharePointReady() function which is located in App.js.



If you look at the code in App.js – you will notice that the general way of working with the  Javascript Client Object Model hasn’t changed a lot in SharePoint 2013.





   1: // The code creates a context object which is needed to use the SharePoint object model



   2: function sharePointReady() {



   3:     context = new SP.ClientContext.get_current();



   4:     web = context.get_web();



   5:  



   6:     getUserName();



   7: }




References: