Friday, January 13, 2012

An App Store for the Rest of Us

I’ve blogged a year ago about App Stores, calling that everybody gets an App Store or as Scott Hanselman tweeted it “There's an App Store for that!”. I had hope for Microsoft to build a better app store that isn’t like Apple’s. So much for my hopes that were crushed when the details of Windows 8’s store was revealed last month. Microsoft promised developers a bigger bite of the apple, bigger than Apple’s. 80% rather than 70%. Your app qualify for the bigger cut if your sales exceed 25,000$.

While that seems generous, I still didn’t like the phrase Microsoft used to describe taking a percentage of your revenue; “Revenue Sharing”.

Microsoft previews the Windows Store

Imagine the government re-labeling taxes as “Revenue Sharing”.

So, Microsoft creates a platform (if we can pass upgrading Windows as creating a new platform), announces that the only way you can get applications of that platform is through their app store and then takes away a percentage out of every single copy sold on that platform.

Imagine you’re a tiny shop building applications for Windows. Now, you want to switch your app that costs 10$ to the new Metro-style UI of Windows 8. How are you going to handle pricing? Are you giving up 3$ to Microsoft and reducing your income by 30% or are you going to raise your price to make room for the new cost and piss off your customers who have seen price increase with no features to justify it which eventually will lead (at least some) customers to jump ship to other products.

Why is a 30% (or even 20%) cut out of every copy sold on Windows Store justified? Is Microsoft not making enough money from every single copy of Windows running on 90% of computers on the planet? Do they really need to have 30% share of the entire software revenue on top of Windows revenue.

What exactly justifies taking a 30% cut? Hosting the application, distributing updates, reviews capabilities, all these doesn’t justify taking a percentage of revenue. No, it’s the monopoly. “You wanna build an app for this platform, then we’ll share revenue”. It’s all part of the Apple-ification of Microsoft. Redmond has been lifting pages out of Apple’s playbook, but this time they’ve gone too far.

Apple has always used monopoly over its platform as a revenue generator. “Use our hardware”, “Use our software”, developers build little tools to add functionality to MacOS only to find Apple copy their ideas in the next release of the operating system and claim credit for it. Microsoft has always been unlike that. They celebrate partnership with other hardware and software vendors. They open up the chance for developers to build tools to cover up for Windows shortcomings. “Live and let live”. Not any more, it seems.

It’s also the “consumerization”. Putting the consumer first. Let business, power users and tech people take a back seat for a bit. The average Joe is the center of attention. He doesn’t want better software or more control, doesn’t care about customization, just make it easier and more shiny even with fewer functionality. Maybe it’s just me, but consumerization ruins general-purpose computation and PCs as we know it today. Consumerization turns PCs and Computers into appliances. One for each function. They deprive me from the ability to create and turn me into a consumer to whatever big companies give me.

I understand that this a lot to blame on an app store but it’s not the new functionality that bothers me. It’s the mentality with which it’s offered. An app store for Windows is a great feature that helps developers offer and distribute their applications. It’s been long over due. But Microsoft is taking the wrong approach to deliver this feature. If I were to build an app store for Windows, I would do the following:

  • Make it a new way to get applications, not the only way: Users should choose to use an app store because it’s better not because it’s the only way. At least a billion PC user in the world, I’m not gonna claim what’s best for them.
  • Developers can host their own apps: If you’re a developer and want to host your own app, that’s fine. An app store is only an entry point to discover all the different app repositories offered by all developers.
  • Recommendations not Control: I believe that it’s important to guide average users to what’s best for them. “You shouldn’t use this applications because it’s buggy”. But not do that by anointing yourself King of the world. When a user purchase an app from a developer, it’s an agreement between the two and the platform vendor has nothing to do with it. I know that this app is buggy but I still would like to use it, it’s performing a function that I really need right now, I don’t want for the developer to comply with your review process. As a platform vendor who cares about how your platform is performing and used, you can use recommendations. “Microsoft doesn’t recommend this app because of performance issues” or “because of privacy issues”, “Please read for more details”. Developers would get an explanation for the recommendation and be able to fix the problem. Microsoft gets to place its recommendation high in the list next to the application description. This recommendation would really affect user’s decision and wouldn’t be restrictive to users who know what they’re doing.
  • Standards, Standards, Standards: For this app store to be really open, and for it offer place for innovation by other software vendors, it has to rely of standards. A standard to how to discover apps, how to install them, license them, and update them. Standards that describe how these different process interact with each other, how two processes implemented by two different vendors can still work together. Microsoft can start by offering this standard and other would join.

