You are here

bug labs

IPositionSubscriber is the Bug Labs asychronous API that is broken in 1.4.2

Submitted by Roland on Wed, 2009-09-16 21:50

The Bug Labs asynchronous GPS API that we can't get working (mentioned in the previous blog post) with Simon's identicon program is: IPositionSubscriber

I'll report this in the Bug Labs forums and then update this post.

Bug Labs Release 1.4.2 - asynchronous GPS API broken, synchronous works but requires polling

Submitted by Roland on Sun, 2009-09-13 20:45

Back in August using Bug Labs Release 1.4.1, Simon Lewis and I got his Bug Labs bug identicon app that generates identicons based on GPS coordinates to work. Unfortunately that used the Bug Labs synchronous API i.e. polling which runs down the battery. The working version is 1.0.3 and you can see the output of 1.0.3 in the video above.

It's still broken in Bug Labs Release 1.4.2  Full yak shaving details after the jump!

So the next step was to try the asychronous API. It didn't work. The Concierge component framework would crash:

root@bug:~# tail -f /var/log/concierge.log
[Thu Jan 01 00:01:39 GMT 1970] [INFO] CoolApp 1.1.1: code != lastCode
[Thu Jan 01 00:01:39 GMT 1970] [INFO] IdenticonComponent: Initialized image and got sun.awt.qt.QtImage@86b11f3a
[Thu Jan 01 00:01:39 GMT 1970] [INFO] IdenticonComponent: image == sun.awt.qt.QtImage@86b11f3a
[Thu Jan 01 00:01:39 GMT 1970] [INFO] CoolApp 1.1.1: CoolApp.newIdenticon(...)
[Thu Jan 01 00:01:39 GMT 1970] [INFO] CoolApp 1.1.1: CoolApp.newIdenticon(...): Writing /usr/share/java/./storage/default/39/data/identicons/4915.17N_1234.19W.png
[Thu Jan 01 00:01:40 GMT 1970] [INFO] CoolApp 1.1.1: Got position update
[Thu Jan 01 00:01:40 GMT 1970] [INFO] CoolApp 1.1.1: Latitude[0.8596597123194212 rad] Longitude[-2.1480144386300855 rad]
[Thu Jan 01 00:01:40 GMT 1970] [INFO] CoolApp 1.1.1: Computing digest
[Thu Jan 01 00:01:40 GMT 1970] [INFO] CoolApp 1.1.1: Got digest
[Thu Jan 01 00:01:40 GMT 1970] [INFO] CoolApp 1.1.1: code == lastCode

II) every other time it didn't appear to run, it just hangs after it starts

