Skip to content

Recent Articles


“I need to update by blog” and other geek procrastinations

Something I say a lot, and hear a lot from fellow geeks is: “I wish I had time to update my blog”. I have been guilty of this for a very long time, and even now, I’m writing a post, but it will be posted in an old theme that really doesn’t capture who I am right now.

Why is it that geeks put these things off? When I look back at other things that I put off, there is a theme: configuration. Anything that requires me to configure something, be it a new printer, a new wireless router, restoring a computer that needs to be reset or reformatted—they are all things that I tend to put off.

Personally, I think that the difference is between the act of “doing” something, versus setting something up to do something. I prefer to do something, but hate the act of doing stuff to actually make that happen. As a result, I find myself blocked from actually doing things, which then gets me down and then I get discouraged. So while it may not be exciting, I need to take the time to enable myself to do things so I can allow myself to actually do as much as possible.


What I’m Expecting: Microsoft Build 2013

Next week is Microsoft’s annual developer conference, Build, which is located in my hometown of San Francisco this year.

Last year was my first attending Build. I generally really enjoyed the conference, but the venue was too split up between two buildings on the Microsoft campus, I’m hoping that this year being in a single location will help the conference.

I’m expecting that most of the sessions will be on Windows 8.1 app development, and perhaps on Office 365 app development. While I would love to see Windows Phone 8.1 information, I don’t think it will be ready in time, but we may get a small preview of what might be coming, which would be great. The last piece that I’m hoping is more information on Xbox development, specifically with the Xbox One.

In terms of announcements, other than the obvious Windows 8.1 announcement, I’m hoping to see more information on the next generation of the Surface line. With the proposed rumors of moving to Qualcomm chips, and the introduction of Haswell on the Surface Pro side, it would be great to see refreshed hardware. My biggest complaint with the Surface has been the difficulty in working with the device on the couch or in a chair without a stable surface. Having a laptop dock for the Surface would be great, but I’m not expecting to hear anything about this. With the new Acer 8″ tablet that was announced, it would be great to see a Surface 8″ device released or previewed to take advantage of the smaller form factor and some of the new enhancements in Windows 8.1.

On the mobile front, I’m not sure if we will see any new hardware from Nokia. I was hoping to see an announcement on the “EOS”, the PureView inspired ultra-high megapixel Lumia variant that should be coming out, but with Nokia holding a press event next month, my hopes of getting my hands on one have faded.

While I’m not doing development as much as I was before (see my last post), it would be interesting to see if the HTML5 authoring story has been advanced more, including new developer tooling support, and proposed WebGL integration into Internet Explorer 11, and perhaps tied in with Windows 8 app development as well.

Should be a fun week! Looking forward to attending…


Hanging up my Hat

Over the last few months, I have been struggling with some fundamental aspects of who I am, what my interests are, and how they fulfill me. Something I have noticed as I get older is that when you feel low and need to regroup and find something that you enjoy, that you go back to the things you always liked and wrap yourself within it like a warm blanket. The trick though is that the things that bring you happiness and fulfillment yesterday aren’t necessarily going to work with who you are today.

Take coding and programming. When I was a child, I was very lonely. I didn’t have many friends, and I would seek refuge at my computer, creating computer programs and games to extend my fantasy life and to play. As I got older, I tried to take programming and make it something that was part of my career. I was good, and I enjoyed it, but without realizing it, I started to hit a wall. As the world of programming and software development got more complex, I was really struggling with making that leap and growing with it.

This happened in two ways. First, I found that I was in a career where I wasn’t required to code anymore. I was working as a product manager and as a teacher. When I looked at my former developer colleagues sticking with their career, they had to evolve and grow their programming disciplines and skills to keep pace with the industry. I didn’t have the same challenges, so I didn’t need to grow and evolve the same way.

I would look at myself and would criticize myself for standing still. I looked at myself two-dimensionally. I would look straight on and see my developer colleagues moving on one axis and I would just be standing there, immobile. But if you angled the camera on myself off to the side and look at the situation in three-dimensions, I actually was moving, but perpendicularly to my colleagues. I was moving, but just in a different direction.

