GeeksPhone: another Android based phone

Seriously exciting around here at Android world. :D

 

Is Android Evil?

How does Google control what services, software and hardware ships in Android handsets? The search giant has built an elaborate system of control points around Android handsets.

To dig deeper we spent two months talking to industry sources close to Android commercials – and the reality has been startling. From a high level, Google uses 8 control points to manage the make-up of Android handsets:

1. Private branches. There are multiple, private codelines available to selected partners (typically the OEM working on an Android project) on a need-to-know basis only. The private codelines are an estimated 6+ months ahead of the public SDK and therefore essential for an OEM to stay competitive. The main motivation for the public SDK is to introduce the latest features (those stemming from private branches) into third party apps.

2.  Closed review process. All code reviewers work for Google, meaning that Google is the only authority that can accept or reject a code submission from the community. There is also a rampant NIH (not invented here) culture inside Google that assumes code written by Googlers is second to none. Ask anyone who’s tried to contribute a patch to Android and you hear the same story: very few contributions get in and often no reason is offered on rejection.

3. Speed of evolution. Google innovates the Android platform at a speed that’s unprecedented for the mobile industry, releasing 4 major updates (1.6  to 2.1) in 18 months. OEMs wanting to build on Android have no choice but to stay close to Google so as not to lose on new features/bug fixes released. The Nexus One, Motorola Droid, HTC G1 and other Experience handsets serve the purpose of innovation testbeds for Google.

4. Incomplete software. The public SDK is by no means sufficient to build a handset. Key building blocks missing are radio integration, international language packs, operator packs – and of course Google’s closed source apps like Market, Gmail and GTalk. There are a few custom ROM builders with a full Android stack like the Cyanogen distribution, but these include binaries that are not licensed for distribution in commercial handsets.

5. Gated developer community. Android Market is the exclusive distribution and discovery channel for the 40,000+ apps created by developers; and is available to phone manufacturers on separate agreement. This is one of the strongest control points as no OEM would dare produce a handset that doesn’t tap into the Android Market (perhaps with the exception of DECT phones, picture frames, in-car terminals or other exotic uses of Android). However, one should acknowledge that Android’s acceptance process for Market apps is liberal as it gets – and the complete antithesis of the Apple vetting process for apps.

6. Anti-fragmentation agreement. Little is known about the anti-fragmentation agreement signed by OHA members but we understand it’s a commitment to not release handsets which are not CTS compliant (more on CTS later).

7. Private roadmap. The visibility offered into Android’s roadmap is pathetic. At the time of writing, the roadmap published publicly is a year out of date (Q1 2009). To get a sneak peak into the private roadmap you need Google’s blessing.

8. Android trademark. Google holds the trademark to the Android name; as a manufacturer you can only leverage on the Android branding with approval from Google.

In short, it’s either the Google way or the highway. If you want to branch off Android you ‘re completely on your own and you need resources of the size of China Mobile (see their OMS effort) to make it viable (hint: China Mobile is the biggest network operator bar none).

 

Basic right of every programmer: Triple screen, dual machine, quad core, 8G RAM

 

The Hacker's Browser

Vimium by ilya.sukhar

(85 Ratings) - 3,157 users - Weekly installs: 676

The Hacker's Browser. Vimium provides keyboard shortcuts for navigation and control in the spirit of Vim.

 

The just-give-it-away-for-free-and-they-will-come-and-we’ll-be-rich automatron is as broken now as it was in 2001.

The just-give-it-away-for-free-and-they-will-come-and-we’ll-be-rich automatron is as broken now as it was in 2001.

 

Organic Startup Ideas

The best way to come up with startup ideas is to ask yourself the question: what do you wish someone would make for you?

There are two types of startup ideas: those that grow organically out of your own life, and those that you decide, from afar, are going to be necessary to some class of users other than you. Apple was the first type. Apple happened because Steve Wozniak wanted a computer. Unlike most people who wanted computers, he could design one, so he did. And since lots of other people wanted the same thing, Apple was able to sell enough of them to get the company rolling. They still rely on this principle today, incidentally. The iPhone is the phone Steve Jobs wants. [1]

Our own startup, Viaweb, was of the second type. We made software for building online stores. We didn't need this software ourselves. We weren't direct marketers. We didn't even know when we started that our users were called "direct marketers." But we were comparatively old when we started the company (I was 30 and Robert Morris was 29), so we'd seen enough to know users would need this type of software. [2]

 

iPad is not a desktop or laptop replacement. It doesn't make sense to expect the same work flow as you would do in front of a computer.