java.lang.LinkageError: trying to redefine class com.buglabs.bug.jni.common.CharDevice (bad class loader?)
    at java.lang.Class.addToLoaderCache(Native Method)
    at java.lang.Class.loadSuperClasses(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at ch.ethz.iks.concierge.framework.BundleClassLoader.findOwnClass(Unknown Source)
    at ch.ethz.iks.concierge.framework.BundleClassLoader.findDelegatedClass(Unknown Source)
    at ch.ethz.iks.concierge.framework.BundleClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Compiled Method)(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.loadSuperClasses(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at ch.ethz.iks.concierge.framework.BundleClassLoader.findOwnClass(Unknown Source)
    at ch.ethz.iks.concierge.framework.BundleClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Compiled Method)(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at Source)
    at java.lang.Thread.startup(Unknown Source)
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registering info service.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet /support
STARTING file:./com.buglabs.bug.service.jar
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet /service
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet at /service.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered resources /
STARTING file:./com.buglabs.bug.program.jar
[Thu Aug 06 21:46:14 UTC 2009] [INFO] UserAppManager init: false
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet /program
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet /configuration
STARTING file:./com.buglabs.bug.module.jar
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet /module
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet at /module.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet /package
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Registered servlet at /package.
STARTING file:./com.buglabs.bug.bmi.jar
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory com.buglabs.bug.module.gps (0001) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory (0005) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory com.buglabs.bug.module.lcd (0003) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory com.buglabs.bug.module.motion (0002) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory com.buglabs.bug.module.vonhippel (0007) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory (000A) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory com.buglabs.bug.module.wifi (0008) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Added modlet factory com.buglabs.bug.module.bugbee (0009) to map.
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Creating pipe /tmp/eventpipe
[Thu Aug 06 21:46:14 UTC 2009] [INFO] Execution Completed.  Response:
[Thu Aug 06 21:46:15 UTC 2009] [INFO] Initializing existing modules
[Thu Aug 06 21:46:15 UTC 2009] [INFO] Registering existing module with message: 0003 0 0 ADD
[Thu Aug 06 21:46:15 UTC 2009] [INFO] Started modlet from factory com.buglabs.bug.module.lcd...
[Thu Aug 06 21:46:15 UTC 2009] [INFO] Registering existing module with message: 0001 0 1 ADD
[Thu Aug 06 21:46:15 UTC 2009] [INFO] GPSModlet setting active (external) antenna
CoolAppServiceTracker: start
[Thu Aug 06 21:46:16 UTC 2009] [INFO] CoolApp 1.1.1: CoolApp.start()
[Thu Aug 06 21:46:16 UTC 2009] [INFO] Started modlet from factory com.buglabs.bug.module.gps...
[Thu Aug 06 21:46:16 UTC 2009] [INFO] Listening to event pipe. /tmp/eventpipe
STARTING file:./com.buglabs.bug.event.jar
[Thu Aug 06 21:46:16 UTC 2009] [INFO] Registered servlet /event
[Thu Aug 06 21:46:16 UTC 2009] [INFO] Registered servlet at /event.
STARTING file:./com.buglabs.bug.slp.jar
  Framework restarted in 7.075 seconds.

So I had high hopes for the recently introduced Bug Labs Release 1.4.2. I hoped that the asynchronous API would be fixed. Based on the 1.4.2 release notes, I didn't think it was fixed and today I am blogging this to confirm it's still broken in 1.4.2 Instead of a crash with a nice traceback, I now just get signal 11 with no traceback:

Poky Linux 3.1 on BUG
root@bug:~# tail -f /var/log/concierge.log 
RESTORED BUNDLE file:./com.buglabs.bug.program.jar
RESTORED BUNDLE file:./com.buglabs.bug.module.jar
RESTORED BUNDLE file:./com.buglabs.bug.bmi.jar
RESTORED BUNDLE file:./com.buglabs.bug.event.jar
RESTORED BUNDLE file:./com.buglabs.bug.slp.jar
RESTORED BUNDLE file:/usr/share/java/apps/CoolApp.jar
STARTING file:./service-tracker.jar
STARTING file:./
Process #3983 received signal 11
Process #3983 being suspended

BUG Adventures - GPS still not getting a fix, need another antenna perhaps or is GPSConfig not working?

Submitted by Roland on Mon, 2009-04-06 01:58

Well it's been 2 weeks and I've been too busy to do much with my BUG Labs BUG but here's the current state of affairs:

  1. fixed my compiler in Eclipse to be R1.4 compliant by setting Preferences->Compiler->Compiler compliance level to 1.4
  2. Started my Bug and the following log is displayed in /var/log/concierge:
    1. [Sun Apr 05 21:32:13 GMT 2009] [INFO] GPSModlet defaulting to passive (external) antenna
    2. [Sun Apr 05 21:32:13 GMT 2009] [INFO] Started modlet from factory com.buglabs.bug.module.gps...
  3. I take it this means that the antenna is set to use the external antenna
  4. Wait 7 minutes and I still see the BUG with no fix
  5. Then I download the GPSConfig app as recommended by the BUG Labs folks and I see:
    1. GPSConfigServiceTracker: start
    2. status=3939
    3. [Sun Apr 05 21:40:31 GMT 2009] [INFO] AppManager started /usr/share/java/apps/GPSConfig.jar
  6. Then I tried using the joystick controller and the select button to configure the GPSConfig app to use the external antenna (and see this log:
    1. status=4003
    2. Switching to external (passive) antenna
    3. ret=0
  7. But the GPS Module display on the 2 line LCS still shows Passive which means it's NOT using the external antenna
  8. Help!
    1. Do I have a defective antenna?
    2. Am I doing something wrong with the GPSConfig app?
    3. Or is the GPS Module incorrect when it states that the antenna is Active i.e. internal antenna instead of Passive i.e. external antenna?


Upgraded Kernel and then Root FS of my BUG from R1.3 to R1.4, GPS still doesn't get a FIX

Submitted by Roland on Tue, 2009-03-17 01:12


Successfully updated my kernel on my BUG and then the ROOT FS (order is important, you must upgrade the kernel FIRST and then shutdown and then update the Root FS). However GPS is still not getting a fix!

Typos and minor bugs in the R1.44 Kernel upgrade procedure:

  • bug_kflash was in /usr/bin NOT /sbin
  • version is: 
    • Linux version (buildbot@darner) (gcc version 4.1.2) #104 PREEMPT Thu Mar 12 11:32:33 EDT 2009
  • which is slightly older than the version in the instructions (probably because the person who wrote the instructions has an experimental, newer version)

Typos and minor bugs in the R1.4 Root FS upgrade procedure:

  • on the Mac, e2fsck and resize2fs are in /usr/local/sbin

Here's what the GPS is showing

command is:

cat /dev/ttymxc/1

(since GPS is in slot 1)

("V" on the GPGLL lines mans "void" i.e no GPS FIX AFAIK!) - Antenna is pointing out the window which means it should get a fix since my other GPSes i.e. E71 and LD-4W have no problem getting a fix there!)















Tried to upgrade Bug Labs Bug Root FS to R1.4 but now my BUG is borked

Submitted by Roland on Sun, 2009-03-15 22:44

On Wednesday, the official release of Bug Labs R1.4 came out. Summary: I tried to upgrade my Bug Root File System, and my Bug no longer works and I am not sure where to document my problem (should I put it on the wiki or the forums?). I guess I will get on good 'ole IRC to get this fixed on Monday (I really dislike IRC, it reminds of the 1990s, full of people trying to help you but no RSS feed, no archives without bots that require Kevin Marks level knowledge to keep them up and running, and no distillation of knowledge so you are doomed to explain the same things over and over again!). Help! If you can help, twitter me @rtanglao or email me roland AT rolandtanglao or I'll try to get help on IRC as well as post on the Bug Labs R1.4 thread on Anybody who helps me, gets a free beer the next time they are in Vancouver (how about a Bug Labs meetup at Open Web 2009 in June 11-12 in Vancouver?) Read on for all details.


R1.4 = Bug Labs SDK 1.81 + Root FS 1.4 + Kernal 1.4 (Suggestion to Bug Labs: bundle these together or tag future releases so that tag 1.5 for example is the same release tag for SDK, FS and Kernal)

The Bug Labs documentation and web presence is confusing even for somebody like me who has been developing software for 20 years and uses confusing open source software like git and Drupal so that's saying something! And Bug Labs seems to admit it in this blog post from December, "Finding BUG Tutorials and Documentation". My off-the-cuff recommendation given my developer relations experience at Nortel  would be to create a single wiki page "Busy Developer's Guide to writing software for the BUG" (BDGB) with the bare minimum of info that is always up to date and to have the dev relations person (Alicia?) post a blog post on whenever the BDGG is updated! Anyways...

Here's what I did:

Tried to upgrade my Root FS to R1.4 using the Mac instructions from HOW to upgrade ROOT FS aka "Update your BUG memory card" (see "Yak Shaving" section below for full details)

Here's what happened:

The Root FS upgrade appeared to work but when I boot the Bug it doesn't come up and doesn't activate the Ethernet over USB so I can't ssh in to check things out.

Here's what I expected:

I expected it to "just work" and then I could proceed to upgrading the kernal to R 1.4

Guesses as to what went wrong

  1. A bug in the Root FS image?
  2. A bug in the ext2fsx software that I used namely 1.4d4
  3. Something else?

Yak Shaving (or what I did in exquisite detail)

(raw gist is here)

dd if=/dev/disk1s1 of=BUG_backup.ext3.bin 
tar xvfjv bug-image-production-bug-R1.4-rootfs.ext3.bz2
dd if=bug-image-production-bug-R1.4-rootfs.ext3.bz2  of=/dev/disk1s1
95105+1 records in
95105+1 records out
sudo /usr/local/sbin/fsck.ext3  /dev/disk1s1
e2fsck 1.39 (29-May-2006)
Couldn't find ext2 superblock, trying backup blocks...
/usr/local/sbin/fsck.ext3: Bad magic number in super-block while trying to open /dev/disk1s1
The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
sudo /usr/local/sbin/resize2fs  /dev/disk1s1
resize2fs 1.39 (29-May-2006)
/usr/local/sbin/resize2fs: Bad magic number in super-block while trying to open /dev/disk1s1
Couldn't find valid filesystem superblock.

"Bug Adventures" III - How to use Eclipse

Submitted by Roland on Sun, 2009-01-18 16:08

Eclipse is a maze of twisty passages all alike for those not used to it :-) Herewith a quick and dirty guide for those not used to it! More in my Bug Adventures wiki

  1. How do I use f***ing Eclipse?
    1. Easy: always make sure the  Dragonfly Perspective is open from Window->Open Perspective->Other
  2. How do I load code from a JAR from other people for a Bug APP that's not on BUGnet?
    1. "New Bug Project" (one of the funny icons on the top left , the one in the middle)
    2. Select All Services, and select your Bug, then click Finish
    3. Right Click->Import->General->Archive File->Browse->blah.jar that you received from your friend or fellow developer
    4. Select "Yes To All" when asked about "Overwrite .project" in folder
    5. Right Click "Send to Bug

