Blogging (Again)

BloggingI am ashamed of myself. I have not been updating this blog for sometime. So when my business partner Ian wrote a blog post on our company blog about derelict blogging and why it may not be good for everyone, I realize that something need to be done with this blog site. I can’t just leave it untended. So it’s blogging time again.

Back to blogging and a quick update

WordPress LogoIt’s been a while since I last blogged. Life has been so hectic that I hardly have the time to blog (not that I have been blogging regularly). I have been working on multiple projects since the beginning of the year. So I have been super busy with work.

In the beginning of the year, I have been toying with the idea of creating a new business in producing my own independent software products. But after careful consideration, I decided to focus on developing my consulting services in mobile and digital interaction development to establish a more steady stream of cash flow. I am still incubating these product ideas of mine on the side. Hopefully, I can start spending more time by Fall and turn one of these ideas into a viable business.

Code display and highlight plugin for WordPress

WordPress LogoI shopped around this weekend for a WordPress plugin that not only allows me to display code snippets on my blog but is also capable of syntax highlighting – thereby allowing the posted code to look pretty. For starters, this article provides a list of the top 12 WordPress code syntax display/highlight plugins. After installing and playing around with several plugins, I eventually settled for SyntaxHighlighter Evolved, which not only offers a great looking syntax highlighting theme against a dark background but is easily configurable and supports all of the programming languages I want to display on my blog, namely Objective-C, C#, Java, and JavaScript/HTML. Good stuff.

The success of WP7 depends on developers

Windows Phone 7 (WP7) was officially introduced on Oct 13 and the devices are set to be released in the market on Nov 8. This blog captures my thoughts on WP7, in particular how software developers can strongly influence the success of the platform.

In a network-based market, the value of the WP7 platform is proportional to the number of other users who use the product. It is commonly known in the business of hardware/software that software sells hardware and vice versa. And through this consumption, the demand of one good becomes directly proportional to the demand of the other. Take the case of Micosoft-Intel PC market, the buyer typically purchase a PC primarily for Windows and the applications the operating system runs.

So software matters and a higher proportion of quality apps can attract more people to adopt the phone platform. As the installed base grows, more software developers begin to see a market potential for developing apps for the platform. As more developers enter the market, a wider variety of software is produced. This is the self-reinforcing cycle of the hardware/software market. However I don’t think the number of available apps available only is enough to drive mass adoption. At this writing there are about 250,000 apps available on the iPhone and 100,000 on the Android. WP7 has a lot of catch-up to do in order achieve the same number of app offerings – don’t forget that old Windows Mobile apps don’t even run on the new platform. Quantity alone is not the determinant of higher adoption, diversity and quality of software titles are important drivers too. It is imperative Microsoft must attract software developers to create apps for the platform. But building a thriving software developer ecosystem isn’t something new to Microsoft. Ballmer famously said in the past that Microsoft business is about developers, developers, developers (I still laugh whenever I watch this video). For WP7 to compete successfully, Microsoft needs to build a base of developers to build apps for the platform and initiate this self-reinforcing cycle. Are there any interest from developers so far? It’s hard to tell. Right now, iPhone and Android apps development are keeping most software and mobile app companies busy. It’s difficult for developers to develop for multiple platforms at once. There are already numerous solutions available in the market to address multi-mobile-platform development. I won’t be surprised if Adobe would release a developer tool to compile Flash apps to native WP7 apps.

The technology used to develop WP7 apps isn’t something new. WP7 apps can be built using Silverlight or XNA. Both technologies are already well established in the software development world. Silverlight is based on existing, mature .NET technology while XNA is used by game studios to develop DirectX hardware-accelerated games on XBox and PC. Microsoft should exploit its 3D development suite and existing network with software developers, software retailers, and content partners to develop new titles or port existing best sellers to WP7. While all these initial complementary assets may not have been the only factors influencing the two companies’ successes, they certainly helped the companies to overcome initial entry to market barriers.

I give Microsoft a lot of credit for revamping the Windows Mobile platform and redesigning the user interface. This is a gutsy move but I think it will pay off in the future. I haven’t played with the user interface, but it looks promising. And thank you for eliminating the corner Windows Start button. I quite like the utility of a task-oriented UI of WP7 as opposed to iPhone UI, which is app-oriented.

As a late entrant to the highly competitive smartphone market, Microsoft faces tough competition. Microsoft has strong complementary assets and products which put them in a good position to compete effectively in this market. While I don’t see Microsoft faltering, I don’t see the company emerging as the market leader in this market space anytime soon. But seriously, who knows how this market will play out. For me, I am adopting an (optimistic) wait-and-see stance on developing software for the platform and using a WP7 device.

