Archive for the 'Nerd' Category

Thoughts on Textbooks on iBooks

I was thinking about the latest news from Apple, that they were partnering with textbook publishers to bring cheaper textbooks directly to the iPad while at the same time releasing an application for anyone to publish iBooks for the Apple Bookstore.

Perhaps I am being cynical, but it’s always appeared to me that the main business model of a textbook publisher is to slightly tweak versions of a textbook, altering page numbers and quiz questions in order to force students to buy newer editions instead of used ones. Perhaps the industry is thinking that iBooks will eliminate the used book market, and they’re probably right. But this could also have some negative (for publishers) side effects as well.

Apple is lowering the distribution costs of textbooks dramatically. Assuming that schools actually pay for a set of iPads for each student, it becomes trivially easy (with the iBook publishing software) to create free textbooks for schools. Who would want to give textbooks away for free? Teachers. There are cases of teachers self-publishing for their own schools, but for this idea to really work, I think teachers would need to collaboratively create a textbook that meets either regional or national standards and release it for free on iBooks. If you don’t believe this will happen, take a look at Khan Academy.

Previous attempts to create free textbooks have been hit or miss. I am not quite sure how popular Wikibooks are in the classroom. The problem is probably that of traction and scale. Previously, no one has created a standard for e-textbook distribution. Apple is doing that with iBooks. The beautiful part is that they’re bootstrapping it with traditional publishers who are probably digging their own grave.

Of course, this could play out in a number of ways. Maybe iBooks will prove to be too costly for most public schools to adopt (I’m guessing this is very likely). If only private schools or schools with a lot of funding can support them, it may not become worthwhile to create free textbooks for all.

What I’d hope to see is a slow adoption of iPads in the classroom using iBooks as textbooks. Once a critical mass of schools is using iBooks, free textbooks will be developed and adopted by certain school districts and spread to others.

I’m glad to see that Apple is trying to “disrupt” (I lose some points here by using a word I hate) the textbook industry, and it’s awesome that they’re partnering with that industry to do it. I’m really looking forward to seeing how this plays out, hopefully for the benefit of our education system.

Conditional GETs in App Engine

I’m currently working on an app in Google App Engine that polls feeds periodically and then does stuff with them. I suppose I could use that pubsubhubbub thingy but I have a feeling that most feeds aren’t using this yet.

Anyway, I did a quick naive implementation of polling about every hour or so. Apparently the feed parser I’m using is pretty inefficient because it’s eating up a lot of resources (relatively speaking) on App Engine. I remembered that the http protocol is pretty smart, and there’s a way to figure out if stuff has changed since the last time you grabbed it.

Google’s urlfetch doesn’t seem to support conditional GETs (someone tell me if I am wrong). I looked around and found a few tutorials on how to accomplish this in Python using urllib2. The tutorials weren’t exactly what I wanted, so I had to change a few things here or there. Here’s a snippet of code that I’m using:

import urllib2
feed = Feed.get() #my feed object has a etag, last_modified and url property
req = urllib2.Request(url)
if feed.etag:
    req.add_header("If-None-Match", feed.etag)
if feed.last_modified:
    req.add_header("If-Modified-Since", feed.last_modified)
try:
    url_handle = urllib2.urlopen(req)
    content = url_handle.read()
    headers = url_handle.info()
    feed.etag = headers.getheader("ETag")
    feed.last_modified = headers.getheader("Last-Modified")
    feed.put()
except Exception, e:
    logging.info(e) #just says 304 didn't change
    return
dostuffwith(content)

This handles my use case, which is doing work if the feed is new, and ignoring it if it hasn’t been modified. I could probably wrap this into a function that returned false if it the file hadn’t changed, and the content if it was new… Probably will do that next.

SXSW 2011 Panel Proposal: “Quitters Always Prosper” Please Vote!

I submitted a panel proposal to SXSW again this year entitled “Quitters Always Prosper: The Iterative Career Process.” Here’s the proposal as seen on the official panel picker:

Quitters Always Prosper: The Iterative Career Process

You just graduated from college and started your first real job. But it isn’t what you thought it was. Somehow, somewhere along the way, you made an error in judgment, or your company flat out lied to you about your job. What do you do?

Hear from a panel of young professionals who were in this same position and quit before they hit the one -year mark. They’ve since moved on to greener pastures and have found their true calling, or are at least a step closer. They are part of a larger movement who believe in an iterative career path.

Disillusioned employees: share your pain and ask the panel how and why they made their decision to quit. Learn the warning signs of a bad fit during the interview process and in the first few days on the job. Know that you aren’t alone, and there’s something you can do about it.

Employers: learn how to decrease new employee turnaround. Discover the best incentives to retain great talent. Learn when and when not to hire.

When the going gets tough, quit!

Questions Answered:

  1. What are the warning signs before I accept a job that it is not a good fit?
  2. What alternatives are there for reconciliation before sending in my resignation?
  3. What should I do before quitting (e.g. securing a new job, etc)?
  4. How do I explain my short stay to a potential new employer?
  5. What should I learn from my bad experience, and how should I apply it to the next job?

As many of you know, I quit my job at Microsoft after about 6 months. There were a lot of reasons why, and it boils down to the fact that it just wasn’t a good fit. I’ve noticed a disproportionate number of my cohort from grad school who also left their first jobs after graduating within one year. I thought it would be interesting to do a panel on the subject and try to get to the bottom of this phenomenon.

