‘technology’
The Timing of Windows 8
Posted by Brendyn on July 23rd, 2011

I’m about to go off the deep end of speculation. I’ll caveat my dreaming with two things: I work for Microsoft, and I’m not referencing anything I know from working there. This delusion is all my own.

Windows 8 is a pivotal moment for the company. Rumors point to an early-to-mid 2012 release of the new OS. The problem with that date is that it misses the 2011 holiday season, ceding another four quarters to Apple and Google as they continue to grow tablet mind and market share.

It feels now like we have to move faster than is possible, which is the point at which I unhinge myself from reality and enter a world of tech fantasy.

Information about Windows 8 has been under lock and key since the company announced its development back in 2009. The OS traditionally follows a three-year release cadence, making July 2012 roughly the right time to expect Windows 8′s release. As I said, this leaves the red meat to the competition for a good year–a dangerous prospect when one considers Apple’s recent record-shattering year on the back of iOS, and Android’s blistering ascent to the top of the mobile heap.

Now Steven Sinofsky, President of Windows and Windows Live, is no software development novice, nor is he unaware of market pressure. As the leader of Office 2007 and Windows 7, he has a track record of success. If any leader could pull the fantasy I’m about to outline from his hat, it’s Sinofsky.

Typically, when Microsoft releases a major product, it engages in extensive external testing. So far, that has yet to happen on a grand scale with Windows 8, which is interesting considering there’s less than a year left in its development cycle. By this point, builds and features have typically leaked because versions of the new OS are externally distributed. It’s not atypical to see screenshots plastered all over the Internet. The absence of this process has me wondering: could Windows 8 be on the hook for a holiday 2011 release after all?

Why would testing indicate anything about a release date, you ask? It hints at the work required to ship something as complex as an operating system. The primary reason for external testing is to subject the new software to as broad a range of inputs as possible prior to release, hoping to uncover bugs that customers would have likely run into otherwise. It’s crowd-sourced bug hunting, and it results in more polished products.

If the external test process is less intensive, perhaps it means the test barriers are lower this time. The major push in the OS thus far has been the new Metro UI, tailored for tablets and touch form factors. The new UI, however, is brand new and has no need for legacy testing. No existing apps are expected to work with it, namely because it’s built on a new platform: HTML5, JavaScript and CSS. From demos I’ve seen, the old Windows 7-style UI exists still, though little changed. If that’s the case, it’s possible, albeit unlikely, that there’s less need for legacy testing with this OS–nothing’s drastically changed with what exists, and what’s new is so new that nothing exists externally that needs to be tested.

From my experience, a new feature on average results in 10-20x the amount of work to implement than it took to think up, and anywhere from 10-100x the amount of work to test it, depending on the breadth and complexity of the feature. Accepting that, the team could shave off a huge amount of time in the development cycle by reducing the need for existing app developers and device makers to test out their products. The message is simple: what works will work, no need to test it.

Now back to earth. The reason this is out of touch with reality is that it’s unlikely the underlying Windows 7 OS has changed so little as to require zero app compatibility testing with existing software. There are ways around it–for instance, giving partners the OS with no visible changes and having them test the guts earlier on. If the rate of change in the old OS is less than the new one, active development on it could have ended and been ready for testing much earlier in the cycle. It’s improbable, though, albeit hopeful.

All of this of course is speculation spurred on by the belief that Microsoft has to act soon to have a chance at relevancy in the tablet and mobile markets. Windows Phone is quality software with a hard sales pitch in front of it. Windows is a dominant OS with high expectations for how it will resize to fill all the device needs as they rapidly evolve. Hopefully Sinofsky and his team can pull a rabbit from their hat and give Google and Apple a run for their money this holiday instead of next.

Symfony Framework’s Poor Documentation
Posted by Brendyn on May 24th, 2010

At the firm I work for, we recently made the switch from Zend Framework to Symfony. After evaluating the pros and cons of the available, and established, PHP frameworks (namely Zend, CakePHP and Symfony), we settled on Symfony for its pragmatic approach to development, ORM inclusion, and admin generator–being able to build a CMS around our database schema with just a few commands has proven an invaluable time saver so far. It also has a fairly robust developer and plug-in community.

One rather large factor we overlooked in adopting Symfony, however, was its documentation. At first glance, the example-driven approach they take seems sufficient. Rather than invest effort in documenting all framework components at their lowest level of complexity, they chose to aggregate components and document them through a sample application, from start to finish. Even after only a month or so of use, this approach has fallen far short of what a good framework needs in terms of documentation, and more pointedly what Symfony deserves.

Most frameworks that I’ve worked with choose to document components at the simplest level, building examples around say specific function calls like $sf_user->setFlash(), outlining the complete list of ways such methods can be called, and providing tips for their use. This works well because it makes few assumptions about how any one developer is going to use this piece of the framework. Other popular SDKs and frameworks, from Zend to .NET, take this approach. It should, after all, be the end-developer’s job as a good programmer to stitch components together. High-level examples that do so for us have only limited use beyond a beginner level and, when the only form of documentation, and an anemic one at that, lead to much time spent searching through API docs (generated from short code comments) and around Google for answers, often to questions about simple usage.

To the latter point about searching Google, a lack of framework-provided documentation may not be a problem if developer community contributions fill that gap, and that contributed content is easy to find. That’s just not the case with Symfony. Most answers to searches on Google, in my experience, either refer to deprecated documentation on the Symfony site, or blog and forum posts, which require additional time to abstract away proper usage from the specific implementation of the original author (if their questions are even useful and timely to begin with). In the best possible scenario, this is a matter of SEO, which should make solving this even easier. But documentation discovery now is abysmal.

