Weblog

Weblog

Impronto for Windows 1.0

July 14, 2008

We've been busy at Rococo with a few new projects, some of which are finally beginning to see the light of day. For those of you asking about a Simulator that works with Android - you'll have to wait another few weeks :-(

However, we've been doing some work on both Windows (XP, Vista) and Windows Mobile. Today we're releasing a 1.0 version of our Impronto DevKit for Windows XP and Vista. As you may know, in the past, we've been grumbling about the missing APIs for L2CAP in the Microsoft Bluetooth Stack. Well, we're still grumbling, but we decided to go ahead and release Impronto, without L2CAP, for WIndows XP and Vista. It passes the JSR82 TCK, apart from the L2CAP elements. All feedback is most welcome! And as usual, the tools are offered free for non-commercial use.

You can request the new version at the Rococo website, here:

http://www.rococosoft.com/registration_impronto.asp

Release notes are here:

http://www.rococosoft.com/DevKitWindowsRelNotes1_0.html

We'll shortly release Impronto for WIndows Mobile also, which *does* have full L2CAP support. This required creating an extension layer for L2CAP in order to provide the full JSR82 functionality and pass the full TCK.

More to follow as we get our new work out the door!

Slides from the Java Mobile and Embedded Conference

February 20, 2008

A few people asked about the slides from the Java Mobile and Embedded Conference. I stuck them up on SlideShare, and here they are through the magic of embeds. Now writing a few articles on the background and future options for JSR82. if anyone has suggestions, thoughts or input - please shout!!

Thanks to C. Enrique Ortiz in particular for his excellent code samples contained herein, and shamelessly listed from and accredited to his set of tech articles.

JSR82 Wiki

November 12, 2007

Bruno is putting a nice Wiki together on the Java.net site dedicated to JSR82. If you have a project, an article, a product or anything else - you might want to list it here.

GPhone and JSR82?

October 10, 2007

Will the shiny new GPhone have Java / Bluetooth on board? I think so.

Why?

Three simple reasons.

Advertising is going to feature heavily in the GPhone (eh, duh!). And so, who better to capitalise on the encouraging statistics around Bluetooth Marketing than The Google? They'd be mad not too. Plus, bet they'd do a sweet job on the marketing interaction. They'd "add value" to tie in options for their real-world vendors to connect with customers passing by. In one fell swoop, they'd be able to offer a way for you to deploy your ads as mobile coupons, proximity offers, yada yada. This alone is a good enough reason. But I promised three!

Presence
. As in - connecting your phone to real-world stuff and real-world people, in real time, mixing together that online/on-phone stuff for magic and fun. You meet a friend. You both have GPhones. You both have "opted in" to Google's presence service (powered by Jaiku plus Google IM plus Google's new open social network platform). Updates automagically flow to your online profile. "Sean met Joe at 4ish today". Nice. Many options to drive value-add apps.
Java. Bluetooth by now is becoming standard on all mid to high end phones, and appearing as a feature on many of the low-cost models. Om says he reckons Java is slated for the GPhone. In which case, they'd just be mad not too. JSR82 ties Java to Bluetooth, opening Bluetooth to upper layer applications, and providing the crucial "near me" presence glue.

So then. Anyone know who in Google we'd talk to about our Market Leading JSR82 Technology?

:-)

Wow. Dem's big numbers

September 18, 2007

If these latest stats quoted are even remotely correct, then there's a bright future for Bluetooth in marketing.

Two killer factoids:

At a shopping centre in Newcastle, out of a possible 45,000 shoppers who were offered to receive Bluetooth content, over 20 per cent opted to download
Another recent study carried out on a global sample by Universal McCann demonstrates that opt-in Bluetooth content is the most popular form of mobile advertising, with 72 per cent of the global sample expressing their approval. Conversely, ‘interruptive’ mobile advertising, including banners on mobile internet pages and TV adverts on mobiles, were rejected by 61 per cent of respondents.

