Let the microblogs bloom

[image]

I was just about to embark on a post yesterday about my latest obsession which is web-based forums (actually, it's a return of an old obsession) when identi.ca launched with their open source PHP-based Twitter clone, so I just had to try it out. I threw it up on foozik.com if you want to see. It took me a while to get the dependencies working, but it seems pretty cool.

It's a great effort, looks good, and promoted in all the right ways. Evan (the guy behind identi.ca and the laconi.ca code base) did a great job creating a nice little project with some cool features like OpenID, Jabber support and the beginnings of a federation system.

Looking at the code, however, it's doomed.

The core architecture just isn't made to scale, and a day after it launched identi.ca already seems to be paying the price, even after adding a bunch more servers. Here's the the problem in a few lines of code:


$notice = DB_DataObject::factory('notice');

# XXX: chokety and bad

$notice->whereAdd('EXISTS (SELECT subscribed from subscription where subscriber = '.$profile->id.' and subscribed = notice.profile_id)', 'OR');

$notice->whereAdd('profile_id = ' . $profile->id, 'OR');

$notice->orderBy('created DESC');

Even the comments express this is "chokety and bad". Ignoring the use of the PEAR::DB data object stuff (that's adding abstractions on top of your database that you can't afford to have) this code shows that the design of the system is fundamentally flawed. The core problem is the query itself - it's expensive as hell: "Get all the notices (messages) where I am subscribed to the publisher." Oh, man. As the database grows, the indexes will have to get huge, and as there's more subscribers and more subscriptions between subscribers, it's going to be impossible for that query to keep up.

The lesson from Twitter is that microblogs aren't Content Management Systems at all, but are instead Messaging systems, and have to be architected as such. SMTP or EDI are our models here, not publishing or blogs.

Here's how a microblog system has to work to scale: All the messages created by users have to go into a Queue when they're created, and an external process then has to go through one by one and figure out which messages go into which subscriber's message list. As the system grows and more messages are created, the messages may arrive in your "inbox" slower, but they will still arrive. This type of system can be easily broken up into dedicated servers and multiple processes can handle different parts of the read/write process, and the individual user message lists can be more easily cached - as once a page is created that contains messages, it doesn't change.

If you don't set it up like this? Well, you're seeing what happens at Twitter and identi.ca now. As the number of users scale up, and the number of messages increase, the load quickly overwhelms any relational database until it'll become impossible to keep up. Structuring microblog systems essentially like self-contained web-mail is the key. Just think about it - Hotmail survived and scaled after it launched in the 1990s when 512MB of RAM was considered a lot and 10GB hard drives were "big". It's not about *power* or throwing more/bigger hardware at the problem, it's about architecture.

Another example: Lots of web forums out there get millions of new posts a day by tons of users (GaiaOnline.com had 5MM posts last week, for example), but they scale just fine because the format of forums have been designed to scale. These sites work because they simplify queries, facilitate caching, and not guaranteeing instant updates. Simplification and caching are to me the fundamental aspects of web scaling. This is the way it's been for a decade now... Want to survive a Slashdotting, for example? Get your DB out of there and export your pages as .html static files. These same principles can be applied even to a microblog/messaging system as well.

Once this is widely accepted (and I'm sure there are many that would argue with me), the thing that will separate these types of services won't be whether they stay up (ala Twitter), but how fast your subscription messages are updated. Some services might be smaller or offer more features but not update as quickly whereas others will pride themselves on being as close to real-time as possible. The key is that it's all about messaging, not publishing. (Oh, and this also facilitates federation as well, but that's another topic).

This said, all is not lost for the Laconi.ca code. The good thing is that it's open source, and not only that, but using the GNU Affero license, which means any changes made on anyone's server needs to be released back as well. Hopefully now that there's a code base to start from, some others (like myself) who are too lazy to start from scratch can get in there and start tweaking and shaping the code into something that will fundamentally scale better.

I envision lots of microblog services out there, actually. Even though services do have a network effect going for them (the reason Twitter has survived for so long), the idea of smaller microblog services is very appealing. One comment on Identi.ca yesterday spelled out it's usefulness perfectly - a person wanted a version she could use in her classroom as a way for students to ask questions. Very cool - yes you could use a live chat room or a simple forum or e-group, but bringing the subscription model into it would add a very interesting dynamic that I think better reflects how people really interact. That's just one example, but I think there's even more out there.

Just my thoughts for now. I'm going to write more about web forums in a bit.

-Russ

My first gedit plugin

[image]

I was looking at the various gedit plugins yesterday, and decided I wanted to write my own. I actually really like gedit as a text editor - it's lightweight and with the plugins provides nearly as much functionality as UltraEdit or Textmate. It's actually amusing that the default text editor in Gnome is as powerful as it is - coming from Windows, you're used to Notepad being a piece of junk and having to find other apps to do any real work. This can be a bit of an issue, as if I've turned on line numbers and highlighting, and then open up a random text file for a README or something, the use cases sort of overlap (not that it bothers me that much).

Anyways, I decided to create a *really simple* plugin for inserting a timestamp - I use text documents to record ideas and todos, and I always put in a timestamp before I start writing. There's already a plugin that's included called "Insert Date" but by default it pops up a dialog to ask you for a format each time. It wasn't until *AFTER* I wrote a simple plugin to do the same thing that I noticed that you can just go into "configure plugin" and choose the default format. I'm glad I didn't notice though, since that allowed me to learn how plugins work and create a sort of "canonical" plugin that I can expand on later.

If you follow the gedit plugin how-to instructions, you can see that the document writers broke the cardinal rule of beginning how-tos by including crap you don't need at first. By looking at some other plugins and stripping away the excess, I got down to a super-simple plugin that simply adds a menu, then does something to the document (in this case adding a timestamp). SIMPLE!

I'll just link to the two files needed to run the plugin: inserttimestamp.gedit-plugin and inserttimestamp.py . (If you want to try them, just put them in ~/.gnome2/gedit/plugins). You can see that it's cut down to just about the bare-minimum. I wish I understood a bit more about the menu stuff - you have to use the GTK API for that, and it uses some default params that I don't understand exactly for where to place the menu. But the code itself doesn't have much more than it needs to work. This is actually useful to me as a reference so that in the future if I find myself needing some sort of automation - it'll be easy to use that as a template to whip up something more complex quickly.

Actually at first what I wanted to write a plugin that would put the word-wrap option in menu, instead of in the preferences like they are now. Sadly it looks like the Python wrapper to access that API isn't available (or at least I couldn't find it). If you know more than me, please educate me: Here's the C API for gedit, and you can see there's a "gedit-prefs-manager" module (I think that's what it's called, it's not a Class), but there is no equivalent if you do a "dir(gedit)" from gedit Python console - the 'utils' is there, and the encoding stuff, but not the pref-manager. Maybe I'm missing how to get to that stuff, but I haven't found it yet after some searching.

Speaking of the Python console, it's pretty interesting if you haven't played with it yet. Turn it on in the Plugins preferences, and then display the bottom pane in the View menu and it's there, and by default it's imported the gedit module and "window" has already been populated with the current window. I've done app automation stuff before using Visual Basic and COM, but having the console actually in the app I'm controlling is quite cool. (And it's Python, not Lua like what Scite uses, which is nice in many ways.)

Try this, open the console, and do the following...


You can access the main window through 'window' :
<gedit.Window object at 0xb65fe694 (GeditWindow at 0x8141000)>
>>> doc  = window.get_active_document()
>>> doc.insert_at_cursor("hello world")
>>> view = window.get_active_view()
>>> view.select_all()
>>> view.copy_clipboard()
>>> view.paste_clipboard()
>>> view.paste_clipboard()

You get the idea, it's basic document automation - but it's nicely done. Do a dir() on App, Window or Document to get an idea on the various things you can do with the API - it seems pretty clear. Though honestly, I wish there was more documentation than just the C API I've found, it's pretty easy to put the pieces together.

:-)

-Russ

Adult thoughts while watching WALL-E

[image]

The munchkin and I went to go see the matinee of WALL-E yesterday and it was pretty great! Definitely recommended for the whole family. If you haven't seen it, though, you probably don't want to read the rest of this post as I don't want to give any spoilers or take away from the innocent wonder of seeing the movie for the first time.

...

We good? Okay. The problem is that even though most of the Pixar movies have some sort of cognitive dissonance or generally creepy subtext if you think about them too much (The toys are *watching* us? Where the hell did the people go in Cars? Did they take over?) I think that WALL-E is particularly full of, um, "issues".

First I should say the movie was great - it's a love story at the core and it works really well. EVE seemed to have the personality of a strong, serious woman with a mission (more on this in a bit) and WALL-E may be a love sick moron, he's not generally a fool and is quite a bit mischievous as well.

The lack of dialog was only apparent at one point when I realized an entire theater full of people was dead silent watching the movie and it wasn't during some sort of emotional scene - they were just all intent on watching what was happening. It was akin to seeing a live play, when you step out of the moment for a minute to realize there's a ton of people there, in the dark, silently watching.

Anyways, after seeing the movie and replaying it my head a bit (especially since my son and I were playing the video game afterwards), lots of things occurred to me about the movie that just didn't fit quite right. Here's some thoughts on the movie from an adult point of view, in no specific order.

* When WALL-E is going about his work and he starts to break down a bit (his tread is wearing out) it's quite disturbing how casually he grave-robs a fellow WALL-E unit who has since stopped working for spare parts. It sort of makes you wonder *how* exactly little ol' WALL-E became the last surviving bot in the first place... As resources started to dry up, what sort of ruthless deeds did WALL-E do to keep functioning?

* The choice of Hello Dolly music is insanely odd, but will definitely trigger nostalgia for my parents. I saw it quite a few times when I was a kid, but I haven't seen the whole thing in easily 20 years. I wonder if there's someone in Pixar who actually just loves this movie, or if it was some sort of attempt to create a multi-generational family movie for all? Given the history of Disney, I'll assume the latter.

* In fact, a movie from the Disney Corporation expounding on the evils of consumerism? My mind just can't absorb the self-referential hypocrisy there.

* I don't get the double entendre meant by Buy N Large. There's the phrase "by and large" which means "in general" (more on the history of the phrase here), and I guess if you "keep buying, you will enlarge", but beyond that I don't see the link really. Maybe "buy in large quantities" a la Cosco or something? I just don't see how the joke works because the original meaning doesn't have anything to do with the second in some ironic way...

* I'm not Fred Willard's biggest fan - I think they should have just kept that stuff with him animated, but I guess it goes along with Hello Dolly in linking the past Earth with the dystopian future... Still, I think he's a jackass and not particularly funny.

* Okay, guys at Pixar, we get it. Steve jobs founded your company and Apple and so you like Apple products. We noticed the iPod, and the various Mac sound effects and even how the bad guy of the movie is the voice of MacInTalk. Hahaha. You guys are hip. However, when EVE reboots with the fucking Mac chime it pulled me out of the moment in a bad, cranky way, so could you please cut the shit from now on?

* Oh, yeah... and CALARTS FUCKIN' RULEZ DOOODZ! TOTALLY! A113! ROCK ON! YAH! A113! SO COOL!

About the plot... There's lots of little things which are odd. For example, at one point in the movie, WALL-E pushes EVE out of his little house to the roof when she shuts down waiting for the mother ship to pick her up... but then he does crazy stuff like standing there in a lightning storm with an umbrella over him to protect her. Why didn't he just push her back inside? But that's sort of nit picky stuff. The things that really bug me is what happens when they get on spaceship Axiom. There the whole premise of the movie starts to take a left turn from reality. All the future peoples are floating around like blobs, unable to walk, doing nothing but shopping, consuming everything in cups. There are LOTS AND LOTS of questions here:

* In a closed system like the one on the Axiom, how the hell is there *any* economy at all in which to consume to excess? All the robots do everything, there's no need to work, there didn't appear to be any rich or poor folk, and even the captain was a benevolent dictator of sorts who seemed to have the unquestioned loyalty of his people. What's there to consume and who cares if you do it anyways, as there's plenty to go around?

* The captain is suprised to see a *plant*... What the hell have they been eating all this time? What's in those 7-Eleven Big Gulp cups anyways, Soylent Green?!?

* At one point in the movie a woman and a man touch hands briefly and are genuinely surprised at the physical interaction. Umm... Obviously the must be reproducing completely artificially, which means there's a whole class of robots that we didn't have the, um, pleasure of actually seeing.

* Continuing that thought... I noticed babies and toddlers, and full grown blob-like adults, but no kids and no older people. How does that work exactly? Is it like that movie where they kill everyone older than 30? Where are the 11 year olds?

* The movie's anti-consumerism message is simply "buy too much and you become blobs". It's a bit weird. My kid didn't learn anything from the message as there didn't seem to be any downside to it beyond not really walking much. In fact, to those of us in the theater, who just paid $10 a ticket and another $20 per person for over-sized sodas and popcorn, sitting in our big easy chairs, stuffing our faces and sucking on straws, watching a movie in the middle of a gorgeous summer afternoon? It didn't seem particularly far from normal. Or is that the joke and it's on us? What? We're supposed to be out gardening and tending to the forests instead? Pixar can blow me.

* I do love how Hollywood (and Pixar is included there) just can't seem to keep from collapsing strong role models into gender specific stereotypes in order to create tension in the plot. Near the end of the movie, WALL-E has been damaged and is essentially dying, when he seemingly selflessly gives the plant to EVE so that she can continue her Directive and bring humanity back to Earth. Despite having struggled thus far to complete her life's work and do her duty, she tosses the plant aside carelessly signifying that all she cares about now is WALL-E. (See that little girls? The lesson here is to sacrifice all for your Man. Get it?) But WALL-E in his half-dead state insists, goes over and picks up the plant, and gives it back to EVE, which at first seems like an incredibly selfless sacrifice on his part, but soon you realize he's actually saying, "No you stupid bitch, Earth is where all my replacement parts are - we need to plant to get the ship there to fix me." Ahh... We see a little more of how WALL-E was the last remaining robot and how underneath that hard polished exterior and blasters, EVE is really just like all women are - subservient and unable to think clearly during a crisis. Thanks for clarifying that Pixar!

* At the end of the movie, we see the all the people in the ship wander out into the desolate wasteland of Earth, ready to start again now that the world is, um, slightly less toxic than it was before. The robots (we see during the credits) are there to help, which is good, because I don't know about you, but I'd pretty much starve if I had to farm for myself. Hopefully the ship has some seeds on it to get started... and bees and other bugs to help pollinate the plants... and well, animals, birds, etc. Oh, and sticking a plant into some dry ground and drowning it in water isn't going to produce much in the way of actual food (despite what the captain may think, and also wasn't that plant just floating in sub-zero space?) Also no worries about those frequent dust storms...