Now this isn’t to say that I don’t love technology, but my tastes have changed. I used to think that my love for technology was about building and creating. One of the scariest moments in my life recently was when I was faced with the fact that I didn’t love building and creating anymore, that I, in turn, didn’t love technology anymore as well. I freaked out and felt that I had wasted so much of my life on something that I didn’t enjoy. I was so upset that I remember I went out and got blackout drunk at the idea that what I thought was the biggest love of my life was meaningless and unfulfilling to me.

The idea of losing anything in my life is extremely difficult; but that is usually from things external to me moving away. Be it friends, jobs, achievements—they all were external to me. It was even more unfathomable to consider loosing something because I was pulling myself away from it, using my own energy and drive. Especially when it was something that was so important to me and so formative for my childhood.

But the truth though is that I’m just a different person than I was before. I would hang out with my friends and they would talk about their latest coding projects and my eyes would glaze over because either I didn’t understand, didn’t comprehend, or I was reminded that I this interest was one that didn’t make me very happy anymore.

But recently when I have talked about this with other people, they all come to the same conclusion that I had never considered: “Why is this necessarily a problem?” It is true, there is no problem with getting older, changing interests, finding new passions in life, and adjusting things. The only problem is not allowing yourself to be happy and feel fulfilled.

The best analogy that someone told me is how much I love rearranging my office. I’ll move things around, put things away, bring things back out, and I’ll love it when it is done. Then a few months later I’ll do it again and it will be a different combination of things that I will equally love. What I keep thinking in my mind is that I’ll eventually find the perfect desk setup that I’ll stick with forever, but that will never happen, just like I’ll never find the perfect combination of interests, hobbies and fulfillment from the same things throughout my life.

So while my job involves technology, I’m going to hang up my hat as a developer in my personal life and embrace the new passions I have in my life: lacrosse, fitness, music, and writing. These will change over time as well, but right now, when I sit down at my computer and try to code and dive into what gave me passion and life I feel sad, frustrated, and unfulfilled—and as a result, rob myself of time and opportunity to do things that I love and make me happy today.

So fear not, I ain’t going anywhere, I’m just changing directions—and who knows, I may be right back to where I was, but that is part of the fun, right?


Next stop: Lax; and I don’t mean LAX

I have been exercising and working out quite a bit over the last few years, but there has always been one consistent “miss” in my program: Cardio. You see, the thing is…I hate it. It is boring, monotonous and I feel like I’m in agony the entire time. It isn’t physical agony, but it is agony of boredom that I simply can’t stand. I love the weight lifting part. After that, I’m usually on a high and get an emotional boost for the entire day, which as others can say, has quite an impact on my day.

My husband Mike tried something new though. He was in the same boat as me, and really hated cardio. Last January, he picked up ice skating and hockey, and it has had an amazing impact on him. He is in amazing shape, and his workouts are now about training for something—there is a goal and purpose for his training that he didn’t have before. It wasn’t running on the treadmill, it was building endurance for sprinting down the ice a few dozen times a period. It wasn’t stretching, it was keeping flexible to perform transitions and to help prevent injuries while on the ice. The transformation for him has been amazing. At first, I was really excited for him, but then I started getting a little jealous, because I wanted to have the same experience. If he can start from zero and end the year by playing on a league and score a hat trick in his last game of the year, then I can do the same thing.

Now I love hockey—my family have been hockey fans since I was a kid. My granddad had season tickets to the Flyers for over twenty years. I was never that into playing hockey though. For one, I prefer doing stuff on my own two feet instead of on skates, skis, or boards. I never got into skiing, snowboarding, surfing, or skating. When I was a kid, I never played any team sports, and that is a regret I have as an adult. There is an aggression that someone has inside of them that has an outlet when playing sports. This is obviously tempered with sportsmanship and rules, but it is a safe place to show the rough and war-like side of yourself. When you are on the field or court you are a different person, and it healthy to have a way to let that side out. Because I never had an outlet for that, I have issues with expressing aggression, because I don’t know its shape or form, and definitely not how to integrate it into my life.

