More about that crazy Nokia 770 Internet Tablet
Posted by mhamrick23 13 years ago
This is a continuation of the previous journal entry on my recently acquired Nokia 770 Internet Tablet.  
 
The Hardware  
 
I really like the 770's hardware. Or rather... aside from one glaring omission, it doesn't do anything to offend me, and given what I've seen on other systems, that's saying a lot. The unit is well balanced and given the design of the screen cover, it's clear someone put a little bit of thought into the overall aesthetics of the thing. The screen is small, but bright and much higher resolution than I was expecting. There are a smattering of buttons across the top (full-screen, zoom in, zoom out, power) with a five-way and three buttons along the front left of the device (escape, menu, home.) There's a fairly dinky speaker next to the five-way, but I rarely use it.  
 
The 770 comes with support for 802.11b and g for data networking. Bluetooth is also built-in. I was mildly surprised not to find an IrDA port on the thing. In the grand scheme of things, I suppose Bluetooth has taken over IrDA's place in the universe. Finally... if you look very carefully, you can find a mini-USB connector on the bottom.  
 
The One Problem With The Hardware  
 
The 770 is missing an microphone-in jack. Unless it's secretly hidden inside the audio-out jack, waiting to be activated with a firmware upgrade, I just don't see it. All is not lost, however, as it should be possible to pair with a bluetooth headset for audio input. I suspect we might find some way to hook a headset up to the mini-usb port, but I'm not having much luck searching for such a critter. Still... I would have preferred something more direct.  
1980's Music Poll War
Posted by mhamrick23 13 years ago
I hereby accept deathburger's clear challenge to duel!  
 
Whereas the unwarranted and unprovoked use of Rockwell lyrics in a LinkFilter poll may lead to protracted mental anguish as we try to forget all the songs where Michael Jackson was a special guest star...  
 
This action is clearly a challenge to be resolved on the field of honor!  
 
As one challenged, I claim right to selection of weapons. I hereby choose a challenge "To the Death by LinkFilter Poll!" (hmm... better clear my calendar... I suspect this could take a while...)  
 
But seriously... this could get ugly. Witness my poll in response...
Discussion about Self-Promoting Links
Posted by mhamrick23 13 years ago
Hmm... there was a story buried somewhere on LF about a logistics portal. The description of the site was something like "this is a site run by a friend of mine." What followed was a flame war about self-promoting site. Here's the comment I made before the link was eventually pulled.  
 
Well... what if the "plug" is apropos? I mean if someone posted a link to Orkhut, I would feel honor-bound to post some follow-up about Ryze, run by my friend Adrian Scott. Or if someone was talking about digital tontines, I feel I'm not simply plugging my site by pointing to the article on Stacking Fault where I whip that dead horse.  
 
(now... had I actually posted links in this comment, that might have been a bit much...)  
 
Perhaps the concept at work here is that if the only thing you've got to say about a site is, "my friend has this site," then maybe you're missing the point. Maybe if you said something like, "here's a portal site for people interested in logistics. I think it's interesting for reason a, reason b and reason c. If you're a supply-chain kind of person, you might enjoy looking at it. And oh yeah... in the interests of full disclosure it's run by someone I know."  
 
Several times I've written pieces for my blog that were original and came to conclusions I couldn't find anywhere else on the net. In producing these blog entries, I will frequently use links to topical news stories. I don't think it's simply self-pumping if you're adding something to the discussion. If you have something interesting to say, you should say it. If it's on your blog, then who cares, as long as it's interesting and contributes to someone's understanding of the issues involved. People have blogs to post their ideas, thoughts and obvservations.  
 
Sites like Linkfilter, Kuro5hin and Digg act as quality control filters. If the only thing you're doing is reposting a story from someone else's site, then no... you shouldn't be on Linkfilter. If you're posting original ideas that you think might be of interest, then I don't think there's a problem with posting links to your own site.  
 
However... you should be very careful you don't draw the ire of the user community. If you're posting links to LF in an effort to draw eyeballs... well... you could probably find a much more productive use of your time. If you're posting links to LF to stimulate a discussion and share interesting tidbits, that's cool. If you post stuff that routinely gets rated low, that should tell you something.  
 