I'm quoting from this story about Bluetooth marketing in Cinemas in the UK. If these numbers hold up (and I see some anecdotal evidence that people are more willing to opt-in to Bluetooth campaigns), then we're going to see lots more Bluetooth marketing in the next 12-24 months.

Good news for JSR82 too I suspect.

More Bluetooth Fun

July 30, 2007

We're fans here of Salling, especially their Clicker application.

So we just came across BlueShareWare.com, who do something similar to Salling (Bluetooth Remote control for Mac or PC), plus something different:

- Outlook Dialler (lets you dial someone on your phone directly from within Outlook over Bluetooth)
- LockItNow (uses your mobile as a security token to lock or unlock your PC)
- BeamItNow (auto send photos from mobile to PC)

brc_desktop.JPG

Nice set of applications. Must ask them if they're using JSR82 (and if not, why not!!! :-)

Cool Projects using JSR82 [3] : PhoneID

June 20, 2007

Ah yes. Smart Cards. Remember them? In "the future" we'd all have smart cards, and they would uniquely identify us, and we could use them ....well...for everything. Logging in, swiping in to offices, securing our PCs, opening our front doors, car doors, paying for our shopping, using the train, and so on, and so on.

Except of course, that didn't happen.

Some manufacturers put Smart Card readers in their PCs and Laptops and waited expectantly for the "killer apps" to appear. Apart from certain SOX-or-security obsessed organisations, where people have to use them for work (or even for the photocopier), they haven't caught on. My mother's never used one, and she probably never will.

However, what smart cards were originally intended to do for the user remains attractive: a single sign-on for computers or the web wherever you are? One card to carry for payment, travel, car, house, office, etc., etc. In certain countries, what DID happen is that the mobile phone began to be used for some of these tasks. In Japan especially, they led the way in using the phone for small payments (vending machines, corner shops), train ticketing (swipe your phone at the turnstile, if you have the right model), and so on.

Which brings us to today's project:
PhoneID, the brainchild of Naomaru Itoi. His pitch is to use something most people now have with them (duh, a mobile phone), as storage for your trusted web ids/passwords. He explains it much better than me - so I'm going to shut up.


Give us a brief description of the project. How did it come about - what was the inspiration?


The project,
PhoneID, is a framework for using a mobile phone for user authentication. The inspiration was that every Internet user seemed
to be suffering from what I call a "password hell". We all need to remember too many passwords and type them too many times. We end up using the same password over and over, or writing them down, making us vulnerable to identity theft. It is scary that most websites and security applications rely on passwords for user authentication. Once the password is stolen, a cracker can completely impersonate you. All the carefully created security architecture is gone.

This problem must be solved somehow. Smart cards are supposed to be the savior, i.e., the single security token that provides single sign-on to all the websites and security applications. However, they are not growing rapidly enough because nobody has a smart card and a reader to start with.

I thought maybe a mobile phone could be the security token for single sign-on. Almost every Internet user already has a mobile phone, and it has much computational power. Thanks to technologies like Bluetooth and JSR-82, it can communicate with a host PC at a high rate. It is a very good replacement for a smart card. This is how I started PhoneID.

In PhoneID, a J2ME enabled mobile phone stores user secrets such as passwords and keys. The phone would send passwords and other information to a host computer through Bluetooth and JSR-82.

Currently, it supports Windows Login through pGINA, and Website Login through Internet Explorer. We will expand it to support one time passwords, PKI, file encryption, etc. Check it out at http://www.phoneid.org/

Tell us a little bit about yourself. What's your background? What are you working on in general?

I was born in Japan, and came to the United States for a graduate school. I received a Ph.D. from the University of Michigan, working on secure hardware (smart cards, HSMs) integration into modern computer systems. After that, I have worked on smart cards and cryptographic programming at Sun Microsystems, ActivIdentity and Arcot Systems. I left a job at Arcot to found PhoneID.org, and this is my main project now. The mission of PhoneID.org is to solve the password problem using a mobile phone.

