Android app review: ADSdroid gives you every datasheet, ever

A few months ago when I reviewed the Android electronic reference app ElectroDroid, I made the offhand remark that a front end app for alldatasheet.com would be a killer mobile electronic reference app. [András Veres-Szentkirályi] accepted my challenge and built ADSdroid, the unofficial Android app for alldatasheet.com. You can check out my complete review after the break.

Before I begin this review, I’d like to point out that [András] is giving ADSdroid away for free because he thinks his work exists in a moral gray area. ADSdroid simply parses the HTML generated by a search on alldatasheet.com, strips out the ads, and serves the .PDFs. It’s no different than opening up alldatasheet in your browser. The folks at alldatasheet survive on advertising, though, so we’ll agree that [András]‘ choice not to put his app up on the Android market is probably the right decision.

The good

After launching ADSdroid for the first time, you’re greeted with a simple text box asking you what part you want to search for. Like the search tool on alldatasheet.com, your search term can be included in the part name, an exact match for the part name, or have the returned entries start or end with your search term. There is no ‘search by description,’ as on alldatasheet.com, but I can’t imagine that function is used very much.

When ADSdroid returns your search, you’re presented with a list of matching parts. In all honesty, an ATtiny25 might have been one of the worst searches I could have made to demonstrate this app; alldatasheet.com returns two pages of entries for ATtiny25 microcontrollers. These entries are just the same chip rated for different voltages, speeds, and in different packages.

After clicking on one of the entries, ADSdroid downloads the linked .PDF and displays it on my screen:

Of course, finding the datasheet for an ATtiny25 is very easy. I decided to give ADSdroid something harder to find. ADSdroid can find anything on alldatasheet.com, and the value in having a portable reference is weighted more towards the more esoteric components users would come across. After digging through my parts drawers to find the strangest part to pit against ADSdroid, I finally settled on a linear CCD made by Toshiba, part number TCD143D:

How did ADSdroid fare? Not well, I’m afraid. ADSdroid is simply a front end to alldatasheet.com, so anything not hosted by alldatasheet won’t be found. ADSdroid did manage to find two close cousins of my linear CCD chip; possibly good enough to get the pinout, but not much besides that.

The still very good

Even though ADSdroid wasn’t able to find exactly what I needed, it’s only as capable as the database behind it. Alldatasheet.com doesn’t have information on every single electronic component, but ADSdroid does it’s job very well.

There’s a few features/bugs that I’m sure a few people will complain about: Firstly, there is no built-in PDF viewer. ADSdroid relies on the default PDF viewer on your phone. While this is a great software design choice, if you don’t have a PDF viewer installed, you won’t be able to view datasheets.

Secondly, ADSdroid saves PDFs to the internal SD card by default. Again, a great design choice but I found it awfully confusing as to why downloads kept failing while I was recording screenshots with MyPhoneExplorer. No big deal, I just need a way for cyanogenmod to give me native screen capture support.

Lastly, there’s the issue of returning dozens of similarly-or-identically named components, as I experienced when searching for ‘ATtiny25.’ Giving the user a list of seemingly identical items to choose from is a terrible problem with the UI of ADSdroid, but that problem can be easily not so easily solved by just returning one result for each unique search result. (see vsza’s comment below)

That’s an overly harsh review, I know. ADSdroid is a remarkable tool that is now sitting right beside ElectroDroid on my phone. It really is a great app as it is right now, and I would gladly pay a dollar for it if it were available in the Android Market.

Because [András] had a few moral questions about his app, he hasn’t put it up on the Android Market (or Google Play). Instead, he’s providing the .apk on his website and the source on github. Just download the .apk, connect your phone to a USB cable and transfer it over to the SD card. A very simple installation if you know what you’re doing. If you’re even considering getting an app to download datasheets, you probably have the technical skills to install ADSdroid.

In short, ADSdroid is the app I’ve been waiting for. The current Android datasheet app is, ‘no better than a bookmark,’ per one user’s review, so [András]‘ app fills a huge gap in the mobile electronic reference category. Just try not to use it too much; we don’t know if the folks at alldatasheet.com will be happy with serving .PDFs without getting ad revenue.

