Category Archives: General Tech

General Tech

Google Glass Review


I’m still waiting for my own pair of Google Glass. I managed to borrow a pair for a few minutes and here are my first impressions.

  • The Screen — The screen was smaller than I expected. Hold your right arm out with two fingers together pointing left. The screen is about two fingers high and from the tip of an index finger to the middle knuckle wide. I plan to prototype UI wireframe a with small sticky notes.
  • Overall Experience — it was less intrusive and awkward than I expected. It was a little hard to get the screen in the right place, but once I did it was very clear. The bone conducting speaker made the audio from Glass very clear even in a crowded room. I could see myself using this without feeling like a guy with a bluetooth headset.
  • Apps – I got to play with the Navigation, NY Times and picture taking apps. The navigation app was pretty cool and I think this will be killer. Photos and video are difficult to see what you are getting because the resolution on the display (640×320) isn’t high enough to show detail. You won’t be using Glass as an eReader yet.
  • User interface — the user interface is driven by voice commands and flipping forward and back touching the side of the device. The apps are based on a card / menu driven system, sort of like a hypertext PowerPoint. Voice recognition was fairly good, but the menu driven nature of things and limited display space will challenge designers.
  • Battery life — the Glass users I talked to suggested that battery life is a weakness of the current product generation. Continuous usage seems to be 1-3 hours before the device needs recharging. However the device isn’t on all the time, so this should be find for more casual users.

It is rumored that Glass will not be widely available to consumers until next year. I anticipate that Google will refine the device before shipping. I hope that they are able improve the screen and battery life before GA.

Bottom line: I will buy this as soon as I can. Even as a first generation technology it is very compelling.

Career Advice for Budding Technology Entrepreneurs

This last week I had a chance to sit down with some seniors at GWU and talk about my experience in the exciting world of software startups. It was a fun experience and gave me a chance to reflect on my 18 years working on web and Internet based software projects. Here are a few of the observations I shared with the class:

The Job You Want Doesn’t Exist. You Have to Create it.

Every year Forbes Magazine publishes a list of jobs that didn’t exist a decade ago. If you are really planning to change the world with your ideas and technology be prepared for the fact that your job doesn’t exist. You will need to invent it. In fact you are going to have to invent a bunch of other jobs to make the business and its ecosystem emerge.

In 1995 when I graduated from college the Internet was just beginning to be a thing. I ended up getting a job as a webmaster. This was 1995. The web hadn’t even existed when I started my studies in 1991. As I started my career, this technology wave was rising. A series of lucky events placed me in the right place to catch this wave. I graduated and got a job as a “webmaster”. I’ve learned to look for these waves and that if you make yourself ready you can catch it.

The job you want on that coming wave doesn’t exist yet. When you first start doing it, people will say, “WTF?” When I told my roommate about my job as a “webmaster” he joked, “webmaster? what are you spiderman?”

You are Going Continuously Fail and Suck

I don’t mean in the baseball way where you get so many at bats but you’re a champion if you get on base 30% of the time. I don’t mean it like the classic Edison quote, “I haven’t failed, I’ve just figured out 10,000 ways it doesn’t work.” I want you to have the expectation that it isn’t going to work period. You are going to pretty much spend every day alternating between totally failing and just merely sucking at what you are trying to do. Your life will be a series of broken builds, bugs, things that were really great in theory but users hated. Eventually out of all these failures something beautiful might emerge. That failure might even become a runaway success. Even so, in ten years you are going to look back and say, “wow that was terrible.”

This point was better said in this Helpful PSA Entitled: Point/Counter-Point Should I Get a Tattoo.

Encourage Plain Speaking and Criticism

It is really hard to hear how terrible your idea is or tell a team member their idea is terrible. Even though almost every idea is terrible in one way or another. It is very easy to stand around smiling and nodding, but that really doesn’t help. When you do that terrible ideas live on. They are never forced to evolve. Worse, critics start talking behind the backs of the leader of the initiative. A terrible idea ends up moving forward but is undermined by the organization. The result of this is usually something worse than the terrible idea itself. You don’t have to be mean about it. You have to set the expectation with your team that most ideas are probably going to be pretty terrible. If an idea isn’t terrible when it is first pitched then you probably didn’t spot how terrible the idea was.
It requires a bit of a thick skin to stand up there and hear about how terrible your ideas are. Hopefully some of the critics will have helpful suggestions such as “never speak of this again” or “that might be cool if…” Don’t let those criticism over whelm you. Keep trying. Come up with other ideas, or revisit the idea a bit differently. Keep pushing and prototyping until something useful emerges from that brain of yours.

