What I Learned at #EpCon

Posted: January 19th, 2010 | Author: | Filed under: Education, Software | Tags: , , , , , , , , , , , , | 2 Comments »

I spent the past weekend at EpCon, a tech conference for college and university students throughout South-Western Ontario that focused on technology, the Internet, entrepreneurship, and networking. Held at the Waterloo Inn, this inaugural year featured keynote speeches from Mike Lee of Rogers Ventures and Steven Woods of Google Waterloo, among others. I saw a lot of cool things, heard a lot of great ideas, and came away with a better understanding of what the tech industry in Ontario has to offer the rest of the world.

Below are a few of the lessons that I picked up during my stay:

Cloud Computing is about…

  • Hype: The core content of 90% of all marketing literature about the cloud is fluff. As a concept, cloud computing is poorly defined; what we have managed to decide on is that the cloud is about only paying for what you use, purchasing services over products, and being able to quickly and intelligently provision new ‘hardware’ via virtualization
  • Low Prices: This is possible because of the ever dropping cost of commodity hardware. Servers are so powerful that they spend most of their time idling. We might as well use those extra cycles to virtualize more machines that can be used by more people
  • Data: Business models based on the cloud have an incentive to make it easy for you to put your data into their service, but hard/unattractive for you to pick up and leave
  • Parallelism: for Great for anything that can be split into chunks and distributed, but not so good for serial  tasks
  • Security Risks: There is a lot of talk, but the reality is a question of whether you want your private records stored on somebody else’s servers. Remember – they have no incentive to keep your privacy, just incentive to make sure that news of a breach doesn’t leak
  • Perception: The Blackberry is one of the most secure devices available, but Obama’s was considered a security risk. Perception is key.

The Internet has Changed the World:

  • The internet is only 20 years old, but consumes a full 5% of the world’s energy. That’s intense.
  • IP technology has had a fundamental impact on how things work, because it’s a global standard. The cost to do business internationally is the same as the cost to do it locally.
  • Between 1995 and 2008, companies that had virtual monopolies on providing information became obsolete. Everybody went online and traditional news media saw massive declines
  • Consumers now control consumption, and piracy can be seen as a push for increased convenience and choice. The irony of the copyright battles is that consumption of media is increasing! The public simply lacks a channel for content that matches their expectations
  • The Internet has come through three distinct phases:
    • Web 1.0 was the push model, wherein content producers pushed content out to consumers
    • Web 2.0 was the share model, when the lines between consumers and producers were blurred, and people chose what they wanted to see, when they wanted to see it
    • Web 3.0 will be the live model, when people have an expectation to have anything that they want at any time, no matter where they are or what device they are using
  • These days, readers, not editors, determine the content. This has been the revolution of the past four years. The democratization of content.
  • The newspaper provides good content, but only one view of the news. It lacks reader interaction, is expensive to produce and distribute, and is at least one day behind current events
  • Online news sites solve the cost, distribution, and latency issues inherent in the traditional model, but still provide a single view of the news and a one-sided conversation about it
  • Blogs and social media changed everything. They are becoming more respected and have been demonstrated to have real impact. At the same time, twitter has been shown to to influence product buzz and box office performances
  • Social media allows people to participate in the discussion, express their opinions, and to provide context to the news
  • Think of just how amazing the Wikipedia project really is. Instead of a small group of experts writing an encyclopaedia, a huge number of people from a diverse array of fields have come together and pooled their combined knowledge into a free resource that rivals the traditional encyclopaedia for accuracy and usefulness.

Creating a Great Product:

  • User-Centric design is essential. You need to know as much as you can about your users, and always strive to provide interaction, insight, and innovation
  • Your development process should be powered by listening: “You have two ears and one mouth. That ratio is not a coincidence”
  • Demo Driven Development: Use daily demos to create a feedback loop that allows you to constantly refine your ideas
  • Customer’s expectations are moving from dynamic to adaptive experiences: Make it modular, open, and multi-platform so that users can have a personalized experience that they can participate in
  • Porn has created at $50M/year industry by moving from the monthly subscription model to a micro-transaction model that is very lucrative. The glut of free apps available for mobile platforms has created a downward price crush that makes it hard to sell an app for a one-time fee. People don’t feel as bad about lots of small transactions, so it’s easier to hook people on something that starts out free.
  • Create value by solving one problem very well. More features can always be implemented later
  • The idea is not your baby! You will get plenty of criticism, and need to be able to adapt. A flawless execution is better than a killer idea. Apple did not invent the mp3 player, but revolutionized it, and changed the industry forever.
  • Questions to ask yourself about a new idea:
    • What is it?
    • Why does it matter?
    • Why doesn’t it already exist?
    • Why can we do it?
    • How can we do it?
    • Can we make money off of it?
    • How do we get out?
  • Having the insight to figure out what’s coming next on the Internet is a huge advantage that can put you well ahead of your competitors
  • So what is the next big thing? It isn’t about apps or hardware or new technologies or even content; it’s about the experience. Everything else is a tool that is used to deliver that experience