My resume can be found here.
http://www.citi.umich.edu/u/itoi/resume.html

How long have you been working on the project

2 and half months.

What stage is it at now?

The first two applications, Windows Login and Website Login, are in production.

What inspired it. Were there particular limitations of JSR82 or other technology that you were trying to address?

The password hell inspired it. JSR-82 technology has been good enough for me.

What was the biggest problem or roadblock you had to deal with in the project?

The biggest problem is that not all (or not many enough) mobile phones support JSR-82. But I believe this is changing.

In terms of technology, there were a couple of things:

• There is no widely used tutorial to learn J2ME and JSR82 programming. Ben Hui's web site comes the closest.
• There is no ASN.1 parser that runs on J2ME device. I had to write a simple marshaling tool.
• Configuration of Bluetooth device on Windows is done manually, and not pragmatically. I would like to automate this in an installer, but it is hard.

How do you see the results of the project being used?

It is getting attention. The next step is to make it used by a lot of people.

What's next? What do you hope to work on over the next 12 months?

I would like to integrate PhoneID with KeePass, which is an open source password management program. By doing this, KeePass users would be able to store and view their passwords on a J2ME phone. JSR-82 will play a crucial role here, too.

After that, there are many things I would like to add to PhoneID. Implement one time password, especially OATH, with J2ME and send the result to PC through JSR-82. Implement PKI (digital signature) with J2ME and integrate it into existing e-mail applications. Implement file encryption with J2ME and integrate it into encryption software like TrueCrypt.

Anything else I should have asked you? Anything else you'd like to say?

PhoneID tries to solve the real, widespread problem of the password hell. As far as I know, it is the first project to use a mobile phone to attack this problem. It is also unique in that it is an open source project. I chose this route because I wanted to solve many people's problems, not just few. Right now I have no income, but I am looking for a way to make enough money to survive, while keeping this project open source. It is essential for an open source project to get many users and developers involved, so please join in my effort.

Once again - you can get all the information at http://www.phoneid.org/

Thank you for taking your time.

Bluetooth - All Your Base Are Belong To Us!

June 13, 2007

(I stuck a short glossary at the end of this post as I realised I got a little abbreviation-happy!)

You're bored listening to it, and I'm bored saying it (well, not really), but Bluetooth is on a roll. Market-wise, it's never seen so many units going out the door per week (15M per week now, or higher).

And standards-wise, the Bluetooth SIG's strategy of co-opetition (or whatever buzzphrase you're having this week) is working.

The latest to lay down and be absorbed: WiBbree - the short-lived super-low-power alternative from Nokia, has now graciously decided to throw its lot in with Bluetooth.

So now we have:

  • UWB: rolled in under Bluetooth for high bandwidth applications (HD Media Streaming around the home anyone?)
  • NFC: the tap-n-go instant transfer spec that's now an optional part of Bluetooth 2.1+EDR specification
  • WiBree : ultra low power scenarios, such as true bluetooth buttons, watches or industrial sensors (watch out Zigbee)

Pretty impressive. Bluetooth now goes from higher bandwidth usage scenarios where it can stream HD DVDs from a DVD player wirelessly to a HD flat panel TV, down to very low power and NFC-style apps for personal and industrial apps.

Kudos to the SIG and Mike Foley for pursuing the strategy so well and with such focus. It's working, and I think consumers will benefit over the next few years, with a range of products that will continue to be branded as "Bluetooth", and will hopefully achieve Mac-like nirvana and "just work".

See Bluetooth 2.1+EDR in action here.

In a later post I'll outline some of the potential for extending JSR82 to cover some of the new mouth-watering functionality contained in these absorbed standards. One of the great things though is that JSR82 will continue to "just work" with these right now, as they appear in deployed products. Cool.