* And where the hell are the *other* ships out there? There's like a couple hundred people on the Axiom at best? They better start procreating like crazy if they want to repopulate the world. Well, that and figuring out how to re-evolve all that "bone-loss" they've genetically lost. Also, didn't they seem awfully happy to go from their lives of leisure and happy interaction with their friends (via their holographic view screens) to one of hard labor, disease and suffering. But that's just me.

* One last thought is that they didn't actually get rid of Buy N Large at the end, the purported evil corporation which helped pollute the world by its promotion of excess consumerism. Presumably, it'll just take over where it left off soon enough, so really, the world is still doomed.

Ok, I'll stop there. I'm sure more will pop up as I think about it. The movie was still quite entertaining though, you definitely want to go see it, as it's very fun.

:-)

-Russ

Ubuntu Rising

[image]

Every day I'm amazed at how good Ubuntu is, and how fast it's been improving. I've been a full time Linux user since January of last year, and in 18 months, I've just been amazed at how *happy* I am using it and how I get *more* happy as time goes on. I'm thinking about this again as I just moved computers from a desktop to a Sony Vaio laptop, and Ubuntu's latest works incredibly well on it. Advanced GUI, sound, WiFi, power management (including suspend/resume) and more all work as you'd expect it to without *any* manual file configuration. And the install process took less than 20 minutes from start to finish. I couldn't be happier.