But most of all, there's that screen. That computer-like screen. That screen that reminds me of work, and of "the media." That screen that looks nothing like a piece of paper. When I look at the iPad screen, I'm back in the virtual world of cyberspace, rather than relaxing on my couch with a physical object. Of course, the Kindle delivers electronic media, too, but the E Ink screen manages to trick me into feeling like I'm reading a book, not engaging with the media bubble.

No, there will be no recanting for me. The iPad does nothing that I can't do with any of my other computers, or my iPhone. What's more, though, my computers do most of those things better. They have interfaces that are more efficient, screens that are easier to read, and ergonomics that are profoundly more comfortable and healthy for someone with repetitive stress injuries.

This means, iPad demands a whole new way of doing things with data on online and new way to communicate. Especially the Multi-touch, i think clicking and zooming on a web browser, don't do proper justice to it.

 

Crazy times: So now we’ve got the audience, and we don’t need the money, so all we need is ideas.

Like the small-town mayor who suddenly finds herself running an entire state, our ambitions for Stack Overflow keep growing. Our original idea of making the Internet a better place to get expert answers to your programming questions suddenly seemed too small. Programming questions? We asked. Why just programming questions? Why not every question under the sun? And who says we can’t run for Vice President of the United States of America?

We tried making our software available as a hosted white label product called Stack Exchange. We thought that other people would create awesome sites on every imaginable topic. Some people did (yay!), but it wasn’t the flood of high quality sites we were hoping for.

So we’re making a few changes. Briefly:

  1. Stack Exchange will now be free.
  2. We’re changing the way that new Stack Exchange sites are created to move to a more democratic, community process.
  3. The content of these new, community-created Stack Exchange sites will be publicly owned under a Creative Commons license, instead of being owned by individuals or businesses.

If you’ve already created a Stack Exchange site, be sure to read the announcement in more detail to hear about our transition plan. Don’t be alarmed; we’d never do anything to mess with Stack Exchange sites that are already working.

 

Eric Schmidt says that businesses should have their best developers working on their mobile applications

Earlier this evening, Google CEO Eric Schmidt took the stage at Atmosphere, a special event where Google and an array of speakers presented new cloud technologies to CIOs. Quentin Hardy, National Editor of Forbes Media, conducted a one on one interview with Schmidt, which was followed by audience questions.

The discussion covered a range of topics, including the security threat from China, Chrome OS, and Google’s future. Some key takeaways: Schmidt says that while many people associate Google with search, it’s fundamentally an information company, which is why it has undertaken initiatives in the enterprise, the browser, and mobile. He also says that despite the growing number of incoming information streams, there’s no such thing as communication overload (just watch a typical 18 year old, he says).

Schmidt also underscored a theme that’s grown increasingly apparent over the last few years: the future of computing is mobile. Schmidt says that businesses should have their best developers working on their mobile applications. He also says that the interoperability and security of mobile devices will be key factors for large businesses a few years down the road.

 

10 year outlook as a programmer: Java, Clojure, Erlang, Android

Clojure is a dynamic programming language that targets the Java Virtual Machine (and the CLR ). It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.

Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.

I hope you find Clojure's combination of facilities elegant, powerful, practical and fun to use.

It's funny, after 10 years of being a programmer, i haven't spent a time learning how to program in Java. Now, it looks like it's good to start. :D

 

I wonder if Android OS can run on this device. Would be nice to build on the same environment.

 

A Dismal Guide to Concurrency

Two people can paint a house faster than one can. Honeybees work independently but pass messages to each other about conditions in the field. Many forms of concurrency [0], so obvious and natural in the real world, are actually pretty alien to the way we write programs today. It's much easier to write a program assuming that there is one processor, one memory space, sequential execution and a God's-eye view of the internal state. Language is a tool of thought as much as a means of expression, and the mindset embedded in the languages we use can get in the way. [1]

We're going through an inversion of scale in computing which is making parallelism and concurrency much more important. Single computers are no longer fast enough to handle the amounts of data we want to process. Even within one computer the relative speeds of processors, memory, storage, and network have diverged so much that they often spend more time waiting for data than doing things with it. The processor (and by extension, any program we write) is no longer a Wizard of Oz kind of character, sole arbiter of truth, at the center of everything. It's only one of many tiny bugs crawling over mountains of data.

 

Tim Bray: what language you generate those bytecodes and method calls with, and how you compile it, well, why should anyone care?