There doesn't seem to be a way to single step through code on the Bug itself. This seems to work no problem on the Virtual Bug but I don't use simulators, sorry! I used to do this via adb/gdb/xdb/ in the 1990s with HP-UX and other unix variants so there must be a way to do this on the Bug. Pointers appreciated!


7 things you should know about mobile - Presentation to UBC LFS

Submitted by Roland on Wed, 2009-01-14 19:28

See the accompanying UBC mobile brief wiki for notes to this presentation which I gave to the UBC Faculty of Land and Food Sciences on January 13, 2009 (note that this presentation was prepared using the 280 Slides web app which i highly recommend!)

"Bug Adventures" II - Why doesn't my GPS work?

Submitted by Roland on Sun, 2009-01-04 20:37

(Part 2 of my Bug Adventures series, for more real time wiki action check out my Bug Adventures wiki where I flesh out my thoughts before posting them here!)

Why doesn't my GPS aka BUGgps seem to work?
By "not working", I mean it doesn't get a GPS satellite lock which
results in a Java exception for those using the high level API and void
values e.g. "$GPGLL,,,,,022837.595,V*1D "for apps reading the RAW GPS
sentences.  My guess is it's a low level software bug that will be
fixed in the "real soon now" R1.4 software release. Note that I have
attached the external antenna and put it on the window sill where my
other GPSes (Nokia LD-4W, Nokia E71) have no problems obtaining a GPS