There's still a few issues, but nothing so frustrating that I'm any less ecstatic with my setup. As a Linux user, I sort of expect them and compared to years past they're trivial. For example, the built-in sound speakers don't shut off when you plug in external speakers or headphones right now. Not great but I'm sure I'll find out what the issue is with some searching. Also, the external monitor port doesn't recognize the correct resolution out of the box - I've seen online that I'll have to manually tweak the xorg.conf file, but I haven't done it yet either. Other than that, I haven't had a single issue, and I know that these issues could "fix themselves" as well, as Ubuntu continues to develop and my weekly updates bring fixes and upgrades.

Honestly, the setup was so fast and easy, I would have spent *much* more time cleaning all the crapware off the pre-installed Vista setup, as well as searching for anti-virus stuff, etc. It's such an incredible stroke of luck that Windows Vista is so bad and that its launch coincided perfectly with Ubuntu becoming a truly viable alternative to Windows or OSX.

What really excites me is the latest trend towards Linux based small computers like the Asus EEE PC, or all those Mobile Internet Devices that are coming down the pipe. Ubuntu recently released a MID version and it looks fantastic. Not only is Ubuntu a fantastic OS, with great software available for it (including Wine 1.0, which also runs a bunch of Windows apps without problems), but when manufacturers start incorporating Ubuntu in the development process, there won't be *any* hardware issues - even the little ones that I have now.