Glossary:

[UWB = Ultra Wide Band]
[NFC = Near Field Communication]
[ZigBee = Alternative low-power short range communication standard]
[SIG = shorthand for the Bluetooth Special Interest Group]
[HD DVDs = High Definition DVDs or TVs]
[Bluetooth 2.1+EDR = latest version of the Bluetooth Specification ; EDR stands for Enhanced Data Rate]
[JSR82 - the world's only and best standard Java APIs for Bluetooth]

Motorola rocks on Accessories, SonyEricsson rocks on Phones

May 31, 2007

I just had some gadget fun in the last week or so. I now have a new phone (SonyEricsson w880i) and a new set of Bluetooth Headphones (Motorokr S9). That's "headphones" not "headset" as they're stereo, support A2DP, and are ideal for listening to music streamed wirelessly over Bluetooth, among other things. Oh joy of joys!

They are both rather excellent (so far) and the Bluetooth stuff has all worked tickety-boo. The SE plays nice with the headphones, and happily streams music to them. The headphones themselves have rather nice audio quality - the controls are a little sensitive and fiddly to get used to, but once you do, they're fine.

The SE of course has JSR82 (ahem, supplied by the world's leading independent vendor of JSR82 technology). The headphones, being small, lightweight and very embedded, do not (AFAIK).

If you're stuck for gadget ideas for the special someone in your life, the Bluetooth SIG have some suggestions, in their Summer Gift Guide!! :-)

Bluetooth Summer Gift Guide 2007

Reviewing this list, it seems to me that SonyEricsson's strength recently has most definitely been on the phone side of things, as opposed to the accessories. Meanwhile Motorola have been having phone woes, but their accessories really shine.

Good Point Bruno

May 29, 2007

Bruno Ghisi has a short, succinct comment regarding MSA, JSR82 and OBEX on his blog. We agree! There's been a fair amount of OBEX confusion over the years due to some roll-your-own implementations and varied interpretation of the standard. In our experience, it remains one of the few areas in JSR82 where we still occasionally come across weird variations in spec interpretation and implementation. The MSA will bring some goodness here.

Cool Projects using JSR82 [2] : BlueKey? AutoBlue?

May 17, 2007

The Automotive industry is one of the key growth markets for Bluetooth, and Java/Bluetooth, over the next few years. Bluetooth followed the typical trend for new technology in cars. The auto industry tends to "refresh" at a much slower rate than (say) the more fashion-oriented and almost disposable phone industry, so initially, Bluetooth appeared as an optional extra on high end cars (BMWs and Mercedes I think), and then gradually trickled down to mid-range and now compact cars. Initially the key application was of course handsfree access to the phone (often driven by regulatory requirements in various countries).

Now though, we're seeing initial demand for Java/Bluetooth and JSR82 to be built-in to cars for applications other than hands-free. For example, to download new diagnostic applications to Engine management Systems (EMS) that can then "report back" wirelessly to auto-technicians, or (my favourite), to enable a user to select some information from their in-vehicle navigation system (local map, places to eat, directions to hotel) and to send that over Bluetooth to their phone/PDA/laptop, thereby extending the useful range of your GPS system when you leave the car.

Anyway, enough of my ravings. Today's project has no official name as yet. If you have a good suggestion, then maybe you'd send it in. It's the brainchild of Yoshua Victor, from Indonesia. Over to him:

Give us a brief description of the project. How did it come about - what was the inspiration?

My project is to enable remote control from mobile phone to a car. The usual analog car remote typically has some functions, but the basic function is to start the engine, to lock the door and unlock the door. I’m inspired from the many times that the analog remote is out of battery and then you're stuck, because the car can’t be opened! So I came up with this idea, when your normal car remote doesn’t work, your mobile phone may always be to hand. If you could use it as a replacement remote, that would be very useful.

Tell us a little bit about yourselves. What's your background? What are you working on in general?

I’m 21 years old and studied Information Technology in Maranatha Christian University Bandung, Indonesia. Major in java programming, and I’m working on this project for my final exam to get my bachelor degree.

How long have you been working on the project

About 3 month since this February until now.

What stage is it at now?

Early days. I’m still learning and reading tutorials about JSR-82, and I’m also getting up to speed with J2ME programming, as this is my first project with J2ME, JSR-82 and other stuff. So now I’m just working on how I use Bluetooth to send data (Strings in this case) to another device. And after I can send data, I’ll start programming in JavelinStamp (which is the micro controller). I get lot of information from parallax.com (micro controller stuff), Nokia developer web site and Java forum that discusses JSR-82 (JAWBT newsgroup on Yahoo Groups).

What was the biggest problem or roadblock you had to deal with in the project?

The major block in this project is programming in mobile phones. Despite the promise of Java, if I write a program for Nokia, maybe I can’t use it for Motorola. It makes it difficult to test my project in a real device, so it's hard to make real tests for what I’m trying to do. The other problem is to connect the PC and the mobile phone with Bluetooth because often the PC doesn’t support JSR-82. Finally, I'm on quite a "learning curve" with the MicroController and figuring out how to write a program on javelinstamp that uses Bluetooth. Plenty of issues! :-)

How do you see the results of the project being used?

I see if this project is a success, it could have a big impact, because I can control certain aspects of my car, which could be very interesting and useful. Also, and if I can develop it further maybe I can use this remote for my house system, or control something else with my mobile phone and Bluetooth.

What's next? What do you hope to work on over the next 12 months?


I hope I can finish this project before 12 month from now, maybe 6 month from now I hope I can 100% finish, and if I have finish this project maybe I want to try to have some little experiment to develop this project for home system (control home, ex: light, door, alarm, etc).

Anything else I should have asked you? Anything else you'd like to say?

If anyone out there has tutorials, guides, suggestions for where I should start, I'd very much appreciate it, as I'm trying to learn a lot of stuff in a short time! Thanks! :-)