On Entrepreneurial Spirit:

  • It has never been easier to implement an idea, and then to quickly find a market for it. The majority of the risk is market related – development is cheap. The Internet solves the traditional problems of marketing and distribution
  • Always strive to be a part of lose/lose partnerships. When you’re having a bad day, your partner should be too. This creates incentive for them to support and work with you.
  • The best base for a start up is a solution to a problem that you’ve encountered in your daily activities. If you’ve encountered that problem, chances are that somebody else has too, and will pay for a solution.
  • Viral marketing can make you lots of money really fast (if you can pull it off without looking fake), but establishing a loyal fan base will make you more money in the long run
  • It is important to get some traction with your product before looking for investment capital. Build a user base first – the money will follow the buzz. Early money is the enemy of an early exit from a successful company.
  • You have to live and breathe your business like a religion
  • You need the best possible people on your team at all times throughout your career
  • The reality of being an entrepreneur involves an immense amount of work and responsibility. You are accountable to your shareholders, customers, partners, employees, and yourself.
  • Experience is key. You don’t know everything, but can learn some of it as you go. Make mistakes on other peoples money, and bring a true professional in when you’re out of your league. They will recoup your investment 100 times over. Seeing the world and learning from others before jumping in with both feet can be an invaluable experience.
  • Remember who you’re doing it for. You can’t work all the time, because you risk losing your family, even if you were doing it for them in the first place. Be sure to create a solid support structure – some days will suck, and you will need people around you to prop you up.
  • Being an entrepreneur is a never ending passion. At the end of the day, it isn’t about the money or the freedom, it’s about the love
  • Quitters never win, winners never quit, but those who never win and never quit are idiots.

Thoughts about Management:

  • Learn to delegate so that the world doesn’t fall apart if you’re not there. You need partners and staff that can step in to fill gaps where necessary
  • Give people accountability and incentive, and let them make their own mistakes. They will work harder for you if they believe in your goal and see personal gain in doing so. At the same time, letting them know exactly how the company is doing gives them feedback to help them cope with hard times, and links performance with hard work
  • Never forget the value of human interaction
  • The promise of the flying car is fact that somebody out there was dreaming. Inspiration comes from those dreams
  • To become a better company, you must know your competition

7 Things that Google does well:

  • Builds teams like startups do – product teams are always made up of less than 10 people
  • Enables internal founders to create
  • 20% of time spent on R&D spans new ideas. Evolving and prototyping are keys to finding the next big thing
  • Encourages teams to attack hard problems and tackle big ideas
  • Compensation is delivery oriented. Bonuses, grants, and awards encourage risks and pay off with good ideas
  • Flat management structure empowers everyone
  • “Innovation is not an option”

Videos and More:

The conference got coverage on our local CTV news, in the KW Record, and some great interviews with the keynote speakers are available over at TechVibes:

Finally, the slide decks from many of the keynotes and presentations are available online at the EpCon website, and you can catch all the latest on EpCon at their website and on twitter.


Outlook, How I Loathe Thee

Posted: September 16th, 2009 | Author: | Filed under: Software | Tags: , , , , , , , , , , , , , , , , , , , , , , , , | 5 Comments »

I fucking hate Microsoft Outlook. I cannot think up another English language sentiment that more accurately sums up my feelings regarding Microsoft’s Outlook application. As much as I hate on the Almighty Goog, I long for the days when I could use the simple, clean interface of the superbly well-designed Gmail web application. Then I went and got myself a Blackberry. All hate aside, I love my phone – it is the best phone that I’ve ever carried, and I wouldn’t consider downgrading if you paid me to do so. However, without an Exchange server, the Blackberry is inexplicably linked to Microsoft Outlook. It is the only well-supported application that the device can sync calendars and contacts with. This, in turn, forces me to use the bloated, cluttered, buggy, and altogether frustrating behemoth that is Outlook.