This is just so exciting. I just really like Unix as a computing platform - it's just so much better organized and functional than Windows. The daily pain of using Windows just doesn't exist... questions like "why isn't this connecting" or "why is this running so slowly" are quickly answered and more easily fixed. And with Ubuntu's Debian roots, it means that it's easily updated as well (and doesn't cost $120 every year or so to upgrade like OSX). Much of the technology, actually, has been out there for years and Ubuntu has simply done a fantastic job of organizing it all into a thoroughly enjoyable system to use.

Again, the MID stuff is what gets me really jazzed. Using the Nokia 770 and N800 has really shown me how useful a dedicated Internet device can be. Combining Web, Email and IM among other apps like eBook readers and casual games in a portable and usable package is incredibly compelling and useful. Adding in the power of Ubuntu (no offense to the Maemo folks, whom I love and respect) is just going to make those devices even that much more lustworthy.

It's a great time to be a Ubuntu user!

-Russ

Where are the electric cars?

[image]

I know that GM killed their electric car in 2003, and just the thought of how insanely stupid and shortsighted they were makes me want to kill, but where are the rest of the electric cars? I heard a report on the radio yesterday about the progress on the Volt and the plug-in Prius next year, and about how cool it is to ride in a Tesla, but it seems crazy that we can't go down to a dealer right now and take a look at more options than that.

Just recently I read about a store here in the Valley called Green Rides that sold electric vehicles and thought about how cool that was. There's a car they sell called the Zenn which looks incredibly cool... until you check out the stats. 25MPH max, and a 30 mile range. Are you kidding me? I don't understand why they're so limited - it's rated as if it was a golf cart because supposedly they have less safety stuff in them. You know, I can think of plenty of cars on the road that don't have a lot to them in terms of safety - or weight even - the Geo Metro back in the day got what, like 50 mpg? It was like a tin can on wheels, why can't they just take that design and throw some batteries in the back and get a decent electric car?

I know it all goes back to battery power, but if GM was solving this stuff almost 10 years ago with the EV1, surely the technology must be a bit more standard nowadays, no? I hope now that gas prices are so insane (and honestly, I hope they stay there as economic incentive to produce more electric vehicles) that companies will get it together and start putting more resources into this stuff. I keep reading every day about this company or that developing this or that car... but until I can go down to the local dealer and test drive them myself, they're just not real.

You can go online and check out some fascinating mods. I love the idea of getting an old BMG, Beetle or Karmann Ghia and throwing a pile of batteries in the back and an electric motor in the front and getting a retro electric vehicle to use. But according to Wikipedia, California makes it hard for those modded vehicles to get back on the road. Bleh.

All this said, would I sell my somewhat gas-guzzling Saturn VUE (front wheel drive, stick, 23mpg) to get an electric version of a Geo Metro? Probably not this minute... but I'd love to have the option.

:-)