Don’t be a Jerk Every Day

Some say I still need to learn this lesson. When you speak plainly and recognize how terrible the thing you are working on is, it becomes very easy to become a gruff and nasty person to your fellow human beings. This is something to be avoided. Keep your criticisms to the writers room. Find time to reach out and bring snacks for the team. Recognize the few moments of success where even though it will likely blow up again soon; things are actually going well. Every person is going to have a different level of tolerance and general stubbornness. It is your job as a fellow human being to recognize how hard you have to push and push no harder.

Lead by Establishing a Common Purpose, Drive People Towards Mastery and Reward Autonomy

I believe that big breakthroughs usually come from small, super motivated, agile teams. Dan Pink has a great Ted Talk on the core concepts of Autonomy, Mastery and Purpose. It is very easy to break your team’s spirit. As a manager and the visionary one can easily fall into the trap of “I have this huge vision and a list of a thousand things for you to do, now go do it people.” The first thing you have to realize is that your vision is wrong. There are a few useful things in there, but seriously your idea will fail. Even if the developers manage to meet the impossible schedule, divine all of your hidden features and get everything exactly as you wanted it the first time.

If you really want to make amazing things with your small team. You have to push your team to deeply understand the customers and the overall purpose of what you want to accomplish. Then you need to encourage and reward initiative that drives towards that result. Keep your team focused on the purpose, on the broader cause. Don’t let them get too bogged down in requirements and mockups.

The Advice About “When to Ship” Is Probably Wrong

You will often hear that you need to ship early and often to customers. There is a lot of value in getting feedback from customers. Still this can be bad advice. It really depends on how your users perceive you and how you are going to manage the impact of the changes you’re making. If you throw a bunch of change at the users on a continuous basis they will go find something more stable. Change takes time for the users to absorb. You have to understand the amount of change your users can accommodate and then go no faster.

Don’t Cram Your Releases

It is always tempting to try to fill up the release with millions of new ideas and concepts. You probably have a list of things your users want and it always feels great to check them off the list. However in keeping with the last point, know that your users can only understand a few new things at a time. My favorite example of this is the launch of the iPad. All the other tablet makers lined up at CES before Apple announced it’s tablet and tried to create their own. Sprint had one that had a bendable screen. Microsoft and HP had one that opened into two screens like a book. Everyone was wondering what the iPad was going to be and there was universal derision in the tech press when it turned out to basically be a really bigger version of the iTouch. It turned out though that this was really a smart move. They made on major change (size) and left out things like a camera until users had made the leap. It would have been easy for apple to cram a bunch of other things into the iPad 1, but they didn’t. A release is a little like telling a story. If your story is too long, no one reads it. If you build a bunch of functionality that users never know about; then all that effort was wasted.

Continuously Invest in Things that Hook Your Users and/or Your Users Have to Do

You need to measure every page your the app or website. What things are your users doing often, whats their experience and how can you improve it. The team I managed working on CourseSites was always looking at the signup page. How long did a signup take. Could you easily find your institution. We wanted to grow usage of the site, so that meant we had to continuously invest in that page. Every release it gets tweaked and improved. We set goals to improve the accuracy of the data capture, and reduce dropouts.

If you don’t know how you users are using the product and you don’t know what hooked them; then it is impossible to manage the product over the long term. It is very easy to get caught up in making some flashy new capability based on some latest market buzz, but if that leads to neglect of a critical feature then you are going to suffer in the marketplace. You also need to understand that usage will shift over time. Things that were compelling a few years ago, will be dead on your site tomorrow.

Maintenance Will Be Most of Your Job

