April 2012
1 post
Can you apply Lean Startup principles to Mobile?
I’ve been hearing this question asked a lot lately, with various responses thrown in. Here is my opinion.
They definitely can, although there are some challenges that are not present with web-based products.
approval times for iPhone
users have to agree to upgrade to the new version
versioning between server-side and client-side features
That said, do not forget that the issues...
March 2012
1 post
February 2012
3 posts
Looking for a class rep for Carrier IQ lawsuit...
A Miami-based attorney asked me today to help him find a class rep for a Carrier IQ class-action lawsuit they are working on. See below for info.
I need someone who has a phone that had carrier IQ on it (see list below) who cares about their privacy and might be willing to go to one very easy deposition. That’s it. The rep stands to make anywhere between (hard to predict) 20k to 80k and a...
Video intent fails on some devices (e.g. Optimus...
The following Intent worked on most devices, but failed on the Optimus M:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType( Uri.parse(path), "video/*");
startActivity(intent);
The problem turned out to be the missing scheme. It seems that some media players are more forgiving than others.
When we changed it to Uri.parse(“file://” + path), it worked like a...
Camera setParameters ignored after reusing camera...
Consider the following sequence:
take a camera that has a surface holder, which has gone away (switching activities, but reusing same camera instance)
set a new surface holder via setPreviewDisplay
set new params via setParameters
This results in the new params being ignored (for setPreviewSize at least).
The solution is to call setParameters before calling setPreviewDisplay for the new...
January 2012
2 posts
Not only should your apps stop relying on the hardware Menu button, but you...
– Android Developers Blog: Say Goodbye to the Menu Button
The share of adults in the United States who own tablet computers nearly doubled...
– Tablet and E-book reader Ownership Nearly Double Over the Holiday Gift-Giving Period | Pew Research Center’s Internet & American Life Project
November 2011
3 posts
OutOfMemoryError, ImageView and TransitionDrawable...
We like to use animations and gradual transitions instead of abrupt view changes, so a lot of our ImageViews use TransitionDrawable instead of directly displaying an image.
Definition of TransitionDrawables from the Android documentation:
An extension of LayerDrawables that is intended to cross-fade between the first and second layer.
Today we ran into a scenario that was resulting in memory...
Android Math Just Doesn't Compute (or The Anatomy...
A friend recently sent me a link to this post titled “Android math just doesn’t compute”
The post starts by asking “What if I told you that you shouldn’t support Android?” and then goes on to list several supporting points. The points are extremely light on substance, but I’ll take the bait anyway and address them one by one.
…that there isn’t a single Android...
September 2011
1 post
A sneaky reason for the "No mountable file...
This is usually caused by corrupt .dmg files. However, if you keep seeing this error with every .dmg file you try, check whether your Migration Assistant is running, then shut it down.
May 2011
4 posts
The problem with emulating Y Combinator's terms
There seems to be a trend among early stage investment companies towards offering terms similar to what Y Combinator does - let’s ignore the fact that these terms tend to vary, and just call it 20K for 10% - a 200K valuation.
There is a problem with this line of reasoning, and this problem is: they are not Y Combinator.
The reality is that Y Combinator is not a cash-for-stock deal. There...
Audience Extension - a new trend among Ad Networks
We were recently approached by a well-known ad network, with an interesting proposition.
They offered to pay us for providing an anonymized global user identifier - a hashed email address or phone number for each user. Anonymized, one-way hashed, so they don’t get the actual email or number, but using their hash so they can cross reference with their other publishers, for global user tracking...
Troubleshooting the "conversion to dalvik format...
I spent a bit of time troubleshooting this obscure-sounding error today, so I thought I’d share the solution I found.
Turns out, this error is frequently caused by having multiple instances of the same class in your buildpath - e.g. importing 2 jars that both include the same third party library. Double-check the last thing you imported before the error occurred.
March 2011
1 post
October 2010
1 post
"Base SDK Missing" message after installing Xcode...
The short answer is: you are seeing the ”Base SDK Missing” message because the sdk your project is targetting is gone. Xcode 3.2.* ships with 3.2 and 4.* only.
To fix it, you need to go to Project Settings (ctrl+click -> Get Info), then set the Architecture/Base SDK to 4.0. This is what you will be compiling against.
Optionally, if you want to support pre-4.0 devices, also...
September 2010
1 post
Exporting a Blackberry app for OTA (Over-The-Air)...
Build you project
Sign the .cod file(s).
Copy the .jad, .jar and .cod files to your web server
(this is crucial) The .cod file generated by Eclipse is really an archive of .cod files. The .jad file instructs the device to look for the individual .cod files, which are still inside the original, single, .cod file and therefore cannot be found. You must rename the .cod file to .zip and extract...
August 2010
1 post
BlackBerry - playing audio, in an application,...
I’m writing a BlackBerry app, that needs to play audio files from a URL, without downloading them first (streaming via HTTP)
The javax.microedition.media.Player class can be used with a URL, like so:
Player player = javax.microedition.media.Manager.createPlayer(audioUrl);
player.realize();
player.prefetch();
player.start();
Unfortunately, when I run the code in a simulator, the audio...
July 2010
3 posts
Installing the EVO 4G HTC Android 2.2 Froyo update
I couldn’t wait a couple of days for the official release, so I just manually upgraded my EVO using the update file from HTC. Had to dig around a bit for the instructions, so thought I’d share the love by posting a walkthrough for those of you who want to do the same. My phone is not a brick, but I can’t guarantee the same results for you.
First, get the file (The direct HTC lnk...
How to modify the UI of a BlackBerry app from a...
The problem is that the event thread is the only thread allowed to modify the UI.
There are a couple of ways to do this
1) pass a Runnable to the event thread, with the code that modifies the UI, or
2) obtain the event lock.
Method #1 is more foolproof. Here is how you do it:
UiApplication.getUiApplication().invokeAndWait(new Runnable()
{
public void run() {
//code that modifies UI...
How to test/debug a BlackBerry app on a device...
I’ve spent a bit of time today figuring out how to debug my app on an actual Blackberry device rather than the simulator.
No, it’s not just a matter of just selecting Run As -> Device. Yes, it should be. Yeah, I don’t know what they were thinking either.
Main thing to note is that what RIM calls “testing” an app involves deploying an app to a phone, and...
April 2010
1 post
Page.ClientScript.RegisterStartupScript not...
If your call to Page.ClientScript.RegisterStartupScript is not working - i.e. the javascript code is not being written to the resulting html page, make sure that you have <form runat=”server”> on your aspx page. It is apparently required, but it does not result in a runtime or compile time error. It just fails silently.
December 2009
1 post
If you keep getting new instances of the ASP.NET...
…go to project properties for the web site project, Start Options, check Use custom server (instead of default)
April 2009
2 posts
I firmly believe that widgets (local HTML/CSS/Javasctipt web apps) are the...
– Peter Paul Koch - QuirksBlog: Introduction to W3C Widgets
the single most important factor in determining whether or not a person will...
– Danah Boyd
January 2009
1 post
Presence always trumps presents.
– Joe Kelly, Campaign for a Commercial-Free Childhood
December 2008
1 post
 - Weird characters in Visual Studio 2008
I am using VS 2008 while most of my team is on 2005. Recently after syncing with CVS, my solution would not build. One of my code-behind files had the characters “” prepended to it. After a bit of googling, I found this:
“Those are the marks some Windows applications use to distinguish UTF-8 from ASCII (they are a translation of the U+FEFF byte order marks into UTF-8). I’ve...
September 2008
1 post
The Story of Stuff
August 2008
1 post
There are no longer ‘dancers.’ the possessed. The cleavage of men...
– Jim Morrison, The Lords and the New Creatures
July 2008
1 post
To every man is given the key to the gates of heaven; the same key opens the...
– Richard P. Feynman on The Value Of Science
June 2008
1 post
New YouTube Beta Feature: Video Annotations →
May 2008
3 posts
We are quite literally working ourselves into a frenzy just so we can consume...
– The Gospel of Consumption | Orion magazine
People who hear about this suit will have a sour taste in their mouth about...
– A great commentary by Orson Scott Card on The Harry Potter Lexicon lawsuit. J.K. Rowling, Lexicon and Oz
April 2008
2 posts
This TED talk by Yochai Benkler is about a current, ongoing transformation of the ways in which we live, exist, cooperate and create. It is about the defining trend of our time. It is an exciting glimpse into a possible future, a better way of living and being. It is already here, not on the fringes, but at the very core of the most powerful economies. And while it is neither unstoppable nor...
For of all sad words of tongue or pen, The saddest are these: ‘It might...
– John Greenleaf Whittier
March 2008
4 posts
Unlike Adobe AIR and Microsoft Silverlight, we’re not building a proprietary...
– Mozilla Labs announcement of the Prism project (formerly Webrunner)
If by Rudyard Kipling
If you can keep your head when all about you Are losing theirs and blaming it on you, If you can trust yourself when all men doubt you But make allowance for their doubting too, If you can wait and not be tired by waiting, Or being lied about, don’t deal in lies, Or being hated, don’t give way to hating, And yet don’t look too good, nor talk too wise: If you can dream - and not...
A very insightfull and funny TED talk by Sir Ken Robinson on the problems of the modern educational system, designed for the needs of the industrial society, end result of which is a system which is “educating people out of their creativity”, educating “from the waist up”, focusing on our “heads, and slightly to one side.” TED | Talks | Sir Ken Robinson: Do...
Live from Apple's iPhone SDK press conference -... →
Key points: iPhone in the enterprise Exchange on the iPhone push updates for Email, Contacts, Calendar global address list Cisco IPsec VPN authentication and certs enterprise class WiFi (WPA2 / 802.1x) security policies remote wipe SDK is out Leopard only! Interface Builder Simulator Remote Debugging SQLite APIs for Location, Audio, Video, Touch, Accelerometer, Contacts (SQLite) OpenAL...
February 2008
9 posts
It was true that I didn’t have much ambition, but there ought to be a place for...
– Charles Bukowski, Factotum, 1975
I see all this potential, and I see squandering. God damn it, an entire...
– Fight Club, 1999
Why We Banned Legos - Exploring power, ownership,... →
In a way, the world-view of the Party imposed itself most successfully on people...
– George Orwell, 1984
But the company has declined to do banner ads, said Newmark. He added he already...
– Craigslist founder talks about open source, banner ads - Yahoo! News (via sox) (via david)
I have no special talents. I am only passionately curious.
– Albert Einstein
The [Microsoft]-Yahoo merger won’t work. Here’s why. It’s like...
– The Secret Diary of Steve Jobs: Monkey Boy’s three-legged race