So what sport should I learn? I considered hockey, even with my lack of interest in skating, but I really felt that my husband needed something that was “his” that I could be a fan and support him. I needed something of my own to get excited about. Football was an option, but there was something too generic about it that wasn’t appealing. Soccer was another, but even that wasn’t hitting the right buttons. So I paused and thought back to my school days. When I was in high school and college there were two sports that I really found interesting. The first was rowing. In high school, I tried rowing a bit and enjoyed it, but the crazy early morning workouts were killer. It irony is that I get up at 5:30 in the morning to go to the gym now, but it is an expensive sport, and it isn’t something that you can just “go out and do.” So I passed on that.

The next one, was lacrosse. I was first introduced to lacrosse in college. In my high school, we didn’t have a team, and I didn’t even know it existed until I reached college. I watched a couple of games at college, which was playing field lacrosse which is the popular form of lacrosse in the US. I liked it, but never got very far with it on my own. The thing I admired about it was the fact that it was the ultimate cross-trainer sport. It requires equal amounts of running, hand-eye coordination, and strength. When I was in college, I bought a cheap stick and practiced a bit, but it eventually turned into dorm decoration and a symbol that I like the sport, but it never developed beyond that, other than some passing following of the local pro lacrosse team, the Philadelphia Wings.

So, thirteen years later, I’m at a San Francisco Bulls hockey game—in fact, the first one of the season. In the second intermission, there is a commercial on the big video screen for this company I/O Lacrosse. “One on one and team training for indoor or outdoor lacrosse.” I was curious, but didn’t act on it at first. As the commercial consistency ran during the games, I decided to send the owner, Adam Bysouth, a message and see where it went from there.

We exchanged a couple of e-mails and then talked on the phone. During that time I did a little research on Adam. Turns out he was a former pro NLL player and has been playing for years. While we talked, I really felt out of my element. Here is this guy, Adam, a former pro player, and me—a complete newbie, but even though we were lopsided, as we talked and he told me more about the game, I got more and more excited. So we agreed to meet, and he was generous enough to come with me as I picked out equipment.

We had the holiday break after our phone call, and I got some books on the general rules of the game. I mostly stuck with field lacrosse, but my friend Tasha gave me a book at focused mostly on box which I found very similar to hockey which was interesting. The books helped me build a basic vocabulary so I could at least hold a conversation about the sport. With that, it was time to get equipped.

I met Adam at Sling-It Lacrosse in Belmont. He was so awesome and helpful as we looked at everything. He was understanding of my need to stick to a budget, and helped take some of the mystery out of the dozens and dozens of different sticks, heads, helmets, and gloves. I have to admit, it was incredibly humbling to be in the store and stare at a wall of lacrosse stick heads and not know the difference between them, and even after Adam explained some of them, I still didn’t really know what to think, let alone how to answer the question, “Which one do you want?” Luckily, Adam helped and we got everything picked out. We opted to have them string and assemble the stick for me since that would help break it in for me (another suggestion from Adam). With everything picked out and purchased, we went and grabbed a coffee and talked scheduling for my sessions.

While we talked, I was amazed at how cool Adam was. First, after finding out that he was a former pro player, and learning that his training company was more for training actual players, I was relieved when he agreed to take me on as a client as a complete beginner. I thought that was very big of him, and shows that he really loves the game and wants to share that with others—a true generosity of spirit. After our chat, I was even more excited and couldn’t wait to get started with our first session. Not just because I think I’m going to have fun, but because I’m doing something completely new and different that is working a side of me that I have never explored before. Plus, as we talked, Adam made it a goal for both of us to have me play in a league. I was excited as hell.

One of the things Adam told me was that the day of our meeting was also the day of the NLL season opener against Rochester and Washington. NLL is the pro league for box lacrosse, MLL is for field. Now, I have gotten this far to learn about lacrosse, buy my equipment, work with Adam, but the truth is, I haven’t seen an actual lacrosse game for over thirteen years. The NLL games are streamed and available afterwards on YouTube, so the day after we met, I sat down and watched the game.

So the game started and I dropped my jaw. Um, these guys are beating each other with sticks, pushing, shoving, and just attacking each other—and it wasn’t just the acts, but the level of intensity. It was off the scale! My first reaction was one of shock, then awe, and finally excitement. I first started thinking about Adam. He didn’t seem at all like a guy that would do all of those things on the field, but that was when my earlier point hit me. He isn’t the friendly, happy, and easy going guy he is sharing a coffee. He is in game mode: aggressive—a fighter that is out to win and to take down his opponent (literally). That was when the excitement kicked in: I need this. Badly. But it was still a bit of a shock when I saw the game. I think the memory of the aggressiveness wore away as I got older, and this was quite the reminder. When Adam said that he would transform me into a fighter, he wasn’t kidding.