Herewith my debugging notes:

  1. seems to be the definitive source of how to fix your GPS! the fix in the thread:
    1. "navigate the front-panel menu to the GPS module
      and you will be able to see fix: True/False and IOX, which is the value
      of the IOX register:"

      1. (front panel led sequence is: modules->GPS->IOX) I get 0x63 which means
        1. bit  0: 1 == no GPS fix, since fix is active low
        2. bit 1: 1 = no overcurrent condition
        3. bit 2: 0 = no wakeup from sleep
        4. bit 3: 0 = don't know what this is, guess is 0 means don't download firmware
        5. bit 4,5 unused
        6. bit 7,6 0,1 == external antenna
  2. Other people's code I have tried
    1. GPSRawFeedExample always outputs "V*blah" which I think means void!
      1. e.g. $GPGLL,,,,,051302.397,V*10
    2. GPSLoggerSimpleGUI - the GUI doesn't work but at least the program doesn't crash :-)
    3. GPSLogger2 creates a zero length file in /tmp but does nothing else e.g. /tmp/GPSSun Jan 04 20:25:49 UTC 2009.log
    4. GpsLogger_1.1 java.lang.NullPointerException
      at com.buglabs.bug.module.gps.GPSModlet.getLatitudeLongitude(Unknown Source)
    5. My friend Simon's app has the same bug as GPS Logger 1.1 i.e. java.lang.NullPointerException
      at com.buglabs.bug.module.gps.GPSModlet.getLatitudeLongitude(Unknown Source)

      1. Simon's guess: the NMEA sentence they are getting from the underlying
        hardware isn't quite in the format they expect, so they end up trying
        to get a double out of the string  ","
      2. seems to be the same problem!
  3. Evidence that this is a Bug that's being worked on:
    1. this fix went into  svn trunk (svn://  ) on December 14, 2008,!revision/7632
      // default to passive (external) antenna, until
      // such time as we have confidence in the internal            
      // antenna's ability to obtain a fix          
      log.log(LogService.LOG_DEBUG, "GPSModlet defaulting to passive (external) antenna");              

Real Artists Ship! My Bug Bundle Arrives

Submitted by Roland on Sat, 2008-12-06 21:57

More Unboxing the Bug from Bug Labs-20081206-20

Real artists ship! My Bug Labs Bundle Arrived today. Check out my BUGbundle unboxing pics (including the nice touch of the team's signatures inside the box.). The Camera module is on back/order but I received a cool von Hippel hacking module as a bonus for the delay. Now for some GPS hacking. Oh, and if anyone else in Vancouver has a BUG, contact me and let's get together to exchange notes!

We don't have free movement of goods between Canada and the USA

Submitted by Roland on Sat, 2008-12-06 19:35

We don't have free movement of goods between Canada and the USA - 061220081641

We don't have real free movement of goods between Canada and the USA because the process (at least 15 minutes, probably more plus crossing the border which involved a 1.5 hour wait today) to pay GST and PST and duty takes too long when a consumer imports something into Canada from the USA. Why not streamline it? It's almost as if we don't want to have real free trade!

BTW the above form is the one that was used when I paid my GST and PST for the Bug from Bug Labs which was shipped to Blaine, Washington and imported by me into Canada today. More on the Bug later

Bug Labs resumes shipping on November 17th!

Submitted by Roland on Sat, 2008-11-15 02:10

Can't wait to get my Bug and my full suite of modules. It'll be a Bug Labs hacking kind of Christmas!

QUOTE [From Bug Blogger » Blog Archive » Manufacturing Update]

Starting November 17th we will start shipping the latest BUGbundles to customers with a goal of having ALL backorders fulfilled by December 1st. From that point forward we will be in a position to ship all our customers their new BUGs within 2 days of placing their order. We also have a number of exciting, new modules coming available within the next few weeks so stay tuned!


Bug Labs delays shipments because of worldwide credit crunch

Submitted by Roland on Tue, 2008-10-14 01:46

Beside delaying my Bug yet again (so first September and now November), this is another indicator of how deep this recession is (or will be). I don't recall a hardware manufacturing gadget crash during the dot com collapse!

QUOTE [From Bug Blogger » Blog Archive » The Credit Crisis in Action]

Over the past couple of months I’ve been reading with great interest all the postings on how the current economic crisis can/can’t, will/won’t effect the start up world. Having lived through the 2001 - 2003 nuclear winter, I feel strongly that no one will be spared, irrespective of how big your company is.

This reality scored a direct hit last week when we got a call from the CEO of our contract manufacturer (domestic, not overseas). Their credit lines were pulled by their bank (one of the big ones) because they had violated some terms of their loan agreement. While in the past, this type of thing was met with a “let’s work it out” type of attitude from the bank, instead given the credit crisis, that attitude disappeared. Consequently, they closed the facility where our product was being built.

As a result, we needed to immediately pull all our inventory, test fixtures, and packaging out of their facilities. To say the timing was terrible is a grave understatement. Our products were literally on their assembly lines, on schedule for our early October shipping deadlines.


Mobile Camp Vancouver 2 is this Saturday at WorkSpace

Submitted by Roland on Thu, 2008-09-04 10:20

Ooops forgot to blog about Mobile Camp Vancouver 2 unconference (topics and sessions decided the day of, all welcome from users to hard core devs to artists and sales and marketing folks!)

Here are my session ideas

    • session on SIFT Mobile Muse social media aggregator for SMS, video, photos, etc
    • Bug Labs - my Bug arrives in late September, app brainstorming session
    • BIKUX - linux stamp/beagle board/crazy apps on a portable connected
      solar powered Linux computere brainstorm session (e.g. games and geo
    • Reinventing Nokia mobile  - Brainstorming session on cool
      things Nokia could/should do in light of the iPhone, Android, etc - I
      am going to Finland on September 8th for a Nokia Conference and might
      be able to give this feedback to them directly

As well i'd like to work with John Biehler, Parveen Kaler and others on some iPhone sessions:

1) state of jail break

2) tethering

3) app development commiseration (that NDA s*xors)