Three20 is alive

Three20 I raised concerns about the general lack of direction and the confusing state of the Three20 framework with this blog post a week ago. After a long period of silence, it looks like Jeff Verkoeyen, one of the lead contributors of Three20, has spoken. He made this post on Three20 discussion group last night. He is back on the project after a hiatus and will be devoting personal time (10-15 hours/week) towards the Three20 project.

Some highlights of the post include:

  • Clean up the morass of websites that the Three20 project team maintains
  • Clean up the code and migrate to a modular model
  • Call for more content contributors and coders to help grow the project

Awesome, I have really gotten used to the Three20 programming model and API after 3 projects, and it’s good to know that the project is alive and going somewhere. All this is good news. Welcome back Jeff.

iPad as an eReader

Last week I made the big switch to eBook by purchasing and downloading several technical book titles from Amazon to the Kindle app on my iPad. I have always maintained that paper is still king when it comes to reading. Reading from a book is a lot easier on the eyes. And holding a book while reading and flipping through the pages of the book still feels a lot more natural to me.

The Benefits of eBooks

Nonetheless the top reason for jumping on the eBook bandwagon is that the digital book is constrained only by the physical and electrical limits of the device. Like the digital music revolution of the past when one’s entire music collection can be made digital and stored in an MP3 player, the eBook revolution is well under way. For someone who has gone through four international moves in the last three years, I can tell you that moving books across internationally boundaries is inconvenient and certainly not cheap because the books are so dense and heavy. So having virtually my entire library in a portable device is godsend. Contrary to conventional belief, an eBook isn’t locked into single device. Most eBook vendors allow an eBook to be downloaded to a limited of devices (or the devices on which the eBook reader application runs). The limit ranges from 1 to unlimited devices, depending on the license set by the book publisher. There is the flexibility of unregistering a device and adding a new one when the limit is reached. Because of this, most eBook reader has a syncing function for registering a device, downloading eBook content, and managing a set of bookmarks among all your devices. Another feature of eReaders that I find indispensable, especially for referencing electronic technical literature, is full-text search. This feature is instant gratification as I frequently use technical books as reference for my professional work.

Kindle for iPad vs iBooks

I have both the iBooks and Kindle apps installed on my iPad. In terms of user experience, I prefer iBooks to Kindle. The former has a smoother interface, and eBook content rendering/layout seems to better structured and formatted than that of Kindle. But Kindle has one huge advantage over iBooks: a larger, more diverse collection especially technical books. Also, eBooks purchased from Amazon can be read on a variety of devices through the Kindle application which is available on multiple platforms including desktop systems.

Market Fragmentation