Tomorrow is the first day: I’m excited, nervous, and pumped. But it already has had a good benefit. Since I have committed to learning lacrosse, all of my time at the gym feels different. I’m not just at the gym to workout, I’m training—to be a lacrosse player, and that feels fucking awesome.


Making a Leap

I’m not quite sure how to start this post, because there are a lot of mixed emotions. Over the last year, I have been struggling with where to put my technical focus. I love tinkering with code and playing with technology and have been doing that for over twenty years. For several years that has been with Flash and with ActionScript. Part of what makes working with new technology so much fun for me is to share with others and to help them learn how to use it themselves. I did that with ActionScript in videos for Adobe and also through two books that I have written, not to mention my work at Adobe as a product manager.

But the days of Flash are mostly behind us. I still love the technology, but much of the world has moved on and I need to follow suit; however, I find myself in a similar situation as a lot of my peers. I don’t know exactly how to do that.

The thing is, so many people learned how to code specifically with ActionScript. They didn’t go to school for computer science and learn object-orientated coding as a theory. Instead, they gathered snippets, scoured books and the Internet and were able to get things to work. That is a great practice for learning a technology, but it makes it difficult to change technologies if your project or the industry mandates it. It feels similar to someone that has learned manufacturing as a trade skill and now needs to change careers based on the “new” economy and job market.

Now, while I’m not trading in a drill press for a laptop, I am trading the DisplayStack and MovieClip with something else, but it can feel no less daunting. I look back on college and want to bang my head against a wall for not completing my computer science degree. (I got a degree in communications and media instead.) But it is what it is, so I need to just use the skills I have and try to use them the best that I can.

So what can people do in this situation? Well in my case, I have decided to just jump in and try to get my hands dirty. But before I do that, I need to take inventory of my current skills. While I may have learned coding through ActionScript, it is the principles of coding that stick. Working with ActionScript taught me variables, loops, conditional tests, working with various objects, understanding properties, methods, and constructors. Moving into ActionScript 3 taught me about classes, overrides, inheritance, and the importance between private, public, and protected properties. In addition, my experience with Flex added a wealth of knowledge about combining markup with behavioral code. So there is quite a lot to fall back on, even if the syntax and language may change as I go forward.

Over the last year, I have made no secret that I have been a supporter of Microsoft’s “reboot” so to speak. Ever since Windows Phone 7 came out, I was really fascinated by the change in their design aesthetic and the C# language, which I found to be quite similar to ActionScript. That combined with the release of Windows Phone 8 and Windows 8, I felt that I could really get my hands dirty and “figure it out”, just like I had with ActionScript. The other technology I’m looking forward to getting to know better is JavaScript. I have been really enjoying CreateJS, and have been teaching it in my HTML5 class at San Francisco State University. I really love creative coding and game development, and it offers a great combination of both. Plus, combining that with PhoneGap, I can take these games and make them mobile. But <grin>, I’m getting ahead of myself…

So it has been challenging, but it has been fun. I have been deep into it for a few months, and just wanted to share some of what has been going through my head.


Web and Mobile Job Trends

One of the things I do to monitor what is going on in the industry is to look at job listings. There are tons of sources to scour—fortunately a site called aggregates these into a searchable trend database that you can look at to monitor evolving job titles, skill requirements and technologies over time. I was first introduced to this from a colleague of mine at Adobe, where he monitored evolving and growing job roles to help us make strategy decisions on where to take software.

From just a few searches, you can start to get a general picture of some basic findings:

Web and mobile design roles

When you do a basic search for job titles like “web designer” and “web developer, there is a clear long term growth, but there is an interesting recent trend.

First let me explain this graph. Out of all of the job listings that aggregates (which goes far beyond tech positions) the graph shows the overall percentage of jobs that match the search term within the available listings. This percentage is based on the total number of jobs available at the time of sampling, which can go up or down, but shows the overall growth over time of that percentage.