-Russ

Do Mobile OS Platforms Matter?

[image]

The big news today is that Nokia is spending nearly half a billion dollars for the rest of Symbian and will turn it into a non-profit organization and open OS. It's got everyone buzzing about how this is an attempt on Nokia's part to "take on" Android (because Vendor Wars always makes good copy), but I think that's a far too simplistic explanation.

Backing up for a second, let's examine what the Symbian OS is, and who it targets. This really depends on who you are. Are you a manufacturer who needs to use the OS to make a device work with all the various pieces of hardware involved, or are you a "third party" who wants to create or use applications which run on the device?

Symbian, the company, has always been much more focused on the former as the OEMs have been the ones paying the fees that kept the company going. The promise was simple - here's a platform which makes your most advanced phones work with little investment. Think about all the technologies in a modern mobile phone - from the various wireless standards like UMTS and Bluetooth, to GPS and even media processing capabilities for video and sound. A mobile OS has to make all that stuff work. It goes beyond just the development work, it also has to do with license fees, etc. If your mobile phone plays back MP3 files, someone had to have paid the Fraunhofer Institute their blood money, or else. For $7 a phone, OEMs could forget about that stuff and just worry about making a cool gadget.

Even that price is expensive though, and manufacturers have always had options about how they get an OS for their phones. They could create some RTOS in house, they could license from any number of white-label OS providers, buy it as a complete hardware/software stack from someone like Qualcomm, or work with Microsoft or Symbian, etc. But now with today's announcement it means OEMs can get something for free that they used to have to pay for. Great! In theory, the Symbian OS is the most robust of the mobile phone OSes out there, and therefore now that it's free, manufacturers will start pumping out Symbian based devices like crazy. Game, set, match for the Symbian OS, right? The company may have essentially been a failure (it's dreams at one point were to take on Microsoft, remember), but the OS as a platform will live on and thrive, and those manufacturers who use that platform will benefit from the shared work, and larger user base as well.

Because application developers tend to target the OS platform with the biggest marketshare, this means that today's announcement is a huge deal for mobile application developers and users, right? Wrong, and that's the point of this post. For everyone besides OEMs which can use the new freed Symbian OS to power their devices, to everyone else it doesn't mean very much.

In my mind, there are different types of OS platforms, created for one of several reasons, broadly separated into monetization, control or shared workload. Monetization - as shown by Microsoft - is that if you control a platform that becomes popular, you can charge money for it indefinitely as it's the basis for many other people's work. Control is what Apple and Blackberry do, where they don't license the platform, but use it to ensure they control everything about what happens on their platform and devices. Shared workload is what the Linux folk are about, where even though they lose control and get no fees, they still derive benefits from not having to do everything themselves, and the platform improves and is used more broadly as well with less investment on their part.

Symbian it seems has attempted to do all of this, first being an licensable platform attempting to be broadly used and monetize based on eventual dominance. Then Nokia wanted to have more control so they created the Series 60 GUI (and others) as a differentiator on top of Symbian, while UIQ was used by others. Then Nokia bought most of Symbian, and tried to license the GUI as well. Now essentially they're giving up on the two former options and are moving to the open model completely in an attempt to both share the work, and to increase adoption of the platform as a whole in face of competition from Microsoft, Apple and Google.

Now, in the PC world, having a platform - whether it's an OS platform like Windows, or an application platform like Oracle or Excel - means that others can develop on and expand the functionality of that particular platform. The more third parties expand that functionality, the greater value the underlying platform has, and the more the owner of the platform can monetize it. Developers won't target a platform with a low user base, which is why broad adoption is so important - so for many platforms giving away the razor in an attempt to make money on the blades is still the general strategy. Pretty simple. And once the cycle of platform, developers and applications is set up, it's incredibly hard to break it.

Except it won't work that way for Mobile OS platforms. Let me explain why:

No killer apps - Smartphones and other mobile platforms like Palm or Windows CE have been around for a decade now, and there's yet to be a killer app for them. A killer app is what makes a platform take off. No killer app? No dominant platform. What's the chances that there will suddenly be an application in today's heterogeneous and interconnected computing environment that *only* runs on one mobile platform and no others? Little to none, really.

No app variation - Oh, there might be thousands of mobile apps out there, but essentially they boil down to a few groups of applications - utility, communication, games, etc. which are pretty much the same regardless of platform. Go to Handango and see a bazillion versions of a calculator and get the idea. (As an aside, I predict when the iPhone AppStore launches in a couple weeks, there will be a lot of disappointment in terms of the quality and quantity of the apps offered).

No one buys apps anyways - Most users of mobile devices are quite happy to use the included apps that are installed from the outset. Most don't even know you can get more apps, and even then the data has shown there's a buying spree for about 2 weeks to a month after a user gets a new phone where they buy shit for it (apps, ringtones, wallpapers) and then they don't bother any more. All the mobile platforms are thus fighting against normal user patterns, and over a piece of the pie that is significantly smaller than the total number of mobile users.

No one cares about which OS - Ever notice that Qik, the video streaming startup that just raised a round recently - is powered exclusively by Symbian devices? Nope? Yeah, no one else does either. In fact, the only time you see it mentioned is when they're promising on a stack of bibles they'll have WinMo and iPhone versions out soon, really. The exception being Apple (as always), the rest of the world really aren't zealots about this stuff.

Anything a Native app can do, Java can do too - You could argue that Java is a platform in an of itself, and if so, maybe it has won and the rest of the platforms are simply variations of GUI and low-level plumbing. Mostly though, what it means is that applications are portable, and developers will port if there's a demand for it, or they'll develop using a technology that's made to run on multiple platforms from the outset.

The Wii lesson - The Nintendo Wii dominates the video game market with its family-friendly vibe and innovative controls, but the other consoles are also doing fine, thankyouverymuch. We've entered an era of multiple platforms and most people understand this. Companies in the video game market that want to sell to the broadest number of consumers target multiple consoles, and mobile developers will be no different.

Even saying all this, I still think that Symbian has a long struggle ahead of it no matter what. Eventually the fact that Symbian is not Windows, Linux or OSX is going to start really affecting the productivity of the developers targeting that OS. OEMs will have to maintain more code which they're less familiar with, and application developers will have to learn and keep current with a niche OS which only matters to a portion of their user base. Symbian has had 10 years to gain some sort of traction, and has only done so by the consistent, and almost irrational, support of Nokia.

It's a huge gamble by Nokia to continue supporting this OS, rather than moving wholesale to a different platform - both the $400MM they're putting down now, and the money they're going to spending in the future to maintain the OS. Just think of how far that $400MM would have sped them along had they chosen to move to something like Linux instead. That said, Nokia still has the dominance in the mobile phone industry to push it in a certain direction. I do think it really will be a matter of if and when other manufacturers embrace Symbian as to its future.

-Russ

mOlympics Redux

I just read this post on Read Write Web about the various options for keeping up with Olympics while mobile. It reminded me of my attempts four years ago to create a mobile Olympics news aggregator. I registered mOlympics.com and then slapped together a quick and easy news reader linking out to stories for the olympics.

It's amazing how different things are now... if I had kept that domain (I got rid of it in a purge a long while ago), it'd be so easy to recreate it and actually make money this year.

  • There's a ton more mobile traffic to take advantage of
  • There's ways to monetize - AdMob and Mobile AdSense
  • There's ways to promote the site (same as a above)
  • There's more news feeds of content to take advantage of
  • There's more original mobile sites to link to, and advanced transcoders (Mowser)
  • It'd be possible to link to mobile versions of video either via YouTube or using conversion sites

All of this of course makes me cringe at how early I was (again). Timing is everything and being four years off the market is obviously not good (in either direction). The question in my mind is it a matter of choosing a new idea and sticking with it for years and years until the market catches up to you, or is it a matter of timing it just right? I guess the answer to that question depends on how much money you can afford to lose before you start making money.

Speaking of making money, mOlympics.com now points to one of those SEO link-farm pages... I wonder how much cash that generates every month for its owner? Probably not a lot up until now, but it may pay for itself in the next couple months, I bet.

-Russ

There should be an HP flagship store

[image]

I don't actually go computer shopping that often, but as I've been using some seriously old hardware for a while now I finally decided to bite the bullet and upgrade to a better machine. It says a lot about my current hardware that "upgrading" means buying a laptop on sale. It's true you don't actually need a lot of horsepower to do web development with a LAMP stack, but I was getting sick of seeing my Firefox peg my CPU because of YouTube Flash videos or Javascript GUI demos. So it was time to look around like I posted about yesterday.

I ended up with a Sony Vaio that was on sale at Best Buy, and I'm setting up now with Ubuntu (installed perfectly... now I'm copying 95GB worth of crud from my desktop home directory over). But even though I like the Vaio, I kept thinking that it would've been nice to support HP since they're right in my backyard. The problem is the HP selection you see at any of the big box stores is incredibly limited - and pretty much what anyone who shops at Best Buy would see, whether they're here or in Kansas.

