Windows 8

Developer news roundup: BUILD, AppFog, Web Workers HTML5 feature

Justin James highlights news about Windows 8, Zend Server 5.5, RailsInstaller 2, the dearth of parallel programming skills, and more.

Microsoft BUILD

The really huge news is the Microsoft BUILD event where Windows 8 was shown in a preview format. The topic that isn't getting as much coverage is the sweeping changes for developers; I'll cover that in-depth in next week's Software Engineer column. So far, while the amount of change is breathtaking, I feel like this may be a good opportunity to consider divorcing yourself from the Microsoft ecosystem.

For now, check out these Windows 8 links on TechRepublic:

Language/library updates

ASP.NET MVC 4 developer preview

At BUILD, Microsoft launched the developer preview of ASP.NET MVC 4.

BlackBerry Advertising SDK beta

RIM has its new Advertising SDK in beta now.

Tools and products

Zend Server 5.5

Zend Server 5.5 has been released. I spoke to the folks at Zend, and what's really interesting about the latest release is that it substantially improved PHP's deployment story. If you use PHP, you'll definitely want to take a look. I've reviewed Zend Server in the past and found it to be a good system.

Embarcadero released RAD Studio XE2, FireMonkey

Embarcadero released RAD Studio XE2, including new versions of Delphi, C++ Builder, and RadPHP. Also included is newcomer FireMonkey, which allows developers to create cross-platform capable native apps for Windows, Mac, and iOS. FireMonkey leverages the GPU as well as the CPU for some very nice visuals.

RailsInstaller 2

RailsInstaller 2 (which makes it easy for Windows developers to get started with Rails) has been released. One of the big improvements is revving the included Ruby to 1.9.2 and Rails 3.1.

AppFog adding Ruby, Node.js support

AppFog, a Platform-as-a-Service provider, has announced support for Ruby and Node.js.

Editorial and commentary

More parallel programming skills needed to continue innovation

Computerworld Australia writes that the overall dearth of parallel programming skills will be a critical shortage holding back the industry as continued growth and innovation requires them to leverage current and future hardware. I am in full agreement. Few people who know how to write parallel code, and it's not just the lack of knowledge of the syntax. Parallel programming requires a different way of thinking about code, which is rarely practiced outside of doing the work itself, so the skills shortage won't resolve itself any time soon.

Tips and tricks

How to easily minify/optimize JavaScript, CSS, and PNGs

Scott Hanselman has a nice, quick tutorial showing how to easily minify your CSS and JavaScript and optimize your PNGs for faster site load times.

HTML5 Web Workers for multithreaded JavaScript

David Roussett has a great article discussing the new Web Workers feature of HTML5 and how to use it for multithreaded JavaScript applications.

Using HTML5 video

Nigel Parker has a blog post on MSDN showing how to go about using the HTML5 video system on your site.

Roundup of ASP.NET 4.5, ASP.NET MVC 4, ASP.NET Web Pages 2, Visual Studio 11 Preview

Jon Galloway put together a great list of links for all of the latest in Microsoft development technologies.

Events

Windows PhoneCamps

If you want to get a hands-on look at Windows Phone 7 development, check out the Windows PhoneCamps that are going on all over the United States this fall and early winter.

PHPBenelux

The PHPBenelux 2012 conference in Antwerp will be held January 27 and 28. The call for papers is open until October 15.

PHP Barcelona Conference 2011

The PHP Barcelona Conference 2011 will be October 28 and 29.

J.Ja

About

Justin James is the Lead Architect for Conigent.

5 comments
Mark Miller
Mark Miller

