Brian

This user hasn't shared any biographical information

Homepage: http://www.brianklug.org


Posts by Brian

My Notetaking Workflow

I didn’t have much time this year to follow TED (In fact, when I first sat down to write this, it was still going on). To be honest, I usually watch the videos a few months afterward, once they’re all finally uploaded and the hype has died down. It’s easy to get caught up in how much certain talks are plugged compared to others, especially with how much live information leaks out over twitter.

But I did break that trend this year a bit. I noticed an intriguing project by Robert Scoble on a blog post of his involving taking photos of notes by the attendees and posting them to flickr. Intrigued, I expected to be wowed by the different creative and thoughtful methods employed which I could use myself for note-taking.

Imagine my disappointment, then, when what I saw that most attendees were either using their iPhones or BlackBerries, scraps of paper, nonstandard spiral bound notebooks, or just generally chaotic methods for taking notes. I mean, aside from the now-famous mind-mapping note girl (photo here; I can’t look at it again because it makes my brain hurt and my teeth start gnashing), there really wasn’t anything TED-level-inspiring.

Numerical Breakdown

Let’s just break it down for a second:

  • 34 pictures in the set
    • Mobile devices: 9 – 26.5%
      • iPhones: 7 – 20.6%
      • BlackBerry: 2 – 5.9%
    • Paper: 25 – 73.5%
      • Notebooks (spiral or bound): 14 – 41.2%
      • Mini Notebooks (or similarly sized): 6 – 17.6%
      • Program/Scraps: 4 – 14.7%
      • PowerPoint Handouts (Bill Gates): 1 – 2.9%

Generally, I abhor excel plots, but this does a good job communicating my point:

Notes Breakdown

But that’s not all; of the iPhone note photos, virtually every single one used the built-in notes application. Yeah, the notes application that ships with the iPhone which lacks just about everything imaginable.

A typical AT&T "Mark The Spot" report

No Evernote love? No Google Documents love? That’s certainly surprising. Yet these attendees consider themselves shakers and movers? Definitely avant-garde? Perhaps ahead of the curve at adoption of new tech? Sorry, virtually every one of you was thoroughly beaten by mind-map girl entirely by default, entirely because of her uniqueness factor. Even more surprising, the journalists in the photo set aren’t even using Steno pads.

With the exception of Bill Gates (who obviously is using PowerPoint handouts for his presentation), there’s really no excuse.

Granted, this could entirely just be bad sampling on Scoble’s part. Whatever the case, it’s a unique opportunity to segue into how much I love the way I take notes.

OneNote – The best kept secret for organizing everything

Ok, those words aren’t entirely my own, but they’re the truth. Microsoft OneNote 2007 (and its predecessor) aren’t just about notes, they’re about collecting, organizing, searching, and making accessible just about anything and everything. You don’t need a tablet, and it isn’t just about text. I think it’s pretty fair to say that OneNote is almost the best kept secret and most undiscovered part of Office 2007.

Relatively Typical Notes View

My freshman year of college, I decided that I wanted to try using it for all of my notes. At the time, I was intrigued by the notion of using a Samsung Q1 Ultra V, a UMPC, due to its tiny form factor and long battery life. That worked, but I’ve since moved on to a Latitude XT in favor of its active digitizer and capacitive multitouch screen. Regardless, I’ve used OneNote for virtually all my notes since, and it has numerous advantages over paper:

Search Results

Search Results

  1. My notes are searchable, entirely. Not just text in its native form either, but handwritten text from the tablet, images (it searches the images), and audio.
  2. I don’t have to carry around spiral bound notebooks that are heavy, or waste money on dead trees (hey, this is one aspect of my life that actually is green).
  3. I can annotate and take notes directly atop PDFs, PowerPoints, or whatever materials are being studied without having to print them beforehand. This is extremely useful as I can get anything into notes by printing it to OneNote.
  4. My notes can be (and are) backed up regularly. That’s something you can’t really do with paper notes, short of making copies or scanning every day.
  5. I can keep every year’s worth of notes in one place. Obviously, that’s a ton of stuff 3 years in. I think you’d be hard pressed to carry around your spiral bound notebooks every day.
  6. I can organize with sections, tabs, notebooks, and pages. The analogues to a notebook are obvious, but there are other things as well that make a lot more sense in the context of digital notes.
  7. Something which always comes in handy is being able to instantly send my notes to other people; I can make PDFs of pages, sections, or entire notebooks.
  8. Everything lives in one place: text notes, powerpoints, images, clips of webpages, even file.