It seems like HP should really have a flagship store in Silicon Valley, no? Just like an Apple store, but filled with HP and Compaq computers, handhelds, servers, printers, whatever. One of the commenters on my post about my laptop hunt mentioned the HP MiniNote, which Om just reviewed today by coincidence, but I hadn't heard anything about it. (I actually don't pay much attention to the hot new laptops as I'm rarely in the market for one.) After seeing the comment, I went online searching for it and found you can buy one at Amazon.com in various configurations. That's great, but I want to try it out first before I buy it. I can walk to downtown Palo Alto and try all of Apple's products, why can't I do the same for the biggest computer manufacturer in the world who's *headquarters* are there?

There doesn't even seem to be any shops locally that have an HP focus. Central Computers for example seems to have a direct line to Asus in China. I was in their Sunnyvale store today and it was crammed with laptops, motherboards, mini desktops and the Eee PCs. It seems ridiculous that sort of thing doesn't exist (or at least I can't find it) for HP products.

Just a thought - mostly because the HP miniNote seems very cool and it would've been neat to drive down the street and play with it today. I'm into immediate gratification like that.

:-)

-Russ

Realistic Minimalism

Mark has a post today about his blog redesign, which was inspired by a few other blogs that have recently embraced minimalism. If you hadn't noticed, I've had that sort of simplistic design for quite a few years now. I actually saw someone else's very clean design at one point, and liked it so much I did it to my own site, which is why I won't claim credit for it, but I do want to point out that it wasn't for a lack of thinking about it.