4) what's on your iPhone i.e. fav apps

See you all on Saturday September 6th at WorkSpace in Gastown!


Bug Labs Bug Bundle Shipment delayed until September, switch to Poky, more Funding

Submitted by Roland on Fri, 2008-08-15 22:20

My Bug Bundle has been delayed until September. Bug is switching to Poky Linux and they closed a 3rd round of funding. I am still very enthusiastic about The Bug but it's hard to be an enthusiast when you are itching to experiment and shipment is delayed by 3 months. And as I have said before I don't really like simulators. Oh well, perhaps I'll activate one of my dormant iPhone application ideas!

Grassroots Open Mobile Web at Open Web Vancouver 2008

Submitted by Roland on Mon, 2008-04-14 20:07

Herewith my Grassroots Open Mobile Web presentation (original PDF) that I presented Monday April 14, 2008 at the Open Web Vancouver conference.

Presentation Links:

The presentation was a lot of fun to put together and present. Next year, I hope to present a followup with my musings on the actual real Bug and any OSGI Java components that I manage to get working.

BUG Labs - Canadian Credit Card with US Shipping Address doesn't work

Submitted by Roland on Sun, 2008-04-06 18:02

I want the entire suite of Bug Modules but I live in Canada. I tried to order with my Canadian Credit Card with a US Shipping Address but as I suspected, it didn't work. Thanks to the fine folks at Bug Labs for their patience in dealing with my multiple emails on this subject! It's not the end of the world but it's a bit disconcerting to see that despite "free trade" and "globalization", things haven't progressed since I was a kid ordering software and other gadgets from the USA in the 1970s and 80s, i.e. it's still ludicrously difficult to get gadgets over the border. Can we have a Schengen like zone between Canada and the USA please?