I think It’s of interest not only to people who aren’t happy at their jobs, but also employers who struggle with retention rates, especially among younger employees. I think it’ll be an interesting panel. While I moderated a SXSW panel at this year’s conference, I was thinking that I could either moderate again (it’s very fun and stressful) or be a panelist, since I’ve experienced it myself.

I’d really appreciate it if you could take the time to vote for my proposal, leave a comment, and spread the word! As with my last panel, I think the subject is something that people think about, but often do not talk about. If we can get a room of like-minded people together, I’m confident that people can be inspired to make tough decisions and get more out of life!

SXSW Student Startups Podcast Up!

SXSW just posted their audio recording of the Student Startups panel that I moderated! Here it is in embedded form, or you can download it, too!

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Oh man, I sound super nervous (I was). Please let me know what you thought of the panel if you didn’t get a chance to attend and you’re hearing it now for the first time!

Thanks again to my panelists, Ben, Ellen and Marc! They did a terrific job!

SXSW 2010: My Panel Moderator Experience

I got back from SXSW 2010 a few days ago, and I thought I would write a post about what it was like to moderate a panel while it’s fresh in my mind. As you may know, my panel submission, “Student Startups: Entrepreneurship in the University” was selected to be a real panel at SXSW 2010! From the time that I knew it was accepted, I sprung into action and got my panelists together. Ellen from Alight Learning, Ben from Olark (formerly Hab.la) and Rishi from Underground Printing.

While I did my research beforehand (I was a student entrepreneur myself, to begin with), I felt the need to cram some preparation a few days before the panel, too. I guess I should have gotten everything ready before the conference started, but I also wanted to get proper feedback from my panelists.

One way I prepared to moderate was by reading a few blog posts on the subject that were linked to from the Speaker FAQ. Most agree that one should not over-prepare the panelists. You want the discussion to happen during the panel itself and not before. In the hour before the panel, inside the green room, I had to sort of referee the panelists to avoid discussing too much. Most also agree that the moderator needs to do the most homework. I had to come up with the focus of my panel, questions to ask to reach that focus, and I had to be prepared to follow up with more questions depending on where the conversation went (which included asking questions to get the discussion back on track if it was going off on a tangent).

At first the panel was going to be about details: where to get money, what kind of corporate structure to use, etc. When I started thinking about the potential panel attendee, I realized that these questions would probably be really boring and unnecessary. I tried to frame my panel from the viewpoint of a college undergrad who just wants to get something started. I hoped that by the end of the panel, at least one person in the room would decide to give startups a try, or at least be excited enough by the idea to do more research into it.

My biggest worries were that no one would come, or that too many people would come. I also worried that people would be mean on the backchannel (as I have witnessed during other panels). I worried that I would not have enough questions to ask and that there would be a bunch of dead silence. Luckily, none of these things happened. The audience was a good size, I treated the audience with respect from the beginning and asked them to do the same on our hashtag, and my panelists were really interesting and led me to ask other followup questions. I don’t think there was much filler content at all.

Probably the only truly stressful part of the process was when Rishi called me the day before the panel and told me he couldn’t make it, by no fault of his own. I had to find a replacement panelist within less than 24 hours! Luckily, I am an entrepreneur at heart and rose to the challenge. I went to the trade show floor and started asking the startup-looking companies if their founder was there, and if so, if he/she had started a company while in school. I got incredibly lucky the first time I asked, at Tungle.me‘s booth. I ended up meeting Marc Gingras, a really awesome guy who ended up working out perfectly. Marc rounded out the panel as the guy who started a company during the dotcom boom. He also has experience being a VC and doing other startups after his first. I really can’t thank Marc enough for spending his time sitting on my panel and helping it become a great success.

My basic strategy during the panel was to break the ice by asking the audience to participate a bit first. I stole this from the App-Vertising panel I saw a few days before. I asked who in the audience were students, investors, entrepreneurs or educators. Next, I had my panel introduce themselves and then I introduced myself. I started with an easy question: “I am a student who wants to get into startups, what should I do?” From there I listened to the panelists and tried to anticipate where the discussion was heading. I had a few points I wanted to hit, so if I heard something that related to another topic, I segued into it. For example, I might’ve said “Ben, you mentioned finding your co-founders at a student group, did anyone else have a similar experience? If not, where did you find your co-founders?”

The backchannel on Twitter also provided a good source of questions. I’m really glad that people asked them because it kept the conversation relevant to what people wanted to know and it gave me a chance to save my questions for a more relevant time to ask them.

I haven’t gotten the official feedback on the panel yet, but I think that it was overall a success. Very few people left in the during the panel and many people were nice enough to come up and talk to me and the panelists afterward. I wish I could have talked to every single person to see if the panel was helpful, but I think they had to run to the keynote right after (and so did we)! I really hope that the panel inspired some people to take a chance and become an entrepreneur. I think that if one person became more inspired after hearing the panel, our mission was definitely accomplished.

While the process was a bit stressful and required a fair amount of work, I’d love to either moderate or participate in a panel again, someday. I’ve got to start thinking of panel ideas for SXSW 2011!

[Photo credit: Chris Norred]

Books

Hung Truong's  book recommendations, reviews, favorite quotes, book clubs, book trivia, book lists

Capitalism!