Comments

  1. iUser says:

    Cool beans, will there be one for iOS too?

  2. EvilPharmacist says:

    Installed, tested and approved.
    Great work!

  3. vsza says:

    I was aware of the “terrible” listing of identical component, but just try and search for the same thing on the web interface, and you get the same result. It’s not trivial to tell whether two results with different IDs but same name and description are really the same. :(

    See for yourself: http://www.alldatasheet.com/view.jsp?Searchword=ATMEGA168

    • Hey everybody. This guy is the author.

      Calling it terrible was too harsh, and I apologize. Asking the user to choose between identical choices isn’t a UI best practice, but that’s what alldatasheet does anyway. You’re working with what alldatasheet gives you, and right now it’s freakin’ awesome.

      I wonder if it would be possible for something like the crap pseudocode below to work around this problem

      if(current item in lis.equals(previous item in list)
      skip to next item in list

      to be honest, I’ve never sat down and compared the different versions of datasheets available (it’s grab and go for me), so perhaps some of our readers can provide some insight into why my solution won’t work.

      Still, it’s a freakin’ awesome job and the folks at Alldatasheet (if they’re reading this), should send you a check and release this app as the official alldatasheet app. It’s too awesome for you not to get paid.

      • vsza says:

        Your pseudocode occured to me too, but I’m still hesitating as it takes away the opportunity to view all possible versions. My biggest problem with this issue is that even the web interface has this issue, which means, that there’s probably no trivial solution without sacrifices. *sigh*

        I also have the dream of them (alldatasheet.com guys) seeing all the users using the app offering a nice, reliable API (REST, SOAP, whatever) to consume for smartphone applications.

      • Eirinn says:

        Add it as a setting that can be ticked on or off – problem solved :)

      • vsza says:

        Eirin: I agree, that would be the best (now I just have to learn how to do such thing in Android, as I’m not a professional Android Software Developer)

  4. abuthemagician says:

    For Cyanogenmod 7+ you should be able to just hold down the power button and pick screenshot…

  5. Jonas says:

    I tried it but when the pdf download is complete the program crashes. Waiting for next version!

    Tested on a Motorola Razr and a HTC Sensation XL, crash on both phones.

  6. Cyk says:

    I hate sites like alldatasheet.com.
    They use dirty tricks to get high google ranks,
    so you waste a lot of time finding the link to the original manufacturer.

    One of the many reasons why I prefer the original site is that the datasheets from elsewhere are often outdated.

    • vsza says:

      I’m not affiliated with alldatasheet.com, but I think they’re not like the others. There certainly are lots of datasheet sites that employ blackhat SEO tricks and I hate them too, with a passion. But alldatasheet.com has been so far the best source for information on any kind of circuitry I’ve encountered.

  7. plfx says:

    This is still promising. It just needs a bigger database.

  8. alvaro says:

    You keep using your phone and tablet for that. I’ll use my desktop, thank you very much…

  9. OminousHum says:

    Awesome! This will totally come in handy when I’m looking through the local electronic parts shop.

  10. Troll_Dragon says:

    Great little tool!
    I can see myself using it while digging through salvage boards, and looking up some of the chips I find! (Without my “Desktop” around.) ;p

    Good Job!

  11. SnD says:

    Sweet. Something like this is handy when I go from store to store, and cannot find what I need (quite common in my city). Browsing pages and pages to get a datasheet is not my idea of “quick search on the go”. Great work on this one!

    Unfortunately, it wouldn’t install on my über-cheapo cell phone (ZTE N720, ARMv6L), I get an error “There is a problem parsing the package”. Does the APK is made for ARMv7 only?

    • vsza says:

      It contains Dalvik code only, no native functionality, so I think that’s not it. What version of Android is running on the device?

      • SnD says:

        It’s Froyo 2.2.2 w/kernel 2.6.32.9, downloaded the APK from your site directly with Opera Mobile (also passed a copy to microSD via PC), both give the same error. Tried with 2 different file managers (Astro & ES), every other APK I tried installs fine.

        (sorry, clicked on Report by error, I need new glasses urgently)

  12. mjf55 says:

    Nice little app. I tried it and it worked like a champ. It’s nice to be able to find the datasheet so quickly. Very useful for me. thank you.

  13. Mika Norén says:

    Seems alldatasheets have updated the website to exclude this kinds of apps.
    the adsdroid cannot fetch the pdf url anymore.

    • vsza says:

      It still works for me (and judging by later comments, many others), so either it’s a bug in the code I wrote or the HTTP stack of your phone sends something weird. Could you make a network packet dump (with Wireshark or tcpdump, whatever) of such failed attempt?

  14. rak0ribz says:

    Just tried it myself, on my Galaxy Note – it worked really well for me.

  15. eric says:

    Out of curiosity have you tried contacting alldatasheets about opening up an api with the ability to pass through adverts. This is the reason I don’t run adblock, some very useful corners of the internet survive on adverts. Those are the people I feel bad about “stealing” from. On the other hand this sounds incredibly useful, count me in.

    • vsza says:

      I haven’t (yet) tried contacting them, one of the reasons is that it’s only a PoC with minimal functionality. I think it would help to contact them with somethink like “XXXX people already downloaded it, so there’s a need for a better API”, but I’m not a communications professional, I’m better at hacking things. :)

  16. arachnidster says:

    Digi-key has an Android app, which also gives you access to all their datasheets. Since they stock practically everything, it makes a pretty good datasheet app, and without the moral turpitude of scraping an ad-supported site.

  17. Bgrimm says:

    I receive a “PARSE ERROR” ‘there was a problem parsing the package.’ error when trying to install. (version 1.1) both from QR download and tried download and install.

  18. bhabik says:

    not working in android 2.2……parse error!!!!!

    • vsza says:

      The app requires at least Android 2.3 to run, as it uses API level 9 (Gingerbread) features. Android 2.3 was released 3 years ago, and 90% of Android devices run Android 2.3 or newer, I’m sorry if your device is in the 10%. :(

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,693 other followers