I honestly can’t see how it’d be possible to take notes electronically without OneNote at this point. Granted, there are a lot of other alternatives, but I find that they either have gamestopping flaws or are otherwise unwieldy:

  • Microsoft Word
    • I see this one a lot in classes, and don’t even know where to start. Word is great as a word processing tool, but that’s about all. Sure, you can take notes, but they won’t be searchable (which is a huge drawback for me), and ultimately you’re constrained by this page-by-page model that lies at its core. Combining graphics with notes is possible, but hard. OneNote is almost like Word without pages.
    • How the heck are you supposed to take equations down quickly in Word? If you’ve used the equation editor, you know what a lesson in frustration it is.
  • Google Docs
    • I think using google documents makes a lot of sense, especially given the online nature, but it seems just as difficult to manage with lots of media. Of course, the fact that you can access it anywhere is a huge plus.
  • \LaTeX/LyX
    • A while back on Slashdot I read a great article I could relate to about taking notes in class for science and engineering. It discussed/asked what the optimal computerized note-taking suite was given an emphasis on entering equations. Of course, \LaTeX came up, along with its GUI-wrapped similar cousin LyX. I’m a big big fan of \LaTeX, especially for documents and other things, but I can’t see it being practical or fast enough for taking notes every day. Granted, there are people out there (like some of my crazier friends) that are faster at typing the equations than writing them, but I find myself being able to write faster.
    • You run into the same problems that Word has here; you’re stuck managing files for each set of notes.

I’ve been meaning to try Evernote, and have heard great things about integration across virtually every platform. It seems like the way to go, and if I’d definitely like to try it out.

I guess the point that I’m trying to make is that there are so many better solutions than just using pen and paper or the default notes application that ships with most smartphones. Even though those are what you might grab for at first, you’re setting yourself up to be locked into two methods that leave much to be desired.

First AnandTech Story

I’ve been working on it for a while now, but I’m excited that my first AnandTech story is now up and live on the AT website here: http://anandtech.com/gadgets/showdoc.aspx?i=3749

It’s an analysis piece on Windows Phone 7 Series, and I expect more to develop as MIX10 creeps closer. There’s a lot more coming, and I’m definitely excited to write more reviews and posts. Just wanted to make note of it here.

I’ll definitely keep writing here as well!

AT&T Observations and Bandwidth

Bandwidth and Latency Data

I’ve always kind of been obsessed with bandwidth. I find myself constantly testing latency, bandwidth, and connection quality (mostly, in fact, through smokeping). Needless to say, that same obsession applies to my mobile habit, and especially given the often-congested perception of AT&T.

It sounds weird, but the two most-run applications on my iPhone are Speedtest.net Speed Test and Xtreme Labs SpeedTest. The Xtreme labs test used to be my favorite, largely because of its superior accuracy and stability. As great as Speedtest.net’s website is for testing, the iPhone app continually fell short. Tests ended before throughput stabilized, often the test would start, then the data would start being calculated a second later (skewing the average), or it’d just crash entirely. I could go on and on about the myriad problems I saw which no doubt contributed negatively to perception of network performance.

A few months ago, I wrote a big review and threw it up on the App Store. In the review, I noted that being able to export data would be an amazing feature. At the time, I had emailed Xtreme Labs and asked whether I could get a sample of my speed test results for analysis (I have yet to hear back). On Feb. 2nd, Ookla finally got around to releasing an update to the Speedtest.net app; it included the ability to export data as CSV.

Since then, I’ve been using it exclusively. I’ve gathered a bit of data, and thought it relevant to finally go over some of it. This is all from my iPhone 3GS in the Tucson, AZ market, largely in the central area. I’ve gathered a relatively modest 76 data points. Stats follow:

Gathered Statistics

Downstream (kbps)
Upstream (kbps)
Latency (ms)
Average 1880.3 263.3 1029.2
St. Dev. 1179.6 101.6 1140.2
Max 4279.0 356.0 6011.0
Min 82.0 18.0 366.0

These stats really mirror my perceptions. Speeds on UMTS/HSPA vary from extremely fast (over 4.2 megabits/s!) to as slow as 82 kilobits/s, but generally hang out around 1.2 megabits/s. On the whole, this is much faster than the average 600 kilobits/s I used to see when I was on Sprint across 3 different HTC phones.

Next, I became curious whether there was any correlation between time of day and down/up speeds. Given the sensitivity of cellular data networks to user congestion (through cell breathing, strain on backhaul, and of course the air link itself), I expected to see a strong correlation. I decided to plot my data per hour, and got the following:

Downstream and Upstream Bandwidth

Some interesting trends appear…

  1. I apparently sample at roughly the same time each day (given the large vertical lines that are evident if you squint hard enough). Makes sense because I habitually test after class, while walking to the next.
  2. There is a relatively large variation per day for those regular samples, sometimes upwards of a megabit.
  3. There does appear to be a rough correlation between time of day and bandwidth, but the fact that I’m moving around from cell to cell during the day makes it difficult to gauge.
  4. Upstream bandwidth is extremely regular, and relatively fast at that.

I’m still mentally processing what to make of the whole dataset. Obviously, I’m going to continue testing and gathering more data, and hopefully more trends will emerge. You can grab the data here in excel form. I’ve redacted my latitude and longitude, just because my daily trends would be pretty easily extracted from those points, and that’s just creepy.

3G Bands – Where is the 850?