In this case, there has been a slow growth over time for the role of “web designer”, growing from just under .1% in 2005 to just over .1% today. The “web developer” role has gone up from .25% in 2005 to just over .4% today. What is interesting to note however, is that the “web developer” role has gone down in the last 12 months. While this is interesting data, it doesn’t answer the question of “why” but it does provide a quantitative source to start investigating further.

When you consider the growth of mobile, how do traditional web roles stack on top of mobile?

This paints a slightly different picture. When you superimpose the mobile role titles of “mobile developer”, “user experience designer” and “user interface designer” on top of the existing web roles, you can see that the slow growth over the last two years. This can form a couple of hypotheses. First, that web developer roles and moving to mobile development. Second, that user experience and user interface design roles are impeding the growth of web design.

While there isn’t enough information to prove these hypotheses, it is an interesting piece of data to monitor, and can lead you to other sources to prove or disprove your hypotheses.

HTML5 v. Flash

One of the things that is difficult to determine are information about very specific technologies or uses of technology. It is much better at representing large technology areas. One area of interest is the perceived growth of HTML5 and the decline of Flash.

When you look at the data, there has been a long term growth of Flash, but when HTML5 technology needs hit the job market around mid-2009, the growth of that technology in job postings grew at a steady pace. When you look at Flash roles, there are nearly three-and a half times as many Flash jobs as HTML5 jobs; however, the decline of Flash roles in the last year is at a steeper slope than that of the growth with HTML5.

If you draw trend lines based on the rates of growth or decline in the last 12 months, jobs regarding HTML5 will overtake Flash sometime later this year.

The data that has is up to late 2011. If the rates change changed since then, then the point of intersection may have already happened, or will happen sooner than this prediction. While this is not a scientific way to look at it, it does provide additional information that can drive people towards their professional development.

Content Management Systems

If you do another slice around the three major CMS systems, Joomla!, WordPress and Drupal, you can see how they are trending in the job market:

WordPress is clearly taking the lead in the job market, with Drupal and Joomla following. It is interesting to see that they were all around the same in the middle of 2009, but then WordPress shot up. The division of Joomla and Drupal took place sometime in early 2010.

Responsive Design

A relatively new trend is also interesting to map in job listings. Take responsive design—it is something that we generally take for granted is growing quickly. By doing a quick search, you can start to validate that belief:

While responsive design within job postings is still a very small percentage, the growth rate has been staggering in the last year, with this current trend it will continue to grow significantly in 2012.

Wrap up

By looking at job trends it is interesting to see how roles, technologies and skills are changing over time. With this information it can help inform your professional development, or to understand how shifts take place in the job market to help understand more of the industry.

While research like this isn’t scientifically rock-solid, it does start to form hypothesis you can use to validate against other sources, or take to the community to ask more questions and get additional guidance.


CreateJS – EaselJS Boilerplate Setup

As I have been exploring more about HTML5 and the various ways to work with HTML5 Canvas and CSS3, I wanted to play more with what I really loved about Flash–creating screen graphics with code and building interactivity. With that, I decided to dive into EaselJS and start picking away at it and sharing more about what I learn about EaselJS as I try to create some basic interactivity examples and mini-games.

As with any web framework, there is the required boilerplate code that is needed to get everything up and running. After looking at the basic examples, I distilled this down to the very basic essentials that you can use to jump start your own project.

Folder Structure

The basic structure I have in this example has the base HTML file in the root folder, and a “js” folder containing the easel.js framework file, and my project’s JavaScript file, which I have called project.js.

The Markup

As with any HTML5 project, you need to have an HTML base file that contains the semantics for creating the canvas region using the <canvas> tag. This tag needs to have an id attribute so you can find it using JavaScript to attach to the EaselJS stage object. The canvas also contains a width and height attribute to give it dimension.

Also within the HTML file, you need to load in the EaselJS framework and your external JavaScript code. Finally, a simple onLoad handler for the body tag will ne needed to get things up and running. There are other ways to test for when the document is ready, but this works for initial projects and can be replaced later when needed.

Optionally, you can add a CSS file to style your canvas tag or it’s container. For simple projects, you may want to consider placing the canvas in a container element and giving it a background color or border, since a canvas has a default transparent background, making the edges hard to distinguish when running in the browser.

