Beirut TechDays 4 in a 10 mins read – Developing Windows 8/Metro apps
I attended TechDays 4 at AUB around developing applications for Windows 8. If you missed the event, here is what you need to know in a 10 mins read.
The main keywords were: Easier, Sexier
- It is “Easier” to develop for windows 8 – this was actually demonstrated by one of Microsoft Lead Devs – but it was funny how the line “you already know everything you need to start coding Metro apps” was inserted in every slide almost ;p – soothing the developer rage I guess
- It is “Sexier” to work Metro Apps – the new exiting User Experience with Metro is the pride of Microsoft in Windows 8 – hearing about nicer,better,sexier, more usable interfaces was the buzz of the day.
3 Links you should know
From there you can download the Release candidate for windows 8, visual studio, design guidelines, see tons of videos, find recommended reading, links and stuff.
In Focus:
- WinRT
- Async/await
- Contracts
- Metro UI
- Creating apps with XAML, HTML5/Javascript and everything webdev needs to know
- Roaming Data
- a UXer in a dev event
- The Store
- Non tech event stuff
WinRT
WinRT is a new programming model/framework that enables us to build Metro style apps using the language of our choice, be that a managed language (C# or VB.NET), C++ or JavaScript. It enables developers to build applications that heavily use functionality exposed by Windows, which was previously difficult to achieve.
Here are some fancy pictures to explain it all + this recommended link for further reading
Async/Await:
Visual Studio 2012 RC introduces a simplified approach to asynchronous and concurrent programming that makes the code easier to write, understand, and maintain.
By using asynchronous programming, you can specify points in your code where potentially long running processes are suspended while other parts of the program continue.
This technique enables you to avoid possible bottlenecks and to enhance the overall responsiveness of your application. The ability to specify suspension points is particularly important for activities that are potentially blocking, such as when the program accesses the web. If such an activity is blocked within a synchronous process, the entire program is blocked. In an asynchronous process, the program can make progress in other areas while the blocking task finishes its work.
Using asynchrony for processes that access the UI thread is especially valuable because all UI-related activity usually shares one thread. If one process is blocked, all are blocked.
Async and Await were explained, demonstrated, coded, Q&A-ed at least 3 times, in one day…till it was super clear everyone “got it”. You can read more about it here
Contracts
In windows 8 applications should be able to work together without knowing anything about each other and this happens via “contracts”.
“A contract is like an agreement between one or more apps. Contracts define the requirements that apps must meet to participate in these unique Windows interactions.
For example, Windows lets users share content from one app to another. The app that shares content out supports a source contract by meeting specific requirements, while the app that receives the shared content supports a target contract by meeting a different set of requirements. Neither app needs to know anything about the other. Every app that participates in the sharing contract can be confident that the sharing workflow is completely supported, end-to-end, by Windows.”
and i quote: implementing contracts in your application is “lightweight” and windows 8 does the “heavy lifting” – nice marketing line.. no ?
The search and share contract were explained/implemented in a live demo and the demo apps actually worked (except for the share app, there was an internet failure for that). To know more about contracts you can check this link
Metro UI
I don’t feel like elaborating more on Designing Metro UX – excuse my overdose of that keyword – but Developing Metro style UI apps will be required for anything to be published on the Windows Store – so brace yourself and head to design.windows.com and check out some sample apps, design guidelines, download some PSDs and start searching for graphic designers on social network and start being nice to them ;p
Creating apps with XAML, HTML5/Javascript and everything webdev needs to know
Code samples with XAML and HTML5/Javascripts were demonstrated. Attendees asked “which one to pick” – to which of course the answer was both are good yet have specific limitation, so depends on task at hand.
Roaming Data
The concept that we can have roaming data and applications remember Meta Data or their state is very interesting. For example you are watching a youtube video – you log off, go home, login to windows Id, you resume it from exactly where you paused – this is with the help of Roaming Data – it is data about apps mostly that, if well used imho, will really improve the User experience. Not to be confused with offline data.
a UXer in a dev event
A lady designer who works at Wonder8 taught developers stuff – they did not throw their phones on her or any other objects and they even listened! I am starting to believe in doom days.
Store
Windows store won’t be available in Lebanon – yeah, surprise! – but this issue is being worked on and we should be getting updates from @Gusc and @MicrosoftLB
Non tech stuff
Those are the main notable tech points – otherwise i was either dosing off, having a coffee, catching up with other geeks…however this is some feedback about the event:
- all presentations were done in a windows 8 style – no exception
- There was no glitches, everyone was using windows 8 and IE to demo stuff – i was waiting for that moment chrome popups as as default browser, didn’t happen!
- a bit of racism: it seems that fellow lebanese geeks could not get over the fact that one of MS Senior devs is indian, i could hear several jokes on the accent, the head nodding, MS bringing him cuz his working hours must be cheap, etc… one word for that – shame!
- No internet connection available for a full day event for developers and when the presenters were demo-ing stuff, some of it was not working due to lack of connectivity
- Lot of “shoving Metro into our brains” – to the point it gets boring/dull…ano khalas, we got it ;p
- Some of the accents were terrible – you know that rumor about some of the most brilliant devs being terrible presenters? it can be true – it took lot of conscious effort not to dose off during some talks!
Geir heik, I am looking forward for windows8 and developing for it – kinda teased to move it out of my Virtual Machine into production – Microsoft know they can not afford an OS mistake and they are really doing some awesome work… let’s see how everything turns out together




great summary, although i wasn’t able to go, it seems i won’t miss anything.
One thing I noticed with metro is that they drain battery, they are quite inefficient, and that can be seen in the huge stack in the illustration you posted. That is kind of surprising and paradoxical for apps which are specifically designed for tablets and mobile devices.
Otherwise, I thought the interface is innovative – not something very common with Microsoft.