Lately I’ve been getting an interesting number of hits regarding the 850/1900 MHz coverage of AT&T here in Tucson.

To be honest, I’ve read a number of different things; everything from certainty that our market has migrated HSPA (3G) to 850 MHz, to that AT&T doesn’t even have a license for that band in Arizona. For those of you that don’t know, migrating 3G to the 850 MHz bands is favorable because lower frequencies propagate better through walls and buildings compared to the 1900 MHz bands. In general, there’s an industry wide trend to move 3G to lower frequencies for just that reason.

I’ve been personally interested in this myself for some time, and finally decided to take the time to look it up.

Maps, maps, maps…

The data I’ve found is conflicting. Cellularmaps.com shows the following on this page:

AT&T 1900 MHz

AT&T 850 MHz

Note that the entire state of Arizona doesn’t have 850 MHz coverage/licensing.

However, the GSM authority over at GSM World shows three very different maps:

HSPA 3G Coverage (yellow)

AT&T 850 MHz coverage

AT&T 1900 MHz coverage

Note that the 3G data coverage map is labeled ambiguously; HSPA coverage exists, but it could be on either 1900 or 850. However, what we do glean is that (at least according to GSM world) there is equal 850 and 1900 MHz coverage in Tucson and the surrounding area. This contradicts the earlier map.

Then you have maps like these, which are relatively difficult to decipher but supposedly show regions of 800-band coverage from Cingular and AT&T before the merger:

Cingular 800, AT&T 850

Finally, you have websites such as these that claim Arizona is only 1900 MHz.

So what’s the reality? Uncertain at this point.

The map given by cellularmaps.com is sourced from 2008, whereas the GSM world maps are undated, and ostensibly current. The other maps are also undated, but the majority consensus is that AT&T isn’t licensed to use 800 MHz in this market.

If anyone knows about some better resources or information, I’d love to see it.

Even Google doesn’t use “I’m Feeling Lucky”

Big News Today!

Whether you like it or not, the big news today wasn’t the outcome of “The Big Game,” the 2010 Toyota Prius Recall, or the fact that Verizon is “deliberately” blocking 4Chan for wireless customers (though those last two are admonishable attempts by the respective companies to submarine news).

It was the fact that today, Google advertised its core search product on TV in a $2.6 million Super Bowl ad. Wait, did I just say Super Bowl? I meant “Big Game.”

Hell proverbially froze over, by CEO Eric Schmidt’s own admission.

But if you actually watch the video, and watch closely, you’ll notice that very little of the advertisement focuses on the search experience itself. In fact, it spends so much effort building trite emotional appeal that it completely neglects at least half of the front-facing search experience. In fact, what it disregards is a feature so neglected, even I didn’t realize it was completely passed over until I watched a parody.

First, watch the “Parisian Love” ad itself:

Now watch the brilliant parody “Is Tiger Feeling Lucky Today” by slate:

Disregarding completely the message, the search terms, what the so-called “story” was, did you notice how differently Google advertised their own product compared to how well Slate did? Slate used “I’m Feeling Lucky.” Google? Not once. In fact, doing so could have been absolutely brilliant in the context of the ad’s cheezy romance theme. Imagine “will she marry me” -> I’m feeling lucky.

So what?

So what that communicates is that even Google doesn’t know what the heck “I’m Feeling Lucky” is doing there. Ask yourself, when is the last time you actually used it? Is it easily accessible? Is it part of that seamless, effortless Google experience they talk about? Is it so essential a part of the search experience that if it was missing, some part of your being would be inexorably changed forever?

You get the point. It isn’t.

No love for I'm Feeling Lucky

There’s nothing easy about using “I’m Feeling Lucky;” you can’t get to it with shift-enter or any other keyboard shortcut. It isn’t natural; everyone’s so used to just hitting enter or using the browser search bar. I ask then what purpose it’s serving.

For my answer, I googled. I didn’t use “I’m Feeling Lucky” :

The “I’m Feeling Lucky™” button on the Google search page takes you directly to the first webpage that returns for your query. When you click this button, you won’t see the other search results at all. An “I’m Feeling Lucky” search means you spend less time searching for web pages and more time looking at them. -Link

Oh really? That’s, you know, awesome, but isn’t diving head first into the first result of some search query just as dangerous as using link shorteners? As opening links in email blindly? As bad as everything we’ve always taught people not to do? Moreover, isn’t randomly guessing kind of a bad algorithm for mentally sorting through search results? I mean, if you use “I’m Feeling Lucky,” you’re going to have to come all the way back out to the front to re-submit your query. What’s elegant, beautiful, or simple about that?

Take a step back and think about the name of that button as well. What does “I’m Feeling Lucky” imply? Why the need for obscurity? Why not just call it “First Result” or “Dive In Blindly!™” or something else that’s approachable and friendly?

Years ago, the first time I clicked this, I half expected to be taken to some sort of contest entry form.

Of Simplicity and Sacred Cows