The design of this blog is meant to highlight the posts and make reading easy for the user that clicks through to consume the information presented, understand its context, as well as navigate around afterwards. That means the fonts are large, the type is colored darkly on white background, the headings are easy to discern, as are the links (your basic blue link color), the whole text is centered but with a maximum width, the top menu is clear and basic, and there's no sidebars, widgets, or any other distractions from the main content.

Now, Mark's blog was already pretty spare - so when he's talking about minimalism, he's actually taking it to extremes by getting rid of anything in the surrounding page template that's not absolutely required - including the feed icon, and the next page, previous page links.

I think that's going a bit too far. You have to think like a reader of your blog. They want to know where they are, and what they are supposed to read, and if they like the content, where to find more. A common use case is the person that arrives from a web search: They find the post, and immediately see that the page is part of a person's weblog, written on a specific date. If they want more information about the author, the "About Me" is big and obvious. If they want to see what else I've written, they can click on the Archives link, or the Search link for more info. I can see the click stream for this blog using Google Analytics that this is pretty much how most searchers use the site. Almost always the next click after the first page is to the About Me page, and then to the Search or Archives.

Another use case is for regular readers who subscribe to the blog. Say if I write something interesting that they want to read later, they'll open it up in a tab for later retrieval. When they finally get around to the article, it's presented very clearly for them to read, with an obvious comment area at the bottom (when I turn that on) - and if they haven't been keeping up lately, the reader might click the big, centered Previous or Next links at the bottom of each post as well. I don't know how many times I've opened a tab later and wondered what the hell I had saved it for because the site was so confusing, or gotten to the bottom of a post, and had to search for Previous/Next links.