Right now the eBook market is very fragmented. In general, eBooks are published in different formats and each eReader has its own store and proprietary format, which is not compatible with other eReaders. Wikipedia has an comprehensive comparison of the various eBook formats. Then there is pricing. In general, pricing for popular fiction and non-fiction bestsellers are fairly consistent between different online book stores. However availability and pricing for technical books vary considerably.

    MIT students can’t read and Harvard students can’t count

    Yesterday’s broadcast of Car Talk on WBUR caught my attention as I heard Cambridge, my fair city, being mentioned. Tom and Ray read off a listener-submitted anecdote about a funny incident of a student from a certain university in Cambridge. The story goes something like this:

    The listener was standing behind someone who apparently had more than a dozen items in a supermarket express checkout line in Cambridge. When the person in front arrived at the counter, the cashier then pointed to the sign “Express line: 10 items or fewer only. She then said: “You must be from MIT or Harvard,” the two big universities in town. The guy smiled and said: “Yeah, how do you know. The cashier said: “You must be from MIT because you can’t read or you must be from Harvard because you can’t count.”

    Credits: MIT Logo and Harvard Logo

    Concerns about Three20

    Yesterday, my company released VSS Food Guide, a vegetarian food guide in Singapore, to Apple iTunes. We are already planning for more app releases in the next few months. However, a technical question for our app development efforts remains: should we continue using Three20, the same framework used to develop Facebook for iPhone. I like the framework, especially its URL-based navigation for navigating a user from one view to another and for persisting an app view state. Because the state of each view is represented by an URL, the entire view state of the app is automatically persisted by saving the URLs of all views when the app exits. Other benefits of Three20 includes a large collection of visual controls, caching, and network utilities. I used Three20 extensively in the VSS Food Guide. The framework is very useful once you get used to the programming model.

    Despite all these advantages, I still contemplate using Three20 to develop future apps. The recent discussions in the Three20 forum board echo my concerns. The timing is quite uncanny. The thread expresses concerns over the lack of direction, a general lack of documentation, and fragmentation due to numerous forks of the source. The framework is cool but it can be quite confusing since it isn’t well maintained or documented, which is quite typical of any open-source project at this stage. The good news is that it looks like efforts are being made to steer the project back on course.

    MobyFab and our first app

    When I returned to the US after a three year hiatus in Asia, I started MobyFab, an small independent software vendor (ISV) and consulting company in Cambridge, MA. We started the company by creating two custom iPhone apps for our clients. But today our app VSS Food Guide, which we developed in close collaboration with the Vegetarian Society (Singapore), was approved by Apple and is now available on iTunes. This is a momentous event for us as VSS Food Guide is our first iPhone app we released on iTunes.
    MobyFab is already busy developing the next iPhone app, a virtual counter clicker utility app. I am performing “final polishing” and QA testing at the moment, and hope to submit the app for approval sometime next week. After the release of the new app, I will be returning back to developing custom apps for clients. MobyFab will be developing an location- and social media-based app for an early-stage startup in Cambridge.

    Startup Bootcamp 2010

    Startup Bootcamp Logo Today I attended Startup Bootcamp at my alma mater to listen to entrepreneurs talk about how they started their companies. And the student organizers have done an amazing job of organizing the event and bringing people together. Great job and thank you.
    Here are the videos covering the event. I took some notes during the event and here are some of the key take-aways:

    • Prototype early. From Mick Mountz, founder of Kiva Systems: “Focus on the product early on.” The first iteration of the product should be focused on getting a proof-of-concept. Don’t over engineer it (yet). There will be cycles of learning. Your product will be made bulletproof iteratively. Along the same line, Bill Clerico of WePay mentioned that you should not be raising money until you have some sort of prototype. I agree with Bill although this advice is more relevant to web or software startups where the product lifecycle is very short.
    • Customer validation or product feedback is important. Mick Mountz advise that entrepreneurs find 1-2 customers early in the process, especially those with the highest pain, to try the product and then invite them for feedback. And when you evaluate their feedback, as David Cancel said, you don’t want to be in the “middle.” What this means is that either your customer loves or hates your product. This way you know how to deliver a product that they will truly love. Ayr Muir of Clover Food Lab (they serve delicious organic vegetarian for $5 and under BTW) engages his customers by observing their behavior. When he sees someone who doesn’t finish his sandwich, he knows that there’s something wrong.
    • According to David Cancel, every entrepreneurs must ask him/herself this: does anyone care about your product? There are problems in the world, your products need to solve a problem and to make someone’s life easier. If you can’t get anyone to care about your product, the rest doesn’t matter.
    • Creating and maintaining the right culture at a startup is important. Look for good people to form a team. “‘A’ people recruit ‘A’ people. ‘B’ people hire ‘C’ people…” – George Bell, former CEO of Excite.
    • “Be prepared to throw away things” says James Lindenbaum, founder of Heroku. Hard work leads to understanding and clarity. The implementation (or code) is just a by-product. Don’t get too hung up on your product implementation. Startup is a learning process.
    • The ego of the founder(s) can lead to the failure of a startup – Bob Metcalfe, founder of 3COM.
    • You need to do a startup with a set of motivations. It’s a lot of hard work. You have to motivated and love what you are doing.
    • Alexis Ohanian, founder of Reddit, says: we need more entrepreneurs even if they are from overseas. The country needs talents to keep its economy competitive. Keep international students here to start companies. I couldn’t agree more.
    • Again, from David Cancel: stop reading Techcunch. It’s a distraction. Focus on delivering and pay attention to your customers to solve their pain points.

    Since I am doing a startup (more about this later), the talks were inspiring and insightful. I believe that there’s no archetypical process on how you start a company. Even some of the points that the speakers made contradict with each other. That’s why every startup story is different. This is fine. There are many paths to success. But one recurring theme from all these anecdotes I heard is that if you have an idea, you need to start it. If I have three things to say about startup, they will be: just do it, focus on the product, and find good people – cofounders, employees, mentors, and investors – who not only share but implement your vision. So to quote David Cancel on this: #JFDI – Twitter hashtag for just f*cking do it. And that’s the real take-away.