Hardware Mashups - The Long Tail of Gadgets

Submitted by Roland on Mon, 2008-03-10 06:26

My First SXSW08 session is Peter Semmelhack CEO of Bug Labs on Hardware Mashups - The Long Tail of Gadgets

- the Pizza Tail of consumer electronics

- pepperoni is hard, long tail is the cheese

- cheese == every device you have ever wanted but couldn't find

- Bug Labs inspired by Lego

- e.g. after 9/11 living in Manhattan, he wanted device that woke up ever 5 minutes and posted GPS position on a map, couldn't find it at best buy

- reason? economics

- need to sell lots of them, hits based business, no hits, out of a job

- margins are decreasing: China, Walmart

- have to: 1. come up with hit which is hard, 70% of time wrong about hits

- Nokia 30% of 2007 revenue came from products introduced in Q4, very few companies can do this, go Nokia go!

- consumers want control e.g. Tivo can control TV and pause it

- model is old i.e. throw it away and buy a device i want

- what if we could build what we wanted?

- should be able to get it and go build what you want

- how do we make 'world of atoms' behave like 'world of bits'?

- open source and open models are powerful ways to enable consumers to innovate

- with software can easily combine and innovate

- with hardware it's much more difficult: 1. electrical engineer, industrial designer, logistics genius, need to be all of these things 2. manufacturing 3. inventory 4. distribution

- hard to innovate in all these ways

- software idea is relatively frictionless, just distribute it on internet

- for hardware, need a company unlike software

- e.g. Lego Mindstorms has provided platform for me to build a robot

- buy gadget not for physical form factor but for a reason e.g. sweep floor

- looks like software i.e. standard platform to build on top of

- platform is way to innovate in physical space

- being cheese will be profitable

- Bug Labs modules have braille! some blind folks loved that, great story

- great example of GPS tracker for $2k replaced by 2 bug labs modules for $200

- can fill niche of 1000 or 10000 with Bug Labs device with software provided by community

- aggregate these niches in a way that makes sense economically

- 1000 entrepreneurs selling devices built on top of platform = millions of bucks

- future is connected = gadget nets = network of devices 'facebook of gadgets'

- will happen in 5-10 years, based on physical platform

- will be bottom up approach

- Q: could bluetooth and network take the place of hardware glue? A: application has to talk to hardware, we can innovate ourselves bottom up or wait for 'big guys'. Proprietary companies can't compete with open models.Hard to start a Microsoft type company today. Model is MySQL which was bought for 1 billion; Sun realized community is more valuable

- Q: how do you make a profit A: radical openness == want to be different, every thing is different, everything is open source on their site on March 17th when they launch, give people the appropriate tools and they will create awesome things, believe in power of community, will get more out then they put in; no licensing fee

- Q: Is early adopter market big enough? A: it's 2-3 billion market just for early adopters worldwide. look at pcs? without early adopters no innovations visicalc. trying to find a way to provide a hardware platform to build what they want! bugnet community = repository of apps 1. innovator comes up with cool device 2. somebody "consumes" it 3. can make single function device out of what i design i.e. rapid prototyping platform 4. no hard lock in to their platform can move java program to another device e.g. can't move nokia app to apple or vice versa, that's old model