Minimalism to me is about making everything as easy and clean for the reader as possible.

(Oh, and the other advantage to this is when I choose to add in advertising, it's *such* a huge and obvious break in the flow of the normally clean page, the user can't help to notice it and click through if they're interested - or by accident, either way is good).

So, back to Mark's new minimalistic design.. Getting rid of the feed icon is interesting... and actually something I might consider now that I think about how I use feeds lately - I almost always use the auto discovery stuff in the chrome of Firefox. That way I can check the feed first (to see if it's full, or snippets, and how well it's formatted) before adding it to my news reader. I rarely hunt a feed icon down any more - only if there's no autodiscovery, really - and I'd bet most people are the same. That said, having the feed icon there is sort of a *reminder* to people to subscribe if they want as well, so getting rid of it all together might be detrimental.

The other stuff like getting rid of the obvious headers, links to the context of my blog, or easy navigation options? That's just silly, and will end up with people emailing me with complaints or out of general confusion. My blog (and Mark's) is already clean enough compared to many of the sites out there, there's no reason to over do it. Einstein said, "Make things as simple as possible, but not simpler."

One thing that I really would like to do is add in more color... I've tried various ways of decorating the headers or lines/boxes but it always end up looking garish. I even tried the 37signals' blue fade background that Mark has on his site, but it just didn't work. Eventually I'll figure it out (or run across some other blog out there has and copy it). Until then, I'll just stick with shades of grey.

Just my thoughts.

-Russ

< Previous