Latest Updates: mobile RSS
-
erik
Blackberry Supported CSS properties: Alphabetical – Chart of CSS properties supported by Blackberry devices. Handy for mobile web dev. -
erik
IDEO Labs LiveView: an iPhone app for on-screen prototyping
IDEO Labs just released a killer app for iPhone prototyping called LiveView. The application allows the iPhone to view, and interact with, a region of your desktop machine’s screen. Using this, you can have a prototype (or even an XCode application) running on your desktop, and try it out from your iPhone.
-
erik
Recovering deleted images from a Nokia N90 (Symbian OS)
Over the holidays we had an accidental deletion of every image on one of our phones (a Nokia N90, Symbian OS device.) Mild panic was quickly replaced with a gentle pondering on the difference between what a normal person would do in this situation vs. what a geek would do. The geek process goes something like this:
Step 1: Get the memory card out of the phone as quickly as possible
Either shut the phone down and pull the card, or use the super-secret combo hidden within the profile-switching shortcut to have the phone un-mount the card.
Step 2: Obtain a USB memory card reader
I’ve needed a reason to buy one of these for a long time. Good thing I had a gift card left from the holidays. I went with a Dynex gazillion-to-one card reader, not for it’s technical superiority, but because it was the only thing the shop nearby had.
Step 3: Stick the memory card into the reader, and plug the reader into your Linux box
Mine happens to run Ubuntu at the moment, but the results will likely be similar on other distros.
Step 4: sudo apt-get install testdisk
Testdisk “was primarily designed to help recover lost data storage partitions…” and includes a utility called “PhotoRec“, which is what you want.
Step 5: Run photorec
PhotoRec is a data recovery tool designed specifically for recovering files from digital camera media. It supports a number of file-system formats, including the FAT format that Symbian OS uses on it’s memory cards. PhotoRec is a text-based, terminal application, but it does the job perfectly.
Select the mounted memory card from the list of drives (which should be easy to spot given how small memory cards are relative to modern hard drives), and send it scanning. PhotoRec can be told to look for specific file types (you want JPG’s, in this case), but by default it will look for just about any media file format that you’re likely to have on your phone. Files will be recovered and written to a local directory.
Step 6: Sigh in relief when you see your beloved cat pictures returned to you
PhotoRec isn’t going to restore the images to the memory card’s file system such that the phone can see them again, but you’ll have the pictures on your Linux box now, and can copy them back over if you choose to. The naming scheme will be different, but that’s an acceptable compromise.
-
erik
My new phone used to be a web tablet
The Maemo team has been quietly rocking Nokia’s world for some time now. They’re off in the background building (almost pocketable) mobile computers; fine-tuning touch interfaces and small-screen UIs; becoming experts in embedded linux; and bringing top-notch open source software and modern development tools to this unique mobile platform. For years, the Nokia tablets have sat on the side-lines as niche devices for hackers; but lately, the team has been changing the game.
The Nokia 770 and N800 have always faced an up-hill battle with market adoption given their lack of GSM/CDMA support. “Is it a phone?” is one of the first questions people ask when they see me using one these devices. Saying “No, it’s a web tablet” only brings a look of confusion. Thankfully, the latest software releases, wider market recognition of UMPC‘s, and the iPhone release, have had a huge impact on the perception of the N800.
The Internet Tablet OS 2007 edition 4.2007.26-8 upgrade (released earlier this month) brought Skype support to the N800. While perhaps playing second fiddle to a Flash upgrade that makes YouTube work better, adding Skype greatly improves the likelyhood of using the N800 as a portable VoIP device. However, even more significant is the recent Internet Communications Software Update for N800. This update adds SIP support to the N800 for VoIP calls — a feature that turned my N800 into my new desk-phone at work.
At Optaros, we use Asterisk to run our phone infrastructure. There are the occasional physical SIP phones in conference rooms, but in general, we use soft-phones running on our laptops to make and receive calls. The downside here is portability. Even using WIFI, a laptop doesn’t make the best cordless phone. But an N800 does. The N800 is actually quite nice as a cordless phone; and with WIFI available in the office, at home, and at nearly every business in Austin, my phone extension can now be routed to my Nokia device and be available almost everywhere.
It may take awhile for the market to notice this, but Nokia is quietly taking the top-spot in mobile linux and VoIP hardware know-how. The Nokia linux tablets aren’t quite ready for the general consumer (in terms of usability), and the marketing messages aren’t there yet either — but the R&D is, and the technology will be ready to drop-in and rock the mobile-phone world as soon as the strategy dictates.
-
erik
Ubuntu + Hildon UI = in-Car PC UI
Awhile back, Ubuntu announced a mobile and embedded edition of it’s popular Linux distribution. The buzz was around the possibility of Ubuntu Mobile showing up on future UMPCs. The news caught my eye, but didn’t really get my attention until the plans for Ubuntu 7.10 (Gutsy Gibbon) were announced:
“Ubuntu 7.10 will be the first Ubuntu release to offer a complete mobile and embedded edition built with the Hildon user interface components” (developed by Nokia for the Maemo platform.)
Now that’s interesting. Could it be that we’ll see Ubuntu Mobile booting on Nokia N800′s? It’s certainly a possibility — and one that could bring a larger breadth of software to Nokia’s mobile Linux tablets.
However, as interesting as it may be if Nokia adopts Ubuntu, the possibilities for wider Hildon support didn’t hit me until my drive home today. It was one of those obvious moments. I had been using my Nokia N800 while walking to my car, so the touch- and small-screen friendly UI was fresh in my mind. Then I started thinking about my Car PC. It uses a 7″ touch screen and runs Ubuntu (a full distribution, with a UI designed for full-size monitors.) Running Gnome on my cheap, in-car 7″ monitor makes for a pretty lousy experience. Text is hard to read, and everything is too small to click on. However, if this news is right, Ubuntu 7.10 will change all of that. I’ll be able to run Hildon on my Car PC! That’s killer. Imagine having Canola running in-car, sitting on 100GB of multimedia…
-
erik
iPhone development platform will wake up the mobile industry
One of the most interesting topics of iPhone speculation is the choice of interpreted, web technologies as the development platform. I greeted the news with a big smile, and a sigh of obviousness. Having spent a few frustrating years preaching the potential of agile mobile development platforms, it sits near and dear to me to here that Apple is paying attention to a bigger market.
Of course, the old-school, “Mobile 1.0″ crowd’s reaction is just as I would expect. Some of the claims make me laugh, so I felt motivated to chime in on the topic. Let’s break down the big three that I’m hearing:
“No SDK means no killer apps.” There are two issues here: (1) That there are ‘killer’ mobile apps that aren’t already included in the iPhone; and (2) That killer apps can’t be built with web technologies. For the first bit, ask yourself what the killer mobile apps are? Number One is voice… Number Two is SMS… Number Three varies, but support for syncing PIM data, taking pictures, listening to music, checking email, and browsing the web, pretty much covers it. For the second part, to assume that killer apps can’t be built with web technologies would require denying the last ten years of Internet development. The Web has changed everything — and it was built with web technologies ;-) Besides, Apple hasn’t commented yet on whether they’re exposing select native API’s via JavaScript.
“No clear revenue stream (for developers and operators) means no developers.” Stop thinking Mobile 1.0. Stop thinking traditional channels. Stop thinking about the Operators and Manufacturers “owning a customer”. Drop all this telcom baggage and start looking at the Web. There are plenty of companies making significant revenue simply because a large number of people have a browser and a data connection to their PCs. If anything, the mobile market becomes more interesting (and potentially more lucrative) when application development is cheap and the legacy mobile bureaucracy is out of the way.
“Developers need low-level access to the hardware.” This actually came up in a recent conversation, and I just about walked away at that point. Are you kidding? Do you have any idea how much of a PITA (and HUGE waste of time) it is to develop high-quality, reliable, usable, native applications on embedded hardware? I do. And I can assure you that you want no part of it. I appreciate the occasional need, and I’m sure Apple can give the John Carmack’s and Google’s of the world a l33t SDK; but if you’re looking to develop innovative, profitable mobile applications, there’s no reason for you to be tracking down memory leaks and hardware bugs. The less time you waste fighting the hardware, the more time you’ll have to launch new software. (If you don’t believe me, compare the rates of software and business model innovation that happens on the Web vs. on mobile phones. Mobile phones have done wonders for flattening the world, but they can’t compare to the Web as an environment for cheap, rapid innovation.)
-
erik
How to get a free iPhone
- Step 1: Go back in time to the day before the announcement.
- Step 2: Buy $3500 in Apple stock.
- Step 3: Sell the day after the announcement.
- Step 4: Take your winnings to the Cingular store.
There’s a lesson in there that I’ll leave as an exercise for the reader.
-
erik
PyS60 1.3.14 released today: OpenGL ES support included
The PyS60 (Python for S60) project has released version 1.3.14 today. Notable new features include OpenGL ES and text-to-speech modules! See the SourceForge download page for installers and source code.
-
erik
Mobile Gmail application from Google
Google has released a mobile Gmail client! See the press release for details and download instructions: “Email On-the-Go Now Even Easier — Google Launches New Mobile Application for Speedier Access to Gmail”
So far, it’s working quite well on my Nokia N90. The previous mobile browser-based interface to Gmail was ok for emergency use, but this new Java client looks nice enough to actually use.
Thanks Google!
-
erik
Collecting Python for S60 success stories
Even though I find the title a little inappropriate (sorry, Kevin), there’s a question being posed over on the Forum Nokia blogs that’s worth responding to if you happen to use Python for S60:
“What’s Python good for, anyway?”Kevin Sharp (the post’s author, and one of Nokia’s Technical Editors), is looking to help promote Python for S60, but first needs to collect some success stories.
I know there’s a few of you who drop by this blog from time to time that are doing amazing things with PyS60. If you can spare a few minutes to write a response, it would be a great help to the project. Thanks!
-
erik
Real-time patches going into Linux kernel
One of the most common concerns I hear when talking about Linux on mobile devices, is the lack of true real-time support. Perhaps this will be a step in the right direction: “Linux kernel gains new real-time support” (linuxdevices.com)
(via “Linux Kernel Goes Real-Time” on slashdot)
-
erik
Open position at Nokia in Austin, TX for a Python/Java developer
For all the Pythonistas, there’s a publicly-listed position open at Nokia’s Austin, TX office:
The Software Engineering position will be responsible for development of software analysis tools within an Integrated Development Environment. The candidate will be required to design/develop static analysis models within Python that provide expression parsing and design pattern matching of Symbian OS applications and various UI environments, including UIQ and Series 60. Integration of the analysis tools within a Java based integrated development environment will be required through the development of application plugins. The candidate will be working in a fast paced software development environment that is very customer focused and is able to adapt features to meet customer requirements within planned product release cycles.
A couple thoughts to help interpret the above description:
- You won’t be starting from scratch.
- “A Java based integrated development environment” means Eclipse.
- If you’re not familiar with what the Austin office does, check out the “Creating Carbide.c++ Blog.”
In case the link to the job posting doesn’t work, try starting from the Nokia Careers page, which is either: <http://careers.nokia.com/> or <http://www.nokia.com/careers>.
Take note: If you’re interested in the position, contacting me isn’t the way to go. Follow the link to the job description and click the “Apply” button. Even if you know people in the office, you need to apply online to officially become a candidate.
-
erik
PyS60 3.1.11 released
Python for S60 version 3.1.11 was released today! More details can be found on the PyS60 Discussion Board, and the installers and source can be downloaded from the PyS60 project on SourceForge.
-
erik
Ruby for Symbian
This isn’t a Nokia project, but a friend pointed me to Ruby for Symbian today:
“Ruby for Symbian is [...] the Ruby interpreter built for Symbian OS. Though the Series 60 devices are the main focus, more Symbian platforms could also be supported. The eventual goal is integration into mainline Ruby distribution.”
From the single screenshot on the site, it looks like the project is in an early stage, focusing just on getting an interpreter running (ie., no GUI or native API bindings.) I suppose then, it’s much like the Symbian Perl project in that case. But still, it’s promising to see it happening!
While we’re talking about agile/dynamic languages, Python 2.5 (FINAL) was released today (see What’s New in Python 2.5 for details), and it looks like Komodo 4.0 a5 was released this week as well!
-
erik
PyS60 in Africa
I’ve heard from a number of University groups doing work with Python for S60 (PyS60), but the Entrepreneurial Programming and Research on Mobiles program though the University of Nairobi and MIT is perhaps the most inspiring. The program’s first course, “Mobile Application Prototyping with Python” is being taught to students with little to no programming experience, in hopes that this education can lead to economic growth for poor communities.
During the development of PyS60, it didn’t take long to see that Universities were going to be a huge early-adopter of mobile Python, but the idea that someone’s first experience programming a computer could be with PyS60 is truly heart warming.
In other PyS60 news, the S60 Multimedia Blog has a post titled, “Manhattan Story Mashup“, with quotes from the behind-the-scenes development of the real, “Manhattan Story Mashup” project, which was developed in Python. I love quotes like, “I have spent only some 2-3 weeks implementing the client in total. Almost like magic.”
Finally, I wanted to mention Teemu’s new PyS60 app, Fupper, a Flickr uploadr for S60 phones.
-
erik
Just a couple quick links for today:
- The Official Python for S60 Wiki has launched!
- “Mobile Multimedia Mashups” — Oren (Nokia multimedia guru) has posted some PyS60 source code (and screenshots) of a demo application he wrote for accessing Audioscrobbler from a mobile phone.
-
erik
Python for S60 3rd Edition… finally
It’s finally out. See Jukka’s post: “Python for S60 3rd Edition” on the discussion boards!
-
erik
GPS + Compass for location-aware mobile search
Found this nice piece on an application of geo-aware (location based) mobile search:
What’s that? In Japan, phone has answer
“If you stand on a street corner in Tokyo today, you can point a specialized cellphone at a hotel, a restaurant or a historical monument, and with the press of a button the phone will display information from the Internet describing the object you are looking at.”
The technology is a combination of GPS + compass + internet connectivity. With the GPS chip on-board, the phone knows where it is, and with the compass it can tell which direction you are facing. Using that information, the phone can perform a very accurate location-based search.
It would be interesting to combine this technology with what the ZoneTag folks are doing on location-based image recognition. It’s pretty easy to imagine mobile devices that can tell exactly what you are looking at, translate signs, give directions, and pull in community feedback to help navigate and explore the world. Anyone who’s experienced the joy of wandering foreign cities can appreciate the value in having your mobile keep an eye out for restaurants and activities nearby that you won’t want to miss!
-
erik
The PaperKeyboard project
Found another mobile-python hacking gem: The PaperKeyboard project is attempting to use an S60 phone’s camera to recognize character input on a printed, paper keyboard. The project includes proof-of-concept code using Python for S60. The author has opened a discussion on the PyS60 boards.
While we’re on the subject, the Guardian posted an opinion piece yesterday titled “Python: the full monty for mobile applications” which suggests that Python might be just what the mobile market needs to attract hobbyist hackers to mobile phones.
-
erik
“How To Use Python In Maemo”
There’s now a lengthy “How To Use Python In Maemo” tutorial on maemo.org that’s worth checking out.