In practical terms, if you want it to look-and-feel like an Android app, you have to use the Android SDK; but what language you generate those bytecodes and method calls with, and how you compile it, well, why should anyone care? I’m using Eclipse, and while it Just Works with the library and emulators and other tools, it’s failed to win my heart. I’m seriously thinking of going to Emacs and seeing if I could replace Ant with Rake. And, of course, every piece of the toolchain is open-source and thus in principle can be forked and improved and replaced.

If what you produce sucks, the word will get around quick; having used the official Android toolchain won’t save you. And if it doesn’t suck, not having used it won’t get in the way.

I’m actually a little puzzled by the Apple policy; the technical side I mean, not the business issues, which Gruber explains with ruthless clarity. I can see Apple wanting to enforce the use of their APIs, but the compulsory linkage to the Objective C programming language makes me feel like I’m missing something; where is it carved in stone that it provides the optimal, impossible-to-improve, way to use the iPhone APIs? And if nobody’s allowed to try anything else, how will we find out?

 

Bravo, Apple: Only apps written in C, C++, Objective-C, Javascript are allowed on iPhone OS

3.3.1 – Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Though i like the idea here, it forgot to mention; only those made using a MacBook Pro, which is way over priced.

 

Apple: Screw your location based advertising business models, you're only allowed to sell your damn apps.

Location Based Advertising

The first emboldened clause states that location based advertisements can only be included in advertisements whose only goal is providing location based advertising. My interpretation of this clause is that unless an application’s sole purpose is providing location based advertisements in the form of nearby coupons, offers, or sales, then location based advertisements are not allowed. This is interesting, because the promise of applications like FourSquare, Gowalla, and Loopt is that through a social network of seeing where your friends are, businesses will be able to add value to the experience by targeting users most likely to make a real-world purchase – if I check in to a store at the mall, what better opportunity for a business five stores down to promote their sale.

The line here is unclear in that I don’t use FourSquare (or any other check-in service) for the sole purpose of finding nearby deals, but rather to see where my friends are. The language in the Developer Agreement suggests that check-in services like the aforementioned will not be able to provide auxiliary location based ads. Ad networks looking to capitalize on the promise of location based advertisements will undoubtedly have a lot of qualms with this clause as it effectively eliminates the ability to provide fine-grained location targeting with GPS or AGPS, leaving the traditional city-level IP-Table lookups as the only means of approximating a user’s location. One has to question whether iAd will adhere to these same targeting guidelines.