Here is the basic HTML boilerplate code:

In this case, my canvas has an id of “canvasStage” that I’ll use in the project.js file to link with the framework to create the stage. I also have defined the width and height of the canvas as 400×300. In the head section of the HTML, I have loaded the easel.js framework and my own project.js JavaScript code. In the body tag, I am calling an init() function that I have defined in my project.js file when the body has loaded.

The JavaScript

The JavaScript is a little more complex, but once you get understand the essence of what is going on, it is easy to create a snippet or sample file that you can use as a template to get right into working.

Here is the basic JavaScript boilerplate code:

At the beginning, you need to establish some globally scoped values that will contain the stage that you are working with, as well as any objects or shapes that you need to retain within the outermost scope. In addition, I like to create variables that contain the width and height of the canvas since the stage object does not include a width and height property.

I like to include a simple shape object as well so I can run this quickly in the browser to make sure everything is working correctly. I usually remove it immediately after testing everything with the confidence that the rednering is working as expected.

All of the initialization takes place in an init method that is triggered by the body onload event. I create a simple test message for the browser console to triple-check that everything works, then within this method, I need to create the stage. To do this, you need to access the canvas element from the DOM. I use the standard getElementByID method and grab the canvas element from the DOM and assign this to the locally scoped variable, “canvas”. While I now have access to this object, I access the width and height using the same method and assign them to their respective variables.

Next, I need to connect the canvas to the EaselJS framework and create a stage, which I have created a globally scoped variable for. I take the canvas variable I created earlier and assign this to the stage as a new stage object.

Then, to test that the drawing is working, I use the simple shape object I created at the top and draw something pretty simple. I then add this object to the stage.

Since canvas elements don’t automatically render, I need to update the stage to display my simple shape.

If you are animating in your project, you’ll need to at some point work with the Ticker object. To get the basic functionality working I add the current scope to the Ticker object, and create a callback tick method at the end that will pick up the tick event and update the stage rendering.

Running It

When you load the HTML file in the browser, you should see a message in the browser console and a small rectangle appear on screen:

Once everything is up and running, I can then remove the sample object, the drawing code for it, and I can then start working on my own project.

Download the Code

I have posted the boilerplate code on github: I also have a link to a compressed ZIP version of it, along with the EaselJS framework (version 0.4).


While the hill is steep…

…the desire to overcome is stronger.


Can Consumers Keep Up?

Last week I posted about the new Metro user interface in Windows 8. The article had quite a few comments and started a healthy discussion around the integration of Metro alongside classic Desktop mode and questions regarding Microsoft’s user interface strategy. But this got me thinking—for a community of professionals, this debate is natural. Within the web and mobile industry there is a desire to iterate faster to keep ahead of competition and to sure that your platform, device or technology is at the forefront of the industry. When we consider the fast evolving state of HTML5, mobile platforms and frameworks that ease the developer’s effort to publish to new targets, there is a constant demand we place on the design and development community to consider where to make investments in training and education to provide the best skills to our clients, companies and products.

But has anyone asked if the consumers of these technologies are ready for them? How can the ordinary consumer keep up?

iPhone, iPhone 3G, iPhone 3GS, iPhone 4, iPhone 4S, iPad 1, iPad 2 iPad 3, Snow Leopard, Lion, Mountain Lion, Windows 8, 3G, 4G, LTE, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, Key Lime Pie—the list is long—and it is getting longer.

As professionals in this organization we are able to adapt to these changes and evolutions, but when it comes to the consumer that is going to adopt hardware and software—are they really ready for it?

Consider when you are in a room with hundreds of people talking. There is a natural desire to find chaos within the noise and make a connection. The consumer is within this room, with Microsoft, Google, Apple, Adobe, Amazon and tons of other companies all talking at once. Through their desire to find a single voice that they can focus on and filter out the background noise, the consumer has largely opted to listen to Apple. They speak directly to the consumer in a way that other companies can’t, either through empathy or to provide simple solutions to how their combination of products and services can help them.

Because of this, Apple’s competitors have decided to raise their voice, and to attempt to be the new singular voice that a consumer will focus on—but as a result, it has made the room harder to hear anyone—let alone a single company trying to evangelize their solution.