As I was reading Justin's overview of W8, I started to feel sorry for GUI app. vendors on Windows. Back in '00 and '01 I was in a software group which had as a major part of its workload implementing rewrites of Windows 3.1 apps. for Win32. In '03 I interviewed at a place that was only just then doing a rewrite of its *DOS app.* to Win32! They said they resisted the transition for as long as possible, but couldn't anymore. Their customers were complaining that the graphics resolution the app. ran at (which was probably 640x480, just plain VGA) was becoming incompatible with the new monitors. They could no longer go that low! Come to think of it, I had a client when I was working as a contractor, in '05, that was also in the process of translating its DOS app. to Win32. They had been using the Win32 version for a while, but there were still features in the DOS app. that hadn't been brought over. When I was laid off in '01, the news going around, put out by some forward-thinking tech CEOs, was that the GUI was dead, and that the future laid with the web. I scoffed at that notion back then, mainly out of my self-interest. I didn't like the web as an app. platform, but I think in large part those guys were right. Now the slow pokes are going to have to find some way to transition their GUI apps. to the web in the next several years. Oh joy... I don't envy their task!

Mark Miller
Mark Miller

I feel like this may be a good opportunity to consider divorcing yourself from the Microsoft ecosystem. That's quite a striking statement from you, but I would agree with it. It sounds like you might be feeling what I felt when MS announced WinFX, a kind of disassociation from what they're doing. I can't imagine IT departments embracing Windows 8, unless Microsoft expects everyone to convert over to something like a Tablet PC. My read of what MS is doing is they're taking the orientation that most businesses are abandoning IT in their own spheres. The personal computer era is over, and what's really driving IT now is data centers, which have a lot more flexibility about what OS they run, and they don't care what UI it uses. There are IT consumers that care about the UI, but they want a much simpler, less technical interface, and MS is going in the direction of the consumer, not the data center, with this OS. The question that remains in my mind is, are they abandoning business IT? Are there any hints that they're going to come out with systems for the data center? Are they abandoning that market to IBM and Oracle? What's kind of interesting is they seem to be expecting to hold on to the languages/software development market, which I don't know that they can do anymore. This is the thing that's puzzled me about MS's drive to embrace the web, which it's done since the late 90s, given its prior drive to dominate the market it was in. The more they embrace it, the less power they have in the market. It seems like they are still tying their interface to their languages and APIs, but you don't have to use them. Probably the one area where they anticipate having an edge is in online video games--their DirectX technology--an area in which Google is planning on giving them a run for their money with Native Client in Chrome (though like Google's other efforts to get outside of search, it might fail). From what I could see on the demo videos, it doesn't look like the traditional Windows UI is gone. There's still something like the start menu "pearl" there, and the taskbar, if people want that. It looks like the Metro interface is something that can be toggled. MS has always emphasized a consumer orientation to some extent, but it's been able to bridge between that and what business users need, often to the chagrin of consumers, because Windows can feel too technical and bureaucratic. In this case it feels like MS is definitely lurching in the direction of the consumer, and away from business IT. Microsoft has fancied itself as a company that makes products that consumers with some technical savvy can use, but I don't think of it as a company that primarily makes consumer products. I get the feeling that MS is in over its head, and it's going in a direction that could hurt it. It's putting out a "vibe" that it's pulling away from business IT, which had been its bread and butter for decades, and that's a big risk for it. When I first heard of the major features of Windows 8, it sounded like what some at MS had dreamed Windows XP would be. I remember talking to the IT guy at a place where I used to work telling me that what MS originally wanted with XP was to have most apps. set up in the "cloud," which customers would access through XP via. subscription. That was going to be MS's new software business model, renting internet apps., rather than selling licenses. "XP" stood for "eXPerience," which implied a passive role for the OS. It was to be a portal, rather than having the OS be the center of gravity. The idea was it would be more consumer-oriented, where people could view photos, listen to music, watch movies, play video games, and run apps. mostly over the internet. There was even talk early on of the Windows UI being driven by XML, rather than GDI calls. That's not what ended up happening with it, but those were some ideas which eventually made it into Windows, just not XP. Even considering the consumer orientation, I don't get the appeal of swipe-able tiles. If people have so much more content to look at than what's viewable on the screen, it seems to me they ought to be looking at some other display technology that enables people to look at more than one entity at once--a big screen, I guess, but not necessarily in its traditional format, probably something more along the lines of what you can see in the movie "Minority Report." Once again, maybe projection technology would be more appropriate. In any case, I don't get the appeal of putting everything in rectangles that can't overlap. They don't even seem to be considering the idea of freeing up the shape of an app. They used to talk about that when .Net first came out, that you could shape the window that content appeared in. They had some innovative masking/clipping technology for that in WinForms. MS is going in the same direction as Apple, which I know to Apple fans is nothing new, but it may be for different reasons. They're coming at it from different angles, where Apple emphasizes a rich UI experience, and MS emphasizes a web experience. Apple has been much more comfortable in the consumer space than MS has been. The main reason MS ever had a consumer market is it gained its relevance from its dominance in business IT, the idea of being able to "take the work home with you," or, "away from the office." MS is betting on the future of internet media with this play, parlaying their success with Media Center PCs and the XBox, and it could be abandoning its business IT roots. Quite a risk they're taking.

