LEAF Link is now available on the App Store!
http://itunes.apple.com/app/leaf-link/id542304940?mt=8" onclick="window.open(this.href);return false;
LEAF Link - my new iPhone (and iPad/iPod touch) app - is finally ready for beta testing. If you have one of these devices and are so inclined, I would really love to get your feedback.
[Yes, I would LOVE to make an Android version; unfortunately to make that happen, you may need to convince my boss to give me a month off so I can teach myself Java and Android UI programming.]
What is LEAF Link?
The app has two primary features: replace Nissan's clunky CARWINGS app, and easily send addresses/location to the car's navigation system.
It started out as just the navigation portion. I realized that the Nissan app ought to be able to send my contacts' addresses to the navigation system for routing, so I wouldn't have to type them into that horribly clunky virtual keyboard on the center display. Same thing for any other place I might go to - restaurants and other businesses. It's easy to search my phone for a new place, but a real pain to type that address into the car. Thus LEAF Link was born.
The CARWINGS replacement was the next logical addition; what was I going to do with all that extra screen real estate, anyway?
The basic idea here was to fix the various UI blunders in the Nissan app, from periodically forgetting the username/password, to blocking the user interface while waiting for the network, to requiring far more touches than necessary to do things. I designed the main screen to show all status at a glance, and requiring only one touch to perform most operations (note that to avoid sending accidental commands, by default you will be asked to confirm before sending a charge or climate control command; this can be turned off if you like living on the edge).
You also have the option to automatically update status any time you switch back to the app, if the existing status is old. Unfortunately what I can't do here is speed up the process of getting an update from the car. That's completely up to Nissan's servers and the car's telematics software.
This only displays what is reported by CARWINGS. It makes no attempt to provide a better estimate for things like range and charge time.
Also, I should mention that there's a demo mode if you don't login to CARWINGS. Right now it's incomplete, but will be finished before the app is submitted to the App Store.
This works by creating an Information Feed (RSS) that you can download from CARWINGS in your LEAF. There are 5 buttons in the bottom toolbar allowing you to find addresses/locations to send to your LEAF.
1. Search: as you type, it will narrow down results from your contacts and from places you've recently sent to your LEAF. You can also search Google, either by hitting the return/Search key, or by selecting the "Search Google" item that appears when none of your local data matches what you've typed.
2. Contacts brings up Apple's standard people picker UI.
3. Recent Items brings up a list of places you've recently sent to the LEAF. You can edit this list, deleting individual items, permanently saving items, or clearing the entire list.
4. Map: by default, your contacts and recent items are displayed as pins on the map. Touch one to select it for sending, or touch the blue arrow for more configuration.
You can also display charging stations. This data comes from Open Charge Map. Their database is very extensive, but doesn't appear to be quite as up-to-date as PlugShare or Recargo (unfortunately near as I can tell, the latter aren't sharing their data).
Finally, you can also touch and hold anywhere on the map to drop a new pin there. Once on the map, a dropped pin can also be dragged around to fine-tune its location. Again, the blue arrow allows you to edit its info before sending.
5. New Place brings up a dialog with blank fields for you to fill in before sending to the LEAF.
In all of the above, selecting a place brings you to a screen where you can edit its details. The LEAF can actually display an image when you retrieve an information feed, so this allows you to select an image to send along with address/location. It's pretty much a gimmick, but what the heck. I usually don't select an image because the LEAF's cellular connection is slow enough that it sometimes takes noticeably longer to download a feed with an image. You can choose from a street view image (if available) or a contact image if you selected one of your contacts.
When editing place details, you can show it by itself on a map. This allows you to drag the marker around to fine-tune its location if you know that Google's location is a little bit off.
In order to send the navigation feed to your LEAF, you need to add it to your Information Feeds list on the CARWINGS website. This is a one-time setup. There are instructions in the app to do it (later I hope to have the app itself do it by faking the appropriate browser requests to Nissan's web servers). Hopefully those instructions are adequate.
What's not yet in the app are instructions to retrieve the feed while in the car. It's pretty simple.
First you need to tell it to update information feeds (after the above setup on the website; again, one time only):
3. CARWINGS Settings
4. Information Feed Setting
5. Edit Feed List
6. Update Feed List
Then every time you want to retrieve a location you've sent, just follow these button presses:
4. LEAF Link
5. When the car starts reading the location title, hit Pause
6. New Dest.
It gets to be habit pretty quickly, and really convenient when on the go.
If you are interested in testing/using LEAF Link before it goes on the App Store, please email me at firstname.lastname@example.org with the info below. I will need your device name and identifier in order to add it to the list of authorized test devices; otherwise the app won't run for you. Here are Apple's instructions to do this:
DebuggingTo send your device ID to a developer for test-program registration:
1. Launch iTunes.
2. Connect your device to your computer.
3. Select the device in the Devices list.
4. In the Summary pane, click the Serial Number label. It changes to Identifier.
5. Choose Edit > Copy.
6. Send your device identifier to the developer. Be sure to include your name and device name in the email.
In the Info/Settings screen (touch the "i" button in the upper right of the main screen), there is a big red preference called "Send Debug Data". For privacy reasons, it's off by default, but it would be a HUGE help if testers would turn it on. This will send your CARWINGS communications to me so I can analyze them in case there are CARWINGS messages or error conditions I haven't seen yet. Personal info, including your username/password and VIN, are scrubbed before sending to me.
I'm particularly interested in what the messages look like when someone has more than one LEAF (does that describe anyone here?). Right now I assume only one car per CARWINGS account.
I'm also interested to know if the app properly displays lost capacity bars for those poor souls in hot places. I believe it does, but you can only do so much testing without the real deal.
I'd like to know if the CARWINGS login works for people outside the US. If not, I'll need to build in support for using Nissan's alternate servers around the world.
Finally, if anything unexpected happens, I would appreciate a report so I can look into it.
I'm pretty sure the app is going to be free once released to the wild. I just can't see many people paying even $0.99 for this when the Nissan app, clunky as it is, is free. I know I wouldn't. I would also like to reach the widest audience possible, realizing I have already restricted myself to the (a) LEAF owners who (b) have an iOS device and (c) hear about LEAF Link one way or another. As it is, my biggest fear is that only 3 people will use it, all my hours spent generalizing it for anyone to use being wasted.
Still, I'd love to at least cover some or all of my recurring costs for putting this up on the App Store, as well as my server hosting the navigation feeds. Any ideas for extra value-added services would be most welcome. My best idea here is to offer a charge timer service, using my server to send a charge command at the specified time. I'm not sure what a reasonable price for such a service would be, or how many people would use it.
That, or have some kind of in-app purchase for a token digital good (recognition? a virtual gold star?) that's really just a donation for those so inlined...
Please post any general comments, feedback, feature requests, etc here. I would love to hear any ideas for making LEAF Link better. That goes for people without an iOS device as well. Keep in mind that I can't do anything about features not present in the car itself, such as the ability to send a remote charge stop command or remotely lock the doors.
If you're a tester having specific issues, it may make more sense to take that to email, but here is fine too.
Currently my TODO list includes:
1. Several minor feature updates
2. Fix a few minor bugs that still exist
4. Finish demo mode
5. Artwork (icon, loading screen, etc)
6. Any great features you people come up with that are doable
7. Maybe an iPad-specific interface, but what would I do with all that extra space?
Whew! Thanks for reading that mountain of text!