We’ve all read a lot, and I mean a lot about how much time, effort and money Google pours into keeping their famously-lightweight homepage simple. They’ve evolved the design. They’ve removed things. They make it fade in slowly so those of us challenged by reading aren’t scared or overwhelmed. They count and have sleepless nights over the number of words on it!

Oh, I know what you’ll say, it’s part of their “corporate identity,” part of their “product,” part of what makes Google, Google. Nonsense; that’s the kind of talk that turns innovation into stagnation for the sake of consistency. My high school English teacher would be proud, because two of his favorite quotes apply directly to the kind of idiotic allegiance they have to that worthless button:

  • A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines. -Ralph Waldo Emerson
  • Consistency is the last refuge of the unimaginative. -Oscar Wilde

For all of Google’s engineering talent, all that time, all those fancy positions, titles, and critical thought, they don’t realize that their biggest Sacred Cow is staring them in the face. That “Sacred Cow” is ‘I’m Feeling Lucky.”

C’mon Google, even you don’t use it or know why it’s there.

Zoneminder MJPEG and Shared Memory Settings

If you’ve read my big post on the Zoneminder configuration I have at home, you’ll notice that I favored capture of JPEG stills over using MJPEG during initial configuration.

At the time, the reason was simple; I couldn’t make MJPEG work. I’ve now succeed in doing so, and understand why it didn’t work the first time.

Memory Settings

I remembered reading something in the Zoneminder documentation about a shared memory setting resulting in capture at higher resolutions failing. Originally, when I first encountered the problem I decided that it was simply me getting something wrong with the path to the .mjpeg streams on the cameras, since I was more familiar with capture of jpeg stills from prior scripting.

However, I stumbled across some documentation here from another tinkerer, which also pointed to the memory sharing issue.

The problem is that the buffer of frames (usually between 50 and 100 for the camera) must be contained in memory for processing. If the size of the image:

buffer\, size\times image\, width\times image\, height\times3_{for\,24\, bits}+overhead

Exceeds this shared memory maximum, you’ll run into errors or see the camera status go to yellow/orange instead of green. (It can get pretty confusing trying to troubleshoot based on those status colors unless you’re checking the logs… /doh)

In fact, the problem I was seeing was likely directly as a result of the large capture image size of my Axis 207mW, as they cite it directly:

Note that with Megapixel cameras like the Axis 207mw becoming cheaper and more attractive, the above memory settings are not adequate. To get Zoneminder working with a full 1280×1024 resolution camera in full colour, increase 134217728 to, for example, 268424446

/facepalm. I really wish I had come across this the first time around. Either way, you’re going to ultimately run into this problem with either higher framerate connections, color, or higher resolutions.

I followed the tips, here, but doubled them since the machine I’m running ZM has a pretty good chunk of memory available.

The process is simple. You’re going to have to edit /etc/sysctl.conf to include the following somewhere:

# Memory modifications for ZoneMinder (kernel.shmall = 32 MB, kernel.shmmax = 512 MB)
kernel.shmall = 33554432
kernel.shmmax = 536870912

Now, apply the settings with

sysctl -p

Which forces a reload of that file. Next, you can check that the memory parameters have been changed:

brian@brian-desktop:~$ cat /proc/sys/kernel/shmall
33554432
brian@brian-desktop:~$ cat /proc/sys/kernel/shmmax
536870912

Which is successful. You can also check it with ipcs -l. Now, reboot ZoneMinder and you shouldn’t have any problems.

Motion JPEG Time!

Having made these changes, I was ready to finally explore whether MJPEG works! I went ahead and decided to use the MJPEG streams from my two respective types of cameras in place of the static video links. These are:

Linksys WVC54GCA: http://YOURIPADDY/img/video.mjpeg

Axis 207mW: http://YOURIPADDY/axis-cgi/mjpg/video.cgi?resolution=640×480&clock=0&date=0&text=0

I also discovered (by reading the manual) that there’s a handy utility on the Axis config page (under Live Video Config -> HTML Examples -> Motion JPEG) which generates the proper URL based on a handy configuration tool where you can select size, compression, and other options:

Handy config page

The idle load on the system has increased, as expected, but that’s partly from me raising the FPS limit to 10 which seems reasonable, and enabling continual recording with motion detection (mocord).

Nice, 10 FPS! (still a gaping hole though...)

I’m making a lot of tweaks as I get ready to transition everything onto a VM on a faster computer with much more disk space (on the order of 8 TB). If you’re interested in reading more about the Linux kernel shared memory settings, I found some good documentation:

  • IBM/RedHat settings: here
  • Configuring shared memory: here

Photosynthing everything

These past couple of days, I’ve finally gotten some time to work on the tremendous backlog of photos that I have sitting around from a number of trips. Among those pictures are sets of photos in the hundreds destined for photosynth. A number of my friends have expressed interest in what the software is, what it does, how it works, and how to take photos best suited for processing. I think now is a great opportunity to go over the basics.

What Photosynth Does