It is even harder when companies like Google, who are iterating at an amazing rate, position their latest Android mobile platform, Ice Cream Sandwich, as a great solution for customers—but at the same time the number of devices that actually run it and are accessible to them are in the single digits. Behind this, with the knowledge that Jelly Bean and Key Lime Pie are not far behind, when do we ask ourselves if technology needs to settle before moving forward too much?

A family member recently wanted to get a tablet. She vacations away from home often, and she is not a heavy computer user, but she loves to read which led me to getting her an Amazon Kindle Fire. She asked why I didn’t get her an iPad—and the conclusion was that her love of reading and the desire to have tons of books available within an easy to use and understand device that was not more than it needed to be led me to that choice. She is very happy with her Kindle and uses it every day, but she would never have found that on her own.

With sales incentives, lack of knowledge of product roadmaps and sales associates that are motivated to push specific product due to partnerships, it is hard for the ordinary consumer to know where to go. Couple this with the nature of online shopping, the ability to ask—”What is the right device for me?” is difficult to answer unless you know someone that can assist. Let alone if they are able to make the purchase and they need to keep up with the user interface and functionality changes that come with software updates and operating system upgrades.

As hardware manufacturers consider the evolution of their product roadmap, they must take into consideration the saturation level of their customers. Offering promotion or marketing is only going to address the issue slightly. Ask your customer: Are you ready for something new?

With so many technology choices out there…it is a question that we need to ask more.


Windows 8 and Metro: Get Over It.

Microsoft recently released the new Consumer Preview for general availability. This new version of Windows introduces a new spin on the idea of Windows with the introduction of the new Metro user interface that is used in combination with the traditional Windows desktop. The general reaction to the new version has been mostly positive, but there are a number of people that have lamented at the new user interface and have requested that it be removed and that the Start button that the Metro Start screen replaced be returned.

When I saw all of the comments I thought one thing: Get over it.

Harsh, I know—but the thing is, change like this is not new, and for the most part, new items that have been introduced that people rely on today—had initial reactions like the Metro Start screen.

Even the Start button itself was initially received with the same tepid response. When Microsoft introduced the Start button in Windows 95, it was deemed too simplistic, too different and too unmanageable compared to the old Program Manager of Windows 3.1. But Microsoft kept with it and over time the Start button has become welcome.

When OS X was first announced, the lack of customization and new limited functionality of the Apple menu was considered deeply flawed. How could this functionality that was such a core part of OS 9 and earlier be removed? Because the desire to move forward and come up with something better presented itself, and was ultimately welcomed by consumers.

Further back still, consider the changes made when going from DOS to Windows. , Applications like WordPerfect and Lotus 1-2-3 needed to move from a “keyboard-first” interface, to a “mouse-first” one. Because they needed to support their existing customers, they needed to make significant concessions in the interface to placate their existing muscle memory from the old DOS versions. As a result, they were not able to take advantage of the GUI for Windows, Mac or even OS/2. The software that did take full advantage of the user interface, Microsoft Office, became the most popular.

In my opinion, what the new Metro Start experience provides is a different way to look at your computer. It is similar to the approach that they are taking with Windows Phone—it is a view to you, your friends, and what is important to you, not to a list of applications. When you look at iOS, and frankly with Windows Vista and earlier, you are presented a list of applications, which are entry points to get to information, as opposed to viewports to the data that is within these applications that let you get inside to find more. Android is a bit of a hybrid; however this is only accomplished with widgets that are not consistent across applications or with the various devices based on the platform customization du jour from the hardware manufacturers.

While we buy applications or apps, it is the data within them that we are the most interested with, or they are simply entry points for an entirely self-contained experience like a game or other interactive element. The old Start menu experience doesn’t capture this new level of integration and connection we have with the data that feeds our apps. Metro is syncing the user interface to meet this new level of interaction.

So, yes, Microsoft has made a big change—and as with a lot of similar changes like this, complaints and revolts will pass in time. In fact, at some point, when it changes again, we will demand that they keep the Metro Start screen too.

Update: For a different viewpoint on Windows 8, check out this post from Jeff Ammons.


Get every new post delivered to your Inbox.