(and on that note, it's always fun to look at the low rankings from other users and learn from their mistakes. For instance, I'm unlikely to post anything like that "Depression is a Choice" link I submitted a couple weeks back. Though it's in line with my experience, it's kinda clear that there was a vocal minority that though it was way off base. I don't view this as pernicious self censoring. I get to post three links per day, and I would prefer them to be of interest to the LF community.)  
 
Anyway... I've pontificated quite enough. Hmm.. maybe I should have put this in a journal entry...
A Little More Info re: the Nokia 770
Posted by mhamrick23 13 years ago
Okay... I've been planning on writing a review of my Nokia 770 for my own blog, Stacking Fault, for a couple weeks now and have yet to find the time. I figured I would use this journal entry as a place to store my thoughts until I have a little more time to write a proper article.  
 
Figuring Out I Wanted One  
 
So I've been working with small embedded devices for a while. Some of my first serious programming gigs were doing real-time control things for Commodore 64's and Apple ]['s back in the day. More recently I've been doing PalmOS, WinCE, Symbian, iTron and J2ME programming. If you've ever had to deal with these platforms then you probably know why I'm nostalgic for the old days. I've also done a fair amount of Unix programming, mostly building development tools and encryption libraries. Way back in the olden days I worked for a company called Convex that had a "real time Unix" operating system. I remember I chuckled when I first heard this term and in some ways I still do.  
 
The main reason I chuckle about "real time" Unix is that when I learned about operating system design, the conventional wisdom was you either had "real time" or "time share". "Real time" meant your program had more-or-less complete control of the CPU and you needed it to quickly respond to I/O requests. "Time share" on the other hand meant you shared the CPU with other users (or at least other programs.) Your program ran for a little bit, then the OS "pre-empted" your program to give a time slice to another program. Modern systems were configured so that this was transparent to your program. When your program was halted, it's entire state was safely stored in a protected region of memory.  
 
So the reason that "time share" was considered the opposite of "real time" is that time-share systems never knew when they would get interrupted; real-time systems on the other hand had to know these things so system integrators could figure out if the programs they were loading up on the device could handle the typical I/O load. So when I heard about "Real Time Unix" it was as if someone was taking great liberties with the concept of "real time" or the concept of "Unix."  
 
The Convex solution (like many modern solutions such as DROPS) is to put a "real time layer" underneath the Unix/Linux kernel. Using this technique, you can (or should be able to) insulate Linux from the device hardware and run it as a task in a "real time" OS. In other words, you write another smaller OS that knows how to handle real-time I/O requests and when that OS isn't doing anything important, you run the Linux kernel or Linux processes.  
 
But nobody's really doing that these days, they're all running Linux directly on the hardware. (Actually this isn't really true... Early last year Qualcomm announced they (like every other mobile device manufacturer) are going to start supporting Linux. Later last year they announced [PDF] they're actually using L4/Iguana to do real-time Linux.  
 
So I've always been a little curious, so I've been trying to get some version of the L4 microkernel to run on a Cirrus EDB9301 Development Board I have kicking around. I never had too much luck with the project, mostly because I just don't have the time.  
 
Then a couple of co-workers bought 770's and I fell in love with them after seeing them. For being a Tablet, they're a beautiful form-factor. They have a 800x480 screen and are handy enough to carry about easily. They're slow as molassas, which is kind of funny since they're supposed to be running a 250Mhz TI OMAP processor. My suspicion is the OS is dreadfully mis-tuned for the hardware. Based on experiences with other, similar systems, the interface should be at least as twice as fast, and then with optimization, it could be an order of magnitude faster.  
 
In a couple of weeks after my personal life has settled down, one of the first things I'm going to try to do is port the Squeak virtual machine to the thing using the current Maemo tool-chain. Squeak is not really known to be a speed daemon, so if I can get decent performance out of Squeak, then I'll know something's up with their modified UI widget toolset. From there I think I'm going to try to find out how to write directly to the screen and see how much of a performance hit we get from their UI framework. Eventually I would lke to get some form of L4 up and running on the device. But I'm not a big fan of the C++/IDL solution the Pistachio guys are working on, and I'm also interested in trying to figure out if a Single Address Space OS like Munghi would be a performance boost for this class of device.  
 
So, in short, I decided I wanted one of these devices because I think the form-factor is beautiful, and it deserves to have a reliable, secure OS on top of it. Please don't take this to mean that I think Maemo is "bad". They're doing a phenomenal job wading through a lot of issues and supporting a number of different stake-holders. Future versions of Maemo for the 770 are, I am sure, going to be a lot speedier and come with more features.  
 
Getting a 770  
 
Getting one's hands on a 770 is a bit tricky. Some people I've talked to believe this is because Nokia can't be making money on these things. This belief stems from the fact that the screens are very, very nice. Plus you add the WiFi and Bluetooth and you get a BOM cost over $425. At the time I'm writing this, the 770 retails for about $360. So our theory is that Nokia's just seeding the developer market and they're not planning on making the 770 in mass quantities. Keep in mind that this is idle speculation... though I've been writing software for embedded devices for a while, I have no real way of knowing how true this suspicion is.  
 
But I do know that a lot of early adopters were ticked off by Nokia's handling of pre-orders. I wasn't paying attention to the details of the story, but essentially what happened is this... Nokia told people they were going to ship them in November '05, and even opened up a site where you could pre-order them. So imagine everyone's surprise when they announced shipments were going to be delayed until January. Yikes. Engadget has a story about the whole sordid affair on their site.  
 
Topping things off Nokia started passing these things out to bloggers and reporters while developers were left waiting for their orders to be fulfilled. This kind of ticked off the user community who pointed out that it's the developers that make or break a platform, and giving the early devices to bloggers and reporters when the device is "not ready for prime time" will only get you bad reviews from the press and tick off the developers. The guys at Internet Tablet Talk posted an An open letter to Ari Jaaksi of Nokia, complaning about this practice (amongst other things.)  
 
My experiences weren't as bad as some peoples, but I've got to say, I really had to keep on top of the Nokia guys. More than once they put my order on "hold." The first time they claimed they sent me an email saying I was supposed to call them to confirm the order. I never got such an order and I carefully checked my spam logs... nothing from Nokia. So clearly they have a little bit of work ahead of them. Like for instance... if you're going to require people phone in after making an online order, maybe you could put something on the order receipt page. After completing the order process on the web page, I didn't realize I needed to do anything else. The mysterious email you said you sent never made it to my mailbox. I only called to check on my order because I had heard rumors of other problems with the order process.  
 
Well... I finally got my tablet, and I can confirm, the hardware is very nice. The software needs some work, however...  
 
more later...