My current problems began with The Linux Experiment, a blog that I helped start whose purpose is to record the experiences of seven computer users with varying amounts of Linux experience who have committed to running various distributions of Linux on their primary platforms throughout the next four months. Previously, I had maintained two devices that checked my google mail account – my Blackberry, which pulled new email down from the server via the IMAP protocol, and Outlook on my Vista PC, which did the same via the POP3 protocol, and immediately deleted the messages once they came down. It was a fine balance that owed its existence to more than a few quirks in the Gmail, Blackberry, and Outlook systems, but in the end ensured that I got my email on both devices, but that it wasn’t stored on the Gmail servers, which the tinfoil-hat wearing paranoid inside of me greatly appreciated. Unfortunately, I then decided to add a third client to the mix, the Evolution client for Debian Linux, which frankly, is an extremely impressive Outlook clone that seems (initially anyway) to do some things better than Outlook itself.

In order to add a third client to the email mix, I had to remove the fine balance between IMAP and POP3 that had originally existed, and set all three devices up as IMAP clients. Further, Outlook was set to delete all messages on the server that were over 30 days old. This provided some modicum of security, while allowing all three devices to share my email. Along the way, I found out that Evolution actually has the best IMAP support of the bunch, and (unsurprisingly. If there’s on thing I’ve learned recently is that Linux does everything, and usually does it right the first time), Outlook the absolute worst that I have ever seen. For easy reference, my various complaints have been summarized into the ordered list presented below:

  1. IMAP folders appear outside of the “Personal Folders” area, forcing me to maintain multiple email inboxes, instead of allowing me to funnel all of my email into a single inbox. (This may be an issue common to other clients as well – I honestly don’t know).
  2. Outlook tends to keep IMAP connections open for too long, resulting in Gmail forcibly closing the connection, and Outlook bitching that said connection was closed by the server. There is no option (that I can find, but hey, have you looked at the option dialogs in Outlook lately?) to adjust this timeout length.
  3. The program does not accurately reflect message status. For example, if I receive an email on my blackberry while away from home and read it, the message status is set to read on the server, and Outlook should reflect this change. It doesn’t. Evolution does, as does the Blackberry. What the hell?
  4. When an email message is deleted on the Gmail server by another client, Outlook does not delete the message locally – it simply shows the message with strikethrough formatting on the subject line. In the same vein, when you delete a message in Outlook, there is no way (that I can find) to delete that message from the IMAP server so that it is reflected on other devices.
  5. The Linux Experiment uses a self-signed certificate to verify it’s identity to connecting mail clients. Granted, this isn’t how certificates are meant to be used, but it’s better than nothing, and we don’t have the money to pay for a CA. Outlook (as one would hope) complains that the certificate is self signed, but lacks an option to ignore this fact. In theory, this is a “feature” that notifies a user that their transaction is potentially insecure, but in practice, it’s a pain in the ass. I know that the email server has a self-signed certificate. I helped set it up. Now shut up and do your job.

Those are the big complaints about IMAP support in Outlook. I have other complaints about the application, but they’re the same as many people’s and I don’t want sore fingers, so just Bing the issue if you’re looking for a half hour rant. The point to take home is that this lackluster support is inexcusable. According to Wikipedia, the IMAP protocol has been in it’s current revision since 1996, and Gmail is hardly a fly-by-night mail server.

In any case, at the same time that I got everything set up and working between all three devices, Outlook became crash-happy, and started going down three times a day. Sometimes it would crash when I wasn’t using it at all, sometimes while I was changing account settings, occasionally when I tried to open an email, and even once while I was trying to retrieve email from the Gmail servers. The idea that Outlook (previously rock-solid stable, among it’s few good attributes) could start regularly crashing for no apparent reason whatsoever seemed far fetched. So what had changed? Well, I’d added an IMAP account and disabled a POP3 account. These changes modified the Outlook PST files (the unreadable binary blob in which the program stores everything including it’s kitchen sink), which could have potentially been corrupted in the process.

So I backed everything up, deleted my PST files, uninstalled and reinstalled Outlook. I did not realize that the program had littered my drive with settings files in both C:\Users\Username\AppData\Roaming\Microsoft\Outlook and C:\Users\Username\AppData\Local\Microsoft\Outlook, as well as (likely) numerous registry keys, and when I launched my fresh install, it attempted to read from these files, and to recreate it’s missing PST files. Balls. So I closed the application, re-deleted the newly recreated PST files, and also nuked the settings files in the two locations. Upon launching Outlook, it again somehow managed to restore all of my settings, including my RSS feeds and both of my IMAP accounts.