First of all, what Photosynth does is create a 3D point cloud model/representation of an object or scene from a set of photos. Depending on the scene complexity, the number of photos might be in the tens, or hundreds for sufficiently complicated scenes. It all depends on the model and how much time you have on your hands.

Perhaps the best way to explain it, is to see it. The following is a synth of the Pantheon that I recently finished processing, constructed from photos taken by my brother and I from a D80 and D90:

How it does it

The software uses feature extraction to identify textures in parts of each image that are similar, then tries to fit each corresponding from each image together to create a perspective-correct view. The process is extremely computationally intensive, but only needs to be done on the initial set of images to determine position and location. The beauty, of course, is that this process requires no human input for reconstructing the scene; it’s entirely computationally derived.

I won’t claim to be the most qualified to talk about it, but it does use feature extraction and some fancy fitting to work. An important note is that the software works based on unique features in texture, not necessarily on structure. This is why synths with lots of unique patterns turn out extremely well, while others don’t.

Creation

Creating the actual Synth is actually the easiest step; just create an account, install the software, add your photos, and go.

The real work in that process is creating proper tags, descriptions, and then adding geotagging data from photos, or later on in the web interface. Doing so is a great way to get your synth recognized.

How to take the best shots

There’s a great how-to on the official Photosynth website that goes over how to take pictures optimally, but I’d like to share some of my own.

If I’m taking a photo of a single object, something like this column, for example, I’ll try to stay equal distance away from the object, and take photos in steady progression around the subject.

The important thing to keep in mind is that although Photosynth can extrapolate the point cloud from features, it still cannot extrapolate images that you haven’t given it. Simply put, if you want to get the nice scrubber bar to circle around an object, you’ll need to take the requisite photos to make it. I find that pacing steadily around while taking photos at regular intervals is the best way.

  1. Take photos of subjects from a variety of angles. If you can, from every angle possible in an equal manner.
  2. Take photos from a single perspective pointing in multiple directions. I find that spinning around taking photos from each corner of the room works marvelously well; even though you look slightly special in the process.
  3. The most important thing to keep in mind is that quantity is generally on your side; so long as there is variety in the shots, but overlap as well.
  4. Choose subjects that have a variety of textures and features. Things like the Sistine Chapel synth really well because unique texture is everywhere, while cars generally don’t because of their solid color.
  5. Take wide angle shots of the entire room from the four corners first, then one from the center. Afterwards, take photos of objects/features close up. These are things that people will want to focus on when viewing later; a good example are pictures on the wall in a museum or specific fresco sections on a large wall.

Shameless plug

Some of my favorite Photosynth creations are:

  • Piazza San Marco: Link
  • Sistine Chapel: Link
  • Artemision Bronze: Link
  • Salpointe Graduation 2009: Link
  • Replica of Equestrian Statue of Marcus Aurelius: Link
  • Library of Celsus: Link
  • Pantheon: Link

For equal comparison, here are some that didn’t turn out so well:

  • Parthenon: Link
  • Olympic Grounds: Link
  • Port of Dubrovnik: Link

My Wall got Pwned

Yesterday, just about everyone’s minds were on the iPad. Love it or hate it, what a ride that hype machine was, and what a launch too. But for me, my musings (or rather those of my roommate) were rudely interrupted by the loud boom of a car crashing through the retaining wall surrounding my house.

Apparently, an inebriated woman was proceeding northbound on Euclid in a white Infiniti when she struck a midsize black Mercedes SUV, and flew up, into, and through the cinder block wall surrounding my house. The force must have been pretty awesome, since the size of the hole is sizable. Definitely a lot of momentum (and resulting few meganewtons of force) went into that smash, since there’s shattered cinder block in my yard now.

They managed to destroy a lot of cactus, blocks, and the sign on the corner in the process. I’d like to point out the irony of an infinity with license plate ‘finiti’, crashing through my wall on Euclid (as in, the fabled “father of geometry”). ::shrug::

I know nothing about the occupants’ statuses or health, but hope they’re fairing ok. Lesson learned? Don’t drink and drive, kids.

7 Wishes for iPhone OS 4.0

Tomorrow’s big unveiling will likely be focused around the much-hyped, illusory tablet (whose name nobody even knows), but a large part of its launch will be iPhone OS 4.0.

Much debate has taken place regarding whether the tablet will run OS X, iPhone OS, or something in-between. Thanks in large part to an errant comment by the McGraw Hill CEO on MSNBC, I think it’s safe to assume that iPhone OS was the right guess all along.

Or was it? It’s likely that instead of releasing the tablet running the 3.x line OS, apple will launch a 4.x fork to bridge the handheld iPhone/iPod Touch experience with that of the tablet, and in so doing bring the mobile OS closer to its desktop counterpart. It makes sense considering keeping two disparate app stores running could cause a colossal flustercuck.

Since its launch in March of 2009, OS 3.x has begun showing some signs of age, especially compared Android 2.x. Here’s a list of what I think OS 4.0 needs to really keep the platform competitive:

1- Google Voice integration

Although Google just launched an HTML5 version of the google voice interface (no doubt specifically targeted at the iPhone and WebOS platforms), it still pales in comparison with how seamless Google Voice integration is on Android. Users of that platform can completely transition to their new number.

Plus, let’s be honest, using a web based version is just hackety compared to being able to use a much more responsive app without having to jailbreak. Until the day comes, I’ll stick with using the still-banned GV Mobile.

2- Google Latitude integration

This is the one that actually started the whole Google – Apple divorce, in case you have forgotten. It’d be amazing to finally see latitude integrated into the maps app the way it should have been the same month latitude launched.

Even better, the maps application (maintained by google) on BlackBerry OS and Android allows for seamless background position updating. As it is right now, iPhone OS users have to go to an HTML5-based version of the same application to update their position. Or jailbreak and use a solution like longitude (some screenshots/info here) and have it done on a schedule by a persistent background process. This is the solution I ultimately decided on

Perhaps this functionality isn’t allowed because of “duplication of functionality” with Mobile Me? Whatever.

3- Better gmail integration in the mail app

Let’s just come out and say it, the mail app on the iPhone is extremely barebones. Coming from Windows Mobile, I was kind of shocked at how barebones, in fact. No ability to change font, underline, bold, italicize, or do anything regarding formatting. As it is right now, the best you can do is some copy paste.

ArsTechnica really did a good job highlighting a number of subtleties that I’ve noticed in their article here. The most annoying of which is that folders aren’t fully synchronized until you go into them. For example, opening a sent folder will cause all the sent emails to load chronologically. This can get frustrating if you’ve sent a lot and just want to look at one; instead, you’ll have to wait for all of them to load. I can do without a unified inbox or unified messaging app, because honestly I view that as a more of a nightmare to be avoided than a feature.

But those aren’t my main gripe, it’s that there isn’t a gmail app (like what Android has) that supports Labels, Stars, or any of the features that make Gmail integration with email clients over IMAP or Exchange difficult. It’s that whole decision they made to not use “folders” and instead use labels that drives me crazy, and to this day, I’m lucky if I can find any sent email in my google apps account.

Forget about background and push, just fix the email client.

4- Notification customizations for SMS, scheduling

Even though the platform has good customization for ringtones, the alert sounds for system events such as email and new SMSes are surprisingly limited. In fact, at first, I assumed I was “doing it wrong” and failing at finding the proper way to load them. Nope, turns out, what you have is what you have, and what you will have forever.

That default “Tri-tone” sound is what everyone uses, and it’s annoying as hell to have it go off in a crowded room and watch 8 people all go for their phones (myself included). Allow some variety, without the need to jailbreak.

A lot of the other platforms also have alert profile scheduling. Namely, you can specify whether you should be alerted audibly, with vibration, or not at all, on a time schedule throughout the day. I’ve defaulted to always leaving my phone on vibrate simply because this is missing.

5- Background apps done right

This is probably everyone’s #1 wish for OS 4.0. Multitasking done right. Sure, you can jailbreak and do it, but it doesn’t lend itself to having a nice task-switcher. Instead, you’re left using what amounts to a task manager, which is completely the wrong way to do it.

Every other platform has it, only one platform (WebOS) has done it right so far. Can you, apple?

6- Better App organization

If you’re like me, you have 9 pages of applications that you’ve tediously organized. But sometimes, categories that are logical don’t come in sets of 16 (how many you can fit on one ‘page’). The real solution is to allow some sort of management. Be that folders, a menu, or something else.

My Layout

Also, there’s no reason that people should be limited to 4 apps on the bottom row just for aesthetics when you have the room for 5. I couldn’t live without having 5 anymore.

7- Better power management – centralized reporting, on/off, scheduling

Something that I think Android really executed properly was the centralized power management screen. HTC has added this to virtually every single device in recent memory as well. That feature is centralized management of radio hardware and other large current draws.

This is something that, if executed properly, could also be a selling point for making hardware “green.” Hell, as a potential EE, I’d be absolutely in love with a screen showing current consumption from all the chipsets in the hardware that report it, plots of use vs. time, and more intelligent prediction of how much life I’ll get out of the device with current use.

But on a more basic level, what we really need is a feature that allows users to schedule the hardware itself. Imagine you’re on a trip without your charger; odds are, you don’t need the radio hardware on while you’re sleeping, but you do need the device on so the alarm works. Allowing users to schedule power events lets you balance use ahead of time.

But a feature I think is really needed is a so-called “last legs” setting. Basically, after the battery has crossed a user-defined threshold (say 15-25%), the software automatically does everything it can to preserve battery life; WiFi is turned off, 3G is turned off in favor of EDGE, screen brightness is reduced to 20%, push services are put on hold, email fetch intervals are doubled or quadrupled, background processes are killed.

The hardware and software essentially would work together to squeeze every last minute of use out of the hardware when battery gets low. This is especially important for when you cross the threshold while the phone is in your pocket, when you probably don’t even know it’s dangerously close to death.