Impronto Simulator Version 1.3 is out!

May 16, 2007

Ladeeees and genellmen, Impronto Simulator version 1.3 is now available! That's right, the world's first-and-still-best (IMHO) JSR82 Simulator has been updated, polished and primped, and is available for your consideration.

Rather than bore you with the details, let me say this: as usual, we continue provide the Simulator free for non-commercial use (hobbyists, academics, geeks!). Details on applying for it are here.

Stay tuned for more product news and the next in our series of cool JSR82 projects!

Cool Projects using JSR82 [1] : Marge

May 14, 2007

We sent the call out to JSR82 Java/Bluetooth developers everywhere - tell us about your project! And the replies have started to flow in. So today is the first in a regular series of short articles about projects (academic, hobbyist, commercial, whatever) that use Java/Bluetooth technology and JSR82 specifically in some way. We're structuring these as an interview-style Q&A with the developers themselves, so you hear it from the horse's mouth.

So without further ado, please welcome: The Marge Project!

The brainchild of Bruno Ghisi and Lucas Torri, Marge is about making Java Bluetooth application development even simpler for developers. As you may know, the JSR82 APIs are quite low-level, and tend to slavishly follow the underlying Bluetooth Stack profiles as defined in the Bluetooth Standard. All fine and well, but Java developers also need richer, simpler and more powerful abstractions that let them focus on the application they're trying to build, not the technology they're using. That's where Marge comes in. [Aside: Marge Project is named after Marge Simpson, yes that Marge Simpson. Why? Well - her hair is blue, big and tangled, something which the guys felt reflected the general state of Bluetooth for many Java developers. What a great name! :-) ]

Over to the guys themselves....

1. Give us a brief description of the project. How did it come about - what was the inspiration?

