Microsoft TechDay 2011 Estonia
This post contains notes from the first half of Microsoft TechDay 2011 Estonia.
Developer’s Keynote: Next Generation Apps! Developing for Services and Devices
Cloud is the way to go. We started with the mainframes and have reached an era where the trend is the cloud and virtualization. Software- and Planform As A Service is the new vision.
We can bill you elastically. SLA-driven architecture and extreme standardization.
10-15% of failed HDD-s on a stack of server machines is an acceptable loss; we only interfere when we reach a critical level. We try to keep the human factor in a data center as low as possible with one person maybe managing 10 000 servers.
The cloud is a big oppurtunity. We need the cloud to connect different devices from watches to PC-s. We’re providing software for both the public and the private cloud. Put stuff that needs bursts of performance in the public cloud. We give you a secure and standard-compliant platform to run your application.
We don’t believe everything will be moved to the cloud, the future will be a kind of a hybrid. We’d like to open up the [Azure] platform because there are other technologies besides Microsoft’s out there who could benefit from it.
Azure security:
- Confidential and isolated data
- Data integrity – we duplicate and geo-replicate your data
- SLA availability
- Accountability: logs
When you become the next Facebook overnight…you need the cloud to scale your app on-demand.
Kinect demos
- Hardware: RGB and Depth camera
- Can “see” human figures and tell apart different, overlapping persons.
- Can also do tricks with voice recognition!
Demo: moving skeleton with joints recognized. Error: SkeletonDemo has stopped working. [System malfunction for ~8 minutes]
Windows phone philosophy: People vs. Icons. We put people first.
Windows Phone 7 features demo
Porting apps to Phone 7 with .NET and Visual Studio is easy! We have a full infrastructure for PUSH notifications. We need to build social apps.
[Demo for simple PUSH system. Doesn't work, reason unknown.]
There is a lot of cool stuff you can do with HTML5. Microsoft has invested heavily in the tools to help you build HTML5 and having them will be critical to your success.
Question from the audience. Answer: Estonia support for the Phone 7 will come, but unfortunaly I can not tell you exactly when.
[Remarque from a live demo]: Whoever reads the EULA? Let’s make the lawyers happy.
FabriCamp demo – scalable Azure infrastructure deployment. [The demo doesn't succeed, several error messages].
Developer Session #1: HTML5 – Myth and Reality. How industry is changing and why?
A brief history of HTML from 1997. Static pages, Netscape browser design. Because of plugins like flash and Silverlight we, the browser vendors, decided to sit down and work on a new version of HTML. We want to use the GPU for graphics acceleration. Javascript performance has increased dramatically since the beginning [of the Internet].
The web and expectations have changed, but HTML hadn’t. That’s the reason for HTML5.
Some features:
- new doctype
- binary attributes
- structured tags are not required
- quotes on attributes are now optional
- obsolete elements (applet, center, font, marquee). They work…but please – please don’t use them in new sites! Use the HTML5 logo if you support it, not because it’s fun!
- New life to old elements (i, ol, em, small…)
- New semantic elements (canvas, audio, video, footer, header…)
- Native support for audio, video and more
Open technologies – open standards, not owned by any company
Myth #2 : HTML5 is a product by Apple/Google…. – Nop!
We all love HTML5 – Opera, Safari, IE, Mozilla, Chrome & more
Microsoft is commited to supporting HTML5 in all of their products.
Favourite browser for everyday usage in order from most to least(raise hands): Chrome (half the hall), Firefox, IE, Opera
Demo of particle rendering on canvas (paintball on ietestdrive.com): IE 9 really fast, Chrome about 10fps? Using canvas is very simple, you can draw anything!
Myth #3: ACID3/html5test/… – quality of standard measurement – Nop, they measure how a feature is implemented in a browser. MS claim: ACID3 is not a real test, we don’t like it. Two weeks ago IE9 got 100/100 after the test was changed, Chrome (version 14) got 99/100. Still we tell you it’s not a real measurement of HTML5 implementation.
Myth #4 – HTML5 is ready – Every W3C standard must complete 6 steps. We’re almost done, but it’s not yet a real standard. We are very careful about draft status specifications in Microsoft so we won’t implement them. Chrome.angrybirds.com isn’t REALLY done in HTML? Disable flash plugin and you’ll see… The whole game is much faster in IE than in Chrome, by the way…
Myth #5 – HTML5 is not ready – Well, true, but you CAN use it already! Example: doodlegod.com, all done in HTML5! Yup, even sound!
“Developers can use HTML5 now and we encourage them to do so” – Ian Jacobs, W3C
Myth #6 HTML5 = CSS3, SVG… – They are actually separate specifications
CSS 3 features:
- custom font import
- media queries
- background manipulation
- new selectors
- HSLA colors
- transparent elements
- …and more!
Myth #7: HTML5 is only for desktops - Not no! Mobile devices, user interfaces etc
Myth #8: HTML5 is only for browsers - See above
Myth #9: All codecs are equally great - Legal issues? Implementation status?
Let’s kill IE6 together! Please kill it! 9% still use it. http://ie6countdown.com
http://buildmypinnedsite.com/ - give websites Windows 7 taskbar integration (pinning).
HTML is the future of the Web.
Modernizer is awesome.
I absolutely HATE supporting IE < 9 designs. It's tedious, frustrating and no fun at all.
I'm designing for HTML5 and CSS3 (the "new" web is here now) and nearly always use the new features both language upgrades bring to modern, sensible browsers.
That's why I've been using Modernizer as part of the HTML5 Boilerplate suite by Paul Irish.
Modernizer To the Resque!
Modernizr is an open-source JavaScript library that helps you build the next generation of HTML5 and CSS3-powered websites.
- modernizer.com
At first, I took it's promise for automagical compatibility improvements with ehem… older browsers… at trust… but then I fired up my virtual machine and saw the real difference.
Below are 3 pictures of a design I am creating in HTML based on specs from the designer. You decide: is Modernizer 2.0 worth the 10 kilobytes of JS?
(Above) Firefox 6 – How It Should Look
(Above) IE 8 In a Virtual Machine With Modernizer 2.0
(Above) IE 8 In a Virtual Machine Without Modernizer
The Morale
That’s how easy it is to create Twitter with Kohana 3
As Steve Krug would call it, some "happy talk"
Kohana has become my PHP framework of choice ever since I was forced to start using it about 9 months ago. Derived from CodeIgniter (interestingly enough I can't confirm that since, once again, Kohana's Wikipedia page has been deleted), Kohana has made several advancements and is now a fully capable framework I've come to love.
This article shows one of the reasons for that, namely how quick, easy and (arguably) elegant it is to create a web app from scratch using Kohana. The app we'll build is an extremely basic one, but coding it from scratch, without a framework… I don't even want to imagine.
The post is in the form of a tutorial and I'll write as if giving instructions to You.
Project Summary
We'll be building a very basic Twitter-type microblog application. The main functionalities of the site include:
- Login
- Making a micro-post (ie tweeting)
- Viewing a list of past micro-posts
- Deleting a post
- Logging out
We'll use Twitter's own Bootstrap toolkit (hey, what the heck, we're stealing their bread anyhow, why not in guns blazing?) that does all the heavy lifting on the CSS / design part. We won't be using any Javascript since that would be a post on it's own.
Setting it all up
[To be written, as soon as I have the time]
Coding
[To be written, as soon as I have the time]
Conclusion
Now that you've spent some hours (it took me 3 hours to write the fully-working code you see @ github) building the app, all you need to do is hire some marketing people and travel back in time 8-or-so years – the riches await.
View Project Source @ GitHub
Related articles
- Kohana 3.2 Validation Estonian translation (sqroot.eu)
- Twitter Releases Bootstrap, A Set Of Tools To Build Web Apps Using CSS (techcrunch.com)
- Twitter launches Bootstrap, a new platform to build CSS-based apps (digitaltrends.com)
Making the web experience smoother with loading fades
CSS3 transitions and jQuery animations have greatly affected the web experience. Following up on the idea, here's a quick snippet to make the webpage smoothly fade in/out on page loads.
When you click on a link, the page fades out, leaving only white behind, when the loading of the new page is complete, the page fades in again. A couple of things to note though: the trick will only be useful with really small pages, since loading large pictures leaves the user wondering what the hell happened since (s)he can't see any action. One of the principles of browser design is to show the content as soon as it's available, hence the page 'jumping' one sometimes sees with a slower connection. That said, only use it on cacheable, static and small pages.
First, hide the body of the page with CSS:
body { display: hidden; }
…and add the following JavaScript to hide/show the page. Don't forget to include jQuery first!
$(document).ready(function(){
$('body').fadeIn('slow');
});
$(document).unload(function(){
$('body').fadeOut('fast');
});
Update: After using the technique for a while, I noticed several problems with it. Firstly, what happens when the user doesn't have JS enabled? The page stays white. JS crashes due to syntax errors also cause failure with fadeIn. Secondly, if the page is large enough, the user might simply leave. A Loading… spinner would fix that.
Is It Haiku?
Okay, it's not Friday, but the last Friday Night Project was kind of shaky…so here is "Is It Haiku?"
View The Demo







Ando “David” Roots is a college student and a software developer from Kunda, Estonia. Living, working and studying in Tallinn, he hopes to get his bachelor degree from the Estonian Information Technology College on IT Systems Development. 