Of the course of a successful software product’s lifespan something like 90% of the effort goes into maintenance, not new functionality. Before the product goes into widespread usage you will get an opportunity to explore and innovate tons of new capabilities. Once it gets adoption, your users are going to demand continuous improvement. They may even resent totally new features because they will see it as taking away from expanding the things they like to do. Maintenance gets kind of a bad rap. People mistake maintenance for a lack of innovation. Well managed maintenance is continuously optimizing things. It is speeding up transactions, improving reliability and polish, and simplifying workflows. Consider Google search. We don’t need a totally new user interface for Google. We just need it to constantly stay on top of the changing set of information on the internet and give us the best results. Microsoft tried some really innovative things in launching Bing!. Automatic product recommendations, health advice, travel stuff. They even marketed it as a “decision engine”, not just search. However ultimately it has struggled, because those features were not the core feature and are not compelling enough to draw a user away from Google. Google has worked to maintain a slight edge on search results through regular maintenance.

Closing Point

If you take anything away from this essay try to remember this. There are terrible things that are useful and things that are just terrible. If you are able to make something useful into something slightly less terrible then the world is yours.

Three Dimensions of Augmented Reality — Background For Educators

Augmented Reality is an emerging technology that will have a profound impact on how we engage with the physical and virtual world. I’ve written this blog to give educators some more background on this trend. Here is a quick visual example of the capabilities that emerge from this technology. In this short video you will see virtual dominoes placed on a real object using a touch screen. Next the user “touches” the physical space and the virtual dominoes fall down.

Defining Augmented Reality

I define Augmented Reality or “AR” as a set of technologies that integrate the physical world with digital information to create a enhanced and unified experience via a seamless user interface. Consider apps that combine the smartphone viewfinder, GPS and camera to augment perception of the physical world. An example of this is Blackboard’s Explorer for iPhone app or Wikitude.

There is more to this than just hacking the smartphone viewfinder. To better explain this technology I’ve grouped it into three dimensions: X, Y and Z coordinates.

The X Axis: From 5 Senses to 5000

Consider the impact real time computer sensory data on top of our own biological senses. We can provide the user with enhanced perception, continuous biological monitoring, improved motion and location services. As mentioned above AR Apps like Wikitude and Blackboard Explorer leverage a smartphone, viewfinder and GPS to enhance the visual experience. The form factor of looking through the smart phone viewfinder is still a bit awkward. This fall (2013) expect to see devices like Google’s Project Glass provide an integrated “heads up display” for early adopters. The number of sensors being integrated into our phones and apps is enormous. My Nike’s talk to my phone while I run. I’ve got a Neurosky headset that can give me a real time EEG readout while I mediate. Apps are helping us sleep better by monitoring how restless we are in the bed. Near Field Communications chips and QR Codes are creating cheap infrastructure for hyperlinks between the real world as virtual.

The Y Axis: Motion Capture Based Interfaces

Gestures are already taking over from the mouse and keyboard on tablets and smartphones. Gestures captured via cameras on our computing devices using gadgets like XBOX Kinect and the Leap Motion Controller are the next wave. There are already really cool classroom activities and lessons built around Kinect. Leap Motion announced at the Consumer Electronics Show in January that a number of manufactures will have their device built into high end laptops and gaming PC’s later this year. This technology is important because it simplifies the user experience and makes it easy for developers to merge physical and virtual space. As seen in the domino example above this synthesis creates interesting possibilities for simulation and interaction.

The Z Axis: 3D Projection Maps

Capturing motion and augmenting perception are increasingly combined with digital projectors to create 3D projection maps. Already this tech is appearing at concerts and stage performances. These technologies enable a digital projector to generate geometric shapes that are placed on real objects on a stage. Multiple projectors can be linked to create some awesome displays.

Look at this performance by Dandypunk called, “The Alchemy of Light” for a really stunning example of an interactive performance using 3D projection maps.

Educators should be excited about the new kinds of immersive learning simulations that will appear as this technology goes mainstream. I encourage more DIY/maker minded educators to look for ways to get students building projects that leverage these devices and systems. Most of these technologies have robust online communities and open source tools to help get you started.

Telling Everyone to Just Uninstall Java was a Terrible Idea

Ezra F notes on his blog that the Department of Homeland security has recommended that everyone uninstall Java from laptops and desktop computers. Java applets have become a key vector for malware. Oracle seems to be struggling to correct these persistent problems.

The DHS recommendation is terrible. It replaces a known disruption vector with an unknown one. We can model malware out breaks and use quarantine and cleanup tools to manage them. It is expensive, but we have a pretty good idea of how expensive. Enterprises and ISP’s can do more with intrusion detection systems, firewalls and other security technologies to reduce these costs and the impacts of these outbreaks. Java isn’t the only vector for malware and if we do all remove it, hackers will find something else. The proposal to uninstall java on all PC’s immediately will not yield the desired security benefits and it brings in a lot of unknown costs to the system.