Marge is a framework to facilitate the development of Bluetooth enabled applications in Java, build in top of JSR82. The main idea (besides having fun with it) is to make the developers focus on the logical part of their software, hiding the JSR82 complexity, so they can build things easier.

Bruno was choosing a subject to his final year project and he saw this gap and started the idea of creating a project that could help developers in this way. After the initial startup, Lucas joined the project to help make it grows.


2. Tell us a little bit about yourselves. What's your background? What are you working on in general?

We are two guys from Florianópolis, Brazil. We study in the same University: Federal University of Santa Catarina (UFSC) and work at the same company, which is called Praesto Convergence Ltda, a digital convergence company. We have an interest in subjects like digital convergence, mobility, wireless, digital tv, ubiquitous computing and other ones.

Bruno Ghisi is finishing his Information Systems degree this year and Lucas Torri is in the middle of his Computer Science course.

3. How long have you been working on the project

The idea started last year, but the first line of code was written 5 months ago. We are now planning a new version for very soon!

4. What stage is it at now?

Marge is now at 0.3.4 version and it is already simplifying the inquiry/search and communication process, with RFCOMM and L2CAP protocols. The framework is not finished yet and maybe never will be (not because we will leave it, but because we are always thinking about improving it). So, the next step is make it even more simple to use and implement the OBEX protocol.

5. What inspired it. Were there particular limitations of JSR82 or other technology that you were trying to address?

Talking with other developers, we have noticed that is quite difficult for someone to make applications that uses Bluetooth with Java, like remembering all the connection parameters, always implementing the inquiry/search process or opening streams. So, we are trying to simplify the use of Bluetooth in a certain common context, for example: inquiry for a device, searching for services, connecting and then exchanging information.

6. What was the biggest problem or roadblock you had to deal with in the project?

Make it suitable to Java ME and Java SE and create automated tests to the framework.

7. How do you see the results of the project being used?

The project is new and because that, there are not too many people using it yet. Anyway, we believe the project has a good chance to be successful, and we are working for make it so! In the worst case, we will use it to change music in our laptops without the need to get up out of bed =P

8. What's next? What do you hope to work on over the next 12 months?

We now want to make it even easier to use and implement the OBEX protocol. Besides this, create a better documentation, make specific Marge extensions for J2ME and J2SE, improve the current demos and also create new ones. In addition, we met a guy called Neto Marin that will help with a Marge extension for J2ME games.

9. Anything else I should have asked you? Anything else you'd like to say?

In the beginning, we said that one of the main ideas of the project was to have fun, and that's true, cause when it was started our wishes weren't just to build a framework, but also get people together and build a bluetooth java community, which is the whole idea of Marge.

Also it's worth mentioning how people can collaborate with the project. We're interested not only in coding help but also with documentation (tutorials, cookbooks, howto's, etc), translation for other languages, promoting the project, using it and sending ideas or doubts, 'cause it helps us to make it better.

Thanks for giving this space to promote Marge. If anybody is interested and curious about the Project, can join us on http://marge.dev.java.net, everybody is welcome!

JSR82 in your project? Let us know!

May 08, 2007

You may know that we offer our tools free for non-commercial use. We just ask for a few details in order to check the bona-fides of anyone requesting the tools, but for over five years we've been very happy to assist personal hobbyists and academic projects with free software to facilitate their development goals. We've had a lot of positive feedback over the years, and have seen some great work produced that uses the JSR82 standard in some way! :-)

As we continue to do this, we're interested in sharing the information about interesting work underway with the wider world. So - if you're planning a project using JSR82 that you think might be of interest, or have one currently underway - let us know! We're interested in giving some coverage by writing an article and short interview for the blog. And - we're feeling inclined to award some small, random prizes to those we feel impress us the most! (Bluetooth gear of course....)

So - budding developers and academics - no matter how mad the project, let us know, and maybe we can push some limelight your way! Email us at info 'at' rococosoft 'dot' com or drop a comment on the blog.

Cheers, Sean