With Symfony 2.0 on the horizon, slated for release some time in 2010, I really hope they change their documentation story–I’ve even e-mailed the release manager for 1.3/1.4 requesting as much. It’ll be a rather large undertaking as there’s quite a bit of functionality, to the framework’s credit. But if this issue isn’t resolved, I could see it preventing adoption by anyone with realistic documentation expectations looking for a mature PHP framework.

Avoid the Dumpster, Use Live Mesh
Posted by Brendyn on September 4th, 2009

I remember reading this article a few years back about a grad student (at Maryland, coincidentally) whose purse was stolen and with it the only copy of her nearly-finished master’s thesis. I was then an undergrad, but the impression of caution it left on me stayed over the years. I vowed then, if ever I was to go to grad school, to use all my technical chops to ensure I’d never have to root through a dumpster for my livelihood.

Thanks to the ridiculous pace of technological development, there are now far more effective ways of protecting your data than a USB or jump drive. In addition, these technologies offer a higher level of convenience and anywhere-access to your data, even when you’re not on your own computer. One member of this new class of software is Windows Live Mesh. If you haven’t heard of it or discovered its magic, you’re missing out. Wait, wait…before you click back mumbling “Microsoft shill…”, hear me out. Live Mesh is a software+service tool available for PC and Mac that syncs files between all the devices added to your “mesh”. All you need is a Windows Live ID and you’re ready to go. Installing the software is simple, and configuring which folders sync where is all but brainless.


I use Live Mesh to keep my OneNote notebooks and course documents in sync across my main laptop and netbook, which I use to take notes in class. It’s so useful to go home and have all my materials available on my other computer without having to do a thing. Even when you can’t install the desktop software, say on a lab computer where you don’t have adequate permissions, there’s a web interface that lets you access all your sync’d files (you can disable this if you prefer not to store your documents in the cloud).

The service is currently in beta, but trust me when I say it’s not going anywhere. If you’re a student, the days of bulky USB key chains and e-mailing papers to yourself are over; this service will show its value immediately. For everyone else, give it a try–there are plenty of potential uses for this technology outside academia. It’s free, what’ve you got to lose?

Welcome to technolitics!
Posted by Brendyn on August 18th, 2009

Along the road to grad school, many people impressed upon me how crazy I was to leave a comfy, secure job in troubled economic times to submit myself to abject poverty. To each of them I’d spew the normal “I’m chasing a dream” bit after which they seemed satisfied, even supportive. What I didn’t tell them was that I was using grad school as an excuse to unveil a new website. So here we are.

Welcome to technolitics, pronounced tech-nahl-ih-ticks, which, as I’m sure you’ve gathered, is the coupling of technology and politics. It’s my goal to use this site as an archive of my grad school work, a creative outlet for my thoughts and ideas when I emerge from my books for air, and a way to improve my writing by practicing as much as I can (apparently writing PHP and English are significantly different).

Like the name and description imply, you’ll find posts here about technology, politics, my experiences as a grad student and the intersection of all three. At first, my friends, family and co-workers were shocked when I told them I planned to study political science as it seemed I was abandoning my undergraduate studies and career. But really it’s a logical continuation. I’ve always been interested in the social sciences, and now more than ever the presence of technology is expanding in government. During the 2008 election, candidates used Facebook and text messages to rally their bases. Senators and governors have gone head-to-head on Twitter over healthcare reform and stimulus spending. Why is it that some of these technologies succeed where others have failed? What are the implications for government of a connected citizenry and world? Questions like these are best answered by those with both political and technical depth, which is why I’ve chosen now to expand my knowledge of politics. Hopefully some good can come from the tumbling in my head.

How frequently I’ll update this is at best a guess. I’d love to post multiple times a week but I’m not sure ambition and reality will jive come the start of the school year. An easy way to avoid coming back only to find stale content is to subscribe to my RSS feed, accessible by clicking the little orange icon in the upper-right corner. That said, do stop by often as I’m sure you can poke around and find something entertaining (that’s my dream, at least).

If you run into problems with anything on the site please let me know. I’ve done my best to test this puppy in multiple browsers and resolutions, but as, well, everyone that knows me will attest, I’m not perfect. Any feedback you can give that helps improve this site is and will be much appreciated.

Oh, and go Terps!

Republicans Hop On the Tech Express
Posted by Brendyn on January 24th, 2009

It seems Republicans may have learned their lesson from the 2008 presidential campaign. The Obama camp used technology in unprecedented ways to organize their campaign, and many claimed the Republicans would need to adopt high tech approaches to campaigning and organizing or risk becoming antiquated. This headline has been plastered all over Digg for the past day or two:

Digg Advertises Republican Leader John Boehner.pngWe’ll have to wait and see if Republicans embrace technology as closely as the Democrats have. If so, it looks as if the Dems have some thinking to do about their strategy for the next election.

To come out or not to come out? Ask Reddit the question.
Posted by Brendyn on December 14th, 2008

Reddit, a social news site much like Digg, has an interesting posting at the top of its front page.

Reddit coming out storyWhether the redditor seriously means to come out based on the number of votes or not, the suggestion so far is to come out. Despite the many crass comments, they’re overwhelmingly in favor of this person coming out. I think this is a neat way to summarize how the majority of geeks and nerds feel about homosexuality.