It’s a shame really that Microsoft is taking over the software market like this. In times where there are attempts by governments to control the Internet, in more ways than one. It doesn’t help that giant software companies are restricting computers as well.

Thursday, January 12, 2012

Sync Windows Live Writer Posts Between Computers

With all the different PCs between work and home, desktops and laptops, synchronization is becoming very important. I wanted to sync blog drafts between different computers which turned out to be very simple. Unfortunately, Windows Live doesn’t offer a solution out of the box, even though Windows Live Essentials comes with Live Mesh along with Live Writer. It’s a matter of putting two and two together which what I’ll do.

First, change the posts folder of WLW (Windows Live Writer):

1. Open up regedit (in Win7, just type “regedit” into the start menu)

2. Navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows Live\Writer

3. Right click on the “Writer” folder in the left pane and choose New > String Value

4. Name the value PostsDirectory and then double-click on it to edit

a. You can try pointing it to your documents folder, which is normally “C:\Users\<your-username>\Documents\” in Win7

b. Or point it somewhere else. Note that Writer will create two child folders wherever you point it: Drafts and Recent Posts.

The folder I switch to is a folder under the folder I keep synced with Live Mesh. On the other computer, do the same steps. Change the posts folder to the folder you keep synced with Live Mesh. You’ll need to copy your existing posts and drafts from their original location which normally is C:\Users\[User Name]\Documents\My Weblog Posts

Now you can start a post on my computer and finish it on the other. More importantly, you now have a backup of all your drafts on your SkyDrive.

You can, of course, use Dropbox or any other synchronization service to keep the posts in sync.

Saturday, January 7, 2012

Mozilla: Beyond Firefox

Who doesn't already know Firefox? But what other projects is Mozilla working on?

I've taken an interest lately in finding out more about Mozilla. I think it all started with reading some of the “How I got started with Mozilla” stories on the Planet Mozilla feed.

I've always been interested in Mozilla's work. It's not open source applications that they build. Most companies now build some tool and open the source code to everyone. This is a noble effort on their part but I don't think that what open source development is about. It's about “Open” before “Source”. Having a community-driven open development process is the key here. Involve the community in the process designing features, and building them. Invite developers to listen in on your meetings. It's a great learning tool for new developers who can learn about what it's like to work on a team. This is what I really admire about Mozilla, the open process. I'll list later in this post some links on where you can see for yourself what I'm talking about.

Before I talk about all those projects, I want to take a moment to mention the Mozilla manifesto (that I translated to Arabic back in 2009). Take a minute to read it. It might seem a high level goal that is not related to daily operations but reading a post about webOS and Mozilla lately, I watched how it's on everyone's mind. I think it really helps the mozillians stay focused on keeping the Internet open when they measure their decisions against the manifesto.

Firefox, Aurora and Nightly

There was always a nightly build of Firefox that if you search for it you can find an FTP page for it but it wasn’t official. With the new approach of versioning and releasing Firefox, nightly builds of Firefox have an official name “Nightly”. Last year, Mozilla came up with the 3 different names and inspiring logos to make it easier to adopt beta version. Firefox is the stable final release for the masses, Aurora is the beta release, it’s stable but could have few bugs. Nightly is cutting edge and updates every night. I use Nightly and love that there’s a 64 bit version of it. You can get it from Nightly’s page. You can also follow Nightly news on @FirefoxNightly or Tumblr. They post details of the upcoming features. For more details, here’s a complete list of features of Firefox, Aurora and Nightly. Here’s an example of a feature that should land soon in Nightly, the new Home Tab.

Mozilla Labs

Mozilla labs is the home of many great ideas that usually are built as addons to Firefox. Some of these projects “graduate” and become part of Firefox like:

  • Jetpack: the restart-less addons platform.
  • Personas: which provides an easy way to skin Firefox.
  • Sync: the indispensable sync capability to keep your Firefox profile up to date on multiple computers.

Other projects are not so lucky and are not active anymore including:

  • Ubiquity: one of my favorite projects. Task-centric natural-language-based command line that brings web tasks from any web site to your fingertips. It's extensible and builds on web standards (HTML, CSS, and JavaScript).
  • Prism: remember how Microsoft annoyed the heck out of everyone with “Pin a website to taskbar” feature in IE9. Well, before that there was Prism. Run any web app as a desktop application with the help of Firefox.