- will provide service to make beautiful device after you prototyped it on the bug - they don't become orphaned still part of the community

- balance between optimization and customizability today we only have "optimized obsolete in 6 months market", there is room for another model

- Q: green framework for consumer innovation? A: cellphone with lithium batteries is a disaster. modular devices can become other devices, plastic is recyclable, no toxic paint used. is there a cost? yes, won't look like an iPhone!

2008 Random Predictions

Submitted by Roland on Mon, 2008-01-14 01:51

Richard said I have until January 15 :-) so here goes some randomly ordered predictions which are worth what you paid for them!

  1. Social Media microniching and microcontent-fication continues to grow rapidly. Twitter and Seesmic are just the beginning. Old skool bloggers like myself continue to blog and to write large pieces but even for us it's the exception rather than the rule.
  2. Drupal fervent, creativity, acquisition and expansion continues because Drupal 6 will unleash the creativity of the world. Go Acquia go! Go Raincity go!
  3. Apple introduces 3G iPhone not at Macworld but in the spring. Rogers finally brings the iPhone to Canada in time for Christmas 2008. They won't be onboard for the Apple Spring announcement because they still don't "get it" , but they will have no choice for Christmas 2008 since all of the 3G handsets Rogers sells s*ck and nobody will buy them since unlike the iPhone they are unusable and no better than non 3G sets feature wise. [Hope I am wrong about Rogers!]
  4. Speaking of "get"-ting it. Translink (or whatever they are called now), start to get it. True feedback comes from BOTH their old very slow 20th century skool approach (e.g. Translink Listens is a farce for the Internet Generation because you a) never see the results or b) know anything about the people behind the very vague and not useful polls but ok for the old fogeys) AND from social media like an official blog, a flickr account and facebook (heck maybe even twitter and Seesmic: e.g. twitter-ing system outages and delays or facebook statusing them would be a lot better than their current very slow 20th century haphazard way of telling us the SkyTrain is down or buses are delayed). The unofficial Translink Attendance at Transit Camp was very encouraging; I'm predicting this type of stuff will become officially supported in 2008.
  5. Apple sub MacBook. It won't be the return of the Newton and it won't be a big iPhone, it'll be cool (small, instant on and useful) and again it won't be introduced at MacWorld. [Again hope I am wrong here! Hope it comes sooner]
  6. The era of dumb non presence aware "high ceremony" audio and video is over. Go SightSpeed, go Lypp, go Iotum! All three will prosper in 2008. Skype will too since they are ubiquitous for both.
  7. Nokia will continue to have the best hardware for mobile devices but unfortunately not the best software. An awesome N93 video cameraphone successor will be introduced that again only early adopters will use and find usable.
  8. No usable mobile interface that is nearly as usable as Apple's touch interface emerges in 2008. Fingers crossed for 2009 [hope i am wrong about this one too]
  9. Truly Open Hardware combined with truly Open Software - the trend started by Open Moko, Chumby (I've bought a chumby and am mulling some fun but extremely bogus hacks for it :-) !) and Bug Labs continues. Hopefully someone will introduce something like The Bug that is less clunky and uses a more malleable dynamic language like Ruby or Python (I am sure somebody will hack The Bug to use Ruby or Python or some such but it's not the same as having something designed from the ground up to use Ruby or Python as its development environment rather than clunky, "strait-jacketed by typing" and verbose Java). [and yes even though it's "clunky" and Java, I am saving my pennies for my own Bug! ]
  10. Canon introduces an ISO 25600 camera to compete with the Nikon D3 and a 5D replacement with sensor cleaning and clean, usable ISO 6400. I'm saving my pennies (coz I'll never like flash photography although I love the Strobist).
  11. Nokia or somebody smart buys ShoZu. The rest of the world will start to see the advantage of a "straight to the web from the camera" workflow that ShoZu pioneered (Eye-Fi is inferior to ShoZu because it doesn't suspend/resume upon connectivity interruption/resumption but it's good enough and it works everywhere and I am getting one of their cards pronto! See my earlier Eye-Fi plug). Why not build ShoZu into micro SD cards ? Just a thought :-) !
  12. 3G and WiFi are now mature enough for a "straight to the web from the camera" workflow for video too. Why should you have to wait? Why can't video be uploaded directly to the web from your camera like you can with photos with ShoZu and Eye-Fi? There really is no reason other than file size and early adopters will start doing that in 2008.


Subscribe to RSS - bug labs