Haha, this is just crazy shit. If this is a real interpretation, then it looks like a direct jab on Google Ads and of course on mobile ads company like, AdMob (http://www.admob.com).

 

Apple Slaps Developers In The Face

This has nothing to do whatsoever with bringing the Flash player to Apple’s devices. That is a separate discussion entirely. What they are saying is that they won’t allow applications onto their marketplace solely because of what language was originally used to create them. This is a frightening move that has no rational defense other than wanting tyrannical control over developers and more importantly, wanting to use developers as pawns in their crusade against Adobe. This does not just affect Adobe but also other technologies like Unity3D.

 

iPad’s fate depends on entrepreneurs inventing new kinds of killer apps.

I was emailing with a friend of mine yesterday who is a 30 year veteran of silicon valley. He'd written a post that was quite positive about the iPad. I sent him my post which wasn't so positive. We had a good discussion. Which ended with my friend making this point:

iPad’s fate depends on entrepreneurs inventing new kinds of killer apps. (remember how desktop publishing saved Mac?)

I got out of college in the early 80s when the desktop revolution was upon us. A bunch of my friends from MIT were piling into startups in Cambridge building products on top of this new desktop computing platform. One of them was a company called General Computer that made external hard drives for the original Macintosh, which you might recall came with only a floppy drive. General Computer did fantastic for a while but its business eventually faded away as Apple filled in the holes in the Macintosh product.

Contrast that with Lotus, another Cambridge company that built something entirely new on top of the desktop platform. Or Aldus, who started the desktop publishing business that "saved Mac" as my friend points out.

Which brings me to the title of this post. I've been thinking a lot about the Twitter Platform and Ecosystem recently. I think it is at an inflection point, much like the desktop software and hardware business was in the mid 80s as the desktop platform started to mature.

Much of the early work on the Twitter Platform has been filling holes in the Twitter product. It is the kind of work General Computer was doing in Cambridge in the early 80s. Some of the most popular third party services on Twitter are like that. Mobile clients come to mind. Photo sharing services come to mind. URL shorteners come to mind. Search comes to mind. Twitter really should have had all of that when it launched or it should have built those services right into the Twitter experience.

When you talk to a new user, they want to know how to post a photo to Twitter, they want to know "what is this bit.ly thing?", they want to know how to get Twitter on their iPhone. Names like Summize, Twitpic, Tweetie make no sense to them. Of course, without Summize, Twitpic, and Tweetie we would not have the Twitter we have today. They and many other third party products and services filled out the holes in the Twitter product and made it work better.

But those services don't feel like Lotus or Aldus to me. What are the products and services that create something entirely new on top of Twitter? I'll come back to that question, but one more history lesson, this one recent history.

When Facebook platform launched, we saw a massive number of new products and services launched on The Facebook. But many were slight variations on existing Facebook features (like Superwall) or holes in the Facebook service. As Facebook closed up those holes and enhanced their own feature set, those apps fell to the wayside. But there was one entirely new business that got created on top of the Facebook platform and that is social gaming, which industry analysts project will be a $1.6bn market this year and I think that number is low.

Facebook (and Twitter) have also spawned the social media agency business, helping businesses and brands market themselves in social nets, which may be even bigger than social gaming when you add up all the companies in it. That business opportunity is directly analogous to the search agency business that got built on the back of Google as it scaled into the business it is today.

So it is clear that you can build large businesses on top of a social platform like Facebook and Twitter. And because Twitter is so open and so lightweight, I am surprised that there aren't more "new kinds of killer apps" to quote my friend who I started this post with.

Here's are some places where I think we might see these killer apps emerge:

* Social Gaming - There have been a number of attempts to build social game experiences on Twitter. But I'm not aware of any successes of scale like we've had on the Facebook platform. I think we will see it emerge soon.

* Verticals - We have some successes to point to here like Stocktwits for finance and Flixup for movies but this is a wide open opportunity in most verticals and we haven't seen as much effort here as I'd have expected.

* Enterprise - CoTweet comes to mind as well as the efforts that Salesforce has made to integrate Twitter. This is a huge opportunity.

* Discovery - This is one area where there is a significant amount of effort. Hunch, Listorious, TweetMeme, Cadmus, WeFollow, and MrTweet all come to mind.

* Analytics - While Twitter will obviously be delivering better analytics to its users, particularly its marketing and business users, I believe that there is always a market for third party analytics. Google Analytics is available for free and yet none of the large analytics providers have seen their businesses suffer. There is simply a voracious appetite for information on the Internet. So companies like bit.ly, Radian6, HubSpot, Scout Labs, and others have a bright future.

But these are the obvious places to look for killer apps on Twitter Platform. If I can see them, so can many others. I think there are a number of non-obvious places, like desktop publishing was on the Mac, where something entirely new will be built on top of Twitter. And that's what I'd like to challenge entrepreneurs and developers out there to focus on. I think the time for filling the holes in the Twitter service has come and gone. It was a great period for Twitter and its third party developers.

I believe we are entering a new phase now. Twitter is a global platform, the 33rd largest in the world according to Comscore, with almost 70mm uvs worldwide in February. It is a large company now with the resources to service the ecosystem in ways it never could before. It's hosting its first developers conference, Chirp, in San Francisco next week. And so it's time for Twitter and its developer ecosystem to work together to create entirely new things that will shape the Internet in the coming years. I'm excited to see it happen.

 

WTF is a SuperColumn? An Intro to the Cassandra Data Model

For the last month or two the Digg engineering team has spent quite a bit of time looking into, playing with and finally deploying Cassandra in production. It’s been a super fun project to take on – but even before the fun began we had to spend quite a bit of time figuring out Cassandra’s data model… the phrase “WTF is a ’super column’” was uttered quite a few times. :)

If you’re coming from an RDBMS background (which is almost everyone) you’ll probably trip over some of the naming conventions while learning about Cassandra’s data model. It took me and my team members at Digg a couple days of talking things out before we “got it”. In recent weeks a bikeshed went down in the dev mailing list proposing a completely new naming scheme to alleviate some of the confusion. Throughout this discussion I kept thinking: “maybe if there were some decent examples out there people wouldn’t get so confused by the naming.” So, this is my stab at explaining Cassandra’s data model; It’s intended to help you get your feet wet & doesn’t go into every single detail but, hopefully, it helps clarify a few things.

 

Seryos, seryos dr. dre headphones. Respect. Now this one i can buy someday.

 

Afternoon chill

 

This one demands some serious gaming respect.

 

Daily things to do as an entrepreneur (week 5): build a vision

Building a vision is THE most important thing to do for an entrepreneur. A vision is a cause, a statement of your product (in larger sense, it’s you as the founder, inventor) that speaks directly to the heart of your users. No matter how big or small of a problem you aim to address, the clarity of your vision will make everything comes more naturally: mission statement, product development, marketing, etc..