Meanwhile, a number of projects is always active:

  • Test Pilot: collects usage data and user feedback while maintaining user's privacy.
  • Contacts: centralizes the user's contacts in the browser and gives access to online services when requested and allowed.
  • Skywriter: a web-based code editor.


OpenID was a noble effort to outsource and centralize authentication of all the websites that we deal with everyday in a way that removes the hassle. For so reason, mainly the long ugly un-memorable URL, OpenID didn’t take over the web in the way it was hoped to.

Mozilla is take a shot at this problem with BrowserID. Instead of outsourcing authentication to a third party, BrowserID uses the browser to authenticate users using their email address. You add your address as your browser ID and verify it by clicking a link in an email you receive from the BrowserID service then every site wants to authenticate you can rely on BrowserID for that. Watch the video for a demo:


Introducing BrowserID from Mozilla

More info on BrowserID is the introduction post or on Identity at Mozilla page. Here’s a quick tutorial for developers, the demo site from the video. You can follow the development or contribute on Github.


WebFWD (Web Forward) is a new program from Mozilla to support open source projects with mentorship, access to Mozilla global network and infrastructure and resources. If you have an open source project that helps keep the web open, you can qualify for support from Mozilla. Read a brief introduction here or follow the program’s news on their blog or @MozWebFWD or watch some videos.

BigBlueButton is one of the projects participating in Mozilla’s WebFWD. It’s an open source project that enables universities and colleges to deliver high quality learning experience to remote students. Here are some videos showing how BigBlueButton works. It’s open source, download it now.

Mozilla Popcorn

Mozilla Popcorn tries to break videos from a big blob into browse-able element, this is how I see it. Videos, even though they’re everywhere on the web now, are still one element. You press play and watch. You can’t search in a video, you can’t make the video interact with other elements or contents that are related to this video. Popcorn tries to bring the web into video.

Watch the Shakespeare demo to get an idea of what Popcorn can do, it’s awesome (you’ll need a modern browser with HTML5 capabilities). Follow the project’s news on their blog or @PopcornJS. Download a copy, or follow the development on Github.

What Else?

There’s one more project I’d like to talk about, it’s the Boot to Gecko mobile OS. I think it’s a big enough topic that it merits its own post especially I don’t know much about it and would like to do more reading on it. If you have good resources on the topic, please mention them in the comments.

This was a quick tour of the Mozilla projects that really interested me over those past couple of weeks. I’m sure there are much more of them our there. If the list is missing your favorite project, mention it in the comments or blog about it, I’d love to read more about it.

Follow @Firefox or on Facebook or Contribute effort to the organization. Get some Mozilla and Firefox gear or Donate and get a free shirt.

Book Review: The Bridge

I've read quite a number of books about Obama, from the ones that were available during the 2008 campaign like David Mendell's "Obama: from Promise to Power" to the ones covering his first year in office like Richard Wolffe's "Revival", Bob Woodward's "Obama's Wars" and Jonathon Alter's "The Promise", not to mention Obama's two books. I list these books to brag but rather to show how David Remnick's book "The Bridge" is different.

Even though Remnick's book goes through all the events of Obama's life like any biography would, it offers an analytical look into those events. It reviews Obama's first book and tries to look into the author's intentions sometimes. It's a little skeptic on some aspects of the author memories of certain events. Maybe my focus on this analytical look is because I've read an Obama biography before, but I think it's also because it's the intention of Remnick who chooses to cover the 2008 campaign in its relation to Race rather than cover the day to day events or uncover new secrets like "Game Change" does for example.

However, the book does shed some light on events that weren't covered in other biographies of Obama like this time in Hawaii, the story of his mother, the process of selecting him as president of the Harvard Law Review, and other.

One thing I like about "The Bridge" is the dive into the history of other characters that affects Obama's life even in indirect ways. The election of Harold Washington as Mayor of Chicago is a good example. Also, I liked the review of Obama's performance as a Law Professor, it's a good indication of how thinks.

I listened to the audio version of the book and the narrator does a good job at changing voices to reflect the different characters participating in any dialog. He's at good pace and made following a 20+ hours books easy.

"The Bridge" is a good biography of Obama whether you already read another biography or not. Hope you enjoy it too.

Watch David Remnick on The Daily Show with Jon Stewart interviewed about the book.

Find all my book reviews and become my friend on Goodreads.