Fine. You restored my settings. Not the via the method that I had hoped, but the effect that I was after has been achieved. The old and possibly corrupted PST files have been recreated, my email accounts are once again being monitored by my Vista PC, and the program hasn’t crashed yet. Then I tried to sync my Blackberry with Outlook using the RIM Desktop Manager software (an application almost as poorly written as Outlook itself), and the whole house of cards came crashing down. Somehow, whatever I’d just done absolutely ruined the underlying Intellisync process, and resulted in an error that merely said “Function OpenFolder failed” with no further explanation. A quick web search resulted in nothing of value, and the sync process refused to restore my calendar and contacts from the device. The synchronization log files state only that Internal Error #4238 occurred, and that the translation of contacts failed. I Bing’d up a post on the Blackberry Forums that instructed me to delete my Intellisync folder to restore my synchronization abilities.

After following the instructions and recreating my sync profile within Desktop Manager, everything worked as expected, and my contacts and calendar were restored to Outlook. Needless to say, this entire enterprise was far more painful than I felt it should be, and only time will tell if I’ve actually fixed the crash problem, or if it will resurface in a couple of days. Regardless, I will be exploring alternatives with renewed interest. There are plenty of other email/calendar managers out there including Mozilla’s Thunderbird, which I use for my small business and absolutely love. Unfortunately, Blackberry sync is high on my list of requirements from an email client, and so far, Outlook is the only client that can do that reliably without writing a bunch of intermediary code. As a part of the Linux Experiment, I will be looking into the Barry project, which is promising, but seems to be Linux-only.

Stupid Outlook.


Head in the Clouds?

Posted: June 5th, 2009 | Author: | Filed under: Software | Tags: , , , , , , , , , , , , , , , , , , , | No Comments »


Ah, the Cloud. A wonderful place in the electronic ether where you can put all of your data and software so that you no longer have to manage it yourself; never mind dealing with hardware or software purchases, tech support, or IT professionals. Never mind dealing with privacy and security, avoiding vendor lock in, or being free to do what you like with your data – the cloud will take care of it all. For once, I actually agree with the viewpoint of Richard Stallman:

One reason you should not use web applications to do your computing is that you lose control… If you use a proprietary program or somebody else’s web server, you’re defenceless. You’re putty in the hands of whoever developed that software.

Stallman may be a crazy hippie, but unfortunately, he’s right. In our mad rush to create software as a service, we’ve repeatedly reinvented the wheel in an effort to coerce web browsers into doing things that desktops do with ease – and we’ve lost control over our personal data along the way. In the words of Schneier:

When a computer is within your network, you can protect it with other security systems such as firewalls and IDSs. You can build a resilient system that works even if those vendors you have to trust may not be as trustworthy as you like. With any outsourcing model, whether it be cloud computing or something else, you can’t. You have to trust your outsourcer completely. You not only have to trust the outsourcer’s security, but its reliability, its availability, and its business continuity.

Even though living in the cloud may look great on paper – “All of my services are served by Google, and available via a single user account!” – what happens if the Almighty Goog goes out of business tomorrow? Or just shuts down Google Docs? God knows, it isn’t making any money off of the service. Amazon’s S3 and EC2 services are no better, with rare, but sometimes lengthy outages that can negatively effect many online businesses that rely on the services being running.

The point that I’m trying to get at with all of this ranting and raving is that nobody owns your data but you. How many times have you been told to back up your hard drive? The same rules apply (if not doubly so) when talking about data stored ‘in the cloud’. There is little incentive for the vendor to care about what it does with the data of users who get its service for free. Remember Schofield’s Second Law of Computing:

Data doesn’t really exist unless you have two copies of it. Preferably more. And the only person who can be held responsible for that is you.

The internet is a magical place, and has changed our world in inumerable ways. In this video, Kevin Kelly dissects the accomplishments of the first ’5000 days’ of the World Wide Web, and makes some startling predictions for the next 5000. Ultimately, for any of his ideas to come to fruition, we users will need to surrender much of the control over our data to faceless companies motivated solely by profit. I’m for crafty capitalism as much as the next guy – hell, I want to make my living in this industry – but is this really how we want it to go down?