Java applets are all ubiquitous. Every enterprise is going to have to audit their web infrastructure and make sure that the technology delivered by applets is replaced or non-essential. What DHS is creating is a Y2K level effort with an immediate delivery delivery. It seems likely that most companies will be unable to comply with the recommendation. Furthermore the notion that consumers will be able to uninstall Java also seems unlikely. Java is hard to remove and easy to accidentally reinstall. For the reason a above, It seems to me that DHS’ suggestion fails as practical and useful advice.

This recommendation to just kill Java is a bit like the Lehman Brothers bankruptcy. It seems reasonable at first, but once the costs and consequences become clear we realize that we’ve just traded one mess for another even bigger one.

We know that Java is a vector for malware and that Oracle has been too slow to address these problems. Sun/Oracle got widespread acceptance of this technology based on promises about security and support.

I think DHS and other US government agencies such as the Federal Trade Commission and Department of Justice could do more to pressure Oracle to address the flaws in their product. Java was represented to partners and consumers as a secure and ubiquitous technology that enabled web developers to create rich web applications that ran on a number of platforms. Hundreds of billions of dollars of technology investments were made based on that assurance. If this was an aircraft, an automobile or other manufactured product we’d have congressional hearings and agencies lining up to investigate. Remember Toyota’s acceleration flaw a few years ago? This problem is at least at this magnitude and yet all we have DHS issuing a warning to consumers and seemingly taking no action to get the vendor to cleanup its mess.

I suppose one could argue that a car accelerating out of control is far more easy for voters to get upset about than a software security flaw. This reinforces my earlier point that most consumers will be unable to act in the proscribed manner and instead continue to have systems that are vulnerable.

Instead of just uninstalling Java, perhaps we are better off contacting offices of consumer affairs, members of congress and Oracle to get Java secured.

Ed Tech 2013 and Beyond

The New Media Consortium’s Horizon Report on Emerging Technologies in Education is in its preview stage for 2013. One of the report’s authors, Bryan Alexander wrote a blog post on the subject. I made a couple of quick comments over there and will offer some expanded thoughts below.

I think the Horizon Report has done a fairly good job of capturing some of the more mainstream trends in technology. I’m skeptical of the timings and relationships of some of the elements. First I will go through the timeline proposed by the NMC Report and then let me highlight a few items I think they missed as summarized by Bryan:

Time-to-Adoption Horizon: One Year or Less

  • Massively Open Online Courses  — I’m a believer in MOOC’s but I think this timeline is too aggressive.  The business models for the MOOC providers like Coursera, Udacity and EdX are still evolving.  MOOCs are potentially huge change agents for the way universities organize and deliver teaching and learning.
  • Tablet Computing —  I’m in general agreement with the report here.

Time-to-Adoption Horizon: Two to Three Years

  • Big Data and Learning Analytics — I think there are two parts to this.  First the technology platforms like Blackboard Analytics and Outcomes are pretty well developed now and seem to have crossed over from early adopters to mainstream usage.   I can see how this could actually be moved ahead to 1 year or less for most higher education institutions.  On the other hand there remains a gap between the ability of these platforms to organize data and the knowledge of the consumers of the information in stats to really take advantage of the data.  There will be a tremendous organizational shift to train and hire staff capable of reaching the right conclusions from the metrics presented.  There will also be competing models for a long time to come.  Look at Baseball where big data and analytics are used all the time to assess and improve player performance.  Give “Money Ball” a read and think about how far we have to go in evaluating and assessing program and student performance metrics.
  • Game-Based Learning — This technology always seems 3-5 years out.  Also the definition it self is so broad that as a technology concept it is almost meaningless.  As a teacher pointed out to me recently, we already have sticker charts.