Mike Page
Mike Page

Windows 8 is in a preview build. In future "releases" there will be better integration between the desktop and the Metro interface. Therefore, existing Windows applications should coexist nicely within the same ecosystem. It will be interesting to see how they do this and how well they do this. There will be a consumer version of Windows 8 and a business version. I think the Metro interface will be front and center in the consumer version, and may be the only interface on small mobile screens. Having made the unfortunate mistake of once buying a smart phone with Windows mobile 5 I have first hand experience on how badly the desktop metaphor works on a mobile device. All in all this is a bold move by Microsoft to bridge all devices. This is something Apple has not done yet (though they seem to be working towards it), and may position Microsoft well ahead of the pack for a change instead of playing catch up.

Mark Miller
Mark Miller

As of Lion, the latest OS X release, which just came out in July, Mac users can run (most) iOS apps. So they're merging the software markets between iPod Touch/iPhone/iPad and the Macs. I didn't see the point in this. Macs have a different user profile from mobile devices. With the mobile platforms, the primary inputs are touch/gestures/orientation, and location. A lot of the AppStore apps. are designed to carry out a single function, or a small number of functions. I guess that could be changing with the iPad, but still, a lot of the interaction with that has to do with the touch interface. The closest thing that Mac users have to that is the trackpad, which is capable of handling touch input, but it's not the same. With the mobile devices, you touch the screen, and you can see where you're touching on an app. With the trackpad, you have to have touch emulation. I guess the way it works is you position "finger circle(s)" over an area using the trackpad, and then you press the button to "touch." It seems like a mismatch to me, because I can imagine some apps. not working with this approach. One might think that the obvious market for this is games, but even in that case the primary input is touch and orientation (rotating the iPhone, say). Macs are not designed for this sort of thing. They don't have accelerometers. They're generally a bit heavy (with the exception of the Air), and in any case it's not good for them to be moved around so much, because they have a hard drive. I'm sure there's input emulation, but I don't see how that's going to be seen as a natural translation of a laptop to the way these apps. are designed. I read recently that this new development with Lion is going to kill traditional Mac software vendors, unless they adjust their business model to the new market. A lot of the apps. in the AppStore cost a few bucks at most. The traditional vendors are still selling software for at least $40 per unit. The gist was the only products that can hold their value are high-end apps. that handle complex tasks, and require more sophisticated input. As for major apps. for Windows, it sounds like the web is their inevitable destination.

Justin James
Justin James

... yes, it's still there. The "Windows Pearl" is useless, all it does is take you back to the tiled Metro-style screen! I'll say that on WP7, I love the tiles (by the way, they are NOT swipable, they are essentially app icons, a single tap launches the app). When done right, they convey the critical details I need to know very easily (like the number of new messages, missed calls, etc.), to let me know that I need to activate the app. Think "system tray" but with richer information capabilities. Will it be useful on the desktop? I'm not so sure. But on a phone, and perhaps a tablet, it is awesome. My full, giant report just went through the last edit stage, so hopefully it will be posted soon. J.Ja