Conclusions

Historically, Apple delivers products that have extremely polished, working features. Essentially, they err on the side of only releasing features that work, always work, and work well, instead of releasing features that don’t always work, or lack polish.

That said, a lot of the market has caught up since 2009. It’s time to address all of those gripes, and I’m hoping OS 4.0 fills some of the glaring holes in the feature set tomorrow. We’ll find out soon.

Mobile Phone Signal Bars – Thoughts

Something that’s bugged me for a long time is how crude and arbitrary signal bars on mobile phones are. With a few limited exceptions, virtually every phone has the exact same design: four or five bars in ascending order by height, which correspond roughly to the perceived signal strength of the radio stack.

Or does it? Let me just start by saying this is an absolutely horrible way to present a quality metric, and I’m shocked that years later it still is essentially the de-facto standard. Let me convince you.

It isn’t 1990 anymore…

Let’s start from the beginning. The signal bar analogy is a throwback to times when screens were expensive, physically small, monochromatic if not 8 shades of grey, and anything over 100×100 pixels was outrageously lavish. Displaying the actual RSSI (Received Signal Strength Indicator) number would’ve been difficult and confusing for consumers, varying between 8 already difficult to distinguish shades of grey would have been hard to distinguish, and making one bar breathe in size could have sacrificed too much screen real estate.

It made sense in that context to abstract the signal quality visualization into something that was both simple, and readable. Thus, the “bars” metaphor was born.

Since then, there have been few if any deviations away from that design. In fact, the only major departure thus far has been Nokia, which has steadfastly adhered to a visualization that makes sense:

Ascending Strength Bars

Another Example

Namely, their display metaphor is vertically ascending bars that mirror call quality/strength. This makes sense, because it’s an optimal balance between screen use and communicating the quality in an easy to understand fashion. Moreover, they have 8 levels of signal, 0-7 bars showing. Nokia should be applauded for largely adhering to this vertical format. (In fact, you could argue that the reason nobody has adopted a similar metaphor is because Nokia has patented it, but I haven’t searched around)

It’s 2010, and the granularity of the quality metric on most phones is arbitrarily limited to 4 or 5 levels at best.

Better designs?

Thus, an optimal design balances understandability with level of detail. On one hand, you could arguably simply display the RSSI in dB, or on the other hand sacrifice all information reporting and simply report something boolean, “Can Call” Yes/No.

Personally, I’m waiting for something that either leverages color (by sweeping through a variety of colors corresponding to signal strength) or utilizes every pixel of length for displaying the signal strength in a much more analogue way.

Excuse the crudity of this rendering

Green and red are obvious choices for color, given their nearly universal meaning for OK and OH NOES, respectively. Something that literally takes advantage of every pixel by breathing around instead of arbitrarily limiting itself to just 4 or 5 levels also wouldn’t be hard to understand.

Fundamentally, however, the bars still have completely arbitrary meaning. What constitutes maximum “bars” on one network and device has a totally different meaning on another device or carrier. Even worse, comparing the same visual indicator across devices on the same network can often be misleading. For example, the past few months I’ve made a habit of switching between the actual RSSI and the resulting visualization, and I’ve noticed that the iPhone seems to have a very optimistic reporting algorithm. No doubt, this is due much in part to the systematically-poor perception of AT&T’s network quality.

There’s an important distinction to be made between the way signal is reported for WCDMA versus GSM as well:

First off one needs to understand that WCDMA (3G) is not the same thing as GSM (2G) and the bars or even the signal strength can not be compared in the same way, you are not comparing apples to apples. The RSCP values or the signal strength in WCDMA is not the most important value when dealing to the quality of the call from a radio point of view, it’s actually the signal quality (or the parameter Ec/No) that needs also to be taken into account. Source

That said, the cutoff for 4 bars on WCDMA seems to be relatively low, around -100 dB or lower. 3 bars seems around -103 dB, 2 bars around -107 dB, and 1 bar anything there and below. Even then, I’ve noticed that the iPhone seems to run a weighted average, preferring to gradually decrease the report instead of allowing for sharp declines, as is most usually the case.

Signal in dB

Use dB if you’re not averse to math

What you’re reading isn’t really dBm, dBmV, or anything really physical, but rather a quality metric that also happens to be reported in dB. For whatever reason, most people are averse to understanding dB, however, the most important thing to remember is that 3 dB corresponds to a factor of 2. Thus, a change  of -3 dB means that your signal has halved in power/quality.

The notation dBm is refrrenced to 1 mW. Strictly speaking, to convert to dBm given a signal in mW:

Signal_{dB}=10\log\left(\frac{Signal_{mW}}{1\, mW}\right)

Likewise, to convert a signal from dBm back to mW:

Signal_{mW}=10^{\left(\frac{Signal_{dB}}{10}\right)}

But even directly considering the received power strength or the quality metric from SNR isn’t the full picture.