Time-to-Adoption Horizon: Four to Five Years

  • 3D Printing — With online services like Shapeways, ThingVerse of existing 3d models, and technology like the 123D Catch app for your mobile app and cheap 3d printers like Makerbot already out there.  Industrial design and engineering students should already have access to this technology and with the increased cost and accessibility that is already out there,  I think it is likely that this technology will enter in to the rest of campus much sooner.
  • Wearable Technology — Judging by the number of people I see wearing their Jawbone Up’s, Nike+ watches and other gadgets, I think we are also underestimating the timeline for this.  Given how rapidly consumers adopted the iPhone and iPad devices, I think we’re likely to see a breakthrough gadget or two in the next 6 months to a year.

Something that was left out.

I know that the committee evaluated a lot of technologies and trends; and I suppose I should have dropped these into the wiki when it was open. Personally the most significant technology and trend that I think was left out is the whole Arduino/Maker movement.  The notion that individuals can rapidly develop customized Internet connected electronic gizmos is a potential game changer.  I would make a pretty big bet that in 3-5 years the Maker Culture of DIY gadgets, hack spaces and specialized gadgets will have a major impact on education.  In K-12 this means that shop class is about to start making a big comeback.

Just Call me the Cookie Monster

One of my recent projects has been to look at how the UK Cookie Law may affect universities and software makers such as my employer. Some folks have even started calling me, “the cookie monster”.
I guess I’ve earned that moniker after months of meeting with product owners, customers and lawyers to talk about this new law. I’m not a lawyer, so what you a reading here is just one guys opinion. My employer’s blog will have more official details. My goal here is to try to explain some background into my thinking after chatting with lawyers, clients and attending a few briefings by SIAA and others.

Compliance is fairly straightforward. Here is the model I used:

Get a list of all your organizations web sites and web applications

Depending on how large your organization is this might prove painful. Especially if you have random departments websites

Figure out if the site is likely to be used by people in the UK or EU

The UK law enforces the EU Data Protection Directive. The law protects these users. You’ll want to review this and decide what your risks are. Is the UK ICO going to come after a WordPress blog in the US? I don’t know.
Also sites such as intranets used just within a company by employees probably don’t need to be reviewed because only your employees are using it in a private capacity. On the other has if customers and others use the site then it probably needs to be reviewed.

Next make a list of cookies

There are first party cookies like those set by IIS, Tomcat and PHP. Then there are all the thirds party cookies set by all all those Facebook like buttons, tweet counters and Google Analytics. Finally there are things like flash cookies, HTML local storage, mobile app storage which count as cookies under the regulations. I used the View Cookies extension for Firefox as a starting point.

Figure out what the cookies are doing
What is being connected to that cookie. Since programmers try to use cookies for many things. For example you might have the Google Analytics cookie. Or you might have a session cookie that is tracking users and letting the user set preferences. The law says if the cookie is strictly necessary, you don’t have to get use consent. However since most cookies do double duty and most sites have other cookies, it really is better just to document as many cookies as possible.

Add consent popup or checkbox dialogue to your sites

When the user visits your site, before you set any of these third party or start associating the cookie with personal info, give the user a popup (such as you got when you first visited this site).

I’m using the WordPress Cookie Warning plugin on this site.

Collect the info together and publish

Put a page explaining you cookies. Here is my page.

Review other privacy practices

Take a moment to review the information you are gathering. Make sure this is consistent with your privacy policies and needs. Make sure you store and dispose of private information in ways that match the sensitively of the information gathered. Also review who has access to the information. As information becomes more sensitive you should be locking it down. For example final grades at pretty sensitive, while an email address by itself might less sensitive.

Get ready for more change

Governments around the world are looking at this issue of ePrivacy. As html5 becomes more sophisticated and allows for more sophisticated client applications we will see regulations emerge. The general thrust of these regulations is to rely less on industry standards and place more burdens on website operators.

Brain Dump June 2011

Some random tech things that are bouncing around my brain. Mostly tangental from ed-tech.

Big Data and the Law — an interesting article that explores the legal implications of big data sets. One interesting idea is how laws like HIPPA and FERPA could create headaches for any data-sharing between organizations. The assertion is that in combining a sanitized dataset with other public data can sometimes reverse the privacy safeguards.

Bitcoin — is a new concept in digital currency. The goal of an anonymous, peer to peer currency without a central bank seems interesting. However this month has also seen the near collapse of the largest bank like “bitcoin exchange” after it’s database was compromised.

All Watched Over By Machines of Loving Grace— a must watch 3 part documentary. It is a bit ADHD and doesn’t really have a coherent point, be sure to watch this parody video someone made.