In fact, most of the time, complaints that center around iPhones failing to make calls properly stem from overloaded signaling channels used to setup calls, or situations where even though the phone is in a completely acceptable signal area, the node is too overloaded. So, as an end user, you’re left without the quality metrics you need to completely judge whether you should or should not be able to make a data/voice transaction. Thus, the signal quality metric isn’t entirely a function of client-tower proximity, but rather node congestion.

Carriers have a lot to gain from making sure their users are properly informed about network conditions; both so they can make educated decisions about what to expect in their locale, as well as to properly diagnose what’s going on when the worst happens. Worse, perhaps, carriers have even more to gain from misreporting or misrepresenting signal as being better than reality. Arguably, the cutoffs I’ve seen on my iPhone 3GS are overly optimistic and compressed into ~13 dB. From my perspective, as soon as you’re below about -105 dB, connection quality is going to suffer on WCDMA, however, that shows up as a misleading 3-4 bars.

Conclusions:

What we need is simple:

  1. Transparency and standardization of reporting – Standardize a certain visualization that is uniform across technology and devices. Choose something that makes sense, so customers can compare hardware in the same area and diagnose issues.
  2. Advanced nodes – For those of us that can read and understand the meaning of dB and real quality metrics from the hardware, give the opportunity to display it. Hell, perhaps you’ll even encourage some people to delve deeper and become RF engineers in the future. It’s annoying to have to launch a Field Trial application every time we want to know why something is the way it is.
  3. Leverage recent advances in displays - Limiting display granularity to 4 or 5 levels doesn’t make sense anymore; we aren’t constrained by tiny monochromatic screens.
  4. Tower load reporting - Be honest with subscribers and have the tower report some sort of quality metric/received SNR of its own so we know which path of the link is messed up. If a node is congested, tell the user. Again, people are more likely to be happy if they’re at least made aware of the link quality rather than left in the dark.

WVC54GCA Firmware v1.1

Fix Some, Break Others

I noticed a strange but rather interesting problem the other night while working on one of my WVC54GCA cameras which was accidentally reset to defaults. But before I explain, I should back up a bit.

I mentioned in my previous post about ZoneMinder that I had not completely finished reviewing or evaluating the new V1.1 firmware that Linksys made available just recently. I now can, with a bit more certainty.

In the Linksys Release Notes, it states:

Version v1.1.00 build 02, Jun 15, 2008

- Support of Setup Wizard is temporarily disabled to address security issue

- Fix security issues

- Fix Camera stability issues

- Fix VLC multicast playback issues

- Update TZO DDNS client

- Change Firmware version format

- Enable HNAP protocol support

- Fix OCX stability issues

- Update valid value range of RTP Data Port. New range is even value of 1024~65514.

Version v1.00R24, Jan 7, 2008

- Updated TZO DDNS client code to resolve an issue with incorrect TZO server address being used to resolve the customers FQDN.

Now, this all sounds fine and dandy, but I think Linksys has fixed some issues and broken some others at the same time.

Concerned about the security issues (which are supposedly fixed in 1.1), I upgraded both cameras from my previous trusty (but somewhat unstable) V1.0 R24 build. At the time, everything worked. The cameras continued functioning over WiFi, all of my previous settings were preserved, everything seemed fine. However, I noticed that the wireless configuration page shows something a bit odd: “undefined.” Take a look:

Undefined? Nice.

Well, that’s odd. But WiFi worked. For the record, I’m using a Linksys WRT54G-TM running Tomato 1.27 with WPA/WPA2 AES and an alphanumeric key over 20 digits long.

The other night, my roommate inadvertently reset one of the cameras to default running the new V1.1 firmware. When I brought it back over ethernet and configured it to connect to WiFi, I noticed the configuration screen had changed, subtly:

1.00 build 24

1.1.00 build 02

The fields had changed. In addition to making the password field now the proper type (showing only bullets or whatever character your browser uses), there are two drop downs for which WPA version you’re using, as opposed to one. That seems fine, until after about a half hour of trying, I couldn’t make the 1.1 camera connect to my wireless. Arrgh.

Much tinkering, taking the thing apart, making sure the wireless card was seated, e.t.c. later, I tried something else. I remembered how much of a hassle the previous release was and how flashing to some strange German version of the firmware and then back made wireless magically work.

Amazingly, Linksys doesn’t keep a nice repo around (or, at least I couldn’t find one, perhaps there’s an FTP dump somewhere). I found the old 1.00 R24 build here, and for backup’s sake, here’s a version I’ll host and keep around forever.

I flashed back to 1.00 R24, and immediately was able to connect. In addition, flashing back up to V1.1 after configuring wifi on 1.00 R24 makes everything work just fine. It’s a mess, but that’s the only way I can make it work.

I have a feeling that Linksys hasn’t completely nailed down the configuration settings/supplicant for that Ralink card they have in there, or that the open source drivers just aren’t that great. I strongly suspect this is partly the reason for the introduction of the WVC80N, although reviews do look